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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rdi
sub rsp, 0xd0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x180129f90]
xor rax, rsp
mov qword [rsp + 0x60], rax
movss xmm0, dword [0x18012c63c]
xorps xmm8, xmm8
ucomiss xmm0, xmm8
mov rdi, rcx
movss xmm6, dword [0x1800d8f90]
jp 0x180058a48
jne 0x180058a48
movss xmm0, dword [0x1800ffebc]
movss dword [0x180129528], xmm0
jmp 0x180058a9e
ucomiss xmm0, xmm6
jp 0x180058a61
jne 0x180058a61
movss xmm0, dword [0x1800ffec0]
movss dword [0x180129528], xmm0
jmp 0x180058a9e
ucomiss xmm0, dword [0x1800d8fa0]
jp 0x180058a79
jne 0x180058a79
xorps xmm0, xmm0
movss dword [0x180129528], xmm0
jmp 0x180058a9e
ucomiss xmm0, dword [0x1800d8fa8]
jp 0x180058a96
jne 0x180058a96
movss xmm0, dword [0x1800ffeb8]
movss dword [0x180129528], xmm0
jmp 0x180058a9e
movss xmm0, dword [0x180129528]
cvttss2si r8d, xmm0
lea rdx, [rsp + 0x50]
call qword [0x18012c760]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm0, xmm1
movss dword [rsp + 0x30], xmm1
shufps xmm0, xmm1, 0x55
shufps xmm1, xmm1, 0xaa
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x34], xmm0
call fcn.18000a3a0
lea r8, [rsp + 0x44]
mov qword [rsp + 0x40], 0
lea rdx, [rsp + 0x40]
mov rbx, rax
lea rcx, [rsp + 0x30]
call qword [0x18012c798]
movss xmm0, dword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mulss xmm0, dword [rbx + 8]
mov rcx, rdi
movss xmm1, dword [rsp + 0x44]
cvttss2si r8d, dword [0x180129528]
movss dword [rsp + 0x40], xmm0
mulss xmm1, dword [rbx + 0xc]
movss dword [rsp + 0x44], xmm1
call qword [0x18012c760]
cmp byte [0x180129522], 0
je 0x180058dd9
movsd xmm1, qword [0x1800ffe60]
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0x90], xmm9
movss xmm9, dword [rsp + 0x40]
cvtps2pd xmm0, xmm9
movaps xmmword [rsp + 0x80], xmm10
subsd xmm0, qword [0x1800ffe78]
movaps xmmword [rsp + 0x70], xmm11
movss xmm11, dword [0x180129530]
addss xmm11, xmm6
call fcn.1800b6110
movss xmm10, dword [rsp + 0x44]
movaps xmm7, xmm0
movsd xmm1, qword [0x1800ffe60]
cvtps2pd xmm0, xmm10
subsd xmm0, qword [0x1800ffe70]
call fcn.1800b6110
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x180058bc9
xorps xmm2, xmm2
sqrtss xmm2, xmm0
jmp 0x180058bd1
call fcn.1800b4658
movaps xmm2, xmm0
ucomiss xmm9, xmm8
movss xmm3, dword [0x1800d9030]
xorps xmm7, xmm7
xorps xmm6, xmm6
jp 0x180058be7
je 0x180058c3b
movss xmm1, dword [0x1800ffea8]
comiss xmm9, xmm1
jbe 0x180058c18
movaps xmm7, xmm1
subss xmm7, xmm9
xorps xmm7, xmm3
divss xmm7, xmm11
movaps xmm0, xmm7
addss xmm0, xmm1
comiss xmm0, dword [0x1800ffeb0]
jbe 0x180058c18
xorps xmm7, xmm7
comiss xmm1, xmm9
jbe 0x180058c3b
movaps xmm7, xmm9
subss xmm7, xmm1
divss xmm7, xmm11
movaps xmm0, xmm7
addss xmm0, xmm1
comiss xmm8, xmm0
jbe 0x180058c3b
xorps xmm7, xmm7
ucomiss xmm10, xmm8
movaps xmm9, xmmword [rsp + 0x90]
jp 0x180058c4c
je 0x180058ca0
movss xmm1, dword [0x1800ffea4]
comiss xmm10, xmm1
jbe 0x180058c7d
movaps xmm6, xmm1
subss xmm6, xmm10
xorps xmm6, xmm3
divss xmm6, xmm11
movaps xmm0, xmm6
addss xmm0, xmm1
comiss xmm0, dword [0x1800ffeac]
jbe 0x180058c7d
xorps xmm6, xmm6
comiss xmm1, xmm10
jbe 0x180058ca0
movaps xmm6, xmm10
subss xmm6, xmm1
divss xmm6, xmm11
movaps xmm0, xmm6
addss xmm0, xmm1
comiss xmm8, xmm0
jbe 0x180058ca0
xorps xmm6, xmm6
movss xmm0, dword [0x18012952c]
comiss xmm0, xmm2
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
jbe 0x180058dd1
mov rax, qword [0x180ab6758]
test rax, rax
jne 0x180058d8f
mov rax, qword gs:[0x60]
mov qword [rsp + 0xe8], rsi
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180058d68
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180058d68
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180058d63
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180058d40
cmp edx, 0x95466b05
je 0x180058e01
test r8d, r8d
jne 0x180058d20
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x180058d7e
cmp qword [rax + 0x30], 0
jne 0x180058cf0
xor eax, eax
mov rsi, qword [rsp + 0xe8]
mov qword [0x180ab6758], rax
mov ecx, dword [0x18012c620]
call rax
bt ax, 0xf
jae 0x180058dd1
xorps xmm0, xmm0
mov qword [rsp + 0x20], 0
cvtss2sd xmm0, xmm6
xor r9d, r9d
cvttss2si rdx, xmm7
lea ecx, [r9 + 1]
divsd xmm0, qword [str.333333]
cvtpd2ps xmm0, xmm0
cvttss2si r8, xmm0
call qword [0x1800d84a0]
movaps xmm7, xmmword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.180079c80
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
ret
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180058d80