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

Disassembly:
push rbp
push rsi
push r13
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
mov rdx, qword [0x1800c3c38]
mov r13, r9
mov r10, qword [0x1800c3c40]
mov r15, rcx
movabs rsi, 0x7ffffffdfffe
cmp rcx, rdx
jbe 0x18001bc5f
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x18001bc6f
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001c2b2
cmp r8, rdx
jbe 0x18001bc7d
lea rax, [r10 + rdx]
cmp r8, rax
jb 0x18001bc8d
lea rax, [r8 - 0x10000]
cmp rax, rsi
ja 0x18001c2b2
mov rcx, qword [rbp + 0x67]
cmp rcx, rdx
jbe 0x18001bc9f
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x18001bcaf
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001c2b2
mov rcx, r15
movaps xmmword [rsp + 0xd0], xmm6
call fcn.18000f180
movss xmm6, dword [rax]
call fcn.180014ba0
comiss xmm6, xmm0
jae 0x18001c2aa
mov rcx, r15
call fcn.18000fb50
test al, al
je 0x18001c2aa
mov rcx, r15
call fcn.18000f920
test al, al
jne 0x18001c2aa
mov qword [rsp + 0x118], rbx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x120], rdi
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x128], r12
movabs r12, 0x8adf742177ef49b4
mov qword [rsp + 0xe0], r14
movabs r14, 0xfcd47648172f2ccf
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x38], rax
movabs rax, 0xccb210292f491aea
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x49], rax
movabs rax, 0xbebd464744de7b82
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x41], rax
movabs rax, 0x8da94fdd00ca3d7e
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x39], rax
movabs rax, 0x58299e78ad5b0a70
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x31], rax
movabs rax, 0xbc38173c32f80eb2
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x29], rax
movabs rax, 0x669dd025759e1c59
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x21], rax
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x71], rax
movabs rax, 0xbecd2ebe34ab5f49
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x69], rax
movabs rax, 0x614cab4f9e3a6b16
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x61], rax
movabs rax, 0x8b09220c0ac93883
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x59], rax
movabs rax, 0x669dd025759e1c68
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rbp - 0x49]
xorps xmm0, xmmword [rbp - 0x79]
movdqa xmm1, xmmword [rbp - 0x39]
xorps xmm1, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x49], xmm0
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x51], rax
xorps xmm0, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x29], xmm0
movdqa xmmword [rbp - 0x39], xmm1
call fcn.18000a8d0
mov rdx, qword [0x1800c5d68]
mov qword [rbp + 0x47], rax
test rdx, rdx
jne 0x18001bf9b
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov r14, r12
nop dword [rax]
nop word [rax + rax]
mov r11, qword [r14 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x18001bf5a
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18001bf5a
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0x47dbffef
lea rax, [rdi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18001bf55
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 0x18001bf20
cmp r9d, 0xdc620e1c
je 0x18001c2c0
test r10d, r10d
jne 0x18001bf00
mov rax, qword [r14]
mov r14, rax
cmp rax, r12
je 0x18001bf70
cmp qword [rax + 0x30], 0
jne 0x18001bed0
xor edx, edx
mov rax, qword [rbp + 0x47]
movabs rsi, 0x7ffffffdfffe
mov qword [0x1800c5d68], rdx
movabs r14, 0xfcd47648172f2ccf
movabs r12, 0x8adf742177ef49b4
mov rcx, rax
call rdx
mov rcx, qword [0x1800c3c50]
mov edx, 0x2f
mov rbx, rax
call fcn.18001c490
lea rdx, [rsp + 0x40]
mov rcx, rax
mov rdi, rax
call fcn.180014f00
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x19]
mov ecx, dword [rax + 8]
movsd xmm0, qword [rax]
mov dword [rsp + 0x38], ecx
mov rcx, rdi
movsd qword [rsp + 0x30], xmm0
call fcn.180015130
mov eax, dword [r13 + 8]
xorps xmm0, xmm0
movsd xmm2, qword [r13]
xorps xmm6, xmm6
unpcklps xmm0, xmm6
movsd qword [rbp - 0x6d], xmm0
movsd qword [rsp + 0x30], xmm0
mov dword [rbp - 0x71], eax
movups xmm0, xmmword [rbp - 0x79]
mov dword [rbx + 0x18], 0x447a0000
mov byte [rbx + 0x94], 1
movsd xmm0, xmm2
mov qword [rbx + 0x80], rdi
movups xmmword [rbx + 0x1c], xmm0
movups xmmword [rbp - 0x79], xmm0
movss dword [rbp - 0x65], xmm6
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbx + 0x2c], xmm0
mov rax, qword [0x1800a4e50]
mov qword [rbx + 0xa8], rax
mov rcx, qword [0x1800c3c38]
movss dword [rsp + 0x38], xmm6
cmp rdi, rcx
jbe 0x18001c067
add rcx, qword [0x1800c3c40]
cmp rdi, rcx
jb 0x18001c077
lea rax, [rdi - 0x10000]
cmp rax, rsi
ja 0x18001c28a
mov rcx, qword [0x1800c3c50]
mov edx, 0x2f
call fcn.18001c490
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180014f00
lea r8, [rsp + 0x30]
mov rcx, rdi
lea rdx, [rbp - 9]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
call fcn.180015130
movsd xmm0, qword [rbp - 0x19]
movsd qword [rbx + 0x9c], xmm0
xorps xmm0, xmm0
mov eax, dword [rbp - 0x11]
unpcklps xmm0, xmm6
movsd qword [rbx + 0x88], xmm0
movss dword [rbx + 0x90], xmm6
mov dword [rbx + 0xa4], eax
mov rax, qword [0x1800a4ea0]
movss dword [rsp + 0x38], xmm6
movsd qword [rsp + 0x30], xmm0
cmp rax, 0x402402
jne 0x18001c263
mov qword [rbp + 0x47], r14
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x47]
movabs rcx, 0xbecd2ebe34ab5f49
mov qword [rsp + 0x40], rax
movabs rdx, 0x614cab4f9e3a6b16
mov qword [rbp + 0x47], r12
mov r9b, 1
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x38], rax
movabs rax, 0x8e84132f76424dab
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x49], rax
movabs rax, 0xf9ba1d55058a39db
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x41], rax
mov qword [rbp + 0x47], rcx
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x39], rax
mov qword [rbp + 0x47], rdx
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x31], rax
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x71], rax
mov qword [rbp + 0x47], rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x69], rax
mov qword [rbp + 0x47], rdx
lea rdx, [rbp - 0x49]
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rbp - 0x49]
xorps xmm0, xmmword [rbp - 0x79]
movdqa xmm1, xmmword [rbp - 0x39]
mov qword [rbp - 0x61], rax
movabs rax, 0x99b81305725c4d8d
xorps xmm1, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x49], xmm0
movdqa xmmword [rbp - 0x39], xmm1
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x30], rax
movabs rax, 0x8adf742177ef49d1
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x47], r14
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x79], rax
mov qword [rbp + 0x47], r12
mov rax, qword [rbp + 0x47]
movdqa xmm0, xmmword [rsp + 0x30]
mov qword [rbp - 0x71], rax
xorps xmm0, xmmword [rbp - 0x79]
movdqa xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000c060
mov qword [0x1800a4ea0], rax
mov rax, qword [rax + r15]
mov rcx, r15
mov qword [rbx + 0x38], rax
call fcn.18000f770
mov rcx, r15
movss xmm1, dword [rax]
call fcn.1800100f0
mov rdx, rbx
mov rcx, r15
call fcn.18000feb0
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x118]
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop r15
pop r13
pop rsi
pop rbp
ret
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov edx, dword [rcx + rdx*4]
add rdx, r11
jmp 0x18001bf72