Function at 0x180136e50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov qword [rax + 8], rcx
push r14
sub rsp, 0xf0
vmovaps xmmword [rax - 0x18], xmm6
vmovaps xmmword [rax - 0x28], xmm7
vmovaps xmmword [rax - 0x38], xmm8
vmovaps xmmword [rax - 0x48], xmm9
vmovaps xmmword [rax - 0x58], xmm10
vmovaps xmmword [rax - 0x68], xmm11
vmovaps xmmword [rax - 0x78], xmm12
vmovaps xmmword [rsp + 0x70], xmm13
vmovaps xmmword [rsp + 0x60], xmm14
vmovaps xmmword [rsp + 0x50], xmm15
mov rbx, r8
mov rdi, rdx
cmp dword [0x180242124], 0
je 0x18013733b
mov rcx, rdx
call fcn.1800c3c90
mov rcx, qword [0x180234bb0]
mov r9, qword [rcx]
mov eax, dword [rax]
mov dword [rsp + 0x100], eax
lea rdx, [rsp + 0x100]
call qword [r9 + 0x20]
test rax, rax
jne 0x18013733b
mov rcx, rdi
call fcn.1800b6f20
test byte [rax], 1
jne 0x18013733b
mov r14d, 4
mov ecx, dword [0x18023328c]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rcx*8]
mov eax, dword [r14 + rax]
cmp dword [0x180234f88], eax
jle 0x180136fc4
lea rcx, [0x180234f88]
call fcn.180184cfc
cmp dword [0x180234f88], 0xffffffff
jne 0x180136fc4
mov rcx, qword [0x180234b88]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x180136fad
nop dword [rax + rax]
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], 0
jne 0x180136f61
xor edx, edx
test rcx, rcx
je 0x180136fa4
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r9 + rdx]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180136f80
cmp r8d, 0x7a1c884e
je 0x1801370cb
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180136f50
xor eax, eax
add eax, 0xffffffe8
mov dword [0x180234fa8], eax
lea rcx, [0x180234f88]
call fcn.180184c90
movsxd rax, dword [0x180234fa8]
test byte [rax + rdi], 2
jne 0x180136fdb
test byte [rbx + 0x28], 2
jne 0x18013733b
mov ecx, dword [0x180242124]
sub ecx, 1
je 0x1801372aa
cmp ecx, 1
jne 0x18013733b
test dword [rbx + 0x28], 0x618
je 0x18013733b
vmovss xmm12, dword [rbx + 0x1c]
vmovss xmm13, dword [rbx + 0x20]
vmovss xmm7, dword [0x18020a260]
vmulss xmm6, xmm7, dword [rbx + 0x10]
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm11, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm8, xmm0
vmulss xmm6, xmm7, dword [rbx + 0x14]
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm10, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm9, xmm0
vmulss xmm6, xmm7, dword [rbx + 0x18]
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm7, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm14, xmm9, xmm8
vmulss xmm15, xmm10, xmm8
vmulss xmm3, xmm0, dword [0x18020a658]
vmulss xmm4, xmm7, xmm11
vxorps xmm0, xmm10, xmmword [0x18020ab20]
vmulss xmm2, xmm0, xmm3
vmulss xmm1, xmm4, xmm9
vsubss xmm8, xmm2, xmm1
vmulss xmm3, xmm3, xmm9
vmulss xmm0, xmm4, xmm10
vsubss xmm9, xmm3, xmm0
vmulss xmm2, xmm15, xmm15
vmulss xmm1, xmm14, xmm14
vaddss xmm0, xmm2, xmm1
vxorps xmm6, xmm6, xmm6
vaddss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm1
ja 0x1801370e0
vsqrtss xmm0, xmm1, xmm1
jmp 0x1801370e9
lea r8, str.m_hConstraintEntity
mov rdx, qword [r10 + 0x18]
call fcn.180184890
jmp 0x180136faf
vmovaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vmovss xmm10, dword [0x18020a1d8]
vaddss xmm0, xmm0, xmm10
vmovss xmm7, dword [0x18020a348]
vdivss xmm11, xmm7, xmm0
vmulss xmm1, xmm9, xmm9
vmulss xmm0, xmm8, xmm8
vaddss xmm2, xmm1, xmm0
vaddss xmm3, xmm2, xmm6
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm3
ja 0x180137124
vsqrtss xmm0, xmm3, xmm3
jmp 0x18013712d
vmovaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vaddss xmm0, xmm0, xmm10
vdivss xmm4, xmm7, xmm0
vmovss dword [rsp + 0x3c], xmm6
vmulss xmm0, xmm14, xmm11
vmulss xmm3, xmm0, xmm12
vmulss xmm1, xmm4, xmm8
vmulss xmm2, xmm1, xmm13
vaddss xmm0, xmm3, xmm2
vmovss dword [rsp + 0x28], xmm0
vmulss xmm1, xmm15, xmm11
vmulss xmm3, xmm1, xmm12
vmulss xmm0, xmm4, xmm9
vmulss xmm2, xmm0, xmm13
vaddss xmm1, xmm3, xmm2
vmovss dword [rsp + 0x2c], xmm1
vmovss dword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x28]
call fcn.1800caad0
vmovss dword [rsp + 0x2c], xmm6
mov rcx, rdi
call fcn.1800dd8c0
mov rcx, rax
lea rdx, [rsp + 0x28]
call fcn.1800caad0
vmovss xmm0, dword [rsp + 0x3c]
vsubss xmm0, xmm0, dword [rsp + 0x2c]
vmovd eax, xmm0
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
je 0x1801371cf
vxorps xmm4, xmm4, xmm4
jmp 0x1801371e1
vmovss xmm1, dword [0x18020a55c]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovaps xmm4, xmm0
vmovss xmm1, dword [0x1802423a4]
vsubss xmm2, xmm1, xmm6
vmovss dword [rsp + 0x118], xmm2
vmovss dword [rsp + 0x20], xmm7
vmovss dword [rsp + 0x100], xmm6
lea rcx, [rsp + 0x100]
lea rax, [rsp + 0x118]
vcomiss xmm6, xmm2
cmovbe rcx, rax
lea rax, [rsp + 0x20]
vcomiss xmm2, xmm7
cmovbe rax, rcx
vmovss xmm0, dword [rax]
vmulss xmm1, xmm0, dword [0x18020a2a4]
vaddss xmm0, xmm1, dword [0x18020a330]
vmulss xmm3, xmm0, xmm4
vcmpltss xmm2, xmm6, xmm4
vmovss xmm1, dword [0x18020a6b4]
vmovss xmm0, dword [0x18020a4f8]
vblendvps xmm0, xmm0, xmm1, xmm2
vaddss xmm1, xmm3, xmm0
vmulss xmm6, xmm1, dword [0x18020a260]
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm7, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmulss xmm2, xmm7, xmm12
vmulss xmm1, xmm0, xmm13
vsubss xmm2, xmm2, xmm1
vmovss dword [rbx + 0x1c], xmm2
vmulss xmm3, xmm7, xmm13
vmulss xmm0, xmm0, xmm12
vaddss xmm1, xmm3, xmm0
vmovss dword [rbx + 0x20], xmm1
jmp 0x18013733b
mov ecx, dword [0x18023328c]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rcx*8]
mov eax, dword [r14 + rcx]
cmp dword [0x180243ff8], eax
jle 0x1801372fd
lea rcx, [0x180243ff8]
call fcn.180184cfc
cmp dword [0x180243ff8], 0xffffffff
jne 0x1801372fd
lea rdx, str.cl_sidespeed
call fcn.180182760
mov qword [0x180244018], rax
lea rcx, [0x180243ff8]
call fcn.180184c90
mov rax, qword [0x180244018]
test rax, rax
je 0x180137314
mov rax, qword [rax + 0x38]
vmovss xmm0, dword [rax + 0x54]
jmp 0x18013731c
vmovss xmm0, dword [0x18020a570]
movzx eax, word [rbx + 0x3c]
test ax, ax
je 0x18013733b
mov dword [rbx + 0x1c], 0
jg 0x180137336
vxorps xmm0, xmm0, xmmword [0x18020ab20]
vmovss dword [rbx + 0x20], xmm0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [rsp + 0x60]
vmovaps xmm15, xmmword [rsp + 0x50]
mov rsp, r11
pop r14
ret