Function at 0x1400801f0
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 - 0xd0]
sub rsp, 0x1d0
mov rsi, qword [0x14014adf8]
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 + 0x70], rax
cmp byte [rax + 0xc3], 0
je 0x140080252
xor al, al
add rsp, 0x1d0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
vmovss xmm0, dword [rsi + 0x3930]
mov qword [rsp + 0x1c8], r12
mov qword [rsp + 0x1c0], r13
mov qword [rsp + 0x1b8], r15
vmovaps xmmword [rsp + 0x1a0], xmm6
vmovaps xmmword [rsp + 0x190], xmm7
vmovaps xmmword [rsp + 0x180], xmm8
vmovaps xmmword [rsp + 0x170], xmm9
vmovaps xmmword [rsp + 0x160], xmm10
vmovaps xmmword [rsp + 0x150], xmm11
vmovaps xmmword [rsp + 0x140], xmm12
vmovaps xmmword [rsp + 0x130], xmm13
vaddss xmm1, xmm0, xmm0
vaddss xmm9, xmm1, dword [rsi + 0x3d60]
vmovaps xmmword [rsp + 0x120], xmm14
vmovaps xmmword [rsp + 0x110], xmm15
vmovss dword [rsp + 0x68], xmm9
call fcn.14004fda0
vmovss dword [rbp - 0x44], xmm0
vxorps xmm10, xmm10, xmm10
test dil, 0x10
je 0x1400802fa
vxorps xmm13, xmm13, xmm13
jmp 0x140080302
vaddss xmm13, xmm9, dword [rsi + 0x3944]
mov qword [rbp - 0x68], rbx
mov r15, rbx
vsubss xmm12, xmm0, xmm13
cmp rbx, 0xffffffffffffffff
jae 0x140080336
movzx ecx, byte [r15]
test cl, cl
je 0x140080332
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x140080329
cmp byte [rax], cl
je 0x140080332
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x140080314
mov qword [rbp - 0x68], r15
xor eax, eax
mov qword [rsi + 0x4988], rax
call fcn.14004ff90
mov rcx, rbx
call fcn.14004ce60
mov eax, dword [rsi + 0x5de0]
mov rbx, qword [rsp + 0x70]
mov dword [rbp - 0x40], eax
test eax, eax
jne 0x140080376
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 - 0x48], edi
test dil, 0x20
je 0x14008038b
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x14008039b
mov edx, edi
mov rcx, r14
call fcn.140083ff0
test edi, 0x700000
jne 0x1400803b0
mov eax, dword [rsi + 0x5ddc]
and eax, 0x700000
or edi, eax
test edi, 0x1800000
jne 0x1400803c5
mov eax, dword [rsi + 0x5ddc]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x1400803da
mov eax, dword [rsi + 0x5ddc]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x1400803ef
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 [0x140099c74]
and eax, 0xe00fffff
or edi, eax
mov eax, edi
mov dword [rbp + 0x110], edi
shr eax, 1
mov r13d, edi
shr r13d, 0x13
not al
and al, 1
and r13b, 1
movzx edx, al
mov dword [rsp + 0x64], edx
vmovss dword [rsp + 0x48], xmm6
vmovss dword [rsp + 0x4c], xmm7
lea ecx, [rdx + 3]
mov dword [rsp + 0x60], ecx
vmovss dword [rsp + 0x50], xmm8
test al, al
je 0x14008045a
vmovss xmm5, dword [r14 + 0xc]
jmp 0x14008045f
vmovaps xmm5, xmm11
mov eax, edi
and eax, 0x10100000
vmovss dword [rsp + 0x54], xmm5
cmp eax, 0x10100000
jne 0x1400804a0
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.14003fb40
jmp 0x1400804f0
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140080510
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.14003fa50
lea r9, [rsp + 0x50]
mov rcx, r14
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x48]
call fcn.14006ebd0
mov edx, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x60]
vmovss xmm6, dword [rsp + 0x48]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm8, dword [rsp + 0x50]
vmovss xmm5, dword [rsp + 0x54]
vmovss xmm2, dword [0x140099e10]
vmovss xmm4, dword [0x140099c28]
vmovss xmm3, dword [0x140099e80]
vcmpless xmm0, xmm10, xmm6
vblendvps xmm0, xmm3, xmm4, xmm0
vfmadd231ss xmm0, xmm6, xmm2
vcvttss2si eax, xmm0
mov dword [rsp + 0x78], eax
xor r10d, r10d
vcmpless xmm0, xmm10, xmm7
vblendvps xmm1, xmm3, xmm4, xmm0
vfmadd231ss xmm1, xmm7, xmm2
vcvttss2si eax, xmm1
mov dword [rsp + 0x7c], 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 [rbp - 0x80], eax
vcmpless xmm0, xmm10, xmm5
vblendvps xmm1, xmm3, xmm4, xmm0
vmovd xmm0, dword [rsi + 0x398c]
vfmadd231ss xmm1, xmm5, xmm2
vcvttss2si eax, xmm1
mov dword [rbp - 0x7c], 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 0x14008095c
test dil, 0x20
jne 0x14008095c
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 + 0x118], ecx
mov rcx, qword [0x14014adf8]
cmovne rax, rdx
vmaxss xmm9, xmm0, xmm11
vmovss xmm0, dword [0x140099e90]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x58]
vmovss xmm2, dword [rcx + 0x3d60]
mov rcx, qword [rcx + 0x3d58]
vmovss dword [rsp + 0x20], xmm0
call fcn.14006a430
vmovss xmm0, dword [rbp - 0x58]
vaddss xmm1, xmm0, dword [0x140099c6c]
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vcomiss xmm8, xmm2
ja 0x1400806b5
xor r10d, r10d
mov qword [rbp - 0x70], r10
jmp 0x1400806cc
bt edi, 0x15
mov r10d, 0
mov eax, r10d
setb al
inc rax
mov qword [rbp - 0x70], rax
mov edx, dword [rsp + 0x60]
mov ebx, r10d
test edx, edx
je 0x140080b1f
cmp dword [rbp + 0x118], 0
je 0x140080843
mov r14, qword [rbp - 0x70]
lea r12, [rsp + 0x48]
vmovss xmm7, dword [0x140099bac]
movzx eax, r13b
lea r13, [0x1400990e0]
vmovd xmm0, eax
mov eax, edi
shl r14, 5
and eax, 8
sub r14, r13
mov dword [rbp + 0x118], eax
lea rax, str._0.3f
mov r15d, dword [rbp + 0x118]
add r14, rax
vmovd xmm1, r10d
vpcmpeqd xmm2, xmm0, xmm1
xor dil, dil
vblendvps xmm6, xmm10, xmm11, xmm2
nop dword [rax]
test ebx, ebx
je 0x140080751
vmovss xmm1, dword [rsi + 0x3944]
call fcn.14004fc20
mov rcx, qword [0x14014adf8]
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 + 0x118]
vmovd xmm0, edx
mov qword [rsp + 0x28], rax
mov edx, 8
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm9, xmm8, xmm2
lea rax, [rbp - 0x70]
vmovss dword [rcx + 0x4990], xmm0
mov rcx, qword [r13]
vmovaps xmm3, xmm7
mov qword [rsp + 0x20], rax
vmovss dword [rbp + 0x118], xmm6
vmovss dword [rbp - 0x70], xmm10
call fcn.140079530
or dil, al
or byte [rsp + 0x40], dil
test r15d, r15d
jne 0x1400807d0
call fcn.1400514b0
mov edx, dword [rsp + 0x60]
add r12, 4
add r13, 8
cmp ebx, edx
jl 0x140080740
vmovss xmm9, dword [rsp + 0x68]
mov r14, qword [rbp + 0x108]
mov r15, qword [rbp - 0x68]
mov byte [rbp + 0x118], dil
mov edi, dword [rbp + 0x110]
movzx r12d, byte [rbp + 0x118]
xor r10d, r10d
mov rbx, qword [rsp + 0x70]
mov r13, r10
test dil, 0x10
jne 0x140080c33
test dil, 0x20
jne 0x140080b2a
cmp dword [rsi + 0x398c], 0
je 0x140080b2a
vaddss xmm0, xmm12, dword [rsi + 0x3944]
jmp 0x140080b2f
test edx, edx
je 0x140080b1f
mov r14, qword [rbp - 0x70]
test r13b, r13b
mov eax, edi
lea r13, [0x1400990e0]
mov ebx, 0xff
mov r12, r10
cmovne ebx, r10d
mov r15d, r10d
and eax, 8
shl r14, 5
mov dword [rbp - 0x58], eax
lea rax, [0x140099160]
add r14, rax
xor dil, dil
mov r8d, r15d
test r15d, r15d
je 0x140080896
vmovss xmm1, dword [rsi + 0x3944]
call fcn.14004fc20
mov rcx, qword [0x14014adf8]
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 + 0x78]
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm9, xmm8, xmm2
lea r8, [r8 + rax*4]
mov dword [rbp + 0x118], ebx
lea rax, [rbp + 0x118]
mov dword [rbp - 0x70], r10d
mov qword [rsp + 0x28], rax
mov edx, 4
lea rax, [rbp - 0x70]
vmovss dword [rcx + 0x4990], xmm0
mov rcx, qword [r13 + r12*8]
vmovaps xmm3, xmm11
mov qword [rsp + 0x20], rax
call fcn.140079530
or dil, al
cmp dword [rbp - 0x58], 0
jne 0x14008091b
call fcn.1400514b0
mov edx, dword [rsp + 0x60]
inc r12
mov r10d, 0
cmp r12, rdx
jl 0x140080881
vmovss xmm9, dword [rsp + 0x68]
mov r14, qword [rbp + 0x108]
mov r15, qword [rbp - 0x68]
mov byte [rbp + 0x118], dil
mov edi, dword [rbp + 0x110]
movzx r12d, byte [rbp + 0x118]
jmp 0x14008080d
bt edi, 0x16
jae 0x140080812
test dil, 0x20
jne 0x140080812
mov ebx, 0xff
test dl, dl
je 0x1400809e6
mov edx, dword [rbp - 0x7c]
test edx, edx
jns 0x140080985
mov edx, r10d
jmp 0x14008098a
cmp edx, ebx
cmovg edx, ebx
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jns 0x140080996
mov ecx, r10d
jmp 0x14008099b
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x7c]
test eax, eax
jns 0x1400809a8
mov eax, r10d
jmp 0x1400809ad
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x78]
test r9d, r9d
jns 0x1400809bc
mov r9d, r10d
jmp 0x1400809c3
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.14003ee70
jmp 0x140080a3c
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jns 0x1400809f2
mov ecx, r10d
jmp 0x1400809f7
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x7c]
test eax, eax
jns 0x140080a04
mov eax, r10d
jmp 0x140080a09
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x78]
test r9d, r9d
jns 0x140080a18
mov r9d, r10d
jmp 0x140080a1f
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x28], ecx
lea r8, [0x140099060]
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x20], eax
mov edx, 0x40
call fcn.14003ee70
mov rax, qword [0x14014adf8]
lea r8, [rbp - 0x30]
xor r13d, r13d
lea rcx, str.Text
mov qword [rsp + 0x38], r13
xor edx, edx
mov qword [rsp + 0x30], r13
or dword [rax + 0x4988], 1
vmovss dword [rax + 0x4990], xmm12
lea rax, [rbp + 0x118]
mov dword [rsp + 0x28], 6
lea r9d, [r13 + 0x40]
mov qword [rsp + 0x20], rax
vmovss dword [rbp + 0x118], xmm10
vmovss dword [rbp + 0x11c], xmm10
call fcn.14007cdc0
test al, al
je 0x140080b0b
mov r12b, 1
lea rcx, [rbp - 0x30]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x140080ab3
cmp al, 0x20
je 0x140080ab3
cmp al, 9
jne 0x140080ab8
inc rcx
jmp 0x140080aa4
lea r9, [rsp + 0x7c]
mov qword [rsp + 0x7c], r13
lea r8, [rsp + 0x78]
mov dword [rsp + 0x78], r13d
mov dword [rbp - 0x7c], ebx
cmp byte [rsp + 0x64], r13b
je 0x140080af6
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, [0x1400993b0]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.14003d680
jmp 0x140080b0b
lea rax, [rbp - 0x80]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.14003d680
test dil, 8
jne 0x14008080a
call fcn.1400514b0
jmp 0x14008080a
vmovss xmm9, dword [rsp + 0x68]
jmp 0x14008080d
vmovaps xmm0, xmm10
cmp byte [rsp + 0x64], 0
vaddss xmm0, xmm0, xmm15
vmovss dword [rbx + 0x110], xmm0
vmovss dword [rbx + 0x114], xmm14
je 0x140080b51
vmovss xmm11, dword [r14 + 0xc]
vmovss xmm0, dword [r14]
vmovss xmm1, dword [r14 + 4]
vmovss dword [rbp - 0x58], xmm0
vmovss xmm0, dword [r14 + 8]
lea r9, [rbp - 0x68]
mov r8d, edi
lea rdx, [rbp - 0x58]
lea rcx, str.ColorButton
vmovss dword [rbp - 0x50], xmm0
vmovss dword [rbp - 0x54], xmm1
vmovss dword [rbp - 0x4c], xmm11
vmovss dword [rbp - 0x68], xmm10
vmovss dword [rbp - 0x64], xmm10
call fcn.140083380
test al, al
je 0x140080c05
test dil, 4
jne 0x140080c05
vmovups xmm0, xmmword [rbp - 0x58]
lea rcx, [0x140098fb4]
vmovups xmmword [rsi + 0x5df4], xmm0
call fcn.140050d90
vmovss xmm0, dword [rsi + 0x3940]
mov rax, qword [0x14014adf8]
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 0x140080c10
call fcn.1400514b0
mov rcx, qword [0x14014adf8]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140080d87
mov dword [rcx + 0x49e8], 0
mov rbx, qword [rbp + 0x100]
vmovaps xmm14, xmmword [rsp + 0x120]
vmovaps xmm12, xmmword [rsp + 0x140]
vmovaps xmm11, xmmword [rsp + 0x150]
vmovaps xmm9, xmmword [rsp + 0x170]
cmp rbx, r15
je 0x140080ca8
test dil, dil
js 0x140080ca8
vmovss xmm1, dword [rsi + 0x3944]
call fcn.14004fc20
test dil, 0x20
jne 0x140080c88
vmovss xmm0, dword [rbp - 0x44]
vaddss xmm13, xmm0, dword [rsi + 0x3944]
mov rax, qword [rsp + 0x70]
xor r8d, r8d
vaddss xmm0, xmm13, xmm15
mov rdx, r15
mov rcx, rbx
vmovss dword [rax + 0x110], xmm0
call fcn.140076270
vmovaps xmm15, xmmword [rsp + 0x110]
vmovaps xmm13, xmmword [rsp + 0x130]
mov r15, qword [rsp + 0x1b8]
test r12b, r12b
je 0x140080f1e
test r13, r13
jne 0x140080f1e
cmp byte [rsp + 0x40], r13b
jne 0x140080cef
vcvtdq2ps xmm1, xmmword [rsp + 0x78]
vmulps xmm1, xmm1, xmmword [0x140099fa0]
vmovups xmmword [rsp + 0x48], xmm1
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140080e9d
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.14003fb40
mov eax, dword [rsi + 0x5de0]
lea rcx, [rbp - 0x68]
vmovss xmm6, dword [rsp + 0x48]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm8, dword [rsp + 0x50]
vmovss dword [rbp - 0x68], xmm6
vmovss dword [rbp - 0x64], xmm7
vmovss dword [rbp - 0x60], xmm8
mov dword [rsi + 0x5de4], eax
vmovss dword [rbp - 0x5c], xmm10
call fcn.14003f9a0
mov dword [rsi + 0x5df0], eax
jmp 0x140080eaf
mov r10, qword [rcx + 0x4038]
lea rdx, [0x140098fb5]
mov r8b, 0x70
lea r11, [0x140093320]
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 0x140080dcb
cmp byte [rdx], r8b
jne 0x140080dcb
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 0x140080db8
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x140080e08
lea r8, [0x140098fb4]
mov edx, 0xb
mov ecx, ebx
call fcn.140057750
mov ecx, ebx
call fcn.1400513b0
test al, al
je 0x140080c33
mov rax, qword [rsi + 0x4038]
mov rbx, qword [rbp + 0x100]
cmp word [rax + 0xcc], 1
jne 0x140080e93
mov r13, rax
cmp rbx, r15
je 0x140080e4a
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.140076270
call fcn.140078b10
mov rax, qword [0x14014adf8]
lea r9, [rsi + 0x5df4]
mov r8d, dword [rbp - 0x48]
lea rcx, str.picker
vmulss xmm0, xmm9, dword [0x140099d74]
and r8d, 0x1f890002
mov rdx, r14
or dword [rax + 0x4988], 1
or r8d, 0x740080
vmovss dword [rax + 0x4990], xmm0
call fcn.140081460
or r12b, al
call fcn.140051440
jmp 0x140080c3a
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 0x140080efa
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.14003fa50
vmovss xmm8, dword [rsp + 0x50]
vmovss xmm7, dword [rsp + 0x4c]
vmovss xmm6, dword [rsp + 0x48]
cmp byte [rsp + 0x64], 0
vmovss dword [r14], xmm6
vmovss dword [r14 + 4], xmm7
vmovss dword [r14 + 8], xmm8
je 0x140080f1e
vmovss xmm0, dword [rsp + 0x54]
vmovss dword [r14 + 0xc], xmm0
cmp dword [rbp - 0x40], 0
vmovaps xmm10, xmmword [rsp + 0x160]
vmovaps xmm8, xmmword [rsp + 0x180]
vmovaps xmm7, xmmword [rsp + 0x190]
vmovaps xmm6, xmmword [rsp + 0x1a0]
jne 0x140080f52
mov dword [rsi + 0x5de0], 0
mov rax, qword [0x14014adf8]
mov rcx, qword [rax + 0x4038]
dec dword [rcx + 0x100]
call fcn.1400500d0
test byte [rsi + 0x49b0], 1
je 0x140081036
bt edi, 9
jb 0x140081036
call fcn.140055be0
test al, al
je 0x140081036
lea rcx, str._COL3F
xor bl, bl
call fcn.140055cc0
test rax, rax
je 0x140080fbb
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.140055cc0
test rax, rax
je 0x140080fe5
mov r8d, dword [rsp + 0x60]
mov rcx, r14
mov rdx, qword [rax]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
jmp 0x140080fe9
test bl, bl
je 0x14008101a
bt edi, 0x1c
jae 0x14008101a
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.14003fa50
mov rax, qword [0x14014adf8]
cmp byte [rax + 0x4d6a], 0
mov byte [rax + 0x4d22], 0
je 0x140081036
call fcn.140055ac0
test r13, r13
je 0x140081054
mov eax, dword [rsi + 0x409c]
test eax, eax
je 0x140081054
cmp qword [rsi + 0x40b8], r13
jne 0x140081054
mov dword [rsi + 0x49a8], eax
mov r13, qword [rsp + 0x1c0]
test r12b, r12b
je 0x14008109a
mov eax, dword [rsi + 0x49a8]
test eax, eax
je 0x14008109a
mov rcx, qword [0x14014adf8]
cmp word [rcx + 0x5e66], 0
jg 0x14008109a
mov edx, dword [rcx + 0x409c]
cmp edx, eax
je 0x14008108a
test edx, edx
jne 0x140081093
mov word [rcx + 0x40ac], 0x101
or dword [rcx + 0x49b0], 4
movzx eax, r12b
mov r12, qword [rsp + 0x1c8]
add rsp, 0x1d0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret