Function at 0x1400677a0
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x140103040]
xor rax, rsp
mov qword [rbp - 0x41], rax
mov eax, dword [rcx + 0x6c]
mov rbx, rcx
mov edi, dword [rcx + 4]
add eax, 0x1f
mov qword [r11 + 0x10], rsi
and edi, 0xe000
mov rsi, qword [0x140107220]
xor edx, edx
mov qword [r11 + 0x18], r12
mov qword [r11 + 0x20], r13
xor r13d, r13d
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
sar eax, 5
movsxd r8, eax
mov byte [rcx + 0x23f], 1
mov word [rcx + 0x202], r13w
mov rcx, qword [rcx + 0x50]
movaps xmmword [r11 - 0x88], xmm11
shl r8, 2
movaps xmmword [r11 - 0x98], xmm12
mov qword [rbp - 0x69], rsi
mov dword [rbp - 0x71], edi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbx + 0x6c]
xor edx, edx
mov rcx, qword [rbx + 0x48]
add eax, 0x1f
sar eax, 5
movsxd r8, eax
shl r8, 2
call sub.VCRUNTIME140.dll_memset
movss xmm12, dword [0x1400f34ec]
mov edx, 0xffffffff
mov ecx, dword [rbx + 0x6c]
movaps xmm0, xmm12
mov word [rbx + 0x21c], dx
xor r12b, r12b
mov dword [rbp - 0x79], r13d
mov r10d, r13d
mov dword [rbp - 0x7d], r13d
mov r11d, r13d
mov byte [rsp + 0x38], r10b
mov r14d, edx
xorps xmm11, xmm11
xorps xmm6, xmm6
xorps xmm4, xmm4
mov r15d, r13d
maxss xmm0, dword [rsi + 0x396c]
movss dword [rbx + 0xb8], xmm0
test ecx, ecx
jle 0x140067b11
nop
mov rax, qword [rbx + 0x28]
movsx rsi, word [rax + r13]
mov rdi, rsi
cmp esi, r15d
je 0x1400678c8
mov byte [rbx + 0x23f], 0
movsx eax, word [rbx + 0x206]
imul r9, rdi, 0x74
add r9, qword [rbx + 0x18]
cmp eax, edi
jg 0x140067908
mov rdx, r9
mov rcx, rbx
call fcn.1400676b0
mov r10d, dword [rbp - 0x7d]
mov edx, 0xffffffff
mov r11d, dword [rbp - 0x79]
mov word [r9 + 0x54], dx
mov dword [r9 + 0x34], 0
mov dword [r9 + 0x20], 0xbf800000
test byte [rbx + 4], 4
je 0x140067914
test byte [r9], 0x80
je 0x140067919
mov byte [r9 + 0x68], 1
movzx eax, byte [r9 + 0x68]
cmp byte [r9 + 0x67], al
je 0x14006792f
mov byte [r9 + 0x67], al
mov byte [rbx + 0x23e], 1
cmp byte [r9 + 0x67], 0
je 0x140067940
test byte [r9], 1
jne 0x140067940
mov al, 1
jmp 0x140067942
xor al, al
cmp word [r9 + 0x5e], 0xffff
mov byte [r9 + 0x66], al
je 0x140067959
test al, al
jne 0x140067959
mov byte [rbx + 0x239], 1
cmp word [r9 + 0x5e], 0
jle 0x140067971
test dword [rbx + 4], 0x4000000
jne 0x140067971
mov byte [rbx + 0x239], 1
test byte [r9], 0x10
je 0x14006797e
comiss xmm11, dword [r9 + 0x10]
jmp 0x140067983
comiss xmm11, dword [r9 + 0x1c]
seta al
test al, al
je 0x140067991
mov word [r9 + 0x6f], 0x707
cmp byte [r9 + 0x66], 0
jne 0x1400679a2
mov word [r9 + 0x58], dx
jmp 0x140067af4
mov word [r9 + 0x5a], r14w
mov word [r9 + 0x5c], dx
cmp r14d, 0xffffffff
je 0x1400679c4
movsxd rax, r14d
imul rcx, rax, 0x74
mov rax, qword [rbx + 0x18]
mov word [rcx + rax + 0x5c], si
jmp 0x1400679cb
mov word [rbx + 0x21c], si
movzx ecx, word [rbx + 0x202]
mov rdx, rdi
sar rdx, 5
mov r14d, edi
lea eax, [rcx + 1]
mov word [rbx + 0x202], ax
mov word [r9 + 0x58], cx
mov ecx, edi
mov r8, qword [rbx + 0x50]
and ecx, 0x1f
mov eax, dword [r8 + rdx*4]
bts eax, ecx
mov dword [r8 + rdx*4], eax
movsx rdx, word [r9 + 0x56]
mov r8, qword [rbx + 0x48]
mov rcx, rdx
sar rcx, 5
and edx, 0x1f
mov eax, dword [r8 + rcx*4]
bts eax, edx
mov dword [r8 + rcx*4], eax
cmp byte [r9 + 0x6d], 0
jne 0x140067a83
cmp word [rbx + 0x78], 0
jne 0x140067a83
movss xmm1, dword [r9 + 0x44]
maxss xmm1, dword [r9 + 0x48]
movss xmm2, dword [r9 + 0x38]
mov eax, dword [r9]
subss xmm1, xmm2
bt eax, 0xd
jb 0x140067a58
movss xmm0, dword [r9 + 0x50]
subss xmm0, xmm2
maxss xmm1, xmm0
test al, 0x10
je 0x140067a75
movss xmm0, dword [r9 + 0x20]
comiss xmm0, xmm11
jbe 0x140067a75
test byte [rbx + 4], 1
je 0x140067a72
test al, 0x20
je 0x140067a75
movaps xmm1, xmm0
maxss xmm1, dword [rbx + 0xb8]
movss dword [r9 + 0x14], xmm1
mov ecx, dword [r9]
mov r8d, 1
mov edx, dword [rsp + 0x38]
mov eax, ecx
shr eax, 5
not al
movzx edx, dl
and al, 1
cmovne edx, r8d
mov dword [rsp + 0x38], edx
test cl, 0x10
je 0x140067abf
movss xmm0, dword [r9 + 0x20]
comiss xmm0, xmm11
jbe 0x140067abf
test al, al
jne 0x140067abf
movss dword [r9 + 0x14], xmm0
cmp byte [r9 + 0x6f], 0
mov edx, 0xffffffff
movss xmm0, dword [r9 + 0x14]
movzx r12d, r12b
cmovne r12d, r8d
test cl, 8
je 0x140067ae9
inc r10d
addss xmm6, xmm0
mov dword [rbp - 0x7d], r10d
jmp 0x140067af4
inc r11d
maxss xmm4, xmm0
mov dword [rbp - 0x79], r11d
mov ecx, dword [rbx + 0x6c]
inc r15d
add r13, 2
cmp r15d, ecx
jl 0x1400678b0
mov edi, dword [rbp - 0x71]
xor r13d, r13d
mov rsi, qword [rbp - 0x69]
mov eax, dword [rbx + 4]
test al, 8
je 0x140067b2f
cmp word [rbx + 0x200], 0
jne 0x140067b2f
bt eax, 0x1b
jb 0x140067b2f
mov byte [rbx + 0x239], 1
mov word [rbx + 0x21e], r14w
test r12b, r12b
je 0x140067b5d
mov rax, qword [rbx + 0x188]
cmp qword [rbx + 0x180], rax
je 0x140067b56
mov byte [rax + 0xcf], 0
mov ecx, dword [rbx + 0x6c]
mov byte [rbx + 0x23e], 1
mov dword [rbx + 0x220], 0xffffffff
movaps xmm2, xmm11
movaps xmm5, xmm11
mov r9d, r13d
test ecx, ecx
jle 0x140067d1b
movss xmm3, dword [0x1400f3540]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x50]
mov edx, r9d
movsxd r8, r9d
and edx, 0x1f
mov rcx, r8
sar rcx, 5
mov ecx, dword [rax + rcx*4]
bt ecx, edx
jae 0x140067d0c
imul r8, r8, 0x74
add r8, qword [rbx + 0x18]
mov eax, dword [r8]
mov ecx, eax
shr ecx, 5
not cl
and cl, 1
test al, 0x10
je 0x140067c42
movss xmm1, dword [r8 + 0x14]
cmp edi, 0x4000
jne 0x140067be5
cmp byte [r8 + 0x6f], 0
jne 0x140067be2
test cl, cl
jne 0x140067be5
movaps xmm1, xmm4
movzx eax, byte [r8 + 0x6f]
test al, al
je 0x140067c27
movss dword [r8 + 0x10], xmm1
cmp al, 1
jbe 0x140067c37
cmp byte [rbx + 0x238], 0
je 0x140067c37
cmp byte [r8 + 0x6d], 0
jne 0x140067c37
movss xmm0, dword [rbx + 0xb8]
mulss xmm0, xmm3
maxss xmm1, xmm0
movss dword [r8 + 0x10], xmm1
addss xmm2, xmm1
jmp 0x140067cf7
test cl, cl
jne 0x140067c37
cmp byte [r8 + 0x6b], cl
je 0x140067c37
movss dword [r8 + 0x10], xmm1
addss xmm2, dword [r8 + 0x10]
jmp 0x140067cf7
cmp byte [r8 + 0x6f], 0
jne 0x140067c59
movss xmm1, dword [r8 + 0x1c]
comiss xmm11, xmm1
ja 0x140067c59
test cl, cl
jne 0x140067c9f
movss xmm1, dword [r8 + 0x20]
comiss xmm1, xmm11
jbe 0x140067c6d
movss dword [r8 + 0x1c], xmm1
jmp 0x140067c9f
cmp edi, 0x6000
jne 0x140067c93
movss xmm1, dword [r8 + 0x14]
divss xmm1, xmm6
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [r8 + 0x1c], xmm1
jmp 0x140067c9f
mov dword [r8 + 0x1c], 0x3f800000
movaps xmm1, xmm12
movsx rax, word [rbx + 0x220]
addss xmm5, xmm1
cmp ax, 0xffff
je 0x140067cc5
mov rcx, qword [rbx + 0x18]
imul rdx, rax, 0x74
movzx eax, word [r8 + 0x56]
cmp word [rdx + rcx + 0x56], ax
jle 0x140067ccd
mov word [rbx + 0x220], r9w
movsx rax, word [rbx + 0x222]
cmp ax, 0xffff
je 0x140067cef
mov rcx, qword [rbx + 0x18]
imul rdx, rax, 0x74
movzx eax, word [r8 + 0x56]
cmp word [rdx + rcx + 0x56], ax
jge 0x140067cf7
mov word [rbx + 0x222], r9w
mov byte [r8 + 0x6d], 0
movss xmm0, dword [rbx + 0xc0]
addss xmm0, xmm0
addss xmm2, xmm0
mov ecx, dword [rbx + 0x6c]
inc r9d
cmp r9d, ecx
jl 0x140067b90
cmp byte [rbx + 0x247], 0
movsx edx, word [rbx + 0x202]
movss xmm3, dword [rbx + 0xc8]
addss xmm3, dword [rbx + 0xc4]
movss xmm1, dword [rbx + 0xbc]
movups xmm6, xmmword [rbx + 0x110]
lea eax, [rdx - 1]
mov word [rbx + 0x204], r11w
addss xmm1, xmm1
movss dword [rbx + 0xd8], xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movups xmmword [rbp - 0x61], xmm6
mulss xmm3, xmm0
addss xmm3, xmm1
je 0x140067d8e
mov rax, qword [rbx + 0x188]
cmp byte [rax + 0xc9], 0
jne 0x140067d8e
movss xmm1, dword [rsi + 0x39a4]
jmp 0x140067d92
movaps xmm1, xmm11
mov eax, dword [rbx + 4]
bt eax, 0x18
jae 0x140067dbd
movss xmm0, dword [rbx + 0xcc]
ucomiss xmm0, xmm11
jp 0x140067dbd
jne 0x140067dbd
movss xmm0, dword [rbx + 0x128]
subss xmm0, dword [rbx + 0x120]
jmp 0x140067dc8
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
subss xmm0, xmm6
subss xmm0, xmm1
movss xmm1, dword [rbx + 0xc0]
addss xmm1, xmm1
movaps xmm4, xmm12
mov r11d, r13d
mov edi, 1
maxss xmm4, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm4, xmm3
mulss xmm1, xmm0
addss xmm1, xmm3
subss xmm4, xmm2
movss dword [rbx + 0xd0], xmm1
movaps xmm2, xmm4
test ecx, ecx
jle 0x140067ed9
movss xmm3, dword [0x1400f3458]
mov r8d, edi
mov rdx, r13
mov rax, qword [rbx + 0x50]
movsxd rcx, r11d
sar rcx, 5
test dword [rax + rcx*4], r8d
je 0x140067ec0
mov rcx, qword [rbx + 0x18]
mov r9d, dword [rdx + rcx]
lea r10, [rdx + rcx]
test r9b, 8
je 0x140067e76
movss xmm0, dword [rdx + rcx + 0x1c]
divss xmm0, xmm5
mulss xmm0, xmm4
maxss xmm0, dword [rbx + 0xb8]
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x10], xmm0
subss xmm2, xmm0
cmp word [rdx + rcx + 0x5c], 0xffff
jne 0x140067e91
cmp word [rbx + 0x220], 0xffff
je 0x140067e91
bts r9d, 0x1e
mov dword [rdx + rcx], r9d
movss xmm0, dword [r10 + 0x10]
maxss xmm0, dword [rbx + 0xb8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rdx + rcx + 4], xmm1
addss xmm1, dword [rbx + 0xd0]
movss dword [rbx + 0xd0], xmm1
mov ecx, dword [rbx + 0x6c]
inc r11d
rol r8d, 1
add rdx, 0x74
cmp r11d, ecx
jl 0x140067e20
mov eax, dword [rbx + 4]
comiss xmm2, xmm12
jb 0x140067f6e
bt eax, 0x13
jb 0x140067f6e
comiss xmm5, xmm11
lea r8d, [rcx - 1]
jbe 0x140067f6e
movss xmm3, dword [0x1400f3630]
mov ecx, r8d
movsxd rax, r8d
mov edx, edi
rol edx, cl
lea r9, [rax + rax]
nop dword [rax]
comiss xmm2, xmm12
jb 0x140067f6e
test r8d, r8d
js 0x140067f6e
mov rax, qword [rbx + 0x48]
movsxd rcx, r8d
sar rcx, 5
test dword [rax + rcx*4], edx
je 0x140067f63
mov rax, qword [rbx + 0x28]
movsx rcx, word [rax + r9]
imul rax, rcx, 0x74
add rax, qword [rbx + 0x18]
test byte [rax], 8
je 0x140067f63
movss xmm0, dword [rax + 0x10]
addss xmm2, xmm3
movss xmm1, dword [rax + 4]
addss xmm0, xmm12
addss xmm1, xmm12
movss dword [rax + 0x10], xmm0
movss dword [rax + 4], xmm1
dec r8d
ror edx, 1
sub r9, 2
jmp 0x140067f10
movsx eax, word [rbx + 0x78]
test eax, eax
jne 0x140067f7f
lea rcx, [rbx + 0x1a8]
jmp 0x140067f93
dec eax
movsxd rcx, eax
mov rax, qword [rbx + 0x1c8]
lea rdx, [rcx + rcx*2]
lea rcx, [rax + rdx*8]
mov eax, dword [rcx + 0x14]
mov dword [rcx + 0x10], eax
mov eax, 0xffffffff
mov dword [rcx + 0x14], eax
movss xmm2, dword [rbx + 0xf4]
movss xmm0, dword [rbx + 0xf0]
movss xmm1, dword [rbx + 0xf8]
mov dword [rbx + 0x20a], 0xffffffff
mov r11d, dword [rsi + 0x411c]
movss dword [rbp - 0x51], xmm0
movss xmm0, dword [rbx + 0xfc]
movss dword [rbp - 0x4d], xmm2
addss xmm2, dword [rcx + 4]
mov dword [rsi + 0x411c], r13d
mov r10, qword [rsi + 0x40a8]
movss dword [rbp - 0x49], xmm1
mov qword [rbp - 0x79], rcx
maxss xmm0, xmm2
movss dword [rbp - 0x45], xmm0
cmp qword [rsi + 0x40b0], r10
je 0x140068012
xor r13b, r13b
jmp 0x1400680b8
mov r8b, 1
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x51]
call fcn.140044c20
test al, al
jne 0x14006802e
xor r13b, r13b
jmp 0x1400680b8
cmp dword [rsi + 0x4104], 0
je 0x140068045
cmp byte [rsi + 0x4118], 0
jne 0x140068045
xor r13b, r13b
jmp 0x1400680b8
mov rcx, qword [rsi + 0x4be0]
test rcx, rcx
je 0x1400680ad
mov rcx, qword [rcx + 0x390]
test rcx, rcx
je 0x1400680ad
cmp byte [rcx + 0xcb], 0
je 0x1400680ad
mov rax, qword [r10 + 0x390]
cmp rcx, rax
je 0x1400680ad
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x140068081
bt edx, 0x1a
jae 0x1400680ad
cmp qword [rax + 0x390], rcx
je 0x1400680ad
nop word [rax + rax]
cmp rax, rcx
je 0x1400680ad
mov rax, qword [rax + 0x388]
test rax, rax
jne 0x140068090
mov byte [rsi + 0x4119], r8b
xor r13b, r13b
jmp 0x1400680b8
cmp byte [rsi + 0x4c3b], 0
sete r13b
movss xmm8, dword [rsi + 0xe0]
mov dword [rsi + 0x411c], r11d
movss xmm0, dword [rbx + 0xe8]
comiss xmm0, xmm11
jbe 0x140068110
movss xmm1, dword [rsi + 0xe4]
movss xmm2, dword [rbx + 0xf4]
comiss xmm1, xmm2
jb 0x140068110
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x140068110
subss xmm0, xmm1
mulss xmm0, dword [rbx + 0xec]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm8, xmm0
movzx eax, word [rbx + 0x22c]
xor r15d, r15d
xor r12b, r12b
test ax, ax
setg byte [rsp + 0x20]
test ax, ax
jle 0x140068134
movss xmm7, dword [rbx + 0xf0]
jmp 0x140068137
movaps xmm7, xmm6
mov eax, dword [rbx + 0x6c]
xor edx, edx
addss xmm7, dword [rbx + 0xbc]
movups xmm0, xmmword [rbx + 0x120]
mov rcx, qword [rbx + 0x58]
add eax, 0x1f
sar eax, 5
movsxd r8, eax
subss xmm7, dword [rbx + 0xc4]
shl r8, 2
movups xmmword [rsp + 0x28], xmm0
call sub.VCRUNTIME140.dll_memset
xor r14d, r14d
cmp dword [rbx + 0x6c], r14d
jle 0x1400686be
movaps xmmword [rsp + 0xb0], xmm9
xor ecx, ecx
movss xmm9, dword [0x1400f360c]
mov esi, edi
movaps xmmword [rsp + 0xa0], xmm10
movss xmm10, dword [0x1400f34b8]
mov qword [rbp - 0x71], rcx
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
mov r9, qword [rbx + 0x18]
movsx rdi, word [rcx + rax]
imul r8, rdi, 0x74
cmp word [rbx + 0x228], 0
mov r11, rdi
setg al
cmp byte [rsp + 0x20], 0
mov byte [r8 + r9 + 0x6e], al
je 0x1400681f8
movsx eax, word [rbx + 0x22c]
cmp eax, r15d
jne 0x1400681f8
subss xmm6, dword [rbx + 0xf0]
mov byte [rsp + 0x20], 0
addss xmm7, xmm6
and dword [r8 + r9], 0xf0ffffff
mov rcx, qword [rbx + 0x48]
movsxd rax, r14d
sar rax, 5
mov edx, dword [rcx + rax*4]
movss dword [r8 + r9 + 8], xmm7
test esi, edx
jne 0x1400682ee
movss xmm0, dword [rbp - 0x5d]
movss xmm1, dword [rsp + 0x2c]
comiss xmm1, xmm0
mov dword [r8 + r9 + 4], 0
mov dword [r8 + r9 + 0x30], 0x7f7fffff
movss xmm5, dword [rsp + 0x34]
movss dword [r8 + r9 + 0x2c], xmm7
movss dword [r8 + r9 + 0x24], xmm7
movss dword [r8 + r9 + 0x38], xmm7
movss dword [r8 + r9 + 0xc], xmm7
movss dword [r8 + r9 + 0x28], xmm0
jbe 0x14006826d
movaps xmm3, xmm1
jmp 0x140068274
movaps xmm3, xmm5
minss xmm3, xmm0
movss xmm0, dword [rsp + 0x28]
comiss xmm0, xmm7
movss xmm4, dword [rsp + 0x30]
jbe 0x14006828a
movaps xmm2, xmm0
jmp 0x140068291
movaps xmm2, xmm4
minss xmm2, xmm7
movss dword [r8 + r9 + 0x24], xmm2
movss dword [r8 + r9 + 0x28], xmm3
movss xmm2, dword [r8 + r9 + 0x30]
comiss xmm1, xmm2
ja 0x1400682b2
movaps xmm1, xmm5
minss xmm1, xmm2
comiss xmm0, xmm7
ja 0x1400682be
movaps xmm0, xmm4
minss xmm0, xmm7
movss dword [r8 + r9 + 0x2c], xmm0
movss dword [r8 + r9 + 0x30], xmm1
mov word [r8 + r9 + 0x6a], 0
mov byte [r8 + r9 + 0x69], 0
mov byte [r8 + r9 + 0x6c], 1
mov dword [r8 + r9 + 0x40], 0x3f800000
jmp 0x140068686
movss xmm4, dword [rbx + 0xc0]
movaps xmm1, xmm9
movss xmm5, dword [rbx + 0xc8]
movaps xmm3, xmm4
mov eax, dword [rbx + 4]
addss xmm3, xmm4
mov rdx, qword [rbx + 0x18]
movaps xmm2, xmm3
addss xmm2, dword [rbx + 0xb8]
addss xmm2, dword [rbx + 0xc4]
addss xmm2, xmm5
bt eax, 0x18
jae 0x140068371
movsx eax, word [r8 + rdx + 0x56]
movsx ecx, word [rbx + 0x22a]
cmp ax, cx
jge 0x1400683b6
movss xmm1, dword [rbx + 0x128]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [r8 + rdx + 8]
subss xmm1, dword [rbx + 0xbc]
subss xmm1, xmm4
subss xmm1, xmm5
jmp 0x1400683b6
bt eax, 0x12
jb 0x1400683b6
movsx eax, word [r8 + rdx + 0x58]
movsx ecx, word [rbx + 0x202]
movss xmm1, dword [rbx + 0x118]
sub ecx, eax
dec ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [r8 + rdx + 8]
subss xmm1, xmm5
subss xmm1, xmm3
subss xmm1, dword [rbx + 0xbc]
movss xmm3, dword [r8 + r9 + 4]
movss xmm0, dword [r8 + r9 + 0x10]
minss xmm3, xmm1
movss xmm6, dword [r8 + r9 + 0x38]
movss dword [r8 + r9 + 0x18], xmm1
movss dword [r8 + r9 + 4], xmm3
minss xmm0, dword [rbx + 0xb8]
maxss xmm3, xmm0
movss dword [r8 + r9 + 4], xmm3
movaps xmm2, xmm3
movss xmm0, dword [rbx + 0xc0]
addss xmm2, xmm7
addss xmm0, xmm0
mulss xmm3, xmm10
addss xmm2, dword [rbx + 0xc4]
cvttss2si eax, xmm3
addss xmm2, dword [rbx + 0xc8]
movss xmm3, dword [rsp + 0x34]
addss xmm2, xmm0
movaps xmm0, xmm7
movss dword [r8 + r9 + 0xc], xmm2
movaps xmm1, xmm2
addss xmm0, dword [rbx + 0xc0]
addss xmm0, dword [rbx + 0xc4]
movss dword [r8 + r9 + 0x38], xmm0
subss xmm1, dword [rbx + 0xc0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [rbx + 0xc8]
movss dword [r8 + r9 + 0x40], xmm0
movss xmm0, dword [rbp - 0x5d]
movss dword [r8 + r9 + 0x2c], xmm2
movss xmm2, dword [rsp + 0x2c]
comiss xmm2, xmm0
mov dword [r8 + r9 + 0x30], 0x7f7fffff
movss dword [r8 + r9 + 0x3c], xmm1
movss dword [r8 + r9 + 0x24], xmm7
movss dword [r8 + r9 + 0x28], xmm0
jbe 0x1400684a2
movaps xmm1, xmm2
jmp 0x1400684a9
movaps xmm1, xmm3
minss xmm1, xmm0
movss xmm4, dword [rsp + 0x28]
comiss xmm4, xmm7
movss xmm5, dword [rsp + 0x30]
jbe 0x1400684bf
movaps xmm0, xmm4
jmp 0x1400684c6
movaps xmm0, xmm5
minss xmm0, xmm7
movss dword [r8 + r9 + 0x24], xmm0
movss dword [r8 + r9 + 0x28], xmm1
movss xmm0, dword [r8 + r9 + 0x30]
comiss xmm2, xmm0
ja 0x1400684e7
movaps xmm2, xmm3
minss xmm2, xmm0
movss xmm1, dword [r8 + r9 + 0x2c]
comiss xmm4, xmm1
jbe 0x1400684f8
movaps xmm0, xmm4
jmp 0x1400684ff
movaps xmm0, xmm5
minss xmm0, xmm1
movss dword [r8 + r9 + 0x2c], xmm0
movss dword [r8 + r9 + 0x30], xmm2
comiss xmm0, dword [r8 + r9 + 0x24]
mov byte [r8 + r9 + 0x6a], 1
seta r10b
mov byte [r8 + r9 + 0x69], r10b
test r10b, r10b
je 0x14006855c
mov rdx, qword [rbx + 0x58]
mov rcx, r11
sar rcx, 5
and r11d, 0x1f
mov eax, dword [rdx + rcx*4]
bts eax, r11d
mov dword [rdx + rcx*4], eax
mov cl, 1
cmp byte [r8 + r9 + 0x66], 0
mov byte [r8 + r9 + 0x6b], cl
je 0x140068570
cmp byte [rbx + 0x249], 0
jne 0x140068570
xor al, al
jmp 0x140068572
cmp byte [r8 + r9 + 0x6f], 0
jne 0x140068540
cmp byte [r8 + r9 + 0x70], 0
jne 0x140068540
xor cl, cl
jmp 0x140068542
mov al, 1
mov byte [r8 + r9 + 0x6c], al
test cl, cl
je 0x14006858a
test al, al
movzx r12d, r12b
mov eax, 1
cmove r12d, eax
mov eax, dword [r8 + r9]
bts eax, 0x18
mov dword [r8 + r9], eax
test r10b, r10b
je 0x1400685a3
bts eax, 0x19
mov dword [r8 + r9], eax
cmp word [r8 + r9 + 0x5e], 0xffff
je 0x1400685b4
bts eax, 0x1a
mov dword [r8 + r9], eax
test r13b, r13b
je 0x1400685dd
comiss xmm8, dword [r8 + r9 + 0x24]
jb 0x1400685dd
movss xmm0, dword [r8 + r9 + 0x2c]
comiss xmm0, xmm8
jbe 0x1400685dd
bts eax, 0x1b
mov dword [r8 + r9], eax
mov word [rbx + 0x20a], di
cmp word [rbx + 0x78], 0
movss xmm2, dword [r8 + r9 + 0x38]
shufps xmm2, xmm2, 0
jne 0x1400685f7
movups xmmword [r8 + r9 + 0x44], xmm2
jmp 0x14006860e
movups xmm0, xmmword [r8 + r9 + 0x44]
subss xmm2, xmm6
shufps xmm2, xmm2, 0
addps xmm0, xmm2
movups xmmword [r8 + r9 + 0x44], xmm0
cmp byte [rbx + 0x249], 0
jne 0x140068628
cmp word [rbx + 0x78], 0
jne 0x140068628
shr byte [r8 + r9 + 0x6f], 1
shr byte [r8 + r9 + 0x70], 1
movsx eax, word [rbx + 0x22c]
cmp r15d, eax
jge 0x140068658
movss xmm0, dword [r8 + r9 + 0xc]
addss xmm0, xmm12
comiss xmm4, xmm0
ja 0x140068658
comiss xmm0, xmm5
jbe 0x140068652
movss dword [rsp + 0x28], xmm5
jmp 0x140068658
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [r8 + r9 + 4]
inc r15d
addss xmm1, dword [rbx + 0xc4]
movss xmm0, dword [rbx + 0xc0]
addss xmm0, xmm0
addss xmm1, dword [rbx + 0xc8]
addss xmm1, xmm0
addss xmm7, xmm1
mov rcx, qword [rbp - 0x71]
inc r14d
add rcx, 2
rol esi, 1
mov qword [rbp - 0x71], rcx
cmp r14d, dword [rbx + 0x6c]
jge 0x1400686a7
movss xmm6, dword [rbp - 0x61]
jmp 0x1400681b0
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
test r12b, r12b
jne 0x1400686e8
movsx rax, word [rbx + 0x21c]
imul rcx, rax, 0x74
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 0x6b], 1
movsx rax, word [rbx + 0x21c]
imul rcx, rax, 0x74
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 0x6c], 0
movsx rax, word [rbx + 0x21e]
movss xmm1, dword [rbx + 0x110]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x130]
imul rcx, rax, 0x74
mov rax, qword [rbx + 0x18]
test r13b, r13b
mov r13, qword [rsp + 0x138]
maxss xmm1, dword [rcx + rax + 0x2c]
je 0x140068757
cmp word [rbx + 0x20a], 0xffff
jne 0x140068757
comiss xmm8, xmm1
jb 0x140068757
movzx eax, word [rbx + 0x6c]
mov word [rbx + 0x20a], ax
cmp byte [rsp + 0x38], 0
movaps xmm8, xmmword [rsp + 0xc0]
jne 0x140068774
mov eax, dword [rbx + 4]
test al, 1
je 0x140068774
and eax, 0xfffffffe
mov dword [rbx + 4], eax
mov rdi, qword [rbp - 0x69]
cmp dword [rdi + 0x4120], 0
setne al
cmp word [rbx + 0x222], 0xffff
mov byte [rbx + 0x244], al
je 0x140068799
and dword [rbx + 4], 0xfffeffff
test dword [rbx + 4], 0x10000
je 0x1400687c6
movss xmm0, dword [rbx + 0x128]
minss xmm0, xmm1
movss dword [rbx + 0x118], xmm1
movss dword [rbx + 0xf8], xmm1
movss dword [rbx + 0x128], xmm0
mov rax, qword [rbx + 0x188]
movups xmm0, xmmword [rbx + 0x110]
movups xmmword [rax + 0x240], xmm0
mov eax, dword [rbx + 0x120]
mov dword [rbx + 0xac], eax
mov eax, dword [rbx + 0x128]
mov dword [rbx + 0xb0], eax
mov eax, dword [rbx + 4]
bt eax, 0x11
jae 0x140068806
movss xmm1, dword [rbx + 0xfc]
jmp 0x140068829
bt eax, 0x19
jb 0x140068815
movss xmm11, dword [rbx + 0xfc]
mov rax, qword [rbx + 0x188]
movss xmm1, dword [rax + 0x26c]
maxss xmm1, xmm11
mov rax, qword [rbx + 0x188]
subss xmm1, dword [rdi + 0x3990]
movaps xmm11, xmmword [rsp + 0x90]
movss xmm0, dword [rax + 0x234]
comiss xmm0, xmm1
ja 0x14006885a
movss xmm0, dword [rax + 0x23c]
minss xmm0, xmm1
mov rcx, rbx
movss dword [rax + 0x23c], xmm0
call fcn.14006a400
test byte [rbx + 4], 1
je 0x140068878
mov rcx, rbx
call fcn.140068b70
mov rsi, qword [rbp - 0x79]
xor r14d, r14d
mov dword [rsi + 8], r14d
mov byte [rbx + 0x236], 1
mov byte [rbx + 0x23a], r14b
mov word [rbx + 0x20e], 0xffff
cmp byte [rbx + 0x23b], r14b
je 0x1400688ba
movzx ecx, word [rbx + 0x224]
cmp cx, 0xffff
je 0x1400688ba
movzx eax, word [rbx + 0x78]
cmp word [rbx + 0x7a], ax
je 0x1400688fa
test dword [rbx + 4], 0x10000000
je 0x140068901
movsx ecx, word [rbx + 0x20a]
cmp cx, 0xffff
je 0x140068901
cmp ecx, dword [rbx + 0x6c]
je 0x140068901
cmp word [rbx + 0x20c], 0xffff
jne 0x140068901
cmp dword [rdi + 0x411c], r14d
je 0x1400688fa
cmp byte [rbx + 0x245], r14b
jne 0x1400688fa
cmp byte [rdi + 0x4dfc], r14b
je 0x140068901
mov word [rbx + 0x20e], cx
cmp byte [rbx + 0x23c], r14b
jne 0x1400689eb
cmp byte [rbx + 0x23b], r14b
je 0x1400689eb
movzx eax, word [rbx + 0x7a]
cmp word [rbx + 0x78], ax
jne 0x1400689eb
mov r10d, dword [rbx]
lea r8, [0x1400f2c39]
not r10d
lea r11, [0x1400ebc80]
mov edx, r10d
mov r9b, 0x23
cmp r9b, 0x23
jne 0x140068956
cmp byte [r8], r9b
jne 0x140068956
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x140068943
not edx
mov ecx, edx
call fcn.140049730
test al, al
je 0x1400689e4
mov edx, dword [rbx + 4]
mov rcx, rbx
call fcn.14006ba10
mov rdi, qword [0x140107220]
mov rcx, qword [rdi + 0x40a8]
cmp qword [rdi + 0x4be0], rcx
jne 0x1400689c6
cmp byte [rdi + 0x4c79], r14b
je 0x1400689c6
cmp dword [rdi + 0x4bf0], r14d
jne 0x1400689c6
mov eax, dword [rdi + 0x4c7c]
and eax, 0xfffffff2
or eax, 2
mov dword [rdi + 0x4c7c], eax
test dword [rcx + 0x14], 0x1000000
je 0x1400689d6
mov byte [rdi + 0x3ffe], 1
call fcn.1400427b0
mov byte [rdi + 0x3ffe], r14b
jmp 0x1400689eb
mov byte [rbx + 0x23b], r14b
cmp byte [rbx + 0x239], r14b
je 0x140068a02
test byte [rbx + 4], 8
je 0x140068a02
mov rcx, rbx
call fcn.14006b740
movsx rax, word [rbx + 0x22a]
test ax, ax
jle 0x140068a41
mov rcx, rax
mov rax, qword [rbx + 0x28]
movsx rcx, word [rax + rcx*2 - 2]
mov rax, qword [rbx + 0x18]
imul rdx, rcx, 0x74
movss xmm0, dword [rdx + rax + 0xc]
subss xmm0, dword [rbx + 0xf0]
mov rax, qword [rbx + 0x188]
movss dword [rax + 0x80], xmm0
cmp word [rbx + 0x226], r14w
jle 0x140068a5b
mov rdx, qword [rbx + 0x188]
mov eax, dword [rsi + 0xc]
mov dword [rdx + 0x84], eax
mov dword [rsi + 0xc], r14d
test dword [rbx + 4], 0x100000
mov rax, qword [rbx + 0x188]
mov r14, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x128]
mov rdi, qword [rax + 0x2b0]
je 0x140068aa0
mov rcx, qword [rbx + 0x1a0]
mov r8d, 2
mov rdx, rdi
call fcn.14005e4f0
jmp 0x140068b4a
movss xmm2, dword [rax + 0x220]
movss xmm0, dword [rax + 0x228]
comiss xmm2, xmm0
movss xmm1, dword [rax + 0x224]
movss xmm3, dword [rax + 0x22c]
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm3
jb 0x140068ae3
movss dword [rsp + 0x30], xmm2
comiss xmm1, xmm3
jb 0x140068aee
movss dword [rsp + 0x34], xmm1
lea rbx, [rdi + 0x98]
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x140068b29
inc r8d
test ecx, ecx
je 0x140068b12
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140068b17
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.140051e10
movsxd rdx, dword [rbx]
mov rcx, rdi
mov rax, qword [rbx + 8]
add rdx, rdx
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rax + rdx*8], xmm0
inc dword [rbx]
movups xmmword [rdi + 0x60], xmm0
call fcn.14005abc0
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.14008a5e0
add rsp, 0x100
pop rdi
pop rbx
pop rbp
ret