Function at 0x14016aba0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, qword [rsp + 0x80]
mov r14d, r9d
mov ebp, r8d
mov r12, rdx
mov rdi, rcx
mov r13d, 1
inc dword [r15]
cmp dword [r15], 0x3e8
jle 0x14016abef
lea eax, [r13 + 3]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx ecx, word [rdx]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov edx, 0x88
lea r9, [0x140000000]
movzx eax, cx
lea rbx, [r12 + 4]
sub ax, dx
xor r10d, r10d
mov esi, 1
mov r8d, 0x8d
cmp ax, si
jbe 0x14016ac2f
sub cx, r8w
cmp cx, si
ja 0x14016ac40
add rbx, 2
nop dword [rax]
nop word [rax + rax]
movzx r8d, word [rbx]
mov rdx, r10
cmp r8d, 0xa6
ja case.0x14016ac68.32
movzx eax, byte [r9 + r8 + 0x16c82c]
mov ecx, dword [r9 + rax*4 + 0x16c7a0]
add rcx, r9
jmp rcx
movzx eax, byte [0x1401ec46b]
lea rbx, [rbx + rax*2]
jmp 0x14016bb31
mov r9d, r14d
mov qword [rsp + 0x20], r15
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.14016aba0
cmp eax, 1
je case.0x14016bb15.100
cmp eax, 2
jne 0x14016c783
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x14016acb0
add rbx, 4
lea r9, [0x140000000]
xor r10d, r10d
jmp 0x14016bb31
movzx eax, byte [reloc.OLEAUT32.dll_SysReAllocStringLen]
lea rbx, [rbx + rax*2]
jmp 0x14016bb31
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x14016bb31
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x14016ac68.29
add rbx, 4
jmp 0x14016bb31
add rbx, 2
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov r9d, r14d
mov r8d, ebp
mov rcx, rdi
call fcn.14016aba0
test eax, eax
je 0x14016c783
lea ecx, [rax - 3]
cmp ecx, 1
jbe 0x14016c783
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x14016ad40
add rbx, 4
lea r9, [0x140000000]
xor r10d, r10d
jmp 0x14016bb31
add rbx, 2
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x14016ad70
add rbx, 4
jmp 0x14016bb31
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x14016ada0
or byte [rdi + 0x47], 0x80
jmp 0x14016adb9
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 ebp, ebp
je 0x14016bb31
and r8d, 0xfc00
cmp r8d, 0xd800
jne 0x14016bb31
add rbx, 2
jmp 0x14016bb31
lea rdx, [rbx + 2]
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, 1
mov rcx, rdi
call fcn.14016c950
mov rbx, rax
lea r9, [0x140000000]
xor r10d, r10d
jmp 0x14016bb31
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x14016ad91
lea rdx, [rbx + 4]
jmp 0x14016ade2
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x14016ae3f.12
cdqe
mov ecx, dword [r9 + rax*4 + 0x16c8d4]
add rcx, r9
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x14016bb31
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x242]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x243]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x244]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x245]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x246]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x247]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x248]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x249]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24a]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24b]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24c]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24d]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24e]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24f]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x250]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x251]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x252]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x253]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x254]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x255]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x256]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x257]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x258]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x259]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25a]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25b]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25c]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25d]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25e]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25f]
not cl
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x242]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x243]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x244]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x245]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x246]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x247]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x248]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x249]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24a]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24b]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24c]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24d]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24e]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24f]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x250]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x251]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x252]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x253]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x254]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x255]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x256]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x257]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x258]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x259]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25a]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25b]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25c]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25d]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25e]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25f]
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x202]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x203]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x204]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x205]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x206]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x207]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x208]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x209]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20a]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20b]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20c]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20d]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20e]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20f]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x210]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x211]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x212]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x213]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x214]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x215]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x216]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x217]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x218]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x219]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21a]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21b]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21c]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21d]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21e]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21f]
not cl
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x202]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x203]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x204]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x205]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x206]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x207]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x208]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x209]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20a]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20b]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20c]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20d]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20e]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20f]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x210]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x211]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x212]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x213]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x214]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x215]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x216]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x217]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x218]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x219]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21a]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21b]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21c]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21d]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21e]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21f]
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a2]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a3]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a4]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a5]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a6]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a7]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a8]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a9]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2aa]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ab]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ac]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ad]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ae]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2af]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b0]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b1]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b2]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b3]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b4]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b5]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b6]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b7]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b8]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b9]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ba]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bb]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bc]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bd]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2be]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bf]
not cl
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a2]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a3]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a4]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a5]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a6]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a7]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a8]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a9]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2aa]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ab]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ac]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ad]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ae]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2af]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b0]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b1]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b2]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b3]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b4]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b5]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b6]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b7]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b8]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b9]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ba]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bb]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bc]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bd]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2be]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bf]
or byte [rdi + 0x47], cl
add rbx, 4
jmp 0x14016bb31
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x14016ae3f.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x14016ae3f.12
test cl, 2
je case.0x14016ac68.22
lea rdx, [rbx + 6]
or byte [rdi + 0x47], 0x80
movzx r8d, word [rbx]
cmp r8w, 0x70
jne 0x14016ba09
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x14016ba11
lea rdx, [rbx + 2]
add rbx, 0x22
test rdx, rdx
je 0x14016baf9
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 eax, word [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x14016bb15.100
cdqe
mov ecx, dword [r9 + rax*4 + 0x16c914]
add rcx, r9
jmp rcx
add rbx, 2
jmp 0x14016bb31
movzx eax, word [rbx + 2]
test ax, ax
jne 0x14016bb2d
add rbx, 6
test ax, ax
cmovne esi, r10d
test esi, esi
jne 0x14016ac40
jmp case.0x14016bb15.100
cmp word [rbx + 2], 0xa
jne case.0x14016ae3f.12
movzx eax, word [rbx + 4]
lea r8, [rax*4 + 0x1ee5b0]
add r8, r9
mov edx, dword [r8]
cmp edx, 0xffffffff
jae case.0x14016bb15.100
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x14016bb76
or byte [rdi + 0x47], 0x80
jmp 0x14016bb8b
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 0x14016bb64
jmp case.0x14016bb15.100
mov r13d, 2
jmp case.0x14016bb15.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x14016bbbc
or byte [rdi + 0x47], 0x80
jmp case.0x14016bb15.100
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 case.0x14016bb15.100
add rbx, 2
lea rdx, [rbx + 2]
mov dword [rsp + 0x20], r14d
mov r9d, ebp
mov r8d, 1
mov rcx, rdi
call fcn.14016c950
jmp case.0x14016bb15.100
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x14016bb15.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x14016bb15.100
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x242]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x243]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x244]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x245]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x246]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x247]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x248]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x249]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24a]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24b]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24c]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24d]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24e]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24f]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x250]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x251]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x252]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x253]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x254]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x255]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x256]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x257]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x258]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x259]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25a]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25b]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25c]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25d]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25e]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25f]
not cl
jmp 0x14016c74f
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x242]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x243]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x244]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x245]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x246]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x247]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x248]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x249]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24a]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24b]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24c]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24d]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24e]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x24f]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x250]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x251]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x252]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x253]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x254]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x255]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x256]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x257]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x258]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x259]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25a]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25b]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25c]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25d]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25e]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x25f]
jmp 0x14016c74f
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x202]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x203]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x204]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x205]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x206]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x207]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x208]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x209]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20a]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20b]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20c]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20d]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20e]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20f]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x210]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x211]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x212]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x213]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x214]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x215]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x216]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x217]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x218]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x219]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21a]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21b]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21c]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21d]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21e]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21f]
not cl
jmp 0x14016c74f
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x202]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x203]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x204]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x205]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x206]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x207]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x208]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x209]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20a]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20b]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20c]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20d]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20e]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x20f]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x210]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x211]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x212]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x213]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x214]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x215]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x216]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x217]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x218]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x219]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21a]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21b]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21c]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21d]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21e]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x21f]
jmp 0x14016c74f
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a2]
not cl
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a3]
not cl
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a4]
not cl
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a5]
not cl
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a6]
not cl
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a7]
not cl
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a8]
not cl
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a9]
not cl
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2aa]
not cl
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ab]
not cl
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ac]
not cl
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ad]
not cl
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ae]
not cl
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2af]
not cl
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b0]
not cl
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b1]
not cl
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b2]
not cl
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b3]
not cl
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b4]
not cl
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b5]
not cl
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b6]
not cl
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b7]
not cl
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b8]
not cl
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b9]
not cl
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ba]
not cl
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bb]
not cl
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bc]
not cl
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bd]
not cl
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2be]
not cl
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bf]
not cl
jmp 0x14016c74f
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
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a2]
or byte [rdi + 0x2a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a3]
or byte [rdi + 0x2b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a4]
or byte [rdi + 0x2c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a5]
or byte [rdi + 0x2d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a6]
or byte [rdi + 0x2e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a7]
or byte [rdi + 0x2f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a8]
or byte [rdi + 0x30], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2a9]
or byte [rdi + 0x31], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2aa]
or byte [rdi + 0x32], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ab]
or byte [rdi + 0x33], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ac]
or byte [rdi + 0x34], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ad]
or byte [rdi + 0x35], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ae]
or byte [rdi + 0x36], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2af]
or byte [rdi + 0x37], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b0]
or byte [rdi + 0x38], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b1]
or byte [rdi + 0x39], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b2]
or byte [rdi + 0x3a], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b3]
or byte [rdi + 0x3b], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b4]
or byte [rdi + 0x3c], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b5]
or byte [rdi + 0x3d], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b6]
or byte [rdi + 0x3e], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b7]
or byte [rdi + 0x3f], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b8]
or byte [rdi + 0x40], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2b9]
or byte [rdi + 0x41], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2ba]
or byte [rdi + 0x42], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bb]
or byte [rdi + 0x43], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bc]
or byte [rdi + 0x44], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bd]
or byte [rdi + 0x45], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2be]
or byte [rdi + 0x46], cl
mov rax, qword [rdi + 0x18]
movzx ecx, byte [rax + 0x2bf]
or byte [rdi + 0x47], cl
movzx eax, word [r12 + 2]
cmp word [r12 + rax*2], 0x78
lea r12, [r12 + rax*2]
jne 0x14016c76e
mov ecx, 0x78
jmp 0x14016abfc
mov eax, r13d
jmp 0x14016c783
mov eax, 2
jmp 0x14016c783
xor eax, eax
jmp 0x14016c783
mov eax, 3
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret