Function at 0x1800bb570
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 [0x1801d01d0]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp qword [0x1801eab80], 0
je 0x1800bb83f
movsxd rax, dword [0x1801eae7c]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
movabs rsi, 0x7fffffffffffffff
mov qword [rsp + 0x60], rdi
test eax, eax
jle 0x1800bb628
mov rbx, rax
call fcn.180146a54
mov rdi, rax
call fcn.180146a38
cmp rdi, 0x989680
jne 0x1800bb5d4
imul rax, rax, 0x64
jmp 0x1800bb5f2
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 0x1800bb61e
imul rdx, rbx, 0xf4240
mov rcx, rsi
sub rcx, rdx
cmp rax, rcx
jge 0x1800bb619
lea rcx, [rdx + rax]
mov qword [rsp + 0x20], rcx
jmp 0x1800bb61e
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1800ca490
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 0x1800bb6d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800bb6d7
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 0x1800bb6d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb6b0
cmp r8d, 0x6bc1ae7d
je 0x1800bb6dc
test r9d, r9d
jne 0x1800bb690
mov rax, qword [rax]
jmp 0x1800bb660
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.180146a54
mov rbx, rax
call fcn.180146a38
cmp rbx, 0x989680
jne 0x1800bb720
imul rax, rax, 0x64
jmp 0x1800bb73e
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 0x1800bb75a
add rax, 0xf4240
mov qword [rsp + 0x20], rax
jmp 0x1800bb75f
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1800ca490
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 0x1800bb807
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800bb807
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 0x1800bb802
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800bb7e0
cmp r8d, 0x6bc1ae7d
je 0x1800bb80c
test r9d, r9d
jne 0x1800bb7c0
mov rax, qword [rax]
jmp 0x1800bb790
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.1801455c0
add rsp, 0x68
ret