Function at 0x140015b40
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x140090040]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov r14, rcx
mov qword [rbp + 0x20], rcx
xor r12d, r12d
mov dword [rsp + 0x70], r12d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax + rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140015c25
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140015c25
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rdi + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140015c20
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140015bf0
cmp r9d, 0xaeae5d63
je 0x140015c91
test r10d, r10d
jne 0x140015bd0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140015c38
cmp qword [rbx + 0x30], 0
jne 0x140015ba0
mov rax, r12
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x140015c48
mov rcx, qword [r14]
call rax
test eax, eax
jne 0x140015caa
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x140015c88
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140015c83
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017059
mov rcx, r8
call fcn.1400491b0
mov qword [r14 + 0x10], r12
jmp 0x140015f66
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x140015c3b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140015d47
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140015d47
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rdi + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0x811c9dc5
movzx eax, byte [r8]
inc r8
test al, al
je 0x140015d42
nop
movsx ecx, al
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
movzx eax, byte [r8]
lea r8, [r8 + 1]
test al, al
jne 0x140015d10
cmp r9d, 0xf75db66e
je 0x140015fa4
test r10d, r10d
jne 0x140015cf0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140015d5a
cmp qword [rbx + 0x30], 0
jne 0x140015cc0
mov rax, r12
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x140015d6a
mov rcx, qword [r14]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
call rax
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x140015c4e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140015e39
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140015e39
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rdi + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140015e34
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140015e00
cmp r9d, 0xb8b0c478
je 0x140015fc0
test r10d, r10d
jne 0x140015de0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140015e4c
cmp qword [rbx + 0x30], 0
jne 0x140015db0
mov rax, r12
xor edx, edx
mov rcx, r13
call rax
mov r12d, eax
cmp eax, 0xffffffff
jne 0x140015ff8
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop word [rax + rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140015f09
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140015f09
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rdi + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140015f04
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140015ed0
cmp r9d, 0x8285aca5
je 0x140015fdc
test r10d, r10d
jne 0x140015eb0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140015f1c
cmp qword [rbx + 0x30], 0
jne 0x140015e80
xor eax, eax
mov rcx, r13
call rax
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x140015f5e
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140015f59
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017059
mov rcx, r8
call fcn.1400491b0
mov qword [r14 + 0x10], 0
xor eax, eax
mov byte [r14], 0
mov qword [r14 + 0x18], 0xf
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.140049190
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x140015d5d
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x140015e4f
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x140015f1e
xorps xmm0, xmm0
xor eax, eax
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], rax
test r12d, r12d
je 0x140016075
cmp r12, 0x1000
jb 0x140016047
lea rcx, [r12 + 0x27]
cmp rcx, r12
jbe 0x14001705f
call fcn.1400491b8
mov rcx, rax
test rax, rax
je 0x140017053
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14001604f
mov rcx, r12
call fcn.1400491b8
mov qword [rbp + 0x80], rax
lea rbx, [rax + r12]
mov qword [rbp + 0x90], rbx
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.14006ec30
mov qword [rbp + 0x88], rbx
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016119
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016119
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [r11 + r10*4]
mov r8d, dword [rcx + rdi]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016114
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x1400160e0
cmp r9d, 0xdb57bd43
je 0x140016195
test r10d, r10d
jne 0x1400160c0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x14001612c
cmp qword [rbx + 0x30], 0
jne 0x140016090
xor edi, edi
mov eax, edi
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x98]
mov r8d, r12d
mov rbx, qword [rbp + 0x80]
mov rdx, rbx
mov rcx, r13
call rax
test eax, eax
je 0x140016f39
cmp dword [rbp + 0x98], r12d
jne 0x140016f39
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rdi
mov r8, qword [rbp + 0x88]
cmp rbx, r8
jne 0x1400161b0
mov rdx, rdi
mov qword [rbp + 0x40], rdx
mov r15d, 0xf
mov qword [rbp + 0x48], r15
mov byte [rbp + 0x30], 0
jmp 0x1400161c7
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
xor edi, edi
jmp 0x140016130
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.1400055d0
mov r15, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
movsd xmm0, qword [str._FiTJ_JO_]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x1400838c0]
mov byte [rsp + 0x40], 0x6f
xor byte [rsp + 0x41], 0x35
xor byte [rsp + 0x42], 0x36
xor byte [rsp + 0x43], 0x37
xor byte [rsp + 0x44], 0x38
xor byte [rsp + 0x45], 0x39
xor byte [rsp + 0x46], 0x3a
xor byte [rsp + 0x47], 0x3b
xor al, 0x3c
mov byte [rsp + 0x48], al
lea rcx, [rsp + 0x40]
mov rdi, 0xffffffffffffffff
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140016220
lea rcx, [rbp + 0x30]
cmp r15, 0xf
seta r12b
mov rsi, qword [rbp + 0x30]
cmova rcx, rsi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
call fcn.14001b420
cmp rax, rdi
jne 0x1400162e4
test r12b, r12b
je 0x14001628b
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140016283
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001704d
mov rcx, rsi
call fcn.1400491b0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
test rbx, rbx
je 0x140015f24
mov rdx, qword [rbp + 0x90]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400162d7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
mov rcx, rbx
call fcn.1400491b0
jmp 0x140015f24
xor r12d, r12d
mov qword [rbp + 8], r12
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.14001b300
nop
movsd xmm0, qword [str._FiTJ_JO_]
movsd qword [rsp + 0x50], xmm0
movzx eax, byte [0x1400838c0]
mov byte [rsp + 0x50], 0x6f
xor byte [rsp + 0x51], 0x35
xor byte [rsp + 0x52], 0x36
xor byte [rsp + 0x53], 0x37
xor byte [rsp + 0x54], 0x38
xor byte [rsp + 0x55], 0x39
xor byte [rsp + 0x56], 0x3a
xor byte [rsp + 0x57], 0x3b
xor al, 0x3c
mov byte [rsp + 0x58], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
lea rax, [rsp + 0x50]
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140016360
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.1400055d0
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x70]
call fcn.14001c5d0
mov rsi, rax
movsd xmm0, qword [str.Q_UEAINXbUZ9A]
movsd qword [rsp + 0x60], xmm0
mov ecx, dword [0x140083930]
mov dword [rsp + 0x68], ecx
movzx ecx, word [0x140083934]
mov word [rsp + 0x6c], cx
cmp byte [0x140083935], 0
je 0x140016500
mov r8d, r12d
cmp dword [0x140090090], 2
jl 0x1400164c5
movdqa xmm4, xmmword [0x140084990]
movdqa xmm2, xmmword [0x140084890]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400848b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140084950]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140084970]
movd xmm0, dword [str.Q_UEAINXbUZ9A]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x1400848a0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400848b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140084950]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140084970]
movd xmm0, dword [rsp + 0x64]
xorps xmm2, xmm0
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x35
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x1400164d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
lea rax, [rsp + 0x60]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140016515
mov r8, rdi
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x78]
call fcn.1400055d0
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.14001c5d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov dword [rsp + 0x70], 4
cmp byte [rax], 3
jne 0x140017065
mov rdx, qword [rax + 8]
lea rcx, [rbp + 0x50]
call fcn.14001aa90
nop
cmp qword [rbp + 0x60], 0
jne 0x140016671
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1400165ba
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400165b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400170a5
call fcn.1400491b0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.14001b020
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.14001abd0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x14001661c
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016617
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001704d
call fcn.1400491b0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
test rbx, rbx
je 0x140015c4e
mov rdx, qword [rbp + 0x90]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x140016664
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
mov rcx, rbx
call fcn.1400491b0
jmp 0x140015c4e
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa0], xmm1
mov qword [rbp + 0xb0], r12
mov dword [rbp + 0x28], r12d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax + rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016729
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016729
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [rdi + r10*4]
mov r8d, dword [rcx + r11]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016724
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x1400166f0
cmp r9d, 0x94dfe9d9
je 0x14001686d
test r10d, r10d
jne 0x1400166d0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x14001673c
cmp qword [rbx + 0x30], 0
jne 0x1400166a0
mov rax, r12
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rcx, qword [rbp + 0x50]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
lea rdx, [rbp + 0x28]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
call rax
test eax, eax
jne 0x140016889
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1400167ae
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400167a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400170a5
call fcn.1400491b0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.14001b020
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.14001abd0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x140016810
inc rdx
mov rcx, qword [rbp + 0x30]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14001680b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001704d
call fcn.1400491b0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140015c4e
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016667
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
call fcn.1400491b0
jmp 0x140015c4e
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x14001673f
mov edx, dword [rbp + 0x28]
test rdx, rdx
je 0x14001689d
lea rcx, [rbp + 0xa0]
call fcn.14001fbe0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016949
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016949
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [r11 + r10*4]
mov r8d, dword [rcx + rdi]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016944
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140016910
cmp r9d, 0x94dfe9d9
je 0x140016a3e
test r10d, r10d
jne 0x1400168f0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x14001695c
cmp qword [rbx + 0x30], 0
jne 0x1400168c0
mov rax, r12
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rcx, qword [rbp + 0x50]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
lea rdx, [rbp + 0x28]
mov qword [rsp + 0x20], rdx
mov rbx, qword [rbp + 0xa0]
mov r9, rbx
xor edx, edx
lea r8d, [rdx + 1]
call rax
test eax, eax
jne 0x140016a5a
test rbx, rbx
je 0x1400169d7
mov rdx, qword [rbp + 0xb0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400169ce
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001709f
mov rcx, rbx
call fcn.1400491b0
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x140016a12
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016a0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400170a5
call fcn.1400491b0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.14001b020
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.14001abd0
nop
jmp 0x1400167d5
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x14001695f
mov ecx, 0x10
call fcn.1400491b8
mov r12, rax
lea rcx, [rbx + 5]
mov qword [rbp + 0x18], rcx
mov ecx, dword [rbp + 0x28]
add ecx, 0xfffffffb
mov dword [rbp + 0x10], ecx
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rdx + 0x10]
mov r15, rbx
nop dword [rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016b19
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016b19
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [r11 + r10*4]
mov r8d, dword [rcx + rdi]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016b14
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140016ae0
cmp r9d, 0x1f545ea7
je 0x140016cc6
test r10d, r10d
jne 0x140016ac0
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140016b2c
cmp qword [rbx + 0x30], 0
jne 0x140016a90
xor ebx, ebx
mov eax, ebx
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x10]
call rax
test eax, eax
jne 0x140016ce4
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x140016b95
mov rdx, qword [rbp + 0xb0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016b8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001709f
call fcn.1400491b0
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x140016bd0
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016bcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400170a5
call fcn.1400491b0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.14001b020
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.14001abd0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x140016c32
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016c2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001704d
call fcn.1400491b0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140016c83
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016c7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
call fcn.1400491b0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x140016cbd
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140016cb8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017059
mov rcx, r8
call fcn.1400491b0
mov qword [r14 + 0x10], rbx
jmp 0x140015f66
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
xor ebx, ebx
jmp 0x140016b30
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax + rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016d89
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016d89
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [r11 + r10*4]
mov r8d, dword [rcx + rdi]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016d84
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140016d50
cmp r9d, 0x8285aca5
je 0x140016f1b
test r10d, r10d
jne 0x140016d30
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140016d9c
cmp qword [rbx + 0x30], 0
jne 0x140016d00
xor ebx, ebx
mov eax, ebx
mov rcx, r13
call rax
nop
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x140016de7
mov rdx, qword [rbp + 0xb0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016de1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001709f
call fcn.1400491b0
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x140016e22
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016e1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400170a5
call fcn.1400491b0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.14001b020
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.14001abd0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x140016e84
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016e7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001704d
call fcn.1400491b0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140016ed5
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016ecf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
call fcn.1400491b0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x140016f0f
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140016f0a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017059
mov rcx, r8
call fcn.1400491b0
mov qword [r14 + 0x10], rbx
mov rax, r12
jmp 0x140015f68
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
xor ebx, ebx
jmp 0x140016da0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r15, rbx
nop dword [rax]
mov r11, qword [rbx + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140016fd5
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x140016fd5
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
lea rcx, [r11 + r10*4]
mov r8d, dword [rcx + rdi]
add r8, r11
mov r9d, 0x811c9dc5
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x140016fd0
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx edx, byte [r8]
lea r8, [r8 + 1]
test dl, dl
jne 0x140016fa0
cmp r9d, 0x8285aca5
je 0x140017034
test r10d, r10d
jne 0x140016f80
mov rbx, qword [rbx]
cmp rbx, r15
je 0x140016fe8
cmp qword [rbx + 0x30], 0
jne 0x140016f50
xor eax, eax
mov rcx, r13
call rax
nop
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140015f24
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400162da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017053
jmp 0x1400162da
mov edx, dword [rsi + 0x1c]
add rdx, r11
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx ecx, word [rcx + r10*2]
mov eax, dword [rdx + rcx*4]
add rax, r11
jmp 0x140016fea
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.140002390
nop
mov rcx, rax
call fcn.14001d340
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140030b70
nop
mov r8, rax
lea rcx, [rbp - 0x68]
call fcn.140030c30
lea rdx, [0x14008e390]
lea rcx, [rbp - 0x68]
call fcn.14004b148
nop
call fcn.1400500ac
nop
call fcn.1400500ac
int3