Function at 0x1801a8db0
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov rax, qword [0x180717100]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rsi, qword [0x180722dc8]
mov edi, r8d
mov r15, rdx
mov qword [rbp - 0x68], rdx
mov r14, rcx
mov qword [rbp - 0x80], rcx
mov rax, qword [rsi + 0x3f08]
mov byte [rax + 0xb8], 1
mov rbx, qword [rsi + 0x3f08]
mov qword [rsp + 0x60], rbx
cmp byte [rbx + 0xbb], 0
je 0x1801a8e18
xor al, al
jmp 0x1801a9bcb
mov qword [rsp + 0x218], r12
mov qword [rsp + 0x1c0], r13
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x170], xmm10
movaps xmmword [rsp + 0x160], xmm11
movaps xmmword [rsp + 0x150], xmm12
movaps xmmword [rsp + 0x140], xmm13
movss xmm13, dword [rsi + 0x3808]
addss xmm13, xmm13
movaps xmmword [rsp + 0x130], xmm14
movaps xmmword [rsp + 0x120], xmm15
addss xmm13, dword [rsi + 0x3c30]
call fcn.180180000
movss dword [rsp + 0x50], xmm0
movaps xmm8, xmm0
xorps xmm9, xmm9
test dil, 0x10
je 0x1801a8eb6
xorps xmm12, xmm12
jmp 0x1801a8ec3
movaps xmm12, xmm13
addss xmm12, dword [rsi + 0x381c]
mov qword [rbp - 0x78], r14
movaps xmm10, xmm0
subss xmm10, xmm12
mov r13, r14
cmp r14, 0xffffffffffffffff
jae 0x1801a8f03
nop dword [rax]
movzx ecx, byte [r13]
test cl, cl
je 0x1801a8eff
lea rax, [r13 + 1]
cmp cl, 0x23
jne 0x1801a8ef6
cmp byte [rax], cl
je 0x1801a8eff
mov r13, rax
cmp rax, 0xffffffffffffffff
jb 0x1801a8ee0
mov qword [rbp - 0x78], r13
xor eax, eax
mov qword [rsi + 0x4790], rax
call fcn.1801801a0
mov rcx, r14
call fcn.18017d1e0
mov eax, dword [rsi + 0x5b70]
mov dword [rbp - 0x5c], eax
test eax, eax
jne 0x1801a8f3e
movsxd rcx, dword [rbx + 0xf0]
mov rax, qword [rbx + 0xf8]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [rsi + 0x5b70], ecx
mov dword [rbp - 0x60], edi
test dil, 0x20
je 0x1801a8f53
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x1801a8f63
mov edx, edi
mov rcx, r15
call fcn.1801acab0
test edi, 0x700000
jne 0x1801a8f78
mov eax, dword [rsi + 0x5b6c]
and eax, 0x700000
or edi, eax
test edi, 0x1800000
jne 0x1801a8f8d
mov eax, dword [rsi + 0x5b6c]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x1801a8fa2
mov eax, dword [rsi + 0x5b6c]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x1801a8fb7
mov eax, dword [rsi + 0x5b6c]
and eax, 0x18000000
or edi, eax
mov eax, dword [rsi + 0x5b6c]
movss xmm3, dword [r15]
and eax, 0xe00fffff
movss xmm1, dword [r15 + 4]
or edi, eax
movss xmm2, dword [r15 + 8]
mov eax, edi
movss xmm11, dword [0x1803394cc]
shr eax, 1
not al
movss dword [rbp - 0x58], xmm3
and al, 1
movss dword [rbp - 0x54], xmm1
movzx r14d, al
mov eax, edi
shr eax, 0x13
and al, 1
movss dword [rbp - 0x50], xmm2
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
lea ecx, [r14 + 3]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], ecx
test r14b, r14b
je 0x1801a9022
movss xmm0, dword [r15 + 0xc]
jmp 0x1801a9026
movaps xmm0, xmm11
mov eax, edi
movss dword [rbp - 0x4c], xmm0
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1801a9059
lea rax, [rbp - 0x50]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x58]
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
call fcn.1801712a0
jmp 0x1801a9099
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1801a90b1
lea rax, [rbp - 0x50]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x58]
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
call fcn.1801711f0
lea r9, [rbp - 0x50]
mov rcx, r15
lea r8, [rbp - 0x54]
lea rdx, [rbp - 0x58]
call fcn.1801a8d00
mov ecx, dword [rsp + 0x44]
movss xmm3, dword [rbp - 0x58]
movss xmm1, dword [rbp - 0x54]
movss xmm2, dword [rbp - 0x50]
movss xmm0, dword [rbp - 0x4c]
comiss xmm3, xmm9
movss xmm5, dword [0x180339740]
movss xmm4, dword [0x180339460]
jb 0x1801a90cc
movaps xmm7, xmm4
jmp 0x1801a90cf
movaps xmm7, xmm5
comiss xmm1, xmm9
movss xmm6, dword [0x180339694]
mulss xmm3, xmm6
addss xmm3, xmm7
cvttss2si eax, xmm3
mov dword [rbp - 0x48], eax
jb 0x1801a90f1
movaps xmm3, xmm4
jmp 0x1801a90f4
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm6
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x1801a910e
movaps xmm1, xmm4
jmp 0x1801a9111
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm6
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x1801a9129
movaps xmm4, xmm5
xor r12b, r12b
mulss xmm0, xmm6
cmp dword [rsi + 0x385c], 0
mov byte [rsp + 0x41], r12b
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rbp - 0x3c], eax
movss xmm15, dword [rbx + 0x100]
movss xmm14, dword [rbx + 0x104]
jne 0x1801a9161
movaps xmm0, xmm12
jmp 0x1801a9165
movaps xmm0, xmm9
addss xmm0, xmm15
movss dword [rbx + 0x100], xmm0
test edi, 0x300000
je 0x1801a94c2
test dil, 0x20
jne 0x1801a94c2
movss xmm2, dword [rsi + 0x381c]
lea eax, [rcx - 1]
movd xmm3, eax
lea rdx, [rsp + 0x68]
movaps xmm0, xmm2
movaps xmm1, xmm10
cvtdq2ps xmm3, xmm3
mov r14d, edi
and r14d, 0x1000000
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea rcx, str.M:0.000
divss xmm1, xmm0
movaps xmm0, xmm10
cvttss2si eax, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
maxss xmm7, xmm11
addss xmm2, xmm7
mulss xmm2, xmm3
movss xmm3, dword [0x18033970c]
subss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [0x180339758]
movd xmm8, eax
lea rax, str.M:000
cmovne rax, rcx
mov rcx, qword [0x180722dc8]
cvtdq2ps xmm8, xmm8
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
movss xmm2, dword [rcx + 0x3c30]
mov rcx, qword [rcx + 0x3c28]
maxss xmm8, xmm11
movss dword [rsp + 0x20], xmm0
call fcn.1801997b0
movss xmm0, dword [rsp + 0x68]
addss xmm0, dword [0x1803394c4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
ja 0x1801a9269
mov qword [rsp + 0x58], rbx
jmp 0x1801a927b
bt edi, 0x15
mov rax, rbx
setb al
inc rax
mov qword [rsp + 0x58], rax
mov r8d, dword [rsp + 0x44]
test r8d, r8d
je 0x1801a9399
test r14d, r14d
je 0x1801a93d8
mov r15, qword [rsp + 0x58]
lea r12, [0x180328cf0]
movss xmm6, dword [0x1803393b8]
lea r14, [rbp - 0x58]
mov r13d, dword [rsp + 0x48]
mov eax, edi
and eax, 8
shl r15, 5
sub r15, r12
mov dword [rsp + 0x68], eax
lea rax, str._0.3f
add r15, rax
xor dil, dil
nop dword [rax]
test ebx, ebx
je 0x1801a92e1
movss xmm1, dword [rsi + 0x381c]
call fcn.18017fd10
lea eax, [rbx + 1]
mov ebx, eax
cmp eax, r8d
jge 0x1801a92f0
movaps xmm0, xmm7
jmp 0x1801a92f4
movaps xmm0, xmm8
mov rax, qword [0x180722dc8]
or dword [rax + 0x4790], 1
movss dword [rax + 0x4798], xmm0
mov rax, qword [r12 + r15]
test r13b, r13b
je 0x1801a9319
movaps xmm0, xmm9
jmp 0x1801a931d
movaps xmm0, xmm11
mov rcx, qword [r12]
movaps xmm3, xmm6
mov qword [rsp + 0x30], rax
mov r8, r14
lea rax, [rsp + 0x48]
movss dword [rsp + 0x48], xmm0
mov qword [rsp + 0x28], rax
mov edx, 8
lea rax, [rsp + 0x58]
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x20], rax
call fcn.1801a1830
or dil, al
or byte [rsp + 0x41], dil
cmp dword [rsp + 0x68], 0
jne 0x1801a936c
call fcn.180181620
mov r8d, dword [rsp + 0x44]
add r14, 4
add r12, 8
cmp ebx, r8d
jl 0x1801a92d0
mov byte [rsp + 0x40], dil
mov edi, dword [rsp + 0x78]
mov r15, qword [rbp - 0x68]
mov r13, qword [rbp - 0x78]
movzx r12d, byte [rsp + 0x40]
movss xmm8, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov r14d, eax
test dil, 0x10
jne 0x1801a9782
test dil, 0x20
jne 0x1801a967c
cmp dword [rsi + 0x385c], eax
je 0x1801a967c
addss xmm10, dword [rsi + 0x381c]
jmp 0x1801a9680
test r8d, r8d
je 0x1801a9399
xor eax, eax
lea r12, [0x180328cf0]
cmp byte [rsp + 0x48], al
mov r14d, eax
mov ebx, 0xff
mov r15d, r14d
cmovne ebx, eax
mov eax, edi
mov rdi, qword [rsp + 0x58]
and eax, 8
shl rdi, 5
mov dword [rsp + 0x48], eax
lea rax, [0x180328d10]
add rdi, rax
xor r13b, r13b
mov edx, r15d
test r15d, r15d
je 0x1801a942c
movss xmm1, dword [rsi + 0x381c]
call fcn.18017fd10
lea eax, [r15 + 1]
mov r15d, eax
cmp eax, r8d
jge 0x1801a943d
movaps xmm0, xmm7
jmp 0x1801a9441
movaps xmm0, xmm8
mov rax, qword [0x180722dc8]
lea r8, [rbp - 0x48]
mov rcx, qword [rdi + r14*8]
lea r8, [r8 + rdx*4]
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm11
mov rcx, qword [r12 + r14*8]
mov edx, 4
or dword [rax + 0x4790], 1
movss dword [rax + 0x4798], xmm0
xor eax, eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x68], ebx
call fcn.1801a1830
or r13b, al
cmp dword [rsp + 0x48], 0
jne 0x1801a94a7
call fcn.180181620
mov r8d, dword [rsp + 0x44]
inc r14
cmp r14, r8
jl 0x1801a9417
mov byte [rsp + 0x40], r13b
jmp 0x1801a9387
bt edi, 0x16
jae 0x1801a93a5
test dil, 0x20
jne 0x1801a93a5
mov ebx, 0xff
test r14b, r14b
je 0x1801a9551
mov edx, dword [rbp - 0x3c]
test edx, edx
jns 0x1801a94ef
xor r8d, r8d
mov edx, r8d
jmp 0x1801a94f7
cmp edx, ebx
cmovg edx, ebx
xor r8d, r8d
mov ecx, dword [rbp - 0x40]
test ecx, ecx
jns 0x1801a9503
mov ecx, r8d
jmp 0x1801a9508
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rbp - 0x44]
test eax, eax
jns 0x1801a9514
mov eax, r8d
jmp 0x1801a9519
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1801a9527
mov r9d, r8d
jmp 0x1801a952e
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x30], edx
lea r8, str._02X_02X_02X_02X
mov dword [rsp + 0x28], ecx
mov edx, 0x40
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x20], eax
call fcn.180170540
jmp 0x1801a95a7
mov ecx, dword [rbp - 0x40]
test ecx, ecx
jns 0x1801a955e
xor edx, edx
mov ecx, edx
jmp 0x1801a9565
cmp ecx, ebx
cmovg ecx, ebx
xor edx, edx
mov eax, dword [rbp - 0x44]
test eax, eax
jns 0x1801a9570
mov eax, edx
jmp 0x1801a9575
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1801a9583
mov r9d, edx
jmp 0x1801a958a
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x28], ecx
lea r8, str._02X_02X_02X
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x20], eax
mov edx, 0x40
call fcn.180170540
mov rax, qword [0x180722dc8]
lea r8, [rbp - 0x30]
mov r9d, 0x40
mov qword [rbp - 0x68], 0
xor edx, edx
lea rcx, str.Text
or dword [rax + 0x4790], 1
movss dword [rax + 0x4798], xmm10
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x68]
mov dword [rsp + 0x28], 6
mov qword [rsp + 0x20], rax
call fcn.1801a5910
test al, al
je 0x1801a9668
mov r12b, 1
lea rcx, [rbp - 0x30]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x1801a9615
cmp al, 0x20
je 0x1801a9615
cmp al, 9
jne 0x1801a961a
inc rcx
jmp 0x1801a9606
xor eax, eax
mov dword [rbp - 0x3c], ebx
mov qword [rbp - 0x44], rax
lea r9, [rbp - 0x44]
mov dword [rbp - 0x48], eax
lea r8, [rbp - 0x48]
test r14b, r14b
je 0x1801a9653
lea rax, [rbp - 0x3c]
mov qword [rsp + 0x28], rax
lea rdx, [0x180328a58]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.1801888f0
jmp 0x1801a9668
lea rax, [rbp - 0x40]
lea rdx, [0x180328a48]
mov qword [rsp + 0x20], rax
call fcn.1801888f0
test dil, 8
jne 0x1801a93a0
call fcn.180181620
jmp 0x1801a93a0
movaps xmm10, xmm9
addss xmm10, xmm15
movss dword [rbx + 0x104], xmm14
movss dword [rbx + 0x100], xmm10
cmp byte [rsp + 0x7c], al
je 0x1801a96a3
movss xmm11, dword [r15 + 0xc]
movss xmm0, dword [r15]
lea r9, [rbp - 0x78]
movss xmm1, dword [r15 + 4]
lea rdx, [rsp + 0x68]
movss dword [rsp + 0x68], xmm0
lea rcx, str.ColorButton
movss xmm0, dword [r15 + 8]
mov r8d, edi
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x74], xmm11
mov qword [rbp - 0x78], rax
call fcn.1801abfd0
test al, al
je 0x1801a9756
test dil, 4
jne 0x1801a9756
movups xmm0, xmmword [rsp + 0x68]
lea rcx, str.picker
movups xmmword [rsi + 0x5b84], xmm0
call fcn.180180f00
movss xmm1, dword [rsi + 0x3818]
mov rax, qword [0x180722dc8]
addss xmm1, dword [rsi + 0x47c0]
movss xmm0, dword [rsi + 0x47b4]
or dword [rax + 0x47e8], 1
xor ebx, ebx
movss dword [rax + 0x47f8], xmm0
mov qword [rax + 0x4800], rbx
movss dword [rax + 0x47fc], xmm1
mov dword [rax + 0x47ec], 1
jmp 0x1801a9758
xor ebx, ebx
test dil, 8
jne 0x1801a9763
call fcn.180181620
mov rcx, qword [0x180722dc8]
mov eax, dword [rcx + 0x48c8]
cmp dword [rcx + 0x48b8], eax
jg 0x1801a98d7
mov dword [rcx + 0x47e8], ebx
mov rbx, qword [rbp - 0x80]
movaps xmm14, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
cmp rbx, r13
je 0x1801a97fe
test dil, dil
js 0x1801a97fe
movss xmm1, dword [rsi + 0x381c]
call fcn.18017fd10
test dil, 0x20
jne 0x1801a97dd
addss xmm8, dword [rsi + 0x381c]
movaps xmm12, xmm8
mov rax, qword [rsp + 0x60]
addss xmm12, xmm15
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
movss dword [rax + 0x100], xmm12
call fcn.18019e420
movaps xmm15, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x150]
mov r13, qword [rsp + 0x1c0]
test r12b, r12b
je 0x1801a9a62
test r14, r14
jne 0x1801a9a62
cmp byte [rsp + 0x41], r14b
jne 0x1801a9844
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x180339f90]
movups xmmword [rbp - 0x58], xmm1
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1801a99ec
movss xmm0, dword [rbp - 0x58]
lea rax, [rbp - 0x50]
movss xmm1, dword [rbp - 0x54]
lea r9, [rbp - 0x58]
movss xmm2, dword [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
movss dword [rsi + 0x5b78], xmm0
movss dword [rsi + 0x5b7c], xmm1
call fcn.1801712a0
mov eax, dword [rsi + 0x5b70]
lea rcx, [rbp - 0x78]
movss xmm6, dword [rbp - 0x58]
movss xmm7, dword [rbp - 0x54]
movss xmm8, dword [rbp - 0x50]
movss dword [rbp - 0x78], xmm6
movss dword [rbp - 0x74], xmm7
movss dword [rbp - 0x70], xmm8
mov dword [rsi + 0x5b74], eax
mov dword [rbp - 0x6c], 0
call fcn.180171140
mov dword [rsi + 0x5b80], eax
jmp 0x1801a99fc
mov r10, qword [rcx + 0x3f08]
lea rdx, [0x180328a2d]
mov r8b, reloc.WS2_32.dll_WSASetLastError
lea r11, [0x180323ef0]
movsxd rcx, dword [r10 + 0xf0]
mov rax, qword [r10 + 0xf8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x1801a991b
cmp byte [rdx], r8b
jne 0x1801a991b
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r11 + rcx*4]
test r8b, r8b
jne 0x1801a9908
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x3f50], ebx
jne 0x1801a9958
lea r8, str.picker
mov edx, listen
mov ecx, ebx
call fcn.1801877f0
mov ecx, ebx
call fcn.180181500
test al, al
je 0x1801a9782
mov rax, qword [rsi + 0x3f08]
mov rbx, qword [rbp - 0x80]
cmp word [rax + 0xc2], 1
jne 0x1801a99e2
mov r14, rax
cmp rbx, r13
je 0x1801a9997
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.18019e420
call fcn.1801a0e60
mov rax, qword [0x180722dc8]
lea r9, [rsi + 0x5b84]
mulss xmm13, dword [0x1803395dc]
lea rcx, [0x180324500]
mov r8d, dword [rbp - 0x60]
mov rdx, r15
and r8d, 0x1f890002
or dword [rax + 0x4790], 1
or r8d, 0x740080
movss dword [rax + 0x4798], xmm13
call fcn.1801a9fb0
or r12b, al
call fcn.1801815b0
jmp 0x1801a9786
movss xmm8, dword [rbp - 0x50]
movss xmm7, dword [rbp - 0x54]
movss xmm6, dword [rbp - 0x58]
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1801a9a3f
lea rax, [rbp - 0x50]
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x58]
lea rax, [rbp - 0x54]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.1801711f0
movss xmm8, dword [rbp - 0x50]
movss xmm7, dword [rbp - 0x54]
movss xmm6, dword [rbp - 0x58]
cmp byte [rsp + 0x7c], 0
movss dword [r15], xmm6
movss dword [r15 + 4], xmm7
movss dword [r15 + 8], xmm8
je 0x1801a9a62
movss xmm0, dword [rbp - 0x4c]
movss dword [r15 + 0xc], xmm0
cmp dword [rbp - 0x5c], 0
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm6, xmmword [rsp + 0x1b0]
jne 0x1801a9a89
xor eax, eax
mov dword [rsi + 0x5b70], eax
mov rax, qword [0x180722dc8]
mov rcx, qword [rax + 0x3f08]
dec dword [rcx + 0xf0]
call fcn.1801802d0
test byte [rsi + 0x47b0], 1
je 0x1801a9b6d
bt edi, 9
jb 0x1801a9b6d
call fcn.180185d60
test al, al
je 0x1801a9b6d
lea rcx, str._COL3F
xor bl, bl
call fcn.180185e40
test rax, rax
je 0x1801a9af2
mov rax, qword [rax]
mov bl, 1
movzx r12d, bl
movsd xmm0, qword [rax]
movsd qword [r15], xmm0
mov eax, dword [rax + 8]
mov dword [r15 + 8], eax
lea rcx, str._COL4F
call fcn.180185e40
test rax, rax
je 0x1801a9b1c
mov r8d, dword [rsp + 0x44]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.1802bfb00
mov r12b, 1
jmp 0x1801a9b20
test bl, bl
je 0x1801a9b51
bt edi, 0x1c
jae 0x1801a9b51
movss xmm2, dword [r15 + 8]
lea rax, [r15 + 8]
movss xmm1, dword [r15 + 4]
lea rcx, [r15 + 4]
movss xmm0, dword [r15]
mov r9, r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
call fcn.1801711f0
mov rax, qword [0x180722dc8]
cmp byte [rax + 0x4afa], 0
mov byte [rax + 0x4ab2], 0
je 0x1801a9b6d
call fcn.180185ae0
test r14, r14
je 0x1801a9b8b
mov eax, dword [rsi + 0x3f68]
test eax, eax
je 0x1801a9b8b
cmp qword [rsi + 0x3f88], r14
jne 0x1801a9b8b
mov dword [rsi + 0x47a8], eax
test r12b, r12b
je 0x1801a9bbf
mov eax, dword [rsi + 0x47a8]
test eax, eax
je 0x1801a9bbf
mov rcx, qword [0x180722dc8]
mov edx, dword [rcx + 0x3f68]
cmp edx, eax
je 0x1801a9baf
test edx, edx
jne 0x1801a9bb8
mov word [rcx + 0x3f78], 0x101
or dword [rcx + 0x47b0], 4
movzx eax, r12b
mov r12, qword [rsp + 0x218]
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.18027f010
add rsp, 0x1c8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret