Function at 0x18004f5a0
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 - 0xb8]
sub rsp, 0x1b8
mov rsi, qword [0x18008b9c0]
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 - 0x78], r14
cmp byte [r14 + 0x83], 0
je 0x18004f606
xor al, al
add rsp, 0x1b8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1a8], r13
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x150], xmm10
movaps xmmword [rsp + 0x140], xmm11
movaps xmmword [rsp + 0x130], xmm12
movaps xmmword [rsp + 0x120], xmm13
movss xmm13, dword [rsi + 0x1594]
addss xmm13, xmm13
movaps xmmword [rsp + 0x110], xmm14
movaps xmmword [rsp + 0x100], xmm15
addss xmm13, dword [rsi + 0x19a8]
call fcn.18002fac0
movss dword [rsp + 0x70], xmm0
movaps xmm7, xmm0
xorps xmm9, xmm9
test bl, 0x10
je 0x18004f699
xorps xmm12, xmm12
jmp 0x18004f6a6
movaps xmm12, xmm13
addss xmm12, dword [rsi + 0x15a8]
mov qword [rbp - 0x68], rdi
movaps xmm10, xmm0
subss xmm10, xmm12
cmp rdi, 0xffffffffffffffff
jae 0x18004f6e9
mov r15, rdi
nop dword [rax]
movzx ecx, byte [r15]
test cl, cl
je 0x18004f6e2
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x18004f6d5
cmp byte [rax], cl
je 0x18004f6e2
mov qword [rbp - 0x68], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x18004f6c0
mov r15, qword [rbp + 0xf8]
xor r13d, r13d
mov dword [rsi + 0x1bf8], r13d
call fcn.180030440
mov rcx, rdi
call fcn.1800302d0
mov dword [rbp - 0x60], ebx
test bl, 0x20
je 0x18004f714
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x18004f723
mov edx, ebx
mov rcx, r15
call fcn.180053730
test ebx, 0x700000
jne 0x18004f738
mov eax, dword [rsi + 0x2f74]
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x18004f74d
mov eax, dword [rsi + 0x2f74]
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x18004f762
mov eax, dword [rsi + 0x2f74]
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x18004f777
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 [0x180067790]
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 + 0x100], ebx
mov dword [rsp + 0x5c], edi
lea r12d, [rdi + 3]
mov dword [rbp - 0x70], eax
mov dword [rsp + 0x58], r12d
test dil, dil
je 0x18004f7eb
movss xmm0, dword [r15 + 0xc]
movss dword [rsp + 0x54], xmm0
jmp 0x18004f7f3
mov dword [rsp + 0x54], 0x3f800000
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x18004f856
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.180025ec0
movss xmm3, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x4c]
movss xmm2, dword [rsp + 0x50]
comiss xmm3, xmm9
movss xmm5, dword [0x180067974]
movss xmm4, dword [0x180067750]
jb 0x18004f8e2
movaps xmm0, xmm4
jmp 0x18004f8e5
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x18004f834
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.180025e10
mov rax, qword [rsi + 0x2f80]
cmp rax, qword [r15]
jne 0x18004f822
mov eax, dword [rsi + 0x2f88]
cmp eax, dword [r15 + 8]
jne 0x18004f822
movss xmm1, dword [rsp + 0x4c]
ucomiss xmm1, xmm9
jne 0x18004f8b9
movss xmm3, dword [rsi + 0x2f78]
movss dword [rsp + 0x48], xmm3
jmp 0x18004f8bf
movss xmm3, dword [rsp + 0x48]
movss xmm2, dword [rsp + 0x50]
ucomiss xmm2, xmm9
jne 0x18004f834
movss xmm1, dword [rsi + 0x2f7c]
movss dword [rsp + 0x4c], xmm1
jmp 0x18004f834
movaps xmm0, xmm5
comiss xmm1, xmm9
movss xmm6, dword [0x1800678ec]
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [rsp + 0x60], eax
jb 0x18004f908
movaps xmm0, xmm4
jmp 0x18004f90b
movaps xmm0, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rsp + 0x64], eax
jb 0x18004f926
movaps xmm0, xmm4
jmp 0x18004f929
movaps xmm0, xmm5
mulss xmm2, xmm6
addss xmm2, xmm0
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm9
cvttss2si eax, xmm2
mov dword [rsp + 0x68], eax
jae 0x18004f948
movaps xmm4, xmm5
movss xmm0, dword [rsp + 0x54]
mulss xmm0, xmm6
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rsp + 0x6c], eax
xor al, al
movss xmm14, dword [r14 + 0xd0]
movss xmm15, dword [r14 + 0xd4]
mov byte [rbp + 0x108], al
mov byte [rsp + 0x40], al
cmp dword [rsi + 0x15d8], r13d
jne 0x18004f98b
movaps xmm1, xmm12
jmp 0x18004f98f
movaps xmm1, xmm9
movaps xmm0, xmm14
addss xmm0, xmm1
movss dword [r14 + 0xd0], xmm0
test ebx, 0x300000
je 0x18004fcfd
test bl, 0x20
jne 0x18004fcfd
movss xmm2, dword [rsi + 0x15a8]
lea eax, [r12 - 1]
movss xmm6, dword [0x180067984]
lea rcx, str.M:0.000
movd xmm3, eax
lea rdx, [rbp - 0x80]
cvtdq2ps xmm3, xmm3
mov qword [rsp + 0x30], r13
mov r14d, ebx
and r14d, 0x1000000
movaps xmm1, xmm10
movaps xmmword [rsp + 0x170], 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 [0x18008b9c0]
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.180043680
movss xmm0, dword [rbp - 0x80]
mov r12, r13
addss xmm0, dword [0x180067788]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
jbe 0x18004fa9d
bt ebx, 0x15
setb r12b
inc r12
mov r9d, dword [rsp + 0x58]
mov edi, r13d
test r9d, r9d
je 0x18004fbb9
test r14d, r14d
je 0x18004fc00
movss xmm6, dword [0x1800676e0]
lea r14, [0x180067610]
mov eax, ebx
shl r12, 5
and eax, 8
mov dword [rbp - 0x80], r13d
mov r13d, dword [rbp - 0x70]
lea r15, [rsp + 0x48]
mov dword [rsp + 0x78], eax
sub r12, r14
mov ebx, dword [rsp + 0x78]
lea rax, str._0.3f
add r12, rax
test edi, edi
je 0x18004fb02
movss xmm1, dword [rsi + 0x15a8]
call fcn.180030860
lea eax, [rdi + 1]
mov edi, eax
cmp eax, r9d
jge 0x18004fb11
movaps xmm0, xmm7
jmp 0x18004fb15
movaps xmm0, xmm8
mov rax, qword [0x18008b9c0]
or dword [rax + 0x1bf8], 1
movss dword [rax + 0x1bfc], xmm0
mov rax, qword [r12 + r14]
test r13b, r13b
je 0x18004fb3a
movaps xmm0, xmm9
jmp 0x18004fb3e
movaps xmm0, xmm11
mov rcx, qword [r14]
movaps xmm3, xmm6
mov qword [rsp + 0x30], rax
mov r8, r15
lea rax, [rsp + 0x78]
movss dword [rsp + 0x78], xmm0
mov qword [rsp + 0x28], rax
mov edx, 8
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.180048f80
movzx ecx, byte [rbp + 0x108]
or cl, al
or byte [rsp + 0x40], cl
mov byte [rbp + 0x108], cl
test ebx, ebx
jne 0x18004fb8b
call fcn.180031780
mov r9d, dword [rsp + 0x58]
add r15, 4
add r14, 8
cmp edi, r9d
jl 0x18004faf1
movss xmm6, dword [0x180067984]
xor r13d, r13d
mov ebx, dword [rbp + 0x100]
mov r15, qword [rbp + 0xf8]
mov r12d, r9d
mov edi, dword [rsp + 0x5c]
mov r14, qword [rbp - 0x78]
movss xmm7, dword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x170]
test bl, 0x10
jne 0x18005005f
test bl, 0x20
jne 0x18004febe
cmp dword [rsi + 0x15d8], 0
je 0x18004febe
addss xmm10, dword [rsi + 0x15a8]
jmp 0x18004fec2
mov r15d, r13d
test r9d, r9d
je 0x18004fbb2
cmp byte [rbp - 0x70], dil
lea r14, [0x180067610]
mov eax, 0xff
mov dword [rsp + 0x78], r13d
cmovne eax, r13d
shl r12, 5
mov dword [rbp - 0x80], eax
mov eax, ebx
and eax, 8
mov dword [rbp + 0x108], eax
lea rax, [0x1800675b0]
mov r13d, dword [rbp + 0x108]
add r12, rax
xor bl, bl
mov r8d, r15d
test r15d, r15d
je 0x18004fc5b
movss xmm1, dword [rsi + 0x15a8]
call fcn.180030860
lea eax, [r15 + 1]
mov r15d, eax
cmp eax, r9d
jge 0x18004fc6c
movaps xmm0, xmm7
jmp 0x18004fc70
movaps xmm0, xmm8
mov rax, qword [0x18008b9c0]
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 + 0x60]
lea r8, [r8 + rax*4]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.180048f80
or bl, al
test r13d, r13d
jne 0x18004fccc
call fcn.180031780
mov r9d, dword [rsp + 0x58]
inc rdi
cmp rdi, r9
jl 0x18004fc46
mov r15, qword [rbp + 0xf8]
xor r13d, r13d
mov r12d, dword [rsp + 0x58]
mov byte [rbp + 0x108], bl
mov ebx, dword [rbp + 0x100]
jmp 0x18004fbbc
bt ebx, 0x16
jae 0x18004feb1
test bl, 0x20
jne 0x18004feb1
mov eax, 0xff
test dil, dil
je 0x18004fd8e
mov r8d, dword [rsp + 0x6c]
test r8d, r8d
jns 0x18004fd29
mov r8d, r13d
jmp 0x18004fd30
cmp r8d, eax
cmovg r8d, eax
mov edx, dword [rsp + 0x68]
test edx, edx
jns 0x18004fd3d
mov edx, r13d
jmp 0x18004fd42
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x64]
test ecx, ecx
jns 0x18004fd4f
mov ecx, r13d
jmp 0x18004fd54
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x18004fd63
mov r9d, r13d
jmp 0x18004fd6a
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x30], r8d
lea r8, [0x180067340]
mov dword [rsp + 0x28], edx
mov edx, 0x40
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x40]
call fcn.180025190
jmp 0x18004fde5
mov edx, dword [rsp + 0x68]
test edx, edx
jns 0x18004fd9b
mov edx, r13d
jmp 0x18004fda0
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x64]
test ecx, ecx
jns 0x18004fdad
mov ecx, r13d
jmp 0x18004fdb2
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x18004fdc1
mov r9d, r13d
jmp 0x18004fdc8
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x28], edx
lea r8, [0x180067358]
mov dword [rsp + 0x20], ecx
mov edx, 0x40
lea rcx, [rbp - 0x40]
call fcn.180025190
mov rax, qword [0x18008b9c0]
lea r8, [rbp - 0x40]
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 - 0x80]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x80], r13
call fcn.18004c290
test al, al
je 0x18004fea7
mov byte [rbp + 0x108], 1
lea rcx, [rbp - 0x40]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x18004fe51
cmp al, 0x20
je 0x18004fe51
cmp al, 9
jne 0x18004fe56
inc rcx
jmp 0x18004fe42
mov qword [rsp + 0x68], r13
lea r9, [rsp + 0x64]
mov qword [rsp + 0x60], r13
lea r8, [rsp + 0x60]
test dil, dil
je 0x18004fe91
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x28], rax
lea rdx, str._02X_02X_02X_02X
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.180023d70
jmp 0x18004fea7
lea rax, [rsp + 0x68]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.180023d70
test bl, 8
jne 0x18004feb1
call fcn.180031780
movss xmm6, dword [0x180067984]
jmp 0x18004fbd3
movaps xmm10, xmm9
movss dword [r14 + 0xd4], xmm15
movaps xmm0, xmm14
addss xmm0, xmm10
movss dword [r14 + 0xd0], xmm0
test dil, dil
je 0x18004feea
movss xmm2, dword [r15 + 0xc]
jmp 0x18004feee
movaps xmm2, xmm11
movss xmm0, dword [r15]
lea rdx, [rbp - 0x58]
movss xmm1, dword [r15 + 4]
lea rcx, str.ColorButton
movss dword [rbp - 0x58], xmm0
mov r8d, ebx
movss xmm0, dword [r15 + 8]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm9
movq r9, xmm0
movss dword [rbp - 0x54], xmm1
movss dword [rbp - 0x4c], xmm2
call fcn.180052c50
lea rdi, [0x1800673a9]
test al, al
je 0x180050035
test bl, 4
jne 0x180050035
movups xmm0, xmmword [rbp - 0x58]
mov r11, qword [0x18008b9c0]
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 0x18004ff96
cmp byte [r8], r9b
jne 0x18004ff96
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, [0x180062ad0]
inc r8
xor edx, dword [rax + rcx*4]
test r9b, r9b
jne 0x18004ff83
not edx
cmp dword [r11 + 0x1b38], edx
jne 0x18004ffcb
mov dword [r11 + 0x1b3c], edx
cmp dword [r11 + 0x1b78], edx
jne 0x18004ffdc
mov byte [r11 + 0x1b7c], 1
mov ecx, edx
call fcn.180031130
movss xmm1, dword [r14 + 0x11c]
movss xmm0, dword [rsi + 0x15a4]
subss xmm1, xmm11
addss xmm0, dword [r14 + 0x128]
mov rax, qword [0x18008b9c0]
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 0x18005003f
call fcn.180031780
mov rcx, qword [0x18008b9c0]
mov eax, dword [rcx + 0x1c50]
cmp dword [rcx + 0x1c40], eax
jg 0x1800500f5
mov dword [rcx + 0x1b90], r13d
movzx r14d, byte [rbp + 0x108]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xf0]
movaps xmm13, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x140]
movaps xmm10, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm6, xmmword [rsp + 0x190]
cmp rcx, rax
je 0x180050244
test bl, bl
js 0x180050244
test bl, 0x20
jne 0x1800500c1
movaps xmm12, xmm7
addss xmm12, dword [rsi + 0x15a8]
addss xmm15, dword [rsi + 0x1594]
mov rdi, qword [rbp - 0x78]
addss xmm14, xmm12
xor r8d, r8d
mov rdx, rax
movss dword [rdi + 0xd4], xmm15
movss dword [rdi + 0xd0], xmm14
call fcn.180046090
jmp 0x180050248
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 0x18005012b
cmp byte [rdi], r8b
jne 0x18005012b
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, [0x180062ad0]
inc rdi
xor edx, dword [rax + rcx*4]
test r8b, r8b
jne 0x180050118
mov rax, qword [0x18008b9c0]
not edx
cmp dword [rax + 0x1b38], edx
jne 0x180050165
mov dword [rax + 0x1b3c], edx
cmp dword [rax + 0x1b78], edx
jne 0x180050174
mov byte [rax + 0x1b7c], 1
mov ecx, edx
call fcn.1800314d0
test al, al
je 0x18005005f
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xf0]
mov r13, qword [rsi + 0x1af0]
cmp rcx, rax
je 0x1800501e0
xor r8d, r8d
mov rdx, rax
call fcn.180046090
mov rcx, qword [0x18008b9c0]
mov rax, qword [rcx + 0x1af0]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1af0]
cmp byte [rax + 0x83], 0
jne 0x1800501e0
movaps xmm1, xmm6
mov qword [rsp + 0x78], 0
lea rcx, [rsp + 0x78]
call fcn.180027c90
mov rax, qword [0x18008b9c0]
lea r9, [rsi + 0x2f8c]
mulss xmm13, dword [0x180067850]
lea rcx, str.picker
mov r8d, dword [rbp - 0x60]
mov rdx, r15
and r8d, 0x1f890002
or dword [rax + 0x1bf8], 1
or r8d, 0x740080
movss dword [rax + 0x1bfc], xmm13
call fcn.180050c10
movzx r14d, byte [rbp + 0x108]
or r14b, al
mov byte [rbp + 0x108], r14b
call fcn.1800315e0
jmp 0x180050067
mov rdi, qword [rbp - 0x78]
movaps xmm15, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x180]
test r14b, r14b
je 0x180050373
test r13, r13
jne 0x180050373
cmp byte [rsp + 0x40], r13b
jne 0x180050299
movdqu xmm0, xmmword [rsp + 0x60]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x180067aa0]
movups xmmword [rsp + 0x48], xmm1
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1800502ff
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.180025ec0
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 0x18005033d
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.180025e10
cmp byte [rsp + 0x5c], 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 0x180050373
movss xmm0, dword [rsp + 0x54]
movss dword [r15 + 0xc], xmm0
mov rax, qword [0x18008b9c0]
mov rcx, qword [rax + 0x1af0]
dec dword [rcx + 0xc0]
call fcn.180030560
test byte [rdi + 0x118], 1
je 0x1800504e0
bt ebx, 9
jb 0x1800504e0
mov rdi, qword [0x18008b9c0]
cmp byte [rdi + 0x1f7c], 0
je 0x1800504f1
mov rcx, qword [rdi + 0x1af0]
mov edx, dword [rcx + 0x118]
test dl, 1
je 0x1800504f1
mov rax, qword [rdi + 0x1af8]
test rax, rax
je 0x1800504f1
mov rax, qword [rax + 0x368]
cmp qword [rcx + 0x368], rax
jne 0x1800504f1
lea r14, [rcx + 0x12c]
test dl, 2
jne 0x180050404
lea r14, [rcx + 0x11c]
mov eax, dword [rcx + 0x114]
test eax, eax
jne 0x180050416
mov rdx, r14
call fcn.180027780
cmp dword [rdi + 0x1f9c], eax
je 0x1800504e9
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.180035210
test rax, rax
je 0x18005046a
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 0x180050472
movzx r14d, byte [rbp + 0x108]
lea rcx, str._COL4F
call fcn.180035210
test rax, rax
je 0x18005049a
mov rdx, qword [rax]
mov rcx, r15
mov r8d, r12d
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r14b, 1
jmp 0x18005049f
test dil, dil
je 0x1800504d0
bt ebx, 0x1c
jae 0x1800504d0
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.180025e10
mov rdi, qword [0x18008b9c0]
mov byte [rdi + 0x1f7d], 0
jmp 0x1800504f1
mov rdi, qword [0x18008b9c0]
jmp 0x1800504f1
movzx r14d, byte [rbp + 0x108]
mov r12, qword [rsp + 0x1b0]
test r13, r13
je 0x18005051b
mov ecx, dword [rsi + 0x1b38]
test ecx, ecx
je 0x18005051b
cmp qword [rsi + 0x1b68], r13
jne 0x18005051b
mov rax, qword [rbp - 0x78]
mov dword [rax + 0x114], ecx
mov r13, qword [rsp + 0x1a8]
test r14b, r14b
je 0x18005053f
mov rcx, qword [rdi + 0x1af0]
mov word [rdi + 0x1b47], 0x101
or dword [rcx + 0x118], 4
movzx eax, r14b
add rsp, 0x1b8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret