Understanding Function Call Stack
This writeup shows stack operations and behavior with a simple C Program, Assembly code and a dump of stack memory.
Contents:
C Code | Assembly Code |
---|---|
int main() { int a = 1; int b = 2; int c = 3; int d = 4; int e = 5; int f = 6; int g = 7; int h = 8; int ret = 0; ret = fun1(a, b, c, d, e, f, g, h); printf("output is %d", ret); } |
0000000000400868 |
int fun1 (int a, int b, int c, int d, int e, int f, int g, int h) { int val = 1; int res = 0; int ret = 0; ret = fun2(e, f, g, h); res = ret + a + b + c + d; res = res + val; return res; } |
00000000004007fa |
int fun2 (int e, int f, int g, int h) { int val = 2; int res = 0; int ret = 0; ret = fun3(g, h); res = ret + e + f; res = res + val; return res; } |
00000000004007a4 |
int fun3 (int g, int h) { int val = 3; int res = 0; res = g + h; res = res + val; return res; } |
0000000000400776 |
Comilation Command: gcc -O0 -g callstatck_observe.c -o prg
-O0 avoids optimization of code which makes assembly code more relatable to C Code.
Assembly code dumped with: objdump --disassemble-all prg
bp i.e. Base pointer points to the start of part of stack a function is going to use for its local variables or for placing arguments on stack before calling another function. While entering into a function, bp keeps base pointer of the caller function. So before making any changes, the value of bp is pushed on stack to keep bp of caller safe. This value is popped back into bp while returning from function.
400869: mov %rsp,%rbp
This stores value of stack pointer (sp) in bp. Now bp has address of top of the stack.
Later values on stack are accessed using it.
Later values on stack are accessed using it.
40086c: sub $0x30,%rspDepending on size of local variables, sp is reduced to reserve space for local variables. Because stack grows from higher memory to lower memory, local variables of called function are placed in lower memory compared to that of caller function.
400870: movl $0x1,-0x4(%rbp) 400877: movl $0x2,-0x8(%rbp) 40087e: movl $0x3,-0xc(%rbp) 400885: movl $0x4,-0x10(%rbp) 40088c: movl $0x5,-0x14(%rbp) 400893: movl $0x6,-0x18(%rbp) 40089a: movl $0x7,-0x1c(%rbp) 4008a1: movl $0x8,-0x20(%rbp) 4008a8: movl $0x0,-0x24(%rbp)
4008af: mov -0x18(%rbp),%r9d 4008b3: mov -0x14(%rbp),%r8d 4008b7: mov -0x10(%rbp),%ecx 4008ba: mov -0xc(%rbp),%edx 4008bd: mov -0x8(%rbp),%esi 4008c0: mov -0x4(%rbp),%eax 4008c3: mov -0x20(%rbp),%edi 4008c6: push %rdi 4008c7: mov -0x1c(%rbp),%edi 4008ca: push %rdi 4008cb: mov %eax,%edi
Before calling function, arguments to the function are stored on register in reverse order.
If there are many arguments some arguments will go on stack.
On some platforms arguments may be stored on stack only.
4008cd: callq 4007fa
Function is called. this includes pushing address of next instruction (4008d2) on stack and jumping to function code. At the time of entering the called function, address of next instruction is at top of stack.
$1 = (int *) 0x7fffffffe850
(gdb) x /40x 0x7fffffffe850
0x7fffffffe850: 0x0000000f
0x7fffffffe854: 0x00000003
0x7fffffffe858: 0xffffe888<-fun3
0x7fffffffe85c: 0x00007fff
0x7fffffffe860: 0x004007dc
0x7fffffffe864: 0x00000000
0x7fffffffe868: 0x00000008
0x7fffffffe86c: 0x00000007
0x7fffffffe870: 0x00000006
0x7fffffffe874: 0x00000005
0x7fffffffe878: 0x00000000
0x7fffffffe87c: 0x00000000
0x7fffffffe880: 0x00000000
0x7fffffffe884: 0x00000002
0x7fffffffe888: 0xffffe8c0 <-fun2
0x7fffffffe88c: 0x00007fff
0x7fffffffe890: 0x00400840
0x7fffffffe894: 0x00000000
0x7fffffffe898: 0x00000006
0x7fffffffe89c: 0x00000005
0x7fffffffe8a0: 0x00000004
0x7fffffffe8a4: 0x00000003
0x7fffffffe8a8: 0x00000002
0x7fffffffe8ac: 0x00000001
0x7fffffffe8b0: 0xffffe8f0
0x7fffffffe8b4: 0x00000000
0x7fffffffe8b8: 0x00000000
0x7fffffffe8bc: 0x00000001
0x7fffffffe8c0: 0xffffe910<-fun1
0x7fffffffe8c4: 0x00007fff
0x7fffffffe8c8: 0x004008d2
0x7fffffffe8cc: 0x00000000
0x7fffffffe8d0: 0x00000007
0x7fffffffe8d4: 0x00000000
0x7fffffffe8d8: 0x00000008
0x7fffffffe8dc: 0x00000000
0x7fffffffe8e0: 0xffffe910
0x7fffffffe8e4: 0x00007fff
0x7fffffffe8e8: 0x44bbddd3
0x7fffffffe8ec: 0x00000000
0x7fffffffe8f0: 0x00000008
0x7fffffffe8f0: 0x00000007
0x7fffffffe8f0: 0x00000006
0x7fffffffe8f0: 0x00000005
0x7fffffffe900: 0x00000004
0x7fffffffe904: 0x00000003
0x7fffffffe908: 0x00000002
0x7fffffffe90c: 0x00000001
0x7fffffffe910: 0xffffe950 <-main
0x7fffffffe914: 0x00007fff
0x7fffffffe918: 0x004005ef
0x7fffffffe91c: 0x00000000
0x7fffffffe920: 0x00400480
0x7fffffffe924: 0x00000000
0x7fffffffe928: 0x00000000
0x7fffffffe92c: 0x00000000
0x7fffffffe930: 0xffffe968
0x7fffffffe934: 0x00007fff
0x7fffffffe938: 0x00000000
0x7fffffffe93c: 0x00000000
0x7fffffffe940: 0x00000000
0x7fffffffe944: 0x00000000
0x7fffffffe948: 0x00000000
0x7fffffffe94c: 0x00000000
0x7fffffffe950: 0x00000000
0x7fffffffe954: 0x00000000
0x7fffffffe958: 0x44899000
0x7fffffffe95c: 0x00000000
0x7fffffffe960: 0x00000000
0x7fffffffe964: 0x00000000
0x7fffffffe968: 0x00000001
0x7fffffffe96c: 0x00000000
0x7fffffffe970: 0xffffebe8
0x7fffffffe974: 0x00007fff
0x7fffffffe978: 0x00000000
0x7fffffffe97c: 0x00000000
0x7fffffffe980: 0xffffec1c
0x7fffffffe984: 0x00007fff
0x7fffffffe988: 0xffffec56
0x7fffffffe98c: 0x00007fff
Arguments to be passed to Function
Local variables
Base Pointer
PC of Next Instruction
BP of Caller
Uninitialized Garbage
Arguments to this function
int fun3 (int g, int h)
{
int val = 3;
int res = 0;
res = g + h;
res = res + val;
return res;
}
int fun2 (int e, int f, int g, int h)
{
int val = 2;
int res = 0;
int ret = 0;
ret = fun3(g, h);
res = ret + e + f;
res = res + val;
return res;
}
int fun1 (int a, int b, int c, int d,
int e, int f, int g, int h)
{
int val = 1;
int res = 0;
int ret = 0;
ret = fun2(e, f, g, h);
res = ret + a + b + c + d;
res = res + val;
return res;
}
int main()
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int h = 8;
int ret = 0;
ret = fun1(a, b, c, d, e, f, g, h);
printf("output is %d", ret);
}
4008d2: add $0x10,%rspReset stack after function call, it's like removing arguments from stack after function call.
4008d6: mov %eax,-0x24(%rbp)eax has return value from the function which is getting stored in the local variable (ret).
4008ed: mov $0x0,%eaxBefore returning from Function, put return value in eax, which is 0 here.
4008f2: leaveqPuts back value of bp from stack for caller function.
4008f3: retqJump to the address on stack, to continue from the next instructin after this functino in caller.
Analyzign Stack Dump
Breakpoint 1, main () at callstatck_observe.c:48 48 int a = 1; (gdb) n 49 int b = 2; (gdb) 50 int c = 3; (gdb) info registers rax 0x600ad0 6294224 rbx 0x0 0 rcx 0x7fffffffe8f0 140737488349424 rdx 0x7fffffffe980 140737488349568 rsi 0x7fffffffe970 140737488349552 rdi 0x1 1 rbp 0x7fffffffe910 0x7fffffffe910 rsp 0x7fffffffe8e0 0x7fffffffe8e0 r8 0x0 0 r9 0x7fffffffd16f 140737488343407 r10 0x44a9aa60 1151969888 r11 0x246 582 r12 0x7fffffffe968 140737488349544 r13 0x7fffffffe980 140737488349568 r14 0x7fffffffe970 140737488349552 r15 0x1 1 rip 0x40087e 0x40087e(gdb) p &reseflags 0x202 [ IF ] cs 0x43 67 ss 0x3b 59 ds Continuing. Breakpoint 4, fun3 (g=7, h=8) at callstatck_observe.c:5 5 int val = 3; (gdb) n 6 int res = 0; (gdb) 8 res = g + h; (gdb) info registers rax 0x7 7 rbx 0x0 0 rcx 0x8 8 rdx 0x8 8 rsi 0x8 8 rdi 0x7 7 rbp 0x7fffffffe858 0x7fffffffe858 rsp 0x7fffffffe858 0x7fffffffe858 r8 0x5 5 r9 0x6 6 r10 0x44a9aa60 1151969888 r11 0x246 582 r12 0x7fffffffe968 140737488349544 r13 0x7fffffffe980 140737488349568 r14 0x7fffffffe970 140737488349552 r15 0x1 1 rip 0x40078e 0x40078ees fs gs (gdb) c Continuing. Breakpoint 2, fun1 (a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8) at callstatck_observe.c:34 34 int val = 1; (gdb) n 35 int res = 0; (gdb) 36 int ret = 0; (gdb) info registers rax 0x1 1 rbx 0x0 0 rcx 0x4 4 rdx 0x3 3 rsi 0x2 2 rdi 0x1 1 rbp 0x7fffffffe8c0 0x7fffffffe8c0 rsp 0x7fffffffe898 0x7fffffffe898 r8 0x5 5 r9 0x6 6 r10 0x44a9aa60 1151969888 r11 0x246 582 r12 0x7fffffffe968 140737488349544 r13 0x7fffffffe980 140737488349568 r14 0x7fffffffe970 140737488349552 r15 0x1 1 rip 0x400824 0x400824 eflags 0x212 [ AF IF ] cs 0x43 67 ss 0x3b 59 ds es fs gs (gdb) c Continuing. Breakpoint 3, fun2 (e=5, f=6, g=7, h=8) at callstatck_observe.c:17 17 int val = 2; (gdb) n 18 int res = 0; (gdb) 19 int ret = 0; (gdb) info registers rax 0x5 5 rbx 0x0 0 rcx 0x8 8 rdx 0x7 7 rsi 0x6 6 rdi 0x5 5 rbp 0x7fffffffe888 0x7fffffffe888 rsp 0x7fffffffe868 0x7fffffffe868 r8 0x5 5 r9 0x6 6 r10 0x44a9aa60 1151969888 r11 0x246 582 r12 0x7fffffffe968 140737488349544 r13 0x7fffffffe980 140737488349568 r14 0x7fffffffe970 140737488349552 r15 0x1 1 rip 0x4007c6 0x4007c6 eflags 0x202 [ IF ] cs 0x43 67 ss 0x3b 59 ds es fs gs (gdb) c eflags 0x202 [ IF ] cs 0x43 67 ss 0x3b 59 ds es fs gs (gdb) n 9 res = res + val;
$1 = (int *) 0x7fffffffe850
(gdb) x /40x 0x7fffffffe850
0x7fffffffe850: 0x0000000f
0x7fffffffe854: 0x00000003
0x7fffffffe858: 0xffffe888<-fun3
0x7fffffffe85c: 0x00007fff
0x7fffffffe860: 0x004007dc
0x7fffffffe864: 0x00000000
0x7fffffffe868: 0x00000008
0x7fffffffe86c: 0x00000007
0x7fffffffe870: 0x00000006
0x7fffffffe874: 0x00000005
0x7fffffffe878: 0x00000000
0x7fffffffe87c: 0x00000000
0x7fffffffe880: 0x00000000
0x7fffffffe884: 0x00000002
0x7fffffffe888: 0xffffe8c0 <-fun2
0x7fffffffe88c: 0x00007fff
0x7fffffffe890: 0x00400840
0x7fffffffe894: 0x00000000
0x7fffffffe898: 0x00000006
0x7fffffffe89c: 0x00000005
0x7fffffffe8a0: 0x00000004
0x7fffffffe8a4: 0x00000003
0x7fffffffe8a8: 0x00000002
0x7fffffffe8ac: 0x00000001
0x7fffffffe8b0: 0xffffe8f0
0x7fffffffe8b4: 0x00000000
0x7fffffffe8b8: 0x00000000
0x7fffffffe8bc: 0x00000001
0x7fffffffe8c0: 0xffffe910<-fun1
0x7fffffffe8c4: 0x00007fff
0x7fffffffe8c8: 0x004008d2
0x7fffffffe8cc: 0x00000000
0x7fffffffe8d0: 0x00000007
0x7fffffffe8d4: 0x00000000
0x7fffffffe8d8: 0x00000008
0x7fffffffe8dc: 0x00000000
0x7fffffffe8e0: 0xffffe910
0x7fffffffe8e4: 0x00007fff
0x7fffffffe8e8: 0x44bbddd3
0x7fffffffe8ec: 0x00000000
0x7fffffffe8f0: 0x00000008
0x7fffffffe8f0: 0x00000007
0x7fffffffe8f0: 0x00000006
0x7fffffffe8f0: 0x00000005
0x7fffffffe900: 0x00000004
0x7fffffffe904: 0x00000003
0x7fffffffe908: 0x00000002
0x7fffffffe90c: 0x00000001
0x7fffffffe910: 0xffffe950 <-main
0x7fffffffe914: 0x00007fff
0x7fffffffe918: 0x004005ef
0x7fffffffe91c: 0x00000000
0x7fffffffe920: 0x00400480
0x7fffffffe924: 0x00000000
0x7fffffffe928: 0x00000000
0x7fffffffe92c: 0x00000000
0x7fffffffe930: 0xffffe968
0x7fffffffe934: 0x00007fff
0x7fffffffe938: 0x00000000
0x7fffffffe93c: 0x00000000
0x7fffffffe940: 0x00000000
0x7fffffffe944: 0x00000000
0x7fffffffe948: 0x00000000
0x7fffffffe94c: 0x00000000
0x7fffffffe950: 0x00000000
0x7fffffffe954: 0x00000000
0x7fffffffe958: 0x44899000
0x7fffffffe95c: 0x00000000
0x7fffffffe960: 0x00000000
0x7fffffffe964: 0x00000000
0x7fffffffe968: 0x00000001
0x7fffffffe96c: 0x00000000
0x7fffffffe970: 0xffffebe8
0x7fffffffe974: 0x00007fff
0x7fffffffe978: 0x00000000
0x7fffffffe97c: 0x00000000
0x7fffffffe980: 0xffffec1c
0x7fffffffe984: 0x00007fff
0x7fffffffe988: 0xffffec56
0x7fffffffe98c: 0x00007fff
Arguments to be passed to Function
Local variables
Base Pointer
PC of Next Instruction
BP of Caller
Uninitialized Garbage
Arguments to this function
Full C Code
#include <stdio.h>int fun3 (int g, int h)
{
int val = 3;
int res = 0;
res = g + h;
res = res + val;
return res;
}
int fun2 (int e, int f, int g, int h)
{
int val = 2;
int res = 0;
int ret = 0;
ret = fun3(g, h);
res = ret + e + f;
res = res + val;
return res;
}
int fun1 (int a, int b, int c, int d,
int e, int f, int g, int h)
{
int val = 1;
int res = 0;
int ret = 0;
ret = fun2(e, f, g, h);
res = ret + a + b + c + d;
res = res + val;
return res;
}
int main()
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int h = 8;
int ret = 0;
ret = fun1(a, b, c, d, e, f, g, h);
printf("output is %d", ret);
}
Full Objdump:
bin: file format elf64-x86-64-freebsd Disassembly of section .interp: 0000000000400200 <.interp>: 400200: 2f (bad) 400201: 6c insb (%dx),%es:(%rdi) 400202: 69 62 65 78 65 63 2f imul $0x2f636578,0x65(%rdx),%esp 400209: 6c insb (%dx),%es:(%rdi) 40020a: 64 fs 40020b: 2d 65 6c 66 2e sub $0x2e666c65,%eax 400210: 73 6f jae 400281400212: 2e 31 00 xor %eax,%cs:(%rax) Disassembly of section .note.tag: 0000000000400218 : 400218: 08 00 or %al,(%rax) 40021a: 00 00 add %al,(%rax) 40021c: 04 00 add $0x0,%al 40021e: 00 00 add %al,(%rax) 400220: 01 00 add %eax,(%rax) 400222: 00 00 add %al,(%rax) 400224: 46 72 65 rex.RX jb 40028c 400227: 65 gs 400228: 42 53 rex.X push %rbx 40022a: 44 00 e0 add %r12b,%al 40022d: 51 push %rcx 40022e: 0f 00 08 str (%rax) 0000000000400230 : 400230: 08 00 or %al,(%rax) 400232: 00 00 add %al,(%rax) 400234: 04 00 add $0x0,%al 400236: 00 00 add %al,(%rax) 400238: 02 00 add (%rax),%al 40023a: 00 00 add %al,(%rax) 40023c: 46 72 65 rex.RX jb 4002a4 40023f: 65 gs 400240: 42 53 rex.X push %rbx 400242: 44 00 00 add %r8b,(%rax) 400245: 00 00 add %al,(%rax) ... Disassembly of section .hash: 0000000000400248 <.hash>: 400248: 03 00 add (%rax),%eax 40024a: 00 00 add %al,(%rax) 40024c: 08 00 or %al,(%rax) 40024e: 00 00 add %al,(%rax) 400250: 00 00 add %al,(%rax) 400252: 00 00 add %al,(%rax) 400254: 07 (bad) 400255: 00 00 add %al,(%rax) 400257: 00 06 add %al,(%rsi) ... 400265: 00 00 add %al,(%rax) 400267: 00 02 add %al,(%rdx) 400269: 00 00 add %al,(%rax) 40026b: 00 01 add %al,(%rcx) 40026d: 00 00 add %al,(%rax) 40026f: 00 04 00 add %al,(%rax,%rax,1) 400272: 00 00 add %al,(%rax) 400274: 03 00 add (%rax),%eax 400276: 00 00 add %al,(%rax) 400278: 05 .byte 0x5 400279: 00 00 add %al,(%rax) ... Disassembly of section .dynsym: 0000000000400280 <.dynsym>: ... 400298: 2f (bad) 400299: 00 00 add %al,(%rax) 40029b: 00 12 add %dl,(%rdx) ... 4002ad: 00 00 add %al,(%rax) 4002af: 00 16 add %dl,(%rsi) 4002b1: 00 00 add %al,(%rax) 4002b3: 00 11 add %dl,(%rcx) 4002b5: 00 16 add %dl,(%rsi) 4002b7: 00 88 0c 60 00 00 add %cl,0x600c(%rax) 4002bd: 00 00 add %al,(%rax) 4002bf: 00 08 add %cl,(%rax) 4002c1: 00 00 add %al,(%rax) 4002c3: 00 00 add %al,(%rax) 4002c5: 00 00 add %al,(%rax) 4002c7: 00 1e add %bl,(%rsi) 4002c9: 00 00 add %al,(%rax) 4002cb: 00 12 add %dl,(%rdx) ... 4002dd: 00 00 add %al,(%rax) 4002df: 00 36 add %dh,(%rsi) 4002e1: 00 00 add %al,(%rax) 4002e3: 00 10 add %dl,(%rax) 4002e5: 00 16 add %dl,(%rsi) 4002e7: 00 90 0c 60 00 00 add %dl,0x600c(%rax) ... 4002f5: 00 00 add %al,(%rax) 4002f7: 00 31 add %dh,(%rcx) 4002f9: 00 00 add %al,(%rax) 4002fb: 00 12 add %dl,(%rdx) ... 40030d: 00 00 add %al,(%rax) 40030f: 00 0b add %cl,(%rbx) 400311: 00 00 add %al,(%rax) 400313: 00 11 add %dl,(%rcx) 400315: 00 15 00 68 0c 60 add %dl,0x600c6800(%rip) # 604c6b1b <_end x5fec5e8b=""> 40031b: 00 00 add %al,(%rax) 40031d: 00 00 add %al,(%rax) 40031f: 00 08 add %cl,(%rax) 400321: 00 00 add %al,(%rax) 400323: 00 00 add %al,(%rax) 400325: 00 00 add %al,(%rax) 400327: 00 25 00 00 00 12 add %ah,0x12000000(%rip) # 1240032d <_end x11dff69d=""> ... Disassembly of section .dynstr: 0000000000400340 <.dynstr>: 400340: 00 6c 69 62 add %ch,0x62(%rcx,%rbp,2) 400344: 63 2e movslq (%rsi),%ebp 400346: 73 6f jae 4003b7 400348: 2e cs 400349: 37 (bad) 40034a: 00 5f 5f add %bl,0x5f(%rdi) 40034d: 70 72 jo 4003c1 40034f: 6f outsl %ds:(%rsi),(%dx) 400350: 67 6e addr32 outsb %ds:(%esi),(%dx) 400352: 61 (bad) 400353: 6d insl (%dx),%es:(%rdi) 400354: 65 00 65 6e add %ah,%gs:0x6e(%rbp) 400358: 76 69 jbe 4003c3 40035a: 72 6f jb 4003cb 40035c: 6e outsb %ds:(%rsi),(%dx) 40035d: 00 70 72 add %dh,0x72(%rax) 400360: 69 6e 74 66 00 5f 69 imul $0x695f0066,0x74(%rsi),%ebp 400367: 6e outsb %ds:(%rsi),(%dx) 400368: 69 74 5f 74 6c 73 00 imul $0x6100736c,0x74(%rdi,%rbx,2),%esi 40036f: 61 400370: 74 65 je 4003d7 400372: 78 69 js 4003dd 400374: 74 00 je 400376 400376: 5f pop %rdi 400377: 65 6e outsb %gs:(%rsi),(%dx) 400379: 64 00 46 42 add %al,%fs:0x42(%rsi) 40037d: 53 push %rbx 40037e: 44 5f rex.R pop %rdi 400380: 31 2e xor %ebp,(%rsi) 400382: 30 00 xor %al,(%rax) Disassembly of section .gnu.version: 0000000000400384 <.gnu.version>: 400384: 00 00 add %al,(%rax) 400386: 02 00 add (%rax),%al 400388: 01 00 add %eax,(%rax) 40038a: 02 00 add (%rax),%al 40038c: 01 00 add %eax,(%rax) 40038e: 02 00 add (%rax),%al 400390: 01 00 add %eax,(%rax) 400392: 02 00 add (%rax),%al Disassembly of section .gnu.version_r: 0000000000400398 <.gnu.version_r>: 400398: 01 00 add %eax,(%rax) 40039a: 01 00 add %eax,(%rax) 40039c: 01 00 add %eax,(%rax) 40039e: 00 00 add %al,(%rax) 4003a0: 10 00 adc %al,(%rax) 4003a2: 00 00 add %al,(%rax) 4003a4: 00 00 add %al,(%rax) 4003a6: 00 00 add %al,(%rax) 4003a8: b0 28 mov $0x28,%al 4003aa: 7a 07 jp 4003b3 4003ac: 00 00 add %al,(%rax) 4003ae: 02 00 add (%rax),%al 4003b0: 3b 00 cmp (%rax),%eax 4003b2: 00 00 add %al,(%rax) 4003b4: 00 00 add %al,(%rax) ... Disassembly of section .rela.plt: 00000000004003b8 <.rela.plt>: 4003b8: 48 0c 60 rex.W or $0x60,%al 4003bb: 00 00 add %al,(%rax) 4003bd: 00 00 add %al,(%rax) 4003bf: 00 07 add %al,(%rdi) 4003c1: 00 00 add %al,(%rax) 4003c3: 00 01 add %al,(%rcx) ... 4003cd: 00 00 add %al,(%rax) 4003cf: 00 50 0c add %dl,0xc(%rax) 4003d2: 60 (bad) 4003d3: 00 00 add %al,(%rax) 4003d5: 00 00 add %al,(%rax) 4003d7: 00 07 add %al,(%rdi) 4003d9: 00 00 add %al,(%rax) 4003db: 00 03 add %al,(%rbx) ... 4003e5: 00 00 add %al,(%rax) 4003e7: 00 58 0c add %bl,0xc(%rax) 4003ea: 60 (bad) 4003eb: 00 00 add %al,(%rax) 4003ed: 00 00 add %al,(%rax) 4003ef: 00 07 add %al,(%rdi) 4003f1: 00 00 add %al,(%rax) 4003f3: 00 05 00 00 00 00 add %al,0x0(%rip) # 4003f9 4003f9: 00 00 add %al,(%rax) 4003fb: 00 00 add %al,(%rax) 4003fd: 00 00 add %al,(%rax) 4003ff: 00 60 0c add %ah,0xc(%rax) 400402: 60 (bad) 400403: 00 00 add %al,(%rax) 400405: 00 00 add %al,(%rax) 400407: 00 07 add %al,(%rdi) 400409: 00 00 add %al,(%rax) 40040b: 00 07 add %al,(%rdi) ... Disassembly of section .init: 0000000000400418 <_init>: 400418: 48 83 ec 08 sub $0x8,%rsp 40041c: e8 2f 03 00 00 callq 400750 400421: e8 da 04 00 00 callq 400900 <__do_global_ctors_aux> 400426: 48 83 c4 08 add $0x8,%rsp 40042a: c3 retq Disassembly of section .plt: 0000000000400430 : 400430: ff 35 02 08 20 00 pushq 0x200802(%rip) # 600c38 <_global_offset_table_ x8=""> 400436: ff 25 04 08 20 00 jmpq *0x200804(%rip) # 600c40 <_global_offset_table_ x10=""> 40043c: 0f 1f 40 00 nopl 0x0(%rax) 0000000000400440 : 400440: ff 25 02 08 20 00 jmpq *0x200802(%rip) # 600c48 <_global_offset_table_ x18=""> 400446: 68 00 00 00 00 pushq $0x0 40044b: e9 e0 ff ff ff jmpq 400430 <_init x18=""> 0000000000400450 : 400450: ff 25 fa 07 20 00 jmpq *0x2007fa(%rip) # 600c50 <_global_offset_table_ x20=""> 400456: 68 01 00 00 00 pushq $0x1 40045b: e9 d0 ff ff ff jmpq 400430 <_init x18=""> 0000000000400460 : 400460: ff 25 f2 07 20 00 jmpq *0x2007f2(%rip) # 600c58 <_global_offset_table_ x28=""> 400466: 68 02 00 00 00 pushq $0x2 40046b: e9 c0 ff ff ff jmpq 400430 <_init x18=""> 0000000000400470 <_init_tls plt="">: 400470: ff 25 ea 07 20 00 jmpq *0x2007ea(%rip) # 600c60 <_global_offset_table_ x30=""> 400476: 68 03 00 00 00 pushq $0x3 40047b: e9 b0 ff ff ff jmpq 400430 <_init x18=""> Disassembly of section .text: 0000000000400480 <_start>: 400480: 55 push %rbp 400481: 48 89 e5 mov %rsp,%rbp 400484: 41 57 push %r15 400486: 41 56 push %r14 400488: 41 55 push %r13 40048a: 41 54 push %r12 40048c: 53 push %rbx 40048d: 50 push %rax 40048e: 49 89 fe mov %rdi,%r14 400491: 4d 8b 3e mov (%r14),%r15 400494: 49 63 c7 movslq %r15d,%rax 400497: 4d 8d 6c c6 10 lea 0x10(%r14,%rax,8),%r13 40049c: 48 83 3d e4 07 20 00 cmpq $0x0,0x2007e4(%rip) # 600c88 4004a3: 00 4004a4: 75 07 jne 4004ad <_start x2d=""> 4004a6: 4c 89 2d db 07 20 00 mov %r13,0x2007db(%rip) # 600c88 4004ad: 49 83 c6 08 add $0x8,%r14 4004b1: 45 85 ff test %r15d,%r15d 4004b4: 7e 25 jle 4004db <_start x5b=""> 4004b6: 49 8b 06 mov (%r14),%rax 4004b9: 48 85 c0 test %rax,%rax 4004bc: 75 05 jne 4004c3 <_start x43=""> 4004be: eb 1b jmp 4004db <_start x5b=""> 4004c0: 48 ff c0 inc %rax 4004c3: 48 89 05 9e 07 20 00 mov %rax,0x20079e(%rip) # 600c68 <__progname> 4004ca: eb 04 jmp 4004d0 <_start x50=""> 4004cc: 48 ff c0 inc %rax 4004cf: 90 nop 4004d0: 8a 08 mov (%rax),%cl 4004d2: 80 f9 2f cmp $0x2f,%cl 4004d5: 74 e9 je 4004c0 <_start x40=""> 4004d7: 84 c9 test %cl,%cl 4004d9: 75 f1 jne 4004cc <_start x4c=""> 4004db: b8 d0 0a 60 00 mov $0x600ad0,%eax 4004e0: 48 85 c0 test %rax,%rax 4004e3: 74 0a je 4004ef <_start x6f=""> 4004e5: 48 89 f7 mov %rsi,%rdi 4004e8: e8 53 ff ff ff callq 400440 4004ed: eb 05 jmp 4004f4 <_start x74=""> 4004ef: e8 7c ff ff ff callq 400470 <_init_tls plt=""> 4004f4: b8 d0 0a 60 00 mov $0x600ad0,%eax 4004f9: 48 85 c0 test %rax,%rax 4004fc: 0f 85 df 00 00 00 jne 4005e1 <_start x161=""> 400502: bf 00 06 40 00 mov $0x400600,%edi 400507: e8 34 ff ff ff callq 400440 40050c: 45 31 e4 xor %r12d,%r12d 40050f: b8 a4 0a 60 00 mov $0x600aa4,%eax 400514: b9 a4 0a 60 00 mov $0x600aa4,%ecx 400519: 48 29 c1 sub %rax,%rcx 40051c: 48 89 c8 mov %rcx,%rax 40051f: 48 c1 f8 3f sar $0x3f,%rax 400523: 48 c1 e8 3d shr $0x3d,%rax 400527: 48 01 c8 add %rcx,%rax 40052a: 48 c1 f8 03 sar $0x3,%rax 40052e: 74 41 je 400571 <_start xf1=""> 400530: b8 a4 0a 60 00 mov $0x600aa4,%eax 400535: b9 a4 0a 60 00 mov $0x600aa4,%ecx 40053a: 48 29 c1 sub %rax,%rcx 40053d: 48 89 cb mov %rcx,%rbx 400540: 48 c1 fb 3f sar $0x3f,%rbx 400544: 48 c1 eb 3d shr $0x3d,%rbx 400548: 48 01 cb add %rcx,%rbx 40054b: 48 c1 fb 03 sar $0x3,%rbx 40054f: 90 nop 400550: 4a 8b 04 e5 a4 0a 60 mov 0x600aa4(,%r12,8),%rax 400557: 00 400558: 48 83 f8 02 cmp $0x2,%rax 40055c: 72 0b jb 400569 <_start xe9=""> 40055e: 44 89 ff mov %r15d,%edi 400561: 4c 89 f6 mov %r14,%rsi 400564: 4c 89 ea mov %r13,%rdx 400567: ff d0 callq *%rax 400569: 49 ff c4 inc %r12 40056c: 49 39 dc cmp %rbx,%r12 40056f: 72 df jb 400550 <_start xd0=""> 400571: e8 a2 fe ff ff callq 400418 <_init> 400576: 31 db xor %ebx,%ebx 400578: b8 a4 0a 60 00 mov $0x600aa4,%eax 40057d: b9 a4 0a 60 00 mov $0x600aa4,%ecx 400582: 48 29 c1 sub %rax,%rcx 400585: 48 89 c8 mov %rcx,%rax 400588: 48 c1 f8 3f sar $0x3f,%rax 40058c: 48 c1 e8 3d shr $0x3d,%rax 400590: 48 01 c8 add %rcx,%rax 400593: 48 c1 f8 03 sar $0x3,%rax 400597: 74 48 je 4005e1 <_start x161=""> 400599: b8 a4 0a 60 00 mov $0x600aa4,%eax 40059e: b9 a4 0a 60 00 mov $0x600aa4,%ecx 4005a3: 48 29 c1 sub %rax,%rcx 4005a6: 49 89 cc mov %rcx,%r12 4005a9: 49 c1 fc 3f sar $0x3f,%r12 4005ad: 49 c1 ec 3d shr $0x3d,%r12 4005b1: 49 01 cc add %rcx,%r12 4005b4: 49 c1 fc 03 sar $0x3,%r12 4005b8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 4005bf: 00 4005c0: 48 8b 04 dd a4 0a 60 mov 0x600aa4(,%rbx,8),%rax 4005c7: 00 4005c8: 48 83 f8 02 cmp $0x2,%rax 4005cc: 72 0b jb 4005d9 <_start x159=""> 4005ce: 44 89 ff mov %r15d,%edi 4005d1: 4c 89 f6 mov %r14,%rsi 4005d4: 4c 89 ea mov %r13,%rdx 4005d7: ff d0 callq *%rax 4005d9: 48 ff c3 inc %rbx 4005dc: 4c 39 e3 cmp %r12,%rbx 4005df: 72 df jb 4005c0 <_start x140=""> 4005e1: 44 89 ff mov %r15d,%edi 4005e4: 4c 89 f6 mov %r14,%rsi 4005e7: 4c 89 ea mov %r13,%rdx 4005ea: e8 79 02 00 00 callq 400868 4005ef: 89 c7 mov %eax,%edi 4005f1: e8 6a fe ff ff callq 400460 4005f6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 4005fd: 00 00 00 0000000000400600 : 400600: 55 push %rbp 400601: 48 89 e5 mov %rsp,%rbp 400604: 53 push %rbx 400605: 50 push %rax 400606: b8 a4 0a 60 00 mov $0x600aa4,%eax 40060b: b9 a4 0a 60 00 mov $0x600aa4,%ecx 400610: 48 29 c1 sub %rax,%rcx 400613: 48 89 cb mov %rcx,%rbx 400616: 48 c1 fb 3f sar $0x3f,%rbx 40061a: 48 c1 eb 3d shr $0x3d,%rbx 40061e: 48 01 cb add %rcx,%rbx 400621: 48 c1 fb 03 sar $0x3,%rbx 400625: 74 21 je 400648 400627: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 40062e: 00 00 400630: 48 8b 04 dd 9c 0a 60 mov 0x600a9c(,%rbx,8),%rax 400637: 00 400638: 48 ff cb dec %rbx 40063b: 48 83 f8 01 cmp $0x1,%rax 40063f: 76 02 jbe 400643 400641: ff d0 callq *%rax 400643: 48 85 db test %rbx,%rbx 400646: 75 e8 jne 400630 400648: 48 83 c4 08 add $0x8,%rsp 40064c: 5b pop %rbx 40064d: 5d pop %rbp 40064e: e9 e5 02 00 00 jmpq 400938 <_fini> 400653: 90 nop 400654: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 40065b: 00 00 00 40065e: 66 90 xchg %ax,%ax 0000000000400660 : 400660: b8 7f 0c 60 00 mov $0x600c7f,%eax 400665: 55 push %rbp 400666: 48 2d 78 0c 60 00 sub $0x600c78,%rax 40066c: 48 83 f8 0e cmp $0xe,%rax 400670: 48 89 e5 mov %rsp,%rbp 400673: 76 1b jbe 400690 400675: b8 00 00 00 00 mov $0x0,%eax 40067a: 48 85 c0 test %rax,%rax 40067d: 74 11 je 400690 40067f: 5d pop %rbp 400680: bf 78 0c 60 00 mov $0x600c78,%edi 400685: ff e0 jmpq *%rax 400687: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 40068e: 00 00 400690: 5d pop %rbp 400691: c3 retq 400692: 0f 1f 40 00 nopl 0x0(%rax) 400696: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 40069d: 00 00 00 00000000004006a0 : 4006a0: be 78 0c 60 00 mov $0x600c78,%esi 4006a5: 55 push %rbp 4006a6: 48 81 ee 78 0c 60 00 sub $0x600c78,%rsi 4006ad: 48 c1 fe 03 sar $0x3,%rsi 4006b1: 48 89 e5 mov %rsp,%rbp 4006b4: 48 89 f0 mov %rsi,%rax 4006b7: 48 c1 e8 3f shr $0x3f,%rax 4006bb: 48 01 c6 add %rax,%rsi 4006be: 48 d1 fe sar %rsi 4006c1: 74 15 je 4006d8 4006c3: b8 00 00 00 00 mov $0x0,%eax 4006c8: 48 85 c0 test %rax,%rax 4006cb: 74 0b je 4006d8 4006cd: 5d pop %rbp 4006ce: bf 78 0c 60 00 mov $0x600c78,%edi 4006d3: ff e0 jmpq *%rax 4006d5: 0f 1f 00 nopl (%rax) 4006d8: 5d pop %rbp 4006d9: c3 retq 4006da: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 00000000004006e0 <__do_global_dtors_aux>: 4006e0: 80 3d 91 05 20 00 00 cmpb $0x0,0x200591(%rip) # 600c78 <__tmc_end__> 4006e7: 75 62 jne 40074b <__do_global_dtors_aux x6b=""> 4006e9: 55 push %rbp 4006ea: 48 8b 05 8f 05 20 00 mov 0x20058f(%rip),%rax # 600c80 4006f1: 48 89 e5 mov %rsp,%rbp 4006f4: 41 54 push %r12 4006f6: 53 push %rbx 4006f7: bb c0 0a 60 00 mov $0x600ac0,%ebx 4006fc: 41 bc b8 0a 60 00 mov $0x600ab8,%r12d 400702: 48 81 eb b8 0a 60 00 sub $0x600ab8,%rbx 400709: 48 c1 fb 03 sar $0x3,%rbx 40070d: 48 83 eb 01 sub $0x1,%rbx 400711: 48 39 d8 cmp %rbx,%rax 400714: 73 25 jae 40073b <__do_global_dtors_aux x5b=""> 400716: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 40071d: 00 00 00 400720: 48 83 c0 01 add $0x1,%rax 400724: 48 89 05 55 05 20 00 mov %rax,0x200555(%rip) # 600c80 40072b: 41 ff 14 c4 callq *(%r12,%rax,8) 40072f: 48 8b 05 4a 05 20 00 mov 0x20054a(%rip),%rax # 600c80 400736: 48 39 d8 cmp %rbx,%rax 400739: 72 e5 jb 400720 <__do_global_dtors_aux x40=""> 40073b: e8 20 ff ff ff callq 400660 400740: 5b pop %rbx 400741: 41 5c pop %r12 400743: 5d pop %rbp 400744: c6 05 2d 05 20 00 01 movb $0x1,0x20052d(%rip) # 600c78 <__tmc_end__> 40074b: f3 c3 repz retq 40074d: 0f 1f 00 nopl (%rax) 0000000000400750 : 400750: bf c8 0a 60 00 mov $0x600ac8,%edi 400755: 48 83 3f 00 cmpq $0x0,(%rdi) 400759: 75 05 jne 400760 40075b: e9 40 ff ff ff jmpq 4006a0 400760: b8 00 00 00 00 mov $0x0,%eax 400765: 48 85 c0 test %rax,%rax 400768: 74 f1 je 40075b 40076a: 55 push %rbp 40076b: 48 89 e5 mov %rsp,%rbp 40076e: ff d0 callq *%rax 400770: 5d pop %rbp 400771: e9 2a ff ff ff jmpq 4006a0 0000000000400776 : 400776: 55 push %rbp 400777: 48 89 e5 mov %rsp,%rbp 40077a: 89 7d ec mov %edi,-0x14(%rbp) 40077d: 89 75 e8 mov %esi,-0x18(%rbp) 400780: c7 45 fc 03 00 00 00 movl $0x3,-0x4(%rbp) 400787: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%rbp) 40078e: 8b 55 ec mov -0x14(%rbp),%edx 400791: 8b 45 e8 mov -0x18(%rbp),%eax 400794: 01 d0 add %edx,%eax 400796: 89 45 f8 mov %eax,-0x8(%rbp) 400799: 8b 45 fc mov -0x4(%rbp),%eax 40079c: 01 45 f8 add %eax,-0x8(%rbp) 40079f: 8b 45 f8 mov -0x8(%rbp),%eax 4007a2: 5d pop %rbp 4007a3: c3 retq 00000000004007a4 : 4007a4: 55 push %rbp 4007a5: 48 89 e5 mov %rsp,%rbp 4007a8: 48 83 ec 20 sub $0x20,%rsp 4007ac: 89 7d ec mov %edi,-0x14(%rbp) 4007af: 89 75 e8 mov %esi,-0x18(%rbp) 4007b2: 89 55 e4 mov %edx,-0x1c(%rbp) 4007b5: 89 4d e0 mov %ecx,-0x20(%rbp) 4007b8: c7 45 fc 02 00 00 00 movl $0x2,-0x4(%rbp) 4007bf: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%rbp) 4007c6: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp) 4007cd: 8b 55 e0 mov -0x20(%rbp),%edx 4007d0: 8b 45 e4 mov -0x1c(%rbp),%eax 4007d3: 89 d6 mov %edx,%esi 4007d5: 89 c7 mov %eax,%edi 4007d7: e8 9a ff ff ff callq 400776 4007dc: 89 45 f4 mov %eax,-0xc(%rbp) 4007df: 8b 55 f4 mov -0xc(%rbp),%edx 4007e2: 8b 45 ec mov -0x14(%rbp),%eax 4007e5: 01 c2 add %eax,%edx 4007e7: 8b 45 e8 mov -0x18(%rbp),%eax 4007ea: 01 d0 add %edx,%eax 4007ec: 89 45 f8 mov %eax,-0x8(%rbp) 4007ef: 8b 45 fc mov -0x4(%rbp),%eax 4007f2: 01 45 f8 add %eax,-0x8(%rbp) 4007f5: 8b 45 f8 mov -0x8(%rbp),%eax 4007f8: c9 leaveq 4007f9: c3 retq 00000000004007fa : 4007fa: 55 push %rbp 4007fb: 48 89 e5 mov %rsp,%rbp 4007fe: 48 83 ec 28 sub $0x28,%rsp 400802: 89 7d ec mov %edi,-0x14(%rbp) 400805: 89 75 e8 mov %esi,-0x18(%rbp) 400808: 89 55 e4 mov %edx,-0x1c(%rbp) 40080b: 89 4d e0 mov %ecx,-0x20(%rbp) 40080e: 44 89 45 dc mov %r8d,-0x24(%rbp) 400812: 44 89 4d d8 mov %r9d,-0x28(%rbp) 400816: c7 45 fc 01 00 00 00 movl $0x1,-0x4(%rbp) 40081d: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%rbp) 400824: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp) 40082b: 8b 55 18 mov 0x18(%rbp),%edx 40082e: 8b 75 d8 mov -0x28(%rbp),%esi 400831: 8b 45 dc mov -0x24(%rbp),%eax 400834: 89 d1 mov %edx,%ecx 400836: 8b 55 10 mov 0x10(%rbp),%edx 400839: 89 c7 mov %eax,%edi 40083b: e8 64 ff ff ff callq 4007a4 400840: 89 45 f4 mov %eax,-0xc(%rbp) 400843: 8b 55 f4 mov -0xc(%rbp),%edx 400846: 8b 45 ec mov -0x14(%rbp),%eax 400849: 01 c2 add %eax,%edx 40084b: 8b 45 e8 mov -0x18(%rbp),%eax 40084e: 01 c2 add %eax,%edx 400850: 8b 45 e4 mov -0x1c(%rbp),%eax 400853: 01 c2 add %eax,%edx 400855: 8b 45 e0 mov -0x20(%rbp),%eax 400858: 01 d0 add %edx,%eax 40085a: 89 45 f8 mov %eax,-0x8(%rbp) 40085d: 8b 45 fc mov -0x4(%rbp),%eax 400860: 01 45 f8 add %eax,-0x8(%rbp) 400863: 8b 45 f8 mov -0x8(%rbp),%eax 400866: c9 leaveq 400867: c3 retq 0000000000400868 : 400868: 55 push %rbp 400869: 48 89 e5 mov %rsp,%rbp 40086c: 48 83 ec 30 sub $0x30,%rsp 400870: c7 45 fc 01 00 00 00 movl $0x1,-0x4(%rbp) 400877: c7 45 f8 02 00 00 00 movl $0x2,-0x8(%rbp) 40087e: c7 45 f4 03 00 00 00 movl $0x3,-0xc(%rbp) 400885: c7 45 f0 04 00 00 00 movl $0x4,-0x10(%rbp) 40088c: c7 45 ec 05 00 00 00 movl $0x5,-0x14(%rbp) 400893: c7 45 e8 06 00 00 00 movl $0x6,-0x18(%rbp) 40089a: c7 45 e4 07 00 00 00 movl $0x7,-0x1c(%rbp) 4008a1: c7 45 e0 08 00 00 00 movl $0x8,-0x20(%rbp) 4008a8: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp) 4008af: 44 8b 4d e8 mov -0x18(%rbp),%r9d 4008b3: 44 8b 45 ec mov -0x14(%rbp),%r8d 4008b7: 8b 4d f0 mov -0x10(%rbp),%ecx 4008ba: 8b 55 f4 mov -0xc(%rbp),%edx 4008bd: 8b 75 f8 mov -0x8(%rbp),%esi 4008c0: 8b 45 fc mov -0x4(%rbp),%eax 4008c3: 8b 7d e0 mov -0x20(%rbp),%edi 4008c6: 57 push %rdi 4008c7: 8b 7d e4 mov -0x1c(%rbp),%edi 4008ca: 57 push %rdi 4008cb: 89 c7 mov %eax,%edi 4008cd: e8 28 ff ff ff callq 4007fa 4008d2: 48 83 c4 10 add $0x10,%rsp 4008d6: 89 45 dc mov %eax,-0x24(%rbp) 4008d9: 8b 45 dc mov -0x24(%rbp),%eax 4008dc: 89 c6 mov %eax,%esi 4008de: bf 47 09 40 00 mov $0x400947,%edi 4008e3: b8 00 00 00 00 mov $0x0,%eax 4008e8: e8 63 fb ff ff callq 400450 4008ed: b8 00 00 00 00 mov $0x0,%eax 4008f2: c9 leaveq 4008f3: c3 retq 4008f4: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 4008fb: 00 00 00 4008fe: 66 90 xchg %ax,%ax 0000000000400900 <__do_global_ctors_aux>: 400900: 48 8b 05 a1 01 20 00 mov 0x2001a1(%rip),%rax # 600aa8 <__ctor_list__> 400907: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40090b: 74 28 je 400935 <__do_global_ctors_aux x35=""> 40090d: 55 push %rbp 40090e: 48 89 e5 mov %rsp,%rbp 400911: 53 push %rbx 400912: bb a8 0a 60 00 mov $0x600aa8,%ebx 400917: 48 83 ec 08 sub $0x8,%rsp 40091b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 400920: 48 83 eb 08 sub $0x8,%rbx 400924: ff d0 callq *%rax 400926: 48 8b 03 mov (%rbx),%rax 400929: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 40092d: 75 f1 jne 400920 <__do_global_ctors_aux x20=""> 40092f: 48 83 c4 08 add $0x8,%rsp 400933: 5b pop %rbx 400934: 5d pop %rbp 400935: f3 c3 repz retq 400937: 90 nop Disassembly of section .fini: 0000000000400938 <_fini>: 400938: 48 83 ec 08 sub $0x8,%rsp 40093c: e8 9f fd ff ff callq 4006e0 <__do_global_dtors_aux> 400941: 48 83 c4 08 add $0x8,%rsp 400945: c3 retq Disassembly of section .rodata: 0000000000400946 <.rodata>: 400946: 00 6f 75 add %ch,0x75(%rdi) 400949: 74 70 je 4009bb <__gnu_eh_frame_hdr x67=""> 40094b: 75 74 jne 4009c1 <__gnu_eh_frame_hdr x6d=""> 40094d: 20 69 73 and %ch,0x73(%rcx) 400950: 20 .byte 0x20 400951: 25 .byte 0x25 400952: 64 fs ... Disassembly of section .eh_frame_hdr: 0000000000400954 <__gnu_eh_frame_hdr>: 400954: 01 1b add %ebx,(%rbx) 400956: 03 3b add (%rbx),%edi 400958: 40 00 00 add %al,(%rax) 40095b: 00 07 add %al,(%rdi) 40095d: 00 00 add %al,(%rax) 40095f: 00 dc add %bl,%ah 400961: fa cli 400962: ff (bad) 400963: ff a4 00 00 00 2c fb jmpq *-0x4d40000(%rax,%rax,1) 40096a: ff (bad) 40096b: ff 5c 00 00 lcallq *0x0(%rax,%rax,1) 40096f: 00 ac fc ff ff 84 00 add %ch,0x84ffff(%rsp,%rdi,8) 400976: 00 00 add %al,(%rax) 400978: 22 fe and %dh,%bh 40097a: ff (bad) 40097b: ff cc dec %esp 40097d: 00 00 add %al,(%rax) 40097f: 00 50 fe add %dl,-0x2(%rax) 400982: ff (bad) 400983: ff ec ljmpq * 400985: 00 00 add %al,(%rax) 400987: 00 a6 fe ff ff 0c add %ah,0xcfffffe(%rsi) 40098d: 01 00 add %eax,(%rax) 40098f: 00 14 ff add %dl,(%rdi,%rdi,8) 400992: ff (bad) 400993: ff 2c 01 ljmpq *(%rcx,%rax,1) ... Disassembly of section .eh_frame: 0000000000400998 <__frame_end__-0x108>: 400998: 14 00 adc $0x0,%al 40099a: 00 00 add %al,(%rax) 40099c: 00 00 add %al,(%rax) 40099e: 00 00 add %al,(%rax) 4009a0: 01 7a 52 add %edi,0x52(%rdx) 4009a3: 00 01 add %al,(%rcx) 4009a5: 78 10 js 4009b7 <__gnu_eh_frame_hdr x63=""> 4009a7: 01 1b add %ebx,(%rbx) 4009a9: 0c 07 or $0x7,%al 4009ab: 08 90 01 00 00 24 or %dl,0x24000001(%rax) 4009b1: 00 00 add %al,(%rax) 4009b3: 00 1c 00 add %bl,(%rax,%rax,1) 4009b6: 00 00 add %al,(%rax) 4009b8: c8 fa ff ff enterq $0xfffa,$0xff 4009bc: 76 01 jbe 4009bf <__gnu_eh_frame_hdr x6b=""> 4009be: 00 00 add %al,(%rax) 4009c0: 00 41 0e add %al,0xe(%rcx) 4009c3: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 4009c9: 4a 83 07 8c rex.WX addq $0xffffffffffffff8c,(%rdi) 4009cd: 06 (bad) 4009ce: 8d 05 8e 04 8f 03 lea 0x38f048e(%rip),%eax # 3cf0e62 <_end x36f01d2=""> 4009d4: 00 00 add %al,(%rax) 4009d6: 00 00 add %al,(%rax) 4009d8: 1c 00 sbb $0x0,%al 4009da: 00 00 add %al,(%rax) 4009dc: 44 00 00 add %r8b,(%rax) 4009df: 00 20 add %ah,(%rax) 4009e1: fc cld 4009e2: ff (bad) 4009e3: ff 53 00 callq *0x0(%rbx) 4009e6: 00 00 add %al,(%rax) 4009e8: 00 41 0e add %al,0xe(%rcx) 4009eb: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 4009f1: 42 83 03 00 rex.X addl $0x0,(%rbx) 4009f5: 00 00 add %al,(%rax) 4009f7: 00 24 00 add %ah,(%rax,%rax,1) 4009fa: 00 00 add %al,(%rax) 4009fc: 64 00 00 add %al,%fs:(%rax) 4009ff: 00 30 add %dh,(%rax) 400a01: fa cli 400a02: ff (bad) 400a03: ff 50 00 callq *0x0(%rax) 400a06: 00 00 add %al,(%rax) 400a08: 00 0e add %cl,(%rsi) 400a0a: 10 46 0e adc %al,0xe(%rsi) 400a0d: 18 4a 0f sbb %cl,0xf(%rdx) 400a10: 0b 77 08 or 0x8(%rdi),%esi 400a13: 80 00 3f addb $0x3f,(%rax) 400a16: 1a 3b sbb (%rbx),%bh 400a18: 2a 33 sub (%rbx),%dh 400a1a: 24 22 and $0x22,%al 400a1c: 00 00 add %al,(%rax) 400a1e: 00 00 add %al,(%rax) 400a20: 1c 00 sbb $0x0,%al 400a22: 00 00 add %al,(%rax) 400a24: 8c 00 mov %es,(%rax) 400a26: 00 00 add %al,(%rax) 400a28: 4e fd rex.WRX std 400a2a: ff (bad) 400a2b: ff 2e ljmpq *(%rsi) 400a2d: 00 00 add %al,(%rax) 400a2f: 00 00 add %al,(%rax) 400a31: 41 0e rex.B (bad) 400a33: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 400a39: 69 0c 07 08 00 00 00 imul $0x8,(%rdi,%rax,1),%ecx 400a40: 1c 00 sbb $0x0,%al 400a42: 00 00 add %al,(%rax) 400a44: ac lods %ds:(%rsi),%al 400a45: 00 00 add %al,(%rax) 400a47: 00 5c fd ff add %bl,-0x1(%rbp,%rdi,8) 400a4b: ff 56 00 callq *0x0(%rsi) 400a4e: 00 00 add %al,(%rax) 400a50: 00 41 0e add %al,0xe(%rcx) 400a53: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 400a59: 02 51 0c add 0xc(%rcx),%dl 400a5c: 07 (bad) 400a5d: 08 00 or %al,(%rax) 400a5f: 00 1c 00 add %bl,(%rax,%rax,1) 400a62: 00 00 add %al,(%rax) 400a64: cc int3 400a65: 00 00 add %al,(%rax) 400a67: 00 92 fd ff ff 6e add %dl,0x6efffffd(%rdx) 400a6d: 00 00 add %al,(%rax) 400a6f: 00 00 add %al,(%rax) 400a71: 41 0e rex.B (bad) 400a73: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 400a79: 02 69 0c add 0xc(%rcx),%ch 400a7c: 07 (bad) 400a7d: 08 00 or %al,(%rax) 400a7f: 00 1c 00 add %bl,(%rax,%rax,1) 400a82: 00 00 add %al,(%rax) 400a84: ec in (%dx),%al 400a85: 00 00 add %al,(%rax) 400a87: 00 e0 add %ah,%al 400a89: fd std 400a8a: ff (bad) 400a8b: ff 8c 00 00 00 00 41 decl 0x41000000(%rax,%rax,1) 400a92: 0e (bad) 400a93: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) 400a99: 02 87 0c 07 08 00 add 0x8070c(%rdi),%al ... 0000000000400aa0 <__frame_end__>: 400aa0: 00 00 add %al,(%rax) ... Disassembly of section .ctors: 0000000000600aa8 <__ctor_list__>: 600aa8: ff (bad) 600aa9: ff (bad) 600aaa: ff (bad) 600aab: ff (bad) 600aac: ff (bad) 600aad: ff (bad) 600aae: ff (bad) 600aaf: ff 00 incl (%rax) 0000000000600ab0 <__ctor_end__>: ... Disassembly of section .dtors: 0000000000600ab8 <__dtor_list__>: 600ab8: ff (bad) 600ab9: ff (bad) 600aba: ff (bad) 600abb: ff (bad) 600abc: ff (bad) 600abd: ff (bad) 600abe: ff (bad) 600abf: ff 00 incl (%rax) 0000000000600ac0 <__dtor_end__>: ... Disassembly of section .jcr: 0000000000600ac8 <__jcr_end__>: ... Disassembly of section .dynamic: 0000000000600ad0 <_dynamic>: 600ad0: 01 00 add %eax,(%rax) 600ad2: 00 00 add %al,(%rax) 600ad4: 00 00 add %al,(%rax) 600ad6: 00 00 add %al,(%rax) 600ad8: 01 00 add %eax,(%rax) 600ada: 00 00 add %al,(%rax) 600adc: 00 00 add %al,(%rax) 600ade: 00 00 add %al,(%rax) 600ae0: 0c 00 or $0x0,%al 600ae2: 00 00 add %al,(%rax) 600ae4: 00 00 add %al,(%rax) 600ae6: 00 00 add %al,(%rax) 600ae8: 18 04 40 sbb %al,(%rax,%rax,2) 600aeb: 00 00 add %al,(%rax) 600aed: 00 00 add %al,(%rax) 600aef: 00 0d 00 00 00 00 add %cl,0x0(%rip) # 600af5 <_dynamic x25=""> 600af5: 00 00 add %al,(%rax) 600af7: 00 38 add %bh,(%rax) 600af9: 09 40 00 or %eax,0x0(%rax) 600afc: 00 00 add %al,(%rax) 600afe: 00 00 add %al,(%rax) 600b00: 04 00 add $0x0,%al 600b02: 00 00 add %al,(%rax) 600b04: 00 00 add %al,(%rax) 600b06: 00 00 add %al,(%rax) 600b08: 48 02 40 00 rex.W add 0x0(%rax),%al 600b0c: 00 00 add %al,(%rax) 600b0e: 00 00 add %al,(%rax) 600b10: 05 00 00 00 00 add $0x0,%eax 600b15: 00 00 add %al,(%rax) 600b17: 00 40 03 add %al,0x3(%rax) 600b1a: 40 00 00 add %al,(%rax) 600b1d: 00 00 add %al,(%rax) 600b1f: 00 06 add %al,(%rsi) 600b21: 00 00 add %al,(%rax) 600b23: 00 00 add %al,(%rax) 600b25: 00 00 add %al,(%rax) 600b27: 00 80 02 40 00 00 add %al,0x4002(%rax) 600b2d: 00 00 add %al,(%rax) 600b2f: 00 0a add %cl,(%rdx) 600b31: 00 00 add %al,(%rax) 600b33: 00 00 add %al,(%rax) 600b35: 00 00 add %al,(%rax) 600b37: 00 44 00 00 add %al,0x0(%rax,%rax,1) 600b3b: 00 00 add %al,(%rax) 600b3d: 00 00 add %al,(%rax) 600b3f: 00 0b add %cl,(%rbx) 600b41: 00 00 add %al,(%rax) 600b43: 00 00 add %al,(%rax) 600b45: 00 00 add %al,(%rax) 600b47: 00 18 add %bl,(%rax) 600b49: 00 00 add %al,(%rax) 600b4b: 00 00 add %al,(%rax) 600b4d: 00 00 add %al,(%rax) 600b4f: 00 15 00 00 00 00 add %dl,0x0(%rip) # 600b55 <_dynamic x85=""> ... 600b5d: 00 00 add %al,(%rax) 600b5f: 00 03 add %al,(%rbx) 600b61: 00 00 add %al,(%rax) 600b63: 00 00 add %al,(%rax) 600b65: 00 00 add %al,(%rax) 600b67: 00 30 add %dh,(%rax) 600b69: 0c 60 or $0x60,%al 600b6b: 00 00 add %al,(%rax) 600b6d: 00 00 add %al,(%rax) 600b6f: 00 02 add %al,(%rdx) 600b71: 00 00 add %al,(%rax) 600b73: 00 00 add %al,(%rax) 600b75: 00 00 add %al,(%rax) 600b77: 00 60 00 add %ah,0x0(%rax) 600b7a: 00 00 add %al,(%rax) 600b7c: 00 00 add %al,(%rax) 600b7e: 00 00 add %al,(%rax) 600b80: 14 00 adc $0x0,%al 600b82: 00 00 add %al,(%rax) 600b84: 00 00 add %al,(%rax) 600b86: 00 00 add %al,(%rax) 600b88: 07 (bad) 600b89: 00 00 add %al,(%rax) 600b8b: 00 00 add %al,(%rax) 600b8d: 00 00 add %al,(%rax) 600b8f: 00 17 add %dl,(%rdi) 600b91: 00 00 add %al,(%rax) 600b93: 00 00 add %al,(%rax) 600b95: 00 00 add %al,(%rax) 600b97: 00 b8 03 40 00 00 add %bh,0x4003(%rax) 600b9d: 00 00 add %al,(%rax) 600b9f: 00 fe add %bh,%dh 600ba1: ff (bad) 600ba2: ff 6f 00 ljmpq *0x0(%rdi) 600ba5: 00 00 add %al,(%rax) 600ba7: 00 98 03 40 00 00 add %bl,0x4003(%rax) 600bad: 00 00 add %al,(%rax) 600baf: 00 ff add %bh,%bh 600bb1: ff (bad) 600bb2: ff 6f 00 ljmpq *0x0(%rdi) 600bb5: 00 00 add %al,(%rax) 600bb7: 00 01 add %al,(%rcx) 600bb9: 00 00 add %al,(%rax) 600bbb: 00 00 add %al,(%rax) 600bbd: 00 00 add %al,(%rax) 600bbf: 00 f0 add %dh,%al 600bc1: ff (bad) 600bc2: ff 6f 00 ljmpq *0x0(%rdi) 600bc5: 00 00 add %al,(%rax) 600bc7: 00 84 03 40 00 00 00 add %al,0x40(%rbx,%rax,1) ... Disassembly of section .got.plt: 0000000000600c30 <_global_offset_table_>: 600c30: d0 0a rorb (%rdx) 600c32: 60 (bad) ... 600c47: 00 46 04 add %al,0x4(%rsi) 600c4a: 40 00 00 add %al,(%rax) 600c4d: 00 00 add %al,(%rax) 600c4f: 00 56 04 add %dl,0x4(%rsi) 600c52: 40 00 00 add %al,(%rax) 600c55: 00 00 add %al,(%rax) 600c57: 00 66 04 add %ah,0x4(%rsi) 600c5a: 40 00 00 add %al,(%rax) 600c5d: 00 00 add %al,(%rax) 600c5f: 00 76 04 add %dh,0x4(%rsi) 600c62: 40 00 00 add %al,(%rax) 600c65: 00 00 add %al,(%rax) ... Disassembly of section .data: 0000000000600c68 <__progname>: 600c68: 46 09 40 00 rex.RX or %r8d,0x0(%rax) 600c6c: 00 00 add %al,(%rax) ... 0000000000600c70 <__dso_handle>: ... Disassembly of section .bss: 0000000000600c78 <__bss_start>: ... 0000000000600c80 : ... 0000000000600c88 : ... Disassembly of section .comment: 0000000000000000 <.comment>: 0: 24 46 and $0x46,%al 2: 72 65 jb 69 4: 65 gs 5: 42 53 rex.X push %rbx 7: 44 3a 20 cmp (%rax),%r12b a: 72 65 jb 71 c: 6c insb (%dx),%es:(%rdi) d: 65 gs e: 61 (bad) f: 73 65 jae 76 11: 2f (bad) 12: 31 30 xor %esi,(%rax) 14: 2e cs 15: 34 2e xor $0x2e,%al 17: 30 2f xor %ch,(%rdi) 19: 6c insb (%dx),%es:(%rdi) 1a: 69 62 2f 63 73 75 2f imul $0x2f757363,0x2f(%rdx),%esp 21: 61 (bad) 22: 6d insl (%dx),%es:(%rdi) 23: 64 fs 24: 36 ss 25: 34 2f xor $0x2f,%al 27: 63 72 74 movslq 0x74(%rdx),%esi 2a: 31 2e xor %ebp,(%rsi) 2c: 63 20 movslq (%rax),%esp 2e: 33 30 xor (%rax),%esi 30: 30 33 xor %dh,(%rbx) 32: 32 33 xor (%rbx),%dh 34: 20 32 and %dh,(%rdx) 36: 30 31 xor %dh,(%rcx) 38: 36 ss 39: 2d 30 35 2d 32 sub $0x322d3530,%eax 3e: 30 20 xor %ah,(%rax) 40: 31 39 xor %edi,(%rcx) 42: 3a 31 cmp (%rcx),%dh 44: 34 3a xor $0x3a,%al 46: 31 35 5a 20 65 6d xor %esi,0x6d65205a(%rip) # 6d6520a6 <_end x6d051416=""> 4c: 61 (bad) 4d: 73 74 jae c3 4f: 65 20 24 00 and %ah,%gs:(%rax,%rax,1) 53: 24 46 and $0x46,%al 55: 72 65 jb bc 57: 65 gs 58: 42 53 rex.X push %rbx 5a: 44 3a 20 cmp (%rax),%r12b 5d: 72 65 jb c4 5f: 6c insb (%dx),%es:(%rdi) 60: 65 gs 61: 61 (bad) 62: 73 65 jae c9 64: 2f (bad) 65: 31 30 xor %esi,(%rax) 67: 2e cs 68: 34 2e xor $0x2e,%al 6a: 30 2f xor %ch,(%rdi) 6c: 6c insb (%dx),%es:(%rdi) 6d: 69 62 2f 63 73 75 2f imul $0x2f757363,0x2f(%rdx),%esp 74: 63 6f 6d movslq 0x6d(%rdi),%ebp 77: 6d insl (%dx),%es:(%rdi) 78: 6f outsl %ds:(%rsi),(%dx) 79: 6e outsb %ds:(%rsi),(%dx) 7a: 2f (bad) 7b: 63 72 74 movslq 0x74(%rdx),%esi 7e: 62 (bad) 7f: 72 61 jb e2 81: 6e outsb %ds:(%rsi),(%dx) 82: 64 2e 63 20 movslq %cs:%fs:(%rax),%esp 86: 33 32 xor (%rdx),%esi 88: 34 30 xor $0x30,%al 8a: 39 32 cmp %esi,(%rdx) 8c: 20 32 and %dh,(%rdx) 8e: 30 31 xor %dh,(%rcx) 90: 37 (bad) 91: 2d 30 39 2d 32 sub $0x322d3930,%eax 96: 39 20 cmp %esp,(%rax) 98: 30 30 xor %dh,(%rax) 9a: 3a 30 cmp (%rax),%dh 9c: 30 3a xor %bh,(%rdx) 9e: 33 32 xor (%rdx),%esi a0: 5a pop %rdx a1: 20 6d 61 and %ch,0x61(%rbp) a4: 72 69 jb 10f a6: 75 73 jne 11b a8: 20 24 00 and %ah,(%rax,%rax,1) ab: 24 46 and $0x46,%al ad: 72 65 jb 114 af: 65 gs b0: 42 53 rex.X push %rbx b2: 44 3a 20 cmp (%rax),%r12b b5: 72 65 jb 11c b7: 6c insb (%dx),%es:(%rdi) b8: 65 gs b9: 61 (bad) ba: 73 65 jae 121 bc: 2f (bad) bd: 31 30 xor %esi,(%rax) bf: 2e cs c0: 34 2e xor $0x2e,%al c2: 30 2f xor %ch,(%rdi) c4: 6c insb (%dx),%es:(%rdi) c5: 69 62 2f 63 73 75 2f imul $0x2f757363,0x2f(%rdx),%esp cc: 63 6f 6d movslq 0x6d(%rdi),%ebp cf: 6d insl (%dx),%es:(%rdi) d0: 6f outsl %ds:(%rsi),(%dx) d1: 6e outsb %ds:(%rsi),(%dx) d2: 2f (bad) d3: 69 67 6e 6f 72 65 5f imul $0x5f65726f,0x6e(%rdi),%esp da: 69 6e 69 74 2e 63 20 imul $0x20632e74,0x69(%rsi),%ebp e1: 32 34 35 31 33 33 20 xor 0x20333331(,%rsi,1),%dh e8: 32 30 xor (%rax),%dh ea: 31 33 xor %esi,(%rbx) ec: 2d 30 31 2d 30 sub $0x302d3130,%eax f1: 37 (bad) f2: 20 31 and %dh,(%rcx) f4: 37 (bad) f5: 3a 35 38 3a 32 37 cmp 0x37323a38(%rip),%dh # 37323b33 <_end x36d22ea3=""> fb: 5a pop %rdx fc: 20 6b 69 and %ch,0x69(%rbx) ff: 62 (bad) 100: 20 24 00 and %ah,(%rax,%rax,1) 103: 46 72 65 rex.RX jb 16b 106: 65 gs 107: 42 53 rex.X push %rbx 109: 44 20 63 6c and %r12b,0x6c(%rbx) 10d: 61 (bad) 10e: 6e outsb %ds:(%rsi),(%dx) 10f: 67 20 76 65 addr32 and %dh,0x65(%esi) 113: 72 73 jb 188 115: 69 6f 6e 20 33 2e 34 imul $0x342e3320,0x6e(%rdi),%ebp 11c: 2e 31 20 xor %esp,%cs:(%rax) 11f: 28 74 61 67 sub %dh,0x67(%rcx,2) 123: 73 2f jae 154 125: 52 push %rdx 126: 45 rex.RB 127: 4c rex.WR 128: 45 rex.RB 129: 41 53 push %r11 12b: 45 5f rex.RB pop %r15 12d: 33 34 2f xor (%rdi,%rbp,1),%esi 130: 64 6f outsl %fs:(%rsi),(%dx) 132: 74 31 je 165 134: 2d 66 69 6e 61 sub $0x616e6966,%eax 139: 6c insb (%dx),%es:(%rdi) 13a: 20 32 and %dh,(%rdx) 13c: 30 38 xor %bh,(%rax) 13e: 30 33 xor %dh,(%rbx) 140: 32 29 xor (%rcx),%ch 142: 20 32 and %dh,(%rdx) 144: 30 31 xor %dh,(%rcx) 146: 34 30 xor $0x30,%al 148: 35 31 32 00 24 xor $0x24003231,%eax 14d: 46 72 65 rex.RX jb 1b5 150: 65 gs 151: 42 53 rex.X push %rbx 153: 44 3a 20 cmp (%rax),%r12b 156: 72 65 jb 1bd 158: 6c insb (%dx),%es:(%rdi) 159: 65 gs 15a: 61 (bad) 15b: 73 65 jae 1c2 15d: 2f (bad) 15e: 31 30 xor %esi,(%rax) 160: 2e cs 161: 34 2e xor $0x2e,%al 163: 30 2f xor %ch,(%rdi) 165: 6c insb (%dx),%es:(%rdi) 166: 69 62 2f 63 73 75 2f imul $0x2f757363,0x2f(%rdx),%esp 16d: 61 (bad) 16e: 6d insl (%dx),%es:(%rdi) 16f: 64 fs 170: 36 ss 171: 34 2f xor $0x2f,%al 173: 63 72 74 movslq 0x74(%rdx),%esi 176: 69 2e 53 20 32 31 imul $0x31322053,(%rsi),%ebp 17c: 37 (bad) 17d: 31 30 xor %esi,(%rax) 17f: 35 20 32 30 31 xor $0x31303220,%eax 184: 31 2d 30 31 2d 30 xor %ebp,0x302d3130(%rip) # 302d32ba <_end x2fcd262a=""> 18a: 37 (bad) 18b: 20 31 and %dh,(%rcx) 18d: 36 3a 30 cmp %ss:(%rax),%dh 190: 37 (bad) 191: 3a 35 31 5a 20 6b cmp 0x6b205a31(%rip),%dh # 6b205bc8 <_end x6ac04f38=""> 197: 69 62 20 24 00 47 43 imul $0x43470024,0x20(%rdx),%esp 19e: 43 3a 20 rex.XB cmp (%r8),%spl 1a1: 28 46 72 sub %al,0x72(%rsi) 1a4: 65 gs 1a5: 65 gs 1a6: 42 53 rex.X push %rbx 1a8: 44 20 50 6f and %r10b,0x6f(%rax) 1ac: 72 74 jb 222 1ae: 73 20 jae 1d0 1b0: 43 6f rex.XB outsl %ds:(%rsi),(%dx) 1b2: 6c insb (%dx),%es:(%rdi) 1b3: 6c insb (%dx),%es:(%rdi) 1b4: 65 63 74 69 6f movslq %gs:0x6f(%rcx,%rbp,2),%esi 1b9: 6e outsb %ds:(%rsi),(%dx) 1ba: 29 20 sub %esp,(%rax) 1bc: 35 2e 34 2e 30 xor $0x302e342e,%eax 1c1: 00 24 46 add %ah,(%rsi,%rax,2) 1c4: 72 65 jb 22b 1c6: 65 gs 1c7: 42 53 rex.X push %rbx 1c9: 44 3a 20 cmp (%rax),%r12b 1cc: 72 65 jb 233 1ce: 6c insb (%dx),%es:(%rdi) 1cf: 65 gs 1d0: 61 (bad) 1d1: 73 65 jae 238 1d3: 2f (bad) 1d4: 31 30 xor %esi,(%rax) 1d6: 2e cs 1d7: 34 2e xor $0x2e,%al 1d9: 30 2f xor %ch,(%rdi) 1db: 6c insb (%dx),%es:(%rdi) 1dc: 69 62 2f 63 73 75 2f imul $0x2f757363,0x2f(%rdx),%esp 1e3: 61 (bad) 1e4: 6d insl (%dx),%es:(%rdi) 1e5: 64 fs 1e6: 36 ss 1e7: 34 2f xor $0x2f,%al 1e9: 63 72 74 movslq 0x74(%rdx),%esi 1ec: 6e outsb %ds:(%rsi),(%dx) 1ed: 2e cs 1ee: 53 push %rbx 1ef: 20 32 and %dh,(%rdx) 1f1: 31 37 xor %esi,(%rdi) 1f3: 31 30 xor %esi,(%rax) 1f5: 35 20 32 30 31 xor $0x31303220,%eax 1fa: 31 2d 30 31 2d 30 xor %ebp,0x302d3130(%rip) # 302d3330 <_end x2fcd26a0=""> 200: 37 (bad) 201: 20 31 and %dh,(%rcx) 203: 36 3a 30 cmp %ss:(%rax),%dh 206: 37 (bad) 207: 3a 35 31 5a 20 6b cmp 0x6b205a31(%rip),%dh # 6b205c3e <_end x6ac04fae=""> 20d: 69 .byte 0x69 20e: 62 (bad) 20f: 20 24 00 and %ah,(%rax,%rax,1) Disassembly of section .debug_aranges: 0000000000000000 <.debug_aranges>: 0: 2c 00 sub $0x0,%al 2: 00 00 add %al,(%rax) 4: 02 00 add (%rax),%al 6: 00 00 add %al,(%rax) 8: 00 00 add %al,(%rax) a: 08 00 or %al,(%rax) c: 00 00 add %al,(%rax) e: 00 00 add %al,(%rax) 10: 76 07 jbe 19 12: 40 00 00 add %al,(%rax) 15: 00 00 add %al,(%rax) 17: 00 7e 01 add %bh,0x1(%rsi) ... Disassembly of section .debug_info: 0000000000000000 <.debug_info>: 0: 96 xchg %eax,%esi 1: 02 00 add (%rax),%al 3: 00 04 00 add %al,(%rax,%rax,1) 6: 00 00 add %al,(%rax) 8: 00 00 add %al,(%rax) a: 08 01 or %al,(%rcx) c: 00 00 add %al,(%rax) e: 00 00 add %al,(%rax) 10: 0c dc or $0xdc,%al 12: 00 00 add %al,(%rax) 14: 00 54 00 00 add %dl,0x0(%rax,%rax,1) 18: 00 76 07 add %dh,0x7(%rsi) 1b: 40 00 00 add %al,(%rax) 1e: 00 00 add %al,(%rax) 20: 00 7e 01 add %bh,0x1(%rsi) ... 2b: 00 00 add %al,(%rax) 2d: 02 01 add (%rcx),%al 2f: 06 (bad) 30: ab stos %eax,%es:(%rdi) 31: 00 00 add %al,(%rax) 33: 00 02 add %al,(%rdx) 35: 01 08 add %ecx,(%rax) 37: a9 00 00 00 02 test $0x2000000,%eax 3c: 02 05 32 00 00 00 add 0x32(%rip),%al # 74 42: 02 02 add (%rdx),%al 44: 07 (bad) 45: b7 00 mov $0x0,%bh 47: 00 00 add %al,(%rax) 49: 03 04 05 69 6e 74 00 add 0x746e69(,%rax,1),%eax 50: 02 04 07 add (%rdi,%rax,1),%al 53: cf iret 54: 00 00 add %al,(%rax) 56: 00 02 add %al,(%rdx) 58: 08 05 94 00 00 00 or %al,0x94(%rip) # f2 5e: 02 08 add (%rax),%cl 60: 07 (bad) 61: ca 00 00 lret $0x0 64: 00 02 add %al,(%rdx) 66: 08 04 a2 or %al,(%rdx,4) 69: 00 00 add %al,(%rax) 6b: 00 02 add %al,(%rdx) 6d: 04 04 add $0x4,%al 6f: 89 00 mov %eax,(%rax) 71: 00 00 add %al,(%rax) 73: 02 08 add (%rax),%cl 75: 07 (bad) 76: 3c 00 cmp $0x0,%al 78: 00 00 add %al,(%rax) 7a: 02 08 add (%rax),%cl 7c: 05 8f 00 00 00 add $0x8f,%eax 81: 02 10 add (%rax),%dl 83: 04 9d add $0x9d,%al 85: 00 00 add %al,(%rax) 87: 00 02 add %al,(%rdx) 89: 01 06 add %eax,(%rsi) 8b: b2 00 mov $0x0,%dl 8d: 00 00 add %al,(%rax) 8f: 04 4f add $0x4f,%al 91: 00 00 add %al,(%rax) 93: 00 01 add %al,(%rcx) 95: 03 49 00 add 0x0(%rcx),%ecx 98: 00 00 add %al,(%rax) 9a: 76 07 jbe a3 9c: 40 00 00 add %al,(%rax) 9f: 00 00 add %al,(%rax) a1: 00 2e add %ch,(%rsi) a3: 00 00 add %al,(%rax) a5: 00 00 add %al,(%rax) a7: 00 00 add %al,(%rax) a9: 00 01 add %al,(%rcx) ab: 9c pushfq ac: e5 00 in $0x0,%eax ae: 00 00 add %al,(%rax) b0: 05 67 00 01 03 add $0x3010067,%eax b5: 49 00 00 rex.WB add %al,(%r8) b8: 00 02 add %al,(%rdx) ba: 91 xchg %eax,%ecx bb: 5c pop %rsp bc: 05 68 00 01 03 add $0x3010068,%eax c1: 49 00 00 rex.WB add %al,(%r8) c4: 00 02 add %al,(%rdx) c6: 91 xchg %eax,%ecx c7: 58 pop %rax c8: 06 (bad) c9: 76 61 jbe 12c cb: 6c insb (%dx),%es:(%rdi) cc: 00 01 add %al,(%rcx) ce: 05 49 00 00 00 add $0x49,%eax d3: 02 91 6c 06 72 65 add 0x6572066c(%rcx),%dl d9: 73 00 jae db db: 01 06 add %eax,(%rsi) dd: 49 00 00 rex.WB add %al,(%r8) e0: 00 02 add %al,(%rdx) e2: 91 xchg %eax,%ecx e3: 68 00 07 4a 00 pushq $0x4a0700 e8: 00 00 add %al,(%rax) ea: 01 0f add %ecx,(%rdi) ec: 49 00 00 rex.WB add %al,(%r8) ef: 00 a4 07 40 00 00 00 add %ah,0x40(%rdi,%rax,1) f6: 00 00 add %al,(%rax) f8: 56 push %rsi f9: 00 00 add %al,(%rax) fb: 00 00 add %al,(%rax) fd: 00 00 add %al,(%rax) ff: 00 01 add %al,(%rcx) 101: 9c pushfq 102: 61 (bad) 103: 01 00 add %eax,(%rax) 105: 00 05 65 00 01 0f add %al,0xf010065(%rip) # f010170 <_end xea0f4e0=""> 10b: 49 00 00 rex.WB add %al,(%r8) 10e: 00 02 add %al,(%rdx) 110: 91 xchg %eax,%ecx 111: 5c pop %rsp 112: 05 66 00 01 0f add $0xf010066,%eax 117: 49 00 00 rex.WB add %al,(%r8) 11a: 00 02 add %al,(%rdx) 11c: 91 xchg %eax,%ecx 11d: 58 pop %rax 11e: 05 67 00 01 0f add $0xf010067,%eax 123: 49 00 00 rex.WB add %al,(%r8) 126: 00 02 add %al,(%rdx) 128: 91 xchg %eax,%ecx 129: 54 push %rsp 12a: 05 68 00 01 0f add $0xf010068,%eax 12f: 49 00 00 rex.WB add %al,(%r8) 132: 00 02 add %al,(%rdx) 134: 91 xchg %eax,%ecx 135: 50 push %rax 136: 06 (bad) 137: 76 61 jbe 19a 139: 6c insb (%dx),%es:(%rdi) 13a: 00 01 add %al,(%rcx) 13c: 11 49 00 adc %ecx,0x0(%rcx) 13f: 00 00 add %al,(%rax) 141: 02 91 6c 06 72 65 add 0x6572066c(%rcx),%dl 147: 73 00 jae 149 149: 01 12 add %edx,(%rdx) 14b: 49 00 00 rex.WB add %al,(%r8) 14e: 00 02 add %al,(%rdx) 150: 91 xchg %eax,%ecx 151: 68 06 72 65 74 pushq $0x74657206 156: 00 01 add %al,(%rcx) 158: 13 49 00 adc 0x0(%rcx),%ecx 15b: 00 00 add %al,(%rax) 15d: 02 91 64 00 07 45 add 0x45070064(%rcx),%dl 163: 00 00 add %al,(%rax) 165: 00 01 add %al,(%rcx) 167: 1f (bad) 168: 49 00 00 rex.WB add %al,(%r8) 16b: 00 fa add %bh,%dl 16d: 07 (bad) 16e: 40 00 00 add %al,(%rax) 171: 00 00 add %al,(%rax) 173: 00 6e 00 add %ch,0x0(%rsi) 176: 00 00 add %al,(%rax) 178: 00 00 add %al,(%rax) 17a: 00 00 add %al,(%rax) 17c: 01 9c 0d 02 00 00 05 add %ebx,0x5000002(%rbp,%rcx,1) 183: 61 (bad) 184: 00 01 add %al,(%rcx) 186: 1f (bad) 187: 49 00 00 rex.WB add %al,(%r8) 18a: 00 02 add %al,(%rdx) 18c: 91 xchg %eax,%ecx 18d: 5c pop %rsp 18e: 05 62 00 01 1f add $0x1f010062,%eax 193: 49 00 00 rex.WB add %al,(%r8) 196: 00 02 add %al,(%rdx) 198: 91 xchg %eax,%ecx 199: 58 pop %rax 19a: 05 63 00 01 1f add $0x1f010063,%eax 19f: 49 00 00 rex.WB add %al,(%r8) 1a2: 00 02 add %al,(%rdx) 1a4: 91 xchg %eax,%ecx 1a5: 54 push %rsp 1a6: 05 64 00 01 1f add $0x1f010064,%eax 1ab: 49 00 00 rex.WB add %al,(%r8) 1ae: 00 02 add %al,(%rdx) 1b0: 91 xchg %eax,%ecx 1b1: 50 push %rax 1b2: 05 65 00 01 20 add $0x20010065,%eax 1b7: 49 00 00 rex.WB add %al,(%r8) 1ba: 00 02 add %al,(%rdx) 1bc: 91 xchg %eax,%ecx 1bd: 4c 05 66 00 01 20 rex.WR add $0x20010066,%rax 1c3: 49 00 00 rex.WB add %al,(%r8) 1c6: 00 02 add %al,(%rdx) 1c8: 91 xchg %eax,%ecx 1c9: 48 05 67 00 01 20 add $0x20010067,%rax 1cf: 49 00 00 rex.WB add %al,(%r8) 1d2: 00 02 add %al,(%rdx) 1d4: 91 xchg %eax,%ecx 1d5: 00 05 68 00 01 20 add %al,0x20010068(%rip) # 20010243 <_end x1fa0f5b3=""> 1db: 49 00 00 rex.WB add %al,(%r8) 1de: 00 02 add %al,(%rdx) 1e0: 91 xchg %eax,%ecx 1e1: 08 06 or %al,(%rsi) 1e3: 76 61 jbe 246 1e5: 6c insb (%dx),%es:(%rdi) 1e6: 00 01 add %al,(%rcx) 1e8: 22 49 00 and 0x0(%rcx),%cl 1eb: 00 00 add %al,(%rax) 1ed: 02 91 6c 06 72 65 add 0x6572066c(%rcx),%dl 1f3: 73 00 jae 1f5 1f5: 01 23 add %esp,(%rbx) 1f7: 49 00 00 rex.WB add %al,(%r8) 1fa: 00 02 add %al,(%rdx) 1fc: 91 xchg %eax,%ecx 1fd: 68 06 72 65 74 pushq $0x74657206 202: 00 01 add %al,(%rcx) 204: 24 49 and $0x49,%al 206: 00 00 add %al,(%rax) 208: 00 02 add %al,(%rdx) 20a: 91 xchg %eax,%ecx 20b: 64 00 08 add %cl,%fs:(%rax) 20e: 84 00 test %al,(%rax) 210: 00 00 add %al,(%rax) 212: 01 2e add %ebp,(%rsi) 214: 49 00 00 rex.WB add %al,(%r8) 217: 00 68 08 add %ch,0x8(%rax) 21a: 40 00 00 add %al,(%rax) 21d: 00 00 add %al,(%rax) 21f: 00 8c 00 00 00 00 00 add %cl,0x0(%rax,%rax,1) 226: 00 00 add %al,(%rax) 228: 01 9c 06 61 00 01 30 add %ebx,0x30010061(%rsi,%rax,1) 22f: 49 00 00 rex.WB add %al,(%r8) 232: 00 02 add %al,(%rdx) 234: 91 xchg %eax,%ecx 235: 6c insb (%dx),%es:(%rdi) 236: 06 (bad) 237: 62 (bad) 238: 00 01 add %al,(%rcx) 23a: 31 49 00 xor %ecx,0x0(%rcx) 23d: 00 00 add %al,(%rax) 23f: 02 91 68 06 63 00 add 0x630668(%rcx),%dl 245: 01 32 add %esi,(%rdx) 247: 49 00 00 rex.WB add %al,(%r8) 24a: 00 02 add %al,(%rdx) 24c: 91 xchg %eax,%ecx 24d: 64 fs 24e: 06 (bad) 24f: 64 00 01 add %al,%fs:(%rcx) 252: 33 49 00 xor 0x0(%rcx),%ecx 255: 00 00 add %al,(%rax) 257: 02 91 60 06 65 00 add 0x650660(%rcx),%dl 25d: 01 34 49 add %esi,(%rcx,%rcx,2) 260: 00 00 add %al,(%rax) 262: 00 02 add %al,(%rdx) 264: 91 xchg %eax,%ecx 265: 5c pop %rsp 266: 06 (bad) 267: 66 data16 268: 00 01 add %al,(%rcx) 26a: 35 49 00 00 00 xor $0x49,%eax 26f: 02 91 58 06 67 00 add 0x670658(%rcx),%dl 275: 01 36 add %esi,(%rsi) 277: 49 00 00 rex.WB add %al,(%r8) 27a: 00 02 add %al,(%rdx) 27c: 91 xchg %eax,%ecx 27d: 54 push %rsp 27e: 06 (bad) 27f: 68 00 01 37 49 pushq $0x49370100 284: 00 00 add %al,(%rax) 286: 00 02 add %al,(%rdx) 288: 91 xchg %eax,%ecx 289: 50 push %rax 28a: 06 (bad) 28b: 72 65 jb 2f2 28d: 74 00 je 28f 28f: 01 38 add %edi,(%rax) 291: 49 00 00 rex.WB add %al,(%r8) 294: 00 02 add %al,(%rdx) 296: 91 xchg %eax,%ecx 297: 4c 00 00 rex.WR add %r8b,(%rax) Disassembly of section .debug_abbrev: 0000000000000000 <.debug_abbrev>: 0: 01 11 add %edx,(%rcx) 2: 01 25 0e 13 0b 03 add %esp,0x30b130e(%rip) # 30b1316 <_end x2ab0686=""> 8: 0e (bad) 9: 1b 0e sbb (%rsi),%ecx b: 11 01 adc %eax,(%rcx) d: 12 07 adc (%rdi),%al f: 10 17 adc %dl,(%rdi) 11: 00 00 add %al,(%rax) 13: 02 24 00 add (%rax,%rax,1),%ah 16: 0b 0b or (%rbx),%ecx 18: 3e 0b 03 or %ds:(%rbx),%eax 1b: 0e (bad) 1c: 00 00 add %al,(%rax) 1e: 03 24 00 add (%rax,%rax,1),%esp 21: 0b 0b or (%rbx),%ecx 23: 3e 0b 03 or %ds:(%rbx),%eax 26: 08 00 or %al,(%rax) 28: 00 04 2e add %al,(%rsi,%rbp,1) 2b: 01 3f add %edi,(%rdi) 2d: 19 03 sbb %eax,(%rbx) 2f: 0e (bad) 30: 3a 0b cmp (%rbx),%cl 32: 3b 0b cmp (%rbx),%ecx 34: 27 (bad) 35: 19 49 13 sbb %ecx,0x13(%rcx) 38: 11 01 adc %eax,(%rcx) 3a: 12 07 adc (%rdi),%al 3c: 40 18 97 42 19 01 13 sbb %dl,0x13011942(%rdi) 43: 00 00 add %al,(%rax) 45: 05 05 00 03 08 add $0x8030005,%eax 4a: 3a 0b cmp (%rbx),%cl 4c: 3b 0b cmp (%rbx),%ecx 4e: 49 13 02 adc (%r10),%rax 51: 18 00 sbb %al,(%rax) 53: 00 06 add %al,(%rsi) 55: 34 00 xor $0x0,%al 57: 03 08 add (%rax),%ecx 59: 3a 0b cmp (%rbx),%cl 5b: 3b 0b cmp (%rbx),%ecx 5d: 49 13 02 adc (%r10),%rax 60: 18 00 sbb %al,(%rax) 62: 00 07 add %al,(%rdi) 64: 2e 01 3f add %edi,%cs:(%rdi) 67: 19 03 sbb %eax,(%rbx) 69: 0e (bad) 6a: 3a 0b cmp (%rbx),%cl 6c: 3b 0b cmp (%rbx),%ecx 6e: 27 (bad) 6f: 19 49 13 sbb %ecx,0x13(%rcx) 72: 11 01 adc %eax,(%rcx) 74: 12 07 adc (%rdi),%al 76: 40 18 96 42 19 01 13 sbb %dl,0x13011942(%rsi) 7d: 00 00 add %al,(%rax) 7f: 08 2e or %ch,(%rsi) 81: 01 3f add %edi,(%rdi) 83: 19 03 sbb %eax,(%rbx) 85: 0e (bad) 86: 3a 0b cmp (%rbx),%cl 88: 3b 0b cmp (%rbx),%ecx 8a: 49 13 11 adc (%r9),%rdx 8d: 01 12 add %edx,(%rdx) 8f: 07 (bad) 90: 40 18 96 42 19 00 00 sbb %dl,0x1942(%rsi) ... Disassembly of section .debug_line: 0000000000000000 <.debug_line>: 0: 6f outsl %ds:(%rsi),(%dx) 1: 00 00 add %al,(%rax) 3: 00 02 add %al,(%rdx) 5: 00 2b add %ch,(%rbx) 7: 00 00 add %al,(%rax) 9: 00 01 add %al,(%rcx) b: 01 fb add %edi,%ebx d: 0e (bad) e: 0d 00 01 01 01 or $0x1010100,%eax 13: 01 00 add %eax,(%rax) 15: 00 00 add %al,(%rax) 17: 01 00 add %eax,(%rax) 19: 00 01 add %al,(%rcx) 1b: 00 63 61 add %ah,0x61(%rbx) 1e: 6c insb (%dx),%es:(%rdi) 1f: 6c insb (%dx),%es:(%rdi) 20: 73 74 jae 96 22: 61 (bad) 23: 74 63 je 88 25: 6b 5f 6f 62 imul $0x62,0x6f(%rdi),%ebx 29: 73 65 jae 90 2b: 72 76 jb a3 2d: 65 2e 63 00 movslq %cs:%gs:(%rax),%eax 31: 00 00 add %al,(%rax) 33: 00 00 add %al,(%rax) 35: 00 09 add %cl,(%rcx) 37: 02 76 07 add 0x7(%rsi),%dh 3a: 40 00 00 add %al,(%rax) 3d: 00 00 add %al,(%rax) 3f: 00 15 9f 75 76 ad add %dl,-0x52898a61(%rip) # ffffffffad7675e4 <_end xffffffffad166954=""> 45: 68 3d 32 08 3d pushq $0x3d08323d 4a: 75 75 jne c1 4c: 76 08 jbe 56 4e: 22 f3 and %bl,%dh 50: 68 3d 34 08 ad pushq $0xffffffffad08343d 55: 75 75 jne cc 57: 76 08 jbe 61 59: 76 08 jbe 63 5b: 91 xchg %eax,%ecx 5c: 68 3d 31 83 75 pushq $0x7583313d 61: 75 75 jne d8 63: 75 75 jne da 65: 75 75 jne dc 67: 75 76 jne df 69: 02 2a add (%rdx),%ch 6b: 14 08 adc $0x8,%al 6d: 84 02 test %al,(%rdx) 6f: 02 00 add (%rax),%al 71: 01 01 add %eax,(%rcx) Disassembly of section .debug_str: 0000000000000000 <.debug_str>: 0: 47 rex.RXB 1: 4e 55 rex.WRX push %rbp 3: 20 43 31 and %al,0x31(%rbx) 6: 31 20 xor %esp,(%rax) 8: 35 2e 34 2e 30 xor $0x302e342e,%eax d: 20 2d 6d 74 75 6e and %ch,0x6e75746d(%rip) # 6e757480 <_end x6e1567f0=""> 13: 65 gs 14: 3d 67 65 6e 65 cmp $0x656e6567,%eax 19: 72 69 jb 84 1b: 63 20 movslq (%rax),%esp 1d: 2d 6d 61 72 63 sub $0x6372616d,%eax 22: 68 3d 78 38 36 pushq $0x3638783d 27: 2d 36 34 20 2d sub $0x2d203436,%eax 2c: 67 20 2d 4f 30 00 73 addr32 and %ch,0x7300304f(%rip) # 73003082 <_end x72a023f2=""> 33: 68 6f 72 74 20 pushq $0x2074726f 38: 69 6e 74 00 73 69 7a imul $0x7a697300,0x74(%rsi),%ebp 3f: 65 gs 40: 74 79 je bb 42: 70 65 jo a9 44: 00 66 75 add %ah,0x75(%rsi) 47: 6e outsb %ds:(%rsi),(%dx) 48: 31 00 xor %eax,(%rax) 4a: 66 data16 4b: 75 6e jne bb 4d: 32 00 xor (%rax),%al 4f: 66 data16 50: 75 6e jne c0 52: 33 00 xor (%rax),%eax 54: 2f (bad) 55: 6d insl (%dx),%es:(%rdi) 56: 79 64 jns bc 58: 61 (bad) 59: 74 61 je bc 5b: 2f (bad) 5c: 68 6f 6d 65 2f pushq $0x2f656d6f 61: 72 61 jb c4 63: 6e outsb %ds:(%rsi),(%dx) 64: 6a 65 pushq $0x65 66: 73 69 jae d1 68: 6e outsb %ds:(%rsi),(%dx) 69: 2f (bad) 6a: 6d insl (%dx),%es:(%rdi) 6b: 79 77 jns e4 6d: 6f outsl %ds:(%rsi),(%dx) 6e: 72 6b jb db 70: 2f (bad) 71: 63 61 6c movslq 0x6c(%rcx),%esp 74: 6c insb (%dx),%es:(%rdi) 75: 73 74 jae eb 77: 61 (bad) 78: 74 63 je dd 7a: 6b 5f 6f 62 imul $0x62,0x6f(%rdi),%ebx 7e: 73 65 jae e5 80: 72 76 jb f8 82: 65 00 6d 61 add %ch,%gs:0x61(%rbp) 86: 69 6e 00 66 6c 6f 61 imul $0x616f6c66,0x0(%rsi),%ebp 8d: 74 00 je 8f 8f: 6c insb (%dx),%es:(%rdi) 90: 6f outsl %ds:(%rsi),(%dx) 91: 6e outsb %ds:(%rsi),(%dx) 92: 67 20 6c 6f 6e addr32 and %ch,0x6e(%edi,%ebp,2) 97: 67 20 69 6e addr32 and %ch,0x6e(%ecx) 9b: 74 00 je 9d 9d: 6c insb (%dx),%es:(%rdi) 9e: 6f outsl %ds:(%rsi),(%dx) 9f: 6e outsb %ds:(%rsi),(%dx) a0: 67 20 64 6f 75 addr32 and %ah,0x75(%edi,%ebp,2) a5: 62 (bad) a6: 6c insb (%dx),%es:(%rdi) a7: 65 00 75 6e add %dh,%gs:0x6e(%rbp) ab: 73 69 jae 116 ad: 67 6e addr32 outsb %ds:(%esi),(%dx) af: 65 64 20 63 68 and %ah,%fs:%gs:0x68(%rbx) b4: 61 (bad) b5: 72 00 jb b7 b7: 73 68 jae 121 b9: 6f outsl %ds:(%rsi),(%dx) ba: 72 74 jb 130 bc: 20 75 6e and %dh,0x6e(%rbp) bf: 73 69 jae 12a c1: 67 6e addr32 outsb %ds:(%esi),(%dx) c3: 65 64 20 69 6e and %ch,%fs:%gs:0x6e(%rcx) c8: 74 00 je ca ca: 6c insb (%dx),%es:(%rdi) cb: 6f outsl %ds:(%rsi),(%dx) cc: 6e outsb %ds:(%rsi),(%dx) cd: 67 20 75 6e addr32 and %dh,0x6e(%ebp) d1: 73 69 jae 13c d3: 67 6e addr32 outsb %ds:(%esi),(%dx) d5: 65 64 20 69 6e and %ch,%fs:%gs:0x6e(%rcx) da: 74 00 je dc dc: 63 61 6c movslq 0x6c(%rcx),%esp df: 6c insb (%dx),%es:(%rdi) e0: 73 74 jae 156 e2: 61 (bad) e3: 74 63 je 148 e5: 6b 5f 6f 62 imul $0x62,0x6f(%rdi),%ebx e9: 73 65 jae 150 eb: 72 76 jb 163 ed: 65 2e 63 00 movslq %cs:%gs:(%rax),%eax
Comments
Post a Comment