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

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r12d, r9d
mov rdx, r8
call fcn.1800017f0
mov r14d, dword [rsp + 0x80]
mov r13, rax
test r14d, r14d
jne 0x180001cb9
mov r11, qword [0x180004068]
test r11, r11
jne 0x180001c9b
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180001c77
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001c77
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xf970dee4
lea rax, [rdi + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180001c72
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180001c50
cmp r8d, 0xad3a3b5b
je 0x180001c7c
test r9d, r9d
jne 0x180001c30
mov rcx, qword [rcx]
jmp 0x180001c00
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
mov qword [0x180004068], r11
mov r8d, r12d
mov rdx, r15
mov rcx, r13
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp r11
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x20], 0
nop dword [rax]
mov rax, qword [0x180004090]
test rax, rax
jne 0x180001d9a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180001d77
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001d77
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f023b0e
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180001d72
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180001d50
cmp r8d, 0x2bdb721d
je 0x180001d7c
test r9d, r9d
jne 0x180001d30
mov rax, qword [rax]
jmp 0x180001d00
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x180004090], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
test rax, rax
jne 0x180001cd0
xor ebp, ebp
mov qword [rsp + 0x20], rbp
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x180004090]
test rax, rax
jne 0x180001e8a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180001e67
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001e67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f023b0e
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180001e62
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180001e40
cmp r8d, 0x2bdb721d
je 0x180001e6c
test r9d, r9d
jne 0x180001e20
mov rax, qword [rax]
jmp 0x180001df0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x180004090], rax
lea rdx, [rsp + 0x20]
mov rcx, r13
call rax
mov rsi, rax
test rax, rax
je 0x180001fdb
mov r10, qword [rax + 0x18]
xor r8d, r8d
movzx edx, byte [r10]
cmp dl, byte [r15]
jne 0x180001ed8
mov r9, r10
mov rcx, r15
sub r9, r15
nop dword [rax]
test dl, dl
je 0x180001dc0
movzx edx, byte [r9 + rcx + 1]
inc rcx
inc r8
cmp dl, byte [rcx]
je 0x180001ec0
movsx ecx, byte [r8 + r10]
movsx eax, byte [r8 + r15]
cmp ecx, eax
je 0x180001dc0
cmp r12d, 0xffffffff
jle 0x180001fcc
mov rax, qword [0x180004088]
test rax, rax
jne 0x180001fba
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180001f97
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180001f97
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xce0bfd57
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180001f92
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180001f70
cmp r8d, 0x65188b2
je 0x180001f9c
test r9d, r9d
jne 0x180001f50
mov rax, qword [rax]
jmp 0x180001f20
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x180004088], rax
mov rcx, rsi
call rax
test eax, eax
js 0x180001fcc
cmp eax, r12d
jne 0x180001dc0
cmp ebp, r14d
jge 0x180001fd8
inc ebp
jmp 0x180001dc0
mov rax, rsi
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret