1 .file "avcall-x86_64-windows.c" 2 .text 3 .p2align 4,,15 4 .globl avcall_call 5 .type avcall_call, @function 6avcall_call: 7.LFB0: 8 pushq %rbp 9.LCFI0: 10 movq %rsp, %rbp 11.LCFI1: 12 pushq %rsi 13 pushq %rbx 14.LCFI2: 15 movq %rcx, %rbx 16 subq $32, %rsp 17 movq 48(%rcx), %rcx 18 movq 40(%rbx), %rax 19 subq $2064, %rsp 20 subq %rcx, %rax 21 sarq $3, %rax 22 cmpl $4, %eax 23 jle .L6 24 leal -5(%rax), %r8d 25 leaq 32(%rsp), %r9 26 xorl %eax, %eax 27 addq $1, %r8 28 .p2align 4,,10 29 .p2align 3 30.L5: 31 movq 32(%rcx,%rax,8), %rdx 32 movq %rdx, (%r9,%rax,8) 33 addq $1, %rax 34 cmpq %r8, %rax 35 jne .L5 36.L6: 37 movl 68(%rbx), %eax 38 testl %eax, %eax 39 je .L7 40 testb $1, %al 41 je .L8 42 movss 76(%rbx), %xmm0 43.L8: 44 testb $2, %al 45 je .L9 46 movss 80(%rbx), %xmm1 47.L9: 48 testb $4, %al 49 je .L10 50 movss 84(%rbx), %xmm2 51.L10: 52 testb $8, %al 53 jne .L76 54.L7: 55 movl 72(%rbx), %eax 56 testl %eax, %eax 57 je .L12 58 testb $1, %al 59 je .L13 60 movsd 96(%rbx), %xmm0 61.L13: 62 testb $2, %al 63 je .L14 64 movsd 104(%rbx), %xmm1 65.L14: 66 testb $4, %al 67 je .L15 68 movsd 112(%rbx), %xmm2 69.L15: 70 testb $8, %al 71 jne .L77 72.L12: 73 movl 24(%rbx), %eax 74 cmpl $13, %eax 75 je .L78 76 cmpl $14, %eax 77 je .L79 78 movq 8(%rcx), %rdx 79 movq 24(%rcx), %r9 80 movq 16(%rcx), %r8 81 movq (%rcx), %rcx 82 call *8(%rbx) 83 movl 24(%rbx), %edx 84 cmpl $1, %edx 85 je .L18 86 cmpl $2, %edx 87 je .L71 88 cmpl $3, %edx 89 je .L71 90 cmpl $4, %edx 91 je .L71 92 cmpl $5, %edx 93 je .L72 94 cmpl $6, %edx 95 je .L72 96 cmpl $7, %edx 97 je .L73 98 cmpl $8, %edx 99 je .L73 100 cmpl $9, %edx 101 je .L74 102 cmpl $10, %edx 103 je .L74 104 cmpl $11, %edx 105 je .L74 106 cmpl $12, %edx 107 je .L74 108 cmpl $15, %edx 109 je .L74 110 cmpl $16, %edx 111 jne .L18 112 testl $512, (%rbx) 113 je .L18 114 movq 32(%rbx), %r8 115 leaq -4(%r8), %rdx 116 testq $-5, %rdx 117 je .L34 118 leaq -1(%r8), %rdx 119 cmpq $1, %rdx 120 ja .L18 121.L34: 122 movq 16(%rbx), %rdx 123 movq %rdx, %r9 124 andl $7, %edx 125 addq %rdx, %r8 126 andq $-8, %r9 127 cmpq $8, %r8 128 jbe .L80 129 leal 0(,%rdx,8), %ecx 130 movq (%r9), %r10 131 movq %rax, %rsi 132 movq $-1, %r11 133 negl %edx 134 salq %cl, %rsi 135 salq %cl, %r11 136 movq %rsi, %rcx 137 xorq %r10, %rcx 138 andq %r11, %rcx 139 xorq %r10, %rcx 140 movq 8(%r9), %r10 141 movq %rcx, (%r9) 142 leal -65(,%r8,8), %ecx 143 movl $2, %r8d 144 salq %cl, %r8 145 leal 64(,%rdx,8), %ecx 146 subq $1, %r8 147 sarq %cl, %rax 148 xorq %r10, %rax 149 andq %r8, %rax 150 xorq %r10, %rax 151 movq %rax, 8(%r9) 152.L18: 153 leaq -16(%rbp), %rsp 154 xorl %eax, %eax 155 popq %rbx 156.LCFI3: 157 popq %rsi 158.LCFI4: 159 popq %rbp 160.LCFI5: 161 ret 162 .p2align 4,,10 163 .p2align 3 164.L77: 165.LCFI6: 166 movsd 120(%rbx), %xmm3 167 jmp .L12 168 .p2align 4,,10 169 .p2align 3 170.L76: 171 movss 88(%rbx), %xmm3 172 jmp .L7 173 .p2align 4,,10 174 .p2align 3 175.L71: 176 movq 16(%rbx), %rdx 177 movb %al, (%rdx) 178 leaq -16(%rbp), %rsp 179 xorl %eax, %eax 180 popq %rbx 181.LCFI7: 182 popq %rsi 183.LCFI8: 184 popq %rbp 185.LCFI9: 186 ret 187 .p2align 4,,10 188 .p2align 3 189.L72: 190.LCFI10: 191 movq 16(%rbx), %rdx 192 movw %ax, (%rdx) 193 leaq -16(%rbp), %rsp 194 xorl %eax, %eax 195 popq %rbx 196.LCFI11: 197 popq %rsi 198.LCFI12: 199 popq %rbp 200.LCFI13: 201 ret 202.L74: 203.LCFI14: 204 movq 16(%rbx), %rdx 205 movq %rax, (%rdx) 206 jmp .L18 207 .p2align 4,,10 208 .p2align 3 209.L79: 210 movq 16(%rbx), %rsi 211 movq 8(%rcx), %rdx 212 movq 24(%rcx), %r9 213 movq 16(%rcx), %r8 214 movq (%rcx), %rcx 215 call *8(%rbx) 216 movsd %xmm0, (%rsi) 217 leaq -16(%rbp), %rsp 218 xorl %eax, %eax 219 popq %rbx 220.LCFI15: 221 popq %rsi 222.LCFI16: 223 popq %rbp 224.LCFI17: 225 ret 226.L78: 227.LCFI18: 228 movq 16(%rbx), %rsi 229 movq 8(%rcx), %rdx 230 movq 24(%rcx), %r9 231 movq 16(%rcx), %r8 232 movq (%rcx), %rcx 233 call *8(%rbx) 234 movss %xmm0, (%rsi) 235 jmp .L18 236.L73: 237 movq 16(%rbx), %rdx 238 movl %eax, (%rdx) 239 jmp .L18 240.L80: 241 leal -1(,%r8,8), %ecx 242 movq (%r9), %r10 243 sall $3, %edx 244 movl $2, %r8d 245 movl $1, %r11d 246 salq %cl, %r8 247 movl %edx, %ecx 248 salq %cl, %r11 249 salq %cl, %rax 250 subq %r11, %r8 251 xorq %r10, %rax 252 andq %r8, %rax 253 xorq %r10, %rax 254 movq %rax, (%r9) 255 jmp .L18 256.LFE0: 257 .size avcall_call, .-avcall_call 258 .section .eh_frame,"a",@progbits 259.Lframe1: 260 .long .LECIE1-.LSCIE1 261.LSCIE1: 262 .long 0 263 .byte 0x3 264 .string "zR" 265 .uleb128 0x1 266 .sleb128 -8 267 .uleb128 0x10 268 .uleb128 0x1 269 .byte 0x1b 270 .byte 0xc 271 .uleb128 0x7 272 .uleb128 0x8 273 .byte 0x90 274 .uleb128 0x1 275 .align 8 276.LECIE1: 277.LSFDE1: 278 .long .LEFDE1-.LASFDE1 279.LASFDE1: 280 .long .LASFDE1-.Lframe1 281 .long .LFB0-. 282 .long .LFE0-.LFB0 283 .uleb128 0 284 .byte 0x4 285 .long .LCFI0-.LFB0 286 .byte 0xe 287 .uleb128 0x10 288 .byte 0x86 289 .uleb128 0x2 290 .byte 0x4 291 .long .LCFI1-.LCFI0 292 .byte 0xd 293 .uleb128 0x6 294 .byte 0x4 295 .long .LCFI2-.LCFI1 296 .byte 0x84 297 .uleb128 0x3 298 .byte 0x83 299 .uleb128 0x4 300 .byte 0x4 301 .long .LCFI3-.LCFI2 302 .byte 0xa 303 .byte 0xc3 304 .byte 0x4 305 .long .LCFI4-.LCFI3 306 .byte 0xc4 307 .byte 0x4 308 .long .LCFI5-.LCFI4 309 .byte 0xc6 310 .byte 0xc 311 .uleb128 0x7 312 .uleb128 0x8 313 .byte 0x4 314 .long .LCFI6-.LCFI5 315 .byte 0xb 316 .byte 0x4 317 .long .LCFI7-.LCFI6 318 .byte 0xa 319 .byte 0xc3 320 .byte 0x4 321 .long .LCFI8-.LCFI7 322 .byte 0xc4 323 .byte 0x4 324 .long .LCFI9-.LCFI8 325 .byte 0xc6 326 .byte 0xc 327 .uleb128 0x7 328 .uleb128 0x8 329 .byte 0x4 330 .long .LCFI10-.LCFI9 331 .byte 0xb 332 .byte 0x4 333 .long .LCFI11-.LCFI10 334 .byte 0xa 335 .byte 0xc3 336 .byte 0x4 337 .long .LCFI12-.LCFI11 338 .byte 0xc4 339 .byte 0x4 340 .long .LCFI13-.LCFI12 341 .byte 0xc6 342 .byte 0xc 343 .uleb128 0x7 344 .uleb128 0x8 345 .byte 0x4 346 .long .LCFI14-.LCFI13 347 .byte 0xb 348 .byte 0x4 349 .long .LCFI15-.LCFI14 350 .byte 0xa 351 .byte 0xc3 352 .byte 0x4 353 .long .LCFI16-.LCFI15 354 .byte 0xc4 355 .byte 0x4 356 .long .LCFI17-.LCFI16 357 .byte 0xc6 358 .byte 0xc 359 .uleb128 0x7 360 .uleb128 0x8 361 .byte 0x4 362 .long .LCFI18-.LCFI17 363 .byte 0xb 364 .align 8 365.LEFDE1: 366 .ident "GCC: (GNU) 5.4.0" 367 .section .note.GNU-stack,"",@progbits 368