2012-06-12 :-(
_ [C][ポインタ]プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 驟雨のカーネル探検隊(只今遭難中w
Just read objdump -d -S ./a.out.
Or die.
enviroment
- cygwin
- gcc (GCC) 4.5.3
- GNU objdump (GNU Binutils) 2.22.52.20120326
code
#include <stdio.h> int main(int ac, char** av ) { puts("おれは人間をやめるぞ!ジョジョーーーーッ!! "); return 0; }
build
% gcc hello.c
disassemble
% objdump -d -S ./a.exe ./a.exe: file format pei-i386 Disassembly of section .text: 00401000 <_WinMainCRTStartup>: 401000: 55 push %ebp 401001: 89 e5 mov %esp,%ebp 401003: 83 ec 18 sub $0x18,%esp 401006: 83 e4 f0 and $0xfffffff0,%esp 401009: c7 04 24 70 11 40 00 movl $0x401170,(%esp) 401010: e8 8b 01 00 00 call 4011a0 <_cygwin_crt0> 401015: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp) 40101c: 00 40101d: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 401024: 00 401025: c7 04 24 00 00 00 00 movl $0x0,(%esp) 40102c: e8 9f 01 00 00 call 4011d0 <_cygwin_premain0> 401031: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp) 401038: 00 401039: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 401040: 00 401041: c7 04 24 00 00 00 00 movl $0x0,(%esp) 401048: e8 93 01 00 00 call 4011e0 <_cygwin_premain1> 40104d: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp) 401054: 00 401055: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 40105c: 00 40105d: c7 04 24 00 00 00 00 movl $0x0,(%esp) 401064: e8 87 01 00 00 call 4011f0 <_cygwin_premain2> 401069: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp) 401070: 00 401071: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 401078: 00 401079: c7 04 24 00 00 00 00 movl $0x0,(%esp) 401080: e8 7b 01 00 00 call 401200 <_cygwin_premain3> 401085: c9 leave 401086: c3 ret 401087: 90 nop 401088: 90 nop 401089: 90 nop 40108a: 90 nop 40108b: 90 nop 40108c: 90 nop 40108d: 90 nop 40108e: 90 nop 40108f: 90 nop 00401090 <___gcc_register_frame>: 401090: 55 push %ebp 401091: 89 e5 mov %esp,%ebp 401093: 83 ec 18 sub $0x18,%esp 401096: c7 04 24 20 20 40 00 movl $0x402020,(%esp) 40109d: e8 56 06 00 00 call 4016f8 <_GetModuleHandleA@4> 4010a2: 89 c2 mov %eax,%edx 4010a4: 83 ec 04 sub $0x4,%esp 4010a7: 85 d2 test %edx,%edx 4010a9: b8 00 00 00 00 mov $0x0,%eax 4010ae: 74 13 je 4010c3 <___gcc_register_frame+0x33> 4010b0: c7 44 24 04 2f 20 40 movl $0x40202f,0x4(%esp) 4010b7: 00 4010b8: 89 14 24 mov %edx,(%esp) 4010bb: e8 40 06 00 00 call 401700 <_GetProcAddress@8> 4010c0: 83 ec 08 sub $0x8,%esp 4010c3: 85 c0 test %eax,%eax 4010c5: 74 11 je 4010d8 <___gcc_register_frame+0x48> 4010c7: c7 44 24 04 00 40 40 movl $0x404000,0x4(%esp) 4010ce: 00 4010cf: c7 04 24 00 30 40 00 movl $0x403000,(%esp) 4010d6: ff d0 call *%eax 4010d8: a1 b0 20 40 00 mov 0x4020b0,%eax 4010dd: 85 c0 test %eax,%eax 4010df: 74 3a je 40111b <___gcc_register_frame+0x8b> 4010e1: c7 04 24 45 20 40 00 movl $0x402045,(%esp) 4010e8: e8 0b 06 00 00 call 4016f8 <_GetModuleHandleA@4> 4010ed: 89 c2 mov %eax,%edx 4010ef: 83 ec 04 sub $0x4,%esp 4010f2: 85 d2 test %edx,%edx 4010f4: b8 00 00 00 00 mov $0x0,%eax 4010f9: 74 13 je 40110e <___gcc_register_frame+0x7e> 4010fb: c7 44 24 04 53 20 40 movl $0x402053,0x4(%esp) 401102: 00 401103: 89 14 24 mov %edx,(%esp) 401106: e8 f5 05 00 00 call 401700 <_GetProcAddress@8> 40110b: 83 ec 08 sub $0x8,%esp 40110e: 85 c0 test %eax,%eax 401110: 74 09 je 40111b <___gcc_register_frame+0x8b> 401112: c7 04 24 b0 20 40 00 movl $0x4020b0,(%esp) 401119: ff d0 call *%eax 40111b: c9 leave 40111c: c3 ret 40111d: 8d 76 00 lea 0x0(%esi),%esi 00401120 <___gcc_deregister_frame>: 401120: 55 push %ebp 401121: 89 e5 mov %esp,%ebp 401123: 83 ec 18 sub $0x18,%esp 401126: c7 04 24 20 20 40 00 movl $0x402020,(%esp) 40112d: e8 c6 05 00 00 call 4016f8 <_GetModuleHandleA@4> 401132: 89 c2 mov %eax,%edx 401134: 83 ec 04 sub $0x4,%esp 401137: 85 d2 test %edx,%edx 401139: b8 00 00 00 00 mov $0x0,%eax 40113e: 74 13 je 401153 <___gcc_deregister_frame+0x33> 401140: c7 44 24 04 67 20 40 movl $0x402067,0x4(%esp) 401147: 00 401148: 89 14 24 mov %edx,(%esp) 40114b: e8 b0 05 00 00 call 401700 <_GetProcAddress@8> 401150: 83 ec 08 sub $0x8,%esp 401153: 85 c0 test %eax,%eax 401155: 74 09 je 401160 <___gcc_deregister_frame+0x40> 401157: c7 04 24 00 30 40 00 movl $0x403000,(%esp) 40115e: ff d0 call *%eax 401160: c9 leave 401161: c3 ret 401162: 90 nop 401163: 90 nop 401164: 90 nop 401165: 90 nop 401166: 90 nop 401167: 90 nop 401168: 90 nop 401169: 90 nop 40116a: 90 nop 40116b: 90 nop 40116c: 90 nop 40116d: 90 nop 40116e: 90 nop 40116f: 90 nop 00401170 <_main>: 401170: 55 push %ebp 401171: 89 e5 mov %esp,%ebp 401173: 83 e4 f0 and $0xfffffff0,%esp 401176: 83 ec 10 sub $0x10,%esp 401179: e8 92 00 00 00 call 401210 <___main> 40117e: c7 04 24 80 20 40 00 movl $0x402080,(%esp) 401185: e8 8e 00 00 00 call 401218 <_puts> 40118a: b8 00 00 00 00 mov $0x0,%eax 40118f: c9 leave 401190: c3 ret 401191: 90 nop 401192: 90 nop 401193: 90 nop 401194: 66 90 xchg %ax,%ax 401196: 66 90 xchg %ax,%ax 401198: 66 90 xchg %ax,%ax 40119a: 66 90 xchg %ax,%ax 40119c: 66 90 xchg %ax,%ax 40119e: 66 90 xchg %ax,%ax 004011a0 <_cygwin_crt0>: 4011a0: 55 push %ebp 4011a1: 89 e5 mov %esp,%ebp 4011a3: 83 ec 18 sub $0x18,%esp 4011a6: 8b 45 08 mov 0x8(%ebp),%eax 4011a9: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 4011b0: 00 4011b1: 89 04 24 mov %eax,(%esp) 4011b4: e8 67 00 00 00 call 401220 <__cygwin_crt0_common@8> 4011b9: 83 ec 08 sub $0x8,%esp 4011bc: ff 15 7c 50 40 00 call *0x40507c 4011c2: 90 nop 4011c3: 90 nop 4011c4: 90 nop 4011c5: 90 nop 4011c6: 90 nop 4011c7: 90 nop 4011c8: 90 nop 4011c9: 90 nop 4011ca: 90 nop 4011cb: 90 nop 4011cc: 90 nop 4011cd: 90 nop 4011ce: 90 nop 4011cf: 90 nop 004011d0 <_cygwin_premain0>: 4011d0: 55 push %ebp 4011d1: 89 e5 mov %esp,%ebp 4011d3: 5d pop %ebp 4011d4: c3 ret 4011d5: 90 nop 4011d6: 90 nop 4011d7: 90 nop 4011d8: 90 nop 4011d9: 90 nop 4011da: 90 nop 4011db: 90 nop 4011dc: 90 nop 4011dd: 90 nop 4011de: 90 nop 4011df: 90 nop 004011e0 <_cygwin_premain1>: 4011e0: 55 push %ebp 4011e1: 89 e5 mov %esp,%ebp 4011e3: 5d pop %ebp 4011e4: c3 ret 4011e5: 90 nop 4011e6: 90 nop 4011e7: 90 nop 4011e8: 90 nop 4011e9: 90 nop 4011ea: 90 nop 4011eb: 90 nop 4011ec: 90 nop 4011ed: 90 nop 4011ee: 90 nop 4011ef: 90 nop 004011f0 <_cygwin_premain2>: 4011f0: 55 push %ebp 4011f1: 89 e5 mov %esp,%ebp 4011f3: 5d pop %ebp 4011f4: c3 ret 4011f5: 90 nop 4011f6: 90 nop 4011f7: 90 nop 4011f8: 90 nop 4011f9: 90 nop 4011fa: 90 nop 4011fb: 90 nop 4011fc: 90 nop 4011fd: 90 nop 4011fe: 90 nop 4011ff: 90 nop 00401200 <_cygwin_premain3>: 401200: 55 push %ebp 401201: 89 e5 mov %esp,%ebp 401203: 5d pop %ebp 401204: c3 ret 401205: 90 nop 401206: 90 nop 401207: 90 nop 401208: 90 nop 401209: 90 nop 40120a: 90 nop 40120b: 90 nop 40120c: 90 nop 40120d: 90 nop 40120e: 90 nop 40120f: 90 nop 00401210 <___main>: 401210: ff 25 78 50 40 00 jmp *0x405078 401216: 90 nop 401217: 90 nop 00401218 <_puts>: 401218: ff 25 9c 50 40 00 jmp *0x40509c 40121e: 90 nop 40121f: 90 nop 00401220 <__cygwin_crt0_common@8>: 401220: 55 push %ebp 401221: 89 e5 mov %esp,%ebp 401223: 56 push %esi 401224: 53 push %ebx 401225: 83 ec 10 sub $0x10,%esp 401228: 8b 5d 0c mov 0xc(%ebp),%ebx 40122b: 8b 75 08 mov 0x8(%ebp),%esi 40122e: c7 04 24 08 00 00 00 movl $0x8,(%esp) 401235: e8 36 04 00 00 call 401670 <_cygwin_internal> 40123a: 85 db test %ebx,%ebx 40123c: 0f 84 be 01 00 00 je 401400 <__cygwin_crt0_common@8+0x1e0> 401242: 8b 15 80 50 40 00 mov 0x405080,%edx 401248: 85 c0 test %eax,%eax 40124a: c7 43 04 a8 00 00 00 movl $0xa8,0x4(%ebx) 401251: c7 43 08 ef 03 00 00 movl $0x3ef,0x8(%ebx) 401258: c7 43 0c 0f 00 00 00 movl $0xf,0xc(%ebx) 40125f: 89 53 10 mov %edx,0x10(%ebx) 401262: 8b 55 00 mov 0x0(%ebp),%edx 401265: c7 83 80 00 00 00 00 movl $0x0,0x80(%ebx) 40126c: 00 00 00 40126f: c7 83 84 00 00 00 04 movl $0x104,0x84(%ebx) 401276: 01 00 00 401279: c7 43 2c 30 17 40 00 movl $0x401730,0x2c(%ebx) 401280: c7 43 30 3c 17 40 00 movl $0x40173c,0x30(%ebx) 401287: c7 43 14 18 40 40 00 movl $0x404018,0x14(%ebx) 40128e: 89 73 28 mov %esi,0x28(%ebx) 401291: c7 43 48 d0 11 40 00 movl $0x4011d0,0x48(%ebx) 401298: c7 43 4c e0 11 40 00 movl $0x4011e0,0x4c(%ebx) 40129f: c7 43 50 f0 11 40 00 movl $0x4011f0,0x50(%ebx) 4012a6: c7 43 54 00 12 40 00 movl $0x401200,0x54(%ebx) 4012ad: c7 43 24 1c 40 40 00 movl $0x40401c,0x24(%ebx) 4012b4: 89 13 mov %edx,(%ebx) 4012b6: c7 43 18 50 16 40 00 movl $0x401650,0x18(%ebx) 4012bd: c7 43 1c 58 16 40 00 movl $0x401658,0x1c(%ebx) 4012c4: c7 43 20 60 16 40 00 movl $0x401660,0x20(%ebx) 4012cb: c7 43 44 68 16 40 00 movl $0x401668,0x44(%ebx) 4012d2: 0f 84 c5 00 00 00 je 40139d <__cygwin_crt0_common@8+0x17d> 4012d8: 8b 50 78 mov 0x78(%eax),%edx 4012db: 85 d2 test %edx,%edx 4012dd: 0f 84 ba 00 00 00 je 40139d <__cygwin_crt0_common@8+0x17d> 4012e3: 8b 35 20 40 40 00 mov 0x404020,%esi 4012e9: 85 f6 test %esi,%esi 4012eb: 0f 85 ac 00 00 00 jne 40139d <__cygwin_crt0_common@8+0x17d> 4012f1: 8b 0d 00 20 40 00 mov 0x402000,%ecx 4012f7: 85 c9 test %ecx,%ecx 4012f9: 0f 84 21 02 00 00 je 401520 <__cygwin_crt0_common@8+0x300> 4012ff: a1 04 20 40 00 mov 0x402004,%eax 401304: 85 c0 test %eax,%eax 401306: 0f 84 04 02 00 00 je 401510 <__cygwin_crt0_common@8+0x2f0> 40130c: 8b 35 08 20 40 00 mov 0x402008,%esi 401312: 85 f6 test %esi,%esi 401314: 0f 84 e6 01 00 00 je 401500 <__cygwin_crt0_common@8+0x2e0> 40131a: 8b 0d 0c 20 40 00 mov 0x40200c,%ecx 401320: 85 c9 test %ecx,%ecx 401322: 0f 84 c8 01 00 00 je 4014f0 <__cygwin_crt0_common@8+0x2d0> 401328: a1 10 20 40 00 mov 0x402010,%eax 40132d: 85 c0 test %eax,%eax 40132f: 0f 84 ab 01 00 00 je 4014e0 <__cygwin_crt0_common@8+0x2c0> 401335: 8b 35 14 20 40 00 mov 0x402014,%esi 40133b: 85 f6 test %esi,%esi 40133d: 0f 84 8d 01 00 00 je 4014d0 <__cygwin_crt0_common@8+0x2b0> 401343: 8b 0d 18 20 40 00 mov 0x402018,%ecx 401349: 85 c9 test %ecx,%ecx 40134b: 0f 84 6f 01 00 00 je 4014c0 <__cygwin_crt0_common@8+0x2a0> 401351: a1 1c 20 40 00 mov 0x40201c,%eax 401356: 85 c0 test %eax,%eax 401358: 0f 84 52 01 00 00 je 4014b0 <__cygwin_crt0_common@8+0x290> 40135e: a1 00 20 40 00 mov 0x402000,%eax 401363: 89 02 mov %eax,(%edx) 401365: a1 04 20 40 00 mov 0x402004,%eax 40136a: 89 42 04 mov %eax,0x4(%edx) 40136d: a1 08 20 40 00 mov 0x402008,%eax 401372: 89 42 08 mov %eax,0x8(%edx) 401375: a1 0c 20 40 00 mov 0x40200c,%eax 40137a: 89 42 0c mov %eax,0xc(%edx) 40137d: a1 10 20 40 00 mov 0x402010,%eax 401382: 89 42 10 mov %eax,0x10(%edx) 401385: a1 14 20 40 00 mov 0x402014,%eax 40138a: 89 42 14 mov %eax,0x14(%edx) 40138d: a1 18 20 40 00 mov 0x402018,%eax 401392: 89 42 18 mov %eax,0x18(%edx) 401395: a1 1c 20 40 00 mov 0x40201c,%eax 40139a: 89 42 1c mov %eax,0x1c(%edx) 40139d: c7 04 24 00 00 00 00 movl $0x0,(%esp) 4013a4: e8 4f 03 00 00 call 4016f8 <_GetModuleHandleA@4> 4013a9: c7 43 34 00 20 40 00 movl $0x402000,0x34(%ebx) 4013b0: c7 43 38 b4 20 40 00 movl $0x4020b4,0x38(%ebx) 4013b7: c7 43 3c 00 40 40 00 movl $0x404000,0x3c(%ebx) 4013be: c7 43 40 10 41 40 00 movl $0x404110,0x40(%ebx) 4013c5: c7 83 94 00 00 00 00 movl $0x403000,0x94(%ebx) 4013cc: 30 40 00 4013cf: 89 43 7c mov %eax,0x7c(%ebx) 4013d2: 83 ec 04 sub $0x4,%esp 4013d5: c7 83 98 00 00 00 00 movl $0x403000,0x98(%ebx) 4013dc: 30 40 00 4013df: c7 83 9c 00 00 00 00 movl $0x400000,0x9c(%ebx) 4013e6: 00 40 00 4013e9: e8 92 02 00 00 call 401680 <__pei386_runtime_relocator> 4013ee: 8d 65 f8 lea -0x8(%ebp),%esp 4013f1: b8 01 00 00 00 mov $0x1,%eax 4013f6: 5b pop %ebx 4013f7: 5e pop %esi 4013f8: 5d pop %ebp 4013f9: c2 08 00 ret $0x8 4013fc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi 401400: 8b 15 80 50 40 00 mov 0x405080,%edx 401406: 85 c0 test %eax,%eax 401408: 8b 88 a4 00 00 00 mov 0xa4(%eax),%ecx 40140e: c7 40 04 a8 00 00 00 movl $0xa8,0x4(%eax) 401415: c7 40 08 ef 03 00 00 movl $0x3ef,0x8(%eax) 40141c: c7 40 0c 0f 00 00 00 movl $0xf,0xc(%eax) 401423: 89 0a mov %ecx,(%edx) 401425: 8b 55 00 mov 0x0(%ebp),%edx 401428: c7 80 80 00 00 00 00 movl $0x0,0x80(%eax) 40142f: 00 00 00 401432: c7 80 84 00 00 00 04 movl $0x104,0x84(%eax) 401439: 01 00 00 40143c: c7 40 2c 30 17 40 00 movl $0x401730,0x2c(%eax) 401443: c7 40 30 3c 17 40 00 movl $0x40173c,0x30(%eax) 40144a: c7 40 14 18 40 40 00 movl $0x404018,0x14(%eax) 401451: 89 70 28 mov %esi,0x28(%eax) 401454: c7 40 48 d0 11 40 00 movl $0x4011d0,0x48(%eax) 40145b: c7 40 4c e0 11 40 00 movl $0x4011e0,0x4c(%eax) 401462: c7 40 50 f0 11 40 00 movl $0x4011f0,0x50(%eax) 401469: c7 40 54 00 12 40 00 movl $0x401200,0x54(%eax) 401470: c7 40 24 1c 40 40 00 movl $0x40401c,0x24(%eax) 401477: 89 10 mov %edx,(%eax) 401479: c7 40 18 50 16 40 00 movl $0x401650,0x18(%eax) 401480: c7 40 1c 58 16 40 00 movl $0x401658,0x1c(%eax) 401487: c7 40 20 60 16 40 00 movl $0x401660,0x20(%eax) 40148e: c7 40 44 68 16 40 00 movl $0x401668,0x44(%eax) 401495: 0f 84 02 ff ff ff je 40139d <__cygwin_crt0_common@8+0x17d> 40149b: 8b 50 78 mov 0x78(%eax),%edx 40149e: 89 c3 mov %eax,%ebx 4014a0: 85 d2 test %edx,%edx 4014a2: 0f 85 3b fe ff ff jne 4012e3 <__cygwin_crt0_common@8+0xc3> 4014a8: e9 f0 fe ff ff jmp 40139d <__cygwin_crt0_common@8+0x17d> 4014ad: 8d 76 00 lea 0x0(%esi),%esi 4014b0: 8b 42 1c mov 0x1c(%edx),%eax 4014b3: a3 1c 20 40 00 mov %eax,0x40201c 4014b8: e9 a1 fe ff ff jmp 40135e <__cygwin_crt0_common@8+0x13e> 4014bd: 8d 76 00 lea 0x0(%esi),%esi 4014c0: 8b 42 18 mov 0x18(%edx),%eax 4014c3: a3 18 20 40 00 mov %eax,0x402018 4014c8: e9 84 fe ff ff jmp 401351 <__cygwin_crt0_common@8+0x131> 4014cd: 8d 76 00 lea 0x0(%esi),%esi 4014d0: 8b 42 14 mov 0x14(%edx),%eax 4014d3: a3 14 20 40 00 mov %eax,0x402014 4014d8: e9 66 fe ff ff jmp 401343 <__cygwin_crt0_common@8+0x123> 4014dd: 8d 76 00 lea 0x0(%esi),%esi 4014e0: 8b 42 10 mov 0x10(%edx),%eax 4014e3: a3 10 20 40 00 mov %eax,0x402010 4014e8: e9 48 fe ff ff jmp 401335 <__cygwin_crt0_common@8+0x115> 4014ed: 8d 76 00 lea 0x0(%esi),%esi 4014f0: 8b 42 0c mov 0xc(%edx),%eax 4014f3: a3 0c 20 40 00 mov %eax,0x40200c 4014f8: e9 2b fe ff ff jmp 401328 <__cygwin_crt0_common@8+0x108> 4014fd: 8d 76 00 lea 0x0(%esi),%esi 401500: 8b 42 08 mov 0x8(%edx),%eax 401503: a3 08 20 40 00 mov %eax,0x402008 401508: e9 0d fe ff ff jmp 40131a <__cygwin_crt0_common@8+0xfa> 40150d: 8d 76 00 lea 0x0(%esi),%esi 401510: 8b 42 04 mov 0x4(%edx),%eax 401513: a3 04 20 40 00 mov %eax,0x402004 401518: e9 ef fd ff ff jmp 40130c <__cygwin_crt0_common@8+0xec> 40151d: 8d 76 00 lea 0x0(%esi),%esi 401520: 8b 02 mov (%edx),%eax 401522: a3 00 20 40 00 mov %eax,0x402000 401527: e9 d3 fd ff ff jmp 4012ff <__cygwin_crt0_common@8+0xdf> 40152c: 90 nop 40152d: 90 nop 40152e: 90 nop 40152f: 90 nop 00401530 <___dllMain>: 401530: 55 push %ebp 401531: 89 e5 mov %esp,%ebp 401533: 83 ec 18 sub $0x18,%esp 401536: a1 2c 40 40 00 mov 0x40402c,%eax 40153b: 89 44 24 08 mov %eax,0x8(%esp) 40153f: a1 28 40 40 00 mov 0x404028,%eax 401544: 89 44 24 04 mov %eax,0x4(%esp) 401548: a1 24 40 40 00 mov 0x404024,%eax 40154d: 89 04 24 mov %eax,(%esp) 401550: e8 3b 01 00 00 call 401690 <_DllMain@12> 401555: 83 ec 0c sub $0xc,%esp 401558: c9 leave 401559: c3 ret 40155a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi 00401560 <__cygwin_dll_entry@12>: 401560: 55 push %ebp 401561: 89 e5 mov %esp,%ebp 401563: 83 ec 28 sub $0x28,%esp 401566: 8b 45 0c mov 0xc(%ebp),%eax 401569: 8b 55 08 mov 0x8(%ebp),%edx 40156c: 8b 4d 10 mov 0x10(%ebp),%ecx 40156f: 83 f8 01 cmp $0x1,%eax 401572: 74 6f je 4015e3 <__cygwin_dll_entry@12+0x83> 401574: 72 1a jb 401590 <__cygwin_dll_entry@12+0x30> 401576: 83 f8 02 cmp $0x2,%eax 401579: 0f 84 a8 00 00 00 je 401627 <__cygwin_dll_entry@12+0xc7> 40157f: 83 f8 03 cmp $0x3,%eax 401582: 74 4c je 4015d0 <__cygwin_dll_entry@12+0x70> 401584: b8 01 00 00 00 mov $0x1,%eax 401589: c9 leave 40158a: c2 0c 00 ret $0xc 40158d: 8d 76 00 lea 0x0(%esi),%esi 401590: 89 4c 24 08 mov %ecx,0x8(%esp) 401594: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp) 40159b: 00 40159c: 89 14 24 mov %edx,(%esp) 40159f: e8 ec 00 00 00 call 401690 <_DllMain@12> 4015a4: 83 ec 0c sub $0xc,%esp 4015a7: 85 c0 test %eax,%eax 4015a9: 74 de je 401589 <__cygwin_dll_entry@12+0x29> 4015ab: 8b 15 30 40 40 00 mov 0x404030,%edx 4015b1: 89 45 f4 mov %eax,-0xc(%ebp) 4015b4: 89 14 24 mov %edx,(%esp) 4015b7: e8 e4 00 00 00 call 4016a0 <_cygwin_detach_dll> 4015bc: 8b 45 f4 mov -0xc(%ebp),%eax 4015bf: c7 05 30 40 40 00 ff movl $0xffffffff,0x404030 4015c6: ff ff ff 4015c9: eb be jmp 401589 <__cygwin_dll_entry@12+0x29> 4015cb: 90 nop 4015cc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi 4015d0: 89 4d 10 mov %ecx,0x10(%ebp) 4015d3: c7 45 0c 03 00 00 00 movl $0x3,0xc(%ebp) 4015da: 89 55 08 mov %edx,0x8(%ebp) 4015dd: c9 leave 4015de: e9 ad 00 00 00 jmp 401690 <_DllMain@12> 4015e3: 31 c0 xor %eax,%eax 4015e5: 85 c9 test %ecx,%ecx 4015e7: 0f 94 c0 sete %al 4015ea: c7 44 24 04 30 15 40 movl $0x401530,0x4(%esp) 4015f1: 00 4015f2: 89 14 24 mov %edx,(%esp) 4015f5: 89 15 24 40 40 00 mov %edx,0x404024 4015fb: c7 05 28 40 40 00 01 movl $0x1,0x404028 401602: 00 00 00 401605: 89 0d 2c 40 40 00 mov %ecx,0x40402c 40160b: a3 20 40 40 00 mov %eax,0x404020 401610: e8 9b 00 00 00 call 4016b0 <_cygwin_attach_dll> 401615: 83 f8 ff cmp $0xffffffff,%eax 401618: a3 30 40 40 00 mov %eax,0x404030 40161d: 0f 95 c0 setne %al 401620: 0f b6 c0 movzbl %al,%eax 401623: c9 leave 401624: c2 0c 00 ret $0xc 401627: 89 4d 10 mov %ecx,0x10(%ebp) 40162a: c7 45 0c 02 00 00 00 movl $0x2,0xc(%ebp) 401631: 89 55 08 mov %edx,0x8(%ebp) 401634: c9 leave 401635: e9 56 00 00 00 jmp 401690 <_DllMain@12> 40163a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi 00401640 <__cygwin_noncygwin_dll_entry@12>: 401640: 55 push %ebp 401641: 89 e5 mov %esp,%ebp 401643: 83 ec 08 sub $0x8,%esp 401646: c9 leave 401647: e9 14 ff ff ff jmp 401560 <__cygwin_dll_entry@12> 40164c: 90 nop 40164d: 90 nop 40164e: 90 nop 40164f: 90 nop 00401650 <_malloc>: 401650: ff 25 98 50 40 00 jmp *0x405098 401656: 90 nop 401657: 90 nop 00401658 <_free>: 401658: ff 25 94 50 40 00 jmp *0x405094 40165e: 90 nop 40165f: 90 nop 00401660 <_realloc>: 401660: ff 25 a0 50 40 00 jmp *0x4050a0 401666: 90 nop 401667: 90 nop 00401668 <_calloc>: 401668: ff 25 84 50 40 00 jmp *0x405084 40166e: 90 nop 40166f: 90 nop 00401670 <_cygwin_internal>: 401670: ff 25 8c 50 40 00 jmp *0x40508c 401676: 90 nop 401677: 90 nop 401678: 66 90 xchg %ax,%ax 40167a: 66 90 xchg %ax,%ax 40167c: 66 90 xchg %ax,%ax 40167e: 66 90 xchg %ax,%ax 00401680 <__pei386_runtime_relocator>: 401680: 55 push %ebp 401681: 89 e5 mov %esp,%ebp 401683: 5d pop %ebp 401684: c3 ret 401685: 90 nop 401686: 90 nop 401687: 90 nop 401688: 90 nop 401689: 90 nop 40168a: 90 nop 40168b: 90 nop 40168c: 90 nop 40168d: 90 nop 40168e: 90 nop 40168f: 90 nop 00401690 <_DllMain@12>: 401690: 55 push %ebp 401691: b8 01 00 00 00 mov $0x1,%eax 401696: 89 e5 mov %esp,%ebp 401698: 5d pop %ebp 401699: c2 0c 00 ret $0xc 40169c: 90 nop 40169d: 90 nop 40169e: 90 nop 40169f: 90 nop 004016a0 <_cygwin_detach_dll>: 4016a0: ff 25 88 50 40 00 jmp *0x405088 4016a6: 90 nop 4016a7: 90 nop 4016a8: 66 90 xchg %ax,%ax 4016aa: 66 90 xchg %ax,%ax 4016ac: 66 90 xchg %ax,%ax 4016ae: 66 90 xchg %ax,%ax 004016b0 <_cygwin_attach_dll>: 4016b0: 55 push %ebp 4016b1: 89 e5 mov %esp,%ebp 4016b3: 53 push %ebx 4016b4: 83 ec 14 sub $0x14,%esp 4016b7: 8b 45 0c mov 0xc(%ebp),%eax 4016ba: 8b 5d 08 mov 0x8(%ebp),%ebx 4016bd: c7 44 24 04 40 40 40 movl $0x404040,0x4(%esp) 4016c4: 00 4016c5: 89 04 24 mov %eax,(%esp) 4016c8: e8 53 fb ff ff call 401220 <__cygwin_crt0_common@8> 4016cd: 89 5d 08 mov %ebx,0x8(%ebp) 4016d0: 8b 5d fc mov -0x4(%ebp),%ebx 4016d3: c7 45 0c 40 40 40 00 movl $0x404040,0xc(%ebp) 4016da: 83 ec 08 sub $0x8,%esp 4016dd: c9 leave 4016de: e9 0d 00 00 00 jmp 4016f0 <_dll_dllcrt0> 4016e3: 90 nop 4016e4: 90 nop 4016e5: 90 nop 4016e6: 90 nop 4016e7: 90 nop 4016e8: 90 nop 4016e9: 90 nop 4016ea: 90 nop 4016eb: 90 nop 4016ec: 90 nop 4016ed: 90 nop 4016ee: 90 nop 4016ef: 90 nop 004016f0 <_dll_dllcrt0>: 4016f0: ff 25 90 50 40 00 jmp *0x405090 4016f6: 90 nop 4016f7: 90 nop 004016f8 <_GetModuleHandleA@4>: 4016f8: ff 25 a8 50 40 00 jmp *0x4050a8 4016fe: 90 nop 4016ff: 90 nop 00401700 <_GetProcAddress@8>: 401700: ff 25 ac 50 40 00 jmp *0x4050ac 401706: 90 nop 401707: 90 nop 00401708 <.text>: 401708: 66 90 xchg %ax,%ax 40170a: 66 90 xchg %ax,%ax 40170c: 66 90 xchg %ax,%ax 40170e: 66 90 xchg %ax,%ax 00401710 <_register_frame_ctor>: 401710: 55 push %ebp 401711: 89 e5 mov %esp,%ebp 401713: 83 ec 08 sub $0x8,%esp 401716: c9 leave 401717: e9 74 f9 ff ff jmp 401090 <___gcc_register_frame> 40171c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi 00401720 <_deregister_frame_dtor>: 401720: 55 push %ebp 401721: 89 e5 mov %esp,%ebp 401723: 83 ec 08 sub $0x8,%esp 401726: c9 leave 401727: e9 f4 f9 ff ff jmp 401120 <___gcc_deregister_frame> 40172c: 90 nop 40172d: 90 nop 40172e: 90 nop 40172f: 90 nop 00401730 <__CTOR_LIST__>: 401730: ff (bad) 401731: ff (bad) 401732: ff (bad) 401733: ff 10 call *(%eax) 00401734 <.ctors.65535>: 401734: 10 17 adc %dl,(%edi) 401736: 40 inc %eax 401737: 00 00 add %al,(%eax) 401739: 00 00 add %al,(%eax) ... 0040173c <__DTOR_LIST__>: 40173c: ff (bad) 40173d: ff (bad) 40173e: ff (bad) 40173f: ff 20 jmp *(%eax) 00401740 <.dtors.65535>: 401740: 20 17 and %dl,(%edi) 401742: 40 inc %eax 401743: 00 00 add %al,(%eax) 401745: 00 00 add %al,(%eax) ...
('A`)
[ツッコミを入れる]