CS main pnet main |
libffi.asm |
libffi x86 sym sharp dev |
I'm no GAS guru, so I may have to translate them to Intel format. In archive libffi.a: debug.o: file format pe-i386 Disassembly of section .text: 00000000 <_ffi_stop_here>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 89 ec mov %ebp,%esp 5: 5d pop %ebp 6: c3 ret 7: 90 nop 8: 90 nop 9: 90 nop a: 90 nop b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: 90 nop 20: 41 inc %ecx 21: 53 push %ebx 22: 53 push %ebx 23: 45 inc %ebp 24: 52 push %edx 25: 54 push %esp 26: 49 dec %ecx 27: 4f dec %edi 28: 4e dec %esi 29: 20 46 41 and %al,0x41(%esi) 2c: 49 dec %ecx 2d: 4c dec %esp 2e: 55 push %ebp 2f: 52 push %edx 30: 45 inc %ebp 31: 3a 20 cmp (%eax),%ah 33: 25 73 20 6c 69 and $0x696c2073,%eax 38: 6e outsb %ds:(%esi),(%dx) 39: 65 20 25 64 0a 00 90 and %ah,%gs:0x90000a64 00000040 <_ffi_assert>: 40: 55 push %ebp 41: 89 e5 mov %esp,%ebp 43: 83 ec 08 sub $0x8,%esp 46: 8b 55 08 mov 0x8(%ebp),%edx 49: 8b 45 0c mov 0xc(%ebp),%eax 4c: 50 push %eax 4d: a1 00 00 00 00 mov 0x0,%eax 52: 52 push %edx 53: 68 20 00 00 00 push $0x20 58: 8b 40 0c mov 0xc(%eax),%eax 5b: 50 push %eax 5c: e8 00 00 00 00 call 61 <_ffi_assert+0x21> 61: e8 9a ff ff ff call 0 <_ffi_stop_here> 66: e8 00 00 00 00 call 6b <_ffi_assert+0x2b> 6b: 90 nop 0000006c <_ffi_type_test>: 6c: 55 push %ebp 6d: 89 e5 mov %esp,%ebp 6f: 83 7d 08 00 cmpl $0x0,0x8(%ebp) 73: 0f 95 c0 setne %al 76: 89 ec mov %ebp,%esp 78: 0f b6 c0 movzbl %al,%eax 7b: 5d pop %ebp 7c: c3 ret 7d: 8d 76 00 lea 0x0(%esi),%esi Disassembly of section .data: prep_cif.o: file format pe-i386 Disassembly of section .text: 00000000 <_initialize_aggregate>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 83 ec 10 sub $0x10,%esp 6: 56 push %esi 7: 53 push %ebx 8: 8b 75 08 mov 0x8(%ebp),%esi b: 8b 5e 08 mov 0x8(%esi),%ebx e: 83 3b 00 cmpl $0x0,(%ebx) 11: 74 4a je 5d <_initialize_aggregate+0x5d> 13: 90 nop 14: 8b 03 mov (%ebx),%eax 16: 83 38 00 cmpl $0x0,(%eax) 19: 75 10 jne 2b <_initialize_aggregate+0x2b> 1b: 83 c4 f4 add $0xfffffff4,%esp 1e: 50 push %eax 1f: e8 dc ff ff ff call 0 <_initialize_aggregate> 24: 83 c4 10 add $0x10,%esp 27: 85 c0 test %eax,%eax 29: 75 3d jne 68 <_initialize_aggregate+0x68> 2b: 8b 03 mov (%ebx),%eax 2d: 8b 16 mov (%esi),%edx 2f: 4a dec %edx 30: 0f b7 40 04 movzwl 0x4(%eax),%eax 34: 48 dec %eax 35: 09 c2 or %eax,%edx 37: 42 inc %edx 38: 89 16 mov %edx,(%esi) 3a: 8b 03 mov (%ebx),%eax 3c: 03 10 add (%eax),%edx 3e: 89 16 mov %edx,(%esi) 40: 8b 03 mov (%ebx),%eax 42: 0f b7 56 04 movzwl 0x4(%esi),%edx 46: 0f b7 40 04 movzwl 0x4(%eax),%eax 4a: 66 39 d0 cmp %dx,%ax 4d: 73 02 jae 51 <_initialize_aggregate+0x51> 4f: 89 d0 mov %edx,%eax 51: 66 89 46 04 mov %ax,0x4(%esi) 55: 83 c3 04 add $0x4,%ebx 58: 83 3b 00 cmpl $0x0,(%ebx) 5b: 75 b7 jne 14 <_initialize_aggregate+0x14> 5d: 83 3e 00 cmpl $0x0,(%esi) 60: 74 06 je 68 <_initialize_aggregate+0x68> 62: 31 c0 xor %eax,%eax 64: eb 07 jmp 6d <_initialize_aggregate+0x6d> 66: 89 f6 mov %esi,%esi 68: b8 01 00 00 00 mov $0x1,%eax 6d: 8d 65 e8 lea 0xffffffe8(%ebp),%esp 70: 5b pop %ebx 71: 5e pop %esi 72: 89 ec mov %ebp,%esp 74: 5d pop %ebp 75: c3 ret 76: 89 f6 mov %esi,%esi 00000078 <_ffi_prep_cif>: 78: 55 push %ebp 79: 89 e5 mov %esp,%ebp 7b: 83 ec 0c sub $0xc,%esp 7e: 57 push %edi 7f: 56 push %esi 80: 31 ff xor %edi,%edi 82: 53 push %ebx 83: 8b 45 0c mov 0xc(%ebp),%eax 86: 8b 4d 10 mov 0x10(%ebp),%ecx 89: 8b 5d 14 mov 0x14(%ebp),%ebx 8c: 8b 55 18 mov 0x18(%ebp),%edx 8f: 8b 75 08 mov 0x8(%ebp),%esi 92: 89 06 mov %eax,(%esi) 94: 89 56 08 mov %edx,0x8(%esi) 97: 89 4e 04 mov %ecx,0x4(%esi) 9a: 89 5e 0c mov %ebx,0xc(%esi) 9d: c7 46 14 00 00 00 00 movl $0x0,0x14(%esi) a4: 83 3b 00 cmpl $0x0,(%ebx) a7: 75 17 jne c0 <_ffi_prep_cif+0x48> a9: 83 c4 f4 add $0xfffffff4,%esp ac: 53 push %ebx ad: e8 4e ff ff ff call 0 <_initialize_aggregate> b2: 83 c4 10 add $0x10,%esp b5: 85 c0 test %eax,%eax b7: 74 07 je c0 <_ffi_prep_cif+0x48> b9: b8 01 00 00 00 mov $0x1,%eax be: eb 6a jmp 12a <_ffi_prep_cif+0xb2> c0: 8b 55 08 mov 0x8(%ebp),%edx c3: 8b 42 0c mov 0xc(%edx),%eax c6: 66 83 78 06 0d cmpw $0xd,0x6(%eax) cb: 75 05 jne d2 <_ffi_prep_cif+0x5a> cd: bf 04 00 00 00 mov $0x4,%edi d2: 8b 75 08 mov 0x8(%ebp),%esi d5: 8b 5e 08 mov 0x8(%esi),%ebx d8: 8b 76 04 mov 0x4(%esi),%esi db: 85 f6 test %esi,%esi dd: 74 3c je 11b <_ffi_prep_cif+0xa3> df: 90 nop e0: 8b 03 mov (%ebx),%eax e2: 83 38 00 cmpl $0x0,(%eax) e5: 75 10 jne f7 <_ffi_prep_cif+0x7f> e7: 83 c4 f4 add $0xfffffff4,%esp ea: 50 push %eax eb: e8 10 ff ff ff call 0 <_initialize_aggregate> f0: 83 c4 10 add $0x10,%esp f3: 85 c0 test %eax,%eax f5: 75 c2 jne b9 <_ffi_prep_cif+0x41> f7: 8b 0b mov (%ebx),%ecx f9: 0f b7 41 04 movzwl 0x4(%ecx),%eax fd: 8d 50 ff lea 0xffffffff(%eax),%edx 100: 85 fa test %edi,%edx 102: 74 08 je 10c <_ffi_prep_cif+0x94> 104: 8d 47 ff lea 0xffffffff(%edi),%eax 107: 09 d0 or %edx,%eax 109: 8d 78 01 lea 0x1(%eax),%edi 10c: 8b 01 mov (%ecx),%eax 10e: 83 c3 04 add $0x4,%ebx 111: 48 dec %eax 112: 0c 03 or $0x3,%al 114: 8d 7c 38 01 lea 0x1(%eax,%edi,1),%edi 118: 4e dec %esi 119: 75 c5 jne e0 <_ffi_prep_cif+0x68> 11b: 8b 45 08 mov 0x8(%ebp),%eax 11e: 83 c4 f4 add $0xfffffff4,%esp 121: 89 78 10 mov %edi,0x10(%eax) 124: 50 push %eax 125: e8 00 00 00 00 call 12a <_ffi_prep_cif+0xb2> 12a: 8d 65 e8 lea 0xffffffe8(%ebp),%esp 12d: 5b pop %ebx 12e: 5e pop %esi 12f: 5f pop %edi 130: 89 ec mov %ebp,%esp 132: 5d pop %ebp 133: c3 ret Disassembly of section .data: types.o: file format pe-i386 Disassembly of section .text: Disassembly of section .data: 00000000 <_ffi_type_void>: 0: 01 00 add %eax,(%eax) 2: 00 00 add %al,(%eax) 4: 01 00 add %eax,(%eax) 6: 00 00 add %al,(%eax) 8: 00 00 add %al,(%eax) ... 0000000c <_ffi_type_uint8>: c: 01 00 add %eax,(%eax) e: 00 00 add %al,(%eax) 10: 01 00 add %eax,(%eax) 12: 05 00 00 00 00 add $0x0,%eax ... 00000018 <_ffi_type_sint8>: 18: 01 00 add %eax,(%eax) 1a: 00 00 add %al,(%eax) 1c: 01 00 add %eax,(%eax) 1e: 06 push %es 1f: 00 00 add %al,(%eax) 21: 00 00 add %al,(%eax) ... 00000024 <_ffi_type_uint16>: 24: 02 00 add (%eax),%al 26: 00 00 add %al,(%eax) 28: 02 00 add (%eax),%al 2a: 07 pop %es 2b: 00 00 add %al,(%eax) 2d: 00 00 add %al,(%eax) ... 00000030 <_ffi_type_sint16>: 30: 02 00 add (%eax),%al 32: 00 00 add %al,(%eax) 34: 02 00 add (%eax),%al 36: 08 00 or %al,(%eax) 38: 00 00 add %al,(%eax) ... 0000003c <_ffi_type_uint>: 3c: 04 00 add $0x0,%al 3e: 00 00 add %al,(%eax) 40: 04 00 add $0x0,%al 42: 09 00 or %eax,(%eax) 44: 00 00 add %al,(%eax) ... 00000048 <_ffi_type_sint>: 48: 04 00 add $0x0,%al 4a: 00 00 add %al,(%eax) 4c: 04 00 add $0x0,%al 4e: 0a 00 or (%eax),%al 50: 00 00 add %al,(%eax) ... 00000054 <_ffi_type_float>: 54: 04 00 add $0x0,%al 56: 00 00 add %al,(%eax) 58: 04 00 add $0x0,%al 5a: 02 00 add (%eax),%al 5c: 00 00 add %al,(%eax) ... 00000060 <_ffi_type_pointer>: 60: 04 00 add $0x0,%al 62: 00 00 add %al,(%eax) 64: 04 00 add $0x0,%al 66: 0e push %cs 67: 00 00 add %al,(%eax) 69: 00 00 add %al,(%eax) ... 0000006c <_ffi_type_uint64>: 6c: 08 00 or %al,(%eax) 6e: 00 00 add %al,(%eax) 70: 04 00 add $0x0,%al 72: 0b 00 or (%eax),%eax 74: 00 00 add %al,(%eax) ... 00000078 <_ffi_type_sint64>: 78: 08 00 or %al,(%eax) 7a: 00 00 add %al,(%eax) 7c: 04 00 add $0x0,%al 7e: 0c 00 or $0x0,%al 80: 00 00 add %al,(%eax) ... 00000084 <_ffi_type_double>: 84: 08 00 or %al,(%eax) 86: 00 00 add %al,(%eax) 88: 04 00 add $0x0,%al 8a: 03 00 add (%eax),%eax 8c: 00 00 add %al,(%eax) ... 00000090 <_ffi_type_longdouble>: 90: 0c 00 or $0x0,%al 92: 00 00 add %al,(%eax) 94: 04 00 add $0x0,%al 96: 04 00 add $0x0,%al 98: 00 00 add %al,(%eax) ... raw_api.o: file format pe-i386 Disassembly of section .text: 00000000 <_ffi_raw_size>: 0: 55 push %ebp 1: 31 d2 xor %edx,%edx 3: 89 e5 mov %esp,%ebp 5: 53 push %ebx 6: 8b 45 08 mov 0x8(%ebp),%eax 9: 8b 48 04 mov 0x4(%eax),%ecx c: 8b 58 08 mov 0x8(%eax),%ebx f: 49 dec %ecx 10: 78 21 js 33 <_ffi_raw_size+0x33> 12: 89 f6 mov %esi,%esi 14: 8b 03 mov (%ebx),%eax 16: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 1b: 75 07 jne 24 <_ffi_raw_size+0x24> 1d: 83 c2 04 add $0x4,%edx 20: eb 0b jmp 2d <_ffi_raw_size+0x2d> 22: 89 f6 mov %esi,%esi 24: 8b 00 mov (%eax),%eax 26: 48 dec %eax 27: 0c 03 or $0x3,%al 29: 8d 54 10 01 lea 0x1(%eax,%edx,1),%edx 2d: 83 c3 04 add $0x4,%ebx 30: 49 dec %ecx 31: 79 e1 jns 14 <_ffi_raw_size+0x14> 33: 5b pop %ebx 34: 89 d0 mov %edx,%eax 36: 89 ec mov %ebp,%esp 38: 5d pop %ebp 39: c3 ret 3a: 89 f6 mov %esi,%esi 0000003c <_ffi_raw_to_ptrarray>: 3c: 55 push %ebp 3d: 89 e5 mov %esp,%ebp 3f: 57 push %edi 40: 56 push %esi 41: 53 push %ebx 42: 31 f6 xor %esi,%esi 44: 8b 7d 08 mov 0x8(%ebp),%edi 47: 8b 55 0c mov 0xc(%ebp),%edx 4a: 8b 5d 10 mov 0x10(%ebp),%ebx 4d: 8b 4f 08 mov 0x8(%edi),%ecx 50: 3b 77 04 cmp 0x4(%edi),%esi 53: 73 31 jae 86 <_ffi_raw_to_ptrarray+0x4a> 55: 8d 76 00 lea 0x0(%esi),%esi 58: 8b 01 mov (%ecx),%eax 5a: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 5f: 75 0b jne 6c <_ffi_raw_to_ptrarray+0x30> 61: 8b 02 mov (%edx),%eax 63: 89 03 mov %eax,(%ebx) 65: 83 c2 04 add $0x4,%edx 68: eb 10 jmp 7a <_ffi_raw_to_ptrarray+0x3e> 6a: 89 f6 mov %esi,%esi 6c: 89 13 mov %edx,(%ebx) 6e: 8b 01 mov (%ecx),%eax 70: 8b 00 mov (%eax),%eax 72: 48 dec %eax 73: 0c 03 or $0x3,%al 75: 40 inc %eax 76: 24 fc and $0xfc,%al 78: 01 c2 add %eax,%edx 7a: 46 inc %esi 7b: 83 c1 04 add $0x4,%ecx 7e: 83 c3 04 add $0x4,%ebx 81: 3b 77 04 cmp 0x4(%edi),%esi 84: 72 d2 jb 58 <_ffi_raw_to_ptrarray+0x1c> 86: 5b pop %ebx 87: 5e pop %esi 88: 5f pop %edi 89: 89 ec mov %ebp,%esp 8b: 5d pop %ebp 8c: c3 ret 8d: 8d 76 00 lea 0x0(%esi),%esi 00000090 <_ffi_ptrarray_to_raw>: 90: 55 push %ebp 91: 89 e5 mov %esp,%ebp 93: 83 ec 1c sub $0x1c,%esp 96: 57 push %edi 97: 56 push %esi 98: 53 push %ebx 99: 8b 45 08 mov 0x8(%ebp),%eax 9c: 8b 75 0c mov 0xc(%ebp),%esi 9f: 8b 5d 10 mov 0x10(%ebp),%ebx a2: 8b 78 08 mov 0x8(%eax),%edi a5: c7 45 fc 00 00 00 00 movl $0x0,0xfffffffc(%ebp) ac: 8b 55 fc mov 0xfffffffc(%ebp),%edx af: 3b 50 04 cmp 0x4(%eax),%edx b2: 0f 83 a6 00 00 00 jae 15e <_ffi_ptrarray_to_raw+0xce> b8: 8b 17 mov (%edi),%edx ba: 89 d1 mov %edx,%ecx bc: 0f b7 42 06 movzwl 0x6(%edx),%eax c0: 83 c0 fb add $0xfffffffb,%eax c3: 83 f8 09 cmp $0x9,%eax c6: 77 60 ja 128 <_ffi_ptrarray_to_raw+0x98> c8: ff 24 85 d0 00 00 00 jmp *0xd0(,%eax,4) cf: 90 nop d0: f8 clc d1: 00 00 add %al,(%eax) d3: 00 00 add %al,(%eax) d5: 01 00 add %eax,(%eax) d7: 00 08 add %cl,(%eax) d9: 01 00 add %eax,(%eax) db: 00 10 add %dl,(%eax) dd: 01 00 add %eax,(%eax) df: 00 1c 01 add %bl,(%ecx,%eax,1) e2: 00 00 add %al,(%eax) e4: 1c 01 sbb $0x1,%al e6: 00 00 add %al,(%eax) e8: 28 01 sub %al,(%ecx) ea: 00 00 add %al,(%eax) ec: 28 01 sub %al,(%ecx) ee: 00 00 add %al,(%eax) f0: 18 01 sbb %al,(%ecx) f2: 00 00 add %al,(%eax) f4: 1c 01 sbb $0x1,%al f6: 00 00 add %al,(%eax) f8: 8b 06 mov (%esi),%eax fa: 0f b6 00 movzbl (%eax),%eax fd: eb 21 jmp 120 <_ffi_ptrarray_to_raw+0x90> ff: 90 nop 100: 8b 06 mov (%esi),%eax 102: 0f be 00 movsbl (%eax),%eax 105: eb 19 jmp 120 <_ffi_ptrarray_to_raw+0x90> 107: 90 nop 108: 8b 06 mov (%esi),%eax 10a: 0f b7 00 movzwl (%eax),%eax 10d: eb 11 jmp 120 <_ffi_ptrarray_to_raw+0x90> 10f: 90 nop 110: 8b 06 mov (%esi),%eax 112: 0f bf 00 movswl (%eax),%eax 115: eb 09 jmp 120 <_ffi_ptrarray_to_raw+0x90> 117: 90 nop 118: 8b 06 mov (%esi),%eax 11a: eb 04 jmp 120 <_ffi_ptrarray_to_raw+0x90> 11c: 8b 06 mov (%esi),%eax 11e: 8b 00 mov (%eax),%eax 120: 89 03 mov %eax,(%ebx) 122: 83 c3 04 add $0x4,%ebx 125: eb 1f jmp 146 <_ffi_ptrarray_to_raw+0xb6> 127: 90 nop 128: 83 c4 fc add $0xfffffffc,%esp 12b: 8b 16 mov (%esi),%edx 12d: 8b 01 mov (%ecx),%eax 12f: 50 push %eax 130: 52 push %edx 131: 53 push %ebx 132: e8 00 00 00 00 call 137 <_ffi_ptrarray_to_raw+0xa7> 137: 8b 07 mov (%edi),%eax 139: 83 c4 10 add $0x10,%esp 13c: 8b 00 mov (%eax),%eax 13e: 48 dec %eax 13f: 0c 03 or $0x3,%al 141: 40 inc %eax 142: 24 fc and $0xfc,%al 144: 01 c3 add %eax,%ebx 146: ff 45 fc incl 0xfffffffc(%ebp) 149: 83 c7 04 add $0x4,%edi 14c: 83 c6 04 add $0x4,%esi 14f: 8b 55 fc mov 0xfffffffc(%ebp),%edx 152: 8b 45 08 mov 0x8(%ebp),%eax 155: 3b 50 04 cmp 0x4(%eax),%edx 158: 0f 82 5a ff ff ff jb b8 <_ffi_ptrarray_to_raw+0x28> 15e: 8d 65 d8 lea 0xffffffd8(%ebp),%esp 161: 5b pop %ebx 162: 5e pop %esi 163: 5f pop %edi 164: 89 ec mov %ebp,%esp 166: 5d pop %ebp 167: c3 ret Disassembly of section .data: java_raw_api.o: file format pe-i386 Disassembly of section .text: 00000000 <_ffi_java_raw_size>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 83 ec 14 sub $0x14,%esp 6: 53 push %ebx 7: 8b 45 08 mov 0x8(%ebp),%eax a: 31 db xor %ebx,%ebx c: 8b 48 04 mov 0x4(%eax),%ecx f: 8b 50 08 mov 0x8(%eax),%edx 12: 49 dec %ecx 13: 78 34 js 49 <_ffi_java_raw_size+0x49> 15: 8d 76 00 lea 0x0(%esi),%esi 18: 8b 02 mov (%edx),%eax 1a: 0f b7 40 06 movzwl 0x6(%eax),%eax 1e: 83 f8 0b cmp $0xb,%eax 21: 7c 1d jl 40 <_ffi_java_raw_size+0x40> 23: 83 f8 0c cmp $0xc,%eax 26: 7e 08 jle 30 <_ffi_java_raw_size+0x30> 28: 83 f8 0d cmp $0xd,%eax 2b: 74 0b je 38 <_ffi_java_raw_size+0x38> 2d: eb 11 jmp 40 <_ffi_java_raw_size+0x40> 2f: 90 nop 30: 83 c3 08 add $0x8,%ebx 33: eb 0e jmp 43 <_ffi_java_raw_size+0x43> 35: 8d 76 00 lea 0x0(%esi),%esi 38: e8 00 00 00 00 call 3d <_ffi_java_raw_size+0x3d> 3d: 8d 76 00 lea 0x0(%esi),%esi 40: 83 c3 04 add $0x4,%ebx 43: 83 c2 04 add $0x4,%edx 46: 49 dec %ecx 47: 79 cf jns 18 <_ffi_java_raw_size+0x18> 49: 89 d8 mov %ebx,%eax 4b: 5b pop %ebx 4c: 89 ec mov %ebp,%esp 4e: 5d pop %ebp 4f: c3 ret 00000050 <_ffi_java_raw_to_ptrarray>: 50: 55 push %ebp 51: 89 e5 mov %esp,%ebp 53: 57 push %edi 54: 56 push %esi 55: 53 push %ebx 56: 31 f6 xor %esi,%esi 58: 8b 7d 08 mov 0x8(%ebp),%edi 5b: 8b 5d 0c mov 0xc(%ebp),%ebx 5e: 8b 4d 10 mov 0x10(%ebp),%ecx 61: 8b 57 08 mov 0x8(%edi),%edx 64: 3b 77 04 cmp 0x4(%edi),%esi 67: 73 1d jae 86 <_ffi_java_raw_to_ptrarray+0x36> 69: 8d 76 00 lea 0x0(%esi),%esi 6c: 89 19 mov %ebx,(%ecx) 6e: 46 inc %esi 6f: 8b 02 mov (%edx),%eax 71: 83 c1 04 add $0x4,%ecx 74: 83 c2 04 add $0x4,%edx 77: 8b 00 mov (%eax),%eax 79: 48 dec %eax 7a: 0c 03 or $0x3,%al 7c: 40 inc %eax 7d: 24 fc and $0xfc,%al 7f: 01 c3 add %eax,%ebx 81: 3b 77 04 cmp 0x4(%edi),%esi 84: 72 e6 jb 6c <_ffi_java_raw_to_ptrarray+0x1c> 86: 5b pop %ebx 87: 5e pop %esi 88: 5f pop %edi 89: 89 ec mov %ebp,%esp 8b: 5d pop %ebp 8c: c3 ret 8d: 8d 76 00 lea 0x0(%esi),%esi 00000090 <_ffi_java_ptrarray_to_raw>: 90: 55 push %ebp 91: 89 e5 mov %esp,%ebp 93: 83 ec 1c sub $0x1c,%esp 96: 57 push %edi 97: 56 push %esi 98: 53 push %ebx 99: 8b 45 08 mov 0x8(%ebp),%eax 9c: 8b 75 0c mov 0xc(%ebp),%esi 9f: 8b 5d 10 mov 0x10(%ebp),%ebx a2: 8b 78 08 mov 0x8(%eax),%edi a5: c7 45 fc 00 00 00 00 movl $0x0,0xfffffffc(%ebp) ac: 8b 55 fc mov 0xfffffffc(%ebp),%edx af: 3b 50 04 cmp 0x4(%eax),%edx b2: 0f 83 ba 00 00 00 jae 172 <_ffi_java_ptrarray_to_raw+0xe2> b8: 8b 17 mov (%edi),%edx ba: 89 d1 mov %edx,%ecx bc: 0f b7 42 06 movzwl 0x6(%edx),%eax c0: 83 c0 fe add $0xfffffffe,%eax c3: 83 f8 0c cmp $0xc,%eax c6: 77 74 ja 13c <_ffi_java_ptrarray_to_raw+0xac> c8: ff 24 85 d0 00 00 00 jmp *0xd0(,%eax,4) cf: 90 nop d0: 24 01 and $0x1,%al d2: 00 00 add %al,(%eax) d4: 3c 01 cmp $0x1,%al d6: 00 00 add %al,(%eax) d8: 3c 01 cmp $0x1,%al da: 00 00 add %al,(%eax) dc: 04 01 add $0x1,%al de: 00 00 add %al,(%eax) e0: 0c 01 or $0x1,%al e2: 00 00 add %al,(%eax) e4: 14 01 adc $0x1,%al e6: 00 00 add %al,(%eax) e8: 1c 01 sbb $0x1,%al ea: 00 00 add %al,(%eax) ec: 30 01 xor %al,(%ecx) ee: 00 00 add %al,(%eax) f0: 30 01 xor %al,(%ecx) f2: 00 00 add %al,(%eax) f4: 3c 01 cmp $0x1,%al f6: 00 00 add %al,(%eax) f8: 3c 01 cmp $0x1,%al fa: 00 00 add %al,(%eax) fc: 3c 01 cmp $0x1,%al fe: 00 00 add %al,(%eax) 100: 30 01 xor %al,(%ecx) 102: 00 00 add %al,(%eax) 104: 8b 06 mov (%esi),%eax 106: 0f b6 00 movzbl (%eax),%eax 109: eb 29 jmp 134 <_ffi_java_ptrarray_to_raw+0xa4> 10b: 90 nop 10c: 8b 06 mov (%esi),%eax 10e: 0f be 00 movsbl (%eax),%eax 111: eb 21 jmp 134 <_ffi_java_ptrarray_to_raw+0xa4> 113: 90 nop 114: 8b 06 mov (%esi),%eax 116: 0f b7 00 movzwl (%eax),%eax 119: eb 19 jmp 134 <_ffi_java_ptrarray_to_raw+0xa4> 11b: 90 nop 11c: 8b 06 mov (%esi),%eax 11e: 0f bf 00 movswl (%eax),%eax 121: eb 11 jmp 134 <_ffi_java_ptrarray_to_raw+0xa4> 123: 90 nop 124: 8b 06 mov (%esi),%eax 126: d9 00 flds (%eax) 128: d9 1b fstps (%ebx) 12a: 83 c3 04 add $0x4,%ebx 12d: eb 2b jmp 15a <_ffi_java_ptrarray_to_raw+0xca> 12f: 90 nop 130: 8b 06 mov (%esi),%eax 132: 8b 00 mov (%eax),%eax 134: 89 03 mov %eax,(%ebx) 136: 83 c3 04 add $0x4,%ebx 139: eb 1f jmp 15a <_ffi_java_ptrarray_to_raw+0xca> 13b: 90 nop 13c: 83 c4 fc add $0xfffffffc,%esp 13f: 8b 16 mov (%esi),%edx 141: 8b 01 mov (%ecx),%eax 143: 50 push %eax 144: 52 push %edx 145: 53 push %ebx 146: e8 00 00 00 00 call 14b <_ffi_java_ptrarray_to_raw+0xbb> 14b: 8b 07 mov (%edi),%eax 14d: 83 c4 10 add $0x10,%esp 150: 8b 00 mov (%eax),%eax 152: 48 dec %eax 153: 0c 03 or $0x3,%al 155: 40 inc %eax 156: 24 fc and $0xfc,%al 158: 01 c3 add %eax,%ebx 15a: ff 45 fc incl 0xfffffffc(%ebp) 15d: 83 c7 04 add $0x4,%edi 160: 83 c6 04 add $0x4,%esi 163: 8b 55 fc mov 0xfffffffc(%ebp),%edx 166: 8b 45 08 mov 0x8(%ebp),%eax 169: 3b 50 04 cmp 0x4(%eax),%edx 16c: 0f 82 46 ff ff ff jb b8 <_ffi_java_ptrarray_to_raw+0x28> 172: 8d 65 d8 lea 0xffffffd8(%ebp),%esp 175: 5b pop %ebx 176: 5e pop %esi 177: 5f pop %edi 178: 89 ec mov %ebp,%esp 17a: 5d pop %ebp 17b: c3 ret Disassembly of section .data: t-ffi.o: file format pe-i386 Disassembly of section .text: 00000000 <_ffi_prep_args>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 83 ec 1c sub $0x1c,%esp 6: 57 push %edi 7: 56 push %esi 8: 53 push %ebx 9: 8b 55 0c mov 0xc(%ebp),%edx c: 8b 5d 08 mov 0x8(%ebp),%ebx f: 8b 02 mov (%edx),%eax 11: 8b 40 0c mov 0xc(%eax),%eax 14: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 19: 75 08 jne 23 <_ffi_prep_args+0x23> 1b: 8b 42 04 mov 0x4(%edx),%eax 1e: 89 03 mov %eax,(%ebx) 20: 83 c3 04 add $0x4,%ebx 23: 8b 02 mov (%edx),%eax 25: 8b 48 04 mov 0x4(%eax),%ecx 28: 89 4d f8 mov %ecx,0xfffffff8(%ebp) 2b: 8b 72 08 mov 0x8(%edx),%esi 2e: 89 4d fc mov %ecx,0xfffffffc(%ebp) 31: 8b 40 08 mov 0x8(%eax),%eax 34: 89 45 f4 mov %eax,0xfffffff4(%ebp) 37: 85 c9 test %ecx,%ecx 39: 0f 84 c9 00 00 00 je 108 <_ffi_prep_args+0x108> 3f: 90 nop 40: 8b 45 f4 mov 0xfffffff4(%ebp),%eax 43: 8b 08 mov (%eax),%ecx 45: 0f b7 41 04 movzwl 0x4(%ecx),%eax 49: 8d 50 ff lea 0xffffffff(%eax),%edx 4c: 85 da test %ebx,%edx 4e: 74 08 je 58 <_ffi_prep_args+0x58> 50: 8d 43 ff lea 0xffffffff(%ebx),%eax 53: 09 d0 or %edx,%eax 55: 8d 58 01 lea 0x1(%eax),%ebx 58: 83 7d f8 00 cmpl $0x0,0xfffffff8(%ebp) 5c: 0f 84 93 00 00 00 je f5 <_ffi_prep_args+0xf5> 62: ff 4d f8 decl 0xfffffff8(%ebp) 65: 8b 39 mov (%ecx),%edi 67: 83 ff 03 cmp $0x3,%edi 6a: 77 74 ja e0 <_ffi_prep_args+0xe0> 6c: 0f b7 41 06 movzwl 0x6(%ecx),%eax 70: bf 04 00 00 00 mov $0x4,%edi 75: 83 c0 fb add $0xfffffffb,%eax 78: 83 f8 08 cmp $0x8,%eax 7b: 77 73 ja f0 <_ffi_prep_args+0xf0> 7d: ff 24 85 84 00 00 00 jmp *0x84(,%eax,4) 84: b4 00 mov $0x0,%ah 86: 00 00 add %al,(%eax) 88: a8 00 test $0x0,%al 8a: 00 00 add %al,(%eax) 8c: cc int3 8d: 00 00 add %al,(%eax) 8f: 00 c0 add %al,%al 91: 00 00 add %al,(%eax) 93: 00 d8 add %bl,%al 95: 00 00 add %al,(%eax) 97: 00 d8 add %bl,%al 99: 00 00 add %al,(%eax) 9b: 00 f0 add %dh,%al 9d: 00 00 add %al,(%eax) 9f: 00 f0 add %dh,%al a1: 00 00 add %al,(%eax) a3: 00 d8 add %bl,%al a5: 00 00 add %al,(%eax) a7: 00 8b 06 0f be 00 add %cl,0xbe0f06(%ebx) ad: 89 03 mov %eax,(%ebx) af: eb 3f jmp f0 <_ffi_prep_args+0xf0> b1: 8d 76 00 lea 0x0(%esi),%esi b4: 8b 06 mov (%esi),%eax b6: 0f b6 00 movzbl (%eax),%eax b9: 89 03 mov %eax,(%ebx) bb: eb 33 jmp f0 <_ffi_prep_args+0xf0> bd: 8d 76 00 lea 0x0(%esi),%esi c0: 8b 06 mov (%esi),%eax c2: 0f bf 00 movswl (%eax),%eax c5: 89 03 mov %eax,(%ebx) c7: eb 27 jmp f0 <_ffi_prep_args+0xf0> c9: 8d 76 00 lea 0x0(%esi),%esi cc: 8b 06 mov (%esi),%eax ce: 0f b7 00 movzwl (%eax),%eax d1: 89 03 mov %eax,(%ebx) d3: eb 1b jmp f0 <_ffi_prep_args+0xf0> d5: 8d 76 00 lea 0x0(%esi),%esi d8: 8b 06 mov (%esi),%eax da: 8b 00 mov (%eax),%eax dc: 89 03 mov %eax,(%ebx) de: eb 10 jmp f0 <_ffi_prep_args+0xf0> e0: 83 c4 fc add $0xfffffffc,%esp e3: 8b 06 mov (%esi),%eax e5: 57 push %edi e6: 50 push %eax e7: 53 push %ebx e8: e8 00 00 00 00 call ed <_ffi_prep_args+0xed> ed: 83 c4 10 add $0x10,%esp f0: 83 c6 04 add $0x4,%esi f3: 01 fb add %edi,%ebx f5: 83 45 f4 04 addl $0x4,0xfffffff4(%ebp) f9: ff 4d fc decl 0xfffffffc(%ebp) fc: 74 0a je 108 <_ffi_prep_args+0x108> fe: 83 7d f8 00 cmpl $0x0,0xfffffff8(%ebp) 102: 0f 85 38 ff ff ff jne 40 <_ffi_prep_args+0x40> 108: 8d 65 d8 lea 0xffffffd8(%ebp),%esp 10b: 5b pop %ebx 10c: 5e pop %esi 10d: 5f pop %edi 10e: 89 ec mov %ebp,%esp 110: 5d pop %ebp 111: c3 ret 112: 89 f6 mov %esi,%esi 00000114 <_ffi_prep_cif_machdep>: 114: 55 push %ebp 115: 89 e5 mov %esp,%ebp 117: 8b 55 08 mov 0x8(%ebp),%edx 11a: 8b 42 0c mov 0xc(%edx),%eax 11d: 0f b7 40 06 movzwl 0x6(%eax),%eax 121: 83 f8 0d cmp $0xd,%eax 124: 77 5a ja 180 <_ffi_prep_cif_machdep+0x6c> 126: ff 24 85 30 01 00 00 jmp *0x130(,%eax,4) 12d: 8d 76 00 lea 0x0(%esi),%esi 130: 68 01 00 00 80 push $0x80000001 135: 01 00 add %eax,(%eax) 137: 00 68 01 add %ch,0x1(%eax) 13a: 00 00 add %al,(%eax) 13c: 68 01 00 00 68 push $0x68000001 141: 01 00 add %eax,(%eax) 143: 00 80 01 00 00 80 add %al,0x80000001(%eax) 149: 01 00 add %eax,(%eax) 14b: 00 80 01 00 00 80 add %al,0x80000001(%eax) 151: 01 00 add %eax,(%eax) 153: 00 80 01 00 00 80 add %al,0x80000001(%eax) 159: 01 00 add %eax,(%eax) 15b: 00 74 01 00 add %dh,0x0(%ecx,%eax,1) 15f: 00 68 01 add %ch,0x1(%eax) 162: 00 00 add %al,(%eax) 164: 68 01 00 00 8b push $0x8b000001 169: 42 inc %edx 16a: 0c 0f or $0xf,%al 16c: b7 40 mov $0x40,%bh 16e: 06 push %es 16f: 89 42 14 mov %eax,0x14(%edx) 172: eb 13 jmp 187 <_ffi_prep_cif_machdep+0x73> 174: c7 42 14 0c 00 00 00 movl $0xc,0x14(%edx) 17b: eb 0a jmp 187 <_ffi_prep_cif_machdep+0x73> 17d: 8d 76 00 lea 0x0(%esi),%esi 180: c7 42 14 01 00 00 00 movl $0x1,0x14(%edx) 187: 89 ec mov %ebp,%esp 189: 31 c0 xor %eax,%eax 18b: 5d pop %ebp 18c: c3 ret 18d: 8d 76 00 lea 0x0(%esi),%esi 00000190 <_ffi_call>: 190: 55 push %ebp 191: 89 e5 mov %esp,%ebp 193: 83 ec 18 sub $0x18,%esp 196: 8b 55 08 mov 0x8(%ebp),%edx 199: 8b 45 14 mov 0x14(%ebp),%eax 19c: 89 55 f0 mov %edx,0xfffffff0(%ebp) 19f: 8b 4d 10 mov 0x10(%ebp),%ecx 1a2: 89 45 f8 mov %eax,0xfffffff8(%ebp) 1a5: 85 c9 test %ecx,%ecx 1a7: 75 1b jne 1c4 <_ffi_call+0x34> 1a9: 8b 42 0c mov 0xc(%edx),%eax 1ac: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 1b1: 75 11 jne 1c4 <_ffi_call+0x34> 1b3: 8b 00 mov (%eax),%eax 1b5: 83 c0 0f add $0xf,%eax 1b8: 24 f0 and $0xf0,%al 1ba: e8 00 00 00 00 call 1bf <_ffi_call+0x2f> 1bf: 89 65 f4 mov %esp,0xfffffff4(%ebp) 1c2: eb 03 jmp 1c7 <_ffi_call+0x37> 1c4: 89 4d f4 mov %ecx,0xfffffff4(%ebp) 1c7: 83 3a 01 cmpl $0x1,(%edx) 1ca: 75 21 jne 1ed <_ffi_call+0x5d> 1cc: 8b 45 0c mov 0xc(%ebp),%eax 1cf: 83 c4 f8 add $0xfffffff8,%esp 1d2: 50 push %eax 1d3: 8b 45 f4 mov 0xfffffff4(%ebp),%eax 1d6: 50 push %eax 1d7: 8b 42 14 mov 0x14(%edx),%eax 1da: 50 push %eax 1db: 8b 42 10 mov 0x10(%edx),%eax 1de: 50 push %eax 1df: 8d 45 f0 lea 0xfffffff0(%ebp),%eax 1e2: 50 push %eax 1e3: 68 00 00 00 00 push $0x0 1e8: e8 00 00 00 00 call 1ed <_ffi_call+0x5d> 1ed: 89 ec mov %ebp,%esp 1ef: 5d pop %ebp 1f0: c3 ret 1f1: 8d 76 00 lea 0x0(%esi),%esi 000001f4 <_ffi_closure_SYSV>: 1f4: 55 push %ebp 1f5: 8d 55 08 lea 0x8(%ebp),%edx 1f8: 89 e5 mov %esp,%ebp 1fa: 83 ec 2c sub $0x2c,%esp 1fd: 57 push %edi 1fe: 8d 45 f0 lea 0xfffffff0(%ebp),%eax 201: 56 push %esi 202: 53 push %ebx 203: 89 ce mov %ecx,%esi 205: 8b 5e 0c mov 0xc(%esi),%ebx 208: 89 45 ec mov %eax,0xffffffec(%ebp) 20b: 8b 43 04 mov 0x4(%ebx),%eax 20e: c1 e0 02 shl $0x2,%eax 211: 83 c0 0f add $0xf,%eax 214: 24 f0 and $0xf0,%al 216: e8 00 00 00 00 call 21b <_ffi_closure_SYSV+0x27> 21b: 89 e7 mov %esp,%edi 21d: 8d 45 ec lea 0xffffffec(%ebp),%eax 220: 53 push %ebx 221: 57 push %edi 222: 50 push %eax 223: 52 push %edx 224: e8 6f 00 00 00 call 298 <_ffi_prep_incoming_args_SYSV> 229: 8b 46 14 mov 0x14(%esi),%eax 22c: 50 push %eax 22d: 57 push %edi 22e: 8b 45 ec mov 0xffffffec(%ebp),%eax 231: 50 push %eax 232: 53 push %ebx 233: 8b 46 10 mov 0x10(%esi),%eax 236: ff d0 call *%eax 238: 0f b7 43 14 movzwl 0x14(%ebx),%eax 23c: 66 83 f8 01 cmp $0x1,%ax 240: 75 0a jne 24c <_ffi_closure_SYSV+0x58> 242: 8b 55 ec mov 0xffffffec(%ebp),%edx 245: 8b 02 mov (%edx),%eax 247: eb 42 jmp 28b <_ffi_closure_SYSV+0x97> 249: 8d 76 00 lea 0x0(%esi),%esi 24c: 66 83 f8 02 cmp $0x2,%ax 250: 75 0a jne 25c <_ffi_closure_SYSV+0x68> 252: 8b 45 ec mov 0xffffffec(%ebp),%eax 255: d9 00 flds (%eax) 257: eb 32 jmp 28b <_ffi_closure_SYSV+0x97> 259: 8d 76 00 lea 0x0(%esi),%esi 25c: 66 83 f8 03 cmp $0x3,%ax 260: 75 0a jne 26c <_ffi_closure_SYSV+0x78> 262: 8b 45 ec mov 0xffffffec(%ebp),%eax 265: dd 00 fldl (%eax) 267: eb 22 jmp 28b <_ffi_closure_SYSV+0x97> 269: 8d 76 00 lea 0x0(%esi),%esi 26c: 66 83 f8 04 cmp $0x4,%ax 270: 75 0a jne 27c <_ffi_closure_SYSV+0x88> 272: 8b 45 ec mov 0xffffffec(%ebp),%eax 275: db 28 fldt (%eax) 277: eb 12 jmp 28b <_ffi_closure_SYSV+0x97> 279: 8d 76 00 lea 0x0(%esi),%esi 27c: 66 83 f8 0c cmp $0xc,%ax 280: 75 09 jne 28b <_ffi_closure_SYSV+0x97> 282: 8b 4d ec mov 0xffffffec(%ebp),%ecx 285: 8b 41 00 mov 0x0(%ecx),%eax 288: 8b 51 04 mov 0x4(%ecx),%edx 28b: 8d 65 c8 lea 0xffffffc8(%ebp),%esp 28e: 5b pop %ebx 28f: 5e pop %esi 290: 5f pop %edi 291: 89 ec mov %ebp,%esp 293: 5d pop %ebp 294: c3 ret 295: 8d 76 00 lea 0x0(%esi),%esi 00000298 <_ffi_prep_incoming_args_SYSV>: 298: 55 push %ebp 299: 89 e5 mov %esp,%ebp 29b: 83 ec 1c sub $0x1c,%esp 29e: 57 push %edi 29f: 56 push %esi 2a0: 53 push %ebx 2a1: 8b 75 14 mov 0x14(%ebp),%esi 2a4: 8b 4d 08 mov 0x8(%ebp),%ecx 2a7: 8b 46 0c mov 0xc(%esi),%eax 2aa: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 2af: 75 0a jne 2bb <_ffi_prep_incoming_args_SYSV+0x23> 2b1: 8b 11 mov (%ecx),%edx 2b3: 8b 45 0c mov 0xc(%ebp),%eax 2b6: 83 c1 04 add $0x4,%ecx 2b9: 89 10 mov %edx,(%eax) 2bb: 8b 5e 04 mov 0x4(%esi),%ebx 2be: 8b 45 10 mov 0x10(%ebp),%eax 2c1: 89 5d fc mov %ebx,0xfffffffc(%ebp) 2c4: 89 45 f8 mov %eax,0xfffffff8(%ebp) 2c7: 8b 7e 08 mov 0x8(%esi),%edi 2ca: 85 db test %ebx,%ebx 2cc: 74 37 je 305 <_ffi_prep_incoming_args_SYSV+0x6d> 2ce: 89 f6 mov %esi,%esi 2d0: 8b 37 mov (%edi),%esi 2d2: 0f b7 46 04 movzwl 0x4(%esi),%eax 2d6: 8d 50 ff lea 0xffffffff(%eax),%edx 2d9: 85 ca test %ecx,%edx 2db: 74 08 je 2e5 <_ffi_prep_incoming_args_SYSV+0x4d> 2dd: 8d 41 ff lea 0xffffffff(%ecx),%eax 2e0: 09 d0 or %edx,%eax 2e2: 8d 48 01 lea 0x1(%eax),%ecx 2e5: 85 db test %ebx,%ebx 2e7: 74 10 je 2f9 <_ffi_prep_incoming_args_SYSV+0x61> 2e9: 8b 06 mov (%esi),%eax 2eb: 4b dec %ebx 2ec: 8b 55 f8 mov 0xfffffff8(%ebp),%edx 2ef: 89 0a mov %ecx,(%edx) 2f1: 83 c2 04 add $0x4,%edx 2f4: 01 c1 add %eax,%ecx 2f6: 89 55 f8 mov %edx,0xfffffff8(%ebp) 2f9: 83 c7 04 add $0x4,%edi 2fc: ff 4d fc decl 0xfffffffc(%ebp) 2ff: 74 04 je 305 <_ffi_prep_incoming_args_SYSV+0x6d> 301: 85 db test %ebx,%ebx 303: 75 cb jne 2d0 <_ffi_prep_incoming_args_SYSV+0x38> 305: 5b pop %ebx 306: 5e pop %esi 307: 5f pop %edi 308: 89 ec mov %ebp,%esp 30a: 5d pop %ebp 30b: c3 ret 0000030c <_ffi_prep_closure>: 30c: 55 push %ebp 30d: ba ea 01 00 00 mov $0x1ea,%edx 312: 89 e5 mov %esp,%ebp 314: 56 push %esi 315: 53 push %ebx 316: 8b 45 08 mov 0x8(%ebp),%eax 319: 8b 5d 0c mov 0xc(%ebp),%ebx 31c: 29 c2 sub %eax,%edx 31e: 8b 75 10 mov 0x10(%ebp),%esi 321: 8b 4d 14 mov 0x14(%ebp),%ecx 324: c6 00 b9 movb $0xb9,(%eax) 327: 89 40 01 mov %eax,0x1(%eax) 32a: c6 40 05 e9 movb $0xe9,0x5(%eax) 32e: 89 50 06 mov %edx,0x6(%eax) 331: 89 58 0c mov %ebx,0xc(%eax) 334: 89 48 14 mov %ecx,0x14(%eax) 337: 89 70 10 mov %esi,0x10(%eax) 33a: 5b pop %ebx 33b: 31 c0 xor %eax,%eax 33d: 5e pop %esi 33e: 89 ec mov %ebp,%esp 340: 5d pop %ebp 341: c3 ret 342: 89 f6 mov %esi,%esi 00000344 <_ffi_closure_raw_SYSV>: 344: 55 push %ebp 345: 89 ca mov %ecx,%edx 347: 89 e5 mov %esp,%ebp 349: 8d 4d 08 lea 0x8(%ebp),%ecx 34c: 83 ec 20 sub $0x20,%esp 34f: 56 push %esi 350: 53 push %ebx 351: 8d 75 f0 lea 0xfffffff0(%ebp),%esi 354: 8b 5a 0c mov 0xc(%edx),%ebx 357: 8b 42 14 mov 0x14(%edx),%eax 35a: 50 push %eax 35b: 51 push %ecx 35c: 56 push %esi 35d: 53 push %ebx 35e: 8b 42 10 mov 0x10(%edx),%eax 361: ff d0 call *%eax 363: 0f b7 43 14 movzwl 0x14(%ebx),%eax 367: 66 83 f8 01 cmp $0x1,%ax 36b: 75 07 jne 374 <_ffi_closure_raw_SYSV+0x30> 36d: 8b 06 mov (%esi),%eax 36f: eb 33 jmp 3a4 <_ffi_closure_raw_SYSV+0x60> 371: 8d 76 00 lea 0x0(%esi),%esi 374: 66 83 f8 02 cmp $0x2,%ax 378: 75 06 jne 380 <_ffi_closure_raw_SYSV+0x3c> 37a: d9 06 flds (%esi) 37c: eb 26 jmp 3a4 <_ffi_closure_raw_SYSV+0x60> 37e: 89 f6 mov %esi,%esi 380: 66 83 f8 03 cmp $0x3,%ax 384: 75 06 jne 38c <_ffi_closure_raw_SYSV+0x48> 386: dd 06 fldl (%esi) 388: eb 1a jmp 3a4 <_ffi_closure_raw_SYSV+0x60> 38a: 89 f6 mov %esi,%esi 38c: 66 83 f8 04 cmp $0x4,%ax 390: 75 06 jne 398 <_ffi_closure_raw_SYSV+0x54> 392: db 2e fldt (%esi) 394: eb 0e jmp 3a4 <_ffi_closure_raw_SYSV+0x60> 396: 89 f6 mov %esi,%esi 398: 66 83 f8 0c cmp $0xc,%ax 39c: 75 06 jne 3a4 <_ffi_closure_raw_SYSV+0x60> 39e: 8b 46 00 mov 0x0(%esi),%eax 3a1: 8b 56 04 mov 0x4(%esi),%edx 3a4: 8d 65 d8 lea 0xffffffd8(%ebp),%esp 3a7: 5b pop %ebx 3a8: 5e pop %esi 3a9: 89 ec mov %ebp,%esp 3ab: 5d pop %ebp 3ac: c3 ret 3ad: 8d 76 00 lea 0x0(%esi),%esi 000003b0 <_ffi_prep_raw_closure>: 3b0: 55 push %ebp 3b1: 89 e5 mov %esp,%ebp 3b3: 53 push %ebx 3b4: 8b 5d 0c mov 0xc(%ebp),%ebx 3b7: 8b 55 08 mov 0x8(%ebp),%edx 3ba: 8b 4b 04 mov 0x4(%ebx),%ecx 3bd: 49 dec %ecx 3be: 78 03 js 3c3 <_ffi_prep_raw_closure+0x13> 3c0: 49 dec %ecx 3c1: 79 fd jns 3c0 <_ffi_prep_raw_closure+0x10> 3c3: b8 3a 03 00 00 mov $0x33a,%eax 3c8: c6 02 b9 movb $0xb9,(%edx) 3cb: 29 d0 sub %edx,%eax 3cd: 89 52 01 mov %edx,0x1(%edx) 3d0: c6 42 05 e9 movb $0xe9,0x5(%edx) 3d4: 89 42 06 mov %eax,0x6(%edx) 3d7: 89 5a 0c mov %ebx,0xc(%edx) 3da: 8b 45 14 mov 0x14(%ebp),%eax 3dd: 89 42 14 mov %eax,0x14(%edx) 3e0: 8b 45 10 mov 0x10(%ebp),%eax 3e3: 89 42 10 mov %eax,0x10(%edx) 3e6: 5b pop %ebx 3e7: 31 c0 xor %eax,%eax 3e9: 89 ec mov %ebp,%esp 3eb: 5d pop %ebp 3ec: c3 ret 3ed: 8d 76 00 lea 0x0(%esi),%esi 000003f0 <_ffi_prep_args_raw>: 3f0: 55 push %ebp 3f1: 89 e5 mov %esp,%ebp 3f3: 83 ec 08 sub $0x8,%esp 3f6: 8b 45 0c mov 0xc(%ebp),%eax 3f9: 83 c4 fc add $0xfffffffc,%esp 3fc: 8b 4d 08 mov 0x8(%ebp),%ecx 3ff: 8b 50 08 mov 0x8(%eax),%edx 402: 8b 00 mov (%eax),%eax 404: 8b 40 10 mov 0x10(%eax),%eax 407: 50 push %eax 408: 52 push %edx 409: 51 push %ecx 40a: e8 00 00 00 00 call 40f <_ffi_prep_args_raw+0x1f> 40f: 89 ec mov %ebp,%esp 411: 5d pop %ebp 412: c3 ret 413: 90 nop 00000414 <_ffi_raw_call>: 414: 55 push %ebp 415: 89 e5 mov %esp,%ebp 417: 83 ec 18 sub $0x18,%esp 41a: 8b 55 08 mov 0x8(%ebp),%edx 41d: 8b 45 14 mov 0x14(%ebp),%eax 420: 89 55 f0 mov %edx,0xfffffff0(%ebp) 423: 8b 4d 10 mov 0x10(%ebp),%ecx 426: 89 45 f8 mov %eax,0xfffffff8(%ebp) 429: 85 c9 test %ecx,%ecx 42b: 75 1b jne 448 <_ffi_raw_call+0x34> 42d: 8b 42 0c mov 0xc(%edx),%eax 430: 66 83 78 06 0d cmpw $0xd,0x6(%eax) 435: 75 11 jne 448 <_ffi_raw_call+0x34> 437: 8b 00 mov (%eax),%eax 439: 83 c0 0f add $0xf,%eax 43c: 24 f0 and $0xf0,%al 43e: e8 00 00 00 00 call 443 <_ffi_raw_call+0x2f> 443: 89 65 f4 mov %esp,0xfffffff4(%ebp) 446: eb 03 jmp 44b <_ffi_raw_call+0x37> 448: 89 4d f4 mov %ecx,0xfffffff4(%ebp) 44b: 83 3a 01 cmpl $0x1,(%edx) 44e: 75 21 jne 471 <_ffi_raw_call+0x5d> 450: 8b 45 0c mov 0xc(%ebp),%eax 453: 83 c4 f8 add $0xfffffff8,%esp 456: 50 push %eax 457: 8b 45 f4 mov 0xfffffff4(%ebp),%eax 45a: 50 push %eax 45b: 8b 42 14 mov 0x14(%edx),%eax 45e: 50 push %eax 45f: 8b 42 10 mov 0x10(%edx),%eax 462: 50 push %eax 463: 8d 45 f0 lea 0xfffffff0(%ebp),%eax 466: 50 push %eax 467: 68 f0 03 00 00 push $0x3f0 46c: e8 00 00 00 00 call 471 <_ffi_raw_call+0x5d> 471: 89 ec mov %ebp,%esp 473: 5d pop %ebp 474: c3 ret 475: 8d 76 00 lea 0x0(%esi),%esi Disassembly of section .data: t-asm.o: file format pe-i386 Disassembly of section .text: 00000000 <_ffi_call_SYSV>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 8b 4d 10 mov 0x10(%ebp),%ecx 6: 29 cc sub %ecx,%esp 8: 89 e0 mov %esp,%eax a: ff 75 0c pushl 0xc(%ebp) d: 50 push %eax e: ff 55 08 call *0x8(%ebp) 11: 83 c4 08 add $0x8,%esp 14: ff 55 1c call *0x1c(%ebp) 17: 8b 4d 10 mov 0x10(%ebp),%ecx 1a: 01 cc add %ecx,%esp 1c: 8b 4d 14 mov 0x14(%ebp),%ecx 1f: 83 7d 18 00 cmpl $0x0,0x18(%ebp) 23: 75 09 jne 2e ![]() |