Function at 0x14003fba0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push rbp
push rsi
push rdi
push r13
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x14005c010]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r15, qword [0x14005d1a0]
mov r13, rdx
mov qword [rbp + 0x28], rdx
mov edi, r8d
mov qword [rbp + 0x40], r9
mov rdx, rcx
mov qword [rbp + 0x60], rcx
mov rax, qword [r15 + 0x3ec8]
mov qword [rbp - 0x78], r15
mov byte [rax + 0xb8], 1
mov rsi, qword [r15 + 0x3ec8]
cmp byte [rsi + 0xbb], 0
je 0x14003fc0d
xor al, al
jmp 0x1400420b4
mov qword [rsp + 0x298], rbx
mov qword [rsp + 0x290], r12
mov qword [rsp + 0x288], r14
mov r14, qword [rsi + 0x298]
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm8
movaps xmmword [rsp + 0x240], xmm9
movaps xmmword [rsp + 0x230], xmm10
movaps xmmword [rsp + 0x220], xmm11
movaps xmmword [rsp + 0x210], xmm12
movaps xmmword [rsp + 0x200], xmm13
movaps xmmword [rsp + 0x1f0], xmm14
movaps xmmword [rsp + 0x1e0], xmm15
call fcn.140013100
mov rcx, rdx
mov dword [r15 + 0x4750], 0
movaps xmm6, xmm0
call fcn.140010490
mov eax, dword [r15 + 0x5b00]
mov dword [rbp + 0x24], eax
test eax, eax
jne 0x14003fcc6
movsxd rcx, dword [rsi + 0xf0]
mov rax, qword [rsi + 0xf8]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [r15 + 0x5b00], ecx
call fcn.140013280
mov ebx, edi
or ebx, 0x10
bt edi, 8
cmovb ebx, edi
test bl, 8
jne 0x14003fce6
mov edx, ebx
mov rcx, r13
call fcn.140043200
mov ecx, 0xa900000
test ebx, 0x6000000
jne 0x14003fd0e
mov eax, dword [r15 + 0x5afc]
mov edi, ecx
test eax, 0x6000000
cmovne edi, eax
and edi, 0x6000000
or edi, ebx
jmp 0x14003fd10
mov edi, ebx
test edi, 0x18000000
jne 0x14003fd2f
mov eax, dword [r15 + 0x5afc]
test eax, 0x18000000
cmovne ecx, eax
and ecx, 0x18000000
or edi, ecx
test dil, 8
jne 0x14003fd43
mov eax, dword [r15 + 0x5afc]
and eax, 0x10000
or edi, eax
movss xmm2, dword [r15 + 0x3848]
xor eax, eax
mov rbx, qword [0x14005d1a0]
movaps xmm0, xmm2
movsd xmm10, qword [rsi + 0x100]
mov ecx, edi
and ecx, 2
movsd qword [rbp + 8], xmm10
mov edx, edi
mov dword [rbp - 0x68], ecx
movss xmm8, dword [rbx + 0x3834]
and edx, 0x10002
cmp edx, 0x10000
mov dword [rbp - 0x20], edx
addss xmm8, xmm8
mov edx, 0xc
sete al
inc eax
test ecx, ecx
lea rcx, [rbp + 0x80]
addss xmm8, dword [rbx + 0x3c28]
movd xmm1, eax
mov eax, 0x10
cmovne eax, edx
mov rdx, r13
cvtdq2ps xmm1, xmm1
mov r8d, eax
mov qword [rbp + 0x18], rax
movaps xmm11, xmm8
movss dword [rsp + 0x5c], xmm8
subss xmm11, dword [0x140054a0c]
addss xmm0, xmm11
movss dword [rsp + 0x68], xmm11
movaps xmm9, xmm11
mulss xmm1, xmm0
movaps xmm0, xmm10
subss xmm6, xmm1
maxss xmm9, xmm6
addss xmm0, xmm9
movss dword [rbp - 0x54], xmm9
movss dword [rbp - 0x1c], xmm0
addss xmm0, xmm2
movss dword [rbp - 0x58], xmm0
call sub.VCRUNTIME140.dll_memcpy
movss xmm7, dword [0x1400549a0]
movaps xmm1, xmm9
mulss xmm1, xmm7
movaps xmm0, xmm9
mov dword [rbp - 0x14], 0
mulss xmm0, dword [0x140054968]
movaps xmm14, xmm10
movaps xmm6, xmm1
movss dword [rsp + 0x60], xmm1
shufps xmm14, xmm14, 0x55
subss xmm6, xmm0
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm9
movsd qword [rbp + 0x10], xmm14
addss xmm0, xmm11
movsd qword [rbp - 0x48], xmm10
xorps xmm11, xmm11
movss dword [rbp], xmm6
mulss xmm0, xmm7
addss xmm0, xmm10
movss dword [rbp - 0x24], xmm0
movss dword [rbp + 0x50], xmm0
movaps xmm0, xmm1
addss xmm0, xmm14
movss dword [rbp - 0x28], xmm0
movss dword [rbp + 0x54], xmm0
movaps xmm0, xmm9
mulss xmm0, dword [0x140054948]
cvttss2si eax, xmm0
movaps xmm0, xmm6
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
movaps xmm1, xmm0
movss dword [rbp - 0x18], xmm0
mulss xmm1, dword [0x140054b14]
movss dword [rbp - 0x38], xmm1
movss xmm4, dword [r13]
movaps xmm2, xmm0
mulss xmm2, dword [0x140054b1c]
mov eax, edi
and eax, 0x8000000
mulss xmm0, dword [0x1400549c4]
movaps xmm10, xmm4
mov dword [rsp + 0x70], eax
movss xmm12, dword [0x1400549d4]
movss dword [rbp - 0x34], xmm2
movss dword [rsp + 0x7c], xmm2
movss xmm2, dword [r13 + 8]
movss dword [rsp + 0x78], xmm1
movaps xmm15, xmm2
movss dword [rbp + 0x38], xmm1
movss xmm1, dword [r13 + 4]
movss dword [rbp - 0x60], xmm2
movaps xmm13, xmm1
movss dword [rbp - 0x30], xmm0
movss dword [rbp + 0x3c], xmm0
movss dword [rsp + 0x54], xmm4
movss dword [rsp + 0x58], xmm1
je 0x14004006e
comiss xmm2, xmm1
xorps xmm3, xmm3
movaps xmm5, xmm2
movaps xmm10, xmm1
jbe 0x14003ff64
movss xmm3, dword [0x140054b20]
movaps xmm10, xmm2
movaps xmm5, xmm1
comiss xmm10, xmm4
movss dword [rbp - 0x60], xmm4
movaps xmm15, xmm4
jbe 0x14003ff90
movss xmm0, dword [0x140054b10]
movaps xmm15, xmm10
subss xmm0, xmm3
movss dword [rbp - 0x60], xmm10
movaps xmm10, xmm4
movaps xmm3, xmm0
mov eax, dword [rbx + 0x5b00]
movaps xmm0, xmm10
minss xmm0, xmm5
movaps xmm13, xmm15
subss xmm10, xmm5
subss xmm13, xmm0
movaps xmm0, xmm13
mulss xmm0, dword [0x140054a38]
addss xmm0, dword [0x140054920]
divss xmm10, xmm0
movaps xmm0, xmm15
addss xmm10, xmm3
addss xmm0, dword [0x140054920]
andps xmm10, xmmword [0x140054ef0]
divss xmm13, xmm0
movss dword [rsp + 0x54], xmm10
movss dword [rsp + 0x58], xmm13
cmp dword [rbx + 0x5b04], eax
jne 0x140040093
lea rcx, [rbp - 0x10]
movss dword [rbp - 0x10], xmm4
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 8], xmm2
mov dword [rbp - 4], 0
call fcn.140003850
cmp dword [rbx + 0x5b10], eax
jne 0x140040093
ucomiss xmm13, xmm11
jp 0x14004002c
je 0x140040044
ucomiss xmm10, xmm11
jp 0x140040054
jne 0x140040054
movss xmm0, dword [rbx + 0x5b08]
ucomiss xmm0, xmm12
jp 0x140040054
jne 0x140040054
movss xmm10, dword [rbx + 0x5b08]
movss dword [rsp + 0x54], xmm10
ucomiss xmm15, xmm11
jp 0x140040093
jne 0x140040093
movss xmm13, dword [rbx + 0x5b0c]
movss dword [rsp + 0x58], xmm13
jmp 0x140040093
bt edi, 0x1c
jae 0x140040093
lea rax, [rbp - 0x10]
movaps xmm0, xmm4
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x64]
lea rax, [rbp - 0x2c]
mov qword [rsp + 0x20], rax
call fcn.1400039b0
xor r12b, r12b
mov ecx, 8
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x52], r12b
mov byte [rsp + 0x51], r12b
call fcn.14000ffc0
mov eax, edi
and eax, 0x4000000
mov dword [rbp + 0x20], eax
je 0x140040599
movaps xmm0, xmm9
movss dword [rbp - 0xc], xmm9
addss xmm0, dword [r15 + 0x3848]
lea rdx, [rbp - 0x10]
lea rcx, [0x140054420]
addss xmm0, dword [rsp + 0x68]
movss dword [rbp - 0x10], xmm0
call fcn.1400334e0
mov rbx, qword [0x14005d1a0]
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x1400404c6
cmp eax, dword [rbx + 0x4764]
jne 0x1400404c6
movss xmm8, dword [r15 + 0x36f8]
movaps xmm1, xmm6
movss xmm9, dword [r15 + 0x36fc]
subss xmm1, xmm12
subss xmm8, dword [rbp - 0x24]
subss xmm9, dword [rbp - 0x28]
movss xmm7, dword [r15 + 0xe08]
movss xmm14, dword [r15 + 0xe0c]
subss xmm7, dword [rbp - 0x24]
subss xmm14, dword [rbp - 0x28]
movaps xmm2, xmm9
mulss xmm1, xmm1
movaps xmm0, xmm8
mulss xmm2, xmm9
mulss xmm0, xmm8
addss xmm2, xmm0
comiss xmm2, xmm1
jb 0x1400401cd
movss xmm0, dword [rsp + 0x60]
addss xmm0, xmm12
mulss xmm0, xmm0
comiss xmm0, xmm2
jb 0x1400401cd
movaps xmm1, xmm7
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm10, xmm0
movss xmm0, dword [0x140054a14]
divss xmm10, xmm0
mulss xmm10, dword [0x1400549a0]
comiss xmm11, xmm10
movss dword [rsp + 0x54], xmm10
jbe 0x1400401c3
addss xmm10, xmm12
movss dword [rsp + 0x54], xmm10
mov r12b, 1
mov byte [rsp + 0x50], r12b
jmp 0x1400401d5
movss xmm0, dword [0x140054a14]
movaps xmm6, xmm10
mov byte [rsp + 0x52], r12b
xorps xmm6, xmmword [0x140054f00]
addss xmm6, xmm6
mulss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss dword [rsp + 0x64], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss xmm4, dword [rsp + 0x64]
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x38]
movaps xmm1, xmm9
movaps xmm5, xmm0
mulss xmm1, xmm6
subss xmm5, xmm0
mulss xmm9, xmm4
movaps xmm3, xmm8
mulss xmm8, xmm6
mulss xmm3, xmm4
addss xmm8, xmm9
movss dword [rsp + 0x64], xmm5
movss xmm9, dword [rbp - 0x34]
subss xmm9, dword [rbp - 0x30]
subss xmm3, xmm1
movaps xmm1, xmm9
movaps xmm2, xmm3
subss xmm2, xmm0
movaps xmm0, xmm8
subss xmm0, dword [rbp - 0x30]
mulss xmm1, xmm2
mulss xmm0, xmm5
movss xmm5, dword [rbp - 0x18]
subss xmm5, dword [rbp - 0x38]
subss xmm1, xmm0
xorps xmm0, xmm0
subss xmm0, dword [rbp - 0x34]
movss dword [rbp - 0x10], xmm5
comiss xmm11, xmm1
movaps xmm1, xmm0
movss dword [rbp - 0x2c], xmm0
movaps xmm0, xmm8
mulss xmm1, xmm2
seta cl
subss xmm0, dword [rbp - 0x34]
mulss xmm0, xmm5
subss xmm1, xmm0
comiss xmm11, xmm1
seta al
cmp al, cl
jne 0x1400404a6
subss xmm3, dword [rbp - 0x18]
movss xmm0, dword [rbp - 0x30]
subss xmm8, xmm11
movss xmm1, dword [rbp - 0x38]
subss xmm0, xmm11
subss xmm1, dword [rbp - 0x18]
mulss xmm3, xmm0
mulss xmm1, xmm8
subss xmm3, xmm1
comiss xmm11, xmm3
seta al
cmp cl, al
jne 0x1400404a6
movss xmm8, dword [rbp - 0x38]
movaps xmm5, xmm7
movss xmm13, dword [rbp - 0x34]
movaps xmm0, xmm14
mulss xmm0, xmm6
mulss xmm7, xmm6
movss xmm6, dword [rbp - 0x18]
mulss xmm5, xmm4
mulss xmm14, xmm4
subss xmm5, xmm0
addss xmm7, xmm14
movaps xmm1, xmm5
movss dword [rbp - 0x60], xmm5
subss xmm1, xmm8
movaps xmm2, xmm5
movaps xmm0, xmm7
movss dword [rbp - 0x5c], xmm7
subss xmm2, xmm8
mulss xmm1, xmm9
movss xmm9, dword [rbp - 0x30]
mulss xmm2, dword [rbp - 0x2c]
subss xmm0, xmm9
mulss xmm0, dword [rsp + 0x64]
subss xmm1, xmm0
movaps xmm0, xmm7
subss xmm0, xmm13
comiss xmm11, xmm1
mulss xmm0, dword [rbp - 0x10]
seta cl
subss xmm2, xmm0
comiss xmm11, xmm2
seta al
cmp al, cl
jne 0x1400403b9
movaps xmm0, xmm9
movaps xmm2, xmm5
subss xmm0, xmm11
movaps xmm1, xmm8
subss xmm2, xmm6
subss xmm1, xmm6
mulss xmm2, xmm0
movaps xmm0, xmm7
subss xmm0, xmm11
mulss xmm1, xmm0
subss xmm2, xmm1
comiss xmm11, xmm2
seta al
cmp cl, al
je 0x1400403ee
lea rax, [rbp - 0x60]
lea r9, [rbp + 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x10]
call fcn.140002e70
movsd xmm1, qword [rax]
movaps xmm0, xmm1
movsd qword [rbp - 0x60], xmm1
shufps xmm0, xmm0, 0x55
movaps xmm5, xmm1
movaps xmm7, xmm0
movaps xmm4, xmm13
subss xmm7, xmm11
movss xmm13, dword [0x140054934]
subss xmm4, xmm11
movaps xmm2, xmm8
movss dword [rsp + 0x58], xmm13
subss xmm2, xmm6
movaps xmm1, xmm9
subss xmm1, xmm11
subss xmm5, xmm6
movaps xmm0, xmm4
mulss xmm0, xmm2
movaps xmm3, xmm2
mulss xmm3, xmm1
mulss xmm7, xmm2
subss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
movaps xmm1, xmm12
mulss xmm5, xmm4
subss xmm0, xmm7
subss xmm7, xmm5
divss xmm0, xmm3
divss xmm7, xmm3
subss xmm1, xmm0
comiss xmm13, xmm1
movaps xmm0, xmm1
subss xmm0, xmm7
jbe 0x14004046d
movaps xmm15, xmm13
jmp 0x140040476
movaps xmm15, xmm12
minss xmm15, xmm1
divss xmm0, xmm15
movss dword [rbp - 0x60], xmm15
comiss xmm13, xmm0
ja 0x140040497
movaps xmm13, xmm12
minss xmm13, xmm0
movss dword [rsp + 0x58], xmm13
mov r12b, 1
mov byte [rsp + 0x51], 1
mov byte [rsp + 0x50], r12b
jmp 0x1400404ab
mov byte [rsp + 0x52], r12b
movss xmm9, dword [rbp - 0x54]
movss xmm8, dword [rsp + 0x5c]
movsd xmm14, qword [rbp + 0x10]
movss xmm7, dword [0x1400549a0]
test dil, 8
jne 0x1400404d8
call fcn.140014920
mov rbx, qword [0x14005d1a0]
cmp dword [rbp - 0x20], 0x10000
jne 0x1400407ba
mov rax, qword [rbx + 0x3ec8]
lea rdx, [rsp + 0x78]
movsd xmm6, qword [rbp + 8]
lea rcx, str.alpha
movaps xmm0, xmm14
movss dword [rsp + 0x78], xmm9
addss xmm0, xmm9
addss xmm0, dword [r15 + 0x384c]
mov byte [rax + 0xb8], 1
mov rax, qword [rbx + 0x3ec8]
movss dword [rax + 0x104], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x7c], xmm0
movss dword [rax + 0x100], xmm6
mov byte [rax + 0x141], 1
call fcn.1400334e0
mov rbx, qword [0x14005d1a0]
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x1400407ba
cmp eax, dword [rbx + 0x4764]
jne 0x1400407ba
movss xmm1, dword [r15 + 0xe08]
movaps xmm0, xmm9
subss xmm1, xmm6
subss xmm0, xmm12
divss xmm1, xmm0
comiss xmm11, xmm1
jbe 0x14004079c
xorps xmm2, xmm2
jmp 0x1400407a4
bt edi, 0x19
jae 0x1400404d1
lea rdx, [rsp + 0x78]
movss dword [rsp + 0x78], xmm9
lea rcx, [0x140054424]
movss dword [rsp + 0x7c], xmm9
call fcn.1400334e0
mov r8, qword [0x14005d1a0]
mov eax, dword [r8 + 0x3f28]
test eax, eax
je 0x1400406b7
cmp eax, dword [r8 + 0x4764]
jne 0x1400406b7
movss xmm0, dword [r15 + 0xe08]
movaps xmm6, xmm9
subss xmm0, dword [rbp + 8]
subss xmm6, xmm12
divss xmm0, xmm6
comiss xmm11, xmm0
jbe 0x14004060c
xorps xmm13, xmm13
jmp 0x140040615
movaps xmm13, xmm12
minss xmm13, xmm0
movss xmm0, dword [r15 + 0xe0c]
subss xmm0, xmm14
movss dword [rsp + 0x58], xmm13
divss xmm0, xmm6
comiss xmm11, xmm0
jbe 0x140040639
xorps xmm1, xmm1
jmp 0x140040641
movaps xmm1, xmm12
minss xmm1, xmm0
mov eax, dword [r8 + 0x5b00]
movaps xmm15, xmm12
subss xmm15, xmm1
movss dword [rbp - 0x60], xmm15
cmp dword [r8 + 0x5b04], eax
jne 0x1400406ad
movss xmm0, dword [r13]
lea rcx, [rsp + 0x78]
movss xmm1, dword [r13 + 4]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [r13 + 8]
movss dword [rbp - 0x80], xmm0
movss dword [rsp + 0x7c], xmm1
mov dword [rbp - 0x7c], 0
call fcn.140003850
cmp dword [r8 + 0x5b10], eax
jne 0x1400406ad
movss xmm10, dword [r8 + 0x5b08]
movss dword [rsp + 0x54], xmm10
mov r12b, 1
mov byte [rsp + 0x50], r12b
jmp 0x1400406c0
movaps xmm6, xmm9
subss xmm6, xmm12
mov byte [rsp + 0x51], r12b
movzx esi, r12b
test dil, 8
jne 0x1400406db
call fcn.140014920
mov r8, qword [0x14005d1a0]
mov rax, qword [r8 + 0x3ec8]
lea rdx, [rsp + 0x78]
movss xmm0, dword [rbp - 0x58]
lea rcx, [0x140054428]
movss dword [rsp + 0x7c], xmm9
mov byte [rax + 0xb8], 1
mov rax, qword [r8 + 0x3ec8]
movss dword [rax + 0x100], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x78], xmm0
movss dword [rax + 0x104], xmm14
mov byte [rax + 0x141], 1
call fcn.1400334e0
mov rbx, qword [0x14005d1a0]
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x1400404d8
mov byte [rsp + 0x51], r12b
cmp eax, dword [rbx + 0x4764]
jne 0x1400404d8
movss xmm0, dword [r15 + 0xe0c]
subss xmm0, xmm14
divss xmm0, xmm6
comiss xmm11, xmm0
jbe 0x140040775
xorps xmm10, xmm10
jmp 0x14004077e
movaps xmm10, xmm12
minss xmm10, xmm0
mov r12b, 1
movss dword [rsp + 0x54], xmm10
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x52], 1
mov byte [rsp + 0x51], sil
jmp 0x1400404d8
movaps xmm2, xmm12
minss xmm2, xmm1
movaps xmm0, xmm12
mov r12b, 1
subss xmm0, xmm2
mov byte [rsp + 0x50], r12b
movss dword [r13 + 0xc], xmm0
movsxd rcx, dword [rbx + 0x4850]
lea eax, [rcx - 1]
mov dword [rbx + 0x4850], eax
mov rax, qword [rbx + 0x4858]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rbx + 0x4748], ecx
mov ebx, edi
and ebx, 0x100
jne 0x1400407fb
movss xmm1, dword [r15 + 0x3848]
xorps xmm0, xmm0
call fcn.140012fa0
call fcn.140013280
mov esi, edi
and esi, 0x80
jne 0x140040855
mov r9, qword [rbp + 0x60]
mov rdx, r9
cmp r9, 0xffffffffffffffff
jae 0x140040855
movzx ecx, byte [rdx]
test cl, cl
je 0x14004082f
lea rax, [rdx + 1]
cmp cl, 0x23
jne 0x140040826
cmp byte [rax], cl
je 0x14004082f
mov rdx, rax
cmp rax, 0xffffffffffffffff
jb 0x140040812
cmp r9, rdx
je 0x140040855
test ebx, ebx
je 0x14004084a
movss xmm1, dword [r15 + 0x3848]
movaps xmm0, xmm11
call fcn.140012fa0
xor r8d, r8d
mov rcx, r9
call fcn.140031ea0
test ebx, ebx
jne 0x1400409a3
lea ecx, [rbx + 0x10]
call fcn.14000ffc0
cmp dword [rbp - 0x68], ebx
je 0x140040870
movaps xmm2, xmm12
jmp 0x140040876
movss xmm2, dword [r13 + 0xc]
movss xmm0, dword [r13]
movss xmm1, dword [r13 + 4]
movss dword [rbp + 0x60], xmm0
movss xmm0, dword [r13 + 8]
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x64], xmm1
movss dword [rbp + 0x6c], xmm2
test esi, esi
je 0x1400408ac
lea rcx, str.Current
call fcn.1400326a0
movaps xmm6, xmm8
lea r9, [rsp + 0x78]
mulss xmm6, dword [0x140054a0c]
addss xmm8, xmm8
mov ebx, edi
lea rdx, [rbp + 0x60]
and ebx, 0x180e0040
lea rcx, str.current
mov r8d, ebx
movss dword [rsp + 0x78], xmm6
movss dword [rsp + 0x7c], xmm8
call fcn.1400420e0
mov rsi, qword [rbp + 0x40]
test rsi, rsi
je 0x140040976
lea rcx, str.Original
call fcn.1400326a0
cmp dword [rbp - 0x68], 0
je 0x14004090f
movaps xmm2, xmm12
jmp 0x140040914
movss xmm2, dword [rsi + 0xc]
movss xmm0, dword [rsi]
lea r9, [rsp + 0x78]
movss xmm1, dword [rsi + 4]
lea rdx, [rbp + 0x40]
movss dword [rbp + 0x40], xmm0
lea rcx, str.original
movss xmm0, dword [rsi + 8]
mov r8d, ebx
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x44], xmm1
movss dword [rbp + 0x4c], xmm2
movss dword [rsp + 0x78], xmm6
movss dword [rsp + 0x7c], xmm8
call fcn.1400420e0
test al, al
je 0x140040976
mov r8, qword [rbp + 0x18]
mov rdx, rsi
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
mov byte [rsp + 0x50], r12b
mov rdx, qword [0x14005d1a0]
movsxd rcx, dword [rdx + 0x4850]
lea eax, [rcx - 1]
mov dword [rdx + 0x4850], eax
mov rax, qword [rdx + 0x4858]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4748], ecx
call fcn.1400133b0
movss xmm1, dword [r13]
comiss xmm11, xmm1
jbe 0x1400409b5
movaps xmm0, xmm11
jmp 0x1400409bd
movaps xmm0, xmm12
minss xmm0, xmm1
movss xmm9, dword [0x140054ac8]
lea rsi, [r13 + 4]
movss xmm1, dword [rsi]
comiss xmm11, xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si r9d, xmm0
jbe 0x1400409e8
movaps xmm0, xmm11
jmp 0x1400409f0
movaps xmm0, xmm12
minss xmm0, xmm1
movss xmm1, dword [r13 + 8]
comiss xmm11, xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si edx, xmm0
jbe 0x140040a0f
movaps xmm0, xmm11
jmp 0x140040a17
movaps xmm0, xmm12
minss xmm0, xmm1
cmp dword [rbp - 0x68], 0
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si ecx, xmm0
je 0x140040a4c
mov dword [rsp + 0x28], ecx
lea r8, [0x1400543d0]
mov dword [rsp + 0x20], edx
lea rcx, [rbp + 0x90]
mov edx, 0x40
call fcn.140003120
jmp 0x140040a97
movss xmm1, dword [r13 + 0xc]
comiss xmm11, xmm1
jbe 0x140040a5e
movaps xmm0, xmm11
jmp 0x140040a66
movaps xmm0, xmm12
minss xmm0, xmm1
mulss xmm0, xmm9
lea r8, [0x1400543b8]
addss xmm0, xmm7
cvttss2si eax, xmm0
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rcx, [rbp + 0x90]
mov dword [rsp + 0x20], edx
mov edx, 0x40
call fcn.140003120
mov rbx, qword [0x14005d1a0]
lea rdx, [rbp + 0x40]
mov dword [rbp + 0x40], 0xe
movss xmm1, dword [rbx + 0x3840]
lea rcx, [rbx + 0x4820]
movss xmm0, dword [rbx + 0x3844]
movss dword [rbp + 0x44], xmm1
movss dword [rbp + 0x48], xmm0
call fcn.14001b890
mov rcx, qword [0x14005d1a0]
lea rax, [rbp + 0x90]
movss xmm0, dword [0x140054b20]
lea rdx, [rbp + 0x40]
movss xmm6, dword [0x140054b04]
mov dword [rbx + 0x3840], 0x40400000
movaps xmm3, xmm6
mov dword [rbx + 0x3844], 0x41000000
movss xmm2, dword [rcx + 0x3c28]
mov rcx, qword [rcx + 0x3c20]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.14002c3a0
movss xmm0, dword [rbp + 0x40]
lea rdx, [rsp + 0x78]
movss xmm1, dword [rsp + 0x60]
lea rcx, str.Copy
movss xmm8, dword [0x1400549cc]
addss xmm0, xmm8
mov dword [rsp + 0x7c], 0
cvttss2si eax, xmm0
movss xmm0, dword [r15 + 0x3840]
mulss xmm0, xmm7
movd xmm2, eax
subss xmm1, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm7
subss xmm1, xmm2
subss xmm1, dword [0x140054a24]
movss dword [rsp + 0x78], xmm1
call fcn.140033010
mov rbx, qword [rbp + 0x18]
test al, al
je 0x140040bae
mov r8, rbx
lea rcx, [0x14005c9b8]
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
movss xmm1, dword [0x140054b20]
movaps xmm0, xmm11
call fcn.140012fa0
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x78], 0
lea rdx, [rsp + 0x78]
call fcn.140033010
test al, al
je 0x140040c53
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140040c53
call qword [sym.imp.USER32.dll_EmptyClipboard]
lea rax, [rbp + 0x90]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x140040c00
inc rdx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r8, rax
lea rcx, [rbp + 0x90]
sub r8, rcx
lea rdx, [rbp + 0x90]
nop dword [rax + rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x140040c30
mov rdx, rax
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
movss xmm4, dword [0x140054b20]
movaps xmm0, xmm11
movaps xmm1, xmm4
call fcn.140012fa0
mov rcx, qword [0x14005d1a0]
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], 0
lea rdx, [rbp + 0x40]
mov qword [rsp + 0x28], rax
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm4
movss xmm2, dword [rcx + 0x3c28]
mov rcx, qword [rcx + 0x3c20]
call fcn.14002c3a0
movss xmm0, dword [rbp + 0x40]
lea rdx, [rsp + 0x78]
movss xmm1, dword [r15 + 0x3840]
addss xmm0, xmm8
movss xmm6, dword [rsp + 0x60]
lea rcx, str.Paste
mulss xmm1, xmm7
mov dword [rsp + 0x7c], 0
cvttss2si eax, xmm0
movaps xmm0, xmm6
subss xmm0, xmm1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm7
subss xmm0, xmm2
subss xmm0, dword [0x140054a24]
movss dword [rsp + 0x78], xmm0
call fcn.140033010
test al, al
je 0x140040d20
mov r8, rbx
lea rdx, [0x14005c9b8]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
mov byte [rsp + 0x50], r12b
mov ecx, 1
call fcn.140003fd0
cmp byte [rsp + 0x52], 0
jne 0x140040d3c
cmp byte [rsp + 0x51], 0
je 0x140040dd2
cmp dword [rsp + 0x70], 0
je 0x140040dbb
lea rbx, [r13 + 8]
mov r9, r13
mov qword [rsp + 0x28], rbx
movaps xmm2, xmm15
movaps xmm1, xmm13
mov qword [rsp + 0x20], rsi
movaps xmm0, xmm10
call fcn.1400039b0
mov eax, dword [r15 + 0x5b00]
lea rcx, [rbp + 0x40]
mov dword [r15 + 0x5b04], eax
movss dword [r15 + 0x5b08], xmm10
movss dword [r15 + 0x5b0c], xmm13
movss xmm0, dword [r13]
movss xmm1, dword [rsi]
movss dword [rbp + 0x40], xmm0
movss xmm0, dword [rbx]
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x44], xmm1
mov dword [rbp + 0x4c], 0
call fcn.140003850
mov dword [r15 + 0x5b10], eax
jmp 0x140040dd2
bt edi, 0x1c
jae 0x140040dd2
movss dword [r13], xmm10
movss dword [rsi], xmm13
movss dword [r13 + 8], xmm15
mov byte [rsp + 0x53], 0
test dil, 0x20
jne 0x14004102d
cmp dword [rbp - 0x20], 0x10000
jne 0x140040df1
movss xmm0, dword [rbp + 8]
jmp 0x140040df6
movss xmm0, dword [rbp - 0x58]
addss xmm0, dword [rsp + 0x68]
subss xmm0, dword [rbp + 8]
call fcn.140013050
mov esi, edi
mov ebx, edi
and esi, 0x198e001a
bt edi, 0x14
jb 0x140040e20
and ebx, 0x700000
jne 0x140040e69
jmp 0x140040e26
and ebx, 0x700000
mov r8d, esi
lea rcx, str.rgb
or r8d, 0x100004
mov rdx, r13
call fcn.14003e7e0
test al, al
je 0x140040e69
cmp dword [r15 + 0x3f28], 0
je 0x140040e5c
cmp byte [r15 + 0x3f35], 0
mov byte [rsp + 0x53], 1
je 0x140040e61
mov byte [rsp + 0x53], 0
mov r12b, 1
mov byte [rsp + 0x50], r12b
bt edi, 0x15
jb 0x140040e73
test ebx, ebx
jne 0x140040e94
mov r8d, esi
lea rcx, str.hsv
or r8d, 0x200004
mov rdx, r13
call fcn.14003e7e0
or r12b, al
mov byte [rsp + 0x50], r12b
bt edi, 0x16
jb 0x140040e9e
test ebx, ebx
jne 0x140040ebe
or esi, 0x400004
lea rcx, str.hex
mov r8d, esi
mov rdx, r13
call fcn.14003e7e0
or r12b, al
mov byte [rsp + 0x50], r12b
cmp byte [rsp + 0x53], 0
lea rsi, [r13 + 4]
mov rcx, qword [0x14005d1a0]
mov rax, qword [rcx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3ec8]
mov rax, qword [r8 + 0x1d0]
movsxd rdx, dword [r8 + 0x1c8]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x1c8], eax
lea rax, [r13 + 8]
mov dword [r8 + 0x1bc], ecx
mov ecx, dword [rsp + 0x70]
je 0x140041022
test ecx, ecx
je 0x140041022
movss xmm5, dword [rax]
movaps xmm6, xmm11
movss xmm3, dword [rsi]
comiss xmm5, xmm3
movss xmm4, dword [r13]
jbe 0x140040f44
movss xmm6, dword [0x140054b20]
movaps xmm0, xmm3
movaps xmm3, xmm5
movaps xmm5, xmm0
comiss xmm3, xmm4
jbe 0x140040f61
movss xmm1, dword [0x140054b10]
movaps xmm0, xmm4
subss xmm1, xmm6
movaps xmm4, xmm3
movaps xmm3, xmm0
movaps xmm6, xmm1
movss xmm8, dword [0x140054920]
movaps xmm0, xmm3
minss xmm0, xmm5
movaps xmm2, xmm4
subss xmm3, xmm5
movaps xmm1, xmm4
addss xmm1, xmm8
subss xmm2, xmm0
movaps xmm0, xmm2
mulss xmm2, dword [0x140054a38]
divss xmm0, xmm1
addss xmm2, xmm8
divss xmm3, xmm2
addss xmm3, xmm6
andps xmm3, xmmword [0x140054ef0]
comiss xmm11, xmm3
jb 0x14004101a
comiss xmm10, xmm11
jbe 0x14004101a
comiss xmm11, xmm4
jb 0x140040feb
ucomiss xmm15, xmm4
jp 0x140040fc1
je 0x140040feb
movaps xmm2, xmm15
mov qword [rsp + 0x28], rax
mulss xmm2, xmm7
mov r9, r13
mov qword [rsp + 0x20], rsi
movaps xmm1, xmm13
movaps xmm0, xmm10
call fcn.1400039b0
movss xmm6, dword [rsp + 0x60]
jmp 0x140041036
comiss xmm11, xmm0
jb 0x14004101a
movaps xmm1, xmm13
mov qword [rsp + 0x28], rax
mulss xmm1, xmm7
mov r9, r13
mov qword [rsp + 0x20], rsi
movaps xmm2, xmm4
movaps xmm0, xmm10
call fcn.1400039b0
movss xmm6, dword [rsp + 0x60]
jmp 0x140041036
movss xmm6, dword [rsp + 0x60]
jmp 0x14004103e
movss xmm8, dword [0x140054920]
jmp 0x14004103e
movss xmm8, dword [0x140054920]
mov ecx, dword [rsp + 0x70]
lea rax, [r13 + 8]
test r12b, r12b
je 0x1400411e1
test ecx, ecx
je 0x14004118f
movss xmm3, dword [rsi]
movaps xmm4, xmm11
movss xmm5, dword [rax]
movaps xmm10, xmm3
comiss xmm5, xmm3
movss xmm2, dword [r13]
movaps xmm1, xmm5
jbe 0x14004107c
movss xmm4, dword [0x140054b20]
movaps xmm10, xmm5
movaps xmm1, xmm3
comiss xmm10, xmm2
movss dword [rbp - 0x60], xmm2
movaps xmm15, xmm2
jbe 0x1400410a8
movss xmm0, dword [0x140054b10]
movaps xmm15, xmm10
subss xmm0, xmm4
movss dword [rbp - 0x60], xmm10
movaps xmm10, xmm2
movaps xmm4, xmm0
mov r8, qword [0x14005d1a0]
movaps xmm0, xmm10
minss xmm0, xmm1
movaps xmm13, xmm15
subss xmm10, xmm1
mov eax, dword [r8 + 0x5b00]
subss xmm13, xmm0
movaps xmm0, xmm13
mulss xmm0, dword [0x140054a38]
addss xmm0, xmm8
divss xmm10, xmm0
movaps xmm0, xmm15
addss xmm0, xmm8
addss xmm10, xmm4
divss xmm13, xmm0
andps xmm10, xmmword [0x140054ef0]
movss dword [rsp + 0x58], xmm13
movss dword [rsp + 0x54], xmm10
cmp dword [r8 + 0x5b04], eax
jne 0x1400411e1
lea rcx, [rbp + 0x40]
movss dword [rbp + 0x40], xmm2
movss dword [rbp + 0x44], xmm3
movss dword [rbp + 0x48], xmm5
mov dword [rbp + 0x4c], 0
call fcn.140003850
cmp dword [r8 + 0x5b10], eax
jne 0x1400411e1
ucomiss xmm13, xmm11
jp 0x14004114c
je 0x140041165
ucomiss xmm10, xmm11
jp 0x140041175
jne 0x140041175
movss xmm0, dword [r8 + 0x5b08]
ucomiss xmm0, xmm12
jp 0x140041175
jne 0x140041175
movss xmm10, dword [r8 + 0x5b08]
movss dword [rsp + 0x54], xmm10
ucomiss xmm15, xmm11
jp 0x1400411e1
jne 0x1400411e1
movss xmm13, dword [r8 + 0x5b0c]
movss dword [rsp + 0x58], xmm13
jmp 0x1400411e1
bt edi, 0x1c
jae 0x1400411e1
movss xmm15, dword [rax]
lea r9, [rsp + 0x64]
movss xmm10, dword [r13]
lea rax, [rbp - 0x10]
movss xmm13, dword [rsi]
movaps xmm2, xmm15
mov qword [rsp + 0x28], rax
movaps xmm1, xmm13
lea rax, [rbp - 0x2c]
movss dword [rsp + 0x54], xmm10
movaps xmm0, xmm10
mov qword [rsp + 0x20], rax
movss dword [rsp + 0x58], xmm13
movss dword [rbp - 0x60], xmm15
call fcn.1400039b0
movss xmm1, dword [r15 + 0x37f4]
comiss xmm11, xmm1
jbe 0x1400411f6
movaps xmm0, xmm11
jmp 0x1400411fe
movaps xmm0, xmm12
minss xmm0, xmm1
mulss xmm0, xmm9
lea r9, [rbp + 0x40]
mov dword [rbp + 0x40], 0x3f800000
movss dword [rbp + 0x4c], xmm1
movaps xmm2, xmm12
movaps xmm1, xmm12
mov dword [rbp + 0x44], 0x3f800000
addss xmm0, xmm7
mov dword [rbp + 0x48], 0x3f800000
cvttss2si r12d, xmm0
movaps xmm0, xmm10
shl r12d, 0x18
mov eax, r12d
mov dword [rsp + 0x64], r12d
or eax, 0x808080
mov ebx, r12d
mov dword [rbp - 0x2c], eax
mov r13d, r12d
mov eax, r12d
or r13d, 0xff
or eax, 0xff00
mov dword [rbp + 0x60], r13d
mov dword [rbp + 0x68], eax
mov esi, r12d
mov eax, r12d
mov dword [rbp + 0x78], r13d
or eax, 0xffff00
or ebx, 0xffffff
mov dword [rbp + 0x6c], eax
or esi, 0xffff
mov eax, r12d
mov dword [rbp - 0x68], ebx
or eax, 0xff0000
mov dword [rbp + 0x64], esi
mov dword [rbp + 0x70], eax
mov eax, r12d
or eax, 0xff00ff
mov dword [rsp + 0x5c], eax
mov dword [rbp + 0x74], eax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x44]
mov qword [rsp + 0x20], rax
call fcn.1400039b0
lea rcx, [rbp + 0x40]
call fcn.140003850
cmp dword [rbp + 0x20], 0
mov r10d, eax
movss dword [rsp + 0x70], xmm11
movaps xmm9, xmm11
movss dword [rsp + 0x74], xmm11
movaps xmm8, xmm11
mov dword [rbp - 0x10], eax
mov r8d, 4
je 0x140041923
movss xmm15, dword [rbp]
lea r12, [rbp + 0x60]
movss xmm13, dword [rbp - 0x50]
mov eax, 0x2aaaaaab
movss xmm10, dword [rbp - 0x24]
movaps xmm14, xmm15
addss xmm14, xmm6
movaps xmm11, xmm7
cvttss2si ecx, xmm6
movss dword [rsp + 0x5c], xmm14
imul ecx
divss xmm11, xmm6
mov esi, edx
sar esi, 1
mov eax, esi
shr eax, 0x1f
add esi, eax
cmp esi, r8d
cmovle esi, r8d
xor r15d, r15d
mulss xmm14, xmm7
nop dword [rax]
nop dword [rax + rax]
mov edi, dword [r14 + 0x20]
lea rdx, [rbp + 0x50]
movd xmm9, r15d
movaps xmm2, xmm14
cvtdq2ps xmm9, xmm9
mov dword [rsp + 0x28], esi
mov rcx, r14
movaps xmm6, xmm9
addss xmm9, xmm12
divss xmm6, dword [0x140054a38]
divss xmm9, dword [0x140054a38]
addss xmm6, xmm6
addss xmm9, xmm9
mulss xmm6, dword [0x140054a14]
mulss xmm9, dword [0x140054a14]
subss xmm6, xmm11
addss xmm9, xmm11
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm9
call fcn.140026af0
mov r8d, dword [r14 + 0x78]
mov r9d, ebx
mov rdx, qword [r14 + 0x80]
mov rcx, r14
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 0
call fcn.140025090
movaps xmm0, xmm6
mov dword [r14 + 0x78], 0
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm8, xmm0
movaps xmm0, xmm6
mulss xmm8, xmm15
addss xmm8, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm9
mulss xmm7, xmm15
addss xmm7, dword [rbp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm15
addss xmm6, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov ebx, dword [r12 + 4]
movaps xmm1, xmm6
mov r8d, dword [r14 + 0x20]
add r12, 4
mulss xmm0, xmm15
mov edx, edi
mov dword [rsp + 0x30], ebx
mov rcx, r14
mov dword [rsp + 0x28], r13d
addss xmm0, dword [rbp - 0x28]
unpcklps xmm1, xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movq r9, xmm0
movsd qword [rsp + 0x20], xmm1
call fcn.140028a10
inc r15d
mov r13d, ebx
mov ebx, dword [rbp - 0x68]
cmp r15d, 6
jl 0x140041350
movss xmm10, dword [rsp + 0x54]
addss xmm10, xmm10
mulss xmm10, dword [0x140054a14]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
cmp byte [rsp + 0x52], 0
movaps xmm7, xmm0
movss xmm14, dword [rsp + 0x5c]
movss xmm13, dword [rbp - 0x24]
movaps xmm1, xmm14
movss xmm15, dword [rbp - 0x28]
movss xmm8, dword [rbp - 0x50]
mulss xmm1, xmm6
mulss xmm14, xmm7
mulss xmm1, dword [0x1400549a0]
mulss xmm14, dword [0x1400549a0]
addss xmm1, xmm13
addss xmm14, xmm15
movss dword [rbp], xmm1
movss dword [rbp + 4], xmm14
je 0x140041510
mulss xmm8, dword [0x1400549ac]
jmp 0x140041519
mulss xmm8, dword [0x1400549a4]
movaps xmm1, xmm8
mov rcx, r14
call fcn.140024c00
mov esi, dword [rbp - 0x10]
lea rdx, [rbp]
mov r9d, esi
mov dword [rsp + 0x20], eax
movaps xmm2, xmm8
mov rcx, r14
mov ebx, eax
call fcn.1400282d0
mov edi, dword [rbp - 0x2c]
lea rdx, [rbp]
movaps xmm2, xmm8
movss dword [rsp + 0x28], xmm12
addss xmm2, xmm12
mov dword [rsp + 0x20], ebx
mov r9d, edi
mov rcx, r14
call fcn.1400281f0
movss dword [rsp + 0x28], xmm12
lea rdx, [rbp]
mov dword [rsp + 0x20], ebx
movaps xmm2, xmm8
mov ebx, dword [rbp - 0x68]
mov rcx, r14
mov r9d, ebx
call fcn.1400281f0
mov rax, qword [0x14005d1a0]
movaps xmm2, xmm6
mulss xmm2, dword [rbp - 0x38]
movaps xmm10, xmm6
mov edx, 3
mov rcx, r14
mulss xmm10, dword [rbp - 0x18]
movaps xmm8, xmm6
mov r8d, edx
mulss xmm8, dword [rbp - 0x34]
movaps xmm0, xmm7
movaps xmm14, xmm7
movaps xmm1, xmm7
mulss xmm14, dword [rbp - 0x18]
movaps xmm9, xmm2
mulss xmm1, dword [rbp - 0x38]
xorps xmm11, xmm11
mulss xmm0, xmm11
addss xmm8, xmm1
subss xmm10, xmm0
movaps xmm0, xmm6
mulss xmm6, dword [rbp - 0x30]
mulss xmm0, xmm11
addss xmm8, xmm15
addss xmm6, xmm1
addss xmm10, xmm13
addss xmm14, xmm0
movaps xmm0, xmm7
mulss xmm7, dword [rbp - 0x30]
mulss xmm0, dword [rbp - 0x34]
addss xmm6, xmm15
subss xmm2, xmm7
movss xmm7, dword [rax + 0x3c34]
addss xmm14, xmm15
subss xmm9, xmm0
movss dword [rbp - 0x50], xmm6
movss xmm6, dword [rax + 0x3c30]
addss xmm2, xmm13
addss xmm9, xmm13
movss dword [rsp + 0x5c], xmm2
call fcn.140024e20
mov rcx, qword [r14 + 0x50]
movaps xmm0, xmm10
movzx eax, word [r14 + 0x34]
unpcklps xmm0, xmm14
movsd qword [rbp - 0x48], xmm0
mov word [rcx], ax
mov rax, qword [r14 + 0x48]
add qword [r14 + 0x50], 2
movsd qword [rax], xmm0
mov rax, qword [r14 + 0x48]
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [r14 + 0x48]
lea r9, [rbp + 0x40]
movss xmm1, dword [rbp - 0x50]
lea r8, [rbp + 0x60]
mov r12d, dword [rsp + 0x64]
lea rdx, [rbp - 0x48]
movaps xmm0, xmm9
mov dword [rax + 0x10], esi
add qword [r14 + 0x48], 0x14
inc dword [r14 + 0x34]
mov ecx, dword [r14 + 0x34]
mov rax, qword [r14 + 0x50]
unpcklps xmm0, xmm8
movsd qword [rbp + 0x60], xmm0
mov word [rax], cx
mov rax, qword [r14 + 0x48]
add qword [r14 + 0x50], 2
movsd qword [rax], xmm0
mov rax, qword [r14 + 0x48]
movss xmm0, dword [rsp + 0x5c]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x40], xmm0
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [r14 + 0x48]
mov dword [rax + 0x10], r12d
add qword [r14 + 0x48], 0x14
mov rax, qword [r14 + 0x50]
inc dword [r14 + 0x34]
mov ecx, dword [r14 + 0x34]
mov word [rax], cx
mov rcx, r14
mov rax, qword [r14 + 0x48]
add qword [r14 + 0x50], 2
movsd qword [rax], xmm0
mov rax, qword [r14 + 0x48]
movss xmm0, dword [0x1400549e4]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], edi
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [r14 + 0x48]
mov dword [rax + 0x10], ebx
add qword [r14 + 0x48], 0x14
inc dword [r14 + 0x34]
call fcn.140028090
movaps xmm0, xmm12
subss xmm0, dword [rbp - 0x60]
comiss xmm11, xmm0
jbe 0x14004175c
xorps xmm1, xmm1
jmp 0x140041764
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm13, dword [rsp + 0x58]
comiss xmm11, xmm13
jbe 0x140041776
xorps xmm0, xmm0
jmp 0x14004177f
movaps xmm0, xmm12
minss xmm0, xmm13
subss xmm10, dword [rsp + 0x5c]
subss xmm14, dword [rbp - 0x50]
movss xmm7, dword [0x1400549a0]
mov r8d, 4
mov r15, qword [rbp - 0x78]
mulss xmm10, xmm0
mulss xmm14, xmm0
addss xmm10, dword [rsp + 0x5c]
addss xmm14, dword [rbp - 0x50]
subss xmm9, xmm10
subss xmm8, xmm14
mulss xmm9, xmm1
mulss xmm8, xmm1
addss xmm9, xmm10
addss xmm8, xmm14
movss dword [rsp + 0x70], xmm9
movss dword [rsp + 0x74], xmm8
movss xmm14, dword [0x140054a24]
xor r12d, r12d
movss xmm13, dword [rbp - 0x54]
movss xmm10, dword [0x140054a30]
movsd xmm15, qword [rbp + 0x10]
movaps xmm0, xmmword [0x140054c60]
lea rcx, [rbp - 0x78]
cmp byte [rsp + 0x51], 0
mov eax, 6
movups xmmword [rbp - 0x78], xmm0
cmovne r8d, eax
movd xmm6, r8d
cvtdq2ps xmm6, xmm6
call fcn.140003850
mov edi, eax
addss xmm9, xmm11
addss xmm8, xmm12
movss dword [rbp - 0x48], xmm9
movss dword [rbp - 0x44], xmm8
test eax, 0xff000000
je 0x14004189e
comiss xmm7, xmm6
ja 0x14004189e
movaps xmm2, xmm6
mov dword [rsp + 0x20], 0x30
subss xmm2, xmm7
xor r9d, r9d
lea rdx, [rbp - 0x48]
mov rcx, r14
call fcn.1400265c0
mov r8d, dword [r14 + 0x78]
mov r9d, edi
mov rdx, qword [r14 + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm12
mov rcx, r14
mov dword [r14 + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.140025090
mov dword [r14 + 0x78], r12d
test ebx, 0xff000000
je 0x1400418fa
comiss xmm7, xmm6
ja 0x1400418fa
subss xmm6, xmm7
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x70]
mov rcx, r14
movaps xmm2, xmm6
call fcn.1400265c0
mov r8d, dword [r14 + 0x78]
mov r9d, ebx
mov rdx, qword [r14 + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm12
mov rcx, r14
mov dword [r14 + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.140025090
mov dword [r14 + 0x78], r12d
cmp dword [rbp - 0x20], 0x10000
mov rdi, qword [rbp + 0x28]
jne 0x140041fcb
movss xmm0, dword [rdi + 0xc]
comiss xmm11, xmm0
jbe 0x140041dbc
movaps xmm7, xmm11
jmp 0x140041dc4
bt edi, 0x19
jae 0x1400417e1
mov rax, qword [0x14005d1a0]
lea rcx, [rbp - 0x78]
movss xmm6, dword [rbp - 0x54]
movss xmm8, dword [rbp - 0x1c]
addss xmm14, xmm6
movss dword [rbp + 0x50], xmm8
movups xmm0, xmmword [rax + 0x38f0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x54], xmm14
movss dword [rbp - 0x6c], xmm0
call fcn.140003850
movss xmm7, dword [0x140054a0c]
lea r8, [rbp + 0x50]
mov dword [rsp + 0x48], 0xf0
lea rdx, [rbp - 0x48]
movss dword [rsp + 0x40], xmm7
mov r9d, eax
mov dword [rsp + 0x38], ebx
mov rcx, r14
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ebx
call fcn.140027a90
mov rax, qword [0x14005d1a0]
lea rcx, [rbp - 0x78]
movss dword [rbp + 0x50], xmm8
movss dword [rbp + 0x54], xmm14
movups xmm0, xmmword [rax + 0x38f0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp - 0x6c], xmm0
call fcn.140003850
mov dword [rsp + 0x48], 0xf0
lea r8, [rbp + 0x50]
movss dword [rsp + 0x40], xmm7
lea rdx, [rbp - 0x48]
mov dword [rsp + 0x38], r12d
mov r9d, eax
mov dword [rsp + 0x30], r12d
mov rcx, r14
xor r12d, r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call fcn.140027a90
movaps xmm0, xmm8
movaps xmm2, xmm7
movsd xmm8, qword [rbp + 8]
unpcklps xmm0, xmm14
movq rcx, xmm8
movq rdx, xmm0
call fcn.140005040
comiss xmm11, xmm13
jbe 0x140041a4c
movaps xmm0, xmm11
jmp 0x140041a55
movaps xmm0, xmm12
minss xmm0, xmm13
movss xmm2, dword [0x1400549a0]
movaps xmm9, xmm8
movss xmm7, dword [0x1400549f8]
mulss xmm0, xmm6
addss xmm9, xmm7
addss xmm0, xmm8
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm9, xmm1
ja 0x140041a9c
movss xmm9, dword [rbp - 0x1c]
subss xmm9, xmm7
minss xmm9, xmm1
movaps xmm1, xmm12
movss dword [rsp + 0x70], xmm9
subss xmm1, xmm15
comiss xmm11, xmm1
jbe 0x140041ab8
movaps xmm0, xmm11
jmp 0x140041ac0
movaps xmm0, xmm12
minss xmm0, xmm1
movsd xmm15, qword [rbp + 0x10]
mulss xmm0, xmm6
movaps xmm8, xmm15
addss xmm8, xmm7
addss xmm0, xmm15
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm8, xmm1
ja 0x140041afb
movaps xmm8, xmm14
subss xmm8, xmm7
minss xmm8, xmm1
movss xmm1, dword [rbp - 0x58]
lea rcx, [rbp - 0x78]
mov rax, qword [0x14005d1a0]
movaps xmm13, xmm1
divss xmm6, dword [0x140054a38]
movups xmm0, xmmword [rax + 0x38f0]
addss xmm13, dword [rsp + 0x68]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x50], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm11
movss dword [rbp - 0x6c], xmm0
movaps xmm0, xmm6
addss xmm0, xmm15
movss dword [rsp + 0x74], xmm8
addss xmm1, xmm15
movss dword [rbp - 0x48], xmm13
movss dword [rbp - 0x44], xmm0
movss dword [rbp + 0x54], xmm1
call fcn.140003850
movss xmm0, dword [0x140054a0c]
lea r8, [rbp - 0x48]
mov dword [rsp + 0x48], 0x30
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x40], xmm0
mov r9d, eax
mov dword [rsp + 0x38], esi
mov rcx, r14
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call fcn.140027a90
movss xmm0, dword [rbp - 0x58]
lea rdi, [rbp + 0x64]
movss dword [rbp + 0x50], xmm0
mov eax, 1
movss dword [rbp - 0x48], xmm13
nop dword [rax]
nop dword [rax + rax]
mov r9d, esi
movd xmm1, eax
mov esi, dword [rdi + 4]
lea ebx, [rax + 1]
cvtdq2ps xmm1, xmm1
lea r8, [rbp - 0x48]
mov dword [rsp + 0x30], esi
lea rdx, [rbp + 0x50]
add rdi, 4
mov rcx, r14
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r9d
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
addss xmm1, xmm15
addss xmm0, xmm15
movss dword [rbp + 0x54], xmm1
movss dword [rbp - 0x44], xmm0
call fcn.1400278b0
mov eax, ebx
cmp ebx, 5
jl 0x140041bd0
mov rax, qword [0x14005d1a0]
lea rcx, [rbp - 0x78]
movss dword [rbp - 0x48], xmm13
movups xmm0, xmmword [rax + 0x38f0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp - 0x6c], xmm0
movaps xmm0, xmm6
mulss xmm0, dword [0x140054a38]
mulss xmm6, dword [0x140054a30]
addss xmm0, xmm15
addss xmm6, xmm15
movss dword [rbp - 0x44], xmm0
movss xmm0, dword [rbp - 0x58]
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm6
call fcn.140003850
movss xmm0, dword [0x140054a0c]
lea r8, [rbp - 0x48]
mov dword [rsp + 0x48], 0xc0
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x40], xmm0
mov r9d, eax
mov eax, dword [rsp + 0x5c]
mov rcx, r14
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.140027a90
movss xmm6, dword [rbp - 0x58]
movaps xmm0, xmm13
movaps xmm1, xmm6
unpcklps xmm0, xmm14
unpcklps xmm1, xmm15
movaps xmm2, xmm11
movq rcx, xmm1
movq rdx, xmm0
call fcn.140005040
movss xmm13, dword [rbp - 0x54]
subss xmm6, xmm12
movss xmm1, dword [rsp + 0x68]
lea rcx, [rbp - 0x78]
mulss xmm10, xmm13
addss xmm1, xmm7
mov qword [rbp - 0x78], r12
mov dword [rbp - 0x70], r12d
movss dword [rbp + 0x50], xmm6
addss xmm10, xmm15
addss xmm1, xmm6
addss xmm10, dword [0x1400549a0]
movss dword [rbp - 0x48], xmm1
cvttss2si eax, xmm10
movss xmm10, dword [0x140054a30]
movd xmm2, eax
mov rax, qword [0x14005d1a0]
cvtdq2ps xmm2, xmm2
movss xmm0, dword [rax + 0x37f4]
mulss xmm0, dword [r15 + 0x37f4]
movss dword [rbp + 0x54], xmm2
addss xmm2, xmm10
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x44], xmm2
call fcn.140003850
movss xmm14, dword [0x140054a24]
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x30], xmm12
lea r8, [rbp - 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm14
mov rcx, r14
call fcn.1400275f0
movss xmm7, dword [0x1400549a0]
mov r8d, 4
mov ebx, dword [rbp - 0x68]
jmp 0x140041802
movaps xmm7, xmm12
minss xmm7, xmm0
movss xmm4, dword [rdi]
lea rcx, [rbp + 0x40]
movss xmm3, dword [rdi + 4]
movaps xmm6, xmm13
movss xmm2, dword [rdi + 8]
mov rax, qword [0x14005d1a0]
addss xmm6, dword [r15 + 0x384c]
movsd xmm8, qword [rbp + 8]
movaps xmm0, xmm8
movss dword [rbp + 0x40], xmm4
addss xmm0, xmm11
movss dword [rbp + 0x44], xmm3
movss dword [rbp + 0x48], xmm2
movaps xmm1, xmm6
movss dword [rbp + 0x60], xmm4
addss xmm1, dword [rsp + 0x68]
addss xmm6, xmm15
movss dword [rbp + 0x64], xmm3
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x1c]
movss dword [rbp - 0x70], xmm0
addss xmm1, xmm15
movss dword [rbp + 0x68], xmm2
movss dword [rbp - 0x74], xmm6
movss dword [rbp + 0x28], xmm4
movss dword [rbp + 0x2c], xmm3
movss dword [rbp + 0x30], xmm2
movss dword [rbp - 0x6c], xmm1
movss xmm1, dword [r15 + 0x37f4]
movaps xmm0, xmm1
movss dword [rbp + 0x4c], xmm1
mulss xmm0, xmm11
movss dword [rbp - 0x48], xmm4
movss dword [rbp - 0x44], xmm3
movss dword [rbp + 0x6c], xmm0
movss dword [rbp + 0x34], xmm0
movups xmm0, xmmword [rax + 0x38f0]
movss dword [rbp - 0x40], xmm2
movups xmmword [rbp + 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp - 0x3c], xmm1
movss dword [rbp + 0x5c], xmm0
call fcn.140003850
lea rcx, [rbp + 0x60]
mov ebx, eax
call fcn.140003850
lea rcx, [rbp + 0x28]
mov r11d, eax
call fcn.140003850
lea rcx, [rbp - 0x48]
mov r10d, eax
call fcn.140003850
lea rcx, [rbp + 0x50]
mov r8d, eax
call fcn.140003850
movss xmm0, dword [0x140054a0c]
lea rdx, [rbp - 0x78]
mov dword [rsp + 0x48], 0xf0
mov r9d, eax
movss dword [rsp + 0x40], xmm0
mov rcx, r14
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x70]
call fcn.140027a90
movss xmm2, dword [r15 + 0x37f4]
movaps xmm0, xmm12
mov r8, qword [0x14005d1a0]
subss xmm0, xmm7
movss dword [rbp + 0x54], xmm6
mulss xmm0, xmm13
addss xmm0, xmm8
addss xmm0, dword [0x1400549a0]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm12
movss dword [rbp + 0x50], xmm1
mov rax, qword [r8 + 0x3ec8]
addss xmm1, xmm10
addss xmm6, dword [rsp + 0x68]
lea rcx, [rbp - 0x78]
mov qword [rbp - 0x78], 0
mov dword [rbp - 0x70], 0
mov byte [rax + 0xb8], 1
mulss xmm2, dword [r8 + 0x37f4]
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x44], xmm6
movss dword [rbp - 0x6c], xmm2
call fcn.140003850
mov rcx, qword [r8 + 0x3ec8]
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x30], xmm12
lea r8, [rbp - 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm14
mov rcx, qword [rcx + 0x298]
call fcn.1400275f0
call fcn.1400133b0
movzx esi, byte [rsp + 0x50]
mov rbx, qword [0x14005d1a0]
movaps xmm15, xmmword [rsp + 0x1e0]
movaps xmm14, xmmword [rsp + 0x1f0]
movaps xmm13, xmmword [rsp + 0x200]
movaps xmm12, xmmword [rsp + 0x210]
movaps xmm11, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm7, xmmword [rsp + 0x260]
movaps xmm6, xmmword [rsp + 0x270]
mov r14, qword [rsp + 0x288]
test sil, sil
je 0x140042086
mov r8, qword [rbp + 0x18]
lea rcx, [rbp + 0x80]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14004205d
xor sil, sil
jmp 0x140042086
mov eax, dword [r15 + 0x4764]
test eax, eax
je 0x140042086
mov ecx, dword [rbx + 0x3f28]
cmp ecx, eax
je 0x140042076
test ecx, ecx
jne 0x14004207f
mov word [rbx + 0x3f38], 0x101
or dword [rbx + 0x476c], 4
cmp dword [rbp + 0x24], 0
jne 0x140042093
mov dword [r15 + 0x5b00], r12d
mov rcx, qword [rbx + 0x3ec8]
movzx eax, sil
mov r12, qword [rsp + 0x290]
mov rbx, qword [rsp + 0x298]
dec dword [rcx + 0xf0]
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.14004b880
add rsp, 0x2a0
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret