Function at 0x140021c50
Capabilities:
Access peb ldr_data
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1018
call fcn.14002cd30
sub rsp, rax
mov rax, qword [0x140047b40]
xor rax, rsp
mov qword [rsp + 0x1010], rax
mov qword [rsp + 0xd98], 0
mov qword [rsp + 0xd90], 0x18b00
mov edx, dword [0x14004c00c]
lea rcx, [rsp + 0xd8c]
mov qword [rsp + 0xe8], rcx
call fcn.140003320
mov rcx, qword [rsp + 0xe8]
mov rax, rsp
lea rdx, [rsp + 0xd90]
mov qword [rax + 0x20], rdx
mov dword [rax + 0x30], 4
mov dword [rax + 0x28], 0x3000
mov rdx, 0xffffffffffffffff
lea r8, [rsp + 0xd98]
xor r9d, r9d
call fcn.140003a90
lea rax, [0x14002d4c0]
mov qword [rsp + 0x100], rax
lea rax, str._4s___Memory_allocated_n
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0xd8b]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xdb8]
mov qword [rsp + 0x2b8], rax
mov rax, qword [rsp + 0x2b8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xdb8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2c8], rax
lea rax, [rsp + 0xda0]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2c8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x340], rcx
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x340]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xdc0], rcx
mov rcx, qword [rsp + 0x2c8]
mov edx, dword [rsp + 0xdc0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xdc4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xda0]
mov qword [rsp + 0x2d0], rax
mov rcx, qword [rsp + 0x2d0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021faf
lea rax, [rsp + 0xda0]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2ac]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x2ac], ecx
cmp eax, 0
je 0x140021faa
movabs rax, 0xe35313a7e47283e3
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2f8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x30c], eax
lea rax, [rsp + 0xda0]
mov qword [rsp + 0x300], rax
mov r8, qword [rsp + 0x300]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x30c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x2f4], ecx
mov qword [rsp + 0x2e8], rax
mov eax, dword [rsp + 0x2f4]
mov dword [rsp + 0x2e4], eax
mov rax, qword [rsp + 0x2e8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x2e8], rcx
mov al, byte [rax]
mov byte [rsp + 0x2e3], al
cmp byte [rsp + 0x2e3], 0
je 0x140021f72
mov cl, byte [rsp + 0x2e3]
mov eax, dword [rsp + 0x2e4]
mov byte [rsp + 0x34f], cl
mov dword [rsp + 0x348], eax
mov eax, dword [rsp + 0x348]
mov dword [rsp + 0xe4], eax
movsx eax, byte [rsp + 0x34f]
cmp eax, 0x41
jl 0x140021f3e
movsx eax, byte [rsp + 0x34f]
cmp eax, 0x5a
jg 0x140021f3e
movsx eax, byte [rsp + 0x34f]
or eax, 0x20
mov dword [rsp + 0xe0], eax
jmp 0x140021f4d
movsx eax, byte [rsp + 0x34f]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xe4]
mov ecx, dword [rsp + 0xe0]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x2e4], eax
jmp 0x140021ead
mov eax, dword [rsp + 0x2e4]
movabs rcx, 0xe35313a7e47283e3
mov qword [rsp + 0x310], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x310]
cmp eax, ecx
je 0x140021fe5
jmp 0x140021e0e
jmp 0x140021faf
lea rax, [rsp + 0xdb8]
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax]
mov qword [rsp + 0x350], rcx
mov rcx, qword [rsp + 0x350]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140021d38
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x334], eax
lea rax, [rsp + 0xda0]
mov qword [rsp + 0x328], rax
mov rax, qword [rsp + 0x328]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x320], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x318], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x318]
mov r8d, dword [rsp + 0x334]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
call rax
lea rax, [rsp + 0xd90]
mov qword [rsp + 0x120], rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x118], rax
lea rax, str._8s____Size:__t_t_zu_bytes_n
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0xd8a]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0xde0]
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x368]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xde0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x378], rax
lea rax, [rsp + 0xdc8]
mov qword [rsp + 0x370], rax
mov rax, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x378]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x378]
mov qword [rsp + 0x3f0], rcx
mov rcx, qword [rsp + 0x3f0]
mov rdx, qword [rsp + 0x3f0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xde8], rcx
mov rcx, qword [rsp + 0x378]
mov edx, dword [rsp + 0xde8]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xdec]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xdc8]
mov qword [rsp + 0x380], rax
mov rcx, qword [rsp + 0x380]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x14002235e
lea rax, [rsp + 0xdc8]
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x388]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x35c], eax
mov eax, dword [rsp + 0x35c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x35c], ecx
cmp eax, 0
je 0x140022359
movabs rax, 0x967a7d09544d21a1
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x3a8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x35c]
mov dword [rsp + 0x3bc], eax
lea rax, [rsp + 0xdc8]
mov qword [rsp + 0x3b0], rax
mov r8, qword [rsp + 0x3b0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x3bc]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x3a4], ecx
mov qword [rsp + 0x398], rax
mov eax, dword [rsp + 0x3a4]
mov dword [rsp + 0x394], eax
mov rax, qword [rsp + 0x398]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x398], rcx
mov al, byte [rax]
mov byte [rsp + 0x393], al
cmp byte [rsp + 0x393], 0
je 0x140022321
mov cl, byte [rsp + 0x393]
mov eax, dword [rsp + 0x394]
mov byte [rsp + 0x3ff], cl
mov dword [rsp + 0x3f8], eax
mov eax, dword [rsp + 0x3f8]
mov dword [rsp + 0xdc], eax
movsx eax, byte [rsp + 0x3ff]
cmp eax, 0x41
jl 0x1400222ed
movsx eax, byte [rsp + 0x3ff]
cmp eax, 0x5a
jg 0x1400222ed
movsx eax, byte [rsp + 0x3ff]
or eax, 0x20
mov dword [rsp + 0xd8], eax
jmp 0x1400222fc
movsx eax, byte [rsp + 0x3ff]
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xdc]
mov ecx, dword [rsp + 0xd8]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x394], eax
jmp 0x14002225c
mov eax, dword [rsp + 0x394]
movabs rcx, 0x967a7d09544d21a1
mov qword [rsp + 0x3c0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x3c0]
cmp eax, ecx
je 0x140022394
jmp 0x1400221bd
jmp 0x14002235e
lea rax, [rsp + 0xde0]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e8]
mov rcx, qword [rax]
mov qword [rsp + 0x400], rcx
mov rcx, qword [rsp + 0x400]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400220e7
mov eax, dword [rsp + 0x35c]
mov dword [rsp + 0x3e4], eax
lea rax, [rsp + 0xdc8]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x3d0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x3c8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov r8d, dword [rsp + 0x3e4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x360]
mov rcx, qword [rsp + 0x120]
mov r8, qword [rcx]
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x110]
call rax
lea rax, [rsp + 0xd98]
mov qword [rsp + 0x140], rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x138], rax
lea rax, str._8s____Address:__t_t0x_p_n
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0xd89]
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0xe08]
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x418]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe08]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x428], rax
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x420]
mov rcx, qword [rsp + 0x428]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x428]
mov qword [rsp + 0x4a0], rcx
mov rcx, qword [rsp + 0x4a0]
mov rdx, qword [rsp + 0x4a0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xe10], rcx
mov rcx, qword [rsp + 0x428]
mov edx, dword [rsp + 0xe10]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xe14]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x430], rax
mov rcx, qword [rsp + 0x430]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022718
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x40c], eax
mov eax, dword [rsp + 0x40c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x40c], ecx
cmp eax, 0
je 0x140022713
movabs rax, 0x27a767bb0484680f
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x458]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x40c]
mov dword [rsp + 0x46c], eax
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x460], rax
mov r8, qword [rsp + 0x460]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x46c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x454], ecx
mov qword [rsp + 0x448], rax
mov eax, dword [rsp + 0x454]
mov dword [rsp + 0x444], eax
mov rax, qword [rsp + 0x448]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x448], rcx
mov al, byte [rax]
mov byte [rsp + 0x443], al
cmp byte [rsp + 0x443], 0
je 0x1400226db
mov cl, byte [rsp + 0x443]
mov eax, dword [rsp + 0x444]
mov byte [rsp + 0x4af], cl
mov dword [rsp + 0x4a8], eax
mov eax, dword [rsp + 0x4a8]
mov dword [rsp + 0xd4], eax
movsx eax, byte [rsp + 0x4af]
cmp eax, 0x41
jl 0x1400226a7
movsx eax, byte [rsp + 0x4af]
cmp eax, 0x5a
jg 0x1400226a7
movsx eax, byte [rsp + 0x4af]
or eax, 0x20
mov dword [rsp + 0xd0], eax
jmp 0x1400226b6
movsx eax, byte [rsp + 0x4af]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xd4]
mov ecx, dword [rsp + 0xd0]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x444], eax
jmp 0x140022616
mov eax, dword [rsp + 0x444]
movabs rcx, 0x27a767bb0484680f
mov qword [rsp + 0x470], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x470]
cmp eax, ecx
je 0x14002274e
jmp 0x140022577
jmp 0x140022718
lea rax, [rsp + 0xe08]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x498]
mov rcx, qword [rax]
mov qword [rsp + 0x4b0], rcx
mov rcx, qword [rsp + 0x4b0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400224a1
mov eax, dword [rsp + 0x40c]
mov dword [rsp + 0x494], eax
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x488]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x480], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x478], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x478]
mov r8d, dword [rsp + 0x494]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov rcx, qword [rsp + 0x140]
mov r8, qword [rcx]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x158], rax
lea rax, str._8s____Protection:__tPAGE_READWRITE_n
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0xd88]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0xe30]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe30]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x4d8], rax
lea rax, [rsp + 0xe18]
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x4d8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x4d8]
mov qword [rsp + 0x550], rcx
mov rcx, qword [rsp + 0x550]
mov rdx, qword [rsp + 0x550]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xe38], rcx
mov rcx, qword [rsp + 0x4d8]
mov edx, dword [rsp + 0xe38]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xe3c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xe18]
mov qword [rsp + 0x4e0], rax
mov rcx, qword [rsp + 0x4e0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022ac2
lea rax, [rsp + 0xe18]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x4bc], eax
mov eax, dword [rsp + 0x4bc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x4bc], ecx
cmp eax, 0
je 0x140022abd
movabs rax, 0x6ece27196238ff11
mov qword [rsp + 0x508], rax
mov rax, qword [rsp + 0x508]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x4bc]
mov dword [rsp + 0x51c], eax
lea rax, [rsp + 0xe18]
mov qword [rsp + 0x510], rax
mov r8, qword [rsp + 0x510]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x51c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x504], ecx
mov qword [rsp + 0x4f8], rax
mov eax, dword [rsp + 0x504]
mov dword [rsp + 0x4f4], eax
mov rax, qword [rsp + 0x4f8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x4f8], rcx
mov al, byte [rax]
mov byte [rsp + 0x4f3], al
cmp byte [rsp + 0x4f3], 0
je 0x140022a85
mov cl, byte [rsp + 0x4f3]
mov eax, dword [rsp + 0x4f4]
mov byte [rsp + 0x55f], cl
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0x558]
mov dword [rsp + 0xcc], eax
movsx eax, byte [rsp + 0x55f]
cmp eax, 0x41
jl 0x140022a51
movsx eax, byte [rsp + 0x55f]
cmp eax, 0x5a
jg 0x140022a51
movsx eax, byte [rsp + 0x55f]
or eax, 0x20
mov dword [rsp + 0xc8], eax
jmp 0x140022a60
movsx eax, byte [rsp + 0x55f]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0xc8]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x4f4], eax
jmp 0x1400229c0
mov eax, dword [rsp + 0x4f4]
movabs rcx, 0x6ece27196238ff11
mov qword [rsp + 0x520], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x520]
cmp eax, ecx
je 0x140022af8
jmp 0x140022921
jmp 0x140022ac2
lea rax, [rsp + 0xe30]
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov rcx, qword [rax]
mov qword [rsp + 0x560], rcx
mov rcx, qword [rsp + 0x560]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14002284b
mov eax, dword [rsp + 0x4bc]
mov dword [rsp + 0x544], eax
lea rax, [rsp + 0xe18]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x538]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x530], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x528], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x530]
mov rdx, qword [rsp + 0x528]
mov r8d, dword [rsp + 0x544]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x4c0]
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x150]
call rax
mov rdx, qword [rsp + 0xd98]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0xc0], rcx
call fcn.140002710
mov edx, dword [0x14004c018]
lea rcx, [rsp + 0xd80]
mov qword [rsp + 0xb8], rcx
call fcn.140003320
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov rax, rsp
lea r8, [rsp + 0xd84]
mov qword [rax + 0x28], r8
mov dword [rax + 0x20], 0x20
lea r8, [rsp + 0xd98]
lea r9, [rsp + 0xd90]
call fcn.140008490
lea rax, [0x14002d4c0]
mov qword [rsp + 0x170], rax
lea rax, str._4s___Memory_protection_changed_n
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0xd7f]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0xe58]
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x588], rax
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x580], rax
mov rax, qword [rsp + 0x580]
mov rcx, qword [rsp + 0x588]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x588]
mov qword [rsp + 0x600], rcx
mov rcx, qword [rsp + 0x600]
mov rdx, qword [rsp + 0x600]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xe60], rcx
mov rcx, qword [rsp + 0x588]
mov edx, dword [rsp + 0xe60]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xe64]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x590], rax
mov rcx, qword [rsp + 0x590]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022ed3
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x56c], eax
mov eax, dword [rsp + 0x56c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x56c], ecx
cmp eax, 0
je 0x140022ece
movabs rax, 0x825e0a94b8915eb6
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x5b8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x56c]
mov dword [rsp + 0x5cc], eax
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x5c0], rax
mov r8, qword [rsp + 0x5c0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x5cc]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x5b4], ecx
mov qword [rsp + 0x5a8], rax
mov eax, dword [rsp + 0x5b4]
mov dword [rsp + 0x5a4], eax
mov rax, qword [rsp + 0x5a8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x5a8], rcx
mov al, byte [rax]
mov byte [rsp + 0x5a3], al
cmp byte [rsp + 0x5a3], 0
je 0x140022e96
mov cl, byte [rsp + 0x5a3]
mov eax, dword [rsp + 0x5a4]
mov byte [rsp + 0x60f], cl
mov dword [rsp + 0x608], eax
mov eax, dword [rsp + 0x608]
mov dword [rsp + 0xb4], eax
movsx eax, byte [rsp + 0x60f]
cmp eax, 0x41
jl 0x140022e62
movsx eax, byte [rsp + 0x60f]
cmp eax, 0x5a
jg 0x140022e62
movsx eax, byte [rsp + 0x60f]
or eax, 0x20
mov dword [rsp + 0xb0], eax
jmp 0x140022e71
movsx eax, byte [rsp + 0x60f]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0xb0]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x5a4], eax
jmp 0x140022dd1
mov eax, dword [rsp + 0x5a4]
movabs rcx, 0x825e0a94b8915eb6
mov qword [rsp + 0x5d0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x5d0]
cmp eax, ecx
je 0x140022f09
jmp 0x140022d32
jmp 0x140022ed3
lea rax, [rsp + 0xe58]
mov qword [rsp + 0x5f8], rax
mov rax, qword [rsp + 0x5f8]
mov rcx, qword [rax]
mov qword [rsp + 0x610], rcx
mov rcx, qword [rsp + 0x610]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140022c5c
mov eax, dword [rsp + 0x56c]
mov dword [rsp + 0x5f4], eax
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x5e8], rax
mov rax, qword [rsp + 0x5e8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x5e0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x5d8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x5e0]
mov rdx, qword [rsp + 0x5d8]
mov r8d, dword [rsp + 0x5f4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x570]
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x168]
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x188], rax
lea rax, str._8s____Protection:__tPAGE_EXECUTE_READ_n
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0xd7e]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0xe80]
mov qword [rsp + 0x628], rax
mov rax, qword [rsp + 0x628]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe80]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x638], rax
lea rax, [rsp + 0xe68]
mov qword [rsp + 0x630], rax
mov rax, qword [rsp + 0x630]
mov rcx, qword [rsp + 0x638]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x638]
mov qword [rsp + 0x6b0], rcx
mov rcx, qword [rsp + 0x6b0]
mov rdx, qword [rsp + 0x6b0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xe88], rcx
mov rcx, qword [rsp + 0x638]
mov edx, dword [rsp + 0xe88]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xe8c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xe68]
mov qword [rsp + 0x640], rax
mov rcx, qword [rsp + 0x640]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140023272
lea rax, [rsp + 0xe68]
mov qword [rsp + 0x648], rax
mov rax, qword [rsp + 0x648]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x61c], eax
mov eax, dword [rsp + 0x61c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x61c], ecx
cmp eax, 0
je 0x14002326d
movabs rax, 0x57d555b42763d456
mov qword [rsp + 0x668], rax
mov rax, qword [rsp + 0x668]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x61c]
mov dword [rsp + 0x67c], eax
lea rax, [rsp + 0xe68]
mov qword [rsp + 0x670], rax
mov r8, qword [rsp + 0x670]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x67c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x664], ecx
mov qword [rsp + 0x658], rax
mov eax, dword [rsp + 0x664]
mov dword [rsp + 0x654], eax
mov rax, qword [rsp + 0x658]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x658], rcx
mov al, byte [rax]
mov byte [rsp + 0x653], al
cmp byte [rsp + 0x653], 0
je 0x140023235
mov cl, byte [rsp + 0x653]
mov eax, dword [rsp + 0x654]
mov byte [rsp + 0x6bf], cl
mov dword [rsp + 0x6b8], eax
mov eax, dword [rsp + 0x6b8]
mov dword [rsp + 0xac], eax
movsx eax, byte [rsp + 0x6bf]
cmp eax, 0x41
jl 0x140023201
movsx eax, byte [rsp + 0x6bf]
cmp eax, 0x5a
jg 0x140023201
movsx eax, byte [rsp + 0x6bf]
or eax, 0x20
mov dword [rsp + 0xa8], eax
jmp 0x140023210
movsx eax, byte [rsp + 0x6bf]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xac]
mov ecx, dword [rsp + 0xa8]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x654], eax
jmp 0x140023170
mov eax, dword [rsp + 0x654]
movabs rcx, 0x57d555b42763d456
mov qword [rsp + 0x680], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x680]
cmp eax, ecx
je 0x1400232a8
jmp 0x1400230d1
jmp 0x140023272
lea rax, [rsp + 0xe80]
mov qword [rsp + 0x6a8], rax
mov rax, qword [rsp + 0x6a8]
mov rcx, qword [rax]
mov qword [rsp + 0x6c0], rcx
mov rcx, qword [rsp + 0x6c0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140022ffb
mov eax, dword [rsp + 0x61c]
mov dword [rsp + 0x6a4], eax
lea rax, [rsp + 0xe68]
mov qword [rsp + 0x698], rax
mov rax, qword [rsp + 0x698]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x690], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x688], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x690]
mov rdx, qword [rsp + 0x688]
mov r8d, dword [rsp + 0x6a4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x620]
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x180]
call rax
lea rcx, [rsp + 0xd7c]
lea rdx, [rsp + 0xffa]
mov qword [rsp + 0xa0], rdx
call fcn.140025550
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x198], rax
lea rax, [rsp + 0xd7d]
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0xea8]
mov qword [rsp + 0x6d8], rax
mov rax, qword [rsp + 0x6d8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xea8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6e8], rax
lea rax, [rsp + 0xe90]
mov qword [rsp + 0x6e0], rax
mov rax, qword [rsp + 0x6e0]
mov rcx, qword [rsp + 0x6e8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x6e8]
mov qword [rsp + 0x760], rcx
mov rcx, qword [rsp + 0x760]
mov rdx, qword [rsp + 0x760]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xeb0], rcx
mov rcx, qword [rsp + 0x6e8]
mov edx, dword [rsp + 0xeb0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xeb4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xe90]
mov qword [rsp + 0x6f0], rax
mov rcx, qword [rsp + 0x6f0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140023620
lea rax, [rsp + 0xe90]
mov qword [rsp + 0x6f8], rax
mov rax, qword [rsp + 0x6f8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x6cc], eax
mov eax, dword [rsp + 0x6cc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x6cc], ecx
cmp eax, 0
je 0x14002361b
movabs rax, 0x8527319fc3354b97
mov qword [rsp + 0x718], rax
mov rax, qword [rsp + 0x718]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x6cc]
mov dword [rsp + 0x72c], eax
lea rax, [rsp + 0xe90]
mov qword [rsp + 0x720], rax
mov r8, qword [rsp + 0x720]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x72c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x714], ecx
mov qword [rsp + 0x708], rax
mov eax, dword [rsp + 0x714]
mov dword [rsp + 0x704], eax
mov rax, qword [rsp + 0x708]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x708], rcx
mov al, byte [rax]
mov byte [rsp + 0x703], al
cmp byte [rsp + 0x703], 0
je 0x1400235e3
mov cl, byte [rsp + 0x703]
mov eax, dword [rsp + 0x704]
mov byte [rsp + 0x76f], cl
mov dword [rsp + 0x768], eax
mov eax, dword [rsp + 0x768]
mov dword [rsp + 0x9c], eax
movsx eax, byte [rsp + 0x76f]
cmp eax, 0x41
jl 0x1400235af
movsx eax, byte [rsp + 0x76f]
cmp eax, 0x5a
jg 0x1400235af
movsx eax, byte [rsp + 0x76f]
or eax, 0x20
mov dword [rsp + 0x98], eax
jmp 0x1400235be
movsx eax, byte [rsp + 0x76f]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x98]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x704], eax
jmp 0x14002351e
mov eax, dword [rsp + 0x704]
movabs rcx, 0x8527319fc3354b97
mov qword [rsp + 0x730], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x730]
cmp eax, ecx
je 0x140023656
jmp 0x14002347f
jmp 0x140023620
lea rax, [rsp + 0xea8]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x758]
mov rcx, qword [rax]
mov qword [rsp + 0x770], rcx
mov rcx, qword [rsp + 0x770]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400233a9
mov eax, dword [rsp + 0x6cc]
mov dword [rsp + 0x754], eax
lea rax, [rsp + 0xe90]
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x748]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x740], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x738], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x740]
mov rdx, qword [rsp + 0x738]
mov r8d, dword [rsp + 0x754]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x6d0], rax
mov rax, qword [rsp + 0x6d0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x288]
movzx eax, word [rax + 0x14]
cmp eax, 0
je 0x1400237d0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x294], 0
cmp dword [rsp + 0x294], 0xb
jge 0x1400237cb
mov rax, qword [rsp + 0x2a0]
movsxd rcx, dword [rsp + 0x294]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0x294]
mov r8d, 0x34
cdq
idiv r8d
mov rax, qword [rsp + 0x78]
add edx, 0x32
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0x294]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0x294]
add eax, 1
mov dword [rsp + 0x294], eax
jmp 0x140023769
jmp 0x1400237d0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x1b0], rax
lea rax, str._4s___User32.dll_loaded_n
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0xd7b]
mov qword [rsp + 0x1a0], rax
lea rax, [rsp + 0xed0]
mov qword [rsp + 0x788], rax
mov rax, qword [rsp + 0x788]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xed0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x798], rax
lea rax, [rsp + 0xeb8]
mov qword [rsp + 0x790], rax
mov rax, qword [rsp + 0x790]
mov rcx, qword [rsp + 0x798]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x798]
mov qword [rsp + 0x810], rcx
mov rcx, qword [rsp + 0x810]
mov rdx, qword [rsp + 0x810]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xed8], rcx
mov rcx, qword [rsp + 0x798]
mov edx, dword [rsp + 0xed8]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xedc]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xeb8]
mov qword [rsp + 0x7a0], rax
mov rcx, qword [rsp + 0x7a0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140023aa4
lea rax, [rsp + 0xeb8]
mov qword [rsp + 0x7a8], rax
mov rax, qword [rsp + 0x7a8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x77c], eax
mov eax, dword [rsp + 0x77c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x77c], ecx
cmp eax, 0
je 0x140023a9f
movabs rax, 0xc9386fd1c9825ab9
mov qword [rsp + 0x7c8], rax
mov rax, qword [rsp + 0x7c8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x77c]
mov dword [rsp + 0x7dc], eax
lea rax, [rsp + 0xeb8]
mov qword [rsp + 0x7d0], rax
mov r8, qword [rsp + 0x7d0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x7dc]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x7c4], ecx
mov qword [rsp + 0x7b8], rax
mov eax, dword [rsp + 0x7c4]
mov dword [rsp + 0x7b4], eax
mov rax, qword [rsp + 0x7b8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x7b8], rcx
mov al, byte [rax]
mov byte [rsp + 0x7b3], al
cmp byte [rsp + 0x7b3], 0
je 0x140023a67
mov cl, byte [rsp + 0x7b3]
mov eax, dword [rsp + 0x7b4]
mov byte [rsp + 0x81f], cl
mov dword [rsp + 0x818], eax
mov eax, dword [rsp + 0x818]
mov dword [rsp + 0x74], eax
movsx eax, byte [rsp + 0x81f]
cmp eax, 0x41
jl 0x140023a3c
movsx eax, byte [rsp + 0x81f]
cmp eax, 0x5a
jg 0x140023a3c
movsx eax, byte [rsp + 0x81f]
or eax, 0x20
mov dword [rsp + 0x70], eax
jmp 0x140023a48
movsx eax, byte [rsp + 0x81f]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x70]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x7b4], eax
jmp 0x1400239b1
mov eax, dword [rsp + 0x7b4]
movabs rcx, 0xc9386fd1c9825ab9
mov qword [rsp + 0x7e0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x7e0]
cmp eax, ecx
je 0x140023ada
jmp 0x140023912
jmp 0x140023aa4
lea rax, [rsp + 0xed0]
mov qword [rsp + 0x808], rax
mov rax, qword [rsp + 0x808]
mov rcx, qword [rax]
mov qword [rsp + 0x820], rcx
mov rcx, qword [rsp + 0x820]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14002383c
mov eax, dword [rsp + 0x77c]
mov dword [rsp + 0x804], eax
lea rax, [rsp + 0xeb8]
mov qword [rsp + 0x7f8], rax
mov rax, qword [rsp + 0x7f8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x7f0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x7e8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x7f0]
mov rdx, qword [rsp + 0x7e8]
mov r8d, dword [rsp + 0x804]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x780], rax
mov rax, qword [rsp + 0x780]
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a8]
call rax
mov rax, qword [rsp + 0xd98]
mov qword [rsp + 0xd70], rax
mov dword [rsp + 0xd6c], 0
mov dword [rsp + 0xd68], 0
mov qword [rsp + 0xd60], 0
lea rax, [rsp + 0xd70]
mov qword [rsp + 0x1d8], rax
lea rax, [rsp + 0xd6c]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0xd68]
mov qword [rsp + 0x1c8], rax
lea rax, [rsp + 0xd60]
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0xd7a]
mov qword [rsp + 0x1b8], rax
lea rax, [rsp + 0xef8]
mov qword [rsp + 0x838], rax
mov rax, qword [rsp + 0x838]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xef8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x848], rax
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x840], rax
mov rax, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x848]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x848]
mov qword [rsp + 0x8c0], rcx
mov rcx, qword [rsp + 0x8c0]
mov rdx, qword [rsp + 0x8c0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xf00], rcx
mov rcx, qword [rsp + 0x848]
mov edx, dword [rsp + 0xf00]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xf04]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x850], rax
mov rcx, qword [rsp + 0x850]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140023e88
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x858], rax
mov rax, qword [rsp + 0x858]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x82c], eax
mov eax, dword [rsp + 0x82c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x82c], ecx
cmp eax, 0
je 0x140023e83
movabs rax, 0xdbfece9d6e10855d
mov qword [rsp + 0x878], rax
mov rax, qword [rsp + 0x878]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x82c]
mov dword [rsp + 0x88c], eax
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x880], rax
mov r8, qword [rsp + 0x880]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x88c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x874], ecx
mov qword [rsp + 0x868], rax
mov eax, dword [rsp + 0x874]
mov dword [rsp + 0x864], eax
mov rax, qword [rsp + 0x868]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x868], rcx
mov al, byte [rax]
mov byte [rsp + 0x863], al
cmp byte [rsp + 0x863], 0
je 0x140023e4b
mov cl, byte [rsp + 0x863]
mov eax, dword [rsp + 0x864]
mov byte [rsp + 0x8cf], cl
mov dword [rsp + 0x8c8], eax
mov eax, dword [rsp + 0x8c8]
mov dword [rsp + 0x6c], eax
movsx eax, byte [rsp + 0x8cf]
cmp eax, 0x41
jl 0x140023e20
movsx eax, byte [rsp + 0x8cf]
cmp eax, 0x5a
jg 0x140023e20
movsx eax, byte [rsp + 0x8cf]
or eax, 0x20
mov dword [rsp + 0x68], eax
jmp 0x140023e2c
movsx eax, byte [rsp + 0x8cf]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x864], eax
jmp 0x140023d95
mov eax, dword [rsp + 0x864]
movabs rcx, 0xdbfece9d6e10855d
mov qword [rsp + 0x890], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x890]
cmp eax, ecx
je 0x140023ebe
jmp 0x140023cf6
jmp 0x140023e88
lea rax, [rsp + 0xef8]
mov qword [rsp + 0x8b8], rax
mov rax, qword [rsp + 0x8b8]
mov rcx, qword [rax]
mov qword [rsp + 0x8d0], rcx
mov rcx, qword [rsp + 0x8d0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140023c20
mov eax, dword [rsp + 0x82c]
mov dword [rsp + 0x8b4], eax
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x8a8], rax
mov rax, qword [rsp + 0x8a8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x8a0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x898], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x8a0]
mov rdx, qword [rsp + 0x898]
mov r8d, dword [rsp + 0x8b4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x830], rax
mov rax, qword [rsp + 0x830]
mov rcx, qword [rsp + 0x1d8]
mov r9, qword [rcx]
mov rcx, qword [rsp + 0x1d0]
mov r8d, dword [rcx]
mov rcx, qword [rsp + 0x1c8]
movsxd rdx, dword [rcx]
xor ecx, ecx
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x1f0], rax
lea rax, str._4s___Timer_created_n
mov qword [rsp + 0x1e8], rax
lea rax, [rsp + 0xd5f]
mov qword [rsp + 0x1e0], rax
lea rax, [rsp + 0xf20]
mov qword [rsp + 0x8e8], rax
mov rax, qword [rsp + 0x8e8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xf20]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x8f8], rax
lea rax, [rsp + 0xf08]
mov qword [rsp + 0x8f0], rax
mov rax, qword [rsp + 0x8f0]
mov rcx, qword [rsp + 0x8f8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x8f8]
mov qword [rsp + 0x970], rcx
mov rcx, qword [rsp + 0x970]
mov rdx, qword [rsp + 0x970]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xf28], rcx
mov rcx, qword [rsp + 0x8f8]
mov edx, dword [rsp + 0xf28]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xf2c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xf08]
mov qword [rsp + 0x900], rax
mov rcx, qword [rsp + 0x900]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x14002422b
lea rax, [rsp + 0xf08]
mov qword [rsp + 0x908], rax
mov rax, qword [rsp + 0x908]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x8dc], eax
mov eax, dword [rsp + 0x8dc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x8dc], ecx
cmp eax, 0
je 0x140024226
movabs rax, 0x285b4871a9a50ed9
mov qword [rsp + 0x928], rax
mov rax, qword [rsp + 0x928]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x8dc]
mov dword [rsp + 0x93c], eax
lea rax, [rsp + 0xf08]
mov qword [rsp + 0x930], rax
mov r8, qword [rsp + 0x930]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x93c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x924], ecx
mov qword [rsp + 0x918], rax
mov eax, dword [rsp + 0x924]
mov dword [rsp + 0x914], eax
mov rax, qword [rsp + 0x918]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x918], rcx
mov al, byte [rax]
mov byte [rsp + 0x913], al
cmp byte [rsp + 0x913], 0
je 0x1400241ee
mov cl, byte [rsp + 0x913]
mov eax, dword [rsp + 0x914]
mov byte [rsp + 0x97f], cl
mov dword [rsp + 0x978], eax
mov eax, dword [rsp + 0x978]
mov dword [rsp + 0x64], eax
movsx eax, byte [rsp + 0x97f]
cmp eax, 0x41
jl 0x1400241c3
movsx eax, byte [rsp + 0x97f]
cmp eax, 0x5a
jg 0x1400241c3
movsx eax, byte [rsp + 0x97f]
or eax, 0x20
mov dword [rsp + 0x60], eax
jmp 0x1400241cf
movsx eax, byte [rsp + 0x97f]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x60]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x914], eax
jmp 0x140024138
mov eax, dword [rsp + 0x914]
movabs rcx, 0x285b4871a9a50ed9
mov qword [rsp + 0x940], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x940]
cmp eax, ecx
je 0x140024261
jmp 0x140024099
jmp 0x14002422b
lea rax, [rsp + 0xf20]
mov qword [rsp + 0x968], rax
mov rax, qword [rsp + 0x968]
mov rcx, qword [rax]
mov qword [rsp + 0x980], rcx
mov rcx, qword [rsp + 0x980]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140023fc3
mov eax, dword [rsp + 0x8dc]
mov dword [rsp + 0x964], eax
lea rax, [rsp + 0xf08]
mov qword [rsp + 0x958], rax
mov rax, qword [rsp + 0x958]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x950], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x948], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x950]
mov rdx, qword [rsp + 0x948]
mov r8d, dword [rsp + 0x964]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x8e0], rax
mov rax, qword [rsp + 0x8e0]
mov rdx, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1e8]
call rax
mov dword [rsp + 0xd20], 0
mov dword [rsp + 0xd1c], 0
mov qword [rsp + 0xd10], 0
lea rax, [rsp + 0xd28]
mov qword [rsp + 0xd08], rax
lea rax, [rsp + 0xd20]
mov qword [rsp + 0x218], rax
lea rax, [rsp + 0xd1c]
mov qword [rsp + 0x210], rax
lea rax, [rsp + 0xd10]
mov qword [rsp + 0x208], rax
lea rax, [rsp + 0xd08]
mov qword [rsp + 0x200], rax
lea rax, [rsp + 0xd27]
mov qword [rsp + 0x1f8], rax
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x998], rax
mov rax, qword [rsp + 0x998]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xf48]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x9a8], rax
lea rax, [rsp + 0xf30]
mov qword [rsp + 0x9a0], rax
mov rax, qword [rsp + 0x9a0]
mov rcx, qword [rsp + 0x9a8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x9a8]
mov qword [rsp + 0xa20], rcx
mov rcx, qword [rsp + 0xa20]
mov rdx, qword [rsp + 0xa20]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xf50], rcx
mov rcx, qword [rsp + 0x9a8]
mov edx, dword [rsp + 0xf50]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xf54]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xf30]
mov qword [rsp + 0x9b0], rax
mov rcx, qword [rsp + 0x9b0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x14002460f
lea rax, [rsp + 0xf30]
mov qword [rsp + 0x9b8], rax
mov rax, qword [rsp + 0x9b8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x98c], eax
mov eax, dword [rsp + 0x98c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x98c], ecx
cmp eax, 0
je 0x14002460a
movabs rax, 0x70afbf7ba1051301
mov qword [rsp + 0x9d8], rax
mov rax, qword [rsp + 0x9d8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x98c]
mov dword [rsp + 0x9ec], eax
lea rax, [rsp + 0xf30]
mov qword [rsp + 0x9e0], rax
mov r8, qword [rsp + 0x9e0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0x9ec]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x9d4], ecx
mov qword [rsp + 0x9c8], rax
mov eax, dword [rsp + 0x9d4]
mov dword [rsp + 0x9c4], eax
mov rax, qword [rsp + 0x9c8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x9c8], rcx
mov al, byte [rax]
mov byte [rsp + 0x9c3], al
cmp byte [rsp + 0x9c3], 0
je 0x1400245d2
mov cl, byte [rsp + 0x9c3]
mov eax, dword [rsp + 0x9c4]
mov byte [rsp + 0xa2f], cl
mov dword [rsp + 0xa28], eax
mov eax, dword [rsp + 0xa28]
mov dword [rsp + 0x5c], eax
movsx eax, byte [rsp + 0xa2f]
cmp eax, 0x41
jl 0x1400245a7
movsx eax, byte [rsp + 0xa2f]
cmp eax, 0x5a
jg 0x1400245a7
movsx eax, byte [rsp + 0xa2f]
or eax, 0x20
mov dword [rsp + 0x58], eax
jmp 0x1400245b3
movsx eax, byte [rsp + 0xa2f]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x9c4], eax
jmp 0x14002451c
mov eax, dword [rsp + 0x9c4]
movabs rcx, 0x70afbf7ba1051301
mov qword [rsp + 0x9f0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x9f0]
cmp eax, ecx
je 0x140024645
jmp 0x14002447d
jmp 0x14002460f
lea rax, [rsp + 0xf48]
mov qword [rsp + 0xa18], rax
mov rax, qword [rsp + 0xa18]
mov rcx, qword [rax]
mov qword [rsp + 0xa30], rcx
mov rcx, qword [rsp + 0xa30]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400243a7
mov eax, dword [rsp + 0x98c]
mov dword [rsp + 0xa14], eax
lea rax, [rsp + 0xf30]
mov qword [rsp + 0xa08], rax
mov rax, qword [rsp + 0xa08]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xa00], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x9f8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xa00]
mov rdx, qword [rsp + 0x9f8]
mov r8d, dword [rsp + 0xa14]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x990], rax
mov rax, qword [rsp + 0x990]
mov rcx, qword [rsp + 0x218]
mov r9d, dword [rcx]
mov rcx, qword [rsp + 0x210]
mov r8d, dword [rcx]
mov rcx, qword [rsp + 0x200]
mov rcx, qword [rcx]
xor edx, edx
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x230], rax
lea rax, str._4s___Message_retrieved_n
mov qword [rsp + 0x228], rax
lea rax, [rsp + 0xd07]
mov qword [rsp + 0x220], rax
lea rax, [rsp + 0xf70]
mov qword [rsp + 0xa48], rax
mov rax, qword [rsp + 0xa48]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xf70]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa58], rax
lea rax, [rsp + 0xf58]
mov qword [rsp + 0xa50], rax
mov rax, qword [rsp + 0xa50]
mov rcx, qword [rsp + 0xa58]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa58]
mov qword [rsp + 0xad0], rcx
mov rcx, qword [rsp + 0xad0]
mov rdx, qword [rsp + 0xad0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xf78], rcx
mov rcx, qword [rsp + 0xa58]
mov edx, dword [rsp + 0xf78]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xf7c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xf58]
mov qword [rsp + 0xa60], rax
mov rcx, qword [rsp + 0xa60]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x1400249b2
lea rax, [rsp + 0xf58]
mov qword [rsp + 0xa68], rax
mov rax, qword [rsp + 0xa68]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xa3c], eax
mov eax, dword [rsp + 0xa3c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0xa3c], ecx
cmp eax, 0
je 0x1400249ad
movabs rax, 0xca80beff6ccf18ab
mov qword [rsp + 0xa88], rax
mov rax, qword [rsp + 0xa88]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0xa3c]
mov dword [rsp + 0xa9c], eax
lea rax, [rsp + 0xf58]
mov qword [rsp + 0xa90], rax
mov r8, qword [rsp + 0xa90]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0xa9c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0xa84], ecx
mov qword [rsp + 0xa78], rax
mov eax, dword [rsp + 0xa84]
mov dword [rsp + 0xa74], eax
mov rax, qword [rsp + 0xa78]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xa78], rcx
mov al, byte [rax]
mov byte [rsp + 0xa73], al
cmp byte [rsp + 0xa73], 0
je 0x140024975
mov cl, byte [rsp + 0xa73]
mov eax, dword [rsp + 0xa74]
mov byte [rsp + 0xadf], cl
mov dword [rsp + 0xad8], eax
mov eax, dword [rsp + 0xad8]
mov dword [rsp + 0x54], eax
movsx eax, byte [rsp + 0xadf]
cmp eax, 0x41
jl 0x14002494a
movsx eax, byte [rsp + 0xadf]
cmp eax, 0x5a
jg 0x14002494a
movsx eax, byte [rsp + 0xadf]
or eax, 0x20
mov dword [rsp + 0x50], eax
jmp 0x140024956
movsx eax, byte [rsp + 0xadf]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0xa74], eax
jmp 0x1400248bf
mov eax, dword [rsp + 0xa74]
movabs rcx, 0xca80beff6ccf18ab
mov qword [rsp + 0xaa0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0xaa0]
cmp eax, ecx
je 0x1400249e8
jmp 0x140024820
jmp 0x1400249b2
lea rax, [rsp + 0xf70]
mov qword [rsp + 0xac8], rax
mov rax, qword [rsp + 0xac8]
mov rcx, qword [rax]
mov qword [rsp + 0xae0], rcx
mov rcx, qword [rsp + 0xae0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14002474a
mov eax, dword [rsp + 0xa3c]
mov dword [rsp + 0xac4], eax
lea rax, [rsp + 0xf58]
mov qword [rsp + 0xab8], rax
mov rax, qword [rsp + 0xab8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xab0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0xaa8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xab0]
mov rdx, qword [rsp + 0xaa8]
mov r8d, dword [rsp + 0xac4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0xa40], rax
mov rax, qword [rsp + 0xa40]
mov rdx, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x228]
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x248], rax
lea rax, str._4s___Message_dispatched_n
mov qword [rsp + 0x240], rax
lea rax, [rsp + 0xd06]
mov qword [rsp + 0x238], rax
lea rax, [rsp + 0xf98]
mov qword [rsp + 0xaf8], rax
mov rax, qword [rsp + 0xaf8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xf98]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xb08], rax
lea rax, [rsp + 0xf80]
mov qword [rsp + 0xb00], rax
mov rax, qword [rsp + 0xb00]
mov rcx, qword [rsp + 0xb08]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb08]
mov qword [rsp + 0xb80], rcx
mov rcx, qword [rsp + 0xb80]
mov rdx, qword [rsp + 0xb80]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xfa0], rcx
mov rcx, qword [rsp + 0xb08]
mov edx, dword [rsp + 0xfa0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xfa4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xf80]
mov qword [rsp + 0xb10], rax
mov rcx, qword [rsp + 0xb10]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140024d42
lea rax, [rsp + 0xf80]
mov qword [rsp + 0xb18], rax
mov rax, qword [rsp + 0xb18]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xaec], eax
mov eax, dword [rsp + 0xaec]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0xaec], ecx
cmp eax, 0
je 0x140024d3d
movabs rax, 0x98e206c49b4b0506
mov qword [rsp + 0xb38], rax
mov rax, qword [rsp + 0xb38]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0xaec]
mov dword [rsp + 0xb4c], eax
lea rax, [rsp + 0xf80]
mov qword [rsp + 0xb40], rax
mov r8, qword [rsp + 0xb40]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0xb4c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0xb34], ecx
mov qword [rsp + 0xb28], rax
mov eax, dword [rsp + 0xb34]
mov dword [rsp + 0xb24], eax
mov rax, qword [rsp + 0xb28]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xb28], rcx
mov al, byte [rax]
mov byte [rsp + 0xb23], al
cmp byte [rsp + 0xb23], 0
je 0x140024d05
mov cl, byte [rsp + 0xb23]
mov eax, dword [rsp + 0xb24]
mov byte [rsp + 0xb8f], cl
mov dword [rsp + 0xb88], eax
mov eax, dword [rsp + 0xb88]
mov dword [rsp + 0x4c], eax
movsx eax, byte [rsp + 0xb8f]
cmp eax, 0x41
jl 0x140024cda
movsx eax, byte [rsp + 0xb8f]
cmp eax, 0x5a
jg 0x140024cda
movsx eax, byte [rsp + 0xb8f]
or eax, 0x20
mov dword [rsp + 0x48], eax
jmp 0x140024ce6
movsx eax, byte [rsp + 0xb8f]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x48]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0xb24], eax
jmp 0x140024c4f
mov eax, dword [rsp + 0xb24]
movabs rcx, 0x98e206c49b4b0506
mov qword [rsp + 0xb50], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0xb50]
cmp eax, ecx
je 0x140024d78
jmp 0x140024bb0
jmp 0x140024d42
lea rax, [rsp + 0xf98]
mov qword [rsp + 0xb78], rax
mov rax, qword [rsp + 0xb78]
mov rcx, qword [rax]
mov qword [rsp + 0xb90], rcx
mov rcx, qword [rsp + 0xb90]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140024ada
mov eax, dword [rsp + 0xaec]
mov dword [rsp + 0xb74], eax
lea rax, [rsp + 0xf80]
mov qword [rsp + 0xb68], rax
mov rax, qword [rsp + 0xb68]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xb60], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0xb58], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xb60]
mov rdx, qword [rsp + 0xb58]
mov r8d, dword [rsp + 0xb74]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0xaf0], rax
mov rax, qword [rsp + 0xaf0]
mov rdx, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x240]
call rax
lea rax, [0x14002d4c0]
mov qword [rsp + 0x260], rax
lea rax, str._4s___Payload_executed_n
mov qword [rsp + 0x258], rax
lea rax, [rsp + 0xd05]
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0xfc0]
mov qword [rsp + 0xba8], rax
mov rax, qword [rsp + 0xba8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xfc0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xbb8], rax
lea rax, [rsp + 0xfa8]
mov qword [rsp + 0xbb0], rax
mov rax, qword [rsp + 0xbb0]
mov rcx, qword [rsp + 0xbb8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xbb8]
mov qword [rsp + 0xc30], rcx
mov rcx, qword [rsp + 0xc30]
mov rdx, qword [rsp + 0xc30]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xfc8], rcx
mov rcx, qword [rsp + 0xbb8]
mov edx, dword [rsp + 0xfc8]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xfcc]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xfa8]
mov qword [rsp + 0xbc0], rax
mov rcx, qword [rsp + 0xbc0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x1400250d2
lea rax, [rsp + 0xfa8]
mov qword [rsp + 0xbc8], rax
mov rax, qword [rsp + 0xbc8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xb9c], eax
mov eax, dword [rsp + 0xb9c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0xb9c], ecx
cmp eax, 0
je 0x1400250cd
movabs rax, 0x59be517eafd20274
mov qword [rsp + 0xbe8], rax
mov rax, qword [rsp + 0xbe8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0xb9c]
mov dword [rsp + 0xbfc], eax
lea rax, [rsp + 0xfa8]
mov qword [rsp + 0xbf0], rax
mov r8, qword [rsp + 0xbf0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0xbfc]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0xbe4], ecx
mov qword [rsp + 0xbd8], rax
mov eax, dword [rsp + 0xbe4]
mov dword [rsp + 0xbd4], eax
mov rax, qword [rsp + 0xbd8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xbd8], rcx
mov al, byte [rax]
mov byte [rsp + 0xbd3], al
cmp byte [rsp + 0xbd3], 0
je 0x140025095
mov cl, byte [rsp + 0xbd3]
mov eax, dword [rsp + 0xbd4]
mov byte [rsp + 0xc3f], cl
mov dword [rsp + 0xc38], eax
mov eax, dword [rsp + 0xc38]
mov dword [rsp + 0x44], eax
movsx eax, byte [rsp + 0xc3f]
cmp eax, 0x41
jl 0x14002506a
movsx eax, byte [rsp + 0xc3f]
cmp eax, 0x5a
jg 0x14002506a
movsx eax, byte [rsp + 0xc3f]
or eax, 0x20
mov dword [rsp + 0x40], eax
jmp 0x140025076
movsx eax, byte [rsp + 0xc3f]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0xbd4], eax
jmp 0x140024fdf
mov eax, dword [rsp + 0xbd4]
movabs rcx, 0x59be517eafd20274
mov qword [rsp + 0xc00], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0xc00]
cmp eax, ecx
je 0x140025108
jmp 0x140024f40
jmp 0x1400250d2
lea rax, [rsp + 0xfc0]
mov qword [rsp + 0xc28], rax
mov rax, qword [rsp + 0xc28]
mov rcx, qword [rax]
mov qword [rsp + 0xc40], rcx
mov rcx, qword [rsp + 0xc40]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140024e6a
mov eax, dword [rsp + 0xb9c]
mov dword [rsp + 0xc24], eax
lea rax, [rsp + 0xfa8]
mov qword [rsp + 0xc18], rax
mov rax, qword [rsp + 0xc18]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xc10], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0xc08], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xc10]
mov rdx, qword [rsp + 0xc08]
mov r8d, dword [rsp + 0xc24]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0xba0], rax
mov rax, qword [rsp + 0xba0]
mov rdx, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x258]
call rax
lea rax, [rsp + 0xd28]
mov qword [rsp + 0xcf8], rax
lea rax, [rsp + 0xcf8]
mov qword [rsp + 0x270], rax
lea rax, [rsp + 0xd04]
mov qword [rsp + 0x268], rax
lea rax, [rsp + 0xfe8]
mov qword [rsp + 0xc58], rax
mov rax, qword [rsp + 0xc58]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xfe8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xc68], rax
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0xc60], rax
mov rax, qword [rsp + 0xc60]
mov rcx, qword [rsp + 0xc68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc68]
mov qword [rsp + 0xce0], rcx
mov rcx, qword [rsp + 0xce0]
mov rdx, qword [rsp + 0xce0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xff0], rcx
mov rcx, qword [rsp + 0xc68]
mov edx, dword [rsp + 0xff0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xff4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0xc70], rax
mov rcx, qword [rsp + 0xc70]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140025464
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0xc78], rax
mov rax, qword [rsp + 0xc78]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xc4c], eax
mov eax, dword [rsp + 0xc4c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0xc4c], ecx
cmp eax, 0
je 0x14002545f
movabs rax, 0x76eab208b6d84aa2
mov qword [rsp + 0xc98], rax
mov rax, qword [rsp + 0xc98]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0xc4c]
mov dword [rsp + 0xcac], eax
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0xca0], rax
mov r8, qword [rsp + 0xca0]
mov rax, qword [r8]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r8d, dword [r8 + 0x20]
add rdx, r8
mov r8d, dword [rsp + 0xcac]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0xc94], ecx
mov qword [rsp + 0xc88], rax
mov eax, dword [rsp + 0xc94]
mov dword [rsp + 0xc84], eax
mov rax, qword [rsp + 0xc88]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xc88], rcx
mov al, byte [rax]
mov byte [rsp + 0xc83], al
cmp byte [rsp + 0xc83], 0
je 0x140025427
mov cl, byte [rsp + 0xc83]
mov eax, dword [rsp + 0xc84]
mov byte [rsp + 0xcef], cl
mov dword [rsp + 0xce8], eax
mov eax, dword [rsp + 0xce8]
mov dword [rsp + 0x3c], eax
movsx eax, byte [rsp + 0xcef]
cmp eax, 0x41
jl 0x1400253fc
movsx eax, byte [rsp + 0xcef]
cmp eax, 0x5a
jg 0x1400253fc
movsx eax, byte [rsp + 0xcef]
or eax, 0x20
mov dword [rsp + 0x38], eax
jmp 0x140025408
movsx eax, byte [rsp + 0xcef]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0xc84], eax
jmp 0x140025371
mov eax, dword [rsp + 0xc84]
movabs rcx, 0x76eab208b6d84aa2
mov qword [rsp + 0xcb0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0xcb0]
cmp eax, ecx
je 0x14002549a
jmp 0x1400252d2
jmp 0x140025464
lea rax, [rsp + 0xfe8]
mov qword [rsp + 0xcd8], rax
mov rax, qword [rsp + 0xcd8]
mov rcx, qword [rax]
mov qword [rsp + 0xcf0], rcx
mov rcx, qword [rsp + 0xcf0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400251fc
mov eax, dword [rsp + 0xc4c]
mov dword [rsp + 0xcd4], eax
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0xcc8], rax
mov rax, qword [rsp + 0xcc8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xcc0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0xcb8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xcc0]
mov rdx, qword [rsp + 0xcb8]
mov r8d, dword [rsp + 0xcd4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0xc50], rax
mov rax, qword [rsp + 0xc50]
mov rcx, qword [rsp + 0x270]
mov rcx, qword [rcx]
call rax
mov rcx, qword [rsp + 0x1010]
xor rcx, rsp
call fcn.14002cd90
nop
add rsp, 0x1018
ret