2025强网杯tradRE简单wp

比赛没有多少时间参加,赛后复盘了下,感觉时间够是能做出来的,就是年纪大了,思维定势太厉害,不好纠正。

程序用ptrace分父子进程,父进程调试子进程,子进程中有很多代码片段,父进程用int3进行断点调试,同时负责调度执行的代码段,实现类似虚拟机的功能。

开始的时候用IDA设置断点,慢慢跟踪代码的执行,发现太慢了,跑完一遍都需要20多分钟。

后来干脆把父进程的处理逻辑复制出现,用python模拟代码执行:

python 复制代码
arrayaddr=0x606AC0
ins_array=[0x0000000000607160, 0x0000000000607FE0, 0x0000000000401EB4, 0x00000000004009F7, 0x0000000000607540, 0x00000000004008D0, 0x0000000000401EA5, 0x0000000000400AFD, 0x0000000000000000, 0x0000000000606F00, 0x0000000000000000, 0x0000000000400B03, 0x0000000000607DC0, 0x0000000000607E00, 0x0000000000401EB4, 0x0000000000400B6E, 0x0000000000607920, 0x0000000000400870, 0x0000000000401EA5, 0x0000000000400B79, 0x0000000000608000, 0x0000000000607460, 0x0000000000401CA6, 0x0000000000400B7C, 0x00000000006077C0, 0x0000000000607EA0, 0x0000000000401D22, 0x0000000000400B81, 0x00000000006071E0, 0x0000000000607BA0, 0x0000000000401EB4, 0x0000000000400BAB, 0x0000000000607140, 0x0000000000608120, 0x0000000000401D22, 0x0000000000400BBE, 0x0000000000607840, 0x0000000000400830, 0x0000000000401EA5, 0x0000000000400BEB, 0x00000000006070A0, 0x0000000000400870, 0x0000000000401EA5, 0x0000000000400BF8, 0x0000000000607BE0, 0x0000000000607120, 0x0000000000401EB4, 0x0000000000400BFE, 0x0000000000607AC0, 0x0000000000607F60, 0x0000000000401EB4, 0x0000000000400C10, 0x0000000000607600, 0x0000000000607D20, 0x0000000000401D5B, 0x0000000000400C25, 0x0000000000607B80, 0x0000000000607BA0, 0x0000000000401EB4, 0x0000000000400C34, 0x0000000000000000, 0x0000000000608100, 0x0000000000000000, 0x0000000000400C47, 0x0000000000606B80, 0x0000000000400900, 0x0000000000401EA5, 0x0000000000400C4F, 0x0000000000607B60, 0x0000000000606EE0, 0x0000000000401CA6, 0x0000000000400C74, 0x00000000006072C0, 0x0000000000607A80, 0x0000000000401CA6, 0x0000000000400C7C, 0x0000000000607CA0, 0x0000000000607F40, 0x0000000000401CA6, 0x0000000000400C84, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400C8C, 0x0000000000607280, 0x0000000000606FC0, 0x0000000000401EB4, 0x0000000000400C96, 0x0000000000000000, 0x0000000000607A20, 0x0000000000000000, 0x0000000000400CCF, 0x00000000006079C0, 0x0000000000608060, 0x0000000000401EB4, 0x0000000000400CDF, 0x0000000000000000, 0x00000000006080C0, 0x0000000000000000, 0x0000000000400D1F, 0x0000000000607040, 0x0000000000400810, 0x0000000000401EA5, 0x0000000000400D45, 0x0000000000608020, 0x0000000000607E00, 0x0000000000401EB4, 0x0000000000400D4D, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400D58, 0x0000000000000000, 0x0000000000607620, 0x0000000000000000, 0x0000000000400D5B, 0x0000000000606D60, 0x0000000000607120, 0x0000000000401EB4, 0x0000000000400D90, 0x0000000000000000, 0x0000000000607520, 0x0000000000000000, 0x0000000000400DA3, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400DDB, 0x0000000000607480, 0x0000000000607340, 0x0000000000401D5B, 0x0000000000400DE0, 0x0000000000606BC0, 0x0000000000400900, 0x0000000000401EA5, 0x0000000000400DEF, 0x0000000000606CA0, 0x0000000000606B00, 0x0000000000401CA6, 0x0000000000400E1A, 0x0000000000000000, 0x00000000006080C0, 0x0000000000000000, 0x0000000000400E22, 0x00000000006077E0, 0x0000000000608060, 0x0000000000401EB4, 0x0000000000400E3A, 0x0000000000606DE0, 0x0000000000400810, 0x0000000000401EA5, 0x0000000000400E55, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400E5D, 0x0000000000607100, 0x0000000000606D40, 0x0000000000401D5B, 0x0000000000400F5C, 0x0000000000607EC0, 0x0000000000607860, 0x0000000000401DCD, 0x0000000000400F6A, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400F7A, 0x0000000000000000, 0x0000000000607960, 0x0000000000000000, 0x0000000000400F83, 0x0000000000606B20, 0x00000000006080E0, 0x0000000000401CA6, 0x0000000000400FB1, 0x0000000000606C00, 0x0000000000400810, 0x0000000000401EA5, 0x0000000000400FC1, 0x0000000000607080, 0x0000000000607C80, 0x0000000000401EB4, 0x0000000000400FC9, 0x00000000006079E0, 0x0000000000607780, 0x0000000000401EB4, 0x0000000000400FDB, 0x0000000000000000, 0x0000000000606B60, 0x0000000000000000, 0x0000000000400FEE, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400FF6, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000400FF9, 0x0000000000606D40, 0x0000000000400820, 0x0000000000401EA5, 0x0000000000400FFB, 0x0000000000607B40, 0x0000000000606FC0, 0x0000000000401EB4, 0x0000000000400FFC, 0x0000000000000000, 0x0000000000608120, 0x0000000000000000, 0x0000000000401010, 0x0000000000607260, 0x00000000004008A0, 0x0000000000401EA5, 0x0000000000401018, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000401032, 0x0000000000000000, 0x0000000000606D00, 0x0000000000000000, 0x0000000000401034, 0x0000000000607060, 0x0000000000607C80, 0x0000000000401EB4, 0x000000000040104D, 0x00000000006071C0, 0x0000000000606C40, 0x0000000000401EB4, 0x0000000000401060, 0x0000000000000000, 0x0000000000608100, 0x0000000000000000, 0x0000000000401073, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000401080, 0x0000000000000000, 0x0000000000606B60, 0x0000000000000000, 0x000000000040117F, 0x0000000000607C40, 0x00000000004008A0, 0x0000000000401EA5, 0x0000000000401184, 0x0000000000607CC0, 0x0000000000607120, 0x0000000000401EB4, 0x000000000040119E, 0x0000000000608140, 0x0000000000607C80, 0x0000000000401EB4, 0x00000000004011B1, 0x0000000000000000, 0x0000000000607A40, 0x0000000000000000, 0x00000000004011C4, 0x0000000000000000, 0x0000000000606CE0, 0x0000000000000000, 0x00000000004011FF, 0x0000000000000000, 0x0000000000607C00, 0x0000000000000000, 0x000000000040120A, 0x0000000000000000, 0x0000000000606FA0, 0x0000000000000000, 0x000000000040120B, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x000000000040120C, 0x00000000006078C0, 0x0000000000608060, 0x0000000000401EB4, 0x0000000000401213, 0x0000000000607D00, 0x0000000000608060, 0x0000000000401EB4, 0x000000000040122E, 0x0000000000607400, 0x0000000000607E00, 0x0000000000401EB4, 0x0000000000401249, 0x0000000000607420, 0x0000000000400810, 0x0000000000401EA5, 0x0000000000401254, 0x0000000000000000, 0x0000000000607F80, 0x0000000000000000, 0x000000000040125C, 0x0000000000607500, 0x0000000000607220, 0x0000000000401EB4, 0x000000000040129F, 0x00000000006074E0, 0x0000000000400810, 0x0000000000401EA5, 0x00000000004012AA, 0x0000000000606DC0, 0x00000000004008D0, 0x0000000000401EA5, 0x00000000004012B2, 0x0000000000000000, 0x00000000006078E0, 0x0000000000000000, 0x00000000004012B8, 0x0000000000607340, 0x0000000000400820, 0x0000000000401EA5, 0x00000000004012C0, 0x0000000000000000, 0x0000000000607C00, 0x0000000000000000, 0x00000000004012C1, 0x0000000000000000, 0x0000000000607B00, 0x0000000000000000, 0x00000000004012C3, 0x0000000000606F60, 0x0000000000400810, 0x0000000000401EA5, 0x00000000004012E7, 0x00000000006080A0, 0x0000000000608060, 0x0000000000401EB4, 0x00000000004012EF, 0x0000000000607000, 0x0000000000606E80, 0x0000000000401CA6, 0x000000000040130A, 0x0000000000606F20, 0x00000000006074A0, 0x0000000000401D5B, 0x0000000000401312, 0x0000000000606F40, 0x0000000000607E80, 0x0000000000401EB4, 0x0000000000401319, 0x0000000000607C60, 0x0000000000606FC0, 0x0000000000401EB4, 0x0000000000401324, 0x0000000000607980, 0x0000000000607C80, 0x0000000000401EB4, 0x000000000040132A, 0x0000000000000000, 0x00000000006077A0, 0x0000000000000000, 0x000000000040133D, 0x0000000000000000, 0x0000000000606D00, 0x0000000000000000, 0x000000000040137F, 0x0000000000607D20, 0x0000000000400820, 0x0000000000401EA5, 0x000000000040138A, 0x00000000006070C0, 0x0000000000606E40, 0x0000000000401CA6, 0x000000000040138B, 0x0000000000000000, 0x0000000000607A40, 0x0000000000000000, 0x0000000000401390, 0x0000000000607320, 0x0000000000400810, 0x0000000000401EA5, 0x00000000004013C3, 0x00000000006075A0, 0x0000000000606C40, 0x0000000000401EB4, 0x00000000004013CE, 0x00000000006078A0, 0x0000000000606FC0, 0x0000000000401EB4, 0x00000000004013E0, 0x0000000000607680, 0x0000000000606C40, 0x0000000000401EB4, 0x00000000004013F4, 0x0000000000606AE0, 0x0000000000607540, 0x0000000000401F0C, 0x0000000000401407, 0x0000000000607AE0, 0x0000000000606DC0, 0x0000000000401EB4, 0x000000000040140F, 0x0000000000607440, 0x0000000000400810, 0x0000000000401EA5, 0x000000000040141C, 0x00000000006076E0, 0x0000000000400860, 0x0000000000401EA5, 0x000000000040142F, 0x0000000000000000, 0x0000000000607A20, 0x0000000000000000, 0x0000000000401441, 0x0000000000607940, 0x0000000000607F60, 0x0000000000401EB4, 0x0000000000401476, 0x0000000000606E20, 0x00000000006075C0, 0x0000000000401CA6, 0x000000000040148B, 0x0000000000000000, 0x0000000000607EA0, 0x0000000000000000, 0x0000000000401490, 0x0000000000000000, 0x0000000000607FA0, 0x0000000000000000, 0x0000000000401498, 0x0000000000607180, 0x0000000000400820, 0x0000000000401EA5, 0x00000000004014A0, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004014A1, 0x00000000006075E0, 0x0000000000606DC0, 0x0000000000401EB4, 0x00000000004014AD, 0x0000000000000000, 0x0000000000607900, 0x0000000000000000, 0x00000000004014BD, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004014C4, 0x0000000000607BC0, 0x0000000000606FC0, 0x0000000000401EB4, 0x00000000004014C7, 0x0000000000000000, 0x0000000000607020, 0x0000000000000000, 0x00000000004014CD, 0x0000000000607240, 0x0000000000607DA0, 0x0000000000401CA6, 0x00000000004014D5, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004014DA, 0x0000000000000000, 0x0000000000607D60, 0x0000000000000000, 0x00000000004014DC, 0x0000000000607F20, 0x00000000006076A0, 0x0000000000401EB4, 0x00000000004014F1, 0x0000000000000000, 0x0000000000606F00, 0x0000000000000000, 0x00000000004014FA, 0x0000000000606C80, 0x0000000000607780, 0x0000000000401EB4, 0x0000000000401505, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000401518, 0x0000000000000000, 0x0000000000607FA0, 0x0000000000000000, 0x000000000040151A, 0x00000000006076C0, 0x0000000000607BA0, 0x0000000000401EB4, 0x0000000000401525, 0x0000000000607700, 0x0000000000400840, 0x0000000000401EA5, 0x0000000000401538, 0x0000000000607880, 0x0000000000607760, 0x0000000000401CA6, 0x0000000000401561, 0x0000000000607200, 0x0000000000607640, 0x0000000000401C31, 0x0000000000401566, 0x0000000000606C20, 0x0000000000607120, 0x0000000000401EB4, 0x0000000000401576, 0x00000000006071A0, 0x0000000000400900, 0x0000000000401EA5, 0x0000000000401589, 0x00000000006070E0, 0x0000000000400820, 0x0000000000401EA5, 0x000000000040158A, 0x0000000000607820, 0x00000000006076A0, 0x0000000000401EB4, 0x000000000040158B, 0x0000000000607E40, 0x00000000004008C0, 0x0000000000401EA5, 0x0000000000401594, 0x0000000000606EC0, 0x0000000000607F00, 0x0000000000401CA6, 0x000000000040159C, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004015A1, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004015AD, 0x0000000000607660, 0x0000000000607E60, 0x0000000000401CA6, 0x00000000004015B2, 0x0000000000607E20, 0x0000000000607BA0, 0x0000000000401EB4, 0x00000000004015BA, 0x0000000000607D40, 0x0000000000607F60, 0x0000000000401EB4, 0x00000000004015CC, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004015E1, 0x00000000006073E0, 0x0000000000606FC0, 0x0000000000401EB4, 0x00000000004015E3, 0x0000000000607AA0, 0x00000000006070E0, 0x0000000000401D5B, 0x0000000000401612, 0x0000000000607360, 0x0000000000607E80, 0x0000000000401EB4, 0x0000000000401633, 0x0000000000606BE0, 0x00000000004008A0, 0x0000000000401EA5, 0x000000000040163E, 0x00000000006079A0, 0x0000000000606FC0, 0x0000000000401EB4, 0x0000000000401658, 0x0000000000606EA0, 0x0000000000607F60, 0x0000000000401EB4, 0x000000000040165E, 0x0000000000608040, 0x0000000000607960, 0x0000000000401D22, 0x0000000000401672, 0x0000000000607A60, 0x0000000000606FC0, 0x0000000000401EB4, 0x0000000000401684, 0x0000000000000000, 0x0000000000607B00, 0x0000000000000000, 0x00000000004016BF, 0x0000000000606B40, 0x0000000000400900, 0x0000000000401EA5, 0x0000000000401702, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x0000000000401703, 0x0000000000607B20, 0x0000000000606FC0, 0x0000000000401EB4, 0x000000000040170A, 0x00000000006072E0, 0x0000000000606CC0, 0x0000000000401CA6, 0x0000000000401713, 0x0000000000607C20, 0x0000000000607220, 0x0000000000401EB4, 0x000000000040171B, 0x0000000000000000, 0x00000000006078E0, 0x0000000000000000, 0x0000000000401726, 0x0000000000607380, 0x0000000000607220, 0x0000000000401EB4, 0x00000000004017B9, 0x0000000000606E60, 0x0000000000606FC0, 0x0000000000401EB4, 0x00000000004017C4, 0x0000000000000000, 0x0000000000607620, 0x0000000000000000, 0x00000000004017D1, 0x00000000006072A0, 0x0000000000606C40, 0x0000000000401EB4, 0x00000000004017E1, 0x0000000000607800, 0x0000000000607180, 0x0000000000401D5B, 0x00000000004017F4, 0x0000000000607FC0, 0x0000000000400810, 0x0000000000401EA5, 0x0000000000401802, 0x0000000000000000, 0x0000000000607F80, 0x0000000000000000, 0x000000000040180D, 0x0000000000000000, 0x0000000000607D60, 0x0000000000000000, 0x0000000000401831, 0x0000000000000000, 0x0000000000607900, 0x0000000000000000, 0x0000000000401839, 0x0000000000000000, 0x0000000000607020, 0x0000000000000000, 0x0000000000401843, 0x0000000000606BA0, 0x0000000000607780, 0x0000000000401EB4, 0x000000000040184E, 0x0000000000606FE0, 0x0000000000606FC0, 0x0000000000401EB4, 0x000000000040185B, 0x0000000000000000, 0x0000000000606D20, 0x0000000000000000, 0x0000000000401864, 0x0000000000607580, 0x0000000000606FC0, 0x0000000000401EB4, 0x00000000004018A3, 0x0000000000606C60, 0x0000000000607DE0, 0x0000000000401CA6, 0x00000000004018B7, 0x00000000006073A0, 0x0000000000606E00, 0x0000000000401CA6, 0x00000000004018BC, 0x0000000000000000, 0x0000000000606FA0, 0x0000000000000000, 0x00000000004018CC, 0x00000000006073C0, 0x0000000000400810, 0x0000000000401EA5, 0x00000000004018CE, 0x0000000000000000, 0x0000000000000000, 0x0000000000401E96, 0x00000000004018E2, 0x0000000000607560, 0x0000000000607220, 0x0000000000401EB4, 0x00000000004018E5, 0x0000000000000000, 0x0000000000607520, 0x0000000000000000, 0x00000000004018F0, 0x0000000000000000, 0x00000000006077A0, 0x0000000000000000, 0x000000000040193C, 0x0000000000000000, 0x0000000000606D20, 0x0000000000000000, 0x0000000000401953, 0x0000000000607EE0, 0x0000000000608060, 0x0000000000401EB4, 0x000000000040195E, 0x0000000000607300, 0x0000000000607740, 0x0000000000401C31, 0x00000000004019A2, 0x0000000000607D80, 0x0000000000607E00, 0x0000000000401EB4, 0x00000000004019AC, 0x0000000000606DA0, 0x0000000000608080, 0x0000000000401C31, 0x00000000004019B7, 0x0000000000000000, 0x0000000000606CE0, 0x0000000000000000, 0x00000000004019CA, 0x0000000000607CE0, 0x0000000000607780, 0x0000000000401EB4, 0x00000000004019D2]
checkdict={0x401e96:'2',0x401eb4:'4',0x401ea5:'3',0x401ca6:'unsign_equ',0x401d22:'unsign_notequ',0x401d5b:'if_zf_equ_1',0x401dcd:'if_sf_equ_0',0x401f0c:'sign_greatThan',0x401c31:'sign_lessThan'}
ins_dict={}
funcdict={0x400810:'_puts',0x400820:'__stack_chk_fail_ptr',0x400830:'_printf',0x400840:'_memset',0x400850:'_alarm',0x400860:'_read',0x400870:'_srand',0x400880:'_signal',0x400890:'_ptrace',0x4008A0:'_setvbuf',0x4008B0:'_perror',0x4008C0:'_atoi',0x4008D0:'_exit',0x4008E0:'_wait',0x4008F0:'_fork',0x400900:'_rand'}
# Define funarray before using it
for i in range(len(ins_array)//4):
    nextnode=ins_array[i*4]
    func=ins_array[i*4+1]
    check=ins_array[i*4+2]
    ret=ins_array[i*4+3]
    ins_dict[arrayaddr+i*32]=(nextnode,func,check,ret)
f=open('g:\\share\\2025\\20251018\\asm.txt','r')
lines=f.readlines()
f.close()
asmlines={}
asmaddr=0x4009f7
asmline=''
for line in lines:
    parts=line.split()
    addr=int(parts[0],16)
    if parts[1]=='CC':
        asmlines[asmaddr]=asmline
        asmaddr=addr+1
        asmline=''
    else:
        asmline+=f"{addr:08x}:"+line[16:]
start=arrayaddr
stack=[0x606AC0]
switchs={}
fixswitchs={0x607c00:1,0x606fa0:1,0x606fa0:1}
count=0
while True:
    if start not in ins_dict:
        print('end of Exec chain',hex(start))
        break
    nextnode,func,check,ret=ins_dict[start]
    print(count,len(stack),hex(start),'checkaddr:',hex(check),hex(stack[-1] if stack else 0))
    if check>0:
        if checkdict[check]=='2':
            start=stack.pop()
        elif checkdict[check]=='3':
            print('call systemfunc',funcdict[func])
            #stack.append(ret)
            start=nextnode
        elif checkdict[check]=='4':
            print('call',hex(func))
            stack.append(nextnode)
            start=func
        else:
            print('call check function',checkdict[check])
            print('branch false',hex(nextnode))
            print('        true',hex(func))
            if start in fixswitchs:
                if fixswitchs[start]:
                    start=func
                else:
                    start=nextnode
            elif start in switchs and check in switchs[start]:
                switchs[start][check]=1-switchs[start][check]
                if switchs[start][check]:
                    start=func
                else:
                    start=nextnode
            else:
                switchs[start]={check:0}
                start=nextnode
    else:
        start=func
    rip=ins_dict[start][3]
    print(asmlines[rip])
    count+=1

同时用汇编工具导出一份4009f7函数的汇编代码片段:

asm 复制代码
00000000004009F7 55                              PUSH RBP
00000000004009F8 4889E5                          MOV RBP,RSP
00000000004009FB 53                              PUSH RBX
00000000004009FC 4881ECE8010000                  SUB RSP,00000000000001E8
0000000000400A03 64488B042528000000              MOV RAX,QWORD PTR FS:[0000000000000028]
0000000000400A0C 488945E8                        MOV QWORD PTR [RBP-18],RAX
0000000000400A10 31C0                            XOR EAX,EAX
0000000000400A12 C685A0FEFFFFE2                  MOV BYTE PTR [RBP-00000160],E2
0000000000400A19 C685A1FEFFFF8B                  MOV BYTE PTR [RBP-0000015F],8B
0000000000400A20 C685A2FEFFFF55                  MOV BYTE PTR [RBP-0000015E],55
0000000000400A27 C685A3FEFFFF38                  MOV BYTE PTR [RBP-0000015D],38
0000000000400A2E C685A4FEFFFF69                  MOV BYTE PTR [RBP-0000015C],69
0000000000400A35 C685A5FEFFFFFA                  MOV BYTE PTR [RBP-0000015B],FA
0000000000400A3C C685A6FEFFFF80                  MOV BYTE PTR [RBP-0000015A],80
0000000000400A43 C685A7FEFFFFC2                  MOV BYTE PTR [RBP-00000159],C2
0000000000400A4A C685A8FEFFFF64                  MOV BYTE PTR [RBP-00000158],64
0000000000400A51 C685A9FEFFFF4E                  MOV BYTE PTR [RBP-00000157],4E
0000000000400A58 C685AAFEFFFF7F                  MOV BYTE PTR [RBP-00000156],7F
0000000000400A5F C685ABFEFFFFE7                  MOV BYTE PTR [RBP-00000155],E7
0000000000400A66 C685ACFEFFFF13                  MOV BYTE PTR [RBP-00000154],13
0000000000400A6D C685ADFEFFFF06                  MOV BYTE PTR [RBP-00000153],06
0000000000400A74 C685AEFEFFFF14                  MOV BYTE PTR [RBP-00000152],14
0000000000400A7B C685AFFEFFFFC5                  MOV BYTE PTR [RBP-00000151],C5
0000000000400A82 C685B0FEFFFFC0                  MOV BYTE PTR [RBP-00000150],C0
0000000000400A89 C685B1FEFFFF13                  MOV BYTE PTR [RBP-0000014F],13
0000000000400A90 C685B2FEFFFFD3                  MOV BYTE PTR [RBP-0000014E],D3
0000000000400A97 C685B3FEFFFF12                  MOV BYTE PTR [RBP-0000014D],12
0000000000400A9E C685B4FEFFFF6B                  MOV BYTE PTR [RBP-0000014C],6B
0000000000400AA5 C685B5FEFFFFBD                  MOV BYTE PTR [RBP-0000014B],BD
0000000000400AAC C685B6FEFFFFF2                  MOV BYTE PTR [RBP-0000014A],F2
0000000000400AB3 C685B7FEFFFFC7                  MOV BYTE PTR [RBP-00000149],C7
0000000000400ABA C685B8FEFFFF88                  MOV BYTE PTR [RBP-00000148],88
0000000000400AC1 C685B9FEFFFF44                  MOV BYTE PTR [RBP-00000147],44
0000000000400AC8 C685BAFEFFFF3E                  MOV BYTE PTR [RBP-00000146],3E
0000000000400ACF C685BBFEFFFF09                  MOV BYTE PTR [RBP-00000145],09
0000000000400AD6 C685BCFEFFFFE8                  MOV BYTE PTR [RBP-00000144],E8
0000000000400ADD C685BDFEFFFFA3                  MOV BYTE PTR [RBP-00000143],A3
0000000000400AE4 C685BEFEFFFF83                  MOV BYTE PTR [RBP-00000142],83
0000000000400AEB C685BFFEFFFF30                  MOV BYTE PTR [RBP-00000141],30
0000000000400AF2 488D85A0FEFFFF                  LEA RAX,[RBP-00000160]
0000000000400AF9 4889C7                          MOV RDI,RAX
0000000000400AFC CC                              INT 3
0000000000400AFD BFFFFFFFFF                      MOV EDI,FFFFFFFF
0000000000400B02 CC                              INT 3
0000000000400B03 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
0000000000400B09 2B8538FEFFFF                    SUB EAX,DWORD PTR [RBP-000001C8]
0000000000400B0F 8D148500000000                  LEA EDX,[RAX*4+00000000]
0000000000400B16 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000400B1C 01D0                            ADD EAX,EDX
0000000000400B1E 4863D0                          MOVSXD RDX,EAX
0000000000400B21 488B8570FEFFFF                  MOV RAX,QWORD PTR [RBP-00000190]
0000000000400B28 4801D0                          ADD RAX,RDX
0000000000400B2B 0FB630                          MOVZX ESI,BYTE PTR [RAX]
0000000000400B2E 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000400B34 4898                            CDQE
0000000000400B36 0FB68C057CFEFFFF                MOVZX ECX,BYTE PTR [RBP+RAX-00000184]
0000000000400B3E 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
0000000000400B44 8D148500000000                  LEA EDX,[RAX*4+00000000]
0000000000400B4B 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000400B51 01D0                            ADD EAX,EDX
0000000000400B53 4863D0                          MOVSXD RDX,EAX
0000000000400B56 488B8570FEFFFF                  MOV RAX,QWORD PTR [RBP-00000190]
0000000000400B5D 4801D0                          ADD RAX,RDX
0000000000400B60 31CE                            XOR ESI,ECX
0000000000400B62 89F2                            MOV EDX,ESI
0000000000400B64 8810                            MOV BYTE PTR [RAX],DL
0000000000400B66 838544FEFFFF01                  ADD DWORD PTR [RBP-000001BC],00000001
0000000000400B6D CC                              INT 3
0000000000400B6E 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
0000000000400B75 4889C7                          MOV RDI,RAX
0000000000400B78 CC                              INT 3
0000000000400B79 89C7                            MOV EDI,EAX
0000000000400B7B CC                              INT 3
0000000000400B7C 837DF807                        CMP DWORD PTR [RBP-08],00000007
0000000000400B80 CC                              INT 3
0000000000400B81 31D8                            XOR EAX,EBX
0000000000400B83 88851EFEFFFF                    MOV BYTE PTR [RBP-000001E2],AL
0000000000400B89 0FB6951EFEFFFF                  MOVZX EDX,BYTE PTR [RBP-000001E2]
0000000000400B90 488B0DB15E2000                  MOV RCX,QWORD PTR [0000000000606A48]
0000000000400B97 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400B9D 4898                            CDQE
0000000000400B9F 4801C8                          ADD RAX,RCX
0000000000400BA2 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400BA5 0FBEC0                          MOVSX EAX,AL
0000000000400BA8 39C2                            CMP EDX,EAX
0000000000400BAA CC                              INT 3
0000000000400BAB 89C3                            MOV EBX,EAX
0000000000400BAD 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400BB1 4883C001                        ADD RAX,0000000000000001
0000000000400BB5 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400BB8 0FB6C0                          MOVZX EAX,AL
0000000000400BBB 89C7                            MOV EDI,EAX
0000000000400BBD CC                              INT 3
0000000000400BBE 31D8                            XOR EAX,EBX
0000000000400BC0 88851EFEFFFF                    MOV BYTE PTR [RBP-000001E2],AL
0000000000400BC6 0FB6951EFEFFFF                  MOVZX EDX,BYTE PTR [RBP-000001E2]
0000000000400BCD 488B0D745E2000                  MOV RCX,QWORD PTR [0000000000606A48]
0000000000400BD4 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400BDA 83C011                          ADD EAX,00000011
0000000000400BDD 4898                            CDQE
0000000000400BDF 4801C8                          ADD RAX,RCX
0000000000400BE2 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400BE5 0FBEC0                          MOVSX EAX,AL
0000000000400BE8 39C2                            CMP EDX,EAX
0000000000400BEA CC                              INT 3
0000000000400BEB 488D3D293D0000                  LEA RDI,[000000000040491B]
0000000000400BF2 B800000000                      MOV EAX,00000000
0000000000400BF7 CC                              INT 3
0000000000400BF8 BF00000100                      MOV EDI,00010000
0000000000400BFD CC                              INT 3
0000000000400BFE 31D8                            XOR EAX,EBX
0000000000400C00 8845E6                          MOV BYTE PTR [RBP-1A],AL
0000000000400C03 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400C07 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400C0A 0FB6C0                          MOVZX EAX,AL
0000000000400C0D 89C7                            MOV EDI,EAX
0000000000400C0F CC                              INT 3
0000000000400C10 55                              PUSH RBP
0000000000400C11 4889E5                          MOV RBP,RSP
0000000000400C14 53                              PUSH RBX
0000000000400C15 4883EC08                        SUB RSP,0000000000000008
0000000000400C19 89F8                            MOV EAX,EDI
0000000000400C1B 8845F4                          MOV BYTE PTR [RBP-0C],AL
0000000000400C1E 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
0000000000400C22 89C7                            MOV EDI,EAX
0000000000400C24 CC                              INT 3
0000000000400C25 90                              NOP
0000000000400C26 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400C2A 644833042528000000              XOR RAX,QWORD PTR FS:[0000000000000028]
0000000000400C33 CC                              INT 3
0000000000400C34 31C3                            XOR EBX,EAX
0000000000400C36 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400C3A 4883C003                        ADD RAX,0000000000000003
0000000000400C3E 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400C41 0FB6C0                          MOVZX EAX,AL
0000000000400C44 89C7                            MOV EDI,EAX
0000000000400C46 CC                              INT 3
0000000000400C47 838540FEFFFF01                  ADD DWORD PTR [RBP-000001C0],00000001
0000000000400C4E CC                              INT 3
0000000000400C4F 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400C55 4898                            CDQE
0000000000400C57 0FB69405C0FEFFFF                MOVZX EDX,BYTE PTR [RBP+RAX-00000140]
0000000000400C5F 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400C65 4898                            CDQE
0000000000400C67 0FB68405A0FEFFFF                MOVZX EAX,BYTE PTR [RBP+RAX-00000160]
0000000000400C6F 31D0                            XOR EAX,EDX
0000000000400C71 89C3                            MOV EBX,EAX
0000000000400C73 CC                              INT 3
0000000000400C74 83BD20FEFFFF0F                  CMP DWORD PTR [RBP-000001E0],0000000F
0000000000400C7B CC                              INT 3
0000000000400C7C 83BD20FEFFFF0F                  CMP DWORD PTR [RBP-000001E0],0000000F
0000000000400C83 CC                              INT 3
0000000000400C84 83BD44FEFFFF03                  CMP DWORD PTR [RBP-000001BC],00000003
0000000000400C8B CC                              INT 3
0000000000400C8C 4881C4E8010000                  ADD RSP,00000000000001E8
0000000000400C93 5B                              POP RBX
0000000000400C94 5D                              POP RBP
0000000000400C95 CC                              INT 3
0000000000400C96 31C3                            XOR EBX,EAX
0000000000400C98 89DA                            MOV EDX,EBX
0000000000400C9A 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400C9E 4883C002                        ADD RAX,0000000000000002
0000000000400CA2 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400CA5 31C2                            XOR EDX,EAX
0000000000400CA7 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400CAB 4883C003                        ADD RAX,0000000000000003
0000000000400CAF 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400CB2 31D0                            XOR EAX,EDX
0000000000400CB4 8845E4                          MOV BYTE PTR [RBP-1C],AL
0000000000400CB7 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400CBB 0FB618                          MOVZX EBX,BYTE PTR [RAX]
0000000000400CBE 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400CC2 4883C001                        ADD RAX,0000000000000001
0000000000400CC6 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400CC9 0FB6C0                          MOVZX EAX,AL
0000000000400CCC 89C7                            MOV EDI,EAX
0000000000400CCE CC                              INT 3
0000000000400CCF 55                              PUSH RBP
0000000000400CD0 4889E5                          MOV RBP,RSP
0000000000400CD3 48897DE8                        MOV QWORD PTR [RBP-18],RDI
0000000000400CD7 C745FC00000000                  MOV DWORD PTR [RBP-04],00000000
0000000000400CDE CC                              INT 3
0000000000400CDF 488D85C0FEFFFF                  LEA RAX,[RBP-00000140]
0000000000400CE6 48898558FEFFFF                  MOV QWORD PTR [RBP-000001A8],RAX
0000000000400CED 488D85F0FEFFFF                  LEA RAX,[RBP-00000110]
0000000000400CF4 48898560FEFFFF                  MOV QWORD PTR [RBP-000001A0],RAX
0000000000400CFB C78530FEFFFF0A000000            MOV DWORD PTR [RBP-000001D0],0000000A
0000000000400D05 488B8D60FEFFFF                  MOV RCX,QWORD PTR [RBP-000001A0]
0000000000400D0C 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000400D13 BA00000000                      MOV EDX,00000000
0000000000400D18 4889CE                          MOV RSI,RCX
0000000000400D1B 4889C7                          MOV RDI,RAX
0000000000400D1E CC                              INT 3
0000000000400D1F 55                              PUSH RBP
0000000000400D20 4889E5                          MOV RBP,RSP
0000000000400D23 4883EC30                        SUB RSP,0000000000000030
0000000000400D27 48897DD8                        MOV QWORD PTR [RBP-28],RDI
0000000000400D2B 8975D4                          MOV DWORD PTR [RBP-2C],ESI
0000000000400D2E 64488B042528000000              MOV RAX,QWORD PTR FS:[0000000000000028]
0000000000400D37 488945F8                        MOV QWORD PTR [RBP-08],RAX
0000000000400D3B 31C0                            XOR EAX,EAX
0000000000400D3D C745F000000000                  MOV DWORD PTR [RBP-10],00000000
0000000000400D44 CC                              INT 3
0000000000400D45 488D3D543D0000                  LEA RDI,[0000000000404AA0]
0000000000400D4C CC                              INT 3
0000000000400D4D 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000400D54 4889C7                          MOV RDI,RAX
0000000000400D57 CC                              INT 3
0000000000400D58 90                              NOP
0000000000400D59 5D                              POP RBP
0000000000400D5A CC                              INT 3
0000000000400D5B 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000400D5E 4863D0                          MOVSXD RDX,EAX
0000000000400D61 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400D65 4801D0                          ADD RAX,RDX
0000000000400D68 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400D6B 0FB6C0                          MOVZX EAX,AL
0000000000400D6E 8B55FC                          MOV EDX,DWORD PTR [RBP-04]
0000000000400D71 4863CA                          MOVSXD RCX,EDX
0000000000400D74 488B55E8                        MOV RDX,QWORD PTR [RBP-18]
0000000000400D78 4801D1                          ADD RCX,RDX
0000000000400D7B 4863D0                          MOVSXD RDX,EAX
0000000000400D7E 488D059B522000                  LEA RAX,[0000000000606020]
0000000000400D85 0FB60402                        MOVZX EAX,BYTE PTR [RDX+RAX]
0000000000400D89 8801                            MOV BYTE PTR [RCX],AL
0000000000400D8B 8345FC01                        ADD DWORD PTR [RBP-04],00000001
0000000000400D8F CC                              INT 3
0000000000400D90 89C3                            MOV EBX,EAX
0000000000400D92 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400D96 4883C001                        ADD RAX,0000000000000001
0000000000400D9A 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400D9D 0FB6C0                          MOVZX EAX,AL
0000000000400DA0 89C7                            MOV EDI,EAX
0000000000400DA2 CC                              INT 3
0000000000400DA3 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000400DA9 4898                            CDQE
0000000000400DAB 0FB684057CFEFFFF                MOVZX EAX,BYTE PTR [RBP+RAX-00000184]
0000000000400DB3 0FB6C0                          MOVZX EAX,AL
0000000000400DB6 4863D0                          MOVSXD RDX,EAX
0000000000400DB9 488D0560522000                  LEA RAX,[0000000000606020]
0000000000400DC0 0FB61402                        MOVZX EDX,BYTE PTR [RDX+RAX]
0000000000400DC4 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000400DCA 4898                            CDQE
0000000000400DCC 8894057CFEFFFF                  MOV BYTE PTR [RBP+RAX-00000184],DL
0000000000400DD3 838544FEFFFF01                  ADD DWORD PTR [RBP-000001BC],00000001
0000000000400DDA CC                              INT 3
0000000000400DDB 3245FC                          XOR AL,BYTE PTR [RBP-04]
0000000000400DDE C9                              LEAVE
0000000000400DDF CC                              INT 3
0000000000400DE0 90                              NOP
0000000000400DE1 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400DE5 644833042528000000              XOR RAX,QWORD PTR FS:[0000000000000028]
0000000000400DEE CC                              INT 3
0000000000400DEF 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400DF5 83C010                          ADD EAX,00000010
0000000000400DF8 4898                            CDQE
0000000000400DFA 0FB69405C0FEFFFF                MOVZX EDX,BYTE PTR [RBP+RAX-00000140]
0000000000400E02 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
0000000000400E08 83C010                          ADD EAX,00000010
0000000000400E0B 4898                            CDQE
0000000000400E0D 0FB68405A0FEFFFF                MOVZX EAX,BYTE PTR [RBP+RAX-00000160]
0000000000400E15 31D0                            XOR EAX,EDX
0000000000400E17 89C3                            MOV EBX,EAX
0000000000400E19 CC                              INT 3
0000000000400E1A 83BD44FEFFFF03                  CMP DWORD PTR [RBP-000001BC],00000003
0000000000400E21 CC                              INT 3
0000000000400E22 8B45F0                          MOV EAX,DWORD PTR [RBP-10]
0000000000400E25 4863D0                          MOVSXD RDX,EAX
0000000000400E28 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400E2C 4801C2                          ADD RDX,RAX
0000000000400E2F 0FB645EF                        MOVZX EAX,BYTE PTR [RBP-11]
0000000000400E33 8802                            MOV BYTE PTR [RDX],AL
0000000000400E35 8345F001                        ADD DWORD PTR [RBP-10],00000001
0000000000400E39 CC                              INT 3
0000000000400E3A 8B9534FEFFFF                    MOV EDX,DWORD PTR [RBP-000001CC]
0000000000400E40 488B8D60FEFFFF                  MOV RCX,QWORD PTR [RBP-000001A0]
0000000000400E47 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000400E4E 4889CE                          MOV RSI,RCX
0000000000400E51 4889C7                          MOV RDI,RAX
0000000000400E54 CC                              INT 3
0000000000400E55 488D3DFC3B0000                  LEA RDI,[0000000000404A58]
0000000000400E5C CC                              INT 3
0000000000400E5D 55                              PUSH RBP
0000000000400E5E 4889E5                          MOV RBP,RSP
0000000000400E61 48897DE8                        MOV QWORD PTR [RBP-18],RDI
0000000000400E65 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E69 0FB6400D                        MOVZX EAX,BYTE PTR [RAX+0D]
0000000000400E6D 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000400E70 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E74 488D500D                        LEA RDX,[RAX+0D]
0000000000400E78 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E7C 0FB64009                        MOVZX EAX,BYTE PTR [RAX+09]
0000000000400E80 8802                            MOV BYTE PTR [RDX],AL
0000000000400E82 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E86 488D5009                        LEA RDX,[RAX+09]
0000000000400E8A 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E8E 0FB64005                        MOVZX EAX,BYTE PTR [RAX+05]
0000000000400E92 8802                            MOV BYTE PTR [RDX],AL
0000000000400E94 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400E98 488D5005                        LEA RDX,[RAX+05]
0000000000400E9C 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EA0 0FB64001                        MOVZX EAX,BYTE PTR [RAX+01]
0000000000400EA4 8802                            MOV BYTE PTR [RDX],AL
0000000000400EA6 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EAA 488D5001                        LEA RDX,[RAX+01]
0000000000400EAE 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
0000000000400EB2 8802                            MOV BYTE PTR [RDX],AL
0000000000400EB4 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EB8 0FB64002                        MOVZX EAX,BYTE PTR [RAX+02]
0000000000400EBC 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000400EBF 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EC3 488D5002                        LEA RDX,[RAX+02]
0000000000400EC7 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400ECB 0FB6400A                        MOVZX EAX,BYTE PTR [RAX+0A]
0000000000400ECF 8802                            MOV BYTE PTR [RDX],AL
0000000000400ED1 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400ED5 488D500A                        LEA RDX,[RAX+0A]
0000000000400ED9 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
0000000000400EDD 8802                            MOV BYTE PTR [RDX],AL
0000000000400EDF 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EE3 0FB64006                        MOVZX EAX,BYTE PTR [RAX+06]
0000000000400EE7 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000400EEA 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EEE 488D5006                        LEA RDX,[RAX+06]
0000000000400EF2 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400EF6 0FB6400E                        MOVZX EAX,BYTE PTR [RAX+0E]
0000000000400EFA 8802                            MOV BYTE PTR [RDX],AL
0000000000400EFC 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F00 488D500E                        LEA RDX,[RAX+0E]
0000000000400F04 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
0000000000400F08 8802                            MOV BYTE PTR [RDX],AL
0000000000400F0A 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F0E 0FB64003                        MOVZX EAX,BYTE PTR [RAX+03]
0000000000400F12 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000400F15 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F19 488D5003                        LEA RDX,[RAX+03]
0000000000400F1D 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F21 0FB64007                        MOVZX EAX,BYTE PTR [RAX+07]
0000000000400F25 8802                            MOV BYTE PTR [RDX],AL
0000000000400F27 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F2B 488D5007                        LEA RDX,[RAX+07]
0000000000400F2F 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F33 0FB6400B                        MOVZX EAX,BYTE PTR [RAX+0B]
0000000000400F37 8802                            MOV BYTE PTR [RDX],AL
0000000000400F39 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F3D 488D500B                        LEA RDX,[RAX+0B]
0000000000400F41 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F45 0FB6400F                        MOVZX EAX,BYTE PTR [RAX+0F]
0000000000400F49 8802                            MOV BYTE PTR [RDX],AL
0000000000400F4B 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F4F 488D500F                        LEA RDX,[RAX+0F]
0000000000400F53 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
0000000000400F57 8802                            MOV BYTE PTR [RDX],AL
0000000000400F59 90                              NOP
0000000000400F5A 5D                              POP RBP
0000000000400F5B CC                              INT 3
0000000000400F5C 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000400F60 644833042528000000              XOR RAX,QWORD PTR FS:[0000000000000028]
0000000000400F69 CC                              INT 3
0000000000400F6A 55                              PUSH RBP
0000000000400F6B 4889E5                          MOV RBP,RSP
0000000000400F6E 89F8                            MOV EAX,EDI
0000000000400F70 8845FC                          MOV BYTE PTR [RBP-04],AL
0000000000400F73 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
0000000000400F77 84C0                            TEST AL,AL
0000000000400F79 CC                              INT 3
0000000000400F7A 31D8                            XOR EAX,EBX
0000000000400F7C 4883C408                        ADD RSP,0000000000000008
0000000000400F80 5B                              POP RBX
0000000000400F81 5D                              POP RBP
0000000000400F82 CC                              INT 3
0000000000400F83 0FB68D7CFEFFFF                  MOVZX ECX,BYTE PTR [RBP-00000184]
0000000000400F8A 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
0000000000400F90 99                              CDQ
0000000000400F91 F7BD38FEFFFF                    IDIV EAX,DWORD PTR [RBP-000001C8]
0000000000400F97 83E801                          SUB EAX,00000001
0000000000400F9A 4863D0                          MOVSXD RDX,EAX
0000000000400F9D 488D058C3B0000                  LEA RAX,[0000000000404B30]
0000000000400FA4 0FB60402                        MOVZX EAX,BYTE PTR [RDX+RAX]
0000000000400FA8 31C8                            XOR EAX,ECX
0000000000400FAA 88857CFEFFFF                    MOV BYTE PTR [RBP-00000184],AL
0000000000400FB0 CC                              INT 3
0000000000400FB1 8B8528FEFFFF                    MOV EAX,DWORD PTR [RBP-000001D8]
0000000000400FB7 83E801                          SUB EAX,00000001
0000000000400FBA 39852CFEFFFF                    CMP DWORD PTR [RBP-000001D4],EAX
0000000000400FC0 CC                              INT 3
0000000000400FC1 488D3D203B0000                  LEA RDI,[0000000000404AE8]
0000000000400FC8 CC                              INT 3
0000000000400FC9 31D8                            XOR EAX,EBX
0000000000400FCB 8845E4                          MOV BYTE PTR [RBP-1C],AL
0000000000400FCE 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400FD2 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400FD5 0FB6C0                          MOVZX EAX,AL
0000000000400FD8 89C7                            MOV EDI,EAX
0000000000400FDA CC                              INT 3
0000000000400FDB 89C3                            MOV EBX,EAX
0000000000400FDD 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000400FE1 4883C001                        ADD RAX,0000000000000001
0000000000400FE5 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000400FE8 0FB6C0                          MOVZX EAX,AL
0000000000400FEB 89C7                            MOV EDI,EAX
0000000000400FED CC                              INT 3
0000000000400FEE C745F800000000                  MOV DWORD PTR [RBP-08],00000000
0000000000400FF5 CC                              INT 3
0000000000400FF6 90                              NOP
0000000000400FF7 5D                              POP RBP
0000000000400FF8 CC                              INT 3
0000000000400FF9 C9                              LEAVE
0000000000400FFA CC                              INT 3
0000000000400FFB CC                              INT 3
0000000000400FFC 55                              PUSH RBP
0000000000400FFD 4889E5                          MOV RBP,RSP
0000000000401000 4883EC08                        SUB RSP,0000000000000008
0000000000401004 89F8                            MOV EAX,EDI
0000000000401006 8845FC                          MOV BYTE PTR [RBP-04],AL
0000000000401009 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
000000000040100D 89C7                            MOV EDI,EAX
000000000040100F CC                              INT 3
0000000000401010 838524FEFFFF01                  ADD DWORD PTR [RBP-000001DC],00000001
0000000000401017 CC                              INT 3
0000000000401018 488B05515A2000                  MOV RAX,QWORD PTR [0000000000606A70]
000000000040101F B900000000                      MOV ECX,00000000
0000000000401024 BA02000000                      MOV EDX,00000002
0000000000401029 BE00000000                      MOV ESI,00000000
000000000040102E 4889C7                          MOV RDI,RAX
0000000000401031 CC                              INT 3
0000000000401032 C9                              LEAVE
0000000000401033 CC                              INT 3
0000000000401034 89C2                            MOV EDX,EAX
0000000000401036 8B8520FEFFFF                    MOV EAX,DWORD PTR [RBP-000001E0]
000000000040103C 4898                            CDQE
000000000040103E 88940580FEFFFF                  MOV BYTE PTR [RBP+RAX-00000180],DL
0000000000401045 838520FEFFFF01                  ADD DWORD PTR [RBP-000001E0],00000001
000000000040104C CC                              INT 3
000000000040104D 31C3                            XOR EBX,EAX
000000000040104F 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401053 4883C003                        ADD RAX,0000000000000003
0000000000401057 0FB600                          MOVZX EAX,BYTE PTR [RAX]
000000000040105A 0FB6C0                          MOVZX EAX,AL
000000000040105D 89C7                            MOV EDI,EAX
000000000040105F CC                              INT 3
0000000000401060 31C3                            XOR EBX,EAX
0000000000401062 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401066 4883C002                        ADD RAX,0000000000000002
000000000040106A 0FB600                          MOVZX EAX,BYTE PTR [RAX]
000000000040106D 0FB6C0                          MOVZX EAX,AL
0000000000401070 89C7                            MOV EDI,EAX
0000000000401072 CC                              INT 3
0000000000401073 8B8538FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C8]
0000000000401079 898540FEFFFF                    MOV DWORD PTR [RBP-000001C0],EAX
000000000040107F CC                              INT 3
0000000000401080 55                              PUSH RBP
0000000000401081 4889E5                          MOV RBP,RSP
0000000000401084 48897DE8                        MOV QWORD PTR [RBP-18],RDI
0000000000401088 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040108C 0FB64001                        MOVZX EAX,BYTE PTR [RAX+01]
0000000000401090 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000401093 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401097 488D5001                        LEA RDX,[RAX+01]
000000000040109B 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040109F 0FB64005                        MOVZX EAX,BYTE PTR [RAX+05]
00000000004010A3 8802                            MOV BYTE PTR [RDX],AL
00000000004010A5 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010A9 488D5005                        LEA RDX,[RAX+05]
00000000004010AD 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010B1 0FB64009                        MOVZX EAX,BYTE PTR [RAX+09]
00000000004010B5 8802                            MOV BYTE PTR [RDX],AL
00000000004010B7 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010BB 488D5009                        LEA RDX,[RAX+09]
00000000004010BF 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010C3 0FB6400D                        MOVZX EAX,BYTE PTR [RAX+0D]
00000000004010C7 8802                            MOV BYTE PTR [RDX],AL
00000000004010C9 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010CD 488D500D                        LEA RDX,[RAX+0D]
00000000004010D1 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
00000000004010D5 8802                            MOV BYTE PTR [RDX],AL
00000000004010D7 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010DB 0FB64002                        MOVZX EAX,BYTE PTR [RAX+02]
00000000004010DF 8845FF                          MOV BYTE PTR [RBP-01],AL
00000000004010E2 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010E6 488D5002                        LEA RDX,[RAX+02]
00000000004010EA 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010EE 0FB6400A                        MOVZX EAX,BYTE PTR [RAX+0A]
00000000004010F2 8802                            MOV BYTE PTR [RDX],AL
00000000004010F4 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
00000000004010F8 488D500A                        LEA RDX,[RAX+0A]
00000000004010FC 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
0000000000401100 8802                            MOV BYTE PTR [RDX],AL
0000000000401102 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401106 0FB64006                        MOVZX EAX,BYTE PTR [RAX+06]
000000000040110A 8845FF                          MOV BYTE PTR [RBP-01],AL
000000000040110D 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401111 488D5006                        LEA RDX,[RAX+06]
0000000000401115 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401119 0FB6400E                        MOVZX EAX,BYTE PTR [RAX+0E]
000000000040111D 8802                            MOV BYTE PTR [RDX],AL
000000000040111F 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401123 488D500E                        LEA RDX,[RAX+0E]
0000000000401127 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
000000000040112B 8802                            MOV BYTE PTR [RDX],AL
000000000040112D 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401131 0FB6400F                        MOVZX EAX,BYTE PTR [RAX+0F]
0000000000401135 8845FF                          MOV BYTE PTR [RBP-01],AL
0000000000401138 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040113C 488D500F                        LEA RDX,[RAX+0F]
0000000000401140 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401144 0FB6400B                        MOVZX EAX,BYTE PTR [RAX+0B]
0000000000401148 8802                            MOV BYTE PTR [RDX],AL
000000000040114A 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040114E 488D500B                        LEA RDX,[RAX+0B]
0000000000401152 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401156 0FB64007                        MOVZX EAX,BYTE PTR [RAX+07]
000000000040115A 8802                            MOV BYTE PTR [RDX],AL
000000000040115C 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401160 488D5007                        LEA RDX,[RAX+07]
0000000000401164 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401168 0FB64003                        MOVZX EAX,BYTE PTR [RAX+03]
000000000040116C 8802                            MOV BYTE PTR [RDX],AL
000000000040116E 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401172 488D5003                        LEA RDX,[RAX+03]
0000000000401176 0FB645FF                        MOVZX EAX,BYTE PTR [RBP-01]
000000000040117A 8802                            MOV BYTE PTR [RDX],AL
000000000040117C 90                              NOP
000000000040117D 5D                              POP RBP
000000000040117E CC                              INT 3
000000000040117F 8345F801                        ADD DWORD PTR [RBP-08],00000001
0000000000401183 CC                              INT 3
0000000000401184 488B05D5582000                  MOV RAX,QWORD PTR [0000000000606A60]
000000000040118B B900000000                      MOV ECX,00000000
0000000000401190 BA02000000                      MOV EDX,00000002
0000000000401195 BE00000000                      MOV ESI,00000000
000000000040119A 4889C7                          MOV RDI,RAX
000000000040119D CC                              INT 3
000000000040119E 31C3                            XOR EBX,EAX
00000000004011A0 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004011A4 4883C002                        ADD RAX,0000000000000002
00000000004011A8 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004011AB 0FB6C0                          MOVZX EAX,AL
00000000004011AE 89C7                            MOV EDI,EAX
00000000004011B0 CC                              INT 3
00000000004011B1 31C3                            XOR EBX,EAX
00000000004011B3 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004011B7 4883C002                        ADD RAX,0000000000000002
00000000004011BB 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004011BE 0FB6C0                          MOVZX EAX,AL
00000000004011C1 89C7                            MOV EDI,EAX
00000000004011C3 CC                              INT 3
00000000004011C4 488D8580FEFFFF                  LEA RAX,[RBP-00000180]
00000000004011CB 48898568FEFFFF                  MOV QWORD PTR [RBP-00000198],RAX
00000000004011D2 488D85F0FEFFFF                  LEA RAX,[RBP-00000110]
00000000004011D9 48898570FEFFFF                  MOV QWORD PTR [RBP-00000190],RAX
00000000004011E0 C78538FEFFFF04000000            MOV DWORD PTR [RBP-000001C8],00000004
00000000004011EA C7853CFEFFFF0A000000            MOV DWORD PTR [RBP-000001C4],0000000A
00000000004011F4 C78540FEFFFF00000000            MOV DWORD PTR [RBP-000001C0],00000000
00000000004011FE CC                              INT 3
00000000004011FF C78520FEFFFF00000000            MOV DWORD PTR [RBP-000001E0],00000000
0000000000401209 CC                              INT 3
000000000040120A CC                              INT 3
000000000040120B CC                              INT 3
000000000040120C 4883C428                        ADD RSP,0000000000000028
0000000000401210 5B                              POP RBX
0000000000401211 5D                              POP RBP
0000000000401212 CC                              INT 3
0000000000401213 8B952CFEFFFF                    MOV EDX,DWORD PTR [RBP-000001D4]
0000000000401219 488B8D50FEFFFF                  MOV RCX,QWORD PTR [RBP-000001B0]
0000000000401220 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
0000000000401227 4889CE                          MOV RSI,RCX
000000000040122A 4889C7                          MOV RDI,RAX
000000000040122D CC                              INT 3
000000000040122E 8B9528FEFFFF                    MOV EDX,DWORD PTR [RBP-000001D8]
0000000000401234 488B8D50FEFFFF                  MOV RCX,QWORD PTR [RBP-000001B0]
000000000040123B 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
0000000000401242 4889CE                          MOV RSI,RCX
0000000000401245 4889C7                          MOV RDI,RAX
0000000000401248 CC                              INT 3
0000000000401249 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000401250 4889C7                          MOV RDI,RAX
0000000000401253 CC                              INT 3
0000000000401254 488D3D25370000                  LEA RDI,[0000000000404980]
000000000040125B CC                              INT 3
000000000040125C 31D8                            XOR EAX,EBX
000000000040125E 8845E7                          MOV BYTE PTR [RBP-19],AL
0000000000401261 0FB655E4                        MOVZX EDX,BYTE PTR [RBP-1C]
0000000000401265 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401269 8810                            MOV BYTE PTR [RAX],DL
000000000040126B 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040126F 488D5001                        LEA RDX,[RAX+01]
0000000000401273 0FB645E5                        MOVZX EAX,BYTE PTR [RBP-1B]
0000000000401277 8802                            MOV BYTE PTR [RDX],AL
0000000000401279 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040127D 488D5002                        LEA RDX,[RAX+02]
0000000000401281 0FB645E6                        MOVZX EAX,BYTE PTR [RBP-1A]
0000000000401285 8802                            MOV BYTE PTR [RDX],AL
0000000000401287 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040128B 488D5003                        LEA RDX,[RAX+03]
000000000040128F 0FB645E7                        MOVZX EAX,BYTE PTR [RBP-19]
0000000000401293 8802                            MOV BYTE PTR [RDX],AL
0000000000401295 8345E001                        ADD DWORD PTR [RBP-20],00000001
0000000000401299 488345D804                      ADD QWORD PTR [RBP-28],0000000000000004
000000000040129E CC                              INT 3
000000000040129F 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
00000000004012A6 4889C7                          MOV RDI,RAX
00000000004012A9 CC                              INT 3
00000000004012AA 488D3D17370000                  LEA RDI,[00000000004049C8]
00000000004012B1 CC                              INT 3
00000000004012B2 BF01000000                      MOV EDI,00000001
00000000004012B7 CC                              INT 3
00000000004012B8 C745FC00000000                  MOV DWORD PTR [RBP-04],00000000
00000000004012BF CC                              INT 3
00000000004012C0 CC                              INT 3
00000000004012C1 90                              NOP
00000000004012C2 CC                              INT 3
00000000004012C3 55                              PUSH RBP
00000000004012C4 4889E5                          MOV RBP,RSP
00000000004012C7 53                              PUSH RBX
00000000004012C8 4883EC28                        SUB RSP,0000000000000028
00000000004012CC 48897DD8                        MOV QWORD PTR [RBP-28],RDI
00000000004012D0 64488B042528000000              MOV RAX,QWORD PTR FS:[0000000000000028]
00000000004012D9 488945E8                        MOV QWORD PTR [RBP-18],RAX
00000000004012DD 31C0                            XOR EAX,EAX
00000000004012DF C745E000000000                  MOV DWORD PTR [RBP-20],00000000
00000000004012E6 CC                              INT 3
00000000004012E7 488D3D22370000                  LEA RDI,[0000000000404A10]
00000000004012EE CC                              INT 3
00000000004012EF 8B9530FEFFFF                    MOV EDX,DWORD PTR [RBP-000001D0]
00000000004012F5 488B8D60FEFFFF                  MOV RCX,QWORD PTR [RBP-000001A0]
00000000004012FC 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000401303 4889CE                          MOV RSI,RCX
0000000000401306 4889C7                          MOV RDI,RAX
0000000000401309 CC                              INT 3
000000000040130A 83BD44FEFFFF03                  CMP DWORD PTR [RBP-000001BC],00000003
0000000000401311 CC                              INT 3
0000000000401312 0FB645EF                        MOVZX EAX,BYTE PTR [RBP-11]
0000000000401316 3C0A                            CMP AL,0A
0000000000401318 CC                              INT 3
0000000000401319 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
0000000000401320 4889C7                          MOV RDI,RAX
0000000000401323 CC                              INT 3
0000000000401324 0FB6C0                          MOVZX EAX,AL
0000000000401327 89C7                            MOV EDI,EAX
0000000000401329 CC                              INT 3
000000000040132A 89C3                            MOV EBX,EAX
000000000040132C 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401330 4883C001                        ADD RAX,0000000000000001
0000000000401334 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401337 0FB6C0                          MOVZX EAX,AL
000000000040133A 89C7                            MOV EDI,EAX
000000000040133C CC                              INT 3
000000000040133D 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401340 4863D0                          MOVSXD RDX,EAX
0000000000401343 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401347 4801D0                          ADD RAX,RDX
000000000040134A 0FB630                          MOVZX ESI,BYTE PTR [RAX]
000000000040134D 8B45DC                          MOV EAX,DWORD PTR [RBP-24]
0000000000401350 C1E004                          SHL EAX,04
0000000000401353 89C2                            MOV EDX,EAX
0000000000401355 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401358 01D0                            ADD EAX,EDX
000000000040135A 4863D0                          MOVSXD RDX,EAX
000000000040135D 488B45E0                        MOV RAX,QWORD PTR [RBP-20]
0000000000401361 4801D0                          ADD RAX,RDX
0000000000401364 0FB608                          MOVZX ECX,BYTE PTR [RAX]
0000000000401367 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
000000000040136A 4863D0                          MOVSXD RDX,EAX
000000000040136D 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401371 4801D0                          ADD RAX,RDX
0000000000401374 31CE                            XOR ESI,ECX
0000000000401376 89F2                            MOV EDX,ESI
0000000000401378 8810                            MOV BYTE PTR [RAX],DL
000000000040137A 8345FC01                        ADD DWORD PTR [RBP-04],00000001
000000000040137E CC                              INT 3
000000000040137F C78520FEFFFF00000000            MOV DWORD PTR [RBP-000001E0],00000000
0000000000401389 CC                              INT 3
000000000040138A CC                              INT 3
000000000040138B 837DFC0F                        CMP DWORD PTR [RBP-04],0000000F
000000000040138F CC                              INT 3
0000000000401390 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
0000000000401396 4863D0                          MOVSXD RDX,EAX
0000000000401399 488B8568FEFFFF                  MOV RAX,QWORD PTR [RBP-00000198]
00000000004013A0 4801D0                          ADD RAX,RDX
00000000004013A3 8B9540FEFFFF                    MOV EDX,DWORD PTR [RBP-000001C0]
00000000004013A9 4863CA                          MOVSXD RCX,EDX
00000000004013AC 488B9570FEFFFF                  MOV RDX,QWORD PTR [RBP-00000190]
00000000004013B3 4801CA                          ADD RDX,RCX
00000000004013B6 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004013B9 8802                            MOV BYTE PTR [RDX],AL
00000000004013BB 838540FEFFFF01                  ADD DWORD PTR [RBP-000001C0],00000001
00000000004013C2 CC                              INT 3
00000000004013C3 488B057E562000                  MOV RAX,QWORD PTR [0000000000606A48]
00000000004013CA 4889C7                          MOV RDI,RAX
00000000004013CD CC                              INT 3
00000000004013CE 31D8                            XOR EAX,EBX
00000000004013D0 8845E5                          MOV BYTE PTR [RBP-1B],AL
00000000004013D3 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004013D7 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004013DA 0FB6C0                          MOVZX EAX,AL
00000000004013DD 89C7                            MOV EDI,EAX
00000000004013DF CC                              INT 3
00000000004013E0 55                              PUSH RBP
00000000004013E1 4889E5                          MOV RBP,RSP
00000000004013E4 4883EC08                        SUB RSP,0000000000000008
00000000004013E8 89F8                            MOV EAX,EDI
00000000004013EA 8845FC                          MOV BYTE PTR [RBP-04],AL
00000000004013ED 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
00000000004013F1 89C7                            MOV EDI,EAX
00000000004013F3 CC                              INT 3
00000000004013F4 31C3                            XOR EBX,EAX
00000000004013F6 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004013FA 4883C003                        ADD RAX,0000000000000003
00000000004013FE 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401401 0FB6C0                          MOVZX EAX,AL
0000000000401404 89C7                            MOV EDI,EAX
0000000000401406 CC                              INT 3
0000000000401407 8945F4                          MOV DWORD PTR [RBP-0C],EAX
000000000040140A 837DF400                        CMP DWORD PTR [RBP-0C],00000000
000000000040140E CC                              INT 3
000000000040140F 488D45E0                        LEA RAX,[RBP-20]
0000000000401413 BE10000000                      MOV ESI,00000010
0000000000401418 4889C7                          MOV RDI,RAX
000000000040141B CC                              INT 3
000000000040141C 55                              PUSH RBP
000000000040141D 4889E5                          MOV RBP,RSP
0000000000401420 4883EC10                        SUB RSP,0000000000000010
0000000000401424 897DFC                          MOV DWORD PTR [RBP-04],EDI
0000000000401427 488D3DFF340000                  LEA RDI,[000000000040492D]
000000000040142E CC                              INT 3
000000000040142F 488D45EF                        LEA RAX,[RBP-11]
0000000000401433 BA01000000                      MOV EDX,00000001
0000000000401438 4889C6                          MOV RSI,RAX
000000000040143B BF00000000                      MOV EDI,00000000
0000000000401440 CC                              INT 3
0000000000401441 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401444 4863D0                          MOVSXD RDX,EAX
0000000000401447 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040144B 4801D0                          ADD RAX,RDX
000000000040144E 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401451 0FB6C0                          MOVZX EAX,AL
0000000000401454 8B55FC                          MOV EDX,DWORD PTR [RBP-04]
0000000000401457 4863CA                          MOVSXD RCX,EDX
000000000040145A 488B55E8                        MOV RDX,QWORD PTR [RBP-18]
000000000040145E 4801D1                          ADD RCX,RDX
0000000000401461 4863D0                          MOVSXD RDX,EAX
0000000000401464 488D05B54C2000                  LEA RAX,[0000000000606120]
000000000040146B 0FB60402                        MOVZX EAX,BYTE PTR [RDX+RAX]
000000000040146F 8801                            MOV BYTE PTR [RCX],AL
0000000000401471 8345FC01                        ADD DWORD PTR [RBP-04],00000001
0000000000401475 CC                              INT 3
0000000000401476 55                              PUSH RBP
0000000000401477 4889E5                          MOV RBP,RSP
000000000040147A 53                              PUSH RBX
000000000040147B 4883EC08                        SUB RSP,0000000000000008
000000000040147F 89F8                            MOV EAX,EDI
0000000000401481 8845F4                          MOV BYTE PTR [RBP-0C],AL
0000000000401484 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
0000000000401488 89C7                            MOV EDI,EAX
000000000040148A CC                              INT 3
000000000040148B 837DFC0F                        CMP DWORD PTR [RBP-04],0000000F
000000000040148F CC                              INT 3
0000000000401490 838524FEFFFF01                  ADD DWORD PTR [RBP-000001DC],00000001
0000000000401497 CC                              INT 3
0000000000401498 838534FEFFFF01                  ADD DWORD PTR [RBP-000001CC],00000001
000000000040149F CC                              INT 3
00000000004014A0 CC                              INT 3
00000000004014A1 31D8                            XOR EAX,EBX
00000000004014A3 3245F4                          XOR AL,BYTE PTR [RBP-0C]
00000000004014A6 4883C408                        ADD RSP,0000000000000008
00000000004014AA 5B                              POP RBX
00000000004014AB 5D                              POP RBP
00000000004014AC CC                              INT 3
00000000004014AD 488D85C0FEFFFF                  LEA RAX,[RBP-00000140]
00000000004014B4 BE21000000                      MOV ESI,00000021
00000000004014B9 4889C7                          MOV RDI,RAX
00000000004014BC CC                              INT 3
00000000004014BD 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
00000000004014C1 01C0                            ADD EAX,EAX
00000000004014C3 CC                              INT 3
00000000004014C4 90                              NOP
00000000004014C5 5D                              POP RBP
00000000004014C6 CC                              INT 3
00000000004014C7 0FB6C0                          MOVZX EAX,AL
00000000004014CA 89C7                            MOV EDI,EAX
00000000004014CC CC                              INT 3
00000000004014CD 83852CFEFFFF01                  ADD DWORD PTR [RBP-000001D4],00000001
00000000004014D4 CC                              INT 3
00000000004014D5 837DFC1F                        CMP DWORD PTR [RBP-04],0000001F
00000000004014D9 CC                              INT 3
00000000004014DA 5D                              POP RBP
00000000004014DB CC                              INT 3
00000000004014DC C78524FEFFFF00000000            MOV DWORD PTR [RBP-000001DC],00000000
00000000004014E6 C78520FEFFFF00000000            MOV DWORD PTR [RBP-000001E0],00000000
00000000004014F0 CC                              INT 3
00000000004014F1 89C3                            MOV EBX,EAX
00000000004014F3 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
00000000004014F7 89C7                            MOV EDI,EAX
00000000004014F9 CC                              INT 3
00000000004014FA C78544FEFFFF00000000            MOV DWORD PTR [RBP-000001BC],00000000
0000000000401504 CC                              INT 3
0000000000401505 31C3                            XOR EBX,EAX
0000000000401507 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040150B 4883C002                        ADD RAX,0000000000000002
000000000040150F 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401512 0FB6C0                          MOVZX EAX,AL
0000000000401515 89C7                            MOV EDI,EAX
0000000000401517 CC                              INT 3
0000000000401518 C9                              LEAVE
0000000000401519 CC                              INT 3
000000000040151A C78534FEFFFF01000000            MOV DWORD PTR [RBP-000001CC],00000001
0000000000401524 CC                              INT 3
0000000000401525 31C3                            XOR EBX,EAX
0000000000401527 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040152B 4883C002                        ADD RAX,0000000000000002
000000000040152F 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401532 0FB6C0                          MOVZX EAX,AL
0000000000401535 89C7                            MOV EDI,EAX
0000000000401537 CC                              INT 3
0000000000401538 55                              PUSH RBP
0000000000401539 4889E5                          MOV RBP,RSP
000000000040153C 4883EC20                        SUB RSP,0000000000000020
0000000000401540 64488B042528000000              MOV RAX,QWORD PTR FS:[0000000000000028]
0000000000401549 488945F8                        MOV QWORD PTR [RBP-08],RAX
000000000040154D 31C0                            XOR EAX,EAX
000000000040154F 488D45E0                        LEA RAX,[RBP-20]
0000000000401553 BA14000000                      MOV EDX,00000014
0000000000401558 BE00000000                      MOV ESI,00000000
000000000040155D 4889C7                          MOV RDI,RAX
0000000000401560 CC                              INT 3
0000000000401561 837DFC0F                        CMP DWORD PTR [RBP-04],0000000F
0000000000401565 CC                              INT 3
0000000000401566 8B8538FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C8]
000000000040156C C1E002                          SHL EAX,02
000000000040156F 398540FEFFFF                    CMP DWORD PTR [RBP-000001C0],EAX
0000000000401575 CC                              INT 3
0000000000401576 31C3                            XOR EBX,EAX
0000000000401578 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040157C 4883C003                        ADD RAX,0000000000000003
0000000000401580 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401583 0FB6C0                          MOVZX EAX,AL
0000000000401586 89C7                            MOV EDI,EAX
0000000000401588 CC                              INT 3
0000000000401589 CC                              INT 3
000000000040158A CC                              INT 3
000000000040158B 89C3                            MOV EBX,EAX
000000000040158D 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
0000000000401591 89C7                            MOV EDI,EAX
0000000000401593 CC                              INT 3
0000000000401594 488D45E0                        LEA RAX,[RBP-20]
0000000000401598 4889C7                          MOV RDI,RAX
000000000040159B CC                              INT 3
000000000040159C 837DE003                        CMP DWORD PTR [RBP-20],00000003
00000000004015A0 CC                              INT 3
00000000004015A1 31D8                            XOR EAX,EBX
00000000004015A3 3245F4                          XOR AL,BYTE PTR [RBP-0C]
00000000004015A6 4883C408                        ADD RSP,0000000000000008
00000000004015AA 5B                              POP RBX
00000000004015AB 5D                              POP RBP
00000000004015AC CC                              INT 3
00000000004015AD 3245FC                          XOR AL,BYTE PTR [RBP-04]
00000000004015B0 C9                              LEAVE
00000000004015B1 CC                              INT 3
00000000004015B2 83BD24FEFFFF1F                  CMP DWORD PTR [RBP-000001DC],0000001F
00000000004015B9 CC                              INT 3
00000000004015BA 31D8                            XOR EAX,EBX
00000000004015BC 8845E6                          MOV BYTE PTR [RBP-1A],AL
00000000004015BF 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004015C3 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004015C6 0FB6C0                          MOVZX EAX,AL
00000000004015C9 89C7                            MOV EDI,EAX
00000000004015CB CC                              INT 3
00000000004015CC 55                              PUSH RBP
00000000004015CD 4889E5                          MOV RBP,RSP
00000000004015D0 53                              PUSH RBX
00000000004015D1 4883EC08                        SUB RSP,0000000000000008
00000000004015D5 89F8                            MOV EAX,EDI
00000000004015D7 8845F4                          MOV BYTE PTR [RBP-0C],AL
00000000004015DA 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
00000000004015DE 89C7                            MOV EDI,EAX
00000000004015E0 CC                              INT 3
00000000004015E1 C9                              LEAVE
00000000004015E2 CC                              INT 3
00000000004015E3 89C2                            MOV EDX,EAX
00000000004015E5 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004015E9 4883C001                        ADD RAX,0000000000000001
00000000004015ED 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004015F0 31C2                            XOR EDX,EAX
00000000004015F2 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004015F6 4883C002                        ADD RAX,0000000000000002
00000000004015FA 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004015FD 31C2                            XOR EDX,EAX
00000000004015FF 89D3                            MOV EBX,EDX
0000000000401601 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401605 4883C003                        ADD RAX,0000000000000003
0000000000401609 0FB600                          MOVZX EAX,BYTE PTR [RAX]
000000000040160C 0FB6C0                          MOVZX EAX,AL
000000000040160F 89C7                            MOV EDI,EAX
0000000000401611 CC                              INT 3
0000000000401612 8B45F0                          MOV EAX,DWORD PTR [RBP-10]
0000000000401615 4863D0                          MOVSXD RDX,EAX
0000000000401618 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040161C 4801D0                          ADD RAX,RDX
000000000040161F C60000                          MOV BYTE PTR [RAX],00
0000000000401622 8B45F0                          MOV EAX,DWORD PTR [RBP-10]
0000000000401625 488B4DF8                        MOV RCX,QWORD PTR [RBP-08]
0000000000401629 6448330C2528000000              XOR RCX,QWORD PTR FS:[0000000000000028]
0000000000401632 CC                              INT 3
0000000000401633 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
000000000040163A 4889C7                          MOV RDI,RAX
000000000040163D CC                              INT 3
000000000040163E 488B053B542000                  MOV RAX,QWORD PTR [0000000000606A80]
0000000000401645 B900000000                      MOV ECX,00000000
000000000040164A BA02000000                      MOV EDX,00000002
000000000040164F BE00000000                      MOV ESI,00000000
0000000000401654 4889C7                          MOV RDI,RAX
0000000000401657 CC                              INT 3
0000000000401658 0FB6C0                          MOVZX EAX,AL
000000000040165B 89C7                            MOV EDI,EAX
000000000040165D CC                              INT 3
000000000040165E 55                              PUSH RBP
000000000040165F 4889E5                          MOV RBP,RSP
0000000000401662 4883EC08                        SUB RSP,0000000000000008
0000000000401666 89F8                            MOV EAX,EDI
0000000000401668 8845FC                          MOV BYTE PTR [RBP-04],AL
000000000040166B 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
000000000040166F 89C7                            MOV EDI,EAX
0000000000401671 CC                              INT 3
0000000000401672 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
0000000000401678 99                              CDQ
0000000000401679 F7BD38FEFFFF                    IDIV EAX,DWORD PTR [RBP-000001C8]
000000000040167F 89D0                            MOV EAX,EDX
0000000000401681 85C0                            TEST EAX,EAX
0000000000401683 CC                              INT 3
0000000000401684 31C3                            XOR EBX,EAX
0000000000401686 89DA                            MOV EDX,EBX
0000000000401688 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040168C 4883C003                        ADD RAX,0000000000000003
0000000000401690 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401693 31D0                            XOR EAX,EDX
0000000000401695 8845E5                          MOV BYTE PTR [RBP-1B],AL
0000000000401698 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
000000000040169C 0FB610                          MOVZX EDX,BYTE PTR [RAX]
000000000040169F 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016A3 4883C001                        ADD RAX,0000000000000001
00000000004016A7 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004016AA 89D3                            MOV EBX,EDX
00000000004016AC 31C3                            XOR EBX,EAX
00000000004016AE 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016B2 4883C002                        ADD RAX,0000000000000002
00000000004016B6 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004016B9 0FB6C0                          MOVZX EAX,AL
00000000004016BC 89C7                            MOV EDI,EAX
00000000004016BE CC                              INT 3
00000000004016BF 31D8                            XOR EAX,EBX
00000000004016C1 8845E7                          MOV BYTE PTR [RBP-19],AL
00000000004016C4 0FB655E4                        MOVZX EDX,BYTE PTR [RBP-1C]
00000000004016C8 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016CC 8810                            MOV BYTE PTR [RAX],DL
00000000004016CE 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016D2 488D5001                        LEA RDX,[RAX+01]
00000000004016D6 0FB645E5                        MOVZX EAX,BYTE PTR [RBP-1B]
00000000004016DA 8802                            MOV BYTE PTR [RDX],AL
00000000004016DC 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016E0 488D5002                        LEA RDX,[RAX+02]
00000000004016E4 0FB645E6                        MOVZX EAX,BYTE PTR [RBP-1A]
00000000004016E8 8802                            MOV BYTE PTR [RDX],AL
00000000004016EA 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004016EE 488D5003                        LEA RDX,[RAX+03]
00000000004016F2 0FB645E7                        MOVZX EAX,BYTE PTR [RBP-19]
00000000004016F6 8802                            MOV BYTE PTR [RDX],AL
00000000004016F8 8345E001                        ADD DWORD PTR [RBP-20],00000001
00000000004016FC 488345D804                      ADD QWORD PTR [RBP-28],0000000000000004
0000000000401701 CC                              INT 3
0000000000401702 CC                              INT 3
0000000000401703 4883C428                        ADD RSP,0000000000000028
0000000000401707 5B                              POP RBX
0000000000401708 5D                              POP RBP
0000000000401709 CC                              INT 3
000000000040170A 89C3                            MOV EBX,EAX
000000000040170C 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
0000000000401710 89C7                            MOV EDI,EAX
0000000000401712 CC                              INT 3
0000000000401713 83BD20FEFFFF0F                  CMP DWORD PTR [RBP-000001E0],0000000F
000000000040171A CC                              INT 3
000000000040171B 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
0000000000401722 4889C7                          MOV RDI,RAX
0000000000401725 CC                              INT 3
0000000000401726 8B45F8                          MOV EAX,DWORD PTR [RBP-08]
0000000000401729 C1E005                          SHL EAX,05
000000000040172C 89C2                            MOV EDX,EAX
000000000040172E 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401731 01D0                            ADD EAX,EDX
0000000000401733 4863D0                          MOVSXD RDX,EAX
0000000000401736 488D05E3482000                  LEA RAX,[0000000000606020]
000000000040173D 0FB63402                        MOVZX ESI,BYTE PTR [RDX+RAX]
0000000000401741 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401744 4863D0                          MOVSXD RDX,EAX
0000000000401747 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
000000000040174B 4801D0                          ADD RAX,RDX
000000000040174E 0FB608                          MOVZX ECX,BYTE PTR [RAX]
0000000000401751 8B45F8                          MOV EAX,DWORD PTR [RBP-08]
0000000000401754 C1E005                          SHL EAX,05
0000000000401757 89C2                            MOV EDX,EAX
0000000000401759 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
000000000040175C 01D0                            ADD EAX,EDX
000000000040175E 31F1                            XOR ECX,ESI
0000000000401760 4863D0                          MOVSXD RDX,EAX
0000000000401763 488D05B6482000                  LEA RAX,[0000000000606020]
000000000040176A 880C02                          MOV BYTE PTR [RDX+RAX],CL
000000000040176D 8B45F8                          MOV EAX,DWORD PTR [RBP-08]
0000000000401770 C1E005                          SHL EAX,05
0000000000401773 89C2                            MOV EDX,EAX
0000000000401775 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
0000000000401778 01D0                            ADD EAX,EDX
000000000040177A 4863D0                          MOVSXD RDX,EAX
000000000040177D 488D059C492000                  LEA RAX,[0000000000606120]
0000000000401784 0FB63402                        MOVZX ESI,BYTE PTR [RDX+RAX]
0000000000401788 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
000000000040178B 4863D0                          MOVSXD RDX,EAX
000000000040178E 488B45E8                        MOV RAX,QWORD PTR [RBP-18]
0000000000401792 4801D0                          ADD RAX,RDX
0000000000401795 0FB608                          MOVZX ECX,BYTE PTR [RAX]
0000000000401798 8B45F8                          MOV EAX,DWORD PTR [RBP-08]
000000000040179B C1E005                          SHL EAX,05
000000000040179E 89C2                            MOV EDX,EAX
00000000004017A0 8B45FC                          MOV EAX,DWORD PTR [RBP-04]
00000000004017A3 01D0                            ADD EAX,EDX
00000000004017A5 31F1                            XOR ECX,ESI
00000000004017A7 4863D0                          MOVSXD RDX,EAX
00000000004017AA 488D056F492000                  LEA RAX,[0000000000606120]
00000000004017B1 880C02                          MOV BYTE PTR [RDX+RAX],CL
00000000004017B4 8345FC01                        ADD DWORD PTR [RBP-04],00000001
00000000004017B8 CC                              INT 3
00000000004017B9 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
00000000004017C0 4889C7                          MOV RDI,RAX
00000000004017C3 CC                              INT 3
00000000004017C4 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004017C8 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004017CB 0FB6C0                          MOVZX EAX,AL
00000000004017CE 89C7                            MOV EDI,EAX
00000000004017D0 CC                              INT 3
00000000004017D1 55                              PUSH RBP
00000000004017D2 4889E5                          MOV RBP,RSP
00000000004017D5 48897DE8                        MOV QWORD PTR [RBP-18],RDI
00000000004017D9 C745FC00000000                  MOV DWORD PTR [RBP-04],00000000
00000000004017E0 CC                              INT 3
00000000004017E1 89C3                            MOV EBX,EAX
00000000004017E3 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004017E7 4883C001                        ADD RAX,0000000000000001
00000000004017EB 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004017EE 0FB6C0                          MOVZX EAX,AL
00000000004017F1 89C7                            MOV EDI,EAX
00000000004017F3 CC                              INT 3
00000000004017F4 488B4DF8                        MOV RCX,QWORD PTR [RBP-08]
00000000004017F8 6448330C2528000000              XOR RCX,QWORD PTR FS:[0000000000000028]
0000000000401801 CC                              INT 3
0000000000401802 488B0537522000                  MOV RAX,QWORD PTR [0000000000606A40]
0000000000401809 4889C7                          MOV RDI,RAX
000000000040180C CC                              INT 3
000000000040180D 55                              PUSH RBP
000000000040180E 4889E5                          MOV RBP,RSP
0000000000401811 53                              PUSH RBX
0000000000401812 4883EC28                        SUB RSP,0000000000000028
0000000000401816 48897DD8                        MOV QWORD PTR [RBP-28],RDI
000000000040181A 64488B042528000000              MOV RAX,QWORD PTR FS:[0000000000000028]
0000000000401823 488945E8                        MOV QWORD PTR [RBP-18],RAX
0000000000401827 31C0                            XOR EAX,EAX
0000000000401829 C745E000000000                  MOV DWORD PTR [RBP-20],00000000
0000000000401830 CC                              INT 3
0000000000401831 838520FEFFFF01                  ADD DWORD PTR [RBP-000001E0],00000001
0000000000401838 CC                              INT 3
0000000000401839 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
000000000040183D 01C0                            ADD EAX,EAX
000000000040183F 83F01B                          XOR EAX,0000001B
0000000000401842 CC                              INT 3
0000000000401843 C7852CFEFFFF01000000            MOV DWORD PTR [RBP-000001D4],00000001
000000000040184D CC                              INT 3
000000000040184E 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
0000000000401852 0FB600                          MOVZX EAX,BYTE PTR [RAX]
0000000000401855 0FB6C0                          MOVZX EAX,AL
0000000000401858 89C7                            MOV EDI,EAX
000000000040185A CC                              INT 3
000000000040185B 31C3                            XOR EBX,EAX
000000000040185D 0FB645F4                        MOVZX EAX,BYTE PTR [RBP-0C]
0000000000401861 89C7                            MOV EDI,EAX
0000000000401863 CC                              INT 3
0000000000401864 8B8540FEFFFF                    MOV EAX,DWORD PTR [RBP-000001C0]
000000000040186A 83E801                          SUB EAX,00000001
000000000040186D 8D148500000000                  LEA EDX,[RAX*4+00000000]
0000000000401874 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
000000000040187A 01D0                            ADD EAX,EDX
000000000040187C 4863D0                          MOVSXD RDX,EAX
000000000040187F 488B8570FEFFFF                  MOV RAX,QWORD PTR [RBP-00000190]
0000000000401886 4801D0                          ADD RAX,RDX
0000000000401889 0FB610                          MOVZX EDX,BYTE PTR [RAX]
000000000040188C 8B8544FEFFFF                    MOV EAX,DWORD PTR [RBP-000001BC]
0000000000401892 4898                            CDQE
0000000000401894 8894057CFEFFFF                  MOV BYTE PTR [RBP+RAX-00000184],DL
000000000040189B 838544FEFFFF01                  ADD DWORD PTR [RBP-000001BC],00000001
00000000004018A2 CC                              INT 3
00000000004018A3 55                              PUSH RBP
00000000004018A4 4889E5                          MOV RBP,RSP
00000000004018A7 4883EC08                        SUB RSP,0000000000000008
00000000004018AB 89F8                            MOV EAX,EDI
00000000004018AD 8845FC                          MOV BYTE PTR [RBP-04],AL
00000000004018B0 0FB645FC                        MOVZX EAX,BYTE PTR [RBP-04]
00000000004018B4 89C7                            MOV EDI,EAX
00000000004018B6 CC                              INT 3
00000000004018B7 837DE003                        CMP DWORD PTR [RBP-20],00000003
00000000004018BB CC                              INT 3
00000000004018BC 8B8530FEFFFF                    MOV EAX,DWORD PTR [RBP-000001D0]
00000000004018C2 83E801                          SUB EAX,00000001
00000000004018C5 398534FEFFFF                    CMP DWORD PTR [RBP-000001CC],EAX
00000000004018CB CC                              INT 3
00000000004018CC 90                              NOP
00000000004018CD CC                              INT 3
00000000004018CE 55                              PUSH RBP
00000000004018CF 4889E5                          MOV RBP,RSP
00000000004018D2 4883EC20                        SUB RSP,0000000000000020
00000000004018D6 48897DE8                        MOV QWORD PTR [RBP-18],RDI
00000000004018DA 488D3D57300000                  LEA RDI,[0000000000404938]
00000000004018E1 CC                              INT 3
00000000004018E2 90                              NOP
00000000004018E3 C9                              LEAVE
00000000004018E4 CC                              INT 3
00000000004018E5 488B8558FEFFFF                  MOV RAX,QWORD PTR [RBP-000001A8]
00000000004018EC 4889C7                          MOV RDI,RAX
00000000004018EF CC                              INT 3
00000000004018F0 0FB6857CFEFFFF                  MOVZX EAX,BYTE PTR [RBP-00000184]
00000000004018F7 88851FFEFFFF                    MOV BYTE PTR [RBP-000001E1],AL
00000000004018FD 0FB6857DFEFFFF                  MOVZX EAX,BYTE PTR [RBP-00000183]
0000000000401904 88857CFEFFFF                    MOV BYTE PTR [RBP-00000184],AL
000000000040190A 0FB6857EFEFFFF                  MOVZX EAX,BYTE PTR [RBP-00000182]
0000000000401911 88857DFEFFFF                    MOV BYTE PTR [RBP-00000183],AL
0000000000401917 0FB6857FFEFFFF                  MOVZX EAX,BYTE PTR [RBP-00000181]
000000000040191E 88857EFEFFFF                    MOV BYTE PTR [RBP-00000182],AL
0000000000401924 0FB6851FFEFFFF                  MOVZX EAX,BYTE PTR [RBP-000001E1]
000000000040192B 88857FFEFFFF                    MOV BYTE PTR [RBP-00000181],AL
0000000000401931 C78544FEFFFF00000000            MOV DWORD PTR [RBP-000001BC],00000000
000000000040193B CC                              INT 3
000000000040193C 55                              PUSH RBP
000000000040193D 4889E5                          MOV RBP,RSP
0000000000401940 48897DE8                        MOV QWORD PTR [RBP-18],RDI
0000000000401944 488975E0                        MOV QWORD PTR [RBP-20],RSI
0000000000401948 8955DC                          MOV DWORD PTR [RBP-24],EDX
000000000040194B C745FC00000000                  MOV DWORD PTR [RBP-04],00000000
0000000000401952 CC                              INT 3
0000000000401953 C78544FEFFFF00000000            MOV DWORD PTR [RBP-000001BC],00000000
000000000040195D CC                              INT 3
000000000040195E 488D85C0FEFFFF                  LEA RAX,[RBP-00000140]
0000000000401965 4883C010                        ADD RAX,0000000000000010
0000000000401969 48898548FEFFFF                  MOV QWORD PTR [RBP-000001B8],RAX
0000000000401970 488D85F0FEFFFF                  LEA RAX,[RBP-00000110]
0000000000401977 48898550FEFFFF                  MOV QWORD PTR [RBP-000001B0],RAX
000000000040197E C78528FEFFFF0A000000            MOV DWORD PTR [RBP-000001D8],0000000A
0000000000401988 488B8D50FEFFFF                  MOV RCX,QWORD PTR [RBP-000001B0]
000000000040198F 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
0000000000401996 BA00000000                      MOV EDX,00000000
000000000040199B 4889CE                          MOV RSI,RCX
000000000040199E 4889C7                          MOV RDI,RAX
00000000004019A1 CC                              INT 3
00000000004019A2 8B45D4                          MOV EAX,DWORD PTR [RBP-2C]
00000000004019A5 83E801                          SUB EAX,00000001
00000000004019A8 3945F0                          CMP DWORD PTR [RBP-10],EAX
00000000004019AB CC                              INT 3
00000000004019AC 488B8548FEFFFF                  MOV RAX,QWORD PTR [RBP-000001B8]
00000000004019B3 4889C7                          MOV RDI,RAX
00000000004019B6 CC                              INT 3
00000000004019B7 8B853CFEFFFF                    MOV EAX,DWORD PTR [RBP-000001C4]
00000000004019BD 83C001                          ADD EAX,00000001
00000000004019C0 C1E002                          SHL EAX,02
00000000004019C3 398540FEFFFF                    CMP DWORD PTR [RBP-000001C0],EAX
00000000004019C9 CC                              INT 3
00000000004019CA 838520FEFFFF01                  ADD DWORD PTR [RBP-000001E0],00000001
00000000004019D1 CC                              INT 3
00000000004019D2 31C3                            XOR EBX,EAX
00000000004019D4 488B45D8                        MOV RAX,QWORD PTR [RBP-28]
00000000004019D8 4883C003                        ADD RAX,0000000000000003
00000000004019DC 0FB600                          MOVZX EAX,BYTE PTR [RAX]
00000000004019DF 0FB6C0                          MOVZX EAX,AL
00000000004019E2 89C7                            MOV EDI,EAX
00000000004019E4 CC                              INT 3

