Function at 0x180051e10
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 [0x1801aeab8]
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 0x180051e76
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 + 0x170], xmm8
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.180030a50
movss dword [rsp + 0x70], xmm0
movaps xmm8, xmm0
xorps xmm7, xmm7
test bl, 0x10
je 0x180051f09
xorps xmm12, xmm12
jmp 0x180051f16
movaps xmm12, xmm13
addss xmm12, dword [rsi + 0x15a8]
mov qword [rbp - 0x68], rdi
movaps xmm10, xmm0
subss xmm10, xmm12
cmp rdi, 0xffffffffffffffff
jae 0x180051f59
mov r15, rdi
nop dword [rax]
movzx ecx, byte [r15]
test cl, cl
je 0x180051f52
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x180051f45
cmp byte [rax], cl
je 0x180051f52
mov qword [rbp - 0x68], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x180051f30
mov r15, qword [rbp + 0xf8]
xor r13d, r13d
mov dword [rsi + 0x1bf8], r13d
call fcn.180031640
mov rcx, rdi
call fcn.180031390
mov dword [rbp - 0x60], ebx
test bl, 0x20
je 0x180051f84
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x180051f93
mov edx, ebx
mov rcx, r15
call fcn.180055fa0
test ebx, 0x700000
jne 0x180051fa8
mov eax, dword [rsi + 0x2f74]
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x180051fbd
mov eax, dword [rsi + 0x2f74]
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x180051fd2
mov eax, dword [rsi + 0x2f74]
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x180051fe7
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 [0x18008c8bc]
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 0x18005205b
movss xmm0, dword [r15 + 0xc]
movss dword [rsp + 0x54], xmm0
jmp 0x180052063
mov dword [rsp + 0x54], 0x3f800000
mov eax, ebx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1800520c5
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.180026df0
movss xmm3, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x4c]
movss xmm2, dword [rsp + 0x50]
comiss xmm3, xmm7
movss xmm5, dword [0x18008ca54]
movss xmm4, dword [0x18008c870]
jb 0x18005214f
movaps xmm0, xmm4
jmp 0x180052152
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1800520a4
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.180026d40
mov rax, qword [rsi + 0x2f80]
cmp rax, qword [r15]
jne 0x180052092
mov eax, dword [rsi + 0x2f88]
cmp eax, dword [r15 + 8]
jne 0x180052092
movss xmm1, dword [rsp + 0x4c]
ucomiss xmm1, xmm7
jne 0x180052127
movss xmm3, dword [rsi + 0x2f78]
movss dword [rsp + 0x48], xmm3
jmp 0x18005212d
movss xmm3, dword [rsp + 0x48]
movss xmm2, dword [rsp + 0x50]
ucomiss xmm2, xmm7
jne 0x1800520a4
movss xmm1, dword [rsi + 0x2f7c]
movss dword [rsp + 0x4c], xmm1
jmp 0x1800520a4
movaps xmm0, xmm5
comiss xmm1, xmm7
movss xmm6, dword [0x18008c9e4]
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [rsp + 0x60], eax
jb 0x180052174
movaps xmm0, xmm4
jmp 0x180052177
movaps xmm0, xmm5
comiss xmm2, xmm7
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rsp + 0x64], eax
jb 0x180052191
movaps xmm0, xmm4
jmp 0x180052194
movaps xmm0, xmm5
mulss xmm2, xmm6
addss xmm2, xmm0
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm7
cvttss2si eax, xmm2
mov dword [rsp + 0x68], eax
jae 0x1800521b2
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 0x1800521f5
movaps xmm1, xmm12
jmp 0x1800521f8
movaps xmm1, xmm7
movaps xmm0, xmm14
addss xmm0, xmm1
movss dword [r14 + 0xd0], xmm0
test ebx, 0x300000
je 0x18005257b
test bl, 0x20
jne 0x18005257b
movss xmm2, dword [rsi + 0x15a8]
lea eax, [r12 - 1]
movss xmm6, dword [0x18008ca64]
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 + 0x160], xmm9
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 xmm8, eax
cvtdq2ps xmm8, xmm8
maxss xmm8, xmm11
addss xmm2, xmm8
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm9, eax
lea rax, str.M:000
cmovne rax, rcx
mov rcx, qword [0x1801aeab8]
cvtdq2ps xmm9, xmm9
mov qword [rsp + 0x28], rax
movss xmm2, dword [rcx + 0x19a8]
mov rcx, qword [rcx + 0x19a0]
maxss xmm9, xmm11
movss dword [rsp + 0x20], xmm6
call fcn.1800450d0
movss xmm0, dword [rbp - 0x80]
mov r12, r13
addss xmm0, dword [0x18008c8b8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm8, xmm0
jbe 0x18005230a
bt ebx, 0x15
setb r12b
inc r12
mov r9d, dword [rsp + 0x58]
mov edi, r13d
test r9d, r9d
je 0x18005242b
test r14d, r14d
je 0x180052473
movss xmm6, dword [0x18008c7f0]
lea r14, [0x18008c720]
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
nop
test edi, edi
je 0x180052374
movss xmm1, dword [rsi + 0x15a8]
movaps xmm0, xmm7
call fcn.180031a70
lea eax, [rdi + 1]
mov edi, eax
cmp eax, r9d
jge 0x180052384
movaps xmm0, xmm8
jmp 0x180052388
movaps xmm0, xmm9
mov rax, qword [0x1801aeab8]
or dword [rax + 0x1bf8], 1
movss dword [rax + 0x1bfc], xmm0
mov rax, qword [r12 + r14]
test r13b, r13b
je 0x1800523ac
movaps xmm0, xmm7
jmp 0x1800523b0
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.18004b800
movzx ecx, byte [rbp + 0x108]
or cl, al
or byte [rsp + 0x40], cl
mov byte [rbp + 0x108], cl
test ebx, ebx
jne 0x1800523fd
call fcn.1800329c0
mov r9d, dword [rsp + 0x58]
add r15, 4
add r14, 8
cmp edi, r9d
jl 0x180052360
movss xmm6, dword [0x18008ca64]
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 xmm8, dword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x160]
test bl, 0x10
jne 0x1800528dc
test bl, 0x20
jne 0x18005273c
cmp dword [rsi + 0x15d8], 0
je 0x18005273c
addss xmm10, dword [rsi + 0x15a8]
jmp 0x180052740
mov r15d, r13d
test r9d, r9d
je 0x180052424
cmp byte [rbp - 0x70], dil
lea r14, [0x18008c720]
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, [0x18008c6c0]
mov r13d, dword [rbp + 0x108]
add r12, rax
xor bl, bl
nop dword [rax]
mov r8d, r15d
test r15d, r15d
je 0x1800524d8
movss xmm1, dword [rsi + 0x15a8]
movaps xmm0, xmm7
call fcn.180031a70
lea eax, [r15 + 1]
mov r15d, eax
cmp eax, r9d
jge 0x1800524ea
movaps xmm0, xmm8
jmp 0x1800524ee
movaps xmm0, xmm9
mov rax, qword [0x1801aeab8]
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.18004b800
or bl, al
test r13d, r13d
jne 0x18005254a
call fcn.1800329c0
mov r9d, dword [rsp + 0x58]
inc rdi
cmp rdi, r9
jl 0x1800524c0
mov r15, qword [rbp + 0xf8]
xor r13d, r13d
mov r12d, dword [rsp + 0x58]
mov byte [rbp + 0x108], bl
mov ebx, dword [rbp + 0x100]
jmp 0x18005242e
bt ebx, 0x16
jae 0x18005272f
test bl, 0x20
jne 0x18005272f
mov eax, 0xff
test dil, dil
je 0x18005260c
mov r8d, dword [rsp + 0x6c]
test r8d, r8d
jns 0x1800525a7
mov r8d, r13d
jmp 0x1800525ae
cmp r8d, eax
cmovg r8d, eax
mov edx, dword [rsp + 0x68]
test edx, edx
jns 0x1800525bb
mov edx, r13d
jmp 0x1800525c0
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x64]
test ecx, ecx
jns 0x1800525cd
mov ecx, r13d
jmp 0x1800525d2
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x1800525e1
mov r9d, r13d
jmp 0x1800525e8
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x30], r8d
lea r8, [0x18008c458]
mov dword [rsp + 0x28], edx
mov edx, 0x40
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x40]
call fcn.1800260c0
jmp 0x180052663
mov edx, dword [rsp + 0x68]
test edx, edx
jns 0x180052619
mov edx, r13d
jmp 0x18005261e
cmp edx, eax
cmovg edx, eax
mov ecx, dword [rsp + 0x64]
test ecx, ecx
jns 0x18005262b
mov ecx, r13d
jmp 0x180052630
cmp ecx, eax
cmovg ecx, eax
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x18005263f
mov r9d, r13d
jmp 0x180052646
cmp r9d, eax
cmovg r9d, eax
mov dword [rsp + 0x28], edx
lea r8, [0x18008c470]
mov dword [rsp + 0x20], ecx
mov edx, 0x40
lea rcx, [rbp - 0x40]
call fcn.1800260c0
mov rax, qword [0x1801aeab8]
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.18004eb20
test al, al
je 0x180052725
mov byte [rbp + 0x108], 1
lea rcx, [rbp - 0x40]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x1800526cf
cmp al, 0x20
je 0x1800526cf
cmp al, 9
jne 0x1800526d4
inc rcx
jmp 0x1800526c0
mov qword [rsp + 0x68], r13
lea r9, [rsp + 0x64]
mov qword [rsp + 0x60], r13
lea r8, [rsp + 0x60]
test dil, dil
je 0x18005270f
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.180024cb0
jmp 0x180052725
lea rax, [rsp + 0x68]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.180024cb0
test bl, 8
jne 0x18005272f
call fcn.1800329c0
movss xmm6, dword [0x18008ca64]
jmp 0x180052446
movaps xmm10, xmm7
movss dword [r14 + 0xd4], xmm15
movaps xmm0, xmm14
addss xmm0, xmm10
movss dword [r14 + 0xd0], xmm0
test dil, dil
je 0x180052768
movss xmm2, dword [r15 + 0xc]
jmp 0x18005276c
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, xmm7
unpcklps xmm0, xmm7
movq r9, xmm0
movss dword [rbp - 0x54], xmm1
movss dword [rbp - 0x4c], xmm2
call fcn.1800554c0
lea rdi, [0x18008c4c1]
test al, al
je 0x1800528b2
test bl, 4
jne 0x1800528b2
movups xmm0, xmmword [rbp - 0x58]
mov r11, qword [0x1801aeab8]
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
nop
cmp r9b, 0x23
jne 0x180052813
cmp byte [r8], r9b
jne 0x180052813
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, [0x1800872f0]
inc r8
xor edx, dword [rax + rcx*4]
test r9b, r9b
jne 0x180052800
not edx
cmp dword [r11 + 0x1b38], edx
jne 0x180052848
mov dword [r11 + 0x1b3c], edx
cmp dword [r11 + 0x1b78], edx
jne 0x180052859
mov byte [r11 + 0x1b7c], 1
mov ecx, edx
call fcn.180032370
movss xmm1, dword [r14 + 0x11c]
movss xmm0, dword [rsi + 0x15a4]
subss xmm1, xmm11
addss xmm0, dword [r14 + 0x128]
mov rax, qword [0x1801aeab8]
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 0x1800528bc
call fcn.1800329c0
mov rcx, qword [0x1801aeab8]
mov eax, dword [rcx + 0x1c50]
cmp dword [rcx + 0x1c40], eax
jg 0x180052971
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 xmm7, xmmword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x190]
cmp rcx, rax
je 0x180052ac0
test bl, bl
js 0x180052ac0
test bl, 0x20
jne 0x18005293d
movaps xmm12, xmm8
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.180047ce0
jmp 0x180052ac4
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 0x1800529a7
cmp byte [rdi], r8b
jne 0x1800529a7
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, [0x1800872f0]
inc rdi
xor edx, dword [rax + rcx*4]
test r8b, r8b
jne 0x180052994
mov rax, qword [0x1801aeab8]
not edx
cmp dword [rax + 0x1b38], edx
jne 0x1800529e1
mov dword [rax + 0x1b3c], edx
cmp dword [rax + 0x1b78], edx
jne 0x1800529f0
mov byte [rax + 0x1b7c], 1
mov ecx, edx
call fcn.180032710
test al, al
je 0x1800528dc
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xf0]
mov r13, qword [rsi + 0x1af0]
cmp rcx, rax
je 0x180052a5c
xor r8d, r8d
mov rdx, rax
call fcn.180047ce0
mov rcx, qword [0x1801aeab8]
mov rax, qword [rcx + 0x1af0]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1af0]
cmp byte [rax + 0x83], 0
jne 0x180052a5c
movaps xmm1, xmm6
mov qword [rsp + 0x78], 0
lea rcx, [rsp + 0x78]
call fcn.180028be0
mov rax, qword [0x1801aeab8]
lea r9, [rsi + 0x2f8c]
mulss xmm13, dword [0x18008c964]
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.180053480
movzx r14d, byte [rbp + 0x108]
or r14b, al
mov byte [rbp + 0x108], r14b
call fcn.180032820
jmp 0x1800528e4
mov rdi, qword [rbp - 0x78]
movaps xmm15, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x170]
test r14b, r14b
je 0x180052bf0
test r13, r13
jne 0x180052bf0
cmp byte [rsp + 0x40], r13b
jne 0x180052b16
movdqu xmm0, xmmword [rsp + 0x60]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x18008cbb0]
movups xmmword [rsp + 0x48], xmm1
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x180052b7c
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.180026df0
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 0x180052bba
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.180026d40
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 0x180052bf0
movss xmm0, dword [rsp + 0x54]
movss dword [r15 + 0xc], xmm0
mov rax, qword [0x1801aeab8]
mov rcx, qword [rax + 0x1af0]
dec dword [rcx + 0xc0]
call fcn.180031760
test byte [rdi + 0x118], 1
je 0x180052d5d
bt ebx, 9
jb 0x180052d5d
mov rdi, qword [0x1801aeab8]
cmp byte [rdi + 0x1f7c], 0
je 0x180052d6e
mov rcx, qword [rdi + 0x1af0]
mov edx, dword [rcx + 0x118]
test dl, 1
je 0x180052d6e
mov rax, qword [rdi + 0x1af8]
test rax, rax
je 0x180052d6e
mov rax, qword [rax + 0x368]
cmp qword [rcx + 0x368], rax
jne 0x180052d6e
lea r14, [rcx + 0x12c]
test dl, 2
jne 0x180052c81
lea r14, [rcx + 0x11c]
mov eax, dword [rcx + 0x114]
test eax, eax
jne 0x180052c93
mov rdx, r14
call fcn.1800286d0
cmp dword [rdi + 0x1f9c], eax
je 0x180052d66
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.180036470
test rax, rax
je 0x180052ce7
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 0x180052cef
movzx r14d, byte [rbp + 0x108]
lea rcx, str._COL4F
call fcn.180036470
test rax, rax
je 0x180052d17
mov rdx, qword [rax]
mov rcx, r15
mov r8d, r12d
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r14b, 1
jmp 0x180052d1c
test dil, dil
je 0x180052d4d
bt ebx, 0x1c
jae 0x180052d4d
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.180026d40
mov rdi, qword [0x1801aeab8]
mov byte [rdi + 0x1f7d], 0
jmp 0x180052d6e
mov rdi, qword [0x1801aeab8]
jmp 0x180052d6e
movzx r14d, byte [rbp + 0x108]
mov r12, qword [rsp + 0x1b0]
test r13, r13
je 0x180052d98
mov ecx, dword [rsi + 0x1b38]
test ecx, ecx
je 0x180052d98
cmp qword [rsi + 0x1b68], r13
jne 0x180052d98
mov rax, qword [rbp - 0x78]
mov dword [rax + 0x114], ecx
mov r13, qword [rsp + 0x1a8]
test r14b, r14b
je 0x180052dbc
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