Function at 0x14002c1d0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140132100]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov rbx, rdx
mov qword [rbp - 0x78], rdx
mov r12, rcx
mov qword [rbp - 0x70], rcx
mov r13, qword [0x14017fb30]
mov rax, qword [r13 + 0x1ba0]
mov byte [rax + 0x91], 1
mov rdi, qword [r13 + 0x1ba0]
mov qword [rbp - 0x80], rdi
cmp byte [rdi + 0x94], 0
jne 0x14002d163
mov rdx, rcx
mov rcx, rdi
call fcn.1400063e0
mov r14d, eax
mov dword [rsp + 0x54], r14d
xor esi, esi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r12
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm8
movss xmm3, dword [0x14011bee4]
mov rcx, qword [0x14017fcd8]
movss xmm2, dword [rcx + 0x14]
lea rdx, [rbp - 0x68]
call fcn.140026f30
movss xmm4, dword [r13 + 0x15bc]
movss xmm14, dword [rbp - 0x64]
movaps xmm3, xmm14
addss xmm3, dword [rdi + 0xdc]
addss xmm3, xmm4
mov rdx, qword [0x14017fb30]
mov rcx, qword [rdx + 0x1ba0]
mov r9d, dword [rdx + 0x1c44]
and r9d, 1
je 0x14002c2fc
movss xmm0, dword [rdx + 0x1c48]
jmp 0x14002c304
movss xmm0, dword [rcx + 0x190]
movss xmm13, dword [0x14011bddc]
comiss xmm8, xmm0
jbe 0x14002c349
movss xmm1, dword [rcx + 0x220]
cmp qword [rcx + 0x178], rsi
jne 0x14002c32d
cmp qword [rdx + 0x1fb0], rsi
je 0x14002c335
movss xmm1, dword [rcx + 0x1f0]
subss xmm1, dword [rcx + 0xd8]
addss xmm1, xmm0
movaps xmm0, xmm13
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [rdi + 0xd8]
movaps xmm2, xmm1
addss xmm2, xmm0
movss dword [rbp - 0x60], xmm1
movss xmm0, dword [rdi + 0xdc]
movss dword [rbp - 0x5c], xmm0
movss dword [rbp - 0x58], xmm2
movss dword [rbp - 0x54], xmm3
test r9d, r9d
je 0x14002c38e
movss xmm0, dword [rdx + 0x1c48]
jmp 0x14002c396
movss xmm0, dword [rcx + 0x190]
comiss xmm8, xmm0
jbe 0x14002c3d2
movss xmm1, dword [rcx + 0x220]
cmp qword [rcx + 0x178], rsi
jne 0x14002c3b6
cmp qword [rdx + 0x1fb0], rsi
je 0x14002c3be
movss xmm1, dword [rcx + 0x1f0]
subss xmm1, dword [rcx + 0xd8]
addss xmm1, xmm0
movaps xmm0, xmm13
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm4
movss xmm7, dword [0x14011bef0]
movaps xmm1, xmm7
lea rcx, [rsp + 0x70]
call fcn.14000f730
mov edx, r14d
lea rcx, [rbp - 0x60]
call fcn.14000f880
test al, al
je 0x14002d163
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
mov edx, r14d
lea rcx, [rbp - 0x60]
call fcn.14002a370
mov byte [rsp + 0x50], al
test al, al
je 0x14002c453
cmp byte [rbx], sil
sete cl
mov byte [rbx], cl
mov rcx, qword [0x14017fb30]
mov word [rcx + 0x1bfc], 0x101
or dword [rcx + 0x1c60], 4
mov r8d, 1
mov edx, r14d
lea rcx, [rbp - 0x60]
call fcn.140005b70
movss xmm6, dword [r13 + 0x15c0]
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x16cc]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140004af0
movss xmm9, dword [rbp - 0x5c]
movaps xmm2, xmm9
addss xmm2, dword [rbp - 0x54]
movss xmm15, dword [0x14011bda8]
mulss xmm2, xmm15
movaps xmm0, xmm2
addss xmm0, dword [0x14011be20]
movss xmm3, dword [rbp - 0x58]
movss dword [rsp + 0x70], xmm3
movss dword [rsp + 0x74], xmm0
subss xmm2, dword [0x14011be20]
movaps xmm0, xmm3
subss xmm0, dword [0x14011be50]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm2
mov dword [rsp + 0x28], esi
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x58]
mov rcx, qword [rdi + 0x268]
call fcn.140020bc0
mov edi, 4
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [rdi + rbx]
cmp dword [0x140180000], eax
jle 0x14002c600
lea rcx, [0x140180000]
call fcn.1400b6088
cmp dword [0x140180000], 0xffffffff
jne 0x14002c600
xorps xmm0, xmm0
movups xmmword [0x14017ffc0], xmm0
movups xmmword [0x14017ffd0], xmm0
movups xmmword [0x14017ffe0], xmm0
movups xmmword [0x14017fff0], xmm0
mov dword [0x14017ffc0], 0
mov qword [0x14017ffc8], rsi
mov qword [0x14017ffd0], rsi
mov ecx, Ordinal_27
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14017ffc8], rax
mov qword [0x14017ffd8], rsi
xorps xmm0, xmm0
movdqa xmmword [0x14017ffe0], xmm0
mov qword [0x14017fff0], 7
mov qword [0x14017fff8], 8
mov dword [0x14017ffc0], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x14017ffd8]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea790]
call fcn.1400b64ac
nop
lea rcx, [0x140180000]
call fcn.1400b601c
mov eax, dword [rdi + rbx]
cmp dword [0x14017ffb0], eax
jle 0x14002c6d7
lea rcx, [0x14017ffb0]
call fcn.1400b6088
cmp dword [0x14017ffb0], 0xffffffff
jne 0x14002c6d7
xorps xmm0, xmm0
movups xmmword [0x14017ff20], xmm0
movups xmmword [0x14017ff30], xmm0
movups xmmword [0x14017ff40], xmm0
movups xmmword [0x14017ff50], xmm0
mov dword [0x14017ff20], 0
mov qword [0x14017ff28], rsi
mov qword [0x14017ff30], rsi
mov ecx, Ordinal_27
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14017ff28], rax
mov qword [0x14017ff38], rsi
xorps xmm0, xmm0
movdqa xmmword [0x14017ff40], xmm0
mov qword [0x14017ff50], 7
mov qword [0x14017ff58], 8
mov dword [0x14017ff20], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x14017ff38]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea780]
call fcn.1400b64ac
nop
lea rcx, [0x14017ffb0]
call fcn.1400b601c
mov eax, dword [rdi + rbx]
cmp dword [0x14017ff60], eax
jle 0x14002c7b0
lea rcx, [0x14017ff60]
call fcn.1400b6088
cmp dword [0x14017ff60], 0xffffffff
jne 0x14002c7b0
xorps xmm0, xmm0
movups xmmword [0x140180050], xmm0
movups xmmword [0x140180060], xmm0
movups xmmword [0x140180070], xmm0
movups xmmword [0x140180080], xmm0
mov dword [0x140180050], 0
mov qword [0x140180058], rsi
mov qword [0x140180060], rsi
mov ecx, Ordinal_27
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140180058], rax
mov qword [0x140180068], rsi
xorps xmm0, xmm0
movdqa xmmword [0x140180070], xmm0
mov qword [0x140180080], 7
mov qword [0x140180088], 8
mov dword [0x140180050], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x140180068]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea770]
call fcn.1400b64ac
nop
lea rcx, [0x14017ff60]
call fcn.1400b601c
nop
movzx ecx, r14b
movabs r9, 0xcbf29ce484222325
xor rcx, r9
movabs rbx, 0x100000001b3
imul rcx, rbx
movzx r15d, byte [rsp + 0x55]
xor rcx, r15
imul rcx, rbx
movzx r8d, byte [rsp + 0x56]
xor rcx, r8
imul rcx, rbx
movzx r11d, byte [rsp + 0x57]
xor rcx, r11
imul rcx, rbx
and rcx, qword [0x14017fff0]
add rcx, rcx
mov rdx, qword [0x14017ffd8]
mov rax, qword [rdx + rcx*8 + 8]
mov r10, qword [0x14017ffc8]
cmp rax, r10
je 0x14002c833
mov rdx, qword [rdx + rcx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002c836
cmp rax, rdx
je 0x14002c833
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002c822
jmp 0x14002c836
mov rax, rsi
mov rsi, r10
test rax, rax
cmovne rsi, rax
movzx ecx, r14b
xor rcx, r9
imul rcx, rbx
xor rcx, r15
imul rcx, rbx
xor rcx, r8
imul rcx, rbx
xor rcx, r11
imul rcx, rbx
and rcx, qword [0x14017ff50]
add rcx, rcx
mov rdx, qword [0x14017ff38]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x14017ff28]
cmp rax, r9
je 0x14002c8a1
mov rdx, qword [rdx + rcx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002c8a3
nop dword [rax]
cmp rax, rdx
je 0x14002c8a1
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002c890
jmp 0x14002c8a3
xor eax, eax
mov rdi, r9
test rax, rax
cmovne rdi, rax
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rbx
xor rcx, r15
imul rcx, rbx
xor rcx, r8
imul rcx, rbx
xor rcx, r11
imul rcx, rbx
and rcx, qword [0x140180080]
add rcx, rcx
mov rdx, qword [0x140180068]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x140180058]
cmp rax, r8
je 0x14002c914
mov rdx, qword [rdx + rcx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002c916
cmp rax, rdx
je 0x14002c914
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002c903
jmp 0x14002c916
xor eax, eax
mov rbx, r8
test rax, rax
cmovne rbx, rax
cmp rsi, r10
jne 0x14002c9ee
mov rax, qword [rbp - 0x78]
cmp byte [rax], 0
je 0x14002c938
movaps xmm0, xmm13
jmp 0x14002c93b
movaps xmm0, xmm7
mov dword [rsp + 0x58], r14d
movss dword [rsp + 0x5c], xmm0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [0x14017ffc0]
call fcn.14002e120
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
xor rcx, r15
imul rcx, r10
movzx eax, byte [rsp + 0x56]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x57]
xor rcx, rax
imul rcx, r10
and rcx, qword [0x14017fff0]
add rcx, rcx
mov rdx, qword [0x14017ffd8]
mov rax, qword [rdx + rcx*8 + 8]
mov rsi, qword [0x14017ffc8]
cmp rax, rsi
je 0x14002c9d7
mov rdx, qword [rdx + rcx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002c9d9
cmp rax, rdx
je 0x14002c9d7
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002c9c6
jmp 0x14002c9d9
xor eax, eax
test rax, rax
cmovne rsi, rax
mov r9, qword [0x14017ff28]
mov r8, qword [0x140180058]
cmp rdi, r9
jne 0x14002caa8
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [0x14017ff20]
call fcn.14002e120
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r15
imul rcx, rdx
movzx eax, byte [rsp + 0x56]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x57]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [0x14017ff50]
and rdx, rcx
add rdx, rdx
mov rcx, qword [0x14017ff38]
mov rax, qword [rcx + rdx*8 + 8]
mov rdi, qword [0x14017ff28]
cmp rax, rdi
je 0x14002ca98
mov rcx, qword [rcx + rdx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002ca9a
cmp rax, rcx
je 0x14002ca98
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002ca87
jmp 0x14002ca9a
xor eax, eax
test rax, rax
cmovne rdi, rax
mov r8, qword [0x140180058]
cmp rbx, r8
jne 0x14002cb5a
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], 0x3f800000
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [0x140180050]
call fcn.14002e120
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r15
imul rcx, rdx
movzx eax, byte [rsp + 0x56]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x57]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140180080]
add rcx, rcx
mov rdx, qword [0x140180068]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x140180058]
cmp rax, rbx
je 0x14002cb51
mov rdx, qword [rdx + rcx*8]
cmp r14d, dword [rax + 0x10]
je 0x14002cb53
nop
cmp rax, rdx
je 0x14002cb51
mov rax, qword [rax + 8]
cmp r14d, dword [rax + 0x10]
jne 0x14002cb40
jmp 0x14002cb53
xor eax, eax
test rax, rax
cmovne rbx, rax
movss xmm1, dword [r13 + 0x18]
movss xmm2, dword [0x14011c0e0]
mov rax, qword [rbp - 0x78]
cmp byte [rax], 0
jne 0x14002cb74
xorps xmm1, xmm2
movss xmm10, dword [0x14011be38]
mulss xmm1, xmm10
addss xmm1, dword [rsi + 0x14]
comiss xmm7, xmm1
ja 0x14002cb97
movaps xmm0, xmm13
minss xmm0, xmm1
movaps xmm7, xmm0
movss dword [rsi + 0x14], xmm7
movss xmm0, dword [r13 + 0x18]
cmp byte [rsp + 0x68], 0
jne 0x14002cbac
xorps xmm0, xmm2
movss xmm2, dword [0x14011be18]
mulss xmm0, xmm2
addss xmm0, dword [rdi + 0x14]
comiss xmm8, xmm0
jbe 0x14002cbc9
movaps xmm1, xmm8
jmp 0x14002cbd1
movaps xmm1, xmm13
minss xmm1, xmm0
movss dword [rdi + 0x14], xmm1
cmp byte [rsp + 0x50], 0
je 0x14002cbe3
movaps xmm0, xmm8
jmp 0x14002cbf6
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x14011bdf4]
addss xmm0, dword [rbx + 0x14]
comiss xmm8, xmm0
jbe 0x14002cc02
movaps xmm1, xmm8
jmp 0x14002cc0a
movaps xmm1, xmm13
minss xmm1, xmm0
movss dword [rbx + 0x14], xmm1
movaps xmm11, xmm13
subss xmm11, xmm1
addss xmm11, xmm11
mov r14, qword [rbp - 0x80]
mov r14, qword [r14 + 0x268]
mov qword [rsp + 0x70], 0
movss xmm7, dword [rdi + 0x14]
mulss xmm7, xmm2
addss xmm7, xmm10
mov rax, qword [0x14017fb30]
movups xmm1, xmmword [rax + 0x17ec]
movups xmmword [rsp + 0x58], xmm1
movss xmm6, dword [rsi + 0x14]
movaps xmm0, xmm6
mulss xmm0, dword [rax + 0x1570]
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rsp + 0x64], xmm1
lea rcx, [rsp + 0x58]
call fcn.140004af0
mov ebx, eax
movss xmm2, dword [r13 + 0x15bc]
mulss xmm2, dword [0x14011bdec]
subss xmm2, xmm11
movss xmm0, dword [rbp - 0x58]
subss xmm0, xmm10
movss dword [rsp + 0x54], xmm0
movss xmm10, dword [0x14011be30]
mulss xmm6, xmm10
addss xmm6, xmm0
movss dword [rsp + 0x58], xmm6
movaps xmm0, xmm9
addss xmm0, dword [rbp - 0x54]
mulss xmm0, xmm15
movss dword [rsp + 0x5c], xmm0
mov dword [rsp + 0x28], Ordinal_35
movss xmm6, dword [0x14011be24]
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm8
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140020360
xor r15d, r15d
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
mov r9d, ebx
mov r8d, dword [r14 + 0x78]
mov rdx, qword [r14 + 0x80]
mov rcx, r14
call fcn.1400215a0
mov dword [r14 + 0x78], r15d
mov r14, qword [rbp - 0x80]
mov rbx, qword [r14 + 0x268]
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x16ac]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140004af0
mov edi, eax
movss xmm2, dword [r13 + 0x15bc]
mulss xmm2, dword [0x14011bdec]
subss xmm2, xmm11
movss xmm0, dword [rsi + 0x14]
mulss xmm0, xmm10
addss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x58], xmm0
movaps xmm1, xmm9
movss xmm7, dword [rbp - 0x54]
addss xmm1, xmm7
mulss xmm1, xmm15
movss dword [rsp + 0x5c], xmm1
test eax, 0xff000000
je 0x14002cded
comiss xmm8, xmm2
jae 0x14002cded
mov dword [rsp + 0x28], Ordinal_35
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm8
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140020360
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14001fc40
mov dword [rbx + 0x78], r15d
mov rbx, qword [r14 + 0x268]
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x17ec]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140004af0
mov edi, eax
movss xmm0, dword [rsi + 0x14]
movss xmm2, dword [r13 + 0x15bc]
mulss xmm2, dword [0x14011bdec]
mulss xmm2, xmm0
subss xmm2, xmm11
mulss xmm0, xmm10
addss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x58], xmm0
movaps xmm0, xmm9
addss xmm0, xmm7
mulss xmm0, xmm15
movss dword [rsp + 0x5c], xmm0
test eax, 0xff000000
je 0x14002ceae
comiss xmm8, xmm2
jae 0x14002ceae
mov dword [rsp + 0x28], Ordinal_35
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm8
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140020360
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14001fc40
mov dword [rbx + 0x78], r15d
movss xmm0, dword [rbp - 0x60]
movss dword [rbp - 0x50], xmm0
addss xmm9, xmm7
mulss xmm9, xmm15
mulss xmm14, xmm15
subss xmm9, xmm14
movss dword [rbp - 0x4c], xmm9
mov r15, 0xffffffffffffffff
cmp byte [r13 + 0x307c], 0
je 0x14002d094
lea rcx, [0x14011a264]
lea rsi, [0x14011a268]
mov rax, qword [rbp - 0x78]
cmp byte [rax], 0
cmovne rsi, rcx
mov r14, qword [0x14017fb30]
mov r13, qword [r14 + 0x1ba0]
mov rbx, qword [r14 + 0x30a0]
mov r12, qword [r14 + 0x30a8]
xor eax, eax
mov qword [r14 + 0x30a8], rax
mov qword [r14 + 0x30a0], rax
mov rdi, rsi
cmp rsi, r15
jae 0x14002cf50
movzx ecx, byte [rdi]
test cl, cl
je 0x14002cf50
lea rax, [rdi + 1]
cmp cl, 0x23
jne 0x14002cf48
cmp byte [rax], cl
je 0x14002cf50
mov rdi, rax
cmp rax, r15
jb 0x14002cf34
movss xmm0, dword [r14 + 0x15bc]
addss xmm0, dword [r14 + 0x30b0]
addss xmm0, xmm13
movss xmm1, dword [rbp - 0x4c]
movss dword [r14 + 0x30b0], xmm1
comiss xmm1, xmm0
jbe 0x14002cf8e
lea rcx, [0x140103644]
call fcn.140014970
mov byte [r14 + 0x30b4], 1
test rbx, rbx
je 0x14002cfaf
mov r8, r15
inc r8
cmp byte [rbx + r8], 0
jne 0x14002cf96
add r8, rbx
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.1400149b0
mov ecx, dword [r14 + 0x30b8]
mov eax, dword [r13 + 0x158]
cmp ecx, eax
jle 0x14002cfca
mov dword [r14 + 0x30b8], eax
mov ecx, eax
mov r13d, dword [r13 + 0x158]
sub r13d, ecx
nop dword [rax]
nop dword [rax + rax]
mov r8, rdi
sub r8, rsi
mov edx, 0xa
mov rcx, rsi
call fcn.1400e6f80
mov rbx, rdi
test rax, rax
cmovne rbx, rax
cmp rsi, rbx
jne 0x14002d007
cmp rbx, rdi
je 0x14002d06b
mov r9d, ebx
sub r9d, esi
cmp byte [r14 + 0x30b4], 0
lea edx, [r13*4]
jne 0x14002d024
mov edx, 1
mov qword [rsp + 0x20], rsi
lea r8, [0x140103577]
lea rcx, str._s_.s
call fcn.140014970
mov byte [r14 + 0x30b4], 0
cmp byte [rbx], 0xa
jne 0x14002d05d
lea rcx, [0x140103644]
call fcn.140014970
mov byte [r14 + 0x30b4], 1
cmp rbx, rdi
je 0x14002d06b
lea rsi, [rbx + 1]
jmp 0x14002cfe0
test r12, r12
je 0x14002d08c
mov r8, r15
inc r8
cmp byte [r12 + r8], 0
jne 0x14002d073
add r8, r12
mov rdx, r12
lea rcx, [rbp - 0x50]
call fcn.1400149b0
mov r14, qword [rbp - 0x80]
mov r12, qword [rbp - 0x70]
movss xmm0, dword [rbp - 0x68]
comiss xmm0, xmm8
jbe 0x14002d15c
mov r8, qword [r14 + 0x268]
mov rax, qword [0x14017fb30]
movups xmm0, xmmword [rax + 0x164c]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x54], xmm0
lea rcx, [rbp - 0x60]
call fcn.140004af0
mov r9d, eax
mov rcx, qword [0x14017fcd8]
movss xmm2, dword [rcx + 0x14]
test eax, 0xff000000
je 0x14002d15c
nop dword [rax]
inc r15
cmp byte [r12 + r15], 0
jne 0x14002d0f0
add r15, r12
cmp r12, r15
je 0x14002d15c
test rcx, rcx
jne 0x14002d10f
mov rax, qword [r8 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm8
jp 0x14002d120
jne 0x14002d120
mov rax, qword [r8 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rbp - 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r12
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x50]
mov rdx, r8
call fcn.140027150
movzx eax, byte [rsp + 0x50]
jmp 0x14002d165
xor al, al
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.1400b5fc0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret