Function at 0x180040600
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov rsi, qword [0x180080a88]
mov ebx, r8d
mov r15, rdx
mov rdi, rcx
mov rax, qword [rsi + 0x1af0]
mov byte [rax + 0x80], 1
mov r14, qword [rsi + 0x1af0]
mov qword [rbp - 0x68], r14
cmp byte [r14 + 0x83], 0
je 0x180040666
xor al, al
add rsp, 0x1c8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1b8], r13
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x170], xmm9
movaps xmmword [rsp + 0x160], xmm10
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x140], xmm12
movaps xmmword [rsp + 0x130], xmm13
movss xmm13, dword [rsi + 0x1594]
addss xmm13, xmm13
movaps xmmword [rsp + 0x120], xmm14
movaps xmmword [rsp + 0x110], xmm15
addss xmm13, dword [rsi + 0x19a8]
call fcn.18001f2d0
movss dword [rsp + 0x68], xmm0
movaps xmm7, xmm0
xorps xmm9, xmm9
test bl, 0x10
je 0x1800406f9
xorps xmm12, xmm12
jmp 0x180040706
movaps xmm12, xmm13
addss xmm12, dword [rsi + 0x15a8]
mov qword [rbp - 0x58], rdi
movaps xmm10, xmm0
subss xmm10, xmm12
cmp rdi, 0xffffffffffffffff
jae 0x180040749
mov r15, rdi
nop dword [rax]
movzx ecx, byte [r15]
test cl, cl
je 0x180040742
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x180040735
cmp byte [rax], cl
je 0x180040742
mov qword [rbp - 0x58], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x180040720
mov r15, qword [rbp + 0x108]
xor r13d, r13d
mov dword [rsi + 0x1bf8], r13d
call fcn.18001fc10
mov rcx, rdi
call fcn.18001fab0
mov dword [rbp - 0x50], ebx
test bl, 0x20
je 0x180040774
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x180040783
mov edx, ebx
mov rcx, r15
call fcn.180044760
test ebx, 0x700000
jne 0x180040798
mov eax, dword [rsi + 0x2f74]
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x1800407ad
mov eax, dword [rsi + 0x2f74]
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x1800407c2
mov eax, dword [rsi + 0x2f74]
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x1800407d7
mov eax, dword [rsi + 0x2f74]
and eax, 0x18000000
or ebx, eax
mov eax, dword [rsi + 0x2f74]
movss xmm3, dword [r15]
and eax, 0xe00fffff
movss xmm1, dword [r15 + 4]
or ebx, eax
movss xmm2, dword [r15 + 8]
mov eax, ebx
movss xmm11, dword [0x180078400]
shr eax, 1
not al
movss dword [rsp + 0x48], xmm3
and al, 1
movss dword [rsp + 0x4c], xmm1
movzx edi, al
mov eax, ebx
shr eax, 0x13
and al, 1
movss dword [rsp + 0x50], xmm2
mov dword [rbp + 0x110], ebx
mov dword [rsp + 0x64], edi
lea r12d, [rdi + 3]
mov dword [rbp - 0x60], eax
mov dword [rsp + 0x60], r12d
test dil, dil
je 0x18004084b
movss xmm0, dword [r15 + 0xc]
movss dword [rsp + 0x54], xmm0
jmp 0x180040853
mov dword [rsp + 0x54], 0x3f800000
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1800408b6
lea rax, [rsp + 0x50]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
call fcn.180015840
movss xmm3, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x4c]
movss xmm2, dword [rsp + 0x50]
comiss xmm3, xmm9
movss xmm5, dword [0x180078594]
movss xmm4, dword [0x1800783c4]
jb 0x180040942
movaps xmm0, xmm4
jmp 0x180040945
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x180040894
lea rax, [rsp + 0x50]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
call fcn.180015790
mov rax, qword [rsi + 0x2f80]
cmp rax, qword [r15]
jne 0x180040882
mov eax, dword [rsi + 0x2f88]
cmp eax, dword [r15 + 8]
jne 0x180040882
movss xmm1, dword [rsp + 0x4c]
ucomiss xmm1, xmm9
jne 0x180040919
movss xmm3, dword [rsi + 0x2f78]
movss dword [rsp + 0x48], xmm3
jmp 0x18004091f
movss xmm3, dword [rsp + 0x48]
movss xmm2, dword [rsp + 0x50]
ucomiss xmm2, xmm9
jne 0x180040894
movss xmm1, dword [rsi + 0x2f7c]
movss dword [rsp + 0x4c], xmm1
jmp 0x180040894
movaps xmm0, xmm5
comiss xmm1, xmm9
movss xmm6, dword [0x180078504]
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [rsp + 0x70], eax
jb 0x180040968
movaps xmm0, xmm4
jmp 0x18004096b
movaps xmm0, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rsp + 0x74], eax
jb 0x180040986
movaps xmm0, xmm4
jmp 0x180040989
movaps xmm0, xmm5
mulss xmm2, xmm6
addss xmm2, xmm0
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm9
cvttss2si eax, xmm2
mov dword [rsp + 0x78], eax
jae 0x1800409a8
movaps xmm4, xmm5
movss xmm0, dword [rsp + 0x54]
mulss xmm0, xmm6
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rsp + 0x7c], eax
xor al, al
movss xmm14, dword [r14 + 0xd0]
movss xmm15, dword [r14 + 0xd4]
mov byte [rbp + 0x118], al
mov byte [rsp + 0x40], al
cmp dword [rsi + 0x15d8], r13d
jne 0x1800409eb
movaps xmm1, xmm12
jmp 0x1800409ef
movaps xmm1, xmm9
movaps xmm0, xmm14
addss xmm0, xmm1
movss dword [r14 + 0xd0], xmm0
test ebx, 0x300000
je 0x180040d58
test bl, 0x20
jne 0x180040d58
movss xmm2, dword [rsi + 0x15a8]
lea eax, [r12 - 1]
movss xmm6, dword [0x1800785a4]
lea rcx, str.M:0.000
movd xmm3, eax
lea rdx, [rbp - 0x70]
cvtdq2ps xmm3, xmm3
mov qword [rsp + 0x30], r13
mov r14d, ebx
and r14d, 0x1000000
movaps xmm1, xmm10
movaps xmmword [rsp + 0x180], xmm8
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movaps xmm0, xmm10
cvttss2si eax, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
maxss xmm7, xmm11
addss xmm2, xmm7
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm8, eax
lea rax, str.M:000
cmovne rax, rcx
mov rcx, qword [0x180080a88]
cvtdq2ps xmm8, xmm8
mov qword [rsp + 0x28], rax
movss xmm2, dword [rcx + 0x19a8]
mov rcx, qword [rcx + 0x19a0]
maxss xmm8, xmm11
movss dword [rsp + 0x20], xmm6
call fcn.180033660
movss xmm0, dword [rbp - 0x70]
mov r12, r13
addss xmm0, dword [0x1800783fc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
jbe 0x180040afd
bt ebx, 0x15
setb r12b
inc r12
mov r9d, dword [rsp + 0x60]
mov edi, r13d
test r9d, r9d
je 0x180040c16
test r14d, r14d
je 0x180040c5d
movss xmm6, dword [0x180078360]
lea r14, [0x180078290]
mov eax, ebx
shl r12, 5
and eax, 8
mov dword [rbp - 0x70], r13d
mov r13d, dword [rbp - 0x60]
lea r15, [rsp + 0x48]
mov dword [rbp - 0x78], eax
sub r12, r14
mov ebx, dword [rbp - 0x78]
lea rax, str._0.3f
add r12, rax
nop
test edi, edi
je 0x180040b61
movss xmm1, dword [rsi + 0x15a8]
call fcn.180020040
lea eax, [rdi + 1]
mov edi, eax
cmp eax, r9d
jge 0x180040b70
movaps xmm0, xmm7
jmp 0x180040b74
movaps xmm0, xmm8
mov rax, qword [0x180080a88]
or dword [rax + 0x1bf8], 1
movss dword [rax + 0x1bfc], xmm0
mov rax, qword [r14 + r12]
test r13b, r13b
je 0x180040b99
movaps xmm0, xmm9
jmp 0x180040b9d
movaps xmm0, xmm11
mov rcx, qword [r14]
movaps xmm3, xmm6
mov qword [rsp + 0x30], rax
mov r8, r15
lea rax, [rbp - 0x78]
movss dword [rbp - 0x78], xmm0
mov qword [rsp + 0x28], rax
mov edx, 8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.180039ee0
movzx ecx, byte [rbp + 0x118]
or cl, al
or byte [rsp + 0x40], cl
mov byte [rbp + 0x118], cl
test ebx, ebx
jne 0x180040be8
call fcn.180020f80
mov r9d, dword [rsp + 0x60]
add r15, 4
add r14, 8
cmp edi, r9d
jl 0x180040b50
movss xmm6, dword [0x1800785a4]
xor r13d, r13d
mov ebx, dword [rbp + 0x110]
mov r15, qword [rbp + 0x108]
mov r12d, r9d
mov edi, dword [rsp + 0x64]
mov r14, qword [rbp - 0x68]
movss xmm7, dword [rsp + 0x68]
movaps xmm8, xmmword [rsp + 0x180]
test bl, 0x10
jne 0x1800410bd
test bl, 0x20
jne 0x180040f1c
cmp dword [rsi + 0x15d8], 0
je 0x180040f1c
addss xmm10, dword [rsi + 0x15a8]
jmp 0x180040f20
mov r15d, r13d
test r9d, r9d
je 0x180040c0f
cmp byte [rbp - 0x60], dil
lea r14, [0x180078290]
mov eax, 0xff
mov dword [rbp - 0x78], r13d
cmovne eax, r13d
shl r12, 5
mov dword [rbp - 0x70], eax
mov eax, ebx
and eax, 8
mov dword [rbp + 0x118], eax
lea rax, [0x180078230]
mov r13d, dword [rbp + 0x118]
add r12, rax
xor bl, bl
mov r8d, r15d
test r15d, r15d
je 0x180040cb7
movss xmm1, dword [rsi + 0x15a8]
call fcn.180020040
lea eax, [r15 + 1]
mov r15d, eax
cmp eax, r9d
jge 0x180040cc8
movaps xmm0, xmm7
jmp 0x180040ccc
movaps xmm0, xmm8
mov rax, qword [0x180080a88]
movaps xmm3, xmm11
mov rdx, qword [r12 + rdi*8]
mov rcx, qword [r14 + rdi*8]
mov qword [rsp + 0x30], rdx
mov edx, 4
or dword [rax + 0x1bf8], 1
movss dword [rax + 0x1bfc], xmm0
mov rax, r8
lea r8, [rsp + 0x70]
lea r8, [r8 + rax*4]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.180039ee0
or bl, al
test r13d, r13d
jne 0x180040d27
call fcn.180020f80
mov r9d, dword [rsp + 0x60]
inc rdi
cmp rdi, r9
jl 0x180040ca2
mov r15, qword [rbp + 0x108]
xor r13d, r13d
mov r12d, dword [rsp + 0x60]
mov byte [rbp + 0x118], bl
mov ebx, dword [rbp + 0x110]
jmp 0x180040c19
bt ebx, 0x16
jae 0x180040f0f
test bl, 0x20
jne 0x180040f0f
mov eax, 0xff
test dil, dil
je 0x180040de9
mov r8d, dword [rsp + 0x7c]
test r8d, r8d
jns 0x180040d84
mov r8d, r13d
jmp 0x180040d8b
cmp r8d, eax
cmovg r8d, eax
mov edx, dword [rsp + 0x78]
test edx, edx
jns 0x180040d98
mov edx, r13d
jmp 0x180040d9d
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x74]
test ecx, ecx
jns 0x180040daa
mov ecx, r13d
jmp 0x180040daf
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x70]
test r9d, r9d
jns 0x180040dbe
mov r9d, r13d
jmp 0x180040dc5
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x30], r8d
lea r8, [0x180077fc8]
mov dword [rsp + 0x28], edx
mov edx, 0x40
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x30]
call fcn.180014b10
jmp 0x180040e40
mov edx, dword [rsp + 0x78]
test edx, edx
jns 0x180040df6
mov edx, r13d
jmp 0x180040dfb
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x74]
test ecx, ecx
jns 0x180040e08
mov ecx, r13d
jmp 0x180040e0d
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x70]
test r9d, r9d
jns 0x180040e1c
mov r9d, r13d
jmp 0x180040e23
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x28], edx
lea r8, [0x180077fe0]
mov dword [rsp + 0x20], ecx
mov edx, 0x40
lea rcx, [rbp - 0x30]
call fcn.180014b10
mov rax, qword [0x180080a88]
lea r8, [rbp - 0x30]
mov qword [rsp + 0x38], r13
lea rcx, str.Text
mov qword [rsp + 0x30], r13
mov r9d, 0x40
mov dword [rsp + 0x28], 6
xor edx, edx
or dword [rax + 0x1bf8], 1
movss dword [rax + 0x1bfc], xmm10
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x70], r13
call fcn.18003d250
test al, al
je 0x180040f05
mov byte [rbp + 0x118], 1
lea rcx, [rbp - 0x30]
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x180040eaf
cmp al, 0x20
je 0x180040eaf
cmp al, 9
jne 0x180040eb4
inc rcx
jmp 0x180040ea0
mov qword [rsp + 0x78], r13
lea r9, [rsp + 0x74]
mov qword [rsp + 0x70], r13
lea r8, [rsp + 0x70]
test dil, dil
je 0x180040eef
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, str._02X_02X_02X_02X
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1800136a0
jmp 0x180040f05
lea rax, [rsp + 0x78]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.1800136a0
test bl, 8
jne 0x180040f0f
call fcn.180020f80
movss xmm6, dword [0x1800785a4]
jmp 0x180040c30
movaps xmm10, xmm9
movss dword [r14 + 0xd4], xmm15
movaps xmm0, xmm14
addss xmm0, xmm10
movss dword [r14 + 0xd0], xmm0
test dil, dil
je 0x180040f48
movss xmm2, dword [r15 + 0xc]
jmp 0x180040f4c
movaps xmm2, xmm11
movss xmm0, dword [r15]
lea rdx, [rbp - 0x48]
movss xmm1, dword [r15 + 4]
lea rcx, str.ColorButton
movss dword [rbp - 0x48], xmm0
mov r8d, ebx
movss xmm0, dword [r15 + 8]
movss dword [rbp - 0x40], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm9
movq r9, xmm0
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x3c], xmm2
call fcn.180043c70
lea rdi, [0x180078031]
test al, al
je 0x180041093
test bl, 4
jne 0x180041093
movups xmm0, xmmword [rbp - 0x48]
mov r11, qword [0x180080a88]
mov r8, rdi
mov r9b, 0x70
movups xmmword [rsi + 0x2f8c], xmm0
mov rax, qword [r11 + 0x1af0]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edx, r10d
cmp r9b, 0x23
jne 0x180040ff4
cmp byte [r8], r9b
jne 0x180040ff4
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
lea rax, [0x180072830]
inc r8
xor edx, dword [rax + rcx*4]
test r9b, r9b
jne 0x180040fe1
not edx
cmp dword [r11 + 0x1b38], edx
jne 0x180041029
mov dword [r11 + 0x1b3c], edx
cmp dword [r11 + 0x1b78], edx
jne 0x18004103a
mov byte [r11 + 0x1b7c], 1
mov ecx, edx
call fcn.180020930
movss xmm1, dword [r14 + 0x11c]
movss xmm0, dword [rsi + 0x15a4]
subss xmm1, xmm11
addss xmm0, dword [r14 + 0x128]
mov rax, qword [0x180080a88]
or dword [rax + 0x1b90], 1
movss dword [rax + 0x1ba0], xmm1
movss dword [rax + 0x1ba4], xmm0
mov qword [rax + 0x1ba8], 0
mov dword [rax + 0x1b94], 1
test bl, 8
jne 0x18004109d
call fcn.180020f80
mov rcx, qword [0x180080a88]
mov eax, dword [rcx + 0x1c50]
cmp dword [rcx + 0x1c40], eax
jg 0x180041153
mov dword [rcx + 0x1b90], r13d
movzx r14d, byte [rbp + 0x118]
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x100]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
movaps xmm9, xmmword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x1a0]
cmp rcx, rax
je 0x1800412a0
test bl, bl
js 0x1800412a0
test bl, 0x20
jne 0x18004111f
movaps xmm12, xmm7
addss xmm12, dword [rsi + 0x15a8]
addss xmm15, dword [rsi + 0x1594]
mov rdi, qword [rbp - 0x68]
addss xmm14, xmm12
xor r8d, r8d
mov rdx, rax
movss dword [rdi + 0xd4], xmm15
movss dword [rdi + 0xd0], xmm14
call fcn.1800361f0
jmp 0x1800412a4
mov rax, qword [rcx + 0x1af0]
mov r8b, 0x70
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edx, r9d
cmp r8b, 0x23
jne 0x180041189
cmp byte [rdi], r8b
jne 0x180041189
cmp byte [rdi + 1], r8b
cmove edx, r9d
movzx ecx, dl
movzx eax, r8b
movzx r8d, byte [rdi]
xor rcx, rax
shr edx, 8
lea rax, [0x180072830]
inc rdi
xor edx, dword [rax + rcx*4]
test r8b, r8b
jne 0x180041176
mov rax, qword [0x180080a88]
not edx
cmp dword [rax + 0x1b38], edx
jne 0x1800411c3
mov dword [rax + 0x1b3c], edx
cmp dword [rax + 0x1b78], edx
jne 0x1800411d2
mov byte [rax + 0x1b7c], 1
mov ecx, edx
call fcn.180020cd0
test al, al
je 0x1800410bd
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x100]
mov r13, qword [rsi + 0x1af0]
cmp rcx, rax
je 0x18004123c
xor r8d, r8d
mov rdx, rax
call fcn.1800361f0
mov rcx, qword [0x180080a88]
mov rax, qword [rcx + 0x1af0]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1af0]
cmp byte [rax + 0x83], 0
jne 0x18004123c
movaps xmm1, xmm6
mov qword [rbp - 0x78], 0
lea rcx, [rbp - 0x78]
call fcn.1800174b0
mov rax, qword [0x180080a88]
lea r9, [rsi + 0x2f8c]
mulss xmm13, dword [0x180078498]
lea rcx, str.picker
mov r8d, dword [rbp - 0x50]
mov rdx, r15
and r8d, 0x1f890002
or dword [rax + 0x1bf8], 1
or r8d, 0x740080
movss dword [rax + 0x1bfc], xmm13
call fcn.180041c50
movzx r14d, byte [rbp + 0x118]
or r14b, al
mov byte [rbp + 0x118], r14b
call fcn.180020de0
jmp 0x1800410c5
mov rdi, qword [rbp - 0x68]
movaps xmm15, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x190]
test r14b, r14b
je 0x1800413cf
test r13, r13
jne 0x1800413cf
cmp byte [rsp + 0x40], r13b
jne 0x1800412f5
movdqu xmm0, xmmword [rsp + 0x70]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x180078690]
movups xmmword [rsp + 0x48], xmm1
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x18004135b
movss xmm0, dword [rsp + 0x48]
lea rax, [rsp + 0x50]
movss xmm1, dword [rsp + 0x4c]
lea r9, [rsp + 0x48]
movss xmm2, dword [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
movss dword [rsi + 0x2f78], xmm0
movss dword [rsi + 0x2f7c], xmm1
call fcn.180015840
movsd xmm0, qword [rsp + 0x48]
mov eax, dword [rsp + 0x50]
movsd qword [rsi + 0x2f80], xmm0
mov dword [rsi + 0x2f88], eax
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x180041399
movss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x50]
movss xmm1, dword [rsp + 0x4c]
lea r9, [rsp + 0x48]
movss xmm0, dword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
call fcn.180015790
cmp byte [rsp + 0x64], 0
movss xmm0, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x4c]
movss dword [r15], xmm0
movss xmm0, dword [rsp + 0x50]
movss dword [r15 + 8], xmm0
movss dword [r15 + 4], xmm1
je 0x1800413cf
movss xmm0, dword [rsp + 0x54]
movss dword [r15 + 0xc], xmm0
mov rax, qword [0x180080a88]
mov rcx, qword [rax + 0x1af0]
dec dword [rcx + 0xc0]
call fcn.18001fd30
test byte [rdi + 0x118], 1
je 0x18004153c
bt ebx, 9
jb 0x18004153c
mov rdi, qword [0x180080a88]
cmp byte [rdi + 0x1f7c], 0
je 0x18004154d
mov rcx, qword [rdi + 0x1af0]
mov edx, dword [rcx + 0x118]
test dl, 1
je 0x18004154d
mov rax, qword [rdi + 0x1af8]
test rax, rax
je 0x18004154d
mov rax, qword [rax + 0x368]
cmp qword [rcx + 0x368], rax
jne 0x18004154d
lea r14, [rcx + 0x12c]
test dl, 2
jne 0x180041460
lea r14, [rcx + 0x11c]
mov eax, dword [rcx + 0x114]
test eax, eax
jne 0x180041472
mov rdx, r14
call fcn.180016fe0
cmp dword [rdi + 0x1f9c], eax
je 0x180041545
movups xmm0, xmmword [r14]
mov dword [rdi + 0x1fe0], eax
lea rcx, str._COL3F
mov byte [rdi + 0x1f7d], 1
movups xmmword [rdi + 0x1fd0], xmm0
xor dil, dil
call fcn.180024bd0
test rax, rax
je 0x1800414c6
mov rax, qword [rax]
mov dil, 1
movzx r14d, dil
movsd xmm0, qword [rax]
movsd qword [r15], xmm0
mov eax, dword [rax + 8]
mov dword [r15 + 8], eax
jmp 0x1800414ce
movzx r14d, byte [rbp + 0x118]
lea rcx, str._COL4F
call fcn.180024bd0
test rax, rax
je 0x1800414f6
mov rdx, qword [rax]
mov rcx, r15
mov r8d, r12d
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r14b, 1
jmp 0x1800414fb
test dil, dil
je 0x18004152c
bt ebx, 0x1c
jae 0x18004152c
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.180015790
mov rdi, qword [0x180080a88]
mov byte [rdi + 0x1f7d], 0
jmp 0x18004154d
mov rdi, qword [0x180080a88]
jmp 0x18004154d
movzx r14d, byte [rbp + 0x118]
mov r12, qword [rsp + 0x1c0]
test r13, r13
je 0x180041577
mov ecx, dword [rsi + 0x1b38]
test ecx, ecx
je 0x180041577
cmp qword [rsi + 0x1b68], r13
jne 0x180041577
mov rax, qword [rbp - 0x68]
mov dword [rax + 0x114], ecx
mov r13, qword [rsp + 0x1b8]
test r14b, r14b
je 0x18004159b
mov rcx, qword [rdi + 0x1af0]
mov word [rdi + 0x1b47], 0x101
or dword [rcx + 0x118], 4
movzx eax, r14b
add rsp, 0x1c8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret