Function at 0x14003b370
Capabilities:
Encode data using xor
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 - 0x6a8]
sub rsp, 0x780
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 [0x140053040]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
xor r14d, r14d
mov rcx, qword [0x14006d700]
add rcx, 0x328
call fcn.140042200
mov r8d, 0x42
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.140039100
movss xmm6, dword [rbp - 0x18]
movss dword [rbp - 0x40], xmm6
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__isnanf]
xorps xmm11, xmm11
test eax, eax
jne 0x14003b457
movss xmm6, dword [rbp - 0x14]
movss dword [rbp - 0x20], xmm6
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__isnanf]
test eax, eax
jne 0x14003b457
movss xmm6, dword [rbp - 0x10]
movss dword [rbp - 0x3c], xmm6
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__isnanf]
test eax, eax
je 0x14003b469
movss dword [rbp - 0x40], xmm11
movss dword [rbp - 0x20], xmm11
movss dword [rbp - 0x3c], xmm11
xorps xmm0, xmm0
movsd qword [rbp + 0x38], xmm0
cvttss2si eax, dword [0x14006cec0]
mov dword [0x14006d6cc], eax
mov rcx, qword [0x14006d618]
add rcx, 0x13723c18
call fcn.140042200
mov qword [0x14006d6e0], rax
lea rcx, [rax + 0x200]
call fcn.140042200
mov qword [0x14006d738], rax
lea rcx, [rax + 0x38]
call fcn.140042200
mov rcx, rax
call fcn.140042200
mov qword [0x14006d6f8], rax
lea rcx, [rax + 0x30]
call fcn.140042200
mov qword [0x14006d748], rax
lea rcx, [rax + 0x350]
call fcn.140042200
mov qword [0x14006d700], rax
lea rcx, [rax + 0x1b0]
call fcn.140042200
mov qword [0x14006d730], rax
lea rdx, [rax + 0x138]
mov qword [rbp + 0x320], r14
mov dword [rbp + 0x328], r14d
mov r9d, 0xc
lea r8, [rbp + 0x320]
call fcn.1400384f0
movsd xmm0, qword [rbp + 0x320]
movsd qword [0x14006cec8], xmm0
mov eax, dword [rbp + 0x328]
mov dword [0x14006ced0], eax
mov rcx, qword [0x14006d700]
add rcx, 0x2c8
call fcn.140042200
mov qword [0x14006d710], rax
lea rcx, [rax + 0x1261]
call fcn.140042160
mov dword [0x14006d728], eax
mov rcx, qword [0x14006d6e0]
add rcx, 0x188
call fcn.140042200
mov qword [0x14006d718], rax
lea rcx, [rax + 0x2c0]
call fcn.140042200
mov qword [0x14006d720], rax
mov rcx, qword [0x14006d718]
add rcx, 0x2c8
call fcn.140042160
mov dword [0x14006d708], eax
mov dword [0x14006d6f0], 0x7f7fffff
mov qword [0x14006d6e8], r14
mov r12d, r14d
test eax, eax
jle 0x14003ba06
movdqa xmm7, xmmword [0x14004bda0]
movss xmm13, dword [0x14004b7ac]
nop dword [rax]
movsxd rcx, r12d
mov rax, qword [0x14006d720]
lea rcx, [rax + rcx*8]
call fcn.140042200
mov r13, rax
test rax, rax
je 0x14003b9f6
lea rcx, [rax + 0x1261]
call fcn.140042160
cmp qword [0x14006d700], 0
je 0x14003b621
cmp eax, dword [0x14006d728]
je 0x14003b9f6
lea rcx, [r13 + 0x320]
call fcn.140042200
mov r15, rax
lea rcx, [rax + 0x538]
call fcn.140042550
sar al, 3
test al, al
jne 0x14003b9f6
test r15, r15
je 0x14003b9f6
cmp r15, qword [0x14006d700]
je 0x14003b9f6
lea rcx, [r15 + 0x328]
call fcn.140042200
mov rdi, rax
test rax, rax
je 0x14003b9f6
lea rcx, [r15 + 0x982]
shr rcx, 4
call fcn.140042550
movzx esi, al
and sil, 1
mov byte [rsp + 0x40], sil
mov r8d, 0x42
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.140039100
movss xmm14, dword [rbp - 0x10]
movaps xmm1, xmm14
addss xmm1, dword [0x14004b804]
movss xmm15, dword [rbp - 0x18]
movaps xmm0, xmm15
movss xmm6, dword [rbp - 0x14]
unpcklps xmm0, xmm6
movsd qword [rbp + 0x130], xmm0
movss dword [rbp + 0x138], xmm1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x2e8]
call fcn.140038d80
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.140039100
movsd xmm0, qword [rbp - 0x60]
movsd qword [rbp + 0x140], xmm0
mov ebx, dword [rbp - 0x58]
mov dword [rbp + 0x148], ebx
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x2d8]
call fcn.140038d80
movss xmm9, dword [rbp + 0x2ec]
movaps xmm8, xmm9
movss xmm12, dword [rbp + 0x2dc]
subss xmm8, xmm12
andps xmm8, xmm7
movaps xmm7, xmm8
mulss xmm7, dword [0x14004b758]
movss xmm10, dword [rbp - 0x58]
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm11
jp 0x14003b760
je 0x14003b7d2
movss xmm0, dword [rbp - 0x5c]
subss xmm0, dword [rbp - 0x20]
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x60]
subss xmm0, dword [rbp - 0x40]
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movaps xmm0, xmm10
subss xmm0, dword [rbp - 0x3c]
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003b7b4
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003b7bc
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, dword [0x14004b830]
cvtss2sd xmm0, xmm0
movsd qword [rbp + 0x38], xmm0
movss xmm6, dword [rbp - 0x14]
movss xmm10, dword [rbp + 0x2e8]
movss xmm13, dword [rbp + 0x2d8]
mov ecx, dword [0x14006d6c8]
mov eax, dword [0x14006d6d8]
cmp byte [0x14006ce88], 0
je 0x14003ba8d
comiss xmm10, xmm11
jbe 0x14003b827
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm10
jbe 0x14003b827
comiss xmm9, xmm11
jbe 0x14003b827
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm9
ja 0x14003ba8d
comiss xmm13, xmm11
jbe 0x14003b851
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm13
jbe 0x14003b851
comiss xmm12, xmm11
jbe 0x14003b851
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm12
ja 0x14003ba8d
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm8, eax
cvtdq2ps xmm8, xmm8
subss xmm9, xmm8
subss xmm10, xmm7
movaps xmm1, xmm10
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm10, xmm0
movd xmm6, dword [0x14006d6cc]
cvtdq2ps xmm6, xmm6
addss xmm6, dword [0x14006ce98]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
mulss xmm9, xmm6
addss xmm9, xmm7
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
mulss xmm7, xmm6
addss xmm7, xmm8
mov rbx, qword [0x14006d590]
subss xmm10, dword [rbx + 0x18]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, dword [0x14004b814]
addss xmm0, xmm9
movss dword [rbp + 0x300], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, dword [0x14004b814]
addss xmm0, xmm7
movss dword [rbp + 0x304], xmm0
movaps xmm6, xmm10
subss xmm6, dword [0x14004b7a8]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss xmm8, dword [0x14004b7f8]
mulss xmm0, xmm8
addss xmm0, xmm9
movss dword [rbp + 0x308], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
addss xmm0, xmm7
movss dword [rbp + 0x30c], xmm0
addss xmm10, dword [0x14004b7a8]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm0, xmm9
movss dword [rbp + 0x310], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
addss xmm0, xmm7
movss dword [rbp + 0x314], xmm0
mov rax, qword [rbx + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004bd50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x310]
lea r8, [rbp + 0x308]
lea rdx, [rbp + 0x300]
mov rcx, r10
call fcn.140025810
movss xmm13, dword [0x14004b7ac]
movdqa xmm7, xmmword [0x14004bda0]
inc r12d
cmp r12d, dword [0x14006d708]
jl 0x14003b5e0
cmp byte [0x14006cea0], 0
je 0x14003ba25
mov ecx, dword [0x14006ce44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003ba25
call fcn.14003a7f0
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.140042810
lea r11, [rsp + 0x780]
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
cmp byte [0x14006ce8b], 0
je 0x14003dc17
movss xmm1, dword [0x14004b870]
comiss xmm13, xmm1
jbe 0x14003dc17
add eax, 0x1e
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm13
jbe 0x14003dc17
comiss xmm12, xmm1
jbe 0x14003dc17
lea eax, [rcx + 0x1e]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm12
jbe 0x14003dc17
cmp byte [0x14006ce8a], 0
je 0x14003ca62
mov ecx, dword [0x14006ce90]
test ecx, ecx
je 0x14003c683
sub ecx, 1
je 0x14003c5f9
cmp ecx, 1
jne 0x14003c49b
mov byte [0x14006ce8c], 0
ucomiss xmm15, xmm11
jp 0x14003bb2e
jne 0x14003bb2e
ucomiss xmm6, xmm11
jp 0x14003bb2e
jne 0x14003bb2e
ucomiss xmm14, xmm11
jp 0x14003bb2e
je 0x14003c538
movdqa xmm0, xmmword [0x14004bdc0]
movups xmmword [rbp + 0x550], xmm0
movdqa xmm0, xmmword [0x14004bd70]
movups xmmword [rbp + 0x560], xmm0
movdqa xmm0, xmmword [0x14004b900]
movups xmmword [rbp + 0x570], xmm0
movdqa xmm0, xmmword [0x14004bdd0]
movups xmmword [rbp + 0x520], xmm0
movdqa xmm0, xmmword [0x14004bd80]
movups xmmword [rbp + 0x530], xmm0
movdqa xmm0, xmmword [0x14004bd60]
movups xmmword [rbp + 0x540], xmm0
lea rsi, [fcn.1400010d0]
mov qword [rsp + 0x20], rsi
lea r9, [0x1400387e0]
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x4c0]
call fcn.140042a84
nop
mov qword [rsp + 0x20], rsi
lea r9, [0x1400387e0]
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x490]
call fcn.140042a84
nop
movss xmm0, dword [rbp + 0x550]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x554]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x558]
addss xmm2, dword [rbp - 0x58]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm2
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x6c]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4c0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4c8], eax
movss xmm0, dword [rbp + 0x520]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x524]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x528]
addss xmm2, xmm14
unpcklps xmm0, xmm1
movsd qword [rbp - 0x50], xmm0
movss dword [rbp - 0x48], xmm2
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x60]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x490], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x498], eax
movss xmm0, dword [rbp + 0x55c]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x560]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x564]
addss xmm2, dword [rbp - 0x58]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm2
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x6c]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4cc], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4d4], eax
movss xmm0, dword [rbp + 0x52c]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x530]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x534]
addss xmm2, xmm14
unpcklps xmm0, xmm1
movsd qword [rbp - 0x50], xmm0
movss dword [rbp - 0x48], xmm2
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x60]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x49c], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4a4], eax
movss xmm0, dword [rbp + 0x568]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x56c]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x570]
addss xmm2, dword [rbp - 0x58]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm2
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x6c]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4d8], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4e0], eax
movss xmm0, dword [rbp + 0x538]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x53c]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x540]
addss xmm2, xmm14
unpcklps xmm0, xmm1
movsd qword [rbp - 0x50], xmm0
movss dword [rbp - 0x48], xmm2
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x60]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4a8], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4b0], eax
movss xmm2, dword [rbp + 0x57c]
addss xmm2, dword [rbp - 0x58]
movss xmm1, dword [rbp + 0x578]
addss xmm1, dword [rbp - 0x5c]
movss xmm0, dword [rbp + 0x574]
addss xmm0, dword [rbp - 0x60]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm2
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x6c]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4e4], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4ec], eax
movss xmm2, dword [rbp + 0x54c]
addss xmm2, xmm14
movss xmm1, dword [rbp + 0x548]
addss xmm1, xmm6
movss xmm0, dword [rbp + 0x544]
addss xmm0, xmm15
unpcklps xmm0, xmm1
movsd qword [rbp - 0x50], xmm0
movss dword [rbp - 0x48], xmm2
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x60]
call fcn.140038d80
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4b4], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4bc], eax
lea rcx, [rdi + 0x2e0]
call fcn.1400422a0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.1400422a0
addss xmm0, dword [0x14004b734]
comiss xmm0, xmm6
jb 0x14003beb5
movdqa xmm0, xmmword [0x14004bc10]
jmp 0x14003bebd
movdqa xmm0, xmmword [0x14004bc00]
movups xmmword [rbp - 0x80], xmm0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
mov r10, rax
movss xmm0, dword [rbp + 0x490]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x494]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4c0]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4c4]
movss dword [rsp + 0x58], xmm1
lea rcx, [rbp - 0x80]
call fcn.140003110
mov ebx, eax
movss xmm6, dword [0x14004b73c]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
mov rcx, r10
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4cc]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4d0]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4c0]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4c4]
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x49c]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x4a0]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x490]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x494]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x74]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x49c]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x4a0]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4cc]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4d0]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4d8]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4dc]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4cc]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4d0]
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4a8]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x4ac]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x49c]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x4a0]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x74]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4a8]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x4ac]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4d8]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4dc]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4e4]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4e8]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4d8]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4dc]
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rcx, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140006730
movss xmm0, dword [rbp + 0x4b4]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x4b8]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x4a8]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x4ac]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x74]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
movss xmm0, dword [rbp + 0x4b4]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x4b8]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4e4]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4e8]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
movss xmm0, dword [rbp + 0x4c0]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4c4]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4e4]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4e8]
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x64]
mov rcx, rax
call fcn.1400253f0
mov rax, qword [0x14006d590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
movss xmm0, dword [rbp + 0x490]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x494]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x4b4]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x4b8]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x74]
mov rcx, rax
call fcn.1400253f0
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x490]
call fcn.1400429ac
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x4c0]
call fcn.1400429ac
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x520]
call fcn.1400429ac
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x550]
call fcn.1400429ac
movss xmm6, dword [0x14004b760]
cmp byte [0x14006ce8c], 0
je 0x14003c538
mov rax, qword [0x14006d590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004ba10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm1, xmm9
addss xmm1, xmm8
mulss xmm7, xmm6
movaps xmm0, xmm10
addss xmm0, xmm7
movss dword [rbp - 8], xmm0
movss dword [rbp - 4], xmm1
movaps xmm1, xmm10
subss xmm1, xmm7
movss dword [rbp], xmm1
movss dword [rbp + 4], xmm9
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 8]
lea rdx, [rbp]
mov rcx, r10
call fcn.140025660
cmp byte [0x14006d6a0], 0
je 0x14003c782
cmp dword [0x14006d690], 0
jne 0x14003c782
lea rcx, [rdi + 0x2e0]
call fcn.1400422a0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.1400422a0
addss xmm0, dword [0x14004b734]
mov rax, qword [0x14006d590]
lea r8, str.Background
xor edx, edx
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003c70d
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004bc10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm0, xmm12
addss xmm0, dword [0x14004b824]
movss dword [rbp + 8], xmm13
movss dword [rbp + 0xc], xmm0
movd xmm1, dword [0x14006d6c8]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x14006d6d0]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
lea r8, [rbp + 8]
lea rdx, [rbp + 0x10]
jmp 0x14003c769
lea rcx, [rdi + 0x2e0]
call fcn.1400422a0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.1400422a0
addss xmm0, dword [0x14004b734]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm1, xmm7
lea rax, [rbp - 0x80]
comiss xmm0, xmm6
movss xmm6, dword [0x14004b760]
mulss xmm1, xmm6
jb 0x14003c64d
movdqa xmm0, xmmword [0x14004bc10]
jmp 0x14003c655
movdqa xmm0, xmmword [0x14004bc00]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm10
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x14004b7a0]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rax
call fcn.14003afb0
jmp 0x14003c4a3
lea rcx, [rdi + 0x2e0]
call fcn.1400422a0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.1400422a0
addss xmm0, dword [0x14004b734]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm1, xmm7
lea rax, [rbp - 0x80]
comiss xmm0, xmm6
movss xmm6, dword [0x14004b760]
mulss xmm1, xmm6
jb 0x14003c703
movdqa xmm0, xmmword [0x14004bc10]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm10
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x14004b7a0]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rax
call fcn.14003ac60
jmp 0x14003c4a3
movdqa xmm0, xmmword [0x14004bc00]
jmp 0x14003c6d5
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004bc00]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm0, xmm12
addss xmm0, dword [0x14004b824]
movss dword [rbp + 0x18], xmm13
movss dword [rbp + 0x1c], xmm0
movd xmm1, dword [0x14006d6c8]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x14006d6d0]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x20]
movss xmm0, dword [0x14004b73c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
mov rcx, r10
call fcn.1400253f0
cmp byte [0x14006ce94], 0
je 0x14003ca62
mov rdx, r15
lea rcx, [rbp + 0x300]
call fcn.140039250
nop
cmp qword [rbp + 0x310], 0
jne 0x14003c7fb
mov eax, dword [0x14004b4e0]
mov dword [rsp + 0x44], eax
movzx eax, byte [0x14004b4e4]
mov byte [rsp + 0x44], 0x4e
xor byte [rsp + 0x45], 0x37
xor byte [rsp + 0x46], 0x38
xor byte [rsp + 0x47], 0x39
xor al, 0x3a
mov byte [rsp + 0x48], al
lea rax, [rsp + 0x44]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14003c7e0
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x300]
call fcn.140041e20
lea rax, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova rax, qword [rbp + 0x300]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003c824
movaps xmm6, xmm11
jmp 0x14003c879
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b86c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b860]
movss xmm2, dword [rbx + 0x3c10]
lea rdx, [rbp + 0x28]
mov rcx, qword [rbx + 0x3c08]
call fcn.140029480
movss xmm0, dword [rbp + 0x28]
addss xmm0, dword [0x14004b78c]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x28], xmm6
mov rax, qword [rbx + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
mov rsi, rax
lea rbx, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova rbx, qword [rbp + 0x300]
lea rcx, [r15 + 0x5c0]
call fcn.140042200
movdqa xmm8, xmmword [0x14004bd50]
movups xmmword [rbp - 0x80], xmm8
test rax, rax
je 0x14003c9d3
lea rcx, [rax + 0x378]
call fcn.140042200
test rax, rax
je 0x14003c9d3
mov byte [rbp + 0x2f8], 0
mov dword [rbp + 0x512], r14d
mov word [rbp + 0x516], r14w
mov dword [rbp + 0x4f0], 0x4823fa
add rax, 0x54
mov qword [rbp + 0x4f8], rax
lea rax, [rbp + 0x2f8]
mov qword [rbp + 0x500], rax
mov eax, 1
mov qword [rbp + 0x508], rax
mov rcx, qword [0x14006d668]
mov eax, dword [rcx]
mov dword [rbp + 0x4f4], eax
mov word [rbp + 0x510], 0x100
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x28
lea r8, [rbp + 0x4f0]
mov edx, 0x220ad8
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx eax, byte [rbp + 0x2f8]
cmp eax, 6
ja case.default.0x14003c98d
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x3dcf4]
add rcx, rdx
jmp rcx
movdqa xmm0, xmmword [0x14004bb10]
jmp 0x14003c9cf
movdqa xmm0, xmmword [0x14004bc30]
jmp 0x14003c9cf
movdqa xmm0, xmmword [0x14004bd00]
jmp 0x14003c9cf
movdqa xmm0, xmmword [0x14004bbb0]
jmp 0x14003c9cf
movdqa xmm0, xmmword [0x14004bbe0]
jmp 0x14003c9cf
movdqa xmm0, xmmword [0x14004bd40]
jmp 0x14003c9cf
movaps xmm0, xmm8
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm1, xmm12
movss xmm7, dword [0x14004b80c]
addss xmm1, xmm7
movss xmm14, dword [0x14004b760]
mulss xmm6, xmm14
movaps xmm0, xmm13
subss xmm0, xmm6
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
mov r9, rbx
mov r8d, eax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140025960
nop
mov rdx, qword [rbp + 0x318]
cmp rdx, 0xf
jbe 0x14003ca7c
inc rdx
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ca5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dcc7
call fcn.140042a7c
jmp 0x14003ca7c
movdqa xmm8, xmmword [0x14004bd50]
movss xmm14, dword [0x14004b760]
movss xmm7, dword [0x14004b80c]
cmp byte [0x1400530a1], 0
je 0x14003d10d
mov rcx, qword [0x14006d700]
add rcx, 0x5c0
call fcn.140042200
lea rcx, [rax + 0x378]
call fcn.140042200
test rax, rax
je 0x14003d10d
lea rcx, [rax + 0x70]
call fcn.140042200
mov rbx, rax
test rax, rax
je 0x14003d10d
lea rcx, [rax + 0x28]
call fcn.140042200
mov r14, rax
lea rcx, [rbx + 0x30]
call fcn.140042160
lea ecx, [rax - 1]
cmp ecx, 0x30
ja 0x14003d10a
movsxd rbx, eax
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call fcn.14004303c
mov rsi, rax
lea r9, [rbx + rbx]
mov r8, rax
mov rdx, r14
lea rcx, [rbp + 0x4f0]
call fcn.1400385f0
mov rdx, qword [rbp + 0x508]
cmp rdx, 0xf
jbe 0x14003cb5f
inc rdx
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cb5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dcce
call fcn.140042a7c
mov ecx, 0xa0
cmp byte [0x1400530a0], 0
je 0x14003cf14
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r14d, r14d
test ax, ax
je 0x14003d10d
movups xmm3, xmmword [str.e_WM_NR]
movups xmmword [rbp - 0x80], xmm3
pextrw eax, xmm3, 7
test ax, ax
je 0x14003ccd8
mov r8d, r14d
cmp dword [0x140053010], 2
jl 0x14003cc8f
movdqa xmm4, xmmword [0x14004b930]
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm5, xmmword [0x14004bd90]
pmuldq xmm2, xmm5
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm5
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [str.6666]
movdqa xmm0, xmm4
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14004b9e0]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp - 0x80], xmm2
movdqa xmm3, xmmword [0x14004b940]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [str.6666]
movdqa xmm0, xmm3
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14004b9e0]
movq xmm0, qword [rbp - 0x78]
xorps xmm2, xmm0
movq qword [rbp - 0x78], xmm2
jmp 0x14003ccd8
lea r9, [rbp - 0x80]
mov r14d, 1
nop dword [rax]
mov eax, 0x2f684bdb
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov eax, r14d
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 8
jl 0x14003cca0
xor r14d, r14d
lea rdx, [rbp - 0x80]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
je 0x14003d10d
mov r8d, 0x42
mov rdx, rdi
lea rcx, [rbp + 0x208]
call fcn.140039100
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov rdx, qword [0x14006d748]
add rdx, 0x1db8
mov qword [rbp + 0x330], 0
mov dword [rbp + 0x338], 0
mov r9d, 0xc
lea r8, [rbp + 0x330]
call fcn.1400384f0
movsd qword [rbp + 0x1c0], xmm6
movaps xmm0, xmm6
subss xmm0, xmm7
movss xmm1, dword [rbp + 0x330]
comiss xmm1, xmm0
jb 0x14003d10d
addss xmm6, xmm7
comiss xmm6, xmm1
jb 0x14003d10d
movss xmm1, dword [rbp + 0x1c4]
movaps xmm0, xmm1
subss xmm0, xmm7
movss xmm2, dword [rbp + 0x334]
comiss xmm2, xmm0
jb 0x14003d10d
addss xmm1, xmm7
comiss xmm1, xmm2
jb 0x14003d10d
movd xmm1, ebx
movaps xmm0, xmm1
movss xmm3, dword [0x14004b818]
subss xmm0, xmm3
movss xmm2, dword [rbp + 0x338]
comiss xmm2, xmm0
jb 0x14003d10d
addss xmm1, xmm3
comiss xmm1, xmm2
jb 0x14003d10d
cmp byte [0x14006d589], 0
je 0x14003cdf0
lea rcx, [rbp + 0x1d0]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d600], rcx
mov byte [0x14006d589], 0
lea rcx, [rbp + 0x1d8]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d5b8], rcx
sub rcx, qword [0x14006d600]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [0x14006d5b4], edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x14004b820]
jb 0x14003cf07
mov dword [rbp + 0x378], 1
mov dword [rbp + 0x370], 0x91
mov dword [rbp + 0x374], 0x91
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0xc
lea rax, [rbp + 0x370]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp + 0x370]
mov edx, 0x22938c
mov rcx, qword [0x14006d668]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x368], 2
mov dword [rbp + 0x360], 0x91
mov dword [rbp + 0x364], 0x91
lea rax, [rbp + 0x360]
lea r8, [rbp + 0x360]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0xc
mov r9d, 0xc
mov qword [rsp + 0x20], rax
mov edx, 0x22938c
mov rcx, qword [0x14006d668]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov byte [0x14006d589], 1
mov rcx, rsi
call fcn.140042a7c
jmp 0x14003d10d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003d10a
mov r8d, 0x42
mov rdx, rdi
lea rcx, [rbp + 0x1fc]
call fcn.140039100
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov rdx, qword [0x14006d748]
add rdx, 0x1db8
mov qword [rbp + 0x320], 0
mov dword [rbp + 0x328], 0
mov r9d, 0xc
lea r8, [rbp + 0x320]
call fcn.1400384f0
movsd qword [rbp + 0x1b0], xmm6
movaps xmm0, xmm6
subss xmm0, xmm7
movss xmm1, dword [rbp + 0x320]
comiss xmm1, xmm0
jb 0x14003d10a
addss xmm6, xmm7
comiss xmm6, xmm1
jb 0x14003d10a
movss xmm1, dword [rbp + 0x1b4]
movaps xmm0, xmm1
subss xmm0, xmm7
movss xmm2, dword [rbp + 0x324]
comiss xmm2, xmm0
jb 0x14003d10a
addss xmm1, xmm7
comiss xmm1, xmm2
jb 0x14003d10a
movd xmm1, ebx
movaps xmm0, xmm1
movss xmm3, dword [0x14004b818]
subss xmm0, xmm3
movss xmm2, dword [rbp + 0x328]
comiss xmm2, xmm0
jb 0x14003d10a
addss xmm1, xmm3
comiss xmm1, xmm2
jb 0x14003d10a
cmp byte [0x14006d589], 0
je 0x14003d025
lea rcx, [rbp + 0x1e0]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d600], rcx
mov byte [0x14006d589], 0
lea rcx, [rbp + 0x1e8]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d5b8], rcx
sub rcx, qword [0x14006d600]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [0x14006d5b4], edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
xor r14d, r14d
comiss xmm0, dword [0x14004b820]
jb 0x14003cf07
mov dword [rbp + 0x358], 1
mov dword [rbp + 0x350], 0x91
mov dword [rbp + 0x354], 0x91
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0xc
lea rax, [rbp + 0x350]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp + 0x350]
mov edx, 0x22938c
mov rcx, qword [0x14006d668]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x348], 2
mov dword [rbp + 0x340], 0x91
mov dword [rbp + 0x344], 0x91
lea rax, [rbp + 0x340]
lea r8, [rbp + 0x340]
jmp 0x14003cecd
xor r14d, r14d
cmp byte [0x14006d6a2], 0
je 0x14003d894
mov r8d, 2
mov rdx, rdi
lea rcx, [rbp + 0x1f0]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x160], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x480]
call fcn.140038d80
mov r8d, 5
mov rdx, rdi
lea rcx, [rbp + 0x2c8]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x170], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x178], eax
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x470]
call fcn.140038d80
mov r8d, 0x42
mov rdx, rdi
lea rcx, [rbp + 0x2bc]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x180], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x188], eax
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x460]
call fcn.140038d80
mov r8d, 0x49
mov rdx, rdi
lea rcx, [rbp + 0x214]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x190], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x198], eax
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x440]
call fcn.140038d80
mov r8d, 0x4b
mov rdx, rdi
lea rcx, [rbp + 0x2b0]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1a0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1a8], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x450]
call fcn.140038d80
mov r8d, 0x48
mov rdx, rdi
lea rcx, [rbp + 0x2a4]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x80], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x88], eax
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x430]
call fcn.140038d80
mov r8d, 0x47
mov rdx, rdi
lea rcx, [rbp + 0x298]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x90], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x98], eax
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x420]
call fcn.140038d80
mov r8d, 0x50
mov rdx, rdi
lea rcx, [rbp + 0x28c]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xa0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xa8], eax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x3f0]
call fcn.140038d80
mov r8d, 0x52
mov rdx, rdi
lea rcx, [rbp + 0x280]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xb0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xb8], eax
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x3e0]
call fcn.140038d80
mov r8d, 0x4f
mov rdx, rdi
lea rcx, [rbp + 0x274]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xc0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xc8], eax
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x400]
call fcn.140038d80
mov r8d, 0x4e
mov rdx, rdi
lea rcx, [rbp + 0x268]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xd0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xd8], eax
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x410]
call fcn.140038d80
mov r8d, 0xb
mov rdx, rdi
lea rcx, [rbp + 0x25c]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xe8], eax
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x3d0]
call fcn.140038d80
mov r8d, 0xa
mov rdx, rdi
lea rcx, [rbp + 0x250]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0xf0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xf8], eax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x3c0]
call fcn.140038d80
mov r8d, 9
mov rdx, rdi
lea rcx, [rbp + 0x244]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x100], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x108], eax
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x3b0]
call fcn.140038d80
mov r8d, 0x28
mov rdx, rdi
lea rcx, [rbp + 0x238]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x110], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x118], eax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x380]
call fcn.140038d80
mov r8d, 0x27
mov rdx, rdi
lea rcx, [rbp + 0x22c]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x120], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x128], eax
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x390]
call fcn.140038d80
mov r8d, 0x26
mov rdx, rdi
lea rcx, [rbp + 0x220]
call fcn.140039100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x150], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x158], eax
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x3a0]
call fcn.140038d80
movss xmm3, dword [rbp + 0x480]
movss dword [rbp + 0x300], xmm3
movss xmm2, dword [rbp + 0x484]
movss dword [rbp + 0x304], xmm2
movss xmm0, dword [rbp + 0x470]
movss dword [rbp + 0x308], xmm0
movss xmm1, dword [rbp + 0x474]
movss dword [rbp + 0x30c], xmm1
movss xmm0, dword [rbp + 0x460]
movss dword [rbp + 0x310], xmm0
movss xmm1, dword [rbp + 0x464]
movss dword [rbp + 0x314], xmm1
movss xmm0, dword [rbp + 0x450]
movss dword [rbp + 0x580], xmm0
movss xmm1, dword [rbp + 0x454]
movss dword [rbp + 0x584], xmm1
movss xmm0, dword [rbp + 0x440]
movss dword [rbp + 0x588], xmm0
movss xmm1, dword [rbp + 0x444]
movss dword [rbp + 0x58c], xmm1
movss xmm0, dword [rbp + 0x430]
movss dword [rbp + 0x590], xmm0
movss xmm1, dword [rbp + 0x434]
movss dword [rbp + 0x594], xmm1
movss xmm0, dword [rbp + 0x420]
movss dword [rbp + 0x598], xmm0
movss xmm1, dword [rbp + 0x424]
movss dword [rbp + 0x59c], xmm1
movss dword [rbp + 0x5a0], xmm3
movss dword [rbp + 0x5a4], xmm2
movss xmm0, dword [rbp + 0x410]
movss dword [rbp + 0x5a8], xmm0
movss xmm1, dword [rbp + 0x414]
movss dword [rbp + 0x5ac], xmm1
movss xmm0, dword [rbp + 0x400]
movss dword [rbp + 0x5b0], xmm0
movss xmm1, dword [rbp + 0x404]
movss dword [rbp + 0x5b4], xmm1
movss xmm0, dword [rbp + 0x3f0]
movss dword [rbp + 0x5b8], xmm0
movss xmm1, dword [rbp + 0x3f4]
movss dword [rbp + 0x5bc], xmm1
movss xmm0, dword [rbp + 0x3e0]
movss dword [rbp + 0x5c0], xmm0
movss xmm1, dword [rbp + 0x3e4]
movss dword [rbp + 0x5c4], xmm1
movss xmm0, dword [rbp + 0x3d0]
movss dword [rbp + 0x4f0], xmm0
movss xmm1, dword [rbp + 0x3d4]
movss dword [rbp + 0x4f4], xmm1
movss xmm0, dword [rbp + 0x3c0]
movss dword [rbp + 0x4f8], xmm0
movss xmm1, dword [rbp + 0x3c4]
movss dword [rbp + 0x4fc], xmm1
movss xmm0, dword [rbp + 0x3b0]
movss dword [rbp + 0x500], xmm0
movss xmm1, dword [rbp + 0x3b4]
movss dword [rbp + 0x504], xmm1
movss xmm0, dword [rbp + 0x3a0]
movss dword [rbp + 0x508], xmm0
movss xmm1, dword [rbp + 0x3a4]
movss dword [rbp + 0x50c], xmm1
movss xmm0, dword [rbp + 0x390]
movss dword [rbp + 0x510], xmm0
movss xmm1, dword [rbp + 0x394]
movss dword [rbp + 0x514], xmm1
movss xmm0, dword [rbp + 0x380]
movss dword [rbp + 0x518], xmm0
movss xmm1, dword [rbp + 0x384]
movss dword [rbp + 0x51c], xmm1
lea rcx, [rdi + 0x2e0]
call fcn.1400422a0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2f0]
call fcn.1400422a0
addss xmm0, dword [0x14004b734]
mov rax, qword [0x14006d590]
lea r8, str.Background
xor edx, edx
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003d7a8
call fcn.140006730
movdqa xmm6, xmmword [0x14004bc10]
jmp 0x14003d7b5
call fcn.140006730
movdqa xmm6, xmmword [0x14004bc00]
mov r10, rax
movups xmmword [rbp - 0x80], xmm6
lea rcx, [rbp - 0x80]
call fcn.140003110
movss xmm7, dword [0x14004b794]
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
mov r9d, eax
mov r8d, 3
lea rdx, [rbp + 0x300]
mov rcx, r10
call fcn.140023120
mov rax, qword [0x14006d590]
xor edx, edx
lea r8, str.Background
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
movups xmmword [rbp - 0x80], xmm6
lea rcx, [rbp - 0x80]
call fcn.140003110
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
mov r9d, eax
mov r8d, 9
lea rdx, [rbp + 0x580]
mov rcx, r10
call fcn.140023120
mov rax, qword [0x14006d590]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
movups xmmword [rbp - 0x80], xmm6
lea rcx, [rbp - 0x80]
call fcn.140003110
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
mov r9d, eax
mov r8d, 6
lea rdx, [rbp + 0x4f0]
mov rcx, r10
call fcn.140023120
cmp byte [0x14006ce89], 0
je 0x14003dac3
movzx eax, word [0x14004b5c8]
mov word [rbp + 0x2f8], ax
cmp byte [0x14004b5c9], 0
je 0x14003d8c6
mov byte [rbp + 0x2f8], 0x6d
xor byte [rbp + 0x2f9], 0x37
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x4f0]
call fcn.140041d00
mov rbx, rax
cvttsd2si edx, qword [rbp + 0x38]
lea rcx, [rbp - 0x80]
call fcn.140041f80
nop
mov r9, rbx
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x300]
call fcn.1400425f0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x14003d93b
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d935
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dcd5
call fcn.140042a7c
nop
mov rdx, qword [rbp + 0x508]
cmp rdx, 0xf
jbe 0x14003d97c
inc rdx
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d977
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dcdc
call fcn.140042a7c
mov qword [rbp + 0x500], r14
mov qword [rbp + 0x508], 0xf
mov byte [rbp + 0x4f0], 0
lea rax, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova rax, qword [rbp + 0x300]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003d9be
movaps xmm6, xmm11
jmp 0x14003da13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b86c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b860]
movss xmm2, dword [rbx + 0x3c10]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 0x3c08]
call fcn.140029480
movss xmm0, dword [rbp + 0x40]
addss xmm0, dword [0x14004b78c]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x40], xmm6
mov rax, qword [rbx + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
lea r9, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova r9, qword [rbp + 0x300]
movups xmmword [rbp - 0x80], xmm8
lea rcx, [rbp - 0x80]
call fcn.140003110
addss xmm12, dword [0x14004b7e4]
mulss xmm6, xmm14
subss xmm13, xmm6
movss dword [rbp + 0x48], xmm13
movss dword [rbp + 0x4c], xmm12
mov r8d, eax
lea rdx, [rbp + 0x48]
mov rcx, r10
call fcn.140025960
nop
mov rdx, qword [rbp + 0x318]
cmp rdx, 0xf
jbe 0x14003dac3
inc rdx
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003dabe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dce3
call fcn.140042a7c
cmp byte [0x14006d6a1], 0
je 0x14003dc12
mov rdx, r13
lea rcx, [rbp + 0x300]
call fcn.140039510
nop
lea rax, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova rax, qword [rbp + 0x300]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003db09
movaps xmm6, xmm11
jmp 0x14003db5e
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b86c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b860]
movss xmm2, dword [rbx + 0x3c10]
lea rdx, [rbp + 0x50]
mov rcx, qword [rbx + 0x3c08]
call fcn.140029480
movss xmm0, dword [rbp + 0x50]
addss xmm0, dword [0x14004b78c]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x50], xmm6
mov rax, qword [rbx + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006730
mov r10, rax
lea r9, [rbp + 0x300]
cmp qword [rbp + 0x318], 0xf
cmova r9, qword [rbp + 0x300]
movups xmmword [rbp - 0x80], xmm8
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm1, xmm9
subss xmm1, dword [0x14004b804]
mulss xmm6, xmm14
movaps xmm0, xmm10
subss xmm0, xmm6
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm1
mov r8d, eax
lea rdx, [rbp + 0x58]
mov rcx, r10
call fcn.140025960
nop
mov rdx, qword [rbp + 0x318]
cmp rdx, 0xf
jbe 0x14003dc12
inc rdx
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003dc0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dcea
call fcn.140042a7c
movzx esi, byte [rsp + 0x40]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x14006d6d0]
subss xmm10, xmm0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm10
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [0x14006d6d4]
subss xmm9, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm9
mulsd xmm0, xmm0
mulsd xmm2, xmm2
addsd xmm0, xmm2
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14003dc68
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14003dc70
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
test sil, sil
jne 0x14003b9e5
movss xmm1, dword [0x14006ce98]
comiss xmm1, xmm0
jb 0x14003b9e5
movss xmm1, dword [0x14006d6f0]
movss xmm13, dword [0x14004b7ac]
movdqa xmm7, xmmword [0x14004bda0]
comiss xmm1, xmm0
jbe 0x14003b9f6
movss dword [0x14006d6f0], xmm0
mov qword [0x14006d6e8], rdi
mov qword [0x14006d740], r15
jmp 0x14003b9f6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3