Function at 0x140073f70
Capabilities:
Hash data with crc32

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 - 0x70]
sub rsp, 0x170
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], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov rax, qword [0x1401e71c0]
xor rax, rsp
mov qword [rbp - 0x30], rax
movzx r14d, r9b
mov byte [rsp + 0x49], r9b
mov dword [rsp + 0x4c], r8d
mov qword [rsp + 0x58], rdx
mov r13, rcx
mov rsi, qword [0x1401ebdf0]
mov r15, rsi
mov rax, qword [rsi + 0x4158]
mov byte [rax + 0xf5], 1
mov rbx, qword [rsi + 0x4158]
mov eax, dword [rsi + 0x4b18]
mov dword [rsp + 0x68], eax
xor r12d, r12d
mov dword [rsi + 0x4b18], r12d
cmp byte [rbx + 0xf8], r12b
jne 0x140074afd
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.1400228f0
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x41a4], eax
jne 0x140074069
mov r8, r13
lea edx, [r12 + 0xb]
mov ecx, eax
call fcn.140049d80
mov rsi, qword [0x1401ebdf0]
movss xmm11, dword [rsi + 0x3a40]
movss xmm4, dword [rsi + 0x3e80]
addss xmm11, xmm11
addss xmm11, xmm4
mov rcx, r13
cmp r13, 0xffffffffffffffff
jae 0x1400740ad
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1400740ad
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1400740a4
cmp byte [rax], dl
je 0x1400740ad
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140074090
xorps xmm13, xmm13
cmp r13, rcx
jne 0x1400740bb
xorps xmm6, xmm6
jmp 0x140074113
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r13
movss xmm0, dword [0x1401b9b64]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401b9b2c]
movaps xmm2, xmm4
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi + 0x3e78]
call fcn.14005cb50
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x1401b98a8]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm4, dword [rsp + 0x44]
mov rax, qword [rsi + 0x4158]
cmp qword [rax + 0x1e8], r12
jne 0x140074133
cmp qword [rsi + 0x4fa8], r12
lea rcx, [rax + 0x290]
je 0x14007413a
lea rcx, [rax + 0x260]
movss xmm8, dword [rcx]
subss xmm8, dword [rax + 0x58]
subss xmm8, dword [r15 + 0x3a08]
addss xmm4, dword [0x1401b9930]
movss xmm14, dword [0x1401b9a98]
movss xmm2, dword [rbx + 0x144]
movss xmm3, dword [rbx + 0x140]
movss xmm7, dword [0x1401b9b70]
movaps xmm0, xmm2
addss xmm0, xmm4
test r14b, r14b
je 0x14007418c
movaps xmm1, xmm14
xorps xmm4, xmm4
jmp 0x140074194
movaps xmm1, xmm8
movaps xmm4, xmm14
addss xmm1, xmm3
movaps xmm5, xmm1
addss xmm2, xmm7
addss xmm3, xmm4
movss dword [rbp - 0x50], xmm3
movss dword [rbp - 0x4c], xmm2
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x44], xmm0
addss xmm0, xmm13
addss xmm5, xmm6
movss dword [rbp - 0x40], xmm3
movss dword [rbp - 0x3c], xmm2
movss dword [rbp - 0x38], xmm5
movss dword [rbp - 0x34], xmm0
subss xmm0, xmm2
subss xmm5, xmm3
movss dword [rsp + 0x40], xmm5
movss dword [rsp + 0x44], xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x40]
call fcn.140035b90
xor r9d, r9d
lea r8, [rbp - 0x50]
mov edx, edi
lea rcx, [rbp - 0x40]
call fcn.140035d00
test al, al
je 0x140074afd
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x4a]
lea r8, [rsp + 0x48]
mov edx, edi
lea rcx, [rbp - 0x50]
call fcn.14006f170
movzx r10d, al
mov r9d, edi
not r9d
mov r14d, r9d
lea rdx, [0x1401af431]
mov r8b, 0x23
lea r11, [0x1401a42f0]
cmp r8b, 0x23
jne 0x14007425a
cmp byte [rdx], r8b
jne 0x14007425a
cmp byte [rdx + 1], r8b
cmove r14d, r9d
movzx ecx, r14b
movzx eax, r8b
xor rcx, rax
shr r14d, 8
xor r14d, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x140074247
not r14d
mov rdx, qword [0x1401ebdf0]
movsxd rax, dword [rdx + 0x4c28]
cmp dword [rdx + 0x4c18], eax
jle 0x1400742a6
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4c20]
cmp dword [rcx + rax], r14d
jne 0x1400742a6
mov r12b, 1
test r10b, r10b
je 0x1400742bd
test r12b, r12b
jne 0x1400742bd
xor edx, edx
mov ecx, r14d
call fcn.140037290
mov r12b, 1
mov rax, qword gs:[0x58]
mov ecx, 8
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1401f0050], eax
jle 0x140074337
lea rcx, [0x1401f0050]
call fcn.140168158
cmp dword [0x1401f0050], 0xffffffff
jne 0x140074337
xor eax, eax
mov qword [0x1401f0040], rax
mov qword [0x1401f0048], rax
lea ecx, [rax + 0x40]
call fcn.140167e00
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1401f0040], rax
lea rcx, [0x14017d6d0]
call fcn.140168064
nop
lea rcx, [0x1401f0050]
call fcn.1401680ec
mov rsi, qword [0x1401f0040]
mov rax, qword [rsi + 8]
mov rbx, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x140074367
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x14007435b
mov rcx, qword [rcx + 0x10]
jmp 0x140074361
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140074350
cmp byte [rbx + 0x19], 0
jne 0x140074372
cmp edi, dword [rbx + 0x1c]
jae 0x140074375
mov rbx, rsi
cmp rbx, rsi
jne 0x140074485
mov dword [rbp - 0x78], edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x74], xmm0
xorps xmm6, xmm6
movups xmmword [rbp - 0x64], xmm6
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov dword [rsp + 0x78], r8d
mov rcx, rsi
test dl, dl
jne 0x1400743cc
mov qword [rsp + 0x70], rax
cmp dword [rax + 0x1c], edi
jae 0x1400743b8
mov dword [rsp + 0x78], r8d
mov rax, qword [rax + 0x10]
jmp 0x1400743c6
mov dword [rsp + 0x78], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x1400743a3
cmp byte [rcx + 0x19], r8b
jne 0x1400743d7
cmp edi, dword [rcx + 0x1c]
jae 0x140074452
movabs rax, 0x3ffffffffffffff
cmp qword [0x1401f0048], rax
je 0x140074b56
lea rbx, [0x1401f0040]
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r8
mov ecx, 0x40
call fcn.140167e00
nop
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rax + 0x1c], xmm0
movups xmm1, xmmword [rbp - 0x68]
movups xmmword [rax + 0x2c], xmm1
psrldq xmm6, 0xc
movd dword [rax + 0x3c], xmm6
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rbp - 0x40], xmm0
mov r8, rax
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.140091190
mov rsi, qword [0x1401f0040]
mov rax, qword [rsi + 8]
mov rbx, rsi
cmp byte [rax + 0x19], 0
jne 0x140074477
nop
cmp dword [rax + 0x1c], edi
jae 0x14007446b
mov rax, qword [rax + 0x10]
jmp 0x140074471
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140074460
cmp byte [rbx + 0x19], 0
jne 0x140074482
cmp edi, dword [rbx + 0x1c]
jae 0x140074485
mov rbx, rsi
movss xmm5, dword [r15 + 0x18]
movss xmm6, dword [0x1401b9a0c]
mulss xmm5, xmm6
lea rcx, [0x1401efef8]
movzx edx, byte [rsp + 0x48]
test r12b, r12b
je 0x1400744b9
lea rax, [0x1401eff28]
movss xmm4, dword [0x1401eff28]
jmp 0x1400744cd
lea r8, [0x1401efed8]
mov rax, rcx
test dl, dl
cmovne rax, r8
movss xmm4, dword [rax]
subss xmm4, dword [rbx + 0x20]
mulss xmm4, xmm5
addss xmm4, dword [rbx + 0x20]
movss xmm3, dword [rax + 4]
subss xmm3, dword [rbx + 0x24]
mulss xmm3, xmm5
addss xmm3, dword [rbx + 0x24]
movss xmm2, dword [rax + 8]
subss xmm2, dword [rbx + 0x28]
mulss xmm2, xmm5
addss xmm2, dword [rbx + 0x28]
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [rbx + 0x2c]
mulss xmm0, xmm5
addss xmm0, dword [rbx + 0x2c]
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm3
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm2
shufps xmm4, xmm4, 0x27
movss xmm4, xmm0
shufps xmm4, xmm4, 0x39
movups xmmword [rbp - 0x40], xmm4
movups xmmword [rbx + 0x20], xmm4
movss xmm5, dword [r15 + 0x18]
mulss xmm5, xmm6
test r12b, r12b
je 0x140074558
lea rcx, [0x1401effe8]
movss xmm4, dword [0x1401effe8]
jmp 0x140074569
lea rax, [0x1401effd8]
test dl, dl
cmovne rcx, rax
movss xmm4, dword [rcx]
subss xmm4, dword [rbx + 0x30]
mulss xmm4, xmm5
addss xmm4, dword [rbx + 0x30]
movss xmm3, dword [rcx + 4]
subss xmm3, dword [rbx + 0x34]
mulss xmm3, xmm5
addss xmm3, dword [rbx + 0x34]
movss xmm2, dword [rcx + 8]
subss xmm2, dword [rbx + 0x38]
mulss xmm2, xmm5
addss xmm2, dword [rbx + 0x38]
movss xmm0, dword [rcx + 0xc]
subss xmm0, dword [rbx + 0x3c]
mulss xmm0, xmm5
addss xmm0, dword [rbx + 0x3c]
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm3
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm2
shufps xmm4, xmm4, 0x27
movss xmm4, xmm0
shufps xmm4, xmm4, 0x39
movups xmmword [rbp - 0x40], xmm4
movups xmmword [rbx + 0x30], xmm4
movss xmm12, dword [rbp - 0x48]
movaps xmm0, xmm12
subss xmm0, xmm11
movss xmm7, dword [rbp - 0x50]
movaps xmm10, xmm7
maxss xmm10, xmm0
mov r10, qword [0x1401ebdf0]
mov rax, qword [r10 + 0x4158]
mov byte [rax + 0xf5], 1
movss xmm0, dword [0x1401efe58]
movss dword [rbp - 0x40], xmm0
movss xmm1, dword [0x1401efe5c]
movss dword [rbp - 0x3c], xmm1
movss xmm0, dword [0x1401efe60]
movss dword [rbp - 0x38], xmm0
movss xmm1, dword [0x1401efe64]
mulss xmm1, dword [r10 + 0x3a00]
movss dword [rbp - 0x34], xmm1
movss dword [rsp + 0x40], xmm10
movss xmm6, dword [rbp - 0x44]
movss dword [rsp + 0x44], xmm6
test byte [rsp + 0x4c], 0x20
mov edi, 0xf0
mov r8d, 0x50
cmovne r8d, edi
lea rcx, [rbp - 0x40]
call fcn.140022ea0
mov r9d, eax
mov rcx, qword [r10 + 0x4158]
mov dword [rsp + 0x28], r8d
movss xmm0, dword [0x1401b9970]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx + 0x2e0]
call fcn.140056c40
mov r10, qword [0x1401ebdf0]
mov rax, qword [r10 + 0x4158]
mov byte [rax + 0xf5], 1
movss xmm0, dword [0x1401efe58]
movss dword [rbp - 0x40], xmm0
movss xmm1, dword [0x1401efe5c]
movss dword [rbp - 0x3c], xmm1
movss xmm0, dword [0x1401efe60]
movss dword [rbp - 0x38], xmm0
movss xmm1, dword [0x1401efe64]
mulss xmm1, dword [r10 + 0x3a00]
movss dword [rbp - 0x34], xmm1
movss dword [rsp + 0x40], xmm10
movss xmm9, dword [rbp - 0x4c]
movss dword [rsp + 0x44], xmm9
mov r8d, 0xa0
comiss xmm11, xmm8
cmovae r8d, edi
lea rcx, [rbp - 0x40]
call fcn.140022ea0
mov r9d, eax
mov rcx, qword [r10 + 0x4158]
mov dword [rsp + 0x28], r8d
movss xmm0, dword [0x1401b9970]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx + 0x2e0]
call fcn.140056c40
mov r8, qword [0x1401ebdf0]
mov rax, qword [r8 + 0x4158]
mov byte [rax + 0xf5], 1
movss xmm0, dword [0x1401effb8]
movss dword [rbp - 0x40], xmm0
movss xmm1, dword [0x1401effbc]
movss dword [rbp - 0x3c], xmm1
movss xmm0, dword [0x1401effc0]
movss dword [rbp - 0x38], xmm0
movss xmm1, dword [0x1401effc4]
mulss xmm1, dword [r8 + 0x3a00]
movss dword [rbp - 0x34], xmm1
movaps xmm0, xmm8
subss xmm0, xmm14
addss xmm0, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm6
lea rcx, [rbp - 0x40]
call fcn.140022ea0
mov r9d, eax
mov rcx, qword [r8 + 0x4158]
movss xmm0, dword [0x1401b98b0]
movss dword [rsp + 0x30], xmm0
xor edi, edi
mov dword [rsp + 0x28], edi
movss xmm1, dword [0x1401b9970]
movss dword [rsp + 0x20], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx + 0x2e0]
call fcn.140056b30
movss xmm0, dword [0x1401efec8]
movss dword [rbp - 0x40], xmm0
movss xmm1, dword [0x1401efecc]
movss dword [rbp - 0x3c], xmm1
movss xmm0, dword [0x1401efed0]
movss dword [rbp - 0x38], xmm0
movss xmm1, dword [0x1401efed4]
mov rax, qword [0x1401ebdf0]
mulss xmm1, dword [rax + 0x3a00]
movss dword [rbp - 0x34], xmm1
lea rcx, [rbp - 0x40]
call fcn.140022ea0
mov edx, eax
xor ecx, ecx
call fcn.140023600
mov qword [rsp + 0x40], rdi
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x54], xmm6
movss xmm11, dword [0x1401b99ac]
addss xmm7, xmm11
movss dword [rbp - 0x40], xmm7
movaps xmm0, xmm9
addss xmm0, dword [0x1401b9930]
movss dword [rbp - 0x3c], xmm0
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.140024470
mov r8, qword [0x1401ebdf0]
movsxd rax, dword [r8 + 0x4bb8]
cmp eax, 1
jl 0x1400748f8
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4bc0]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4bb8]
mov rax, qword [r8 + 0x4158]
mov byte [rax + 0xf5], 1
mov rax, qword [r8 + 0x4158]
mov rdi, qword [rax + 0x2e0]
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x3a00]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140022ea0
mov esi, eax
addss xmm10, dword [0x1401b9a00]
movss dword [rbp - 0x40], xmm10
movaps xmm6, xmm9
addss xmm6, dword [0x1401b99f4]
movss dword [rbp - 0x3c], xmm6
test eax, 0xff000000
je 0x1400749b1
mov dword [rsp + 0x28], 0x63
movss xmm0, dword [0x1401b99c4]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm13
movaps xmm2, xmm11
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140056080
mov r9d, esi
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400555e0
mov dword [rdi + 0x78], 0
mov r8, qword [0x1401ebdf0]
mov rax, qword [r8 + 0x4158]
mov byte [rax + 0xf5], 1
mov rax, qword [r8 + 0x4158]
mov rsi, qword [rax + 0x2e0]
mov qword [rsp + 0x50], 0
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x3a00]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140022ea0
mov edi, eax
movss dword [rbp - 0x40], xmm10
movss dword [rbp - 0x3c], xmm6
mov dword [rsp + 0x20], 0xb
xor r9d, r9d
movaps xmm2, xmm11
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140055fe0
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1401b9a64]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.140057810
mov dword [rsi + 0x78], 0
cmp byte [rsp + 0x49], 0
jne 0x140074ada
mov r10, qword [0x1401ebdf0]
mov rax, qword [r10 + 0x4158]
mov byte [rax + 0xf5], 1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r10 + 0x3a00]
movss dword [rsp + 0x64], xmm0
subss xmm12, xmm8
movss dword [rbp - 0x40], xmm12
addss xmm9, dword [0x1401b9930]
movss dword [rbp - 0x3c], xmm9
lea rcx, [rsp + 0x58]
call fcn.140022ea0
mov r8d, eax
mov rcx, qword [r10 + 0x4158]
mov r9, r13
lea rdx, [rbp - 0x40]
mov rcx, qword [rcx + 0x2e0]
call fcn.140057420
test r12b, r12b
je 0x140074afd
mov eax, dword [rsp + 0x68]
mov dword [r15 + 0x4b18], eax
mov r8d, dword [rsp + 0x4c]
lea rdx, [rbp - 0x50]
mov ecx, r14d
call fcn.140074b60
jmp 0x140074aff
xor al, al
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.140167de0
lea r11, [rsp + 0x170]
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 xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14006c700
int3