Function at 0x140081eb0
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
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rsi, qword [0x1401d82c8]
mov edi, r8d
mov r14, rdx
mov rbx, rcx
mov rax, qword [rsi + 0x4038]
mov byte [rax + 0xc0], 1
mov rax, qword [rsi + 0x4038]
mov qword [rsp + 0x78], rax
cmp byte [rax + 0xc3], 0
je 0x140081f12
xor al, al
add rsp, 0x1c0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
vmovss xmm0, dword [rsi + 0x3930]
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x1a8], r15
vmovaps xmmword [rsp + 0x190], xmm6
vmovaps xmmword [rsp + 0x180], xmm7
vmovaps xmmword [rsp + 0x170], xmm8
vmovaps xmmword [rsp + 0x160], xmm9
vmovaps xmmword [rsp + 0x150], xmm10
vmovaps xmmword [rsp + 0x140], xmm11
vmovaps xmmword [rsp + 0x130], xmm12
vmovaps xmmword [rsp + 0x120], xmm13
vaddss xmm1, xmm0, xmm0
vaddss xmm9, xmm1, dword [rsi + 0x3d60]
vmovaps xmmword [rsp + 0x110], xmm14
vmovaps xmmword [rsp + 0x100], xmm15
vmovss dword [rsp + 0x70], xmm9
call fcn.140052ce0
vmovss dword [rbp - 0x54], xmm0
vxorps xmm10, xmm10, xmm10
test dil, 0x10
je 0x140081fba
vxorps xmm13, xmm13, xmm13
jmp 0x140081fc2
vaddss xmm13, xmm9, dword [rsi + 0x3944]
mov qword [rbp - 0x78], rbx
mov r15, rbx
vsubss xmm12, xmm0, xmm13
cmp rbx, 0xffffffffffffffff
jae 0x140081ff6
movzx ecx, byte [r15]
test cl, cl
je 0x140081ff2
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x140081fe9
cmp byte [rax], cl
je 0x140081ff2
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x140081fd4
mov qword [rbp - 0x78], r15
xor eax, eax
mov qword [rsi + 0x4988], rax
call fcn.140052ed0
mov rcx, rbx
call fcn.14004fe50
mov eax, dword [rsi + 0x5de0]
mov rbx, qword [rsp + 0x78]
mov dword [rbp - 0x50], eax
test eax, eax
jne 0x140082036
movsxd rcx, dword [rbx + 0x100]
mov rax, qword [rbx + 0x108]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [rsi + 0x5de0], ecx
mov dword [rbp - 0x58], edi
test dil, 0x20
je 0x14008204b
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x14008205b
mov edx, edi
mov rcx, r14
call fcn.140085e00
test edi, 0x700000
jne 0x140082070
mov eax, dword [rsi + 0x5ddc]
and eax, 0x700000
or edi, eax
test edi, 0x1800000
jne 0x140082085
mov eax, dword [rsi + 0x5ddc]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x14008209a
mov eax, dword [rsi + 0x5ddc]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x1400820af
mov eax, dword [rsi + 0x5ddc]
and eax, 0x18000000
or edi, eax
mov eax, dword [rsi + 0x5ddc]
vmovss xmm6, dword [r14]
vmovss xmm7, dword [r14 + 4]
vmovss xmm8, dword [r14 + 8]
vmovss xmm11, dword [0x14011f014]
and eax, 0xe00fffff
or edi, eax
mov eax, edi
mov dword [rbp + 0x100], edi
shr eax, 1
mov r13d, edi
shr r13d, 0x13
not al
and al, 1
and r13b, 1
movzx edx, al
mov dword [rsp + 0x5c], edx
vmovss dword [rsp + 0x48], xmm6
vmovss dword [rsp + 0x4c], xmm7
lea ecx, [rdx + 3]
mov dword [rsp + 0x58], ecx
vmovss dword [rsp + 0x50], xmm8
test al, al
je 0x14008211a
vmovss xmm5, dword [r14 + 0xc]
jmp 0x14008211f
vmovaps xmm5, xmm11
mov eax, edi
and eax, 0x10100000
vmovss dword [rsp + 0x54], xmm5
cmp eax, 0x10100000
jne 0x140082160
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
vmovaps xmm2, xmm8
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.140042b00
jmp 0x1400821b0
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1400821d0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
vmovaps xmm2, xmm8
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.140042a10
lea r9, [rsp + 0x50]
mov rcx, r14
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x48]
call fcn.140070f50
mov edx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
vmovss xmm6, dword [rsp + 0x48]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm8, dword [rsp + 0x50]
vmovss xmm5, dword [rsp + 0x54]
vmovss xmm2, dword [0x14011f1bc]
vmovss xmm4, dword [0x14011efc0]
vmovss xmm3, dword [0x14011f258]
vcmpless xmm0, xmm10, xmm6
vblendvps xmm0, xmm3, xmm4, xmm0
vfmadd231ss xmm0, xmm6, xmm2
vcvttss2si eax, xmm0
mov dword [rsp + 0x60], eax
xor r10d, r10d
vcmpless xmm0, xmm10, xmm7
vblendvps xmm1, xmm3, xmm4, xmm0
vfmadd231ss xmm1, xmm7, xmm2
vcvttss2si eax, xmm1
mov dword [rsp + 0x64], eax
xor r12b, r12b
mov byte [rsp + 0x40], r12b
vcmpless xmm0, xmm10, xmm8
vblendvps xmm1, xmm3, xmm4, xmm0
vfmadd231ss xmm1, xmm8, xmm2
vcvttss2si eax, xmm1
mov dword [rsp + 0x68], eax
vcmpless xmm0, xmm10, xmm5
vblendvps xmm1, xmm3, xmm4, xmm0
vmovd xmm0, dword [rsi + 0x398c]
vfmadd231ss xmm1, xmm5, xmm2
vcvttss2si eax, xmm1
mov dword [rsp + 0x6c], eax
vmovss xmm15, dword [rbx + 0x110]
vmovss xmm14, dword [rbx + 0x114]
vmovd xmm1, r10d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm10, xmm13, xmm2
vaddss xmm1, xmm0, xmm15
vmovss dword [rbx + 0x110], xmm1
test edi, 0x300000
je 0x14008261c
test dil, 0x20
jne 0x14008261c
vmovss xmm3, dword [rsi + 0x3944]
lea eax, [rcx - 1]
mov qword [rsp + 0x30], r10
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmovaps xmm1, xmm12
vxorps xmm2, xmm2, xmm2
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, eax
vfnmadd231ss xmm1, xmm4, xmm3
vdivss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
vcvtsi2ss xmm2, xmm2, eax
vmaxss xmm8, xmm2, xmm11
vaddss xmm0, xmm3, xmm8
vmovaps xmm1, xmm12
vfnmadd231ss xmm1, xmm4, xmm0
vcvttss2si eax, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov ecx, edi
lea rdx, str.M:0.000
and ecx, 0x1000000
lea rax, str.M:000
mov dword [rbp + 0x108], ecx
mov rcx, qword [0x1401d82c8]
cmovne rax, rdx
vmaxss xmm9, xmm0, xmm11
vmovss xmm0, dword [0x14011f268]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x68]
vmovss xmm2, dword [rcx + 0x3d60]
mov rcx, qword [rcx + 0x3d58]
vmovss dword [rsp + 0x20], xmm0
call fcn.14006ca80
vmovss xmm0, dword [rbp - 0x68]
vaddss xmm1, xmm0, dword [0x14011f00c]
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vcomiss xmm8, xmm2
ja 0x140082377
xor r10d, r10d
mov qword [rbp - 0x80], r10
jmp 0x14008238e
bt edi, 0x15
mov r10d, 0
mov eax, r10d
setb al
inc rax
mov qword [rbp - 0x80], rax
mov edx, dword [rsp + 0x58]
mov ebx, r10d
test edx, edx
je 0x1400827ef
cmp dword [rbp + 0x108], 0
je 0x140082503
mov r14, qword [rbp - 0x80]
lea r12, [rsp + 0x48]
vmovss xmm7, dword [0x14011ef40]
movzx eax, r13b
lea r13, [0x14011e460]
vmovd xmm0, eax
mov eax, edi
shl r14, 5
and eax, 8
sub r14, r13
mov dword [rbp + 0x108], eax
lea rax, str._0.3f
mov r15d, dword [rbp + 0x108]
add r14, rax
vmovd xmm1, r10d
vpcmpeqd xmm2, xmm0, xmm1
xor dil, dil
vblendvps xmm6, xmm10, xmm11, xmm2
nop
test ebx, ebx
je 0x140082411
vmovss xmm1, dword [rsi + 0x3944]
call fcn.140052b60
mov rcx, qword [0x1401d82c8]
lea eax, [rbx + 1]
vmovd xmm1, eax
mov ebx, eax
mov r8, r12
mov rax, qword [r14 + r13]
or dword [rcx + 0x4988], 1
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x108]
vmovd xmm0, edx
mov qword [rsp + 0x28], rax
mov edx, 8
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm9, xmm8, xmm2
lea rax, [rbp - 0x80]
vmovss dword [rcx + 0x4990], xmm0
mov rcx, qword [r13]
vmovaps xmm3, xmm7
mov qword [rsp + 0x20], rax
vmovss dword [rbp + 0x108], xmm6
vmovss dword [rbp - 0x80], xmm10
call fcn.14007b540
or dil, al
or byte [rsp + 0x40], dil
test r15d, r15d
jne 0x140082490
call fcn.1400543e0
mov edx, dword [rsp + 0x58]
add r12, 4
add r13, 8
cmp ebx, edx
jl 0x140082400
vmovss xmm9, dword [rsp + 0x70]
mov r14, qword [rbp + 0xf8]
mov r15, qword [rbp - 0x78]
mov byte [rbp + 0x108], dil
mov edi, dword [rbp + 0x100]
movzx r12d, byte [rbp + 0x108]
xor r10d, r10d
mov rbx, qword [rsp + 0x78]
mov r13, r10
test dil, 0x10
jne 0x140082902
test dil, 0x20
jne 0x1400827fa
cmp dword [rsi + 0x398c], 0
je 0x1400827fa
vaddss xmm0, xmm12, dword [rsi + 0x3944]
jmp 0x1400827ff
test edx, edx
je 0x1400827ef
mov r14, qword [rbp - 0x80]
test r13b, r13b
mov eax, edi
lea r13, [0x14011e460]
mov ebx, 0xff
mov r12, r10
cmovne ebx, r10d
mov r15d, r10d
and eax, 8
shl r14, 5
mov dword [rbp - 0x68], eax
lea rax, [0x14011e4e0]
add r14, rax
xor dil, dil
mov r8d, r15d
test r15d, r15d
je 0x140082556
vmovss xmm1, dword [rsi + 0x3944]
call fcn.140052b60
mov rcx, qword [0x1401d82c8]
lea eax, [r15 + 1]
vmovd xmm1, eax
vmovd xmm0, edx
mov rdx, qword [r14 + r12*8]
mov r15d, eax
or dword [rcx + 0x4988], 1
mov rax, r8
mov qword [rsp + 0x30], rdx
lea r8, [rsp + 0x60]
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm9, xmm8, xmm2
lea r8, [r8 + rax*4]
mov dword [rbp + 0x108], ebx
lea rax, [rbp + 0x108]
mov dword [rbp - 0x80], r10d
mov qword [rsp + 0x28], rax
mov edx, 4
lea rax, [rbp - 0x80]
vmovss dword [rcx + 0x4990], xmm0
mov rcx, qword [r13 + r12*8]
vmovaps xmm3, xmm11
mov qword [rsp + 0x20], rax
call fcn.14007b540
or dil, al
cmp dword [rbp - 0x68], 0
jne 0x1400825db
call fcn.1400543e0
mov edx, dword [rsp + 0x58]
inc r12
mov r10d, 0
cmp r12, rdx
jl 0x140082541
vmovss xmm9, dword [rsp + 0x70]
mov r14, qword [rbp + 0xf8]
mov r15, qword [rbp - 0x78]
mov byte [rbp + 0x108], dil
mov edi, dword [rbp + 0x100]
movzx r12d, byte [rbp + 0x108]
jmp 0x1400824cd
bt edi, 0x16
jae 0x1400824d2
test dil, 0x20
jne 0x1400824d2
mov ebx, 0xff
test dl, dl
je 0x1400826a8
mov edx, dword [rsp + 0x6c]
test edx, edx
jns 0x140082646
mov edx, r10d
jmp 0x14008264b
cmp edx, ebx
cmovg edx, ebx
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jns 0x140082658
mov ecx, r10d
jmp 0x14008265d
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x64]
test eax, eax
jns 0x14008266a
mov eax, r10d
jmp 0x14008266f
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x14008267e
mov r9d, r10d
jmp 0x140082685
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x30], edx
lea r8, [0x14011e730]
mov dword [rsp + 0x28], ecx
mov edx, 0x40
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x20], eax
call fcn.140041d10
jmp 0x1400826ff
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jns 0x1400826b5
mov ecx, r10d
jmp 0x1400826ba
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x64]
test eax, eax
jns 0x1400826c7
mov eax, r10d
jmp 0x1400826cc
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x1400826db
mov r9d, r10d
jmp 0x1400826e2
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x28], ecx
lea r8, [0x14011e400]
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x20], eax
mov edx, 0x40
call fcn.140041d10
mov rax, qword [0x1401d82c8]
lea r8, [rbp - 0x40]
xor r13d, r13d
lea rcx, str.Text
mov qword [rsp + 0x38], r13
mov r9d, 0x40
mov qword [rsp + 0x30], r13
xor edx, edx
or dword [rax + 0x4988], 1
vmovss dword [rax + 0x4990], xmm12
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 6
mov qword [rsp + 0x20], rax
vmovss dword [rbp + 0x108], xmm10
vmovss dword [rbp + 0x10c], xmm10
call fcn.14007ea90
test al, al
je 0x1400827db
mov r12b, 1
lea rcx, [rbp - 0x40]
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x14008277f
cmp al, 0x20
je 0x14008277f
cmp al, 9
jne 0x140082784
inc rcx
jmp 0x140082770
lea r9, [rsp + 0x64]
mov qword [rsp + 0x64], r13
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x6c], ebx
cmp byte [rsp + 0x5c], r13b
je 0x1400827c5
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.140040480
jmp 0x1400827db
lea rax, [rsp + 0x68]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.140040480
test dil, 8
jne 0x1400824ca
call fcn.1400543e0
jmp 0x1400824ca
vmovss xmm9, dword [rsp + 0x70]
jmp 0x1400824cd
vmovaps xmm0, xmm10
cmp byte [rsp + 0x5c], 0
vaddss xmm0, xmm15, xmm0
vmovss dword [rbx + 0x110], xmm0
vmovss dword [rbx + 0x114], xmm14
je 0x140082820
vmovss xmm11, dword [r14 + 0xc]
vmovss xmm0, dword [r14]
vmovss xmm1, dword [r14 + 4]
vmovss dword [rbp - 0x68], xmm0
vmovss xmm0, dword [r14 + 8]
lea r9, [rbp - 0x78]
mov r8d, edi
lea rdx, [rbp - 0x68]
lea rcx, str.ColorButton
vmovss dword [rbp - 0x60], xmm0
vmovss dword [rbp - 0x64], xmm1
vmovss dword [rbp - 0x5c], xmm11
vmovss dword [rbp - 0x78], xmm10
vmovss dword [rbp - 0x74], xmm10
call fcn.140085190
test al, al
je 0x1400828d4
test dil, 4
jne 0x1400828d4
vmovups xmm0, xmmword [rbp - 0x68]
lea rcx, [0x14011e330]
vmovups xmmword [rsi + 0x5df4], xmm0
call fcn.140053ce0
vmovss xmm0, dword [rsi + 0x3940]
mov rax, qword [0x1401d82c8]
vmovss xmm2, dword [rsi + 0x49b4]
vaddss xmm1, xmm0, dword [rsi + 0x49c0]
or dword [rax + 0x49e8], 1
vmovss dword [rax + 0x49f8], xmm2
vmovss dword [rax + 0x49fc], xmm1
mov qword [rax + 0x4a00], 0
mov dword [rax + 0x49ec], 1
test dil, 8
jne 0x1400828df
call fcn.1400543e0
mov rcx, qword [0x1401d82c8]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140082a56
mov dword [rcx + 0x49e8], 0
mov rbx, qword [rbp + 0xf0]
vmovaps xmm14, xmmword [rsp + 0x110]
vmovaps xmm12, xmmword [rsp + 0x130]
vmovaps xmm11, xmmword [rsp + 0x140]
vmovaps xmm9, xmmword [rsp + 0x160]
cmp rbx, r15
je 0x140082977
test dil, dil
js 0x140082977
vmovss xmm1, dword [rsi + 0x3944]
call fcn.140052b60
test dil, 0x20
jne 0x140082957
vmovss xmm0, dword [rbp - 0x54]
vaddss xmm13, xmm0, dword [rsi + 0x3944]
mov rax, qword [rsp + 0x78]
xor r8d, r8d
vaddss xmm0, xmm15, xmm13
mov rdx, r15
mov rcx, rbx
vmovss dword [rax + 0x110], xmm0
call fcn.1400782a0
mov r15, qword [rsp + 0x1a8]
vmovaps xmm15, xmmword [rsp + 0x100]
vmovaps xmm13, xmmword [rsp + 0x120]
test r12b, r12b
je 0x140082bed
test r13, r13
jne 0x140082bed
cmp byte [rsp + 0x40], r13b
jne 0x1400829be
vcvtdq2ps xmm0, xmmword [rsp + 0x60]
vmulps xmm0, xmm0, xmmword [0x14011f380]
vmovups xmmword [rsp + 0x48], xmm0
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140082b6c
vmovss xmm0, dword [rsp + 0x48]
vmovss xmm1, dword [rsp + 0x4c]
vmovss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
vmovss dword [rsi + 0x5de8], xmm0
vmovss dword [rsi + 0x5dec], xmm1
call fcn.140042b00
mov eax, dword [rsi + 0x5de0]
lea rcx, [rbp - 0x78]
vmovss xmm6, dword [rsp + 0x48]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm8, dword [rsp + 0x50]
vmovss dword [rbp - 0x78], xmm6
vmovss dword [rbp - 0x74], xmm7
vmovss dword [rbp - 0x70], xmm8
mov dword [rsi + 0x5de4], eax
vmovss dword [rbp - 0x6c], xmm10
call fcn.140042960
mov dword [rsi + 0x5df0], eax
jmp 0x140082b7e
mov r10, qword [rcx + 0x4038]
lea rdx, [0x14011e331]
mov r8b, 0x70
lea r11, [0x1401184e0]
movsxd rcx, dword [r10 + 0x100]
mov rax, qword [r10 + 0x108]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x140082a9a
cmp byte [rdx], r8b
jne 0x140082a9a
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 0x140082a87
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x140082ad7
lea r8, [0x14011e330]
mov edx, 0xb
mov ecx, ebx
call fcn.14005a5b0
mov ecx, ebx
call fcn.1400542e0
test al, al
je 0x140082902
mov rax, qword [rsi + 0x4038]
mov rbx, qword [rbp + 0xf0]
cmp word [rax + 0xcc], 1
jne 0x140082b62
mov r13, rax
cmp rbx, r15
je 0x140082b19
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1400782a0
call fcn.14007ab30
mov rax, qword [0x1401d82c8]
lea r9, [rsi + 0x5df4]
mov r8d, dword [rbp - 0x58]
lea rcx, str.picker
vmulss xmm0, xmm9, dword [0x14011f11c]
and r8d, 0x1f890002
mov rdx, r14
or dword [rax + 0x4988], 1
or r8d, 0x740080
vmovss dword [rax + 0x4990], xmm0
call fcn.140083130
or r12b, al
call fcn.140054370
jmp 0x140082909
vmovss xmm8, dword [rsp + 0x50]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm6, dword [rsp + 0x48]
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x140082bc9
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x4c]
vmovaps xmm2, xmm8
vmovaps xmm1, xmm7
vmovaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.140042a10
vmovss xmm8, dword [rsp + 0x50]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm6, dword [rsp + 0x48]
cmp byte [rsp + 0x5c], 0
vmovss dword [r14], xmm6
vmovss dword [r14 + 4], xmm7
vmovss dword [r14 + 8], xmm8
je 0x140082bed
vmovss xmm0, dword [rsp + 0x54]
vmovss dword [r14 + 0xc], xmm0
cmp dword [rbp - 0x50], 0
vmovaps xmm10, xmmword [rsp + 0x150]
vmovaps xmm8, xmmword [rsp + 0x170]
vmovaps xmm7, xmmword [rsp + 0x180]
vmovaps xmm6, xmmword [rsp + 0x190]
jne 0x140082c21
mov dword [rsi + 0x5de0], 0
mov rax, qword [0x1401d82c8]
mov rcx, qword [rax + 0x4038]
dec dword [rcx + 0x100]
call fcn.140053010
test byte [rsi + 0x49b0], 1
je 0x140082d05
bt edi, 9
jb 0x140082d05
call fcn.140058ae0
test al, al
je 0x140082d05
lea rcx, str._COL3F
xor bl, bl
call fcn.140058bc0
test rax, rax
je 0x140082c8a
mov rax, qword [rax]
mov bl, 1
movzx r12d, bl
vmovsd xmm0, qword [rax]
vmovsd qword [r14], xmm0
mov eax, dword [rax + 8]
mov dword [r14 + 8], eax
lea rcx, str._COL4F
call fcn.140058bc0
test rax, rax
je 0x140082cb4
mov r8d, dword [rsp + 0x58]
mov rcx, r14
mov rdx, qword [rax]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
jmp 0x140082cb8
test bl, bl
je 0x140082ce9
bt edi, 0x1c
jae 0x140082ce9
vmovss xmm2, dword [r14 + 8]
vmovss xmm1, dword [r14 + 4]
vmovss xmm0, dword [r14]
lea rax, [r14 + 8]
mov r9, r14
mov qword [rsp + 0x28], rax
lea rcx, [r14 + 4]
mov qword [rsp + 0x20], rcx
call fcn.140042a10
mov rax, qword [0x1401d82c8]
cmp byte [rax + 0x4d6a], 0
mov byte [rax + 0x4d22], 0
je 0x140082d05
call fcn.1400589c0
test r13, r13
je 0x140082d23
mov eax, dword [rsi + 0x409c]
test eax, eax
je 0x140082d23
cmp qword [rsi + 0x40b8], r13
jne 0x140082d23
mov dword [rsi + 0x49a8], eax
mov r13, qword [rsp + 0x1b0]
test r12b, r12b
je 0x140082d69
mov eax, dword [rsi + 0x49a8]
test eax, eax
je 0x140082d69
mov rcx, qword [0x1401d82c8]
cmp word [rcx + 0x5e66], 0
jg 0x140082d69
mov edx, dword [rcx + 0x409c]
cmp edx, eax
je 0x140082d59
test edx, edx
jne 0x140082d62
mov word [rcx + 0x40ac], 0x101
or dword [rcx + 0x49b0], 4
movzx eax, r12b
mov r12, qword [rsp + 0x1b8]
add rsp, 0x1c0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret