Function at 0x1800afdc0
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
push r14
lea rbp, [r11 - 0x168]
sub rsp, 0x258
mov rax, qword [0x1801ab040]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov qword [r11 + 0x10], rbx
lea rax, [0x1800d7610]
mov rbx, qword [0x1801ad7e0]
lea rdx, [rbp + 0x38]
mov qword [r11 + 0x18], rsi
mov r14, rcx
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x18], r12
xor r12d, r12d
movss xmm2, dword [rbx + 0x1980]
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
movaps xmmword [r11 - 0xa8], xmm13
movss xmm13, dword [0x1801927bc]
mov qword [rsp + 0x38], r12
movaps xmm3, xmm13
movaps xmmword [r11 - 0xc8], xmm15
movss xmm15, dword [0x1801927e0]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rbx + 0x1978]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm15
call fcn.18005e900
movss xmm1, dword [rbx + 0x1980]
lea rdx, [r14 + 0xd0]
addss xmm1, dword [rbx + 0x15b0]
movss xmm2, dword [0x18019259c]
lea r8d, [r12 + 7]
movss xmm0, dword [rax]
xorps xmm9, xmm9
movss xmm10, dword [0x180192628]
movss xmm11, dword [0x1801925dc]
mulss xmm1, dword [r14]
movss dword [r14 + 0x308], xmm0
movss xmm0, dword [0x180192780]
movss dword [r14 + 0x30c], xmm1
nop dword [rax + rax]
mov ecx, dword [rdx - 0x54]
xorps xmm3, xmm3
movzx eax, cl
xorps xmm5, xmm5
xorps xmm4, xmm4
xorps xmm6, xmm6
cvtsi2ss xmm5, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm4, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mulss xmm5, xmm2
cvtsi2ss xmm6, rax
mov eax, ecx
comiss xmm9, xmm5
cvtsi2ss xmm3, rax
mulss xmm4, xmm2
mulss xmm3, xmm2
mulss xmm6, xmm2
mulss xmm3, dword [rbx + 0x1560]
jbe 0x1800aff4f
movaps xmm1, xmm9
jmp 0x1800aff57
movaps xmm1, xmm10
minss xmm1, xmm5
comiss xmm9, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si ecx, xmm1
jbe 0x1800aff70
movaps xmm1, xmm9
jmp 0x1800aff78
movaps xmm1, xmm10
minss xmm1, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm9, xmm6
jbe 0x1800aff96
movaps xmm1, xmm9
jmp 0x1800aff9e
movaps xmm1, xmm10
minss xmm1, xmm6
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm9, xmm3
jbe 0x1800affbc
movaps xmm1, xmm9
jmp 0x1800affc4
movaps xmm1, xmm10
minss xmm1, xmm3
xorps xmm3, xmm3
mulss xmm1, xmm0
xorps xmm6, xmm6
xorps xmm4, xmm4
xorps xmm5, xmm5
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov dword [rdx], eax
mov ecx, dword [rdx - 0x50]
movzx eax, cl
cvtsi2ss xmm6, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm4, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mulss xmm6, xmm2
cvtsi2ss xmm5, rax
mov eax, ecx
comiss xmm9, xmm6
cvtsi2ss xmm3, rax
mulss xmm4, xmm2
mulss xmm3, xmm2
mulss xmm5, xmm2
mulss xmm3, dword [rbx + 0x1560]
jbe 0x1800b0037
movaps xmm1, xmm9
jmp 0x1800b003f
movaps xmm1, xmm10
minss xmm1, xmm6
comiss xmm9, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si ecx, xmm1
jbe 0x1800b0058
movaps xmm1, xmm9
jmp 0x1800b0060
movaps xmm1, xmm10
minss xmm1, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm9, xmm5
jbe 0x1800b007e
movaps xmm1, xmm9
jmp 0x1800b0086
movaps xmm1, xmm10
minss xmm1, xmm5
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm9, xmm3
jbe 0x1800b00a4
movaps xmm1, xmm9
jmp 0x1800b00ac
movaps xmm1, xmm10
minss xmm1, xmm3
xorps xmm3, xmm3
mulss xmm1, xmm0
xorps xmm6, xmm6
xorps xmm4, xmm4
xorps xmm5, xmm5
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov dword [rdx + 4], eax
mov ecx, dword [rdx - 0x4c]
movzx eax, cl
cvtsi2ss xmm6, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm4, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mulss xmm6, xmm2
cvtsi2ss xmm5, rax
mov eax, ecx
comiss xmm9, xmm6
cvtsi2ss xmm3, rax
mulss xmm4, xmm2
mulss xmm3, xmm2
mulss xmm5, xmm2
mulss xmm3, dword [rbx + 0x1560]
jbe 0x1800b0120
movaps xmm1, xmm9
jmp 0x1800b0128
movaps xmm1, xmm10
minss xmm1, xmm6
comiss xmm9, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si ecx, xmm1
jbe 0x1800b0141
movaps xmm1, xmm9
jmp 0x1800b0149
movaps xmm1, xmm10
minss xmm1, xmm4
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm9, xmm5
jbe 0x1800b0167
movaps xmm1, xmm9
jmp 0x1800b016f
movaps xmm1, xmm10
minss xmm1, xmm5
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm9, xmm3
jbe 0x1800b018d
movaps xmm1, xmm9
jmp 0x1800b0195
movaps xmm1, xmm10
minss xmm1, xmm3
mulss xmm1, xmm0
addss xmm1, xmm11
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov dword [rdx + 8], eax
add rdx, 0xc
sub r8, 1
jne 0x1800afef0
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0x220]
movss xmm8, dword [rax + 0x224]
subss xmm0, dword [rax + 0x10]
subss xmm8, dword [rax + 0x14]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm12, dword [r14 + 0x60]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm12
mov r15, qword [rax + 0x268]
mov qword [rsp + 0x70], r15
cmp byte [r14 + 0x5c], r12b
je 0x1800b0228
mov byte [r14 + 0x5c], r12b
mov rax, qword [rbx + 0x1c10]
mov dword [rax + 0x70], r12d
mov dword [rax + 0x78], r12d
mov dword [rax + 0x80], r12d
mov rax, qword [rbx + 0x1c10]
movss xmm6, dword [r14 + 0x30c]
movss xmm0, dword [rax + 0xd8]
movss xmm7, dword [rax + 0x60]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rax + 0xdc]
movss dword [rbp - 0x58], xmm0
movss xmm0, dword [rax + 0x5c]
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm7
divss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
addss xmm8, xmm7
cvttss2si esi, xmm0
divss xmm8, xmm6
mov dword [rsp + 0x68], esi
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
mov rcx, qword [r14 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r14 + 8]
imul rcx
cvttss2si r8d, xmm0
lea rcx, [rbp + 0x88]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add r8d, esi
mov r9d, edx
lea edi, [rdx - 1]
mov edx, 0x10
cmp r8d, edi
cmovl edi, r8d
lea r8, str.__d
call fcn.180024a70
mov rbx, qword [0x1801ad7e0]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x38], r12
lea rdx, [rbp + 0x50]
mov qword [rsp + 0x30], r12
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
movss xmm2, dword [rbx + 0x1980]
mov rcx, qword [rbx + 0x1978]
movss dword [rsp + 0x20], xmm15
call fcn.18005e900
movd xmm0, dword [r14 + 0x64]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rax]
movss dword [r14 + 0x60], xmm0
mov rax, qword [r14 + 0x10]
cmp qword [r14 + 8], rax
je 0x1800b11fd
movss xmm2, dword [rbx + 0x1980]
lea rax, [0x1800d760c]
mov rcx, qword [rbx + 0x1978]
lea rdx, [rbp + 0x58]
mov qword [rsp + 0x38], r12
movaps xmm3, xmm13
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm15
movaps xmmword [rsp + 0x1b0], xmm14
call fcn.18005e900
test edi, edi
movsxd rcx, esi
mov qword [rsp + 0x78], rcx
movss xmm14, dword [rax]
mov eax, r12d
cmovg eax, edi
cdqe
mov qword [rbp + 0x38], rax
cmp rcx, rax
jg 0x1800b11f4
movss xmm8, dword [rsp + 0x6c]
lea rdi, [r14 + 0x28]
movaps xmm0, xmm8
mov qword [rsp + 0x248], r13
addss xmm0, dword [rsp + 0x54]
movss dword [rbp - 0x54], xmm0
movss dword [rbp - 0x80], xmm0
nop dword [rax + rax]
mov r13, qword [r14 + 8]
lea r12, [rcx + rcx*2]
movd xmm12, esi
movaps xmm13, xmm8
addss xmm13, dword [r14 + 0x60]
cvtdq2ps xmm12, xmm12
mov edx, esi
mov qword [rsp + 0x60], r12
mov rcx, r14
mov qword [rbp + 0x30], r13
mov dword [rbp - 0x50], esi
mulss xmm12, dword [r14 + 0x30c]
addss xmm12, dword [rbp - 0x58]
call fcn.1800ae1b0
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x4c], eax
mov rcx, r14
call fcn.1800b5880
movss xmm1, dword [rsp + 0x5c]
mov edx, esi
addss xmm0, dword [r14 + 0x60]
mov rcx, r14
mov dword [rbp + 0x70], esi
maxss xmm1, xmm0
movss dword [rsp + 0x5c], xmm1
call fcn.1800ae1b0
mov ecx, dword [r14 + 0x20]
mov ebx, eax
mov dword [rbp + 0x74], eax
movaps xmm7, xmm15
movaps xmm6, xmm15
cmp ecx, esi
je 0x1800b045c
setl dl
jmp 0x1800b0463
cmp dword [r14 + 0x24], ebx
setle dl
test dl, dl
je 0x1800b048c
cmp ecx, esi
jne 0x1800b0470
cmp dword [r14 + 0x24], 0
setg al
test al, al
je 0x1800b0488
lea rdx, [r14 + 0x20]
mov rcx, r14
call fcn.1800b5880
movaps xmm7, xmm0
jmp 0x1800b048c
movaps xmm7, xmm9
mov eax, dword [rdi]
cmp eax, esi
jne 0x1800b0496
cmp dword [rdi + 4], 0
setg cl
test cl, cl
je 0x1800b04bd
cmp eax, esi
jne 0x1800b04a5
cmp dword [r14 + 0x2c], ebx
setl al
lea rdx, [rbp + 0x70]
test al, al
mov rcx, r14
cmovne rdx, rdi
call fcn.1800b5880
movaps xmm6, xmm0
cmp dword [rdi], esi
jle 0x1800b04ca
addss xmm6, dword [r14 + 0x308]
ucomiss xmm7, xmm15
jp 0x1800b04d2
je 0x1800b053c
ucomiss xmm6, xmm15
jp 0x1800b04da
je 0x1800b053c
comiss xmm6, xmm7
jbe 0x1800b053c
mov r9d, dword [r14 + 0x108]
lea r8, [rbp - 0x48]
movaps xmm1, xmm8
mov dword [rsp + 0x28], 0
addss xmm1, dword [r14 + 0x60]
lea rdx, [rbp - 0x40]
movss dword [rbp - 0x3c], xmm12
mov rcx, r15
movss dword [rsp + 0x20], xmm9
movaps xmm0, xmm1
addss xmm1, xmm6
addss xmm0, xmm7
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x40], xmm0
movaps xmm0, xmm12
addss xmm0, dword [r14 + 0x30c]
movss dword [rbp - 0x44], xmm0
call fcn.18005a2e0
movabs rdx, 0x100000001b3
movss dword [rbp - 0x7c], xmm12
lea ebx, [rsi + 1]
movabs rax, 0xcbf29ce484222325
mov dword [rsp + 0x50], ebx
movzx ecx, bl
xor rcx, rax
movzx eax, byte [rsp + 0x51]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rsp + 0x52]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rsp + 0x53]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdx, qword [r14 + 0x2d0]
and rcx, qword [r14 + 0x2e8]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [r14 + 0x2c0]
je 0x1800b05c3
mov rdx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x1800b05c5
cmp rax, rdx
je 0x1800b05c3
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1800b05b3
jmp 0x1800b05c5
xor eax, eax
movss xmm7, dword [rsp + 0x54]
test rax, rax
je 0x1800b0622
mov r9d, dword [r14 + 0x110]
lea r8, [rbp - 0x38]
movaps xmm0, xmm8
mov dword [rsp + 0x28], 0
addss xmm0, dword [rsp + 0x58]
movaps xmm1, xmm7
movss dword [rsp + 0x20], xmm9
addss xmm1, xmm7
mov rcx, r15
lea rdx, [rbp - 0x80]
addss xmm1, xmm0
movaps xmm0, xmm12
addss xmm0, dword [r14 + 0x30c]
movss dword [rbp - 0x38], xmm1
movss dword [rbp - 0x34], xmm0
call fcn.18005a2e0
mov rcx, qword [r14 + 0x2f8]
lea eax, [rsi + 1]
mov dword [rsp + 0x50], eax
mov rdi, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x1800b0657
nop dword [rax]
cmp dword [rax + 0x20], ebx
jge 0x1800b064b
mov rax, qword [rax + 0x10]
jmp 0x1800b0651
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800b0640
cmp byte [rdi + 0x19], 0
jne 0x1800b087e
cmp ebx, dword [rdi + 0x20]
jl 0x1800b087e
cmp rdi, rcx
je 0x1800b087e
mov r9d, dword [r14 + 0x10c]
lea r8, [rbp - 0x30]
movaps xmm0, xmm7
mov dword [rsp + 0x28], 0
addss xmm0, xmm7
movss dword [rsp + 0x20], xmm9
movaps xmm6, xmm8
lea rdx, [rbp - 0x80]
addss xmm6, dword [rsp + 0x58]
movaps xmm7, xmm12
mov rcx, r15
addss xmm7, dword [r14 + 0x30c]
addss xmm6, xmm0
movss dword [rbp - 0x2c], xmm7
movss dword [rbp - 0x30], xmm6
call fcn.18005a2e0
mov rcx, qword [0x1801ad7e0]
movaps xmm2, xmm8
movaps xmm3, xmm12
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rcx + 0x15c4]
movss xmm0, dword [rcx + 0x15c8]
maxss xmm2, dword [rax + 0x208]
minss xmm6, dword [rax + 0x210]
maxss xmm3, dword [rax + 0x20c]
minss xmm7, dword [rax + 0x214]
subss xmm2, xmm1
addss xmm6, xmm1
movss xmm1, dword [rcx + 0x128]
subss xmm3, xmm0
addss xmm7, xmm0
comiss xmm1, xmm2
jb 0x1800b087e
movss xmm0, dword [rcx + 0x12c]
comiss xmm0, xmm3
jb 0x1800b087e
comiss xmm6, xmm1
jbe 0x1800b087e
comiss xmm7, xmm0
jbe 0x1800b087e
xor edx, edx
call fcn.180048650
mov rbx, qword [0x1801ad7e0]
lea rdx, [rbp - 0x70]
movaps xmm6, xmmword [0x1801931c0]
mov dword [rbp - 0x70], 0
movups xmm0, xmmword [rbx + 0x1628]
lea rcx, [rbx + 0x1d78]
movups xmmword [rbp - 0x6c], xmm0
call fcn.18004f130
movups xmmword [rbx + 0x1628], xmm6
mov edx, dword [rdi + 0x20]
lea rcx, str.Error_at_line__d:
call fcn.180064750
mov rbx, qword [0x1801ad7e0]
movsxd rax, dword [rbx + 0x1d78]
mov rcx, qword [rbx + 0x1d80]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [rbx + rax*8 + 0x1628], xmm0
dec dword [rbx + 0x1d78]
mov rax, qword [rbx + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x1800b07f9
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180067620
mov rbx, qword [0x1801ad7e0]
movups xmm0, xmmword [rbx + 0x1628]
lea rcx, [rbx + 0x1d78]
mov dword [rbp - 0x70], 0
movaps xmm6, xmmword [0x1801931d0]
lea rdx, [rbp - 0x70]
movups xmmword [rbp - 0x6c], xmm0
call fcn.18004f130
lea rdx, [rdi + 0x28]
movups xmmword [rbx + 0x1628], xmm6
cmp qword [rdx + 0x18], 0xf
jbe 0x1800b0837
mov rdx, qword [rdx]
lea rcx, [0x18018ee8c]
call fcn.180064750
mov r8, qword [0x1801ad7e0]
movsxd rax, dword [r8 + 0x1d78]
mov rcx, qword [r8 + 0x1d80]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.180046780
lea r9d, [rsi + 1]
mov edx, 0x10
lea r8, str._d
lea rcx, [rbp + 0x88]
call fcn.180024a70
mov rbx, qword [0x1801ad7e0]
lea rdx, [rbp + 0x60]
movss xmm6, dword [0x1801927bc]
xor eax, eax
mov qword [rsp + 0x38], rax
movaps xmm3, xmm6
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x88]
movss xmm2, dword [rbx + 0x1980]
mov rcx, qword [rbx + 0x1978]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm15
call fcn.18005e900
mov edx, dword [r14 + 0x114]
movaps xmm1, xmm8
addss xmm1, dword [r14 + 0x60]
subss xmm1, dword [rax]
test edx, 0xff000000
je 0x1800b0985
lea rcx, [rbp + 0x88]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800b0912
lea rcx, [rbp + 0x88]
add rcx, rax
lea rax, [rbp + 0x88]
cmp rax, rcx
je 0x1800b0985
mov rax, qword [r15 + 0x38]
movups xmm0, xmmword [r15 + 0x88]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x88]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
unpcklps xmm1, xmm12
mov dword [rsp + 0x20], edx
movq r9, xmm1
mov rdx, r15
movups xmmword [rbp - 0x70], xmm0
call fcn.18005ed20
cmp dword [r14 + 0x30], esi
jne 0x1800b0c51
xor ecx, ecx
call fcn.180046f10
mov rcx, r14
movzx ebx, al
call fcn.1800b4210
test al, al
jne 0x1800b0ac4
movss xmm6, dword [rsp + 0x58]
lea r8, [rbp - 0x28]
movss xmm8, dword [rbp - 0x54]
lea rdx, [rbp - 0x80]
addss xmm6, xmm8
movaps xmm7, xmm12
addss xmm7, dword [r14 + 0x30c]
mov r9d, ebx
xor esi, esi
xor r9, 1
mov dword [rsp + 0x28], esi
mov rcx, r15
movss dword [rsp + 0x20], xmm9
addss xmm6, dword [rsp + 0x54]
movss dword [rbp - 0x24], xmm7
mov r9d, dword [r14 + r9*4 + 0x118]
movss dword [rbp - 0x28], xmm6
call fcn.18005a2e0
mov edi, dword [r14 + 0x120]
test edi, 0xff000000
je 0x1800b0abc
test byte [r15 + 0x30], 1
movaps xmm1, xmm12
movaps xmm0, xmm8
mov dword [rsp + 0x20], esi
addss xmm1, xmm11
movaps xmm3, xmm10
addss xmm0, xmm11
mov rcx, r15
je 0x1800b0a62
subss xmm6, xmm11
movss dword [rbp - 0x18], xmm0
subss xmm7, xmm11
movss dword [rbp - 0x14], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
movss dword [rbp - 0x20], xmm6
movss dword [rbp - 0x1c], xmm7
jmp 0x1800b0a8e
subss xmm6, dword [0x1801925d8]
subss xmm7, dword [0x1801925d8]
movss dword [rbp - 8], xmm0
lea r8, [rbp - 0x10]
movss dword [rbp - 4], xmm1
lea rdx, [rbp - 8]
movss dword [rbp - 0x10], xmm6
movss dword [rbp - 0xc], xmm7
call fcn.180059b00
mov r8d, dword [r15 + 0x78]
mov r9d, edi
mov rdx, qword [r15 + 0x80]
mov rcx, r15
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], 1
call fcn.180057ce0
mov dword [r15 + 0x78], esi
movss xmm6, dword [0x1801927bc]
test bl, bl
je 0x1800b0c51
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
mov rbx, rdx
sar rbx, 0xb
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rdi, rbx
sub rdi, qword [r14 + 0x340]
cmp rdi, 0x190
jbe 0x1800b0c51
lea rdx, [r14 + 0x30]
mov rcx, r14
movaps xmm7, xmm10
call fcn.1800adf20
lea rdx, [r14 + 0x30]
movsxd rsi, eax
mov rcx, r14
call fcn.1800b5880
cmp byte [r14 + 0x58], 0
movaps xmm8, xmm0
je 0x1800b0bec
mov r8, qword [r13 + r12*8]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, qword [r13 + r12*8 + 8]
sub rcx, r8
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp esi, edx
jge 0x1800b0bec
lea rcx, [rsi + rsi*2]
movzx eax, byte [r8 + rcx*4]
cmp al, 9
jne 0x1800b0ba3
movd xmm6, dword [r14 + 0x54]
addss xmm0, xmm10
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm14
divss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm7, xmm0
addss xmm7, xmm10
mulss xmm7, xmm6
subss xmm7, xmm8
jmp 0x1800b0bec
xor ecx, ecx
mov byte [rbp + 0x68], al
mov rax, qword [0x1801ad7e0]
lea rdx, [rbp + 0x78]
mov qword [rsp + 0x38], rcx
movaps xmm3, xmm6
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x68]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x1978]
movss xmm2, dword [rax + 0x1980]
movss dword [rsp + 0x20], xmm15
mov byte [rbp + 0x69], 0
call fcn.18005e900
movss xmm7, dword [rax]
mov r9d, dword [r14 + 0x104]
lea r8, [rbp]
movaps xmm0, xmm13
mov dword [rsp + 0x28], 0
addss xmm0, xmm8
movss dword [rbp + 0xc], xmm12
lea rdx, [rbp + 8]
movss dword [rsp + 0x20], xmm9
mov rcx, r15
movss dword [rbp + 8], xmm0
addss xmm0, xmm7
movss dword [rbp], xmm0
movaps xmm0, xmm12
addss xmm0, dword [r14 + 0x30c]
movss dword [rbp + 4], xmm0
call fcn.18005a2e0
cmp rdi, 0x320
jbe 0x1800b0c51
mov qword [r14 + 0x340], rbx
mov rbx, r12
mov r10, qword [r13 + rbx*8]
mov r11, qword [r13 + rbx*8 + 8]
cmp r10, r11
jne 0x1800b0c6c
mov r13d, dword [r14 + 0xd0]
jmp 0x1800b0c7a
mov rdx, r10
mov rcx, r14
call fcn.1800aef10
mov r13d, eax
sub r11, r10
movabs rax, 0x2aaaaaaaaaaaaaab
imul r11
movaps xmm8, xmm9
xor r12d, r12d
xor r15d, r15d
sar rdx, 1
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
je 0x1800b10ed
nop word [rax + rax]
lea rax, [r15 + r15*2]
mov rcx, r14
lea rdi, [r10 + rax*4]
mov rdx, rdi
call fcn.1800aef10
mov esi, eax
cmp eax, r13d
jne 0x1800b0cdb
movzx ecx, byte [rdi]
cmp cl, 9
je 0x1800b0cdb
cmp cl, 0x20
jne 0x1800b0e01
cmp qword [r14 + 0x330], 0
je 0x1800b0e01
lea rbx, [r14 + 0x320]
movaps xmm1, xmm8
cmp qword [rbx + 0x18], 0xf
addss xmm1, xmm13
movaps xmm2, xmm12
mov rdx, rbx
addss xmm2, xmm9
jbe 0x1800b0d0f
mov rdx, qword [rbx]
test r13d, 0xff000000
je 0x1800b0d83
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1800b0d20
add rcx, rdx
cmp rdx, rcx
je 0x1800b0d83
mov r8, qword [rsp + 0x70]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x70]
mov rax, qword [r8 + 0x38]
movups xmm0, xmmword [r8 + 0x88]
mov qword [rsp + 0x30], rdx
mov rdx, r8
unpcklps xmm1, xmm2
movss xmm2, dword [rax + 0x10]
movq r9, xmm1
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x20], r13d
call fcn.18005ed20
cmp qword [rbx + 0x18], 0xf
mov rax, qword [0x1801ad7e0]
mov rcx, qword [rax + 0x1978]
jbe 0x1800b0d9b
mov rbx, qword [rbx]
mov rax, qword [0x1801ad7e0]
lea rdx, [rbp + 0x40]
movss xmm3, dword [0x1801927bc]
xor r13d, r13d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
movss xmm2, dword [rax + 0x1980]
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm15
call fcn.18005e900
cmp qword [r14 + 0x338], 0xf
lea rcx, [r14 + 0x320]
addss xmm8, dword [rbp + 0x40]
jbe 0x1800b0df2
mov rcx, qword [r14 + 0x320]
mov rbx, qword [rsp + 0x60]
mov qword [r14 + 0x330], r13
mov byte [rcx], r13b
movzx ecx, byte [rdi]
mov r13d, esi
mov dword [rsp + 0x50], esi
cmp cl, 9
jne 0x1800b0f37
movd xmm6, dword [r14 + 0x54]
movaps xmm7, xmm8
addss xmm8, xmm10
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm14
divss xmm8, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm8, xmm0
inc r12d
addss xmm8, xmm10
inc r15
cmp byte [r14 + 0x7b], 0
mulss xmm8, xmm6
je 0x1800b10b7
mov rax, qword [0x1801ad7e0]
lea r8, [rbp - 0x78]
mov rbx, qword [rsp + 0x70]
lea rdx, [rbp + 0x10]
movaps xmm2, xmm12
movss dword [rsp + 0x20], xmm10
addss xmm2, xmm9
movaps xmm3, xmm8
movss xmm4, dword [rax + 0x1980]
addss xmm3, xmm13
movaps xmm0, xmm4
movaps xmm1, xmm13
mulss xmm4, dword [0x1801925c4]
addss xmm1, xmm7
mov r9d, 0x90909090
mov rcx, rbx
mulss xmm0, xmm11
subss xmm3, xmm10
addss xmm1, xmm10
addss xmm2, xmm0
movss dword [rbp - 0x78], xmm3
subss xmm3, xmm4
movss dword [rbp + 0x10], xmm1
movaps xmm0, xmm2
movss dword [rbp + 0x14], xmm2
subss xmm0, xmm4
movss dword [rbp - 0x74], xmm2
addss xmm4, xmm2
movss dword [rbp + 0x18], xmm3
movss dword [rbp + 0x20], xmm3
movss dword [rbp + 0x1c], xmm0
movss dword [rbp + 0x24], xmm4
call fcn.18005a070
mov r9d, 0x90909090
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0x18]
mov rcx, rbx
lea rdx, [rbp - 0x78]
call fcn.18005a070
mov r9d, 0x90909090
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0x20]
mov rcx, rbx
lea rdx, [rbp - 0x78]
call fcn.18005a070
jmp 0x1800b10b2
cmp cl, 0x20
jne 0x1800b0fef
cmp byte [r14 + 0x7b], 0
je 0x1800b0fdf
mov rax, qword [0x1801ad7e0]
lea rdx, [rbp + 0x28]
mov rbx, qword [rsp + 0x70]
movaps xmm0, xmm14
mulss xmm0, xmm11
movaps xmm1, xmm8
mov dword [rsp + 0x28], 3
mov rcx, rbx
movss xmm2, dword [rax + 0x1980]
addss xmm1, xmm13
mulss xmm2, xmm11
movaps xmm3, xmm9
addss xmm1, xmm0
movaps xmm0, xmm12
addss xmm0, xmm9
movss dword [rbp + 0x28], xmm1
addss xmm2, xmm0
movss xmm0, dword [0x1801926d8]
movss dword [rsp + 0x20], xmm0
movss dword [rbp + 0x2c], xmm2
movss xmm2, dword [0x180192648]
call fcn.1800596d0
mov r8d, dword [rbx + 0x78]
mov r9d, 0x80808080
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.180058c10
mov dword [rbx + 0x78], 0
inc r12d
addss xmm8, xmm14
inc r15
jmp 0x1800b10b2
movzx eax, cl
and al, 0xfe
cmp al, 0xfc
jne 0x1800b0fff
mov edi, 6
jmp 0x1800b103d
movzx eax, cl
and al, 0xfc
cmp al, 0xf8
jne 0x1800b100f
mov edi, 5
jmp 0x1800b103d
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x1800b101f
mov edi, 4
jmp 0x1800b103d
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1800b102f
mov edi, 3
jmp 0x1800b103d
xor edi, edi
and cl, 0xe0
cmp cl, 0xc0
sete dil
inc edi
mov r13, qword [rbp + 0x30]
lea rsi, [r15 + r15*2]
shl rsi, 2
lea rbx, [r14 + 0x320]
mov r14, qword [rsp + 0x60]
add r12d, edi
mov eax, edi
add r15, rax
nop dword [rax]
mov rax, qword [r13 + r14*8]
lea rsi, [rsi + 0xc]
mov rcx, qword [rbx + 0x10]
dec edi
mov rdx, qword [rbx + 0x18]
movzx r9d, byte [rsi + rax - 0xc]
cmp rcx, rdx
jae 0x1800b109d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0xf
jbe 0x1800b1092
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1800b10a5
mov rcx, rbx
call fcn.18000efa0
test edi, edi
jg 0x1800b1060
mov r14, qword [rbp + 0x48]
mov r13d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbp + 0x30]
mov r10, qword [rax + rbx*8]
mov rcx, qword [rax + rbx*8 + 8]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r10
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jb 0x1800b0cb0
cmp qword [r14 + 0x330], 0
je 0x1800b11b0
lea rbx, [r14 + 0x320]
cmp qword [rbx + 0x18], 0xf
addss xmm8, xmm13
addss xmm12, xmm9
mov rdx, rbx
jbe 0x1800b1119
mov rdx, qword [rbx]
test r13d, 0xff000000
je 0x1800b1198
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1800b1130
add rcx, rdx
cmp rdx, rcx
je 0x1800b1198
mov r8, qword [rsp + 0x70]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x70]
movups xmm0, xmmword [r8 + 0x88]
mov rax, qword [r8 + 0x38]
mov qword [rsp + 0x30], rdx
mov rdx, r8
movups xmmword [rbp - 0x70], xmm0
mov qword [rsp + 0x28], rcx
movss xmm2, dword [rax + 0x10]
movaps xmm0, xmm8
mov rcx, qword [rax + 8]
unpcklps xmm0, xmm12
movq r9, xmm0
mov dword [rsp + 0x20], r13d
call fcn.18005ed20
cmp qword [rbx + 0x18], 0xf
mov rax, rbx
jbe 0x1800b11a5
mov rax, qword [rbx]
mov qword [rbx + 0x10], 0
mov byte [rax], 0
mov esi, dword [rsp + 0x68]
lea rdi, [r14 + 0x28]
mov rcx, qword [rsp + 0x78]
inc esi
movss xmm8, dword [rsp + 0x6c]
inc rcx
mov r15, qword [rsp + 0x70]
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x78], rcx
cmp rcx, qword [rbp + 0x38]
jle 0x1800b03d0
mov r13, qword [rsp + 0x248]
movss xmm12, dword [rsp + 0x5c]
movaps xmm14, xmmword [rsp + 0x1b0]
mov rcx, qword [r14 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r14 + 8]
xorps xmm1, xmm1
addss xmm12, dword [0x180192688]
movaps xmm13, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1e0]
movaps xmm10, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm6, xmmword [rsp + 0x230]
mov r15, qword [rsp + 0x240]
mov r12, qword [rsp + 0x250]
mov rdi, qword [rsp + 0x288]
mov rsi, qword [rsp + 0x280]
mov rbx, qword [rsp + 0x278]
imul rcx
movss dword [rsp + 0x78], xmm12
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
js 0x1800b12a1
cvtsi2ss xmm1, rdx
jmp 0x1800b12b6
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rcx, qword [0x1801ad7e0]
mulss xmm1, dword [r14 + 0x30c]
mov rax, qword [rcx + 0x1c10]
movss dword [rsp + 0x7c], xmm1
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x1800b133f
movss xmm2, dword [rax + 0xd8]
lea rcx, [rsp + 0x78]
movss xmm0, dword [rax + 0xdc]
movaps xmm3, xmm2
addss xmm1, xmm0
movss dword [rbp + 0x78], xmm2
addss xmm3, xmm12
movss dword [rbp + 0x7c], xmm0
movss dword [rbp + 0x84], xmm1
movaps xmm1, xmm15
movss dword [rbp + 0x80], xmm3
call fcn.180047590
xor r8d, r8d
lea rcx, [rbp + 0x78]
xor edx, edx
xor r9d, r9d
call fcn.1800476e0
cmp byte [r14 + 0x5b], 0
movaps xmm15, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1d0]
je 0x1800b1378
mov rcx, r14
call fcn.1800b5b40
mov rcx, qword [0x1801ad7e0]
mov rcx, qword [rcx + 0x1c10]
call fcn.1800468f0
mov byte [r14 + 0x5b], 0
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.1800cac00
add rsp, 0x258
pop r14
pop rbp
ret