Function at 0x140166b50
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r15, qword [rsp + 0x80]
mov ebp, r9d
mov esi, r8d
mov r14, rdx
mov rdi, rcx
inc dword [r15]
cmp dword [r15], 0x3e8
jle 0x140166b8d
mov eax, 4
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
movzx r9d, byte [0x140275f26]
mov eax, 0x88
mov ecx, 0x8d
movzx r10d, byte [0x140275ecb]
mov r8d, 0x8e
mov qword [rsp + 0x60], rbx
lea rbx, [rdx + 4]
mov qword [rsp + 0x70], r12
mov r12d, 1
mov qword [rsp + 0x78], r13
lea r13, [0x140000000]
mov edx, 0x89
cmp word [r14], ax
je case.0x1401677f5.98
movzx eax, word [r14]
cmp ax, cx
je case.0x1401677f5.98
cmp ax, dx
je case.0x1401677f5.98
cmp ax, r8w
jne 0x140166bf0
add rbx, 2
movzx eax, word [rbx]
xor edx, edx
cmp eax, 0xa6
ja case.0x140166c14.32
movzx eax, byte [rax + r13 + 0x16824c]
mov ecx, dword [r13 + rax*4 + 0x1681c0]
add rcx, r13
jmp rcx
movzx eax, r10b
lea rbx, [rbx + rax*2]
jmp 0x140166bf0
mov r9d, ebp
mov qword [rsp + 0x20], r15
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.140166b50
cmp eax, 1
je 0x14016814f
cmp eax, 2
jne 0x1401681a2
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140166c50
add rbx, 4
movzx r9d, byte [0x140275f26]
movzx r10d, byte [0x140275ecb]
jmp 0x140166bf0
movzx eax, r9b
lea rbx, [rbx + rax*2]
jmp 0x140166bf0
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x140166bf0
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x140166c14.29
add rbx, 4
jmp 0x140166bf0
add rbx, 2
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov r9d, ebp
mov r8d, esi
mov rcx, rdi
call fcn.140166b50
mov ecx, eax
test eax, eax
je 0x140168189
add eax, 0xfffffffd
cmp eax, 1
jbe 0x140168189
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140166cf0
jmp 0x140166c5f
add rbx, 2
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140166d10
add rbx, 4
jmp 0x140166bf0
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x140166d40
or byte [rdi + 0x47], 0x80
jmp 0x140166d59
mov rdx, r8
mov eax, r8d
shr rdx, 3
and eax, 7
movzx ecx, byte [rdx + rdi + 0x28]
bts ecx, eax
mov byte [rdx + rdi + 0x28], cl
test esi, esi
je 0x140166c63
and r8d, 0xfc00
cmp r8d, 0xd800
jne 0x140166c63
movzx r9d, byte [0x140275f26]
add rbx, 2
movzx r10d, byte [0x140275ecb]
jmp 0x140166bf0
lea rdx, [rbx + 2]
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov r8d, 1
mov rcx, rdi
call fcn.140168370
movzx r10d, byte [0x140275ecb]
mov rbx, rax
movzx r9d, byte [0x140275f26]
jmp 0x140166bf0
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x140166d31
lea rdx, [rbx + 4]
jmp 0x140166d92
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x140166df4.12
cdqe
mov ecx, dword [r13 + rax*4 + 0x1682f4]
add rcx, r13
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp 0x140166c5f
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x240]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x241]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x242]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x243]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x244]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x245]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x246]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x247]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x248]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x249]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x24a]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x24b]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x24c]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x24d]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x24e]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x24f]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x250]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x251]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x252]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x253]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x254]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x255]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x256]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x257]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x258]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x259]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x25a]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x25b]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x25c]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x25d]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x25e]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x25f]
not al
or byte [rdi + 0x47], al
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x240]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x241]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x242]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x243]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x244]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x245]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x246]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x247]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x248]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x249]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x24a]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x24b]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x24c]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x24d]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x24e]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x24f]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x250]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x251]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x252]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x253]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x254]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x255]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x256]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x257]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x258]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x259]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x25a]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x25b]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x25c]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x25d]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x25e]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x25f]
or byte [rdi + 0x47], al
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x200]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x201]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x202]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x203]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x204]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x205]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x206]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x207]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x208]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x209]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x20a]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x20b]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x20c]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x20d]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x20e]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x20f]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x210]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x211]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x212]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x213]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x214]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x215]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x216]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x217]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x218]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x219]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x21a]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x21b]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x21c]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x21d]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x21e]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x21f]
not al
or byte [rdi + 0x47], al
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x200]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x201]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x202]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x203]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x204]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x205]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x206]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x207]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x208]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x209]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x20a]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x20b]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x20c]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x20d]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x20e]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x20f]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x210]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x211]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x212]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x213]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x214]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x215]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x216]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x217]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x218]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x219]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x21a]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x21b]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x21c]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x21d]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x21e]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x21f]
or byte [rdi + 0x47], al
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x2a0]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x2a1]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x2a2]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x2a3]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x2a4]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x2a5]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x2a6]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x2a7]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x2a8]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x2a9]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x2aa]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x2ab]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x2ac]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x2ad]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x2ae]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x2af]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x2b0]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x2b1]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x2b2]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x2b3]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x2b4]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x2b5]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x2b6]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x2b7]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x2b8]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x2b9]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x2ba]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x2bb]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x2bc]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x2bd]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x2be]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x2bf]
not al
or byte [rdi + 0x47], al
jmp 0x140166c5f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x2a0]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x2a1]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x2a2]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x2a3]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x2a4]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x2a5]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x2a6]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x2a7]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x2a8]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x2a9]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x2aa]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x2ab]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x2ac]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x2ad]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x2ae]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x2af]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x2b0]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x2b1]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x2b2]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x2b3]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x2b4]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x2b5]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x2b6]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x2b7]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x2b8]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x2b9]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x2ba]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x2bb]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x2bc]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x2bd]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x2be]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x2bf]
or byte [rdi + 0x47], al
jmp 0x140166c5f
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x140166df4.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x140166df4.12
test cl, 2
je case.0x140166c14.22
lea rdx, [rbx + 6]
or byte [rdi + 0x47], 0x80
movzx r9d, byte [0x140275f26]
movzx r10d, byte [0x140275ecb]
cmp word [rbx], 0x70
jne 0x1401676d9
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x1401676e1
lea rdx, [rbx + 2]
add rbx, 0x22
test rdx, rdx
je 0x1401677d9
movzx eax, byte [rdx]
or byte [rdi + 0x28], al
movzx eax, byte [rdx + 1]
or byte [rdi + 0x29], al
movzx eax, byte [rdx + 2]
or byte [rdi + 0x2a], al
movzx eax, byte [rdx + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [rdx + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [rdx + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [rdx + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [rdx + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [rdx + 8]
or byte [rdi + 0x30], al
movzx eax, byte [rdx + 9]
or byte [rdi + 0x31], al
movzx eax, byte [rdx + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [rdx + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [rdx + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [rdx + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [rdx + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [rdx + 0xf]
or byte [rdi + 0x37], al
movzx eax, byte [rdx + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [rdx + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [rdx + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [rdx + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [rdx + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [rdx + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [rdx + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [rdx + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [rdx + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [rdx + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [rdx + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [rdx + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [rdx + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [rdx + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [rdx + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [rdx + 0x1f]
or byte [rdi + 0x47], al
movzx r9d, byte [0x140275f26]
movzx r10d, byte [0x140275ecb]
movzx eax, word [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x1401677f5.100
cdqe
mov ecx, dword [r13 + rax*4 + 0x168334]
add rcx, r13
jmp rcx
cmp word [rbx + 2], 0
jne case.0x1401677f5.100
add rbx, 6
jmp 0x140166bf0
cmp word [rbx + 2], 0xa
jne case.0x140166df4.12
movzx eax, word [rbx + 4]
lea r8, [r13 + 0x259f50]
mov edx, dword [r8 + rax*4]
lea r8, [r8 + rax*4]
cmp edx, 0xffffffff
jae case.0x1401677f5.100
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x140167844
or byte [rdi + 0x47], 0x80
jmp 0x140167859
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
mov edx, dword [r8]
cmp edx, 0xffffffff
jb 0x140167832
jmp 0x14016814f
mov r12d, 2
jmp case.0x1401677f5.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x14016788a
or byte [rdi + 0x47], 0x80
jmp 0x14016814f
mov rcx, rdx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
jmp 0x14016814f
add rbx, 2
lea rdx, [rbx + 2]
mov dword [rsp + 0x20], ebp
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.140168370
jmp 0x14016814f
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp 0x14016814f
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp 0x14016814f
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x240]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x241]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x242]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x243]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x244]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x245]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x246]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x247]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x248]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x249]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x24a]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x24b]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x24c]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x24d]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x24e]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x24f]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x250]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x251]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x252]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x253]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x254]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x255]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x256]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x257]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x258]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x259]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x25a]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x25b]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x25c]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x25d]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x25e]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x25f]
not al
jmp 0x14016814c
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x240]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x241]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x242]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x243]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x244]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x245]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x246]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x247]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x248]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x249]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x24a]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x24b]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x24c]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x24d]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x24e]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x24f]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x250]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x251]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x252]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x253]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x254]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x255]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x256]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x257]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x258]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x259]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x25a]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x25b]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x25c]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x25d]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x25e]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x25f]
jmp 0x14016814c
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x200]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x201]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x202]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x203]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x204]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x205]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x206]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x207]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x208]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x209]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x20a]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x20b]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x20c]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x20d]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x20e]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x20f]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x210]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x211]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x212]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x213]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x214]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x215]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x216]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x217]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x218]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x219]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x21a]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x21b]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x21c]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x21d]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x21e]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x21f]
not al
jmp 0x14016814c
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x200]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x201]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x202]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x203]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x204]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x205]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x206]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x207]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x208]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x209]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x20a]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x20b]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x20c]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x20d]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x20e]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x20f]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x210]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x211]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x212]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x213]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x214]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x215]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x216]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x217]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x218]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x219]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x21a]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x21b]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x21c]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x21d]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x21e]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x21f]
jmp 0x14016814c
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x2a0]
not al
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x2a1]
not al
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x2a2]
not al
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x2a3]
not al
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x2a4]
not al
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x2a5]
not al
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x2a6]
not al
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x2a7]
not al
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x2a8]
not al
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x2a9]
not al
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x2aa]
not al
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x2ab]
not al
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x2ac]
not al
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x2ad]
not al
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x2ae]
not al
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x2af]
not al
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x2b0]
not al
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x2b1]
not al
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x2b2]
not al
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x2b3]
not al
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x2b4]
not al
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x2b5]
not al
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x2b6]
not al
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x2b7]
not al
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x2b8]
not al
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x2b9]
not al
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x2ba]
not al
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x2bb]
not al
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x2bc]
not al
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x2bd]
not al
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x2be]
not al
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x2bf]
not al
jmp 0x14016814c
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rcx + 0x2a0]
or byte [rdi + 0x28], al
movzx eax, byte [rcx + 0x2a1]
or byte [rdi + 0x29], al
movzx eax, byte [rcx + 0x2a2]
or byte [rdi + 0x2a], al
movzx eax, byte [rcx + 0x2a3]
or byte [rdi + 0x2b], al
movzx eax, byte [rcx + 0x2a4]
or byte [rdi + 0x2c], al
movzx eax, byte [rcx + 0x2a5]
or byte [rdi + 0x2d], al
movzx eax, byte [rcx + 0x2a6]
or byte [rdi + 0x2e], al
movzx eax, byte [rcx + 0x2a7]
or byte [rdi + 0x2f], al
movzx eax, byte [rcx + 0x2a8]
or byte [rdi + 0x30], al
movzx eax, byte [rcx + 0x2a9]
or byte [rdi + 0x31], al
movzx eax, byte [rcx + 0x2aa]
or byte [rdi + 0x32], al
movzx eax, byte [rcx + 0x2ab]
or byte [rdi + 0x33], al
movzx eax, byte [rcx + 0x2ac]
or byte [rdi + 0x34], al
movzx eax, byte [rcx + 0x2ad]
or byte [rdi + 0x35], al
movzx eax, byte [rcx + 0x2ae]
or byte [rdi + 0x36], al
movzx eax, byte [rcx + 0x2af]
or byte [rdi + 0x37], al
movzx eax, byte [rcx + 0x2b0]
or byte [rdi + 0x38], al
movzx eax, byte [rcx + 0x2b1]
or byte [rdi + 0x39], al
movzx eax, byte [rcx + 0x2b2]
or byte [rdi + 0x3a], al
movzx eax, byte [rcx + 0x2b3]
or byte [rdi + 0x3b], al
movzx eax, byte [rcx + 0x2b4]
or byte [rdi + 0x3c], al
movzx eax, byte [rcx + 0x2b5]
or byte [rdi + 0x3d], al
movzx eax, byte [rcx + 0x2b6]
or byte [rdi + 0x3e], al
movzx eax, byte [rcx + 0x2b7]
or byte [rdi + 0x3f], al
movzx eax, byte [rcx + 0x2b8]
or byte [rdi + 0x40], al
movzx eax, byte [rcx + 0x2b9]
or byte [rdi + 0x41], al
movzx eax, byte [rcx + 0x2ba]
or byte [rdi + 0x42], al
movzx eax, byte [rcx + 0x2bb]
or byte [rdi + 0x43], al
movzx eax, byte [rcx + 0x2bc]
or byte [rdi + 0x44], al
movzx eax, byte [rcx + 0x2bd]
or byte [rdi + 0x45], al
movzx eax, byte [rcx + 0x2be]
or byte [rdi + 0x46], al
movzx eax, byte [rcx + 0x2bf]
or byte [rdi + 0x47], al
movzx r9d, byte [0x140275f26]
movzx r10d, byte [0x140275ecb]
movzx eax, word [r14 + 2]
cmp word [r14 + rax*2], 0x78
lea r14, [r14 + rax*2]
jne 0x14016818d
lea rbx, [r14 + 4]
mov ecx, 0x8d
mov edx, 0x89
mov r8d, 0x8e
jmp 0x140166bd8
mov eax, ecx
jmp 0x1401681a2
mov eax, r12d
jmp 0x1401681a2
xor eax, eax
jmp 0x1401681a2
mov eax, 2
jmp 0x1401681a2
mov eax, 3
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret