Function at 0x140006c00
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rbx
push r13
lea rbp, [r11 - 0x368]
sub rsp, 0x450
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
mov rax, qword [0x14004a010]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rax, qword [0x14004b1e8]
lea r8, str.Background
mov qword [r11 + 0x10], rdi
xor edx, edx
mov qword [r11 + 0x18], r12
mov qword [r11 - 0x28], r15
mov rcx, qword [rax + 0x4088]
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0xa8], xmm13
mov rcx, qword [rcx]
movaps xmmword [r11 - 0xb8], xmm14
call fcn.140010730
cmp byte [0x140042235], 0
mov r10, rax
mov ecx, dword [0x140042230]
movsd xmm0, qword [str.vTP_U]
mov eax, dword [0x14004a018]
mov dword [rbp + 0x208], ecx
movzx ecx, word [0x140042234]
mov word [rbp + 0x20c], cx
mov ecx, 5
movsd qword [rbp + 0x200], xmm0
lea edx, [rcx + 0x1a]
je 0x140006e24
xor r8d, r8d
cmp eax, 2
jl 0x140006de2
movdqa xmm2, xmmword [0x140042e10]
mov r8d, 8
movdqa xmm3, xmmword [0x140042e20]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140042fe0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, ecx
movd xmm5, edx
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140042e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.vTP_U]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140042e70]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.7777777777777777]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x200], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140042e30]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x204]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140042e70]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.7777777777777777]
xorps xmm2, xmm0
movd dword [rbp + 0x204], xmm2
movsxd rax, r8d
lea r9, [rbp + 0x200]
add r9, rax
nop
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x140006df0
mov r8, qword [0x14004b1e8]
lea rcx, [rbp + 0x1f0]
movss xmm6, dword [0x140042c0c]
xorps xmm7, xmm7
mov qword [rbp + 0x1f0], 0x3f800000
mov dword [rbp + 0x1f8], 0
movss xmm0, dword [r8 + 0x37d8]
movss dword [rbp + 0x1fc], xmm0
call fcn.14000e040
mov dword [rsp + 0x50], 0x44610000
mov r9d, eax
mov dword [rsp + 0x54], 0x42820000
test eax, 0xff000000
je 0x140006f0a
lea rax, [rbp + 0x200]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140006e94
lea rdx, [rbp + 0x200]
add rdx, rcx
lea rax, [rbp + 0x200]
cmp rax, rdx
je 0x140006f0a
mov rax, qword [r10 + 0x38]
lea rcx, [rbp + 0x200]
movups xmm0, xmmword [r10 + 0x88]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rdx
mov rdx, r10
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x50]
movups xmmword [rbp - 0x68], xmm0
call fcn.140032250
mov r8, qword [0x14004b1e8]
cmp byte [0x14004b14f], 0
je 0x140007243
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
mov rcx, qword [0x14004b1e8]
mov r10, rax
mov eax, dword [0x14004b198]
cdq
mov dword [rbp + 0x1f0], 0x3f800000
sub eax, edx
mov dword [rbp + 0x1f4], 0x3f800000
movss xmm0, dword [rcx + 0x37d8]
sar eax, 1
mov ecx, eax
movss dword [rbp + 0x1fc], xmm0
sub ecx, dword [0x14004b140]
mov r8d, eax
mov eax, dword [0x14004b170]
cdq
mov dword [rbp + 0x1f8], 0x3f800000
sub eax, edx
movd xmm0, ecx
lea rcx, [rbp + 0x1f0]
cvtdq2ps xmm0, xmm0
sar eax, 1
movd xmm1, eax
movss dword [rsp + 0x50], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
call fcn.14000e040
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x58]
mov rcx, r10
lea r8, [rsp + 0x50]
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov rcx, qword [0x14004b1e8]
mov r10, rax
mov eax, dword [0x14004b198]
cdq
mov dword [rbp + 0x1f0], 0x3f800000
sub eax, edx
mov dword [rbp + 0x1f4], 0x3f800000
movss xmm0, dword [rcx + 0x37d8]
lea rcx, [rbp + 0x1f0]
mov edx, dword [0x14004b140]
sar eax, 1
add edx, eax
movss dword [rbp + 0x1fc], xmm0
mov r8d, eax
mov dword [rbp + 0x1f8], 0x3f800000
mov eax, dword [0x14004b170]
movd xmm0, edx
cdq
cvtdq2ps xmm0, xmm0
sub eax, edx
sar eax, 1
movss dword [rsp + 0x50], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
call fcn.14000e040
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x50]
mov rcx, r10
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov rcx, qword [0x14004b1e8]
mov r10, rax
mov eax, dword [0x14004b198]
cdq
mov dword [rbp + 0x1f0], 0x3f800000
sub eax, edx
mov dword [rbp + 0x1f4], 0x3f800000
movss xmm0, dword [rcx + 0x37d8]
sar eax, 1
movss dword [rbp + 0x1fc], xmm0
mov dword [rbp + 0x1f8], 0x3f800000
movd xmm1, eax
mov eax, dword [0x14004b170]
cvtdq2ps xmm1, xmm1
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
sub ecx, dword [0x14004b140]
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x58], xmm1
movd xmm1, eax
movd xmm0, ecx
lea rcx, [rbp + 0x1f0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x5c], xmm1
call fcn.14000e040
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x58]
mov rcx, r10
lea r8, [rsp + 0x50]
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov rcx, qword [0x14004b1e8]
mov r10, rax
mov eax, dword [0x14004b198]
cdq
mov dword [rbp + 0x1f0], 0x3f800000
sub eax, edx
mov dword [rbp + 0x1f4], 0x3f800000
movss xmm0, dword [rcx + 0x37d8]
lea rcx, [rbp + 0x1f0]
sar eax, 1
movss dword [rbp + 0x1fc], xmm0
mov dword [rbp + 0x1f8], 0x3f800000
movd xmm1, eax
mov eax, dword [0x14004b170]
cvtdq2ps xmm1, xmm1
cdq
sub eax, edx
mov edx, dword [0x14004b140]
sar eax, 1
add edx, eax
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x58], xmm1
movd xmm0, edx
movd xmm1, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x5c], xmm1
call fcn.14000e040
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, r10
call fcn.14002dd20
mov r8, qword [0x14004b1e8]
cmp byte [0x14004b14d], 0
movss xmm8, dword [0x140042cd4]
je 0x140007361
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
mov r8, qword [0x14004b1e8]
lea rcx, [rbp + 0x1f0]
mov rbx, rax
mov dword [rbp + 0x1f0], 0x3f800000
mov dword [rbp + 0x1f4], 0x3f800000
mov dword [rbp + 0x1f8], 0x3f800000
movss xmm0, dword [r8 + 0x37d8]
movss dword [rbp + 0x1fc], xmm0
call fcn.14000e040
mov ecx, dword [0x14004b148]
xorps xmm0, xmm0
movd xmm2, dword [0x14004a4f4]
xorps xmm1, xmm1
movss xmm13, dword [0x140042bd8]
mov edi, eax
cvtdq2ps xmm2, xmm2
cvtsi2ss xmm0, rcx
mov ecx, dword [0x14004b0a8]
cvtsi2ss xmm1, rcx
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
test eax, 0xff000000
je 0x14000736a
comiss xmm13, xmm2
ja 0x14000736a
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x63
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14002d380
movss xmm0, dword [0x140042c50]
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
mov rdx, qword [rbx + 0x80]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.14002b9a0
mov r8, qword [0x14004b1e8]
mov dword [rbx + 0x78], 0
jmp 0x14000736a
movss xmm13, dword [0x140042bd8]
cmp byte [0x14004b0ae], 1
jne 0x1400078e5
cmp dword [0x14004b2cc], 0
je 0x140007477
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
mov r9d, dword [0x14004a4fc]
mov r10, rax
mov rcx, qword [0x14004b1e8]
mov r8d, dword [0x14004b148]
mov dword [rbp + 0x1f0], 0
mov dword [rbp + 0x1f4], 0x3f2dadae
movss xmm0, dword [rcx + 0x37d8]
lea rcx, [rbp + 0x1f0]
movss dword [rbp + 0x1fc], xmm0
lea edx, [r9 + r8]
xorps xmm0, xmm0
mov dword [rbp + 0x1f8], 0x3f6dedee
cvtsi2ss xmm0, rdx
mov edx, dword [0x14004b0a8]
sub r8d, r9d
lea eax, [r9 + rdx]
sub edx, r9d
movss dword [rsp + 0x50], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
movss dword [rsp + 0x54], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, edx
movss dword [rsp + 0x58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rsp + 0x5c], xmm0
call fcn.14000e040
movss xmm0, dword [0x140042c18]
lea r8, [rsp + 0x50]
movss dword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x58]
mov r9d, eax
mov dword [rsp + 0x28], 0
mov rcx, r10
movss dword [rsp + 0x20], xmm0
call fcn.14002de80
mov r8, qword [0x14004b1e8]
cmp dword [0x14004b2e4], 0
je 0x140007579
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
mov r8, qword [0x14004b1e8]
lea rcx, [rbp + 0x1f0]
mov rbx, rax
mov dword [rbp + 0x1f0], 0
mov dword [rbp + 0x1f4], 0x3f2dadae
mov dword [rbp + 0x1f8], 0x3f6dedee
movss xmm0, dword [r8 + 0x37d8]
movss dword [rbp + 0x1fc], xmm0
call fcn.14000e040
mov ecx, dword [0x14004b148]
xorps xmm0, xmm0
movd xmm2, dword [0x14004a4fc]
xorps xmm1, xmm1
mov edi, eax
cvtdq2ps xmm2, xmm2
cvtsi2ss xmm0, rcx
mov ecx, dword [0x14004b0a8]
cvtsi2ss xmm1, rcx
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
test eax, 0xff000000
je 0x140007579
comiss xmm13, xmm2
ja 0x140007579
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x63
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14002d380
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
call fcn.14002b9a0
mov r8, qword [0x14004b1e8]
mov dword [rbx + 0x78], 0
cmp dword [0x14004b2c8], 0
je 0x140007739
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
movaps xmm0, xmmword [0x140042ea0]
lea rcx, [rbp - 0x68]
movups xmmword [rbp - 0x68], xmm0
mov rbx, rax
call fcn.14000e040
mov ecx, dword [0x14004b148]
xorps xmm0, xmm0
movd xmm2, dword [0x14004a4fc]
xorps xmm1, xmm1
movss xmm8, dword [0x140042cd8]
mov edi, eax
cvtdq2ps xmm2, xmm2
cvtsi2ss xmm0, rcx
mov ecx, dword [0x14004b0a8]
cvtsi2ss xmm1, rcx
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
test eax, 0xff000000
je 0x14000763c
comiss xmm13, xmm2
ja 0x14000763c
mov dword [rsp + 0x28], 0xdb
lea rdx, [rsp + 0x50]
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
mov rcx, rbx
call fcn.14002d380
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14002c8b0
mov dword [rbx + 0x78], 0
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov r8, qword [0x14004b1e8]
lea rcx, [rbp + 0x1f0]
mov rbx, rax
mov dword [rbp + 0x1f0], 0x3f800000
mov dword [rbp + 0x1f4], 0x3ea0a0a1
mov dword [rbp + 0x1f8], 0x3ea0a0a1
movss xmm0, dword [r8 + 0x37d8]
movss dword [rbp + 0x1fc], xmm0
call fcn.14000e040
mov ecx, dword [0x14004b148]
xorps xmm0, xmm0
movd xmm2, dword [0x14004a4fc]
xorps xmm1, xmm1
mov edi, eax
cvtdq2ps xmm2, xmm2
cvtsi2ss xmm0, rcx
mov ecx, dword [0x14004b0a8]
cvtsi2ss xmm1, rcx
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
test eax, 0xff000000
je 0x140007739
comiss xmm13, xmm2
ja 0x140007739
subss xmm2, xmm13
mov dword [rsp + 0x28], 0xdb
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14002d380
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 1
call fcn.14002b9a0
mov r8, qword [0x14004b1e8]
mov dword [rbx + 0x78], 0
cmp byte [0x14004b14e], 0
je 0x1400078e5
mov rax, qword [r8 + 0x4088]
xor edx, edx
lea r8, str.Background
mov rcx, qword [rax]
call fcn.140010730
mov r9d, dword [0x14004a4fc]
mov r10, rax
mov rcx, qword [0x14004b1e8]
mov r8d, dword [0x14004b148]
mov dword [rbp + 0x1f0], 0x3f800000
mov dword [rbp + 0x1f4], 0x3ea0a0a1
movss xmm0, dword [rcx + 0x37d8]
lea rcx, [rbp + 0x1f0]
movss dword [rbp + 0x1fc], xmm0
lea edx, [r9 + r8]
xorps xmm0, xmm0
mov dword [rbp + 0x1f8], 0x3ea0a0a1
cvtsi2ss xmm0, rdx
mov edx, dword [0x14004b0a8]
sub r8d, r9d
lea eax, [r9 + rdx]
sub edx, r9d
movss dword [rsp + 0x50], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
movss dword [rsp + 0x54], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, edx
movss dword [rsp + 0x58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rsp + 0x5c], xmm0
call fcn.14000e040
movss dword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x58]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
movss dword [rsp + 0x20], xmm13
mov rcx, r10
call fcn.14002de80
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov r10d, dword [0x14004a4fc]
lea rcx, [rbp - 0x68]
movaps xmm0, xmmword [0x140042ea0]
mov r11, rax
mov r8d, dword [0x14004b148]
mov r9d, dword [0x14004b0a8]
movups xmmword [rbp - 0x68], xmm0
xorps xmm0, xmm0
lea edx, [r10 + r8]
cvtsi2ss xmm0, rdx
lea edx, [r10 + r9]
sub r8d, r10d
mov eax, r8d
sub r9d, r10d
movss dword [rsp + 0x50], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
movss dword [rsp + 0x54], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r9d
movss dword [rsp + 0x58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rsp + 0x5c], xmm0
call fcn.14000e040
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x58]
movss dword [rsp + 0x20], xmm6
lea r8, [rsp + 0x50]
mov r9d, eax
mov rcx, r11
call fcn.14002df90
mov eax, dword [0x14004b2c0]
test eax, eax
jne 0x1400078fb
mov dword [0x14004b2c4], 0x44
jmp 0x14000792c
cmp eax, 1
jne 0x14000790c
mov dword [0x14004b2c4], 0x43
jmp 0x14000792c
cmp eax, 2
jne 0x14000791d
mov dword [0x14004b2c4], 0x24
jmp 0x14000792c
cmp eax, 3
jne 0x14000792c
mov dword [0x14004b2c4], 2
mov rdx, qword [0x14004b178]
xor r13d, r13d
movss xmm7, dword [0x140042d28]
add rdx, 0x10567408
mov ecx, dword [0x14004b144]
movss dword [rbp - 0x6c], xmm7
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov qword [0x14004b0f8], rax
lea rdx, [rax + 0x1b8]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
lea rdx, [rax + 0x38]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov rdx, rax
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov qword [0x14004b0e8], rax
lea rdx, [rax + 0x30]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov qword [0x14004b0d8], rax
lea rdx, [rax + 0x330]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov qword [0x14004b160], rax
lea rdx, [rax + 0x2a8]
call fcn.14000b5b0
mov rdx, qword [0x14004b160]
mov ecx, dword [0x14004b144]
add rdx, 0x190
mov qword [0x14004b150], rax
call fcn.14000b5b0
mov rdx, qword [0x14004b0f8]
mov ecx, dword [0x14004b144]
add rdx, 0x158
mov qword [0x14004b0f0], rax
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
lea rdx, [rax + 0x2a0]
call fcn.14000b5b0
movsd xmm6, qword [0x140042c60]
mov rcx, rax
movss xmm14, dword [0x140042c38]
xor r12d, r12d
movss xmm11, dword [0x140042bb0]
xorps xmm12, xmm12
mov qword [rsp + 0x470], rsi
mov qword [rsp + 0x448], r14
movaps xmmword [rsp + 0x400], xmm9
movaps xmmword [rsp + 0x3f0], xmm10
movaps xmmword [rsp + 0x3a0], xmm15
mov qword [rbp + 0x88], rax
nop dword [rax + rax]
lea edx, [r12*8]
add rdx, rcx
mov ecx, dword [0x14004b144]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
lea rdx, [rax + 0x300]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov r15, rax
lea rdx, [rax + 0x310]
call fcn.14000b5b0
mov rdx, qword [0x14004b150]
xor r8d, r8d
mov ecx, dword [0x14004b144]
add rdx, 0x10b0
mov rdi, rax
call fcn.14000bc00
mov ecx, dword [0x14004b144]
lea rdx, [r15 + 0x290]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
xor r8d, r8d
lea rdx, [rax + 0x10b0]
call fcn.14000bc00
mov ecx, dword [0x14004b144]
lea rdx, [r15 + 0x8f8]
call fcn.14000b5b0
mov ecx, dword [0x14004b144]
mov rbx, rax
lea rdx, [rax + 0x348]
call fcn.14000bf10
mov ecx, dword [0x14004b144]
lea rdx, [rbx + 0xb05]
call fcn.14000bf10
cmp byte [0x14004b0a5], 0
jne 0x140007b52
cmp r15, qword [0x14004b0e0]
je 0x140008ae5
mov r8d, 0x6a
lea rcx, [rbp + 0x98]
mov rdx, rdi
call fcn.140003010
mov r8d, 0x43
lea rcx, [rbp - 0x50]
mov rdx, rdi
call fcn.140003010
movups xmm0, xmmword [rbp - 0x50]
lea rdx, [rbp + 0x170]
movsd xmm1, qword [rbp - 0x40]
lea rcx, [rbp + 0x1d8]
movaps xmmword [rbp + 0x170], xmm0
movsd qword [rbp + 0x180], xmm1
call fcn.1400041b0
xor r8d, r8d
lea rcx, [rbp + 0x190]
mov rdx, rdi
call fcn.140003010
movups xmm0, xmmword [rbp + 0x190]
lea rdx, [rbp + 0xc0]
movsd xmm1, qword [rbp + 0x1a0]
lea rcx, [rbp + 0x1c0]
movaps xmmword [rbp + 0xc0], xmm0
movsd qword [rbp + 0xd0], xmm1
call fcn.1400041b0
movsd xmm10, qword [rbp + 0xa8]
lea rdx, [rbp - 0x50]
movsd xmm9, qword [rbp + 0x98]
lea rcx, [rbp + 0x1a8]
movsd xmm8, qword [rbp + 0xa0]
movaps xmm0, xmm10
addsd xmm0, xmm6
movsd qword [rbp - 0x50], xmm9
movsd qword [rbp - 0x48], xmm8
movsd qword [rbp - 0x40], xmm0
call fcn.1400041b0
movaps xmm0, xmm9
movsd qword [rbp + 0xd0], xmm10
unpcklpd xmm0, xmm8
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x30]
movaps xmmword [rbp + 0xc0], xmm0
call fcn.1400041b0
mov r8d, 0x44
lea rcx, [rbp + 0x140]
mov rdx, rdi
call fcn.140003010
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.140003010
movsd xmm0, qword [rbp + 0x140]
lea rdx, [rbp - 0x50]
movsd xmm1, qword [rbp + 0x148]
lea rcx, [rbp + 0xf0]
movsd xmm15, qword [rbp + 0x150]
addsd xmm15, xmm6
movsd qword [rbp + 0x160], xmm0
movsd qword [rbp - 0x50], xmm0
movsd qword [rbp + 0x158], xmm1
movsd qword [rbp - 0x48], xmm1
movsd qword [rbp - 0x40], xmm15
call fcn.1400041b0
mov r8, qword [0x14004b0f0]
lea rcx, [rbp + 0x1d8]
mov edx, dword [0x14004b144]
add r8, 0x128
call fcn.14000ba80
movaps xmm1, xmm14
movups xmm6, xmmword [rax]
movaps xmm0, xmm6
unpckhpd xmm0, xmm6
subsd xmm8, xmm0
movups xmmword [0x14004b2a8], xmm6
movsd xmm7, qword [rax + 0x10]
cvtpd2ps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm9, xmm6
movaps xmm8, xmm0
cvtpd2ps xmm0, xmm9
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm10, xmm7
movsd qword [0x14004b2b8], xmm7
addss xmm8, xmm0
movaps xmm1, xmm14
cvtpd2ps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x140007d5f
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x140007d68
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movsd xmm8, qword [rbp + 0x1b0]
xorps xmm14, xmm14
cvtss2sd xmm0, xmm0
movaps xmm1, xmm8
divsd xmm0, qword [0x140042c98]
subsd xmm1, qword [rbp + 0x1c8]
cvtsd2ss xmm14, xmm0
andps xmm1, xmmword [0x140042fc0]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x14004a4f8]
cvtpd2ps xmm10, xmm1
comiss xmm0, xmm14
movaps xmm6, xmm10
mulss xmm6, dword [0x140042bc8]
jbe 0x140008a0e
cmp byte [0x14004b0a7], 0
je 0x140007de3
mov rcx, qword [0x14004b2d0]
mov edx, 0x11
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
cmp byte [0x14004b0a7], 0
jne 0x140007df2
mov rcx, qword [0x14004b2d0]
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
cmp byte [0x14004b14c], 0
movaps xmm7, xmm6
movsd xmm9, qword [rbp + 0x1a8]
mulss xmm7, xmm13
je 0x140007ede
mov rax, qword [0x14004b1e8]
lea r8, str.Background
cvtps2pd xmm0, xmm7
xor edx, edx
mov rcx, qword [rax + 0x4088]
movaps xmm1, xmm9
mov rcx, qword [rcx]
subsd xmm1, xmm0
cvttsd2si edi, xmm8
cvttsd2si ebx, xmm1
call fcn.140010730
mov r10, rax
movaps xmm0, xmmword [0x140042ed0]
movups xmmword [rbp + 0x98], xmm0
cvttss2si r14d, xmm6
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
lea ecx, [rbx + r14]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si esi, xmm10
movss dword [rbp + 0x90], xmm0
movss dword [rbp + 0xb0], xmm1
lea ecx, [rdi + rsi]
movd xmm0, ecx
lea rcx, [rbp + 0x98]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x94], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb4], xmm0
call fcn.14000e040
movss xmm0, dword [0x140042c70]
lea r8, [rbp + 0x90]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea rdx, [rbp + 0xb0]
movss dword [rsp + 0x20], xmm0
mov rcx, r10
call fcn.14002df90
jmp 0x140007ee8
cvttss2si esi, xmm10
cvttss2si r14d, xmm6
cmp byte [0x14004b0ac], 0
je 0x140007fc1
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
cvtps2pd xmm10, xmm7
call fcn.14000bd90
mov rax, qword [0x14004b1e8]
addss xmm0, xmm11
comiss xmm0, xmm6
movss xmm0, dword [rax + 0x37d8]
jb 0x140007f64
movss dword [rbp + 0x12c], xmm0
lea rcx, [rbp + 0x120]
mov dword [rbp + 0x120], 0
mov dword [rbp + 0x124], 0x3f2dadae
mov dword [rbp + 0x128], 0x3f6dedee
jmp 0x140007f91
movss dword [rbp + 0x13c], xmm0
lea rcx, [rbp + 0x130]
mov dword [rbp + 0x130], 0
mov dword [rbp + 0x134], 0x3f2dadae
mov dword [rbp + 0x138], 0x3f6dedee
call fcn.14000e040
movaps xmm0, xmm9
mov dword [rsp + 0x60], eax
subsd xmm0, xmm10
mov r9d, esi
lea rax, [rsp + 0x60]
mov r8d, r14d
cvttsd2si edx, xmm8
mov qword [rsp + 0x20], rax
cvttsd2si ecx, xmm0
call fcn.1400038a0
cmp byte [0x14004b0a4], 0
je 0x140008059
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jae 0x140008028
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jae 0x140008059
cvtps2pd xmm0, xmm7
mov dword [rsp + 0x60], 0xffedad00
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
movaps xmm1, xmm9
subsd xmm1, xmm0
cvttsd2si edx, xmm8
cvttsd2si ecx, xmm1
call fcn.1400031a0
cmp byte [0x14004b0ad], 0
je 0x140008275
cmp byte [0x140042225], 0
mov eax, dword [0x140042220]
movsd xmm0, qword [str.gTXCN_a]
mov dword [rbp + 0x1f8], eax
movzx eax, word [0x140042224]
mov word [rbp + 0x1fc], ax
movsd qword [rbp + 0x1f0], xmm0
je 0x140008214
xor r8d, r8d
cmp dword [0x14004a018], 2
jl 0x1400081cb
movdqa xmm2, xmmword [0x140042e10]
mov eax, 5
movdqa xmm3, xmmword [0x140042e20]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140042fe0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [str.7777777777777777]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140042e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140042e70]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.gTXCN_a]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp + 0x1f0], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140042e30]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140042e70]
movd xmm1, dword [rbp + 0x1f4]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x1f4], xmm2
movsxd rax, r8d
lea r9, [rbp + 0x1f0]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x1400081e0
xorps xmm2, xmm2
lea rdx, [rbp + 0x1f0]
cvtss2sd xmm2, xmm14
lea rcx, [rbp + 0x210]
movq r8, xmm2
call fcn.14000c090
subsd xmm8, qword [0x140042c68]
movss xmm0, dword [0x140042cf4]
lea rax, [rbp + 0x210]
mov qword [rsp + 0x30], rax
lea r9, [0x14004a170]
cvttsd2si edx, xmm9
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
cvttsd2si r8d, xmm8
movd ecx, xmm0
call fcn.140005c40
cmp byte [0x14004b0af], 0
je 0x140008a0e
movsd xmm0, qword [rbp + 0xf0]
ucomisd xmm0, xmm12
jp 0x1400082b9
jne 0x1400082b9
movsd xmm0, qword [rbp + 0xf8]
ucomisd xmm0, xmm12
jp 0x1400082b9
jne 0x1400082b9
movsd xmm0, qword [rbp + 0x100]
ucomisd xmm0, xmm12
jp 0x1400082b9
je 0x140008a0e
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jb 0x140008325
mov rax, qword [0x14004b1e8]
lea rcx, [rbp + 0x110]
mov dword [rbp + 0x110], 0
mov qword [rbp + 0x114], 0x3f33b3b4
movss xmm0, dword [rax + 0x37d8]
movss dword [rbp + 0x11c], xmm0
call fcn.14000e040
mov ebx, eax
mov dword [rbp - 0x70], eax
jmp 0x140008388
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jae 0x140008385
mov rax, qword [0x14004b1e8]
lea rcx, [rbp - 0x68]
mov qword [rbp - 0x68], 0x3f800000
mov dword [rbp - 0x60], 0
movss xmm0, dword [rax + 0x37d8]
movss dword [rbp - 0x5c], xmm0
call fcn.14000e040
mov ebx, eax
mov dword [rbp - 0x70], eax
jmp 0x140008388
mov ebx, dword [rbp - 0x70]
movsd xmm11, qword [0x140042c78]
lea rdx, [rbp + 0xf0]
movsd xmm7, qword [rsp + 0x70]
lea rcx, [rbp + 0xc0]
movsd xmm9, qword [rsp + 0x78]
movaps xmm10, xmm7
movsd xmm8, qword [rbp - 0x80]
addsd xmm10, xmm11
movaps xmm6, xmm9
movsd qword [rbp + 0x100], xmm8
subsd xmm6, xmm11
movsd qword [rbp + 0xf0], xmm10
movsd qword [rbp + 0xf8], xmm6
call fcn.1400041b0
subsd xmm7, xmm11
movsd qword [rsp + 0x78], xmm6
lea rdx, [rsp + 0x70]
movsd qword [rbp - 0x80], xmm8
lea rcx, [rbp + 0x170]
movsd qword [rsp + 0x70], xmm7
call fcn.1400041b0
addsd xmm9, xmm11
movsd qword [rsp + 0x70], xmm7
lea rdx, [rsp + 0x70]
movsd qword [rbp - 0x80], xmm8
lea rcx, [rbp - 0x50]
movsd qword [rsp + 0x78], xmm9
call fcn.1400041b0
lea rdx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm10
lea rcx, [rbp + 0x1c0]
movsd qword [rsp + 0x78], xmm9
movsd qword [rbp - 0x80], xmm8
call fcn.1400041b0
movsd xmm8, qword [rbp + 0x160]
lea rdx, [rsp + 0x70]
movsd xmm9, qword [rbp + 0x158]
lea rcx, [rbp + 0x1a8]
movaps xmm7, xmm8
movsd qword [rbp - 0x80], xmm15
movaps xmm6, xmm9
addsd xmm7, xmm11
subsd xmm6, xmm11
movsd qword [rsp + 0x70], xmm7
movsd qword [rsp + 0x78], xmm6
call fcn.1400041b0
subsd xmm8, xmm11
movsd qword [rsp + 0x78], xmm6
lea rdx, [rsp + 0x70]
movsd qword [rbp - 0x80], xmm15
lea rcx, [rbp + 0x190]
movsd qword [rsp + 0x70], xmm8
call fcn.1400041b0
addsd xmm9, xmm11
movsd qword [rsp + 0x70], xmm8
lea rdx, [rsp + 0x70]
movsd qword [rbp - 0x80], xmm15
lea rcx, [rbp + 0x140]
movsd qword [rsp + 0x78], xmm9
call fcn.1400041b0
lea rdx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm7
lea rcx, [rbp + 0x98]
movsd qword [rsp + 0x78], xmm9
movsd qword [rbp - 0x80], xmm15
call fcn.1400041b0
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movsd xmm0, qword [rbp + 0x1a8]
movsd xmm13, qword [rbp + 0xc0]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm13, xmm13
movss dword [rsp + 0x58], xmm0
movsd xmm0, qword [rbp + 0x1b0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm13
movss dword [rsp + 0x5c], xmm0
movsd xmm12, qword [rbp + 0xc8]
lea r8, [rsp + 0x58]
movss xmm6, dword [0x140042c3c]
lea rdx, [rbp + 0xb8]
cvtpd2ps xmm12, xmm12
mov r9d, ebx
mov rcx, rax
movss dword [rsp + 0x20], xmm6
movss dword [rbp + 0xbc], xmm12
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movsd xmm0, qword [rbp + 0x190]
lea r8, [rbp - 0x58]
movsd xmm11, qword [rbp + 0x170]
lea rdx, [rbp + 0xe0]
movsd xmm10, qword [rbp + 0x178]
mov r9d, ebx
cvtpd2ps xmm0, xmm0
mov rcx, rax
cvtpd2ps xmm11, xmm11
movss dword [rbp - 0x58], xmm0
movsd xmm0, qword [rbp + 0x198]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm10, xmm10
movss dword [rbp - 0x54], xmm0
movss dword [rbp + 0xe0], xmm11
movss dword [rbp + 0xe4], xmm10
movss dword [rsp + 0x20], xmm6
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movsd xmm0, qword [rbp + 0x140]
lea r8, [rsp + 0x50]
movsd xmm9, qword [rbp - 0x50]
lea rdx, [rbp - 0x10]
movsd xmm8, qword [rbp - 0x48]
mov r9d, ebx
cvtpd2ps xmm0, xmm0
mov rcx, rax
cvtpd2ps xmm9, xmm9
movss dword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp + 0x148]
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm8, xmm8
movss dword [rsp + 0x54], xmm0
movss dword [rbp - 0x10], xmm9
movss dword [rbp - 0xc], xmm8
movss dword [rsp + 0x20], xmm6
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movsd xmm15, qword [rbp + 0x98]
lea r8, [rbp - 8]
movsd xmm14, qword [rbp + 0xa0]
lea rdx, [rbp]
movsd xmm7, qword [rbp + 0x1c0]
mov r9d, ebx
movsd xmm6, qword [rbp + 0x1c8]
movss xmm0, dword [0x140042c3c]
cvtpd2ps xmm15, xmm15
cvtpd2ps xmm14, xmm14
cvtpd2ps xmm7, xmm7
cvtpd2ps xmm6, xmm6
movss dword [rbp - 8], xmm15
movss dword [rbp - 4], xmm14
movss dword [rbp], xmm7
movss dword [rbp + 4], xmm6
movss dword [rsp + 0x20], xmm0
mov rcx, rax
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movss xmm0, dword [0x140042c3c]
lea r8, [rbp + 8]
mov r9d, ebx
movss dword [rsp + 0x20], xmm0
lea rdx, [rbp + 0x10]
movss dword [rbp + 8], xmm11
mov rcx, rax
movss dword [rbp + 0xc], xmm10
movss dword [rbp + 0x10], xmm13
movss dword [rbp + 0x14], xmm12
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movss dword [rbp + 0x24], xmm10
lea r8, [rbp + 0x18]
movss xmm10, dword [0x140042c3c]
lea rdx, [rbp + 0x20]
mov r9d, ebx
movss dword [rsp + 0x20], xmm10
mov rcx, rax
movss dword [rbp + 0x18], xmm9
movss dword [rbp + 0x1c], xmm8
movss dword [rbp + 0x20], xmm11
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov r9d, ebx
movss dword [rbp + 0x28], xmm7
lea r8, [rbp + 0x28]
movss dword [rbp + 0x2c], xmm6
lea rdx, [rbp + 0x30]
movss dword [rbp + 0x30], xmm9
mov rcx, rax
movss dword [rbp + 0x34], xmm8
movss dword [rsp + 0x20], xmm10
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movss dword [rbp + 0x3c], xmm12
lea r8, [rbp + 0x38]
movaps xmm12, xmm10
movss dword [rbp + 0x38], xmm13
mov r9d, ebx
movss dword [rsp + 0x20], xmm12
lea rdx, [rbp + 0x40]
movss dword [rbp + 0x40], xmm7
mov rcx, rax
movss dword [rbp + 0x44], xmm6
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movss xmm9, dword [rbp - 0x58]
movss xmm8, dword [rbp - 0x54]
movss xmm11, dword [rsp + 0x58]
movss dword [rbp + 0x48], xmm9
movss dword [rbp + 0x4c], xmm8
movss dword [rbp + 0x50], xmm11
movss xmm10, dword [rsp + 0x5c]
lea r8, [rbp + 0x48]
mov r9d, ebx
movss dword [rbp + 0x54], xmm10
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x20], xmm12
mov rcx, rax
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
movss xmm7, dword [rsp + 0x50]
lea r8, [rbp + 0x58]
movss xmm6, dword [rsp + 0x54]
lea rdx, [rbp + 0x60]
mov r9d, ebx
movss dword [rbp + 0x58], xmm7
mov rcx, rax
movss dword [rbp + 0x5c], xmm6
movss dword [rbp + 0x60], xmm9
movss dword [rbp + 0x64], xmm8
movss dword [rsp + 0x20], xmm12
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov r9d, ebx
movss dword [rbp + 0x68], xmm15
lea r8, [rbp + 0x68]
movss dword [rbp + 0x6c], xmm14
lea rdx, [rbp + 0x70]
movss dword [rbp + 0x70], xmm7
mov rcx, rax
movss dword [rbp + 0x74], xmm6
movss dword [rsp + 0x20], xmm12
call fcn.14002dd20
mov rax, qword [0x14004b1e8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
call fcn.140010730
mov r9d, ebx
movss dword [rbp + 0x78], xmm11
lea r8, [rbp + 0x78]
movss dword [rbp + 0x7c], xmm10
lea rdx, [rbp + 0x80]
movss dword [rbp + 0x80], xmm15
mov rcx, rax
movss dword [rbp + 0x84], xmm14
movss dword [rsp + 0x20], xmm12
call fcn.14002dd20
movss xmm11, dword [0x140042bb0]
xorps xmm12, xmm12
movsd xmm1, qword [rbp - 0x28]
mov eax, dword [0x14004b198]
movsd xmm2, qword [rbp - 0x30]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x14004b170]
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm2, xmm2
subsd xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
ucomiss xmm0, xmm3
ja 0x140008a67
xorps xmm7, xmm7
sqrtss xmm7, xmm3
jmp 0x140008a72
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jb 0x140008ad4
movd xmm0, dword [0x14004a4fc]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x140008ad4
movss xmm6, dword [rbp - 0x6c]
movss xmm14, dword [0x140042c38]
comiss xmm6, xmm7
movsd xmm6, qword [0x140042c60]
jbe 0x140008ae5
movss dword [rbp - 0x6c], xmm7
mov r13, r15
jmp 0x140008ae5
movsd xmm6, qword [0x140042c60]
movss xmm14, dword [0x140042c38]
movss xmm13, dword [0x140042bd8]
inc r12d
mov rcx, qword [rbp + 0x88]
cmp r12d, 0x64
jb 0x140007a80
cmp byte [0x14004b0a6], 0
movaps xmm15, xmmword [rsp + 0x3a0]
movaps xmm14, xmmword [rsp + 0x3b0]
movaps xmm13, xmmword [rsp + 0x3c0]
movaps xmm10, xmmword [rsp + 0x3f0]
movaps xmm9, xmmword [rsp + 0x400]
movaps xmm8, xmmword [rsp + 0x410]
movaps xmm7, xmmword [rsp + 0x420]
mov r15, qword [rsp + 0x440]
mov r14, qword [rsp + 0x448]
mov r12, qword [rsp + 0x480]
mov rdi, qword [rsp + 0x478]
mov rsi, qword [rsp + 0x470]
je 0x140008e3a
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
mov rbx, qword [rbp + 0x88]
addss xmm0, xmm11
comiss xmm0, xmm6
jb 0x140008c66
cmp dword [0x14004b0d0], 0
jne 0x140008c66
test r13, r13
je 0x140008c66
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140008c66
cmp byte [0x14004b0a6], 0
je 0x140008c66
movsxd rdx, dword [0x14004b2c4]
lea rcx, [rbp + 0x1d8]
mov r8d, ebx
call fcn.140003010
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.1400041b0
movsd xmm0, qword [rsp + 0x70]
ucomisd xmm0, xmm12
jp 0x140008c45
jne 0x140008c45
movsd xmm0, qword [rsp + 0x78]
ucomisd xmm0, xmm12
jp 0x140008c45
jne 0x140008c45
movsd xmm0, qword [rbp - 0x80]
ucomisd xmm0, xmm12
jp 0x140008c45
je 0x140008c66
cmp byte [0x14004b0a6], 0
je 0x140008c66
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008c66
mov rcx, r13
call fcn.140006a30
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jb 0x140008d50
cmp dword [0x14004b0d0], 1
jne 0x140008d50
test r13, r13
je 0x140008d50
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140008d50
cmp byte [0x14004b0a6], 0
je 0x140008d50
movsxd rdx, dword [0x14004b2c4]
lea rcx, [rbp + 0x1d8]
mov r8d, ebx
call fcn.140003010
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.1400041b0
movsd xmm0, qword [rsp + 0x70]
ucomisd xmm0, xmm12
jp 0x140008d2f
jne 0x140008d2f
movsd xmm0, qword [rsp + 0x78]
ucomisd xmm0, xmm12
jp 0x140008d2f
jne 0x140008d2f
movsd xmm0, qword [rbp - 0x80]
ucomisd xmm0, xmm12
jp 0x140008d2f
je 0x140008d50
cmp byte [0x14004b0a6], 0
je 0x140008d50
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008d50
mov rcx, r13
call fcn.140006a30
mov ecx, dword [0x14004b144]
mov edx, 0x670
call fcn.14000bd90
mov ecx, dword [0x14004b144]
mov edx, 0x678
movaps xmm6, xmm0
call fcn.14000bd90
addss xmm0, xmm11
comiss xmm0, xmm6
jb 0x140008e3a
cmp dword [0x14004b0d0], 2
jne 0x140008e3a
test r13, r13
je 0x140008e3a
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140008e3a
cmp byte [0x14004b0a6], 0
je 0x140008e3a
movsxd rdx, dword [0x14004b2c4]
lea rcx, [rbp + 0x1d8]
mov r8d, ebx
call fcn.140003010
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.1400041b0
movsd xmm0, qword [rsp + 0x70]
ucomisd xmm0, xmm12
jp 0x140008e19
jne 0x140008e19
movsd xmm0, qword [rsp + 0x78]
ucomisd xmm0, xmm12
jp 0x140008e19
jne 0x140008e19
movsd xmm0, qword [rbp - 0x80]
ucomisd xmm0, xmm12
jp 0x140008e19
je 0x140008e3a
cmp byte [0x14004b0a6], 0
je 0x140008e3a
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008e3a
mov rcx, r13
call fcn.140006a30
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.14003aa80
lea r11, [rsp + 0x450]
movaps xmm6, xmmword [r11 - 0x20]
movaps xmm11, xmmword [r11 - 0x70]
movaps xmm12, xmmword [r11 - 0x80]
mov rsp, r11
pop r13
pop rbx
pop rbp
ret