Function at 0x140044de0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3c8]
sub rsp, 0x4a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14005b028]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov rcx, qword [0x14005be60]
add rcx, 0xe7b9a48
xor r12d, r12d
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bf48], rax
lea rcx, [rax + 0x1b8]
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bf38], rax
lea rcx, [rax + 0x38]
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov qword [rbp + 0x260], r12
mov qword [rbp + 0x1f0], 3
mov qword [rbp + 0x218], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x200], rax
lea rax, [rbp + 0x260]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], 8
lea rdi, [rbp + 0x1f0]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x1f0]
call qword [0x14005be50]
mov rax, qword [rbp + 0x260]
mov qword [0x14005bf08], rax
lea rcx, [rax + 0x30]
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bf40], rax
lea rcx, [rax + 0x338]
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rcx, qword [rbp + 0x228]
mov qword [0x14005bf10], rcx
test rcx, rcx
je 0x14004530b
add rcx, 0x198
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bef0], rax
lea rcx, [rax + 0x128]
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movsd qword [rbp + 0x80], xmm1
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x70]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 0x18
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
movups xmm0, xmmword [rbp + 0x70]
movups xmmword [0x14005b660], xmm0
movsd xmm0, qword [rbp + 0x80]
movsd qword [0x14005b670], xmm0
mov rcx, qword [0x14005bf10]
add rcx, 0x2b0
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bef8], rax
lea rcx, [rax + 0x10d8]
mov dword [rbp + 0x234], r12d
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x234]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 4
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov eax, dword [rbp + 0x234]
mov dword [0x14005bf20], eax
mov rcx, qword [0x14005bf48]
add rcx, 0x158
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bf28], rax
lea rcx, [rax + 0x2a8]
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x228]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rax, qword [rbp + 0x228]
mov qword [0x14005bf18], rax
mov rcx, qword [0x14005bf28]
add rcx, 0x2b0
mov dword [rbp + 0x234], r12d
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
lea rax, [rbp + 0x234]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 4
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov eax, dword [rbp + 0x234]
mov dword [0x14005bf00], eax
mov dword [0x14005bf30], 0x7f7fffff
mov qword [0x14005bee8], r12
mov esi, r12d
mov dword [rbp + 0x234], r12d
test eax, eax
je 0x14004730d
mov r14d, 0xf
movss xmm12, dword [0x140053160]
movss xmm10, dword [0x14005311c]
nop dword [rax]
nop dword [rax + rax]
mov ecx, esi
mov rax, qword [0x14005bf18]
lea rdx, [rax + rcx*8]
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rdx
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov r13, qword [rbp + 0x1c0]
test r13, r13
je 0x1400472f9
mov dword [rbp + 0x230], r12d
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
lea rax, [r13 + 0x10d8]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 4
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov eax, dword [0x14005bf20]
cmp dword [rbp + 0x230], eax
je 0x1400472f9
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
lea rax, [r13 + 0x308]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov rbx, qword [rbp + 0x1c0]
test rbx, rbx
je 0x1400472f9
cmp rbx, qword [0x14005bf10]
je 0x1400472f9
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x158], 3
mov qword [rbp + 0x180], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x160], rax
lea rax, [rbx + 0x318]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 8
lea rdi, [rbp + 0x158]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x158]
call qword [0x14005be50]
mov r15, qword [rbp + 0x1c0]
test r15, r15
je 0x1400472f9
mov r8d, 0x6d
mov rdx, r15
lea rcx, [rbp + 0x240]
call fcn.1400429f0
movups xmm13, xmmword [rbp + 0x240]
movaps xmmword [rbp + 0x1c0], xmm13
movsd xmm11, qword [rbp + 0x250]
movsd qword [rbp + 0x1d0], xmm11
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xb8]
call fcn.1400426a0
addsd xmm11, qword [0x1400531f0]
movaps xmm15, xmm13
unpckhpd xmm15, xmm13
movaps xmm0, xmm13
unpcklpd xmm0, xmm15
movaps xmmword [rbp + 0x240], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x250], xmm11
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0xd8]
call fcn.1400426a0
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x1f0]
call fcn.1400429f0
movups xmm14, xmmword [rbp + 0x1f0]
movaps xmmword [rbp + 0x240], xmm14
movsd xmm0, qword [rbp + 0x200]
movsd qword [rbp + 0x250], xmm0
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0xc8]
call fcn.1400426a0
movsd xmm6, qword [rbp + 0xc0]
movsd qword [rbp + 0x1b8], xmm6
movaps xmm0, xmm6
movsd xmm9, qword [rbp + 0xd0]
movsd qword [rbp + 0xa8], xmm9
subsd xmm0, xmm9
andps xmm0, xmmword [0x140053490]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x230], xmm0
movaps xmm8, xmm0
mulss xmm8, xmm12
movaps xmm0, xmm14
subsd xmm0, qword [0x14005b660]
movsd xmm1, qword [0x1400531d8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movaps xmm0, xmm14
unpckhpd xmm0, xmm14
movaps xmmword [rbp + 0x1c0], xmm0
subsd xmm0, qword [0x14005b668]
movsd xmm1, qword [0x1400531d8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
movsd xmm0, qword [rbp + 0x200]
subsd xmm0, qword [0x14005b670]
movsd xmm1, qword [0x1400531d8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x140045849
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x140045851
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
divsd xmm0, qword [0x140053218]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x50], xmm0
cmp byte [0x14005b052], 0
je 0x14004596e
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
movss xmm3, dword [rcx + 0x10]
mulss xmm3, xmm12
addss xmm3, dword [rcx + 8]
movss xmm2, dword [rcx + 0xc]
mulss xmm2, xmm12
addss xmm2, dword [rcx + 4]
movaps xmm1, xmm3
subss xmm1, dword [0x14005319c]
movaps xmm0, xmm2
movss xmm7, dword [0x14005324c]
subss xmm0, xmm7
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm1
movaps xmm0, xmm2
addss xmm0, xmm7
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
movaps xmm1, xmm3
subss xmm1, xmm7
subss xmm2, dword [0x14005319c]
movss dword [rbp - 0x48], xmm2
movss dword [rbp - 0x44], xmm1
addss xmm3, xmm7
movss dword [rbp - 0x50], xmm2
movss dword [rbp - 0x4c], xmm3
lea r8, str.Foreground
mov edx, 1
call fcn.140007300
movss xmm7, dword [0x1400531d0]
movss dword [rsp + 0x20], xmm7
mov r9d, 0xffffffff
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rsp + 0x20], xmm7
mov r9d, 0xffffffff
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.140026f60
movd xmm0, dword [0x14005b564]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rsp + 0x50]
jbe 0x1400472f9
movsd xmm7, qword [rbp + 0xb8]
movsd qword [rbp + 0xb0], xmm7
cmp byte [0x14005b051], 0
je 0x14004725c
mov rcx, r15
call fcn.140042c20
test al, al
mov rax, qword [0x14005bd70]
je 0x1400459fd
movss xmm0, dword [0x14005bd90]
movss xmm1, dword [0x14005bd94]
movss xmm2, dword [0x14005bd98]
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm1
movss dword [rbp + 0x90], xmm2
movss xmm0, dword [rax + 0x37c8]
movss dword [rbp + 0x94], xmm0
lea rcx, [rbp + 0x88]
jmp 0x140045a44
movss xmm0, dword [0x14005bdf8]
movss xmm1, dword [0x14005bdfc]
movss xmm2, dword [0x14005be00]
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm1
movss dword [rbp + 0xa0], xmm2
movss xmm0, dword [rax + 0x37c8]
movss dword [rbp + 0xa4], xmm0
lea rcx, [rbp + 0x98]
call fcn.1400035c0
xorps xmm3, xmm3
movzx ecx, al
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 8
xorps xmm0, xmm0
movzx ecx, cl
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 0x10
mulss xmm3, xmm10
xorps xmm1, xmm1
movzx ecx, cl
mulss xmm0, xmm10
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm1, rcx
movss xmm3, xmm0
xorps xmm2, xmm2
shr eax, 0x18
mulss xmm1, xmm10
shufps xmm3, xmm3, 0xc6
cvtsi2ss xmm2, rax
movss xmm3, xmm1
mulss xmm2, xmm10
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [0x14005bec0], xmm3
movups xmmword [rbp + 0x240], xmm3
cmp byte [0x14005bebe], 0
je 0x140045bc4
cvttss2si edi, dword [rbp + 0x230]
cvttss2si esi, xmm8
mulss xmm8, xmm12
cvtps2pd xmm8, xmm8
mov rcx, r15
call fcn.140042c20
movups xmm0, xmmword [0x14005bec0]
cvttsd2si edx, xmm6
movaps xmm1, xmm7
mov r9d, edi
mov r8d, esi
movdqa xmmword [rbp + 0x240], xmm0
subsd xmm1, xmm8
cvttsd2si ecx, xmm1
test al, al
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
call fcn.140043eb0
cmp byte [0x14005beb8], 0
je 0x140045bc4
cvttsd2si ecx, xmm6
movaps xmm0, xmm7
subsd xmm0, xmm8
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x34], xmm1
add eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x40], xmm0
lea eax, [rdi + rcx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x3c], xmm1
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
mov rdi, rax
lea rcx, [0x14005bec0]
call fcn.1400035c0
mov dword [rsp + 0x28], r12d
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.1400271d0
movsd xmm8, qword [rbp + 0xc8]
movsd qword [rbp + 0x240], xmm8
cmp byte [0x14005beb9], 0
je 0x140045cb4
mov rcx, r15
call fcn.140042c20
movd xmm1, dword [0x14005bf80]
movd xmm0, dword [0x14005bf50]
lea r8, str.Foreground
mov edx, 1
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
test al, al
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
je 0x140045c61
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
call fcn.140007300
mov rdi, rax
lea rcx, [0x14005bec0]
call fcn.1400035c0
cvtpd2ps xmm1, xmm9
cvtpd2ps xmm0, xmm8
movss dword [rsp + 0x64], xmm0
movss dword [rsp + 0x68], xmm1
lea r8, [rsp + 0x64]
lea rdx, [rbp - 0x28]
jmp 0x140045c9b
movss dword [rbp - 0x18], xmm0
movss dword [rbp - 0x14], xmm1
call fcn.140007300
mov rdi, rax
lea rcx, [0x14005bec0]
call fcn.1400035c0
cvtpd2ps xmm1, xmm9
cvtpd2ps xmm0, xmm8
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
movss xmm0, dword [0x14005313c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
mov rcx, rdi
call fcn.140026f60
cmp byte [0x14005bebb], 0
je 0x14004644a
movsd xmm0, qword [rbp + 0xd8]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x140045ce8
jne 0x140045ce8
movsd xmm0, qword [rbp + 0xe0]
ucomisd xmm0, xmm1
jp 0x140045ce8
je 0x14004644a
mov rcx, r15
call fcn.140042c20
lea rcx, [0x14005bec0]
call fcn.1400035c0
mov edi, eax
movaps xmm8, xmmword [rbp + 0x1c0]
movaps xmm6, xmm8
movsd xmm10, qword [0x140053200]
subsd xmm6, xmm10
movaps xmm7, xmm14
addsd xmm7, xmm10
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x1c0], xmm0
movsd xmm9, qword [rbp + 0x200]
movsd qword [rbp + 0x200], xmm9
movsd qword [rbp + 0x1d0], xmm9
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xf8]
call fcn.1400426a0
subsd xmm14, xmm10
movaps xmm0, xmm14
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm9
movsd qword [rbp + 0x200], xmm9
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x118]
call fcn.1400426a0
addsd xmm8, xmm10
movaps xmm0, xmm14
unpcklpd xmm0, xmm8
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm9
movsd qword [rbp + 0x200], xmm9
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x148]
call fcn.1400426a0
movaps xmm0, xmm7
unpcklpd xmm0, xmm8
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm9
movsd qword [rbp + 0x200], xmm9
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x70]
call fcn.1400426a0
movaps xmm6, xmm15
subsd xmm6, xmm10
movaps xmm7, xmm13
addsd xmm7, xmm10
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0xe8]
call fcn.1400426a0
subsd xmm13, xmm10
movaps xmm0, xmm13
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x108]
call fcn.1400426a0
addsd xmm15, xmm10
movaps xmm0, xmm13
unpcklpd xmm0, xmm15
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x128]
call fcn.1400426a0
movaps xmm0, xmm7
unpcklpd xmm0, xmm15
movaps xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x1d0], xmm11
movsd qword [rbp + 0x200], xmm11
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x138]
call fcn.1400426a0
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movsd xmm1, qword [rbp + 0xf0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x268], xmm1
movsd xmm0, qword [rbp + 0xe8]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x5c], xmm0
movss dword [rsp + 0x60], xmm1
movsd xmm13, qword [rbp + 0x100]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0xf8]
cvtpd2ps xmm12, xmm12
movss dword [rbp - 0x10], xmm12
movss dword [rbp - 0xc], xmm13
movss xmm6, dword [0x14005313c]
movss dword [rsp + 0x20], xmm6
mov r9d, edi
lea r8, [rsp + 0x5c]
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movsd xmm1, qword [rbp + 0x110]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x230], xmm1
movsd xmm0, qword [rbp + 0x108]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x58], xmm1
movsd xmm11, qword [rbp + 0x120]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x118]
cvtpd2ps xmm10, xmm10
movss dword [rbp - 8], xmm10
movss dword [rbp - 4], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, edi
lea r8, [rsp + 0x54]
lea rdx, [rbp - 8]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movsd xmm1, qword [rbp + 0x130]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x1c0], xmm1
movsd xmm0, qword [rbp + 0x128]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x260], xmm0
movss dword [rbp + 0x264], xmm1
movsd xmm9, qword [rbp + 0x150]
cvtpd2ps xmm9, xmm9
movsd xmm8, qword [rbp + 0x148]
cvtpd2ps xmm8, xmm8
movss dword [rbp], xmm8
movss dword [rbp + 4], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, edi
lea r8, [rbp + 0x260]
lea rdx, [rbp]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movsd xmm15, qword [rbp + 0x140]
cvtpd2ps xmm15, xmm15
movsd xmm14, qword [rbp + 0x138]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 8], xmm14
movss dword [rbp + 0xc], xmm15
movsd xmm7, qword [rbp + 0x78]
cvtpd2ps xmm7, xmm7
movsd xmm6, qword [rbp + 0x70]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x10], xmm6
movss dword [rbp + 0x14], xmm7
movss xmm0, dword [0x14005313c]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rbp + 8]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rbp + 0x18], xmm10
movss dword [rbp + 0x1c], xmm11
movss dword [rbp + 0x20], xmm12
movss dword [rbp + 0x24], xmm13
movss xmm0, dword [0x14005313c]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rbp + 0x28], xmm8
movss dword [rbp + 0x2c], xmm9
movss dword [rbp + 0x30], xmm10
movss dword [rbp + 0x34], xmm11
movss xmm10, dword [0x14005313c]
movss dword [rsp + 0x20], xmm10
mov r9d, edi
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rbp + 0x38], xmm6
movss dword [rbp + 0x3c], xmm7
movss dword [rbp + 0x40], xmm8
movss dword [rbp + 0x44], xmm9
movss dword [rsp + 0x20], xmm10
mov r9d, edi
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rbp + 0x48], xmm12
movss dword [rbp + 0x4c], xmm13
movss dword [rbp + 0x50], xmm6
movss dword [rbp + 0x54], xmm7
movaps xmm12, xmm10
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss xmm8, dword [rsp + 0x54]
movss dword [rbp - 0x74], xmm8
movss xmm9, dword [rbp + 0x230]
movss dword [rbp - 0x70], xmm9
movss xmm10, dword [rsp + 0x5c]
movss dword [rbp - 0x30], xmm10
movss xmm11, dword [rbp + 0x268]
movss dword [rbp - 0x2c], xmm11
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp - 0x74]
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss xmm6, dword [rbp + 0x260]
movss dword [rbp - 0x6c], xmm6
movss xmm7, dword [rbp + 0x1c0]
movss dword [rbp - 0x68], xmm7
movss dword [rbp - 0x7c], xmm8
movss dword [rbp - 0x78], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rbp - 0x6c]
lea rdx, [rbp - 0x7c]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rsp + 0x7c], xmm14
movss dword [rbp - 0x80], xmm15
movss dword [rsp + 0x74], xmm6
movss dword [rsp + 0x78], xmm7
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x74]
mov rcx, rax
call fcn.140026f60
mov rax, qword [0x14005bd70]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
movss dword [rsp + 0x6c], xmm10
movss dword [rsp + 0x70], xmm11
movss dword [rbp + 0x58], xmm14
movss dword [rbp + 0x5c], xmm15
movss dword [rsp + 0x20], xmm12
mov r9d, edi
lea r8, [rsp + 0x6c]
lea rdx, [rbp + 0x58]
mov rcx, rax
call fcn.140026f60
movsd xmm6, qword [rbp + 0x1b8]
movsd xmm7, qword [rbp + 0xb0]
movsd xmm9, qword [rbp + 0xa8]
movss xmm10, dword [0x14005311c]
movsd xmm8, qword [rbp + 0x240]
movss xmm12, dword [0x140053160]
cmp byte [0x14005bebc], 0
je 0x140046f5e
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
lea rax, [rbx + 0x948]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov rcx, qword [0x14005bf10]
add rcx, 0x948
mov qword [rbp + 0x268], r12
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x198], rcx
lea rax, [rbp + 0x268]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov byte [rbp + 0x220], 0
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x268]
add rax, 0x358
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 1
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov byte [rbp + 0x220], 0
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rbx, qword [rbp + 0x1c0]
lea rax, [rbx + 0x358]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 1
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov dword [rbp + 0x1c0], r12d
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
lea rax, [rbx + 0xd08]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 4
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
xorps xmm0, xmm0
movups xmmword [rbp + 0x158], xmm0
mov qword [rbp + 0x168], 7
mov qword [rbp + 0x170], r14
mov rax, qword [str.Invalid]
mov dword [rbp + 0x158], eax
movzx edx, word [0x140052a3c]
mov word [rbp + 0x15c], dx
movzx ecx, byte [0x140052a3e]
mov byte [rbp + 0x15e], cl
mov byte [rbp + 0x15f], 0
movups xmmword [rbp + 0x270], xmm0
mov qword [rbp + 0x280], 7
mov qword [rbp + 0x288], r14
mov dword [rbp + 0x270], eax
mov word [rbp + 0x274], dx
mov byte [rbp + 0x276], cl
mov byte [rbp + 0x277], 0
movups xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x2a0], 7
mov qword [rbp + 0x2a8], r14
mov dword [rbp + 0x290], eax
mov word [rbp + 0x294], dx
mov byte [rbp + 0x296], cl
mov byte [rbp + 0x297], 0
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
lea rax, [rbx + 0x450]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov qword [rbp + 0x1b8], r12
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x1c0]
add rax, 0x98
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1b8]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov dword [rbp + 0x230], r12d
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], r12
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rbx, qword [rbp + 0x1b8]
lea rax, [rbx + 0x40]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 4
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov esi, dword [rbp + 0x230]
lea ecx, [rsi + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140049ebc
mov r12, rax
xor eax, eax
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], rax
movsxd rcx, dword [0x14005be58]
mov qword [rbp + 0x190], rcx
lea rcx, [rbx + 0x38]
mov qword [rbp + 0x198], rcx
lea rax, [rbp + 0x1b8]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
xor ebx, ebx
mov qword [rbp + 0x1c0], 3
mov qword [rbp + 0x1e8], rbx
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1d8], r12
lea ecx, [rsi + rsi]
mov qword [rbp + 0x1e0], rcx
lea rdi, [rbp + 0x1c0]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x1c0]
call qword [0x14005be50]
mov rdx, r12
lea rcx, [rbp + 0x240]
call fcn.140048230
nop
lea rcx, [rbp + 0x240]
mov rax, qword [rbp + 0x250]
cmp qword [rbp + 0x258], 8
jb 0x140046984
mov rdx, qword [rbp + 0x240]
lea r8, [rdx + rax*2]
jmp 0x14004698f
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x1c0]
call fcn.140048780
mov rdi, rax
lea rax, [rbp + 0x270]
cmp rax, rdi
je 0x140046a28
mov rdx, qword [rbp + 0x288]
cmp rdx, 0x10
jb 0x1400469eb
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400469e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047375
call fcn.1400498ec
mov qword [rbp + 0x280], rbx
mov qword [rbp + 0x288], 0xf
mov byte [rbp + 0x270], 0
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x280], xmm1
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x140046a69
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046a64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047375
call fcn.1400498ec
mov rcx, r12
call fcn.1400498ec
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], rbx
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x268]
add rax, 0x450
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1b8]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov qword [rbp + 0x1c0], rbx
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], rbx
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x1b8]
add rax, 0x98
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov dword [rbp + 0x230], ebx
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], rbx
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x190], rax
mov rbx, qword [rbp + 0x1c0]
lea rax, [rbx + 0x40]
mov qword [rbp + 0x198], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 4
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
mov esi, dword [rbp + 0x230]
lea ecx, [rsi + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140049ebc
mov r12, rax
xor eax, eax
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x188], 3
mov qword [rbp + 0x1b0], rax
movsxd rcx, dword [0x14005be58]
mov qword [rbp + 0x190], rcx
lea rcx, [rbx + 0x38]
mov qword [rbp + 0x198], rcx
lea rax, [rbp + 0x1b8]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 8
lea rdi, [rbp + 0x188]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x188]
call qword [0x14005be50]
xor ebx, ebx
mov qword [rbp + 0x1c0], 3
mov qword [rbp + 0x1e8], rbx
movsxd rax, dword [0x14005be58]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1d8], r12
lea ecx, [rsi + rsi]
mov qword [rbp + 0x1e0], rcx
lea rdi, [rbp + 0x1c0]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x1c0]
call qword [0x14005be50]
mov rdx, r12
lea rcx, [rbp + 0x1f0]
call fcn.140048230
nop
lea rcx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x200]
cmp qword [rbp + 0x208], 8
jb 0x140046cd6
mov rdx, qword [rbp + 0x1f0]
lea r8, [rdx + rax*2]
jmp 0x140046ce1
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x1c0]
call fcn.140048780
mov rdi, rax
lea rax, [rbp + 0x290]
cmp rax, rdi
je 0x140046d65
cmp r14, 0x10
jb 0x140046d37
lea rdx, [r14 + 1]
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046d32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004737c
call fcn.1400498ec
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x2a0], xmm1
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
psrldq xmm1, 8
movq r14, xmm1
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x140046da6
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046da1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004737c
call fcn.1400498ec
mov rcx, r12
call fcn.1400498ec
lea rax, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae rax, qword [rbp + 0x270]
movaps xmm0, xmm9
subsd xmm0, qword [0x140053208]
cvttsd2si r8d, xmm0
cvttsd2si edx, xmm8
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [0x14005b240]
movss xmm0, dword [0x140053250]
movd ecx, xmm0
call fcn.1400443c0
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 8
jb 0x140046e49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046e44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047383
call fcn.1400498ec
xor r12d, r12d
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], 7
mov word [rbp + 0x1f0], r12w
mov rdx, qword [rbp + 0x258]
cmp rdx, 8
jb 0x140046eac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046ea7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004738a
call fcn.1400498ec
mov qword [rbp + 0x250], r12
mov qword [rbp + 0x258], 7
mov word [rbp + 0x240], r12w
cmp r14, 0x10
jb 0x140046f02
lea rdx, [r14 + 1]
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046efc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047391
call fcn.1400498ec
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 0x10
jb 0x140046f43
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046f3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047398
call fcn.1400498ec
mov qword [rbp + 0x280], r12
mov r14d, 0xf
mov qword [rbp + 0x288], r14
mov byte [rbp + 0x270], 0
cmp byte [0x14005beba], 0
je 0x1400470af
mov rdx, r13
lea rcx, [rbp + 0x1f0]
call fcn.140044150
nop
lea rcx, [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1f0]
mov rdi, qword [rbp + 0x208]
cmp rdi, 0x10
cmovae rcx, rdx
mov rax, qword [0x14005bd70]
test rcx, rcx
jne 0x140046fa9
xorps xmm0, xmm0
jmp 0x14004700c
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1400532ec]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400532c8]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rbp + 0x60]
mov rcx, qword [rax + 0x3c08]
call fcn.14002b950
movss xmm0, dword [rbp + 0x60]
addss xmm0, dword [0x140053194]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x60], xmm0
mov rdi, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x1f0]
mulss xmm0, xmm12
cvtps2pd xmm0, xmm0
movaps xmm1, xmm7
subsd xmm1, xmm0
cvtpd2ps xmm3, xmm1
movaps xmm2, xmm6
subsd xmm2, qword [0x1400531f0]
cvtpd2ps xmm0, xmm2
lea rax, [rbp + 0x1f0]
cmp rdi, 0x10
cmovae rax, rdx
cvttss2si r8d, xmm0
cvttss2si edx, xmm3
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [0x14005b240]
movss xmm0, dword [0x140053258]
movd ecx, xmm0
call fcn.1400443c0
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 0x10
jb 0x1400470af
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400470aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004739f
call fcn.1400498ec
cmp byte [0x14005bebd], 0
je 0x140047256
movaps xmm0, xmmword [0x140053430]
movdqa xmmword [rbp + 0x240], xmm0
movss xmm3, dword [rsp + 0x50]
cvtps2pd xmm3, xmm3
movq r9, xmm3
lea r8, str._.fm
mov edx, 0x40
lea rcx, [rbp + 0x2b0]
call fcn.140041fd0
mov rdi, qword [0x14005bd70]
mov qword [rsp + 0x30], r12
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1400532ec]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400532c8]
movss xmm2, dword [rdi + 0x3c10]
lea rdx, [rbp + 0x228]
mov rcx, qword [rdi + 0x3c08]
call fcn.14002b950
movss xmm0, dword [rbp + 0x228]
addss xmm0, dword [0x140053194]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x228], xmm1
mulss xmm1, xmm12
cvtps2pd xmm0, xmm1
subsd xmm8, xmm0
cvtpd2ps xmm0, xmm8
movss dword [rbp + 0x68], xmm0
movss xmm1, dword [rbp + 0x22c]
mulss xmm1, xmm12
cvtps2pd xmm0, xmm1
subsd xmm9, xmm0
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0x6c], xmm0
mov rax, qword [rdi + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007300
mov rdi, rax
lea rcx, [rbp + 0x240]
call fcn.1400035c0
mov r8d, eax
test eax, 0xff000000
je 0x140047256
lea rax, [rbp + 0x2b0]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400471e0
lea rdx, [rbp + 0x2b0]
add rdx, rcx
lea rax, [rbp + 0x2b0]
cmp rax, rdx
je 0x140047256
mov rax, qword [rdi + 0x38]
movups xmm0, xmmword [rdi + 0x88]
movups xmmword [rbp + 0x240], xmm0
mov byte [rsp + 0x48], 0
xorps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0x2b0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x240]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x68]
movss xmm2, dword [rax + 0x10]
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14002bb70
mov esi, dword [rbp + 0x234]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x14005bf50]
subsd xmm7, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [0x14005bf64]
subsd xmm6, xmm1
mulsd xmm6, xmm6
mulsd xmm7, xmm7
addsd xmm6, xmm7
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14004729e
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400472a6
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [0x14005b04c]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jb 0x1400472d2
movss xmm1, dword [0x14005bf30]
comiss xmm1, xmm0
jbe 0x1400472d2
movss dword [0x14005bf30], xmm0
mov qword [0x14005bee8], r15
cmp byte [0x14005b050], 0
je 0x1400472f1
mov ecx, dword [0x14005b560]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400472f1
call fcn.140043c70
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
mov dword [rbp + 0x234], esi
cmp esi, dword [0x14005bf00]
jb 0x1400454c0
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.140049680
lea r11, [rsp + 0x4a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3