Function at 0x14003b1b0
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, 0x310
call fcn.140042100
mov r8d, 0x6e
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.140039160
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 0x14003b297
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 0x14003b297
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 0x14003b2a9
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 rax, qword [0x14006d668]
mov rcx, qword [rax + 8]
add rcx, 0x11ecd148
call fcn.140042100
mov qword [0x14006d6e0], rax
lea rcx, [rax + 0x1d8]
call fcn.140042100
mov qword [0x14006d738], rax
lea rcx, [rax + 0x38]
call fcn.140042100
mov rcx, rax
call fcn.140042100
mov qword [0x14006d6f8], rax
lea rcx, [rax + 0x30]
call fcn.140042100
mov qword [0x14006d748], rax
lea rcx, [rax + 0x338]
call fcn.140042100
mov qword [0x14006d700], rax
lea rcx, [rax + 0x198]
call fcn.140042100
mov qword [0x14006d730], rax
lea rdx, [rax + 0x120]
mov qword [rbp + 0x428], r14
mov dword [rbp + 0x430], r14d
mov r9d, 0xc
lea r8, [rbp + 0x428]
call fcn.1400384f0
movsd xmm0, qword [rbp + 0x428]
movsd qword [0x14006cec8], xmm0
mov eax, dword [rbp + 0x430]
mov dword [0x14006ced0], eax
mov rcx, qword [0x14006d700]
add rcx, 0x2b0
call fcn.140042100
mov qword [0x14006d710], rax
lea rcx, [rax + 0x11d1]
call fcn.140042060
mov dword [0x14006d728], eax
mov rcx, qword [0x14006d6e0]
add rcx, 0x160
call fcn.140042100
mov qword [0x14006d718], rax
lea rcx, [rax + 0x2a8]
call fcn.140042100
mov qword [0x14006d720], rax
mov rcx, qword [0x14006d718]
add rcx, 0x2b0
call fcn.140042060
mov dword [0x14006d708], eax
mov dword [0x14006d6f0], 0x7f7fffff
mov qword [0x14006d6e8], r14
mov r12d, r14d
test eax, eax
jle 0x14003b846
movdqa xmm7, xmmword [0x14004bdd0]
movss xmm13, dword [0x14004b7b4]
movsxd rcx, r12d
mov rax, qword [0x14006d720]
lea rcx, [rax + rcx*8]
call fcn.140042100
mov r13, rax
test rax, rax
je 0x14003b836
lea rcx, [rax + 0x11d1]
call fcn.140042060
cmp qword [0x14006d700], 0
je 0x14003b461
cmp eax, dword [0x14006d728]
je 0x14003b836
lea rcx, [r13 + 0x308]
call fcn.140042100
mov r15, rax
lea rcx, [rax + 0x6d0]
call fcn.140042500
sar al, 3
test al, al
jne 0x14003b836
test r15, r15
je 0x14003b836
cmp r15, qword [0x14006d700]
je 0x14003b836
lea rcx, [r15 + 0x310]
call fcn.140042100
mov rdi, rax
test rax, rax
je 0x14003b836
lea rcx, [r15 + 0x8f2]
shr rcx, 4
call fcn.140042500
movzx esi, al
and sil, 1
mov byte [rsp + 0x40], sil
mov r8d, 0x6e
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.140039160
movss xmm14, dword [rbp - 0x10]
movaps xmm1, xmm14
addss xmm1, dword [0x14004b80c]
movss xmm15, dword [rbp - 0x18]
movaps xmm0, xmm15
movss xmm6, dword [rbp - 0x14]
unpcklps xmm0, xmm6
movsd qword [rbp + 0x120], xmm0
movss dword [rbp + 0x128], xmm1
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x140]
call fcn.140038d90
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.140039160
movsd xmm0, qword [rbp - 0x60]
movsd qword [rbp + 0x130], xmm0
mov ebx, dword [rbp - 0x58]
mov dword [rbp + 0x138], ebx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x150]
call fcn.140038d90
movss xmm9, dword [rbp + 0x144]
movaps xmm8, xmm9
movss xmm12, dword [rbp + 0x154]
subss xmm8, xmm12
andps xmm8, xmm7
movaps xmm7, xmm8
mulss xmm7, dword [0x14004b764]
movss xmm10, dword [rbp - 0x58]
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm11
jp 0x14003b5a0
je 0x14003b612
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 0x14003b5f4
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003b5fc
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, dword [0x14004b838]
cvtss2sd xmm0, xmm0
movsd qword [rbp + 0x38], xmm0
movss xmm6, dword [rbp - 0x14]
movss xmm10, dword [rbp + 0x140]
movss xmm13, dword [rbp + 0x150]
mov ecx, dword [0x14006d6c8]
mov eax, dword [0x14006d6d8]
cmp byte [0x14006ce88], 0
je 0x14003b8cd
comiss xmm10, xmm11
jbe 0x14003b667
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm10
jbe 0x14003b667
comiss xmm9, xmm11
jbe 0x14003b667
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm9
ja 0x14003b8cd
comiss xmm13, xmm11
jbe 0x14003b691
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm13
jbe 0x14003b691
comiss xmm12, xmm11
jbe 0x14003b691
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm12
ja 0x14003b8cd
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 [0x14004b81c]
addss xmm0, xmm9
movss dword [rbp + 0x408], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, dword [0x14004b81c]
addss xmm0, xmm7
movss dword [rbp + 0x40c], xmm0
movaps xmm6, xmm10
subss xmm6, dword [0x14004b7b0]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss xmm8, dword [0x14004b800]
mulss xmm0, xmm8
addss xmm0, xmm9
movss dword [rbp + 0x410], 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 + 0x414], xmm0
addss xmm10, dword [0x14004b7b0]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm0, xmm9
movss dword [rbp + 0x418], 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 + 0x41c], 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 [0x14004bd80]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x418]
lea r8, [rbp + 0x410]
lea rdx, [rbp + 0x408]
mov rcx, r10
call fcn.140025810
movss xmm13, dword [0x14004b7b4]
movdqa xmm7, xmmword [0x14004bdd0]
inc r12d
cmp r12d, dword [0x14006d708]
jl 0x14003b420
cmp byte [0x14006cea0], 0
je 0x14003b865
mov ecx, dword [0x14006ce44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003b865
call fcn.14003a850
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.1400427c0
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 0x14003da43
movss xmm1, dword [0x14004b880]
comiss xmm13, xmm1
jbe 0x14003da43
add eax, 0x1e
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm13
jbe 0x14003da43
comiss xmm12, xmm1
jbe 0x14003da43
lea eax, [rcx + 0x1e]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm12
jbe 0x14003da43
cmp byte [0x14006ce8a], 0
je 0x14003c8a4
mov ecx, dword [0x14006ce90]
test ecx, ecx
je 0x14003c4c3
sub ecx, 1
je 0x14003c439
cmp ecx, 1
jne 0x14003c2db
mov byte [0x14006ce8c], 0
ucomiss xmm15, xmm11
jp 0x14003b96e
jne 0x14003b96e
ucomiss xmm6, xmm11
jp 0x14003b96e
jne 0x14003b96e
ucomiss xmm14, xmm11
jp 0x14003b96e
je 0x14003c378
movdqa xmm0, xmmword [0x14004bdf0]
movups xmmword [rbp + 0x548], xmm0
movdqa xmm0, xmmword [0x14004bda0]
movups xmmword [rbp + 0x558], xmm0
movdqa xmm0, xmmword [0x14004b930]
movups xmmword [rbp + 0x568], xmm0
movdqa xmm0, xmmword [0x14004be00]
movups xmmword [rbp + 0x518], xmm0
movdqa xmm0, xmmword [0x14004bdb0]
movups xmmword [rbp + 0x528], xmm0
movdqa xmm0, xmmword [0x14004bd90]
movups xmmword [rbp + 0x538], xmm0
lea rsi, [fcn.1400010d0]
mov qword [rsp + 0x20], rsi
lea r9, [0x1400387f0]
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x4b8]
call fcn.140042a34
nop
mov qword [rsp + 0x20], rsi
lea r9, [0x1400387f0]
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x488]
call fcn.140042a34
nop
movss xmm0, dword [rbp + 0x548]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x54c]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x550]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4b8], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4c0], eax
movss xmm0, dword [rbp + 0x518]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x51c]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x520]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x488], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x490], eax
movss xmm0, dword [rbp + 0x554]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x558]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x55c]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4c4], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4cc], eax
movss xmm0, dword [rbp + 0x524]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x528]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x52c]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x494], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x49c], eax
movss xmm0, dword [rbp + 0x560]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp + 0x564]
addss xmm1, dword [rbp - 0x5c]
movss xmm2, dword [rbp + 0x568]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4d0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4d8], eax
movss xmm0, dword [rbp + 0x530]
addss xmm0, xmm15
movss xmm1, dword [rbp + 0x534]
addss xmm1, xmm6
movss xmm2, dword [rbp + 0x538]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4a0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4a8], eax
movss xmm2, dword [rbp + 0x574]
addss xmm2, dword [rbp - 0x58]
movss xmm1, dword [rbp + 0x570]
addss xmm1, dword [rbp - 0x5c]
movss xmm0, dword [rbp + 0x56c]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4dc], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4e4], eax
movss xmm2, dword [rbp + 0x544]
addss xmm2, xmm14
movss xmm1, dword [rbp + 0x540]
addss xmm1, xmm6
movss xmm0, dword [rbp + 0x53c]
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.140038d90
movsd xmm0, qword [rax]
movsd qword [rbp + 0x4ac], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x4b4], eax
lea rcx, [rdi + 0x2e0]
call fcn.140042250
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140042250
addss xmm0, dword [0x14004b740]
comiss xmm0, xmm6
jb 0x14003bcf5
movdqa xmm0, xmmword [0x14004bc40]
jmp 0x14003bcfd
movdqa xmm0, xmmword [0x14004bc30]
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 + 0x488]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x48c]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4b8]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4bc]
movss dword [rsp + 0x58], xmm1
lea rcx, [rbp - 0x80]
call fcn.140003110
mov ebx, eax
movss xmm6, dword [0x14004b748]
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 + 0x4c4]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4c8]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4b8]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4bc]
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 + 0x494]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x498]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x488]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x48c]
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 + 0x494]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x498]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4c4]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4c8]
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 + 0x4d0]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4d4]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4c4]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4c8]
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 + 0x4a0]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x4a4]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x494]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x498]
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 + 0x4a0]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x4a4]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4d0]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4d4]
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 + 0x4dc]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4e0]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4d0]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4d4]
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 + 0x4ac]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x4b0]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x4a0]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x4a4]
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 + 0x4ac]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rbp + 0x4b0]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [rbp + 0x4dc]
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rbp + 0x4e0]
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 + 0x4b8]
movss dword [rsp + 0x5c], xmm0
movss xmm1, dword [rbp + 0x4bc]
movss dword [rsp + 0x60], xmm1
movss xmm0, dword [rbp + 0x4dc]
movss dword [rsp + 0x64], xmm0
movss xmm1, dword [rbp + 0x4e0]
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 + 0x488]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp + 0x48c]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rbp + 0x4ac]
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [rbp + 0x4b0]
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 + 0x488]
call fcn.14004295c
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x4b8]
call fcn.14004295c
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x518]
call fcn.14004295c
nop
mov r9, rsi
mov edx, 0xc
mov r8d, 4
lea rcx, [rbp + 0x548]
call fcn.14004295c
movss xmm6, dword [0x14004b76c]
cmp byte [0x14006ce8c], 0
je 0x14003c378
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 [0x14004ba40]
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 0x14003c5c2
cmp dword [0x14006d690], 0
jne 0x14003c5c2
lea rcx, [rdi + 0x2e0]
call fcn.140042250
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140042250
addss xmm0, dword [0x14004b740]
mov rax, qword [0x14006d590]
lea r8, str.Background
xor edx, edx
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003c54d
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004bc40]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm0, xmm12
addss xmm0, dword [0x14004b82c]
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 0x14003c5a9
lea rcx, [rdi + 0x2e0]
call fcn.140042250
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140042250
addss xmm0, dword [0x14004b740]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm1, xmm7
lea rax, [rbp - 0x80]
comiss xmm0, xmm6
movss xmm6, dword [0x14004b76c]
mulss xmm1, xmm6
jb 0x14003c48d
movdqa xmm0, xmmword [0x14004bc40]
jmp 0x14003c495
movdqa xmm0, xmmword [0x14004bc30]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm10
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x14004b7a8]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rax
call fcn.14003adf0
jmp 0x14003c2e3
lea rcx, [rdi + 0x2e0]
call fcn.140042250
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140042250
addss xmm0, dword [0x14004b740]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm1, xmm7
lea rax, [rbp - 0x80]
comiss xmm0, xmm6
movss xmm6, dword [0x14004b76c]
mulss xmm1, xmm6
jb 0x14003c543
movdqa xmm0, xmmword [0x14004bc40]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm10
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x14004b7a8]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rax
call fcn.14003aaa0
jmp 0x14003c2e3
movdqa xmm0, xmmword [0x14004bc30]
jmp 0x14003c515
call fcn.140006730
mov r10, rax
movdqa xmm0, xmmword [0x14004bc30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm0, xmm12
addss xmm0, dword [0x14004b82c]
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 [0x14004b748]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
mov rcx, r10
call fcn.1400253f0
cmp byte [0x14006ce94], 0
je 0x14003c8a4
mov rdx, r15
lea rcx, [rbp + 0x408]
call fcn.1400392b0
nop
cmp qword [rbp + 0x418], 0
jne 0x14003c63b
mov eax, dword [str.ZP6]
mov dword [rsp + 0x44], eax
movzx eax, byte [0x14004b488]
mov byte [rsp + 0x44], 0x4e
xor byte [rsp + 0x45], 0x33
xor byte [rsp + 0x46], 0x34
xor byte [rsp + 0x47], 0x35
xor al, 0x36
mov byte [rsp + 0x48], al
lea rax, [rsp + 0x44]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14003c620
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x408]
call fcn.140041d20
lea rax, [rbp + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova rax, qword [rbp + 0x408]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003c664
movaps xmm6, xmm11
jmp 0x14003c6b9
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b874]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b868]
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 [0x14004b798]
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 + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova rbx, qword [rbp + 0x408]
lea rcx, [r15 + 0x9d8]
call fcn.140042100
movdqa xmm8, xmmword [0x14004bd80]
movups xmmword [rbp - 0x80], xmm8
test rax, rax
je 0x14003c815
lea rcx, [rax + 0x378]
call fcn.140042100
test rax, rax
je 0x14003c815
mov byte [rbp + 0x404], 0
mov dword [rbp + 0x50a], r14d
mov word [rbp + 0x50e], r14w
mov dword [rbp + 0x4e8], 0x4823fa
add rax, 0xa2
mov qword [rbp + 0x4f0], rax
lea rax, [rbp + 0x404]
mov qword [rbp + 0x4f8], rax
mov eax, 1
mov qword [rbp + 0x500], rax
mov rcx, qword [0x14006d668]
mov eax, dword [rcx]
mov dword [rbp + 0x4ec], eax
mov word [rbp + 0x508], 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 + 0x4e8]
mov edx, 0x220ad8
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx eax, byte [rbp + 0x404]
cmp eax, 6
ja case.default.0x14003c7cf
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x3db20]
add rcx, rdx
jmp rcx
movdqa xmm0, xmmword [0x14004bb40]
jmp 0x14003c811
movdqa xmm0, xmmword [0x14004bc60]
jmp 0x14003c811
movdqa xmm0, xmmword [0x14004bd30]
jmp 0x14003c811
movdqa xmm0, xmmword [0x14004bbe0]
jmp 0x14003c811
movdqa xmm0, xmmword [0x14004bc10]
jmp 0x14003c811
movdqa xmm0, xmmword [0x14004bd70]
jmp 0x14003c811
movaps xmm0, xmm8
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm1, xmm12
movss xmm7, dword [0x14004b814]
addss xmm1, xmm7
movss xmm14, dword [0x14004b76c]
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 + 0x420]
cmp rdx, 0xf
jbe 0x14003c8be
inc rdx
mov rcx, qword [rbp + 0x408]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c89d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003daf3
call fcn.140042a2c
jmp 0x14003c8be
movdqa xmm8, xmmword [0x14004bd80]
movss xmm14, dword [0x14004b76c]
movss xmm7, dword [0x14004b814]
cmp byte [0x1400530a1], 0
je 0x14003cf42
mov rcx, qword [0x14006d700]
add rcx, 0x9d8
call fcn.140042100
lea rcx, [rax + 0x378]
call fcn.140042100
test rax, rax
je 0x14003cf42
lea rcx, [rax + 0x70]
call fcn.140042100
mov rbx, rax
test rax, rax
je 0x14003cf42
lea rcx, [rax + 0x28]
call fcn.140042100
mov r14, rax
lea rcx, [rbx + 0x30]
call fcn.140042060
lea ecx, [rax - 1]
cmp ecx, 0x30
ja 0x14003cf3f
movsxd rbx, eax
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call fcn.140042fec
mov rsi, rax
lea r9, [rbx + rbx]
mov r8, rax
mov rdx, r14
lea rcx, [rbp + 0x4e8]
call fcn.1400385f0
mov rdx, qword [rbp + 0x500]
cmp rdx, 0xf
jbe 0x14003c9a1
inc rdx
mov rcx, qword [rbp + 0x4e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c99c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dafa
call fcn.140042a2c
mov ecx, 0xa0
cmp byte [0x1400530a0], 0
je 0x14003cd49
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r14d, r14d
test ax, ax
je 0x14003cf42
movups xmm3, xmmword [str.a__AQBV9]
movups xmmword [rbp - 0x80], xmm3
pextrw eax, xmm3, 7
test ax, ax
je 0x14003cb0d
mov r8d, r14d
cmp dword [0x140053010], 2
jl 0x14003cad1
movdqa xmm4, xmmword [0x14004b960]
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm5, xmmword [0x14004bdc0]
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.1111]
movdqa xmm0, xmm4
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14004ba10]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp - 0x80], xmm2
movdqa xmm3, xmmword [0x14004b970]
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.1111]
movdqa xmm0, xmm3
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14004ba10]
movq xmm0, qword [rbp - 0x78]
xorps xmm2, xmm0
movq qword [rbp - 0x78], xmm2
jmp 0x14003cb0d
lea r9, [rbp - 0x80]
nop word [rax + rax]
mov eax, 0x5397829d
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x31
movzx eax, r8w
sub ax, cx
add ax, 0x32
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 8
jl 0x14003cae0
lea rdx, [rbp - 0x80]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
je 0x14003cf42
mov r8d, 0x6e
mov rdx, rdi
lea rcx, [rbp + 0x368]
call fcn.140039160
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov rdx, qword [0x14006d748]
add rdx, 0x1db8
mov qword [rbp + 0x438], 0
mov dword [rbp + 0x440], 0
mov r9d, 0xc
lea r8, [rbp + 0x438]
call fcn.1400384f0
movsd qword [rbp + 0x2e0], xmm6
movaps xmm0, xmm6
subss xmm0, xmm7
movss xmm1, dword [rbp + 0x438]
comiss xmm1, xmm0
jb 0x14003cf42
addss xmm6, xmm7
comiss xmm6, xmm1
jb 0x14003cf42
movss xmm1, dword [rbp + 0x2e4]
movaps xmm0, xmm1
subss xmm0, xmm7
movss xmm2, dword [rbp + 0x43c]
comiss xmm2, xmm0
jb 0x14003cf42
addss xmm1, xmm7
comiss xmm1, xmm2
jb 0x14003cf42
movd xmm1, ebx
movaps xmm0, xmm1
movss xmm3, dword [0x14004b820]
subss xmm0, xmm3
movss xmm2, dword [rbp + 0x440]
comiss xmm2, xmm0
jb 0x14003cf42
addss xmm1, xmm3
comiss xmm1, xmm2
jb 0x14003cf42
cmp byte [0x14006d589], 0
je 0x14003cc25
lea rcx, [rbp + 0x300]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d600], rcx
mov byte [0x14006d589], 0
lea rcx, [rbp + 0x308]
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 [0x14004b828]
jb 0x14003cd3c
mov dword [rbp + 0x460], 1
mov dword [rbp + 0x458], 0x91
mov dword [rbp + 0x45c], 0x91
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0xc
lea rax, [rbp + 0x458]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp + 0x458]
mov edx, 0x22938c
mov rcx, qword [0x14006d668]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x450], 2
mov dword [rbp + 0x448], 0x91
mov dword [rbp + 0x44c], 0x91
lea rax, [rbp + 0x448]
lea r8, [rbp + 0x448]
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.140042a2c
jmp 0x14003cf42
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003cf3f
mov r8d, 0x6e
mov rdx, rdi
lea rcx, [rbp + 0x374]
call fcn.140039160
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov rdx, qword [0x14006d748]
add rdx, 0x1db8
mov qword [rbp + 0x428], 0
mov dword [rbp + 0x430], 0
mov r9d, 0xc
lea r8, [rbp + 0x428]
call fcn.1400384f0
movsd qword [rbp + 0x2f0], xmm6
movaps xmm0, xmm6
subss xmm0, xmm7
movss xmm1, dword [rbp + 0x428]
comiss xmm1, xmm0
jb 0x14003cf3f
addss xmm6, xmm7
comiss xmm6, xmm1
jb 0x14003cf3f
movss xmm1, dword [rbp + 0x2f4]
movaps xmm0, xmm1
subss xmm0, xmm7
movss xmm2, dword [rbp + 0x42c]
comiss xmm2, xmm0
jb 0x14003cf3f
addss xmm1, xmm7
comiss xmm1, xmm2
jb 0x14003cf3f
movd xmm1, ebx
movaps xmm0, xmm1
movss xmm3, dword [0x14004b820]
subss xmm0, xmm3
movss xmm2, dword [rbp + 0x430]
comiss xmm2, xmm0
jb 0x14003cf3f
addss xmm1, xmm3
comiss xmm1, xmm2
jb 0x14003cf3f
cmp byte [0x14006d589], 0
je 0x14003ce5a
lea rcx, [rbp + 0x310]
call fcn.140038020
mov rcx, qword [rax]
mov qword [0x14006d600], rcx
mov byte [0x14006d589], 0
lea rcx, [rbp + 0x318]
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 [0x14004b828]
jb 0x14003cd3c
mov dword [rbp + 0x470], 1
mov dword [rbp + 0x468], 0x91
mov dword [rbp + 0x46c], 0x91
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0xc
lea rax, [rbp + 0x468]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp + 0x468]
mov edx, 0x22938c
mov rcx, qword [0x14006d668]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x480], 2
mov dword [rbp + 0x478], 0x91
mov dword [rbp + 0x47c], 0x91
lea rax, [rbp + 0x478]
lea r8, [rbp + 0x478]
jmp 0x14003cd02
xor r14d, r14d
cmp byte [0x14006d6a2], 0
je 0x14003d6c0
mov r8d, 2
mov rdx, rdi
lea rcx, [rbp + 0x380]
call fcn.140039160
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 + 0x270]
call fcn.140038d90
mov r8d, 5
mov rdx, rdi
lea rcx, [rbp + 0x38c]
call fcn.140039160
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 + 0x280]
call fcn.140038d90
mov r8d, 0x42
mov rdx, rdi
lea rcx, [rbp + 0x398]
call fcn.140039160
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 + 0x290]
call fcn.140038d90
mov r8d, 0x49
mov rdx, rdi
lea rcx, [rbp + 0x3a4]
call fcn.140039160
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 + 0x2b0]
call fcn.140038d90
mov r8d, 0x4b
mov rdx, rdi
lea rcx, [rbp + 0x3b0]
call fcn.140039160
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 + 0x2a0]
call fcn.140038d90
mov r8d, 0x48
mov rdx, rdi
lea rcx, [rbp + 0x320]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1b0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1b8], eax
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x2c0]
call fcn.140038d90
mov r8d, 0x47
mov rdx, rdi
lea rcx, [rbp + 0x35c]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1c0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1c8], eax
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x2d0]
call fcn.140038d90
mov r8d, 0x50
mov rdx, rdi
lea rcx, [rbp + 0x350]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1d0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1d8], eax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x98]
call fcn.140038d90
mov r8d, 0x52
mov rdx, rdi
lea rcx, [rbp + 0x344]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1e0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1e8], eax
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0xa8]
call fcn.140038d90
mov r8d, 0x4f
mov rdx, rdi
lea rcx, [rbp + 0x338]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x1f0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x1f8], eax
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x88]
call fcn.140038d90
mov r8d, 0x4e
mov rdx, rdi
lea rcx, [rbp + 0x32c]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x200], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x208], eax
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x78]
call fcn.140038d90
mov r8d, 0xb
mov rdx, rdi
lea rcx, [rbp + 0x3bc]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x210], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x218], eax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0xb8]
call fcn.140038d90
mov r8d, 0xa
mov rdx, rdi
lea rcx, [rbp + 0x3c8]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x220], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x228], eax
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0xc8]
call fcn.140038d90
mov r8d, 9
mov rdx, rdi
lea rcx, [rbp + 0x3d4]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x230], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x238], eax
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0xd8]
call fcn.140038d90
mov r8d, 0x28
mov rdx, rdi
lea rcx, [rbp + 0x3e0]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x240], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x248], eax
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x108]
call fcn.140038d90
mov r8d, 0x27
mov rdx, rdi
lea rcx, [rbp + 0x3ec]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x250], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x258], eax
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0xf8]
call fcn.140038d90
mov r8d, 0x26
mov rdx, rdi
lea rcx, [rbp + 0x3f8]
call fcn.140039160
movsd xmm0, qword [rax]
movsd qword [rbp + 0x260], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x268], eax
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0xe8]
call fcn.140038d90
movss xmm3, dword [rbp + 0x270]
movss dword [rbp + 0x408], xmm3
movss xmm2, dword [rbp + 0x274]
movss dword [rbp + 0x40c], xmm2
movss xmm0, dword [rbp + 0x280]
movss dword [rbp + 0x410], xmm0
movss xmm1, dword [rbp + 0x284]
movss dword [rbp + 0x414], xmm1
movss xmm0, dword [rbp + 0x290]
movss dword [rbp + 0x418], xmm0
movss xmm1, dword [rbp + 0x294]
movss dword [rbp + 0x41c], xmm1
movss xmm0, dword [rbp + 0x2a0]
movss dword [rbp + 0x580], xmm0
movss xmm1, dword [rbp + 0x2a4]
movss dword [rbp + 0x584], xmm1
movss xmm0, dword [rbp + 0x2b0]
movss dword [rbp + 0x588], xmm0
movss xmm1, dword [rbp + 0x2b4]
movss dword [rbp + 0x58c], xmm1
movss xmm0, dword [rbp + 0x2c0]
movss dword [rbp + 0x590], xmm0
movss xmm1, dword [rbp + 0x2c4]
movss dword [rbp + 0x594], xmm1
movss xmm0, dword [rbp + 0x2d0]
movss dword [rbp + 0x598], xmm0
movss xmm1, dword [rbp + 0x2d4]
movss dword [rbp + 0x59c], xmm1
movss dword [rbp + 0x5a0], xmm3
movss dword [rbp + 0x5a4], xmm2
movss xmm0, dword [rbp + 0x78]
movss dword [rbp + 0x5a8], xmm0
movss xmm1, dword [rbp + 0x7c]
movss dword [rbp + 0x5ac], xmm1
movss xmm0, dword [rbp + 0x88]
movss dword [rbp + 0x5b0], xmm0
movss xmm1, dword [rbp + 0x8c]
movss dword [rbp + 0x5b4], xmm1
movss xmm0, dword [rbp + 0x98]
movss dword [rbp + 0x5b8], xmm0
movss xmm1, dword [rbp + 0x9c]
movss dword [rbp + 0x5bc], xmm1
movss xmm0, dword [rbp + 0xa8]
movss dword [rbp + 0x5c0], xmm0
movss xmm1, dword [rbp + 0xac]
movss dword [rbp + 0x5c4], xmm1
movss xmm0, dword [rbp + 0xb8]
movss dword [rbp + 0x4e8], xmm0
movss xmm1, dword [rbp + 0xbc]
movss dword [rbp + 0x4ec], xmm1
movss xmm0, dword [rbp + 0xc8]
movss dword [rbp + 0x4f0], xmm0
movss xmm1, dword [rbp + 0xcc]
movss dword [rbp + 0x4f4], xmm1
movss xmm0, dword [rbp + 0xd8]
movss dword [rbp + 0x4f8], xmm0
movss xmm1, dword [rbp + 0xdc]
movss dword [rbp + 0x4fc], xmm1
movss xmm0, dword [rbp + 0xe8]
movss dword [rbp + 0x500], xmm0
movss xmm1, dword [rbp + 0xec]
movss dword [rbp + 0x504], xmm1
movss xmm0, dword [rbp + 0xf8]
movss dword [rbp + 0x508], xmm0
movss xmm1, dword [rbp + 0xfc]
movss dword [rbp + 0x50c], xmm1
movss xmm0, dword [rbp + 0x108]
movss dword [rbp + 0x510], xmm0
movss xmm1, dword [rbp + 0x10c]
movss dword [rbp + 0x514], xmm1
lea rcx, [rdi + 0x2e0]
call fcn.140042250
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140042250
addss xmm0, dword [0x14004b740]
mov rax, qword [0x14006d590]
lea r8, str.Background
xor edx, edx
mov rax, qword [rax + 0x48b0]
mov rcx, qword [rax]
comiss xmm0, xmm6
jb 0x14003d5d4
call fcn.140006730
movdqa xmm6, xmmword [0x14004bc40]
jmp 0x14003d5e1
call fcn.140006730
movdqa xmm6, xmmword [0x14004bc30]
mov r10, rax
movups xmmword [rbp - 0x80], xmm6
lea rcx, [rbp - 0x80]
call fcn.140003110
movss xmm7, dword [0x14004b7a0]
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r14d
mov r9d, eax
mov r8d, 3
lea rdx, [rbp + 0x408]
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 + 0x4e8]
mov rcx, r10
call fcn.140023120
cmp byte [0x14006ce89], 0
je 0x14003d8ef
movzx eax, word [0x14004b5d8]
mov word [rbp + 0x404], ax
cmp byte [0x14004b5d9], 0
je 0x14003d6f2
mov byte [rbp + 0x404], 0x6d
xor byte [rbp + 0x405], 0x33
lea rdx, [rbp + 0x404]
lea rcx, [rbp + 0x4e8]
call fcn.140041c00
mov rbx, rax
cvttsd2si edx, qword [rbp + 0x38]
lea rcx, [rbp - 0x80]
call fcn.140041e80
nop
mov r9, rbx
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x408]
call fcn.1400425a0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x14003d767
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d761
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003db01
call fcn.140042a2c
nop
mov rdx, qword [rbp + 0x500]
cmp rdx, 0xf
jbe 0x14003d7a8
inc rdx
mov rcx, qword [rbp + 0x4e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d7a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003db08
call fcn.140042a2c
mov qword [rbp + 0x4f8], r14
mov qword [rbp + 0x500], 0xf
mov byte [rbp + 0x4e8], 0
lea rax, [rbp + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova rax, qword [rbp + 0x408]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003d7ea
movaps xmm6, xmm11
jmp 0x14003d83f
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b874]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b868]
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 [0x14004b798]
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 + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova r9, qword [rbp + 0x408]
movups xmmword [rbp - 0x80], xmm8
lea rcx, [rbp - 0x80]
call fcn.140003110
addss xmm12, dword [0x14004b7ec]
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 + 0x420]
cmp rdx, 0xf
jbe 0x14003d8ef
inc rdx
mov rcx, qword [rbp + 0x408]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d8ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003db0f
call fcn.140042a2c
cmp byte [0x14006d6a1], 0
je 0x14003da3e
mov rdx, r13
lea rcx, [rbp + 0x408]
call fcn.140039570
nop
lea rax, [rbp + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova rax, qword [rbp + 0x408]
mov rbx, qword [0x14006d590]
test rax, rax
jne 0x14003d935
movaps xmm6, xmm11
jmp 0x14003d98a
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004b874]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004b868]
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 [0x14004b798]
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 + 0x408]
cmp qword [rbp + 0x420], 0xf
cmova r9, qword [rbp + 0x408]
movups xmmword [rbp - 0x80], xmm8
lea rcx, [rbp - 0x80]
call fcn.140003110
movaps xmm1, xmm9
subss xmm1, dword [0x14004b80c]
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 + 0x420]
cmp rdx, 0xf
jbe 0x14003da3e
inc rdx
mov rcx, qword [rbp + 0x408]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003da39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003db16
call fcn.140042a2c
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 0x14003da94
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14003da9c
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
test sil, sil
jne 0x14003b825
movss xmm1, dword [0x14006ce98]
comiss xmm1, xmm0
jb 0x14003b825
movss xmm1, dword [0x14006d6f0]
movss xmm13, dword [0x14004b7b4]
movdqa xmm7, xmmword [0x14004bdd0]
comiss xmm1, xmm0
jbe 0x14003b836
movss dword [0x14006d6f0], xmm0
mov qword [0x14006d6e8], rdi
mov qword [0x14006d740], r15
jmp 0x14003b836
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