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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r13
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov r10, qword [0x1800e9b28]
mov rsi, r9
mov r11, qword [0x1800e9b30]
mov r13, r8
mov r15, rcx
movabs rdi, 0x7ffffffdfffe
cmp r8, r10
jbe 0x18003a877
lea rax, [r11 + r10]
cmp r8, rax
jb 0x18003a887
lea rax, [r8 - 0x10000]
cmp rax, rdi
ja 0x18003b0bd
cmp rdx, r10
jbe 0x18003a895
lea rax, [r11 + r10]
cmp rdx, rax
jb 0x18003a8a5
lea rax, [rdx - 0x10000]
cmp rax, rdi
ja 0x18003b0bd
movaps xmmword [rsp + 0x120], xmm6
call fcn.180014430
movss xmm6, dword [rax]
call fcn.18001c5f0
comiss xmm6, xmm0
jae 0x18003b0b5
mov rcx, r15
call fcn.180015080
test al, al
je 0x18003b0b5
mov rcx, r15
call fcn.180014c20
test al, al
jne 0x18003b0b5
mov qword [rsp + 0x170], rbx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x138], r12
lea rcx, [rbp - 0x80]
movabs r12, 0x7fc523b739a1fe0
mov qword [rsp + 0x130], r14
movabs r14, 0xd6fbacda51d5e7c7
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
movdqa xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0xe1ce9eec37b1d2e2
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x80], rax
movabs rax, 0x6299655911ff7dd5
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x78], rax
movabs rax, 0x403277a331681a01
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x70], rax
movabs rax, 0x82af25ed7967b0ba
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x68], rax
movabs rax, 0x565151b7f7560253
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x60], rax
movabs rax, 0xa79a4a1752c1ace0
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x58], rax
movabs rax, 0x24004e9407502839
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x60], rax
movabs rax, 0xe69612d51d57d38a
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x68], rax
movabs rax, 0x6f3463d69435376b
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x70], rax
movabs rax, 0xa79a4a1752c1ac84
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rbp - 0x70]
xorps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmmword [rbp - 0x60]
mov qword [rsp + 0x78], rax
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x70], xmm1
call fcn.180042150
mov rcx, qword [0x1800ebc68]
test rcx, rcx
mov qword [rbp + 0x80], rax
jne 0x18003abee
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 + rax]
mov r11, qword [r14 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov esi, dword [rax + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x18003abaa
mov r10d, dword [rsi + 0x18]
test r10d, r10d
je 0x18003abaa
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r10d
mov r9d, 0x570346f3
lea rax, [rdi + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x18003aba5
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 0x18003ab70
cmp r9d, 0x266fedd0
je 0x18003acd4
test r10d, r10d
jne 0x18003ab50
mov rax, qword [r14]
mov r14, rax
cmp rax, r12
je 0x18003abc0
cmp qword [rax + 0x30], 0
jne 0x18003ab20
xor ecx, ecx
mov rsi, qword [rbp + 0x88]
movabs rdi, 0x7ffffffdfffe
mov qword [0x1800ebc68], rcx
movabs r14, 0xd6fbacda51d5e7c7
movabs r12, 0x7fc523b739a1fe0
mov qword gs:[0x130], rcx
mov rax, qword [0x1800c4210]
mov rcx, qword [rbp + 0x80]
mov qword gs:[0x128], rax
call fcn.1800c2440
mov rbx, rax
mov rax, qword [0x1800e9b28]
cmp rbx, rax
jbe 0x18003ac31
mov rdx, qword [0x1800e9b30]
add rdx, rax
cmp rbx, rdx
jb 0x18003ac41
lea rcx, [rbx - 0x10000]
cmp rcx, rdi
ja 0x18003b09d
mov rdi, qword [rbp + 0x98]
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm8
movaps xmmword [rsp + 0xf0], xmm9
movss xmm7, dword [rdi]
movss xmm8, dword [rdi + 4]
movss xmm6, dword [rdi + 8]
movaps xmmword [rsp + 0xe0], xmm10
movaps xmm9, xmm6
subss xmm9, dword [rsi + 8]
movaps xmmword [rsp + 0xd0], xmm11
movaps xmm10, xmm7
subss xmm10, dword [rsi]
movaps xmm11, xmm8
subss xmm11, dword [rsi + 4]
movaps xmm1, xmm9
mulss xmm1, xmm9
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm2, xmm11
mulss xmm2, xmm11
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x18003acf0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18003acf8
mov ecx, dword [rsi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov ecx, dword [rcx + rdx*4]
add rcx, r11
jmp 0x18003abc2
movaps xmm0, xmm2
call fcn.1800c1a80
mov eax, dword [rsi + 8]
lea r8, [rsp + 0x30]
divss xmm9, xmm0
mov dword [rsp + 0x58], eax
lea rdx, [rbp - 0x40]
mov eax, dword [rdi + 8]
divss xmm10, xmm0
divss xmm11, xmm0
movsd xmm0, qword [rsi]
movsd qword [rsp + 0x50], xmm0
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x5c], xmm0
movsd xmm0, qword [rdi]
mov rdi, qword [rbp + 0x90]
movss dword [rsp + 0x38], xmm9
mov rcx, rdi
movss dword [rsp + 0x64], xmm9
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
call fcn.18001cfb0
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm0, xmm7
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm2, xmm8
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm1, xmm6
mulss xmm2, xmm8
mulss xmm0, xmm7
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x18003adae
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18003adb6
movaps xmm0, xmm2
call fcn.1800c1a80
comiss xmm0, dword [0x1800c7040]
jbe 0x18003adce
divss xmm7, xmm0
divss xmm8, xmm0
divss xmm6, xmm0
jmp 0x18003ae02
xorps xmm3, xmm3
xorps xmm0, xmm0
unpcklps xmm0, xmm3
movaps xmm1, xmm0
movsd qword [rsp + 0x30], xmm0
movd eax, xmm3
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x30], xmm1
movaps xmm8, xmm0
movss xmm7, dword [rsp + 0x30]
movss dword [rsp + 0x38], xmm3
movd xmm6, eax
movaps xmm0, xmm7
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm8
lea r8, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
lea rdx, [rbp - 0x50]
mov rcx, rdi
movsd qword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm6
call fcn.18001cd60
movups xmm0, xmmword [rsp + 0x50]
mov qword [rbx + 0xd0], r13
movsd xmm1, qword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movups xmmword [rbx + 0xb0], xmm0
mov byte [rbx + 0x14], 1
movsd qword [rbx + 0xc0], xmm1
mov dword [rbx + 0x50], 0x41000000
mov qword [rbx + 0x28], rdi
movsd xmm0, qword [rbp - 0x50]
movsd qword [rbx + 0x94], xmm0
mov eax, dword [rbp - 0x48]
mov dword [rbx + 0x9c], eax
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbx + 0x58], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rbx + 0x60], eax
mov rax, qword [0x1800c4cc0]
cmp rax, 0x402402
jne 0x18003b076
mov qword [rbp + 0x80], r14
lea r8, [rsp + 0x30]
mov rax, qword [rbp + 0x80]
movabs rcx, 0x24004e9407502839
mov qword [rsp + 0x30], rax
movabs rdx, 0xe69612d51d57d38a
mov qword [rbp + 0x80], r12
mov r9b, 1
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
movdqa xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0xa4abc9bd30b886a3
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x80], rax
movabs rax, 0x74993b4f01ff6f8f
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x80], rcx
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x80], rdx
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x58], rax
mov qword [rbp + 0x80], rcx
lea rcx, [rsp + 0x40]
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x80], rdx
lea rdx, [rbp - 0x80]
mov rax, qword [rbp + 0x80]
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rbp - 0x70]
mov qword [rsp + 0x68], rax
movabs rax, 0xb397c99734a68685
xorps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmmword [rbp - 0x70], xmm1
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x40], rax
movabs rax, 0x7fc523b739a1f85
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x80], r14
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x80], r12
mov rax, qword [rbp + 0x80]
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x58], rax
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x20], 0
call fcn.180042a20
mov qword [0x1800c4cc0], rax
mov rax, qword [rax + r15]
mov rcx, r15
mov qword [rbx + 0x30], rax
call fcn.180014a70
mov rcx, r15
movss xmm1, dword [rax]
call fcn.180015990
mov rdx, rbx
mov rcx, r15
call fcn.180015590
mov r14, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x140
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret