diff options
author | Mikhail Borisov <borisov.mikhail@gmail.com> | 2022-02-10 16:45:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:39 +0300 |
commit | a6a92afe03e02795227d2641b49819b687f088f8 (patch) | |
tree | f6984a1d27d5a7ec88a6fdd6e20cd5b7693b6ece /contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm | |
parent | c6dc8b8bd530985bc4cce0137e9a5de32f1087cb (diff) | |
download | ydb-a6a92afe03e02795227d2641b49819b687f088f8.tar.gz |
Restoring authorship annotation for Mikhail Borisov <borisov.mikhail@gmail.com>. Commit 1 of 2.
Diffstat (limited to 'contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm')
-rw-r--r-- | contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm | 3922 |
1 files changed, 1961 insertions, 1961 deletions
diff --git a/contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm b/contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm index 47022c1324..e04d4fb48a 100644 --- a/contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm +++ b/contrib/restricted/libffi/configs/i386-microsoft-windows/sysv_intel.masm @@ -1,1961 +1,1961 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .686P - .MODEL FLAT - -EXTRN @ffi_closure_inner@8:PROC -_TEXT SEGMENT - - - - - - - - - - - - -ALIGN 16 -PUBLIC @ffi_call_i386@8 -@ffi_call_i386@8 PROC -LUW0: - - - - - - mov eax, [esp] - mov [ecx], ebp - mov [ecx+4], eax - - - - - - - - - mov ebp, ecx -LUW1: - - - - mov esp, edx - mov eax, [20+0*4+ebp] - mov edx, [20+1*4+ebp] - mov ecx, [20+2*4+ebp] - - call dword ptr [ebp+8] - - mov ecx, [12+ebp] - mov [ebp+8], ebx -LUW2: - - - and ecx, 15 - lea ebx, [Lstore_table + ecx * 8] - mov ecx, [ebp+16] - jmp ebx - - ALIGN 8 -Lstore_table: -ALIGN 8; ORG Lstore_table + 0 * 8 - fstp DWORD PTR [ecx] - jmp Le1 -ALIGN 8; ORG Lstore_table + 1 * 8 - fstp QWORD PTR [ecx] - jmp Le1 -ALIGN 8; ORG Lstore_table + 2 * 8 - fstp QWORD PTR [ecx] - jmp Le1 -ALIGN 8; ORG Lstore_table + 3 * 8 - movsx eax, al - mov [ecx], eax - jmp Le1 -ALIGN 8; ORG Lstore_table + 4 * 8 - movsx eax, ax - mov [ecx], eax - jmp Le1 -ALIGN 8; ORG Lstore_table + 5 * 8 - movzx eax, al - mov [ecx], eax - jmp Le1 -ALIGN 8; ORG Lstore_table + 6 * 8 - movzx eax, ax - mov [ecx], eax - jmp Le1 -ALIGN 8; ORG Lstore_table + 7 * 8 - mov [ecx+4], edx - -ALIGN 8; ORG Lstore_table + X86_RET_int 32 * 8 - mov [ecx], eax - -ALIGN 8; ORG Lstore_table + 9 * 8 -Le1: - mov ebx, [ebp+8] - mov esp, ebp - pop ebp -LUW3: - - - - - ret -LUW4: - - -ALIGN 8; ORG Lstore_table + 10 * 8 - jmp Le1 -ALIGN 8; ORG Lstore_table + 11 * 8 - jmp Le1 -ALIGN 8; ORG Lstore_table + 12 * 8 - mov [ecx], al - jmp Le1 -ALIGN 8; ORG Lstore_table + 13 * 8 - mov [ecx], ax - jmp Le1 - - -ALIGN 8; ORG Lstore_table + 14 * 8 - int 3 -ALIGN 8; ORG Lstore_table + 15 * 8 - int 3 - -LUW5: - -@ffi_call_i386@8 ENDP - - - - - - - - - - - - - - - - - - - - - - -FFI_CLOSURE_SAVE_REGS MACRO - mov [esp + 0+16+0*4], eax - mov [esp + 0+16+1*4], edx - mov [esp + 0+16+2*4], ecx -ENDM - -FFI_CLOSURE_COPY_TRAMP_DATA MACRO - mov edx, [eax+12] - mov ecx, [eax+12+4] - mov eax, [eax+12+8]; - mov [esp+0+28], edx - mov [esp+0+32], ecx - mov [esp+0+36], eax -ENDM - - -FFI_CLOSURE_PREP_CALL MACRO - mov ecx, esp - lea edx, [esp+(40 + 4)+4] -ENDM - - - - - - - - - -FFI_CLOSURE_CALL_INNER MACRO UWN - call @ffi_closure_inner@8 -ENDM - -FFI_CLOSURE_MASK_AND_JUMP MACRO LABEL - and eax, 15 - lea edx, [LABEL+eax*8] - mov eax, [esp+0] - jmp edx -ENDM - -ALIGN 16 -PUBLIC ffi_go_closure_EAX -ffi_go_closure_EAX PROC C -LUW6: - - sub esp, (40 + 4) -LUW7: - - FFI_CLOSURE_SAVE_REGS - mov edx, [eax+4] - mov ecx, [eax +8] - mov [esp+0+28], edx - mov [esp+0+32], ecx - mov [esp+0+36], eax - jmp Ldo_closure_i386 -LUW8: - -ffi_go_closure_EAX ENDP - -ALIGN 16 -PUBLIC ffi_go_closure_ECX -ffi_go_closure_ECX PROC C -LUW9: - - sub esp, (40 + 4) -LUW10: - - FFI_CLOSURE_SAVE_REGS - mov edx, [ecx+4] - mov eax, [ecx+8] - mov [esp+0+28], edx - mov [esp+0+32], eax - mov [esp+0+36], ecx - jmp Ldo_closure_i386 -LUW11: - -ffi_go_closure_ECX ENDP - - - - -ALIGN 16 -PUBLIC ffi_closure_i386 -ffi_closure_i386 PROC C -LUW12: - - sub esp, (40 + 4) -LUW13: - - - FFI_CLOSURE_SAVE_REGS - FFI_CLOSURE_COPY_TRAMP_DATA - - -Ldo_closure_i386:: - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(14) - FFI_CLOSURE_MASK_AND_JUMP Lload_table2 - - ALIGN 8 -Lload_table2: -ALIGN 8; ORG Lload_table2 + 0 * 8 - fld dword ptr [esp+0] - jmp Le2 -ALIGN 8; ORG Lload_table2 + 1 * 8 - fld qword ptr [esp+0] - jmp Le2 -ALIGN 8; ORG Lload_table2 + 2 * 8 - fld qword ptr [esp+0] - jmp Le2 -ALIGN 8; ORG Lload_table2 + 3 * 8 - movsx eax, al - jmp Le2 -ALIGN 8; ORG Lload_table2 + 4 * 8 - movsx eax, ax - jmp Le2 -ALIGN 8; ORG Lload_table2 + 5 * 8 - movzx eax, al - jmp Le2 -ALIGN 8; ORG Lload_table2 + 6 * 8 - movzx eax, ax - jmp Le2 -ALIGN 8; ORG Lload_table2 + 7 * 8 - mov edx, [esp+0+4] - jmp Le2 -ALIGN 8; ORG Lload_table2 + 8 * 8 - nop - -ALIGN 8; ORG Lload_table2 + 9 * 8 -Le2: - add esp, (40 + 4) -LUW16: - - ret -LUW17: - -ALIGN 8; ORG Lload_table2 + 10 * 8 - add esp, (40 + 4) -LUW18: - - ret 4 -LUW19: - -ALIGN 8; ORG Lload_table2 + 11 * 8 - jmp Le2 -ALIGN 8; ORG Lload_table2 + 12 * 8 - movzx eax, al - jmp Le2 -ALIGN 8; ORG Lload_table2 + 13 * 8 - movzx eax, ax - jmp Le2 - - -ALIGN 8; ORG Lload_table2 + 14 * 8 - int 3 -ALIGN 8; ORG Lload_table2 + 15 * 8 - int 3 - -LUW20: - -ffi_closure_i386 ENDP - -ALIGN 16 -PUBLIC ffi_go_closure_STDCALL -ffi_go_closure_STDCALL PROC C -LUW21: - - sub esp, (40 + 4) -LUW22: - - FFI_CLOSURE_SAVE_REGS - mov edx, [ecx+4] - mov eax, [ecx+8] - mov [esp+0+28], edx - mov [esp+0+32], eax - mov [esp+0+36], ecx - jmp Ldo_closure_STDCALL -LUW23: - -ffi_go_closure_STDCALL ENDP - - - - -ALIGN 16 -PUBLIC ffi_closure_REGISTER -ffi_closure_REGISTER PROC C -LUW24: - - - - sub esp, (40 + 4)-4 -LUW25: - - FFI_CLOSURE_SAVE_REGS - mov ecx, [esp+(40 + 4)-4] - mov eax, [esp+(40 + 4)] - mov [esp+(40 + 4)], ecx - jmp Ldo_closure_REGISTER -LUW26: - -ffi_closure_REGISTER ENDP - - - - - -ALIGN 16 -PUBLIC ffi_closure_STDCALL -ffi_closure_STDCALL PROC C -LUW27: - - sub esp, (40 + 4) -LUW28: - - - FFI_CLOSURE_SAVE_REGS - - -Ldo_closure_REGISTER:: - - FFI_CLOSURE_COPY_TRAMP_DATA - - -Ldo_closure_STDCALL:: - - FFI_CLOSURE_PREP_CALL - FFI_CLOSURE_CALL_INNER(29) - - mov ecx, eax - shr ecx, 4 - lea ecx, [esp+(40 + 4)+ecx] - mov edx, [esp+(40 + 4)] - mov [ecx], edx - - - - - - - - FFI_CLOSURE_MASK_AND_JUMP Lload_table3 - - ALIGN 8 -Lload_table3: -ALIGN 8; ORG Lload_table3 + 0 * 8 - fld DWORD PTR [esp+0] - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 1 * 8 - fld QWORD PTR [esp+0] - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 2 * 8 - fld QWORD PTR [esp+0] - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 3 * 8 - movsx eax, al - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 4 * 8 - movsx eax, ax - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 5 * 8 - movzx eax, al - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 6 * 8 - movzx eax, ax - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 7 * 8 - mov edx, [esp+0+4] - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + X86_RET_int 32 * 8 - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 9 * 8 - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 10 * 8 - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 11 * 8 - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 12 * 8 - movzx eax, al - mov esp, ecx - ret -ALIGN 8; ORG Lload_table3 + 13 * 8 - movzx eax, ax - mov esp, ecx - ret - - -ALIGN 8; ORG Lload_table3 + 14 * 8 - int 3 -ALIGN 8; ORG Lload_table3 + 15 * 8 - int 3 - -LUW31: - -ffi_closure_STDCALL ENDP - - - - - -ALIGN 16 -PUBLIC ffi_closure_raw_SYSV -ffi_closure_raw_SYSV PROC C -LUW32: - - sub esp, (16+16+12) -LUW33: - - mov [esp+(16+16+12)-4], ebx -LUW34: - - - mov edx, [eax+12+8] - mov [esp+12], edx - lea edx, [esp+(16+16+12)+4] - mov [esp+8], edx - lea edx, [esp+16] - mov [esp+4], edx - mov ebx, [eax+12] - mov [esp], ebx - call DWORD PTR [eax+12+4] - - mov eax, [ebx+20] - and eax, 15 - - - - - - lea ecx, [Lload_table4+eax+8] - - mov ebx, [esp+(16+16+12)-4] -LUW35: - - mov eax, [esp+16] - jmp dword ptr [ecx] - - ALIGN 8 -Lload_table4: -ALIGN 8; ORG Lload_table4 + 0 * 8 - fld DWORD PTR [esp +16] - jmp Le4 -ALIGN 8; ORG Lload_table4 + 1 * 8 - fld QWORD PTR [esp +16] - jmp Le4 -ALIGN 8; ORG Lload_table4 + 2 * 8 - fld QWORD PTR [esp +16] - jmp Le4 -ALIGN 8; ORG Lload_table4 + 3 * 8 - movsx eax, al - jmp Le4 -ALIGN 8; ORG Lload_table4 + 4 * 8 - movsx eax, ax - jmp Le4 -ALIGN 8; ORG Lload_table4 + 5 * 8 - movzx eax, al - jmp Le4 -ALIGN 8; ORG Lload_table4 + 6 * 8 - movzx eax, ax - jmp Le4 -ALIGN 8; ORG Lload_table4 + 7 * 8 - mov edx, [esp+16+4] - jmp Le4 -ALIGN 8; ORG Lload_table4 + X86_RET_int 32 * 8 - nop - -ALIGN 8; ORG Lload_table4 + 9 * 8 -Le4: - add esp, (16+16+12) -LUW36: - - ret -LUW37: - -ALIGN 8; ORG Lload_table4 + 10 * 8 - add esp, (16+16+12) -LUW38: - - ret 4 -LUW39: - -ALIGN 8; ORG Lload_table4 + 11 * 8 - jmp Le4 -ALIGN 8; ORG Lload_table4 + 12 * 8 - movzx eax, al - jmp Le4 -ALIGN 8; ORG Lload_table4 + 13 * 8 - movzx eax, ax - jmp Le4 - - -ALIGN 8; ORG Lload_table4 + 14 * 8 - int 3 -ALIGN 8; ORG Lload_table4 + 15 * 8 - int 3 - -LUW40: - -ffi_closure_raw_SYSV ENDP - - - -ALIGN 16 -PUBLIC ffi_closure_raw_THISCALL -ffi_closure_raw_THISCALL PROC C -LUW41: - - - - pop edx -LUW42: - - - push ecx -LUW43: - - push edx -LUW44: - - - sub esp, (16+16+8) -LUW45: - - mov [esp+(16+16+8)-4], ebx -LUW46: - - - mov edx, [eax+12+8] - mov [esp+12], edx - lea edx, [esp+(16+16+8)+4] - mov [esp+8], edx - lea edx, [esp+16] - mov [esp+4], edx - mov ebx, [eax+12] - mov [esp], ebx - call DWORD PTR [eax+12+4] - - mov eax, [ebx+20] - and eax, 15 - - - - - - lea ecx, [Lload_table5+eax*8] - - mov ebx, [esp+(16+16+8)-4] -LUW47: - - mov eax, [esp+16] - jmp DWORD PTR [ecx] - - AlIGN 4 -Lload_table5: -ALIGN 8; ORG Lload_table5 + 0 * 8 - fld DWORD PTR [esp +16] - jmp Le5 -ALIGN 8; ORG Lload_table5 + 1 * 8 - fld QWORD PTR [esp +16] - jmp Le5 -ALIGN 8; ORG Lload_table5 + 2 * 8 - fld QWORD PTR [esp+16] - jmp Le5 -ALIGN 8; ORG Lload_table5 + 3 * 8 - movsx eax, al - jmp Le5 -ALIGN 8; ORG Lload_table5 + 4 * 8 - movsx eax, ax - jmp Le5 -ALIGN 8; ORG Lload_table5 + 5 * 8 - movzx eax, al - jmp Le5 -ALIGN 8; ORG Lload_table5 + 6 * 8 - movzx eax, ax - jmp Le5 -ALIGN 8; ORG Lload_table5 + 7 * 8 - mov edx, [esp+16+4] - jmp Le5 -ALIGN 8; ORG Lload_table5 + X86_RET_int 32 * 8 - nop - -ALIGN 8; ORG Lload_table5 + 9 * 8 -Le5: - add esp, (16+16+8) -LUW48: - - - ret 4 -LUW49: - -ALIGN 8; ORG Lload_table5 + 10 * 8 - add esp, (16+16+8) -LUW50: - - ret 8 -LUW51: - -ALIGN 8; ORG Lload_table5 + 11 * 8 - jmp Le5 -ALIGN 8; ORG Lload_table5 + 12 * 8 - movzx eax, al - jmp Le5 -ALIGN 8; ORG Lload_table5 + 13 * 8 - movzx eax, ax - jmp Le5 - - -ALIGN 8; ORG Lload_table5 + 14 * 8 - int 3 -ALIGN 8; ORG Lload_table5 + 15 * 8 - int 3 - -LUW52: - -ffi_closure_raw_THISCALL ENDP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -END + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .686P + .MODEL FLAT + +EXTRN @ffi_closure_inner@8:PROC +_TEXT SEGMENT + + + + + + + + + + + + +ALIGN 16 +PUBLIC @ffi_call_i386@8 +@ffi_call_i386@8 PROC +LUW0: + + + + + + mov eax, [esp] + mov [ecx], ebp + mov [ecx+4], eax + + + + + + + + + mov ebp, ecx +LUW1: + + + + mov esp, edx + mov eax, [20+0*4+ebp] + mov edx, [20+1*4+ebp] + mov ecx, [20+2*4+ebp] + + call dword ptr [ebp+8] + + mov ecx, [12+ebp] + mov [ebp+8], ebx +LUW2: + + + and ecx, 15 + lea ebx, [Lstore_table + ecx * 8] + mov ecx, [ebp+16] + jmp ebx + + ALIGN 8 +Lstore_table: +ALIGN 8; ORG Lstore_table + 0 * 8 + fstp DWORD PTR [ecx] + jmp Le1 +ALIGN 8; ORG Lstore_table + 1 * 8 + fstp QWORD PTR [ecx] + jmp Le1 +ALIGN 8; ORG Lstore_table + 2 * 8 + fstp QWORD PTR [ecx] + jmp Le1 +ALIGN 8; ORG Lstore_table + 3 * 8 + movsx eax, al + mov [ecx], eax + jmp Le1 +ALIGN 8; ORG Lstore_table + 4 * 8 + movsx eax, ax + mov [ecx], eax + jmp Le1 +ALIGN 8; ORG Lstore_table + 5 * 8 + movzx eax, al + mov [ecx], eax + jmp Le1 +ALIGN 8; ORG Lstore_table + 6 * 8 + movzx eax, ax + mov [ecx], eax + jmp Le1 +ALIGN 8; ORG Lstore_table + 7 * 8 + mov [ecx+4], edx + +ALIGN 8; ORG Lstore_table + X86_RET_int 32 * 8 + mov [ecx], eax + +ALIGN 8; ORG Lstore_table + 9 * 8 +Le1: + mov ebx, [ebp+8] + mov esp, ebp + pop ebp +LUW3: + + + + + ret +LUW4: + + +ALIGN 8; ORG Lstore_table + 10 * 8 + jmp Le1 +ALIGN 8; ORG Lstore_table + 11 * 8 + jmp Le1 +ALIGN 8; ORG Lstore_table + 12 * 8 + mov [ecx], al + jmp Le1 +ALIGN 8; ORG Lstore_table + 13 * 8 + mov [ecx], ax + jmp Le1 + + +ALIGN 8; ORG Lstore_table + 14 * 8 + int 3 +ALIGN 8; ORG Lstore_table + 15 * 8 + int 3 + +LUW5: + +@ffi_call_i386@8 ENDP + + + + + + + + + + + + + + + + + + + + + + +FFI_CLOSURE_SAVE_REGS MACRO + mov [esp + 0+16+0*4], eax + mov [esp + 0+16+1*4], edx + mov [esp + 0+16+2*4], ecx +ENDM + +FFI_CLOSURE_COPY_TRAMP_DATA MACRO + mov edx, [eax+12] + mov ecx, [eax+12+4] + mov eax, [eax+12+8]; + mov [esp+0+28], edx + mov [esp+0+32], ecx + mov [esp+0+36], eax +ENDM + + +FFI_CLOSURE_PREP_CALL MACRO + mov ecx, esp + lea edx, [esp+(40 + 4)+4] +ENDM + + + + + + + + + +FFI_CLOSURE_CALL_INNER MACRO UWN + call @ffi_closure_inner@8 +ENDM + +FFI_CLOSURE_MASK_AND_JUMP MACRO LABEL + and eax, 15 + lea edx, [LABEL+eax*8] + mov eax, [esp+0] + jmp edx +ENDM + +ALIGN 16 +PUBLIC ffi_go_closure_EAX +ffi_go_closure_EAX PROC C +LUW6: + + sub esp, (40 + 4) +LUW7: + + FFI_CLOSURE_SAVE_REGS + mov edx, [eax+4] + mov ecx, [eax +8] + mov [esp+0+28], edx + mov [esp+0+32], ecx + mov [esp+0+36], eax + jmp Ldo_closure_i386 +LUW8: + +ffi_go_closure_EAX ENDP + +ALIGN 16 +PUBLIC ffi_go_closure_ECX +ffi_go_closure_ECX PROC C +LUW9: + + sub esp, (40 + 4) +LUW10: + + FFI_CLOSURE_SAVE_REGS + mov edx, [ecx+4] + mov eax, [ecx+8] + mov [esp+0+28], edx + mov [esp+0+32], eax + mov [esp+0+36], ecx + jmp Ldo_closure_i386 +LUW11: + +ffi_go_closure_ECX ENDP + + + + +ALIGN 16 +PUBLIC ffi_closure_i386 +ffi_closure_i386 PROC C +LUW12: + + sub esp, (40 + 4) +LUW13: + + + FFI_CLOSURE_SAVE_REGS + FFI_CLOSURE_COPY_TRAMP_DATA + + +Ldo_closure_i386:: + + FFI_CLOSURE_PREP_CALL + FFI_CLOSURE_CALL_INNER(14) + FFI_CLOSURE_MASK_AND_JUMP Lload_table2 + + ALIGN 8 +Lload_table2: +ALIGN 8; ORG Lload_table2 + 0 * 8 + fld dword ptr [esp+0] + jmp Le2 +ALIGN 8; ORG Lload_table2 + 1 * 8 + fld qword ptr [esp+0] + jmp Le2 +ALIGN 8; ORG Lload_table2 + 2 * 8 + fld qword ptr [esp+0] + jmp Le2 +ALIGN 8; ORG Lload_table2 + 3 * 8 + movsx eax, al + jmp Le2 +ALIGN 8; ORG Lload_table2 + 4 * 8 + movsx eax, ax + jmp Le2 +ALIGN 8; ORG Lload_table2 + 5 * 8 + movzx eax, al + jmp Le2 +ALIGN 8; ORG Lload_table2 + 6 * 8 + movzx eax, ax + jmp Le2 +ALIGN 8; ORG Lload_table2 + 7 * 8 + mov edx, [esp+0+4] + jmp Le2 +ALIGN 8; ORG Lload_table2 + 8 * 8 + nop + +ALIGN 8; ORG Lload_table2 + 9 * 8 +Le2: + add esp, (40 + 4) +LUW16: + + ret +LUW17: + +ALIGN 8; ORG Lload_table2 + 10 * 8 + add esp, (40 + 4) +LUW18: + + ret 4 +LUW19: + +ALIGN 8; ORG Lload_table2 + 11 * 8 + jmp Le2 +ALIGN 8; ORG Lload_table2 + 12 * 8 + movzx eax, al + jmp Le2 +ALIGN 8; ORG Lload_table2 + 13 * 8 + movzx eax, ax + jmp Le2 + + +ALIGN 8; ORG Lload_table2 + 14 * 8 + int 3 +ALIGN 8; ORG Lload_table2 + 15 * 8 + int 3 + +LUW20: + +ffi_closure_i386 ENDP + +ALIGN 16 +PUBLIC ffi_go_closure_STDCALL +ffi_go_closure_STDCALL PROC C +LUW21: + + sub esp, (40 + 4) +LUW22: + + FFI_CLOSURE_SAVE_REGS + mov edx, [ecx+4] + mov eax, [ecx+8] + mov [esp+0+28], edx + mov [esp+0+32], eax + mov [esp+0+36], ecx + jmp Ldo_closure_STDCALL +LUW23: + +ffi_go_closure_STDCALL ENDP + + + + +ALIGN 16 +PUBLIC ffi_closure_REGISTER +ffi_closure_REGISTER PROC C +LUW24: + + + + sub esp, (40 + 4)-4 +LUW25: + + FFI_CLOSURE_SAVE_REGS + mov ecx, [esp+(40 + 4)-4] + mov eax, [esp+(40 + 4)] + mov [esp+(40 + 4)], ecx + jmp Ldo_closure_REGISTER +LUW26: + +ffi_closure_REGISTER ENDP + + + + + +ALIGN 16 +PUBLIC ffi_closure_STDCALL +ffi_closure_STDCALL PROC C +LUW27: + + sub esp, (40 + 4) +LUW28: + + + FFI_CLOSURE_SAVE_REGS + + +Ldo_closure_REGISTER:: + + FFI_CLOSURE_COPY_TRAMP_DATA + + +Ldo_closure_STDCALL:: + + FFI_CLOSURE_PREP_CALL + FFI_CLOSURE_CALL_INNER(29) + + mov ecx, eax + shr ecx, 4 + lea ecx, [esp+(40 + 4)+ecx] + mov edx, [esp+(40 + 4)] + mov [ecx], edx + + + + + + + + FFI_CLOSURE_MASK_AND_JUMP Lload_table3 + + ALIGN 8 +Lload_table3: +ALIGN 8; ORG Lload_table3 + 0 * 8 + fld DWORD PTR [esp+0] + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 1 * 8 + fld QWORD PTR [esp+0] + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 2 * 8 + fld QWORD PTR [esp+0] + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 3 * 8 + movsx eax, al + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 4 * 8 + movsx eax, ax + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 5 * 8 + movzx eax, al + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 6 * 8 + movzx eax, ax + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 7 * 8 + mov edx, [esp+0+4] + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + X86_RET_int 32 * 8 + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 9 * 8 + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 10 * 8 + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 11 * 8 + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 12 * 8 + movzx eax, al + mov esp, ecx + ret +ALIGN 8; ORG Lload_table3 + 13 * 8 + movzx eax, ax + mov esp, ecx + ret + + +ALIGN 8; ORG Lload_table3 + 14 * 8 + int 3 +ALIGN 8; ORG Lload_table3 + 15 * 8 + int 3 + +LUW31: + +ffi_closure_STDCALL ENDP + + + + + +ALIGN 16 +PUBLIC ffi_closure_raw_SYSV +ffi_closure_raw_SYSV PROC C +LUW32: + + sub esp, (16+16+12) +LUW33: + + mov [esp+(16+16+12)-4], ebx +LUW34: + + + mov edx, [eax+12+8] + mov [esp+12], edx + lea edx, [esp+(16+16+12)+4] + mov [esp+8], edx + lea edx, [esp+16] + mov [esp+4], edx + mov ebx, [eax+12] + mov [esp], ebx + call DWORD PTR [eax+12+4] + + mov eax, [ebx+20] + and eax, 15 + + + + + + lea ecx, [Lload_table4+eax+8] + + mov ebx, [esp+(16+16+12)-4] +LUW35: + + mov eax, [esp+16] + jmp dword ptr [ecx] + + ALIGN 8 +Lload_table4: +ALIGN 8; ORG Lload_table4 + 0 * 8 + fld DWORD PTR [esp +16] + jmp Le4 +ALIGN 8; ORG Lload_table4 + 1 * 8 + fld QWORD PTR [esp +16] + jmp Le4 +ALIGN 8; ORG Lload_table4 + 2 * 8 + fld QWORD PTR [esp +16] + jmp Le4 +ALIGN 8; ORG Lload_table4 + 3 * 8 + movsx eax, al + jmp Le4 +ALIGN 8; ORG Lload_table4 + 4 * 8 + movsx eax, ax + jmp Le4 +ALIGN 8; ORG Lload_table4 + 5 * 8 + movzx eax, al + jmp Le4 +ALIGN 8; ORG Lload_table4 + 6 * 8 + movzx eax, ax + jmp Le4 +ALIGN 8; ORG Lload_table4 + 7 * 8 + mov edx, [esp+16+4] + jmp Le4 +ALIGN 8; ORG Lload_table4 + X86_RET_int 32 * 8 + nop + +ALIGN 8; ORG Lload_table4 + 9 * 8 +Le4: + add esp, (16+16+12) +LUW36: + + ret +LUW37: + +ALIGN 8; ORG Lload_table4 + 10 * 8 + add esp, (16+16+12) +LUW38: + + ret 4 +LUW39: + +ALIGN 8; ORG Lload_table4 + 11 * 8 + jmp Le4 +ALIGN 8; ORG Lload_table4 + 12 * 8 + movzx eax, al + jmp Le4 +ALIGN 8; ORG Lload_table4 + 13 * 8 + movzx eax, ax + jmp Le4 + + +ALIGN 8; ORG Lload_table4 + 14 * 8 + int 3 +ALIGN 8; ORG Lload_table4 + 15 * 8 + int 3 + +LUW40: + +ffi_closure_raw_SYSV ENDP + + + +ALIGN 16 +PUBLIC ffi_closure_raw_THISCALL +ffi_closure_raw_THISCALL PROC C +LUW41: + + + + pop edx +LUW42: + + + push ecx +LUW43: + + push edx +LUW44: + + + sub esp, (16+16+8) +LUW45: + + mov [esp+(16+16+8)-4], ebx +LUW46: + + + mov edx, [eax+12+8] + mov [esp+12], edx + lea edx, [esp+(16+16+8)+4] + mov [esp+8], edx + lea edx, [esp+16] + mov [esp+4], edx + mov ebx, [eax+12] + mov [esp], ebx + call DWORD PTR [eax+12+4] + + mov eax, [ebx+20] + and eax, 15 + + + + + + lea ecx, [Lload_table5+eax*8] + + mov ebx, [esp+(16+16+8)-4] +LUW47: + + mov eax, [esp+16] + jmp DWORD PTR [ecx] + + AlIGN 4 +Lload_table5: +ALIGN 8; ORG Lload_table5 + 0 * 8 + fld DWORD PTR [esp +16] + jmp Le5 +ALIGN 8; ORG Lload_table5 + 1 * 8 + fld QWORD PTR [esp +16] + jmp Le5 +ALIGN 8; ORG Lload_table5 + 2 * 8 + fld QWORD PTR [esp+16] + jmp Le5 +ALIGN 8; ORG Lload_table5 + 3 * 8 + movsx eax, al + jmp Le5 +ALIGN 8; ORG Lload_table5 + 4 * 8 + movsx eax, ax + jmp Le5 +ALIGN 8; ORG Lload_table5 + 5 * 8 + movzx eax, al + jmp Le5 +ALIGN 8; ORG Lload_table5 + 6 * 8 + movzx eax, ax + jmp Le5 +ALIGN 8; ORG Lload_table5 + 7 * 8 + mov edx, [esp+16+4] + jmp Le5 +ALIGN 8; ORG Lload_table5 + X86_RET_int 32 * 8 + nop + +ALIGN 8; ORG Lload_table5 + 9 * 8 +Le5: + add esp, (16+16+8) +LUW48: + + + ret 4 +LUW49: + +ALIGN 8; ORG Lload_table5 + 10 * 8 + add esp, (16+16+8) +LUW50: + + ret 8 +LUW51: + +ALIGN 8; ORG Lload_table5 + 11 * 8 + jmp Le5 +ALIGN 8; ORG Lload_table5 + 12 * 8 + movzx eax, al + jmp Le5 +ALIGN 8; ORG Lload_table5 + 13 * 8 + movzx eax, ax + jmp Le5 + + +ALIGN 8; ORG Lload_table5 + 14 * 8 + int 3 +ALIGN 8; ORG Lload_table5 + 15 * 8 + int 3 + +LUW52: + +ffi_closure_raw_THISCALL ENDP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END |