Function at 0x14007fd00
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 [0x1401d52c0]
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 0x14007fd62
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.140050b30
vmovss dword [rbp - 0x54], xmm0
vxorps xmm10, xmm10, xmm10
test dil, 0x10
je 0x14007fe0a
vxorps xmm13, xmm13, xmm13
jmp 0x14007fe12
vaddss xmm13, xmm9, dword [rsi + 0x3944]
mov qword [rbp - 0x78], rbx
mov r15, rbx
vsubss xmm12, xmm0, xmm13
cmp rbx, 0xffffffffffffffff
jae 0x14007fe46
movzx ecx, byte [r15]
test cl, cl
je 0x14007fe42
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x14007fe39
cmp byte [rax], cl
je 0x14007fe42
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x14007fe24
mov qword [rbp - 0x78], r15
xor eax, eax
mov qword [rsi + 0x4988], rax
call fcn.140050d20
mov rcx, rbx
call fcn.14004dca0
mov eax, dword [rsi + 0x5de0]
mov rbx, qword [rsp + 0x78]
mov dword [rbp - 0x50], eax
test eax, eax
jne 0x14007fe86
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 0x14007fe9b
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x14007feab
mov edx, edi
mov rcx, r14
call fcn.140083c50
test edi, 0x700000
jne 0x14007fec0
mov eax, dword [rsi + 0x5ddc]
and eax, 0x700000
or edi, eax
test edi, 0x1800000
jne 0x14007fed5
mov eax, dword [rsi + 0x5ddc]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x14007feea
mov eax, dword [rsi + 0x5ddc]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x14007feff
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 [0x14011ce54]
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 0x14007ff6a
vmovss xmm5, dword [r14 + 0xc]
jmp 0x14007ff6f
vmovaps xmm5, xmm11
mov eax, edi
and eax, 0x10100000
vmovss dword [rsp + 0x54], xmm5
cmp eax, 0x10100000
jne 0x14007ffb0
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.140040950
jmp 0x140080000
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140080020
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.140040860
lea r9, [rsp + 0x50]
mov rcx, r14
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x48]
call fcn.14006eda0
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 [0x14011cffc]
vmovss xmm4, dword [0x14011cdfc]
vmovss xmm3, dword [0x14011d078]
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 0x14008046c
test dil, 0x20
jne 0x14008046c
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 [0x1401d52c0]
cmovne rax, rdx
vmaxss xmm9, xmm0, xmm11
vmovss xmm0, dword [0x14011d088]
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.14006a8d0
vmovss xmm0, dword [rbp - 0x68]
vaddss xmm1, xmm0, dword [0x14011ce4c]
vcvttss2si eax, xmm1
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vcomiss xmm8, xmm2
ja 0x1400801c7
xor r10d, r10d
mov qword [rbp - 0x80], r10
jmp 0x1400801de
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 0x14008063f
cmp dword [rbp + 0x108], 0
je 0x140080353
mov r14, qword [rbp - 0x80]
lea r12, [rsp + 0x48]
vmovss xmm7, dword [0x14011cd80]
movzx eax, r13b
lea r13, [0x14011c2a0]
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 0x140080261
vmovss xmm1, dword [rsi + 0x3944]
call fcn.1400509b0
mov rcx, qword [0x1401d52c0]
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.140079390
or dil, al
or byte [rsp + 0x40], dil
test r15d, r15d
jne 0x1400802e0
call fcn.140052230
mov edx, dword [rsp + 0x58]
add r12, 4
add r13, 8
cmp ebx, edx
jl 0x140080250
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 0x140080752
test dil, 0x20
jne 0x14008064a
cmp dword [rsi + 0x398c], 0
je 0x14008064a
vaddss xmm0, xmm12, dword [rsi + 0x3944]
jmp 0x14008064f
test edx, edx
je 0x14008063f
mov r14, qword [rbp - 0x80]
test r13b, r13b
mov eax, edi
lea r13, [0x14011c2a0]
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, [0x14011c320]
add r14, rax
xor dil, dil
mov r8d, r15d
test r15d, r15d
je 0x1400803a6
vmovss xmm1, dword [rsi + 0x3944]
call fcn.1400509b0
mov rcx, qword [0x1401d52c0]
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.140079390
or dil, al
cmp dword [rbp - 0x68], 0
jne 0x14008042b
call fcn.140052230
mov edx, dword [rsp + 0x58]
inc r12
mov r10d, 0
cmp r12, rdx
jl 0x140080391
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 0x14008031d
bt edi, 0x16
jae 0x140080322
test dil, 0x20
jne 0x140080322
mov ebx, 0xff
test dl, dl
je 0x1400804f8
mov edx, dword [rsp + 0x6c]
test edx, edx
jns 0x140080496
mov edx, r10d
jmp 0x14008049b
cmp edx, ebx
cmovg edx, ebx
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jns 0x1400804a8
mov ecx, r10d
jmp 0x1400804ad
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x64]
test eax, eax
jns 0x1400804ba
mov eax, r10d
jmp 0x1400804bf
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x1400804ce
mov r9d, r10d
jmp 0x1400804d5
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x30], edx
lea r8, [0x14011c570]
mov dword [rsp + 0x28], ecx
mov edx, 0x40
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x20], eax
call fcn.14003fb60
jmp 0x14008054f
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jns 0x140080505
mov ecx, r10d
jmp 0x14008050a
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x64]
test eax, eax
jns 0x140080517
mov eax, r10d
jmp 0x14008051c
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x60]
test r9d, r9d
jns 0x14008052b
mov r9d, r10d
jmp 0x140080532
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x28], ecx
lea r8, [0x14011c218]
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x20], eax
mov edx, 0x40
call fcn.14003fb60
mov rax, qword [0x1401d52c0]
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.14007c8e0
test al, al
je 0x14008062b
mov r12b, 1
lea rcx, [rbp - 0x40]
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x1400805cf
cmp al, 0x20
je 0x1400805cf
cmp al, 9
jne 0x1400805d4
inc rcx
jmp 0x1400805c0
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 0x140080615
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.14003e2d0
jmp 0x14008062b
lea rax, [rsp + 0x68]
lea rdx, str._02X_02X_02X
mov qword [rsp + 0x20], rax
call fcn.14003e2d0
test dil, 8
jne 0x14008031a
call fcn.140052230
jmp 0x14008031a
vmovss xmm9, dword [rsp + 0x70]
jmp 0x14008031d
vmovaps xmm0, xmm10
cmp byte [rsp + 0x5c], 0
vaddss xmm0, xmm15, xmm0
vmovss dword [rbx + 0x110], xmm0
vmovss dword [rbx + 0x114], xmm14
je 0x140080670
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.140082fe0
test al, al
je 0x140080724
test dil, 4
jne 0x140080724
vmovups xmm0, xmmword [rbp - 0x68]
lea rcx, [0x14011c168]
vmovups xmmword [rsi + 0x5df4], xmm0
call fcn.140051b30
vmovss xmm0, dword [rsi + 0x3940]
mov rax, qword [0x1401d52c0]
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 0x14008072f
call fcn.140052230
mov rcx, qword [0x1401d52c0]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x1400808a6
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 0x1400807c7
test dil, dil
js 0x1400807c7
vmovss xmm1, dword [rsi + 0x3944]
call fcn.1400509b0
test dil, 0x20
jne 0x1400807a7
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.1400760f0
mov r15, qword [rsp + 0x1a8]
vmovaps xmm15, xmmword [rsp + 0x100]
vmovaps xmm13, xmmword [rsp + 0x120]
test r12b, r12b
je 0x140080a3d
test r13, r13
jne 0x140080a3d
cmp byte [rsp + 0x40], r13b
jne 0x14008080e
vcvtdq2ps xmm0, xmmword [rsp + 0x60]
vmulps xmm0, xmm0, xmmword [0x14011d1a0]
vmovups xmmword [rsp + 0x48], xmm0
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1400809bc
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.140040950
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.1400407b0
mov dword [rsi + 0x5df0], eax
jmp 0x1400809ce
mov r10, qword [rcx + 0x4038]
lea rdx, [0x14011c169]
mov r8b, 0x70
lea r11, [0x140115240]
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 0x1400808ea
cmp byte [rdx], r8b
jne 0x1400808ea
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 0x1400808d7
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x140080927
lea r8, [0x14011c168]
mov edx, 0xb
mov ecx, ebx
call fcn.140058400
mov ecx, ebx
call fcn.140052130
test al, al
je 0x140080752
mov rax, qword [rsi + 0x4038]
mov rbx, qword [rbp + 0xf0]
cmp word [rax + 0xcc], 1
jne 0x1400809b2
mov r13, rax
cmp rbx, r15
je 0x140080969
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1400760f0
call fcn.140078980
mov rax, qword [0x1401d52c0]
lea r9, [rsi + 0x5df4]
mov r8d, dword [rbp - 0x58]
lea rcx, str.picker
vmulss xmm0, xmm9, dword [0x14011cf5c]
and r8d, 0x1f890002
mov rdx, r14
or dword [rax + 0x4988], 1
or r8d, 0x740080
vmovss dword [rax + 0x4990], xmm0
call fcn.140080f80
or r12b, al
call fcn.1400521c0
jmp 0x140080759
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 0x140080a19
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.140040860
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 0x140080a3d
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 0x140080a71
mov dword [rsi + 0x5de0], 0
mov rax, qword [0x1401d52c0]
mov rcx, qword [rax + 0x4038]
dec dword [rcx + 0x100]
call fcn.140050e60
test byte [rsi + 0x49b0], 1
je 0x140080b55
bt edi, 9
jb 0x140080b55
call fcn.140056930
test al, al
je 0x140080b55
lea rcx, str._COL3F
xor bl, bl
call fcn.140056a10
test rax, rax
je 0x140080ada
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.140056a10
test rax, rax
je 0x140080b04
mov r8d, dword [rsp + 0x58]
mov rcx, r14
mov rdx, qword [rax]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
jmp 0x140080b08
test bl, bl
je 0x140080b39
bt edi, 0x1c
jae 0x140080b39
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.140040860
mov rax, qword [0x1401d52c0]
cmp byte [rax + 0x4d6a], 0
mov byte [rax + 0x4d22], 0
je 0x140080b55
call fcn.140056810
test r13, r13
je 0x140080b73
mov eax, dword [rsi + 0x409c]
test eax, eax
je 0x140080b73
cmp qword [rsi + 0x40b8], r13
jne 0x140080b73
mov dword [rsi + 0x49a8], eax
mov r13, qword [rsp + 0x1b0]
test r12b, r12b
je 0x140080bb9
mov eax, dword [rsi + 0x49a8]
test eax, eax
je 0x140080bb9
mov rcx, qword [0x1401d52c0]
cmp word [rcx + 0x5e66], 0
jg 0x140080bb9
mov edx, dword [rcx + 0x409c]
cmp edx, eax
je 0x140080ba9
test edx, edx
jne 0x140080bb2
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