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

Disassembly:
sub rsp, 0x68
mov rax, qword [0x1801d11f0]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp qword [0x1801ebb90], 0
je 0x1800bc42f
movsxd rax, dword [0x1801ebb60]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
movabs rsi, 0x7fffffffffffffff
mov qword [rsp + 0x60], rdi
test eax, eax
jle 0x1800bc218
mov rbx, rax
call fcn.180145d0c
mov rdi, rax
call fcn.180145cf0
cmp rdi, 0x989680
jne 0x1800bc1c4
imul rax, rax, 0x64
jmp 0x1800bc1e2
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov qword [rsp + 0x20], rax
test rbx, rbx
jle 0x1800bc20e
imul rdx, rbx, 0xf4240
mov rcx, rsi
sub rcx, rdx
cmp rax, rcx
jge 0x1800bc209
lea rcx, [rdx + rax]
mov qword [rsp + 0x20], rcx
jmp 0x1800bc20e
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1800ca9d0
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x2c], xmm0
mov dword [rsp + 0x3c], 2
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1800bc2c7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800bc2c7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bc2c2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bc2a0
cmp r8d, 0x6bc1ae7d
je 0x1800bc2cc
test r9d, r9d
jne 0x1800bc280
mov rax, qword [rax]
jmp 0x1800bc250
mov ecx, dword [rbx + 0x24]
mov r8d, Ordinal_41
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rsp + 0x28]
add rax, r10
lea ecx, [r8 - 0x27]
call rax
call fcn.180145d0c
mov rbx, rax
call fcn.180145cf0
cmp rbx, 0x989680
jne 0x1800bc310
imul rax, rax, 0x64
jmp 0x1800bc32e
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
movabs rcx, 0x7ffffffffff0bdbf
cmp rax, rcx
jge 0x1800bc34a
add rax, 0xf4240
mov qword [rsp + 0x20], rax
jmp 0x1800bc34f
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1800ca9d0
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0x3c], 4
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 0x1800bc3f7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800bc3f7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1800bc3f2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800bc3d0
cmp r8d, 0x6bc1ae7d
je 0x1800bc3fc
test r9d, r9d
jne 0x1800bc3b0
mov rax, qword [rax]
jmp 0x1800bc380
mov edx, dword [rbx + 0x24]
mov r8d, Ordinal_41
add rdx, r10
lea ecx, [r8 - 0x27]
movzx r9d, word [rdx + r9*2]
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rdx + r9*4]
lea rdx, [rsp + 0x28]
add rax, r10
call rax
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180146940
add rsp, 0x68
ret