然后模拟运行,输出程序执行的汇编代码。

然后肉眼判断该代码,知道大概逻辑如下:

1、输出程序logo

2、输入flag

3、修改AES的sbox

4、srand(0x10000),然后用rand()获取16字节key

5、用key加密flag

6、对加密结果xor固定字符串

7、srand(rand()),再rand()出长度为32的字节

8、对随机串异或"Congratulations!This is the correct flag!"(注意,这里少一个空格)

9、比较6和8的结果,一致则判断flag正确

最终写出计算脚本:

python 复制代码
from ctypes import *
from Crypto.Cipher import AES

def xor(a,b):
    return bytes([i^j for i,j in zip(a,b)])
libc = cdll.LoadLibrary('/lib/x86_64-linux-gnu/libc.so.6')
libc.srand(0x10000)
aeskey=[]
for i in range(16):
    aeskey.append(libc.rand()&0xff)
libc.srand(libc.rand())
randstr=[]
for i in range(32):
    x=libc.rand()
    randstr.append(x&0xff)
cipher=AES.new(bytes(aeskey),AES.MODE_ECB)
pt=cipher.decrypt(xor(xor(bytes.fromhex('E28B553869FA80C2644E7FE7130614C5C013D3126BBDF2C788443E09E8A38330'),bytes(randstr)),b'Congratulations!This is the correct flag!'))
print(f'flag{{{pt.decode()}}}')
相关推荐
用户962377954489 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544813 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star13 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544817 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全