Function at 0x140016a90
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x160
mov rax, qword [0x1400ee098]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rax, qword [0x1400f1b10]
mov qword [rsp + 0x188], r15
mov r15, rdx
test rax, rax
jne 0x140016b87
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140016b68
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140016b68
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016b63
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140016b40
cmp edx, 0x185776b5
je 0x140017100
test r8d, r8d
jne 0x140016b20
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140016b7e
cmp qword [rax + 0x30], 0
jne 0x140016af0
xor eax, eax
mov qword [0x1400f1b10], rax
xor edx, edx
lea ecx, [rdx + 0xf]
call rax
mov r8, qword [0x1400f1b48]
mov r14, rax
mov dword [rsp + 0x20], 0x130
test r8, r8
jne 0x140016c58
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
mov rbx, rsi
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140016c38
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140016c38
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016c33
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140016c10
cmp edx, 0xa4c8c8f
je 0x14001711c
test r8d, r8d
jne 0x140016bf0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140016c4e
cmp qword [rax + 0x30], 0
jne 0x140016bc0
xor r8d, r8d
mov qword [0x1400f1b48], r8
lea rdx, [rsp + 0x20]
mov rcx, r14
call r8
test eax, eax
je 0x140017011
mov qword [rsp + 0x180], rbp
nop dword [rax]
nop word [rax + rax]
lea rax, [rsp + 0x4c]
mov r8, r15
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140016ca3
inc rax
test ecx, ecx
jne 0x140016c90
test edx, edx
jne 0x140016f2c
mov rax, qword [0x1400f1b40]
test rax, rax
jne 0x140016d77
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140016d58
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140016d58
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016d53
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140016d30
cmp edx, 0x4105fc56
je 0x14001713b
test r8d, r8d
jne 0x140016d10
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140016d6e
cmp qword [rax + 0x30], 0
jne 0x140016ce0
xor eax, eax
mov qword [0x1400f1b40], rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
lea ecx, [rdx + 1]
call rax
mov rbp, rax
test rax, rax
je 0x140016f2c
mov r8, qword [0x1400f1b20]
test r8, r8
jne 0x140016e58
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
mov rbx, rsi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140016e38
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140016e38
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016e33
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140016e10
cmp edx, 0xf84eee59
je 0x140017159
test r8d, r8d
jne 0x140016df0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140016e4e
cmp qword [rax + 0x30], 0
jne 0x140016dc0
xor r8d, r8d
mov qword [0x1400f1b20], r8
mov edx, 9
mov rcx, rbp
call r8
mov rax, qword [0x1400f1b50]
test rax, rax
jne 0x140016f27
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140016f08
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140016f08
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016f03
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140016ee0
cmp edx, 0xfaba0065
je 0x140017178
test r8d, r8d
jne 0x140016ec0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140016f1e
cmp qword [rax + 0x30], 0
jne 0x140016e90
xor eax, eax
mov qword [0x1400f1b50], rax
mov rcx, rbp
call rax
mov rax, qword [0x1400f1b60]
test rax, rax
jne 0x140016ff7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140016fd8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140016fd8
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140016fd3
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x140016fb0
cmp edx, 0x15eec872
je 0x140017196
test r8d, r8d
jne 0x140016f90
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140016fee
cmp qword [rax + 0x30], 0
jne 0x140016f60
xor eax, eax
mov qword [0x1400f1b60], rax
lea rdx, [rsp + 0x20]
mov rcx, r14
call rax
test eax, eax
jne 0x140016c80
mov rbp, qword [rsp + 0x180]
mov rax, qword [0x1400f1b50]
mov r15, qword [rsp + 0x188]
test rax, rax
jne 0x1400170d7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x1400170b8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400170b8
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400170b3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140017090
cmp edx, 0xfaba0065
je 0x1400171b4
test r8d, r8d
jne 0x140017070
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400170ce
cmp qword [rax + 0x30], 0
jne 0x140017040
xor eax, eax
mov qword [0x1400f1b50], rax
mov rcx, r14
call rax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14002de90
mov rbx, qword [rsp + 0x190]
add rsp, 0x160
pop r14
pop rdi
pop rsi
ret
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140016b80
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
jmp 0x140016c51
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140016d70
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
jmp 0x140016e51
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140016f20
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140016ff0
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x1400170d0