Function at 0x18001c1f0
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 [0x1800c2958]
mov r13, r9
mov r10, qword [0x1800c2960]
mov r15, rcx
movabs rsi, 0x7ffffffdfffe
cmp rcx, rdx
jbe 0x18001c22f
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x18001c23f
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001c882
cmp r8, rdx
jbe 0x18001c24d
lea rax, [r10 + rdx]
cmp r8, rax
jb 0x18001c25d
lea rax, [r8 - 0x10000]
cmp rax, rsi
ja 0x18001c882
mov rcx, qword [rbp + 0x67]
cmp rcx, rdx
jbe 0x18001c26f
lea rax, [r10 + rdx]
cmp rcx, rax
jb 0x18001c27f
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001c882
mov rcx, r15
movaps xmmword [rsp + 0xd0], xmm6
call fcn.18000f110
movss xmm6, dword [rax]
call fcn.180014fb0
comiss xmm6, xmm0
jae 0x18001c87a
mov rcx, r15
call fcn.18000fae0
test al, al
je 0x18001c87a
mov rcx, r15
call fcn.18000f8b0
test al, al
jne 0x18001c87a
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, 0x2db16f8d34533f74
mov qword [rsp + 0xe0], r14
movabs r14, 0xa69d515c63d7d57b
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, 0x96fb373d5bb1e35e
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, 0x19d35deb07620d42
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x41], rax
movabs rax, 0xe02cc4b5a4a5e10a
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x39], rax
movabs rax, 0xbdb0f7309a576ff0
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x31], rax
movabs rax, 0xb0cfaa3089fd793e
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x29], rax
movabs rax, 0x443c9311b94f81a9
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, 0xd348a5d690c4833d
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x69], rax
movabs rax, 0x84d5c207a9360e96
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x61], rax
movabs rax, 0x87fe9f00b1cc4f0f
mov qword [rbp + 0x47], rax
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x59], rax
movabs rax, 0x443c9311b94f8198
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.18000a880
mov rdx, qword [0x1800c4a88]
mov qword [rbp + 0x47], rax
test rdx, rdx
jne 0x18001c56b
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 0x18001c52a
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18001c52a
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0xc2204d12
lea rax, [rdi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18001c525
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 0x18001c4f0
cmp r9d, 0x2234d053
je 0x18001c890
test r10d, r10d
jne 0x18001c4d0
mov rax, qword [r14]
mov r14, rax
cmp rax, r12
je 0x18001c540
cmp qword [rax + 0x30], 0
jne 0x18001c4a0
xor edx, edx
mov rax, qword [rbp + 0x47]
movabs rsi, 0x7ffffffdfffe
mov qword [0x1800c4a88], rdx
movabs r14, 0xa69d515c63d7d57b
movabs r12, 0x2db16f8d34533f74
mov rcx, rax
call rdx
mov rcx, qword [0x1800c2970]
mov edx, 0x2f
mov rbx, rax
call fcn.18001ca60
lea rdx, [rsp + 0x40]
mov rcx, rax
mov rdi, rax
call fcn.180015310
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.180015540
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 [0x1800a3e60]
mov qword [rbx + 0xa8], rax
mov rcx, qword [0x1800c2958]
movss dword [rsp + 0x38], xmm6
cmp rdi, rcx
jbe 0x18001c637
add rcx, qword [0x1800c2960]
cmp rdi, rcx
jb 0x18001c647
lea rax, [rdi - 0x10000]
cmp rax, rsi
ja 0x18001c85a
mov rcx, qword [0x1800c2970]
mov edx, 0x2f
call fcn.18001ca60
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180015310
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.180015540
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 [0x1800a3eb0]
movss dword [rsp + 0x38], xmm6
movsd qword [rsp + 0x30], xmm0
cmp rax, 0x402402
jne 0x18001c833
mov qword [rbp + 0x47], r14
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x47]
movabs rcx, 0xd348a5d690c4833d
mov qword [rsp + 0x40], rax
movabs rdx, 0x84d5c207a9360e96
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, 0xd4cd343b02bab41f
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, 0x5ed406f946364f1b
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, 0xc3f1341106a4b439
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, 0x2db16f8d34533f11
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.18000c010
mov qword [0x1800a3eb0], rax
mov rax, qword [rax + r15]
mov rcx, r15
mov qword [rbx + 0x38], rax
call fcn.18000f700
mov rcx, r15
movss xmm1, dword [rax]
call fcn.180010080
mov rdx, rbx
mov rcx, r15
call fcn.18000fe40
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 0x18001c542