Function at 0x18003bfe0
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], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
nop
mov r11, qword [rsi + 0x30]
xor r15d, r15d
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18003c09a
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003c09a
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec r10d
mov r9d, 0x95c170ca
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18003c095
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x18003c060
cmp r9d, 0xc5d092ad
je 0x18003c18d
test r10d, r10d
jne 0x18003c040
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x18003c0af
cmp qword [rax + 0x30], r15
jne 0x18003c010
mov rax, r15
xor r9d, r9d
lea r8, section.___C__02
lea rdx, section.___C__02
xor ecx, ecx
call rax
mov rax, qword [0x1800b2330]
mov qword [0x1800aef00], rax
mov qword [0x1800aef08], 0x14accc
call fcn.180091710
test al, al
je 0x18003c530
xor edx, edx
mov ecx, 0x182a373
call fcn.180090f10
xor edx, edx
test rax, rax
movabs rax, 0xc8775f1d04553e31
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
je 0x18003c1a9
mov qword [rsp + 0x20], rax
mov ecx, 0x182a373
movabs rax, 0xf8811592cdb04926
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
movabs rax, 0x8e347f5f3c750605
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
movabs rax, 0xf88126d6edf60f06
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movdqa xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x48], rax
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180090f10
lea r8, [rsp + 0x20]
jmp 0x18003c216
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18003c0b2
mov qword [rsp + 0x30], rax
xor ecx, ecx
movabs rax, 0xf8811592cdb04926
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
movabs rax, 0x8e347f5f3c750605
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
movabs rax, 0xf88126d6edf60f06
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movdqa xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x48], rax
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.180090f10
lea r8, [rsp + 0x30]
xor r9d, r9d
mov edx, 0xaac71b62
mov rcx, rax
call fcn.18008e0c0
mov rcx, qword [0x1800aef00]
mov rdx, rax
mov qword [0x180094198], rax
movabs rbx, 0x7ffffffdfffe
cmp rax, rcx
jbe 0x18003c252
add rcx, qword [0x1800aef08]
cmp rax, rcx
jb 0x18003c262
lea rax, [rdx - 0x10000]
cmp rax, rbx
ja 0x18003c530
xor r8d, r8d
xor edx, edx
mov ecx, 0x2dca3638
call fcn.180091050
mov rdx, qword [0x1800aef00]
cmp rax, rdx
jbe 0x18003c289
add rdx, qword [0x1800aef08]
cmp rax, rdx
jb 0x18003c299
lea rcx, [rax - 0x10000]
cmp rcx, rbx
ja 0x18003c530
add rax, 0x12
mov qword [0x1800941a0], rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18003c34a
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003c34a
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0x1d90a0ed
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18003c345
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x18003c310
cmp r9d, 0xa3b1d5ac
je 0x18003c45b
test r10d, r10d
jne 0x18003c2f0
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x18003c35f
cmp qword [rax + 0x30], r15
jne 0x18003c2c0
mov rax, r15
xor r9d, r9d
lea r8, section.___C__02_1
lea rdx, section.___C__02_1
xor ecx, ecx
call rax
lea rbx, [section..data]
lea rdi, [0x1800931a8]
cmp rbx, rdi
jae 0x18003c3a4
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
test rax, rax
je 0x18003c39f
call rax
cmp rbx, rdi
jb 0x18003c390
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18003c444
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x18003c444
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0x8e968d5e
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x18003c43f
nop
movsx ecx, al
lea r8, [r8 + 1]
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
movzx eax, byte [r8 - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test al, al
jne 0x18003c410
cmp r9d, 0x7ec592c1
je 0x18003c477
test r10d, r10d
jne 0x18003c3f0
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x18003c48f
cmp qword [rax + 0x30], r15
jne 0x18003c3c0
jmp 0x18003c48f
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x18003c362
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov r15d, dword [rcx + rdx*4]
add r15, r11
xor r9d, r9d
lea r8, section.___C__02_2
lea rdx, section.___C__02_2
xor ecx, ecx
call r15
cmp qword [0x1800b0fa0], 0
jne 0x18003c523
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r9, qword [rax + 0x60]
mov r10d, 0xaaaf4f4
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x18003c513
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x18003c4e0
cmp r10d, 0x8e9b421c
je 0x18003c518
mov rax, qword [rax]
jmp 0x18003c4c0
mov rcx, qword [rax + 0x30]
mov qword [0x1800b0fa0], rcx
call fcn.1800130c0
test al, al
je 0x18003c530
mov al, 1
jmp 0x18003c532
xor al, al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret