Function at 0x14000aa60
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 - 0x908]
sub rsp, 0x9e0
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 [0x140052010]
xor rax, rsp
mov qword [rbp + 0x830], rax
cmp byte [0x14005289b], 0
je 0x14000aae4
call fcn.14000a290
mov r15d, 0x539
movss xmm8, dword [0x14004a8bc]
movss dword [rbp - 0x60], xmm8
xor r12d, r12d
mov esi, r12d
mov rcx, qword [0x1400529a0]
mov r8, qword [0x140052998]
sub rcx, r8
movabs r13, 0x8421084210842109
mov rax, r13
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
lea ebx, [r12 + 2]
lea r14d, [r12 + 0x62]
movss xmm10, dword [0x14004a76c]
add rdx, rax
je 0x14000c887
mov eax, r12d
nop dword [rax]
movss dword [rsp + 0x68], xmm8
imul rdx, rax, 0xf8
add rdx, r8
lea rcx, [rbp + 0x530]
call fcn.14000cec0
nop
cmp byte [rbp + 0x530], 0
jne 0x14000abfe
mov rdi, qword [0x1400529a0]
mov rbx, qword [0x140052998]
cmp rbx, rdi
je 0x14000abaa
mov rax, qword [rbp + 0x600]
cmp qword [rbx + 0xd0], rax
je 0x14000abaa
add rbx, 0xf8
cmp rbx, rdi
jne 0x14000ab95
add rbx, 0xf8
cmp rbx, rdi
je 0x14000abe2
nop word [rax + rax]
lea rcx, [rbx - 0xf8]
mov rdx, rbx
call fcn.140010430
add rbx, 0xf8
cmp rbx, rdi
jne 0x14000abc0
mov rdi, qword [0x1400529a0]
lea rcx, [rdi - 0xf8]
call fcn.1400094f0
sub qword [0x1400529a0], 0xf8
jmp 0x14000c840
mov r9, qword [rbp + 0x620]
mov r8, qword [rbp + 0x608]
xor edx, edx
lea rcx, [rbp - 0x50]
call fcn.140007bc0
cmp byte [0x14005289b], 0
je 0x14000ac3a
cmp byte [0x140052890], 0
je 0x14000ac3a
movsd xmm1, qword [rbp + 0x5d8]
cvtpd2ps xmm1, xmm1
call fcn.14000a750
cmp byte [rbp + 0x531], 0
jne 0x14000ac48
jmp 0x14000c845
mov r9, qword [rbp + 0x620]
mov r8, qword [rbp + 0x608]
mov edx, r14d
lea rcx, [rbp + 0x80]
call fcn.140007bc0
movsd xmm15, qword [rbp + 0x90]
movsd qword [rbp + 0xc0], xmm15
movaps xmm7, xmm15
addsd xmm7, qword [0x14004a810]
movsd xmm6, qword [rbp - 0x40]
movaps xmm13, xmm6
subsd xmm13, qword [0x14004a7e0]
movups xmm11, xmmword [rbp + 0x80]
movups xmmword [rbp + 0x508], xmm11
movaps xmmword [rbp + 0x60], xmm11
movsd qword [rbp + 0x70], xmm15
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call fcn.140007840
movups xmm9, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm9
movsd qword [rbp - 0x40], xmm6
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x518]
call fcn.140007840
movsd qword [rbp], xmm11
movaps xmm14, xmm11
unpckhpd xmm14, xmm11
movaps xmmword [rbp - 0x10], xmm14
movsd qword [rbp + 8], xmm14
movsd qword [rbp + 0x10], xmm7
lea rdx, [rbp]
lea rcx, [rbp + 0xa0]
call fcn.140007840
movsd qword [rbp + 0x20], xmm9
movaps xmm12, xmm9
unpckhpd xmm12, xmm9
movsd qword [rbp + 0x28], xmm12
movsd qword [rbp + 0x30], xmm13
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x4f0]
call fcn.140007840
movd xmm0, dword [0x1400528dc]
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x40]
subsd xmm2, xmm0
movd xmm1, dword [0x1400528e0]
cvtdq2pd xmm1, xmm1
movsd xmm0, qword [rbp + 0x48]
subsd xmm0, xmm1
mulsd xmm0, xmm0
mulsd xmm2, xmm2
addsd xmm0, xmm2
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000ad81
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14000ad89
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm8, xmm0
jbe 0x14000ad94
movss dword [rbp - 0x60], xmm0
mov eax, esi
movss xmm1, dword [rsp + 0x68]
comiss xmm1, xmm0
cmovbe eax, r15d
mov r15d, eax
movsd xmm6, qword [rbp + 0xa8]
movsd qword [rbp + 0x470], xmm6
movsd xmm8, qword [rbp + 0x4f8]
cmp byte [0x140052887], 0
je 0x14000ae44
cmp byte [0x140052895], 0
je 0x14000af91
movaps xmm0, xmm8
subsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movaps xmm2, xmm1
divss xmm2, dword [0x14004a7c0]
movaps xmm0, xmmword [0x14004ace0]
movaps xmmword [rbp + 0xc0], xmm0
cvttss2si ecx, xmm1
cvttss2si edx, xmm2
cvttsd2si r9d, xmm6
mulss xmm2, xmm10
cvtps2pd xmm0, xmm2
movsd xmm1, qword [rbp + 0x4f0]
subsd xmm1, xmm0
cvttsd2si r8d, xmm1
movzx eax, byte [0x140052896]
mov byte [rsp + 0x40], al
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
call fcn.140002030
movss xmm12, dword [0x14004a7a0]
mov edi, 0x11
movsd xmm7, qword [rbp + 0x518]
cmp byte [0x140052888], 0
je 0x14000ba97
mov dword [rsp + 0x60], 0x1e59535d
mov dword [rsp + 0x64], 0x1005314
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx + 0x75]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 6
jb 0x14000ae80
mov byte [rsp + 0x67], 0
movsd xmm2, qword [rbp + 0x5d8]
movq r8, xmm2
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x630]
call fcn.140010350
mov rax, qword [0x1400528c8]
mov qword [rsp + 0x30], r12
lea rcx, [rbp + 0x630]
mov qword [rsp + 0x28], rcx
movss xmm13, dword [0x14004a8cc]
movss dword [rsp + 0x20], xmm13
movss xmm9, dword [0x14004a8bc]
movaps xmm3, xmm9
movss xmm2, dword [rax + 0x3c18]
lea rdx, [rbp + 0x120]
mov rcx, qword [rax + 0x3c10]
call fcn.140035d00
movss xmm0, dword [rbp + 0x120]
addss xmm0, dword [0x14004a79c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x120], xmm1
movaps xmm0, xmm6
subsd xmm0, qword [0x14004a808]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
mulss xmm1, xmm10
cvtps2pd xmm0, xmm1
movaps xmm1, xmm7
subsd xmm1, xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
movaps xmm0, xmmword [0x14004ac70]
movaps xmmword [rbp - 0x10], xmm0
movzx eax, byte [0x140052899]
mov byte [rsp + 0x20], al
movzx r9d, byte [0x140052068]
lea r8, [rbp - 0x10]
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movq rdx, xmm0
lea rcx, [rbp + 0x630]
call fcn.140008920
mov edi, 0x20
jmp 0x14000baa9
cmp byte [0x140052897], 0
je 0x14000b019
movaps xmm0, xmm8
subsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movaps xmm2, xmm1
divss xmm2, dword [0x14004a7c0]
movaps xmm0, xmmword [0x14004ace0]
movaps xmmword [rbp + 0xc0], xmm0
cvttss2si ecx, xmm1
cvttss2si edx, xmm2
cvttsd2si r9d, xmm6
mulss xmm2, xmm10
cvtps2pd xmm0, xmm2
movsd xmm1, qword [rbp + 0x4f0]
subsd xmm1, xmm0
cvttsd2si r8d, xmm1
movzx eax, byte [0x140052896]
mov byte [rsp + 0x40], al
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
movss xmm0, dword [0x14004a838]
movaps xmm1, xmm0
call fcn.140002290
jmp 0x14000ae44
cmp byte [0x14005205f], 0
je 0x14000ae44
movaps xmm8, xmm12
movsd xmm6, qword [0x14004a818]
addsd xmm8, xmm6
movaps xmm7, xmm9
addsd xmm7, xmm6
movsd qword [rbp + 0x20], xmm7
movsd qword [rbp + 0x28], xmm8
movsd qword [rbp + 0x30], xmm13
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x478]
call fcn.140007840
subsd xmm12, xmm6
subsd xmm9, xmm6
movsd qword [rbp], xmm9
movsd qword [rbp + 8], xmm12
movsd qword [rbp + 0x10], xmm13
lea rdx, [rbp]
lea rcx, [rbp + 0x490]
call fcn.140007840
movsd qword [rbp + 0x2c0], xmm7
movsd qword [rbp + 0x2c8], xmm12
movsd qword [rbp + 0x2d0], xmm13
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x4d8]
call fcn.140007840
movsd qword [rbp + 0x2a0], xmm9
movsd qword [rbp + 0x2a8], xmm8
movsd qword [rbp + 0x2b0], xmm13
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x4a8]
call fcn.140007840
movaps xmm6, xmm15
addsd xmm6, qword [0x14004a800]
movsd qword [rbp + 0x40], xmm7
movsd qword [rbp + 0x48], xmm8
movsd qword [rbp + 0x50], xmm6
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x250]
call fcn.140007840
movsd qword [rbp - 0x50], xmm9
movsd qword [rbp - 0x48], xmm12
movsd qword [rbp - 0x40], xmm6
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x270]
call fcn.140007840
movsd qword [rbp + 0x60], xmm7
movsd qword [rbp + 0x68], xmm12
movsd qword [rbp + 0x70], xmm6
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x4c0]
call fcn.140007840
movsd qword [rbp + 0x80], xmm9
movsd qword [rbp + 0x88], xmm8
movsd qword [rbp + 0x90], xmm6
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xa0]
call fcn.140007840
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x3d0], 0x3f800000
mov dword [rbp + 0x3d4], 0x3f800000
mov dword [rbp + 0x3d8], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3dc], xmm0
lea rcx, [rbp + 0x3d0]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0x4e0]
cvtpd2ps xmm9, xmm9
movss dword [rbp - 0x7c], xmm9
movsd xmm8, qword [rbp + 0x4d8]
cvtpd2ps xmm8, xmm8
movss dword [rbp - 0x30], xmm8
movss dword [rbp - 0x2c], xmm9
movsd xmm6, qword [rbp + 0x480]
cvtpd2ps xmm6, xmm6
movss dword [rsp + 0x68], xmm6
movsd xmm14, qword [rbp + 0x478]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x1f8], xmm14
movss dword [rbp + 0x1fc], xmm6
movss xmm10, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x1f8]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x3e0], 0x3f800000
mov dword [rbp + 0x3e4], 0x3f800000
mov dword [rbp + 0x3e8], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3ec], xmm0
lea rcx, [rbp + 0x3e0]
call fcn.1400125c0
movsd xmm7, qword [rbp + 0x498]
cvtpd2ps xmm7, xmm7
movss dword [rbp - 0x80], xmm7
movsd xmm15, qword [rbp + 0x490]
cvtpd2ps xmm15, xmm15
movss dword [rbp + 0x200], xmm15
movss dword [rbp + 0x204], xmm7
movss dword [rbp + 0x208], xmm8
movss dword [rbp + 0x20c], xmm9
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x208]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x3f0], 0x3f800000
mov dword [rbp + 0x3f4], 0x3f800000
mov dword [rbp + 0x3f8], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3fc], xmm0
lea rcx, [rbp + 0x3f0]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0x4b0]
cvtpd2ps xmm9, xmm9
movss dword [rbp - 0x78], xmm9
movsd xmm8, qword [rbp + 0x4a8]
cvtpd2ps xmm8, xmm8
movss dword [rbp - 0x28], xmm8
movss dword [rbp - 0x24], xmm9
movss dword [rbp + 0x210], xmm15
movss dword [rbp + 0x214], xmm7
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x210]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x400], 0x3f800000
mov dword [rbp + 0x404], 0x3f800000
mov dword [rbp + 0x408], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x40c], xmm0
lea rcx, [rbp + 0x400]
call fcn.1400125c0
movss dword [rbp + 0x218], xmm14
movss dword [rbp + 0x21c], xmm6
movss dword [rbp + 0x220], xmm8
movss dword [rbp + 0x224], xmm9
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x220]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x420], 0x3f800000
mov dword [rbp + 0x424], 0x3f800000
mov dword [rbp + 0x428], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x42c], xmm0
lea rcx, [rbp + 0x420]
call fcn.1400125c0
movsd xmm13, qword [rbp + 0x4c8]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x4c0]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x228], xmm12
movss dword [rbp + 0x22c], xmm13
movsd xmm8, qword [rbp + 0x258]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x250]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x230], xmm6
movss dword [rbp + 0x234], xmm8
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0x230]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x430], 0x3f800000
mov dword [rbp + 0x434], 0x3f800000
mov dword [rbp + 0x438], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x43c], xmm0
lea rcx, [rbp + 0x430]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0x278]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x270]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x238], xmm7
movss dword [rbp + 0x23c], xmm9
movss dword [rbp + 0x240], xmm12
movss dword [rbp + 0x244], xmm13
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x238]
lea rdx, [rbp + 0x240]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x440], 0x3f800000
mov dword [rbp + 0x444], 0x3f800000
mov dword [rbp + 0x448], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x44c], xmm0
lea rcx, [rbp + 0x440]
call fcn.1400125c0
movsd xmm11, qword [rbp + 0xa8]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0xa0]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x248], xmm10
movss dword [rbp + 0x24c], xmm11
movss dword [rbp + 0x290], xmm7
movss dword [rbp + 0x294], xmm9
movss xmm0, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x248]
lea rdx, [rbp + 0x290]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x450], 0x3f800000
mov dword [rbp + 0x454], 0x3f800000
mov dword [rbp + 0x458], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x45c], xmm0
lea rcx, [rbp + 0x450]
call fcn.1400125c0
movss dword [rbp + 0xd0], xmm6
movss dword [rbp + 0xd4], xmm8
movss dword [rbp + 0xd8], xmm10
movss dword [rbp + 0xdc], xmm11
movss xmm0, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xd8]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x460], 0x3f800000
mov dword [rbp + 0x464], 0x3f800000
mov dword [rbp + 0x468], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x46c], xmm0
lea rcx, [rbp + 0x460]
call fcn.1400125c0
movss dword [rbp + 0xe0], xmm6
movss dword [rbp + 0xe4], xmm8
movss dword [rbp + 0xe8], xmm14
movss xmm0, dword [rsp + 0x68]
movss dword [rbp + 0xec], xmm0
movss xmm6, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0xe8]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x360], 0x3f800000
mov dword [rbp + 0x364], 0x3f800000
mov dword [rbp + 0x368], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x36c], xmm0
lea rcx, [rbp + 0x360]
call fcn.1400125c0
movss dword [rbp + 0xf0], xmm7
movss dword [rbp + 0xf4], xmm9
movss dword [rbp + 0xf8], xmm15
movss xmm0, dword [rbp - 0x80]
movss dword [rbp + 0xfc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xf8]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x2e0], 0x3f800000
mov dword [rbp + 0x2e4], 0x3f800000
mov dword [rbp + 0x2e8], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x2ec], xmm0
lea rcx, [rbp + 0x2e0]
call fcn.1400125c0
movss dword [rbp + 0x100], xmm12
movss dword [rbp + 0x104], xmm13
movss xmm0, dword [rbp - 0x30]
movss dword [rbp + 0x108], xmm0
movss xmm1, dword [rbp - 0x7c]
movss dword [rbp + 0x10c], xmm1
movaps xmm12, xmm6
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x108]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x2f0], 0x3f800000
mov dword [rbp + 0x2f4], 0x3f800000
mov dword [rbp + 0x2f8], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x2fc], xmm0
lea rcx, [rbp + 0x2f0]
call fcn.1400125c0
movss dword [rbp + 0x110], xmm10
movss dword [rbp + 0x114], xmm11
movss xmm0, dword [rbp - 0x28]
movss dword [rbp + 0x118], xmm0
movss xmm1, dword [rbp - 0x78]
movss dword [rbp + 0x11c], xmm1
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x118]
mov rcx, r10
call fcn.140031900
movsd xmm6, qword [rbp + 0x470]
movsd xmm8, qword [rbp + 0x4f8]
movss xmm10, dword [0x14004a76c]
movups xmm11, xmmword [rbp + 0x508]
movaps xmm14, xmmword [rbp - 0x10]
movsd xmm15, qword [rbp + 0xc0]
jmp 0x14000ae4d
movss xmm9, dword [0x14004a8bc]
movss xmm13, dword [0x14004a8cc]
cmp byte [0x14005288f], 0
je 0x14000bbb5
lea rcx, [rbp + 0x578]
mov rdx, qword [rbp + 0x578]
mov r8, qword [rbp + 0x590]
cmp r8, 0x10
cmovae rcx, rdx
mov rax, qword [0x1400528c8]
test rcx, rcx
jne 0x14000bae4
xorps xmm1, xmm1
jmp 0x14000bb45
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm9
movss xmm2, dword [rax + 0x3c18]
lea rdx, [rbp + 0x128]
mov rcx, qword [rax + 0x3c10]
call fcn.140035d00
movss xmm0, dword [rbp + 0x128]
addss xmm0, dword [0x14004a79c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x128], xmm1
mov r8, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x578]
movzx eax, byte [0x140052899]
movaps xmm0, xmm8
addsd xmm0, qword [0x14004a7c8]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
mulss xmm1, xmm10
cvtps2pd xmm0, xmm1
movaps xmm1, xmm7
subsd xmm1, xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
lea rcx, [rbp + 0x578]
cmp r8, 0x10
cmovae rcx, rdx
movaps xmm0, xmmword [rbp + 0x5e0]
movdqa xmmword [rbp - 0x10], xmm0
mov byte [rsp + 0x20], al
movzx r9d, byte [0x140052068]
lea r8, [rbp - 0x10]
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movq rdx, xmm0
call fcn.140008920
mov ebx, 0x11
cmp byte [0x140052884], 0
je 0x14000bcd2
mov dword [rsp + 0x70], 0x5713532e
mov dword [rsp + 0x74], 0x1002717
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx + 0x75]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 6
jb 0x14000bbe0
mov byte [rsp + 0x77], 0
mov r8d, dword [rbp + 0x5f4]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x730]
call fcn.140010350
mov rax, qword [0x1400528c8]
mov qword [rsp + 0x30], r12
lea rcx, [rbp + 0x730]
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm9
movss xmm2, dword [rax + 0x3c18]
lea rdx, [rbp + 0x130]
mov rcx, qword [rax + 0x3c10]
call fcn.140035d00
movss xmm0, dword [rbp + 0x130]
addss xmm0, dword [0x14004a79c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x130], xmm1
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm8
cvtpd2ps xmm3, xmm0
mulss xmm1, xmm10
cvtps2pd xmm0, xmm1
movaps xmm1, xmm7
subsd xmm1, xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
movaps xmm0, xmmword [rbp + 0x5e0]
movdqa xmmword [rbp - 0x10], xmm0
movzx eax, byte [0x140052899]
mov byte [rsp + 0x20], al
movzx r9d, byte [0x140052068]
lea r8, [rbp - 0x10]
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movq rdx, xmm0
lea rcx, [rbp + 0x730]
call fcn.140008920
add ebx, 0xf
cmp byte [0x140052894], 0
je 0x14000be70
mov rax, qword [0x1400528c8]
lea r8, str.Background
xor edx, edx
mov rax, qword [rax + 0x40b0]
mov rcx, qword [rax]
cmp byte [0x14005205d], dl
je 0x14000bdb8
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x300], 0x3f800000
mov dword [rbp + 0x304], 0x3f800000
mov dword [rbp + 0x308], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x30c], xmm0
lea rcx, [rbp + 0x300]
call fcn.1400125c0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm8
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movss dword [rbp + 0x138], xmm0
movss dword [rbp + 0x13c], xmm1
mov ecx, dword [0x1400528e0]
lea ecx, [rcx*2 - 0xa]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x1400528dc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x140], xmm0
movss dword [rbp + 0x144], xmm1
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x140]
jmp 0x14000be5e
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov dword [rbp + 0x310], 0x3f800000
mov dword [rbp + 0x314], 0x3f800000
mov dword [rbp + 0x318], 0x3f800000
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x31c], xmm0
lea rcx, [rbp + 0x310]
call fcn.1400125c0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
addsd xmm6, qword [0x14004a7f8]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm6
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movss dword [rbp + 0x148], xmm0
movss dword [rbp + 0x14c], xmm1
movd xmm1, dword [0x1400528dc]
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x150], xmm1
mov dword [rbp + 0x154], 0x41200000
lea r8, [rbp + 0x148]
lea rdx, [rbp + 0x150]
movss dword [rsp + 0x20], xmm12
mov r9d, eax
mov rcx, r10
call fcn.140031900
cmp byte [0x140052886], 0
je 0x14000c831
movaps xmm6, xmm15
movsd xmm9, qword [0x14004a7f0]
subsd xmm6, xmm9
movaps xmm8, xmm14
addsd xmm8, xmm9
movaps xmm7, xmm11
addsd xmm7, xmm9
movsd qword [rbp + 0x80], xmm7
movsd qword [rbp + 0x88], xmm8
movsd qword [rbp + 0x90], xmm6
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x270]
call fcn.140007840
subsd xmm14, xmm9
subsd xmm11, xmm9
movsd qword [rbp + 0x60], xmm11
movsd qword [rbp + 0x68], xmm14
movsd qword [rbp + 0x70], xmm6
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x250]
call fcn.140007840
movsd qword [rbp - 0x50], xmm7
movsd qword [rbp - 0x48], xmm14
movsd qword [rbp - 0x40], xmm6
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xa0]
call fcn.140007840
movsd qword [rbp + 0x40], xmm11
movsd qword [rbp + 0x48], xmm8
movsd qword [rbp + 0x50], xmm6
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x4c0]
call fcn.140007840
addsd xmm15, xmm9
movsd qword [rbp + 0x2a0], xmm7
movsd qword [rbp + 0x2a8], xmm8
movsd qword [rbp + 0x2b0], xmm15
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x490]
call fcn.140007840
movsd qword [rbp + 0x2c0], xmm11
movsd qword [rbp + 0x2c8], xmm14
movsd qword [rbp + 0x2d0], xmm15
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x478]
call fcn.140007840
movsd qword [rbp + 0x20], xmm7
movsd qword [rbp + 0x28], xmm14
movsd qword [rbp + 0x30], xmm15
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x4a8]
call fcn.140007840
movsd qword [rbp], xmm11
movsd qword [rbp + 8], xmm8
movsd qword [rbp + 0x10], xmm15
lea rdx, [rbp]
lea rcx, [rbp + 0x4d8]
call fcn.140007840
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x320], 0x3f800000
mov dword [rbp + 0x328], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x32c], xmm0
lea rcx, [rbp + 0x320]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0xa8]
cvtpd2ps xmm9, xmm9
movss dword [rbp - 0x80], xmm9
movsd xmm8, qword [rbp + 0xa0]
cvtpd2ps xmm8, xmm8
movss dword [rbp - 0x20], xmm8
movss dword [rbp - 0x1c], xmm9
movsd xmm6, qword [rbp + 0x278]
cvtpd2ps xmm6, xmm6
movss dword [rbp - 0x78], xmm6
movsd xmm14, qword [rbp + 0x270]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x158], xmm14
movss dword [rbp + 0x15c], xmm6
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x158]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x330], 0x3f800000
mov dword [rbp + 0x338], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x33c], xmm0
lea rcx, [rbp + 0x330]
call fcn.1400125c0
movsd xmm7, qword [rbp + 0x258]
cvtpd2ps xmm7, xmm7
movss dword [rbp - 0x7c], xmm7
movsd xmm15, qword [rbp + 0x250]
cvtpd2ps xmm15, xmm15
movss dword [rbp + 0x160], xmm15
movss dword [rbp + 0x164], xmm7
movss dword [rbp + 0x168], xmm8
movss dword [rbp + 0x16c], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x168]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x340], 0x3f800000
mov dword [rbp + 0x348], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x34c], xmm0
lea rcx, [rbp + 0x340]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0x4c8]
cvtpd2ps xmm9, xmm9
movss dword [rsp + 0x68], xmm9
movsd xmm8, qword [rbp + 0x4c0]
cvtpd2ps xmm8, xmm8
movss dword [rbp - 0x18], xmm8
movss dword [rbp - 0x14], xmm9
movss dword [rbp + 0x170], xmm15
movss dword [rbp + 0x174], xmm7
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x170]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x350], 0x3f800000
mov dword [rbp + 0x358], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x35c], xmm0
lea rcx, [rbp + 0x350]
call fcn.1400125c0
movss dword [rbp + 0x178], xmm14
movss dword [rbp + 0x17c], xmm6
movss dword [rbp + 0x180], xmm8
movss dword [rbp + 0x184], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x178]
lea rdx, [rbp + 0x180]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x410], 0x3f800000
mov dword [rbp + 0x418], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x41c], xmm0
lea rcx, [rbp + 0x410]
call fcn.1400125c0
movsd xmm13, qword [rbp + 0x4b0]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x4a8]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x188], xmm12
movss dword [rbp + 0x18c], xmm13
movsd xmm8, qword [rbp + 0x498]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x490]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x190], xmm6
movss dword [rbp + 0x194], xmm8
movss xmm10, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x188]
lea rdx, [rbp + 0x190]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x370], 0x3f800000
mov dword [rbp + 0x378], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x37c], xmm0
lea rcx, [rbp + 0x370]
call fcn.1400125c0
movsd xmm9, qword [rbp + 0x480]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x478]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x198], xmm7
movss dword [rbp + 0x19c], xmm9
movss dword [rbp + 0x1a0], xmm12
movss dword [rbp + 0x1a4], xmm13
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x198]
lea rdx, [rbp + 0x1a0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x380], 0x3f800000
mov dword [rbp + 0x388], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x38c], xmm0
lea rcx, [rbp + 0x380]
call fcn.1400125c0
movsd xmm11, qword [rbp + 0x4e0]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x4d8]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x1a8], xmm10
movss dword [rbp + 0x1ac], xmm11
movss dword [rbp + 0x1b0], xmm7
movss dword [rbp + 0x1b4], xmm9
movss xmm0, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x1a8]
lea rdx, [rbp + 0x1b0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x390], 0x3f800000
mov dword [rbp + 0x398], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x39c], xmm0
lea rcx, [rbp + 0x390]
call fcn.1400125c0
movss dword [rbp + 0x1b8], xmm6
movss dword [rbp + 0x1bc], xmm8
movss dword [rbp + 0x1c0], xmm10
movss dword [rbp + 0x1c4], xmm11
movss xmm0, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x1b8]
lea rdx, [rbp + 0x1c0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x3a0], 0x3f800000
mov dword [rbp + 0x3a8], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3ac], xmm0
lea rcx, [rbp + 0x3a0]
call fcn.1400125c0
movss dword [rbp + 0x1c8], xmm6
movss dword [rbp + 0x1cc], xmm8
movss dword [rbp + 0x1d0], xmm14
movss xmm0, dword [rbp - 0x78]
movss dword [rbp + 0x1d4], xmm0
movss xmm6, dword [0x14004a7a0]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x1d0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x3b0], 0x3f800000
mov dword [rbp + 0x3b8], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3bc], xmm0
lea rcx, [rbp + 0x3b0]
call fcn.1400125c0
movss dword [rbp + 0x1d8], xmm7
movss dword [rbp + 0x1dc], xmm9
movss dword [rbp + 0x1e0], xmm15
movss xmm0, dword [rbp - 0x7c]
movss dword [rbp + 0x1e4], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x1d8]
lea rdx, [rbp + 0x1e0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp + 0x3c0], 0x3f800000
mov dword [rbp + 0x3c8], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp + 0x3cc], xmm0
lea rcx, [rbp + 0x3c0]
call fcn.1400125c0
movss dword [rbp + 0x1e8], xmm12
movss dword [rbp + 0x1ec], xmm13
movss xmm0, dword [rbp - 0x20]
movss dword [rbp + 0x1f0], xmm0
movss xmm1, dword [rbp - 0x80]
movss dword [rbp + 0x1f4], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x1e8]
lea rdx, [rbp + 0x1f0]
mov rcx, r10
call fcn.140031900
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp - 0x70], 0x3f800000
mov dword [rbp - 0x68], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.1400125c0
movss dword [rbp - 0x5c], xmm10
movss dword [rbp - 0x58], xmm11
movss xmm0, dword [rbp - 0x18]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [rsp + 0x68]
movss dword [rsp + 0x7c], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x5c]
lea rdx, [rsp + 0x78]
mov rcx, r10
call fcn.140031900
nop
movss xmm10, dword [0x14004a76c]
movss xmm8, dword [rbp - 0x60]
mov ebx, 2
lea rcx, [rbp + 0x530]
call fcn.1400094f0
inc esi
mov rcx, qword [0x1400529a0]
mov r8, qword [0x140052998]
sub rcx, r8
mov rax, r13
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jb 0x14000ab50
movzx esi, byte [0x1400528a8]
movzx eax, byte [0x1400528a3]
mov byte [rsp + 0x57], al
movzx eax, byte [0x1400528a7]
mov byte [rsp + 0x58], al
movzx eax, byte [0x1400528a9]
mov byte [rsp + 0x56], al
movss xmm7, dword [0x140052074]
movss xmm9, dword [0x140052078]
movzx eax, byte [0x14005206b]
mov byte [rsp + 0x59], al
movzx eax, byte [0x1400528a5]
mov byte [rsp + 0x5a], al
movzx eax, byte [0x140052069]
mov byte [rsp + 0x55], al
movzx eax, byte [0x14005289f]
mov byte [rsp + 0x52], al
movzx eax, byte [0x14005289d]
mov byte [rsp + 0x53], al
movzx eax, byte [0x14005289e]
mov byte [rsp + 0x54], al
movzx edi, byte [0x14005206a]
mov byte [rsp + 0x50], dil
movzx r12d, byte [0x1400528a0]
movzx r13d, byte [0x1400528a1]
movzx eax, byte [0x1400528a2]
mov byte [rsp + 0x51], al
cmp byte [0x14005289c], 0
je 0x14000ca3b
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov rbx, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp - 0x70], 0x3f800000
mov dword [rbp - 0x68], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.1400125c0
mov edi, eax
movd xmm1, dword [0x1400528dc]
cvtdq2ps xmm1, xmm1
movaps xmm2, xmm1
mulss xmm2, xmm7
divss xmm2, dword [0x140052074]
mulss xmm2, xmm10
movd xmm0, dword [0x1400528e0]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x7c], xmm0
test eax, 0xff000000
je 0x14000ca2f
xorps xmm0, xmm0
comiss xmm0, xmm2
jae 0x14000ca2f
subss xmm2, xmm10
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.140030a80
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
movss xmm6, dword [0x14004a7a0]
movss dword [rsp + 0x28], xmm6
mov eax, 1
mov dword [rsp + 0x20], eax
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14002f5f0
xor eax, eax
mov dword [rbx + 0x78], eax
mov r8, qword [0x140052998]
movzx edi, byte [rsp + 0x50]
jmp 0x14000ca43
mov r8, qword [0x140052998]
movzx edi, byte [rsp + 0x50]
movss xmm6, dword [0x14004a7a0]
xor bl, bl
test sil, sil
je 0x14000ce33
cmp r15d, 0x539
je 0x14000ce33
cmp qword [0x140052790], 0
je 0x14000ce33
cmp qword [0x140052778], 0
je 0x14000ce33
movsxd rax, r15d
imul rdx, rax, 0xf8
add rdx, r8
lea rcx, [rbp + 0x530]
call fcn.14000cec0
nop
mov esi, 2
test dil, dil
jne 0x14000cabc
test r12b, r12b
je 0x14000caa6
lea r14d, [rsi + 0x40]
jmp 0x14000cabc
test r13b, r13b
je 0x14000cab3
mov r14d, 8
jmp 0x14000cabc
cmp byte [rsp + 0x51], 0
cmovne r14d, esi
mov edi, 1
cmp byte [rsp + 0x52], 0
je 0x14000cadb
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000cadb
movzx ebx, dil
jmp 0x14000cb3c
cmp byte [rsp + 0x53], 0
je 0x14000caf3
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000caf3
mov bl, 1
jmp 0x14000cb3c
cmp byte [rsp + 0x54], 0
je 0x14000cb0e
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000cb0e
mov bl, 1
jmp 0x14000cb3c
cmp byte [rsp + 0x55], 0
je 0x14000cb3c
mov rcx, qword [0x140052790]
add rcx, 0x7f0
call fcn.14000fdc0
lea rcx, [rax + 0xa85]
call fcn.1400102b0
movzx ebx, bl
test al, al
cmovne ebx, edi
mov r9, qword [rbp + 0x620]
mov r8, qword [rbp + 0x608]
mov edx, r14d
lea rcx, [rbp + 0xa0]
call fcn.140007bc0
movups xmm0, xmmword [rbp + 0xa0]
movaps xmmword [rbp + 0x270], xmm0
movsd xmm1, qword [rbp + 0xb0]
movsd qword [rbp + 0x280], xmm1
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x250]
call fcn.140007840
mov eax, dword [0x1400528dc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
divss xmm0, dword [0x140052074]
mulss xmm0, xmm10
cvtps2pd xmm2, xmm0
mov ecx, dword [0x1400528e0]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movd xmm3, eax
cvtdq2pd xmm3, xmm3
movaps xmm0, xmm3
subsd xmm0, xmm2
movsd xmm8, qword [rbp + 0x250]
comisd xmm8, xmm0
jb 0x14000ce27
addsd xmm3, xmm2
comisd xmm3, xmm8
jb 0x14000ce27
movaps xmm0, xmm1
subsd xmm0, xmm2
movsd xmm7, qword [rbp + 0x258]
comisd xmm7, xmm0
jb 0x14000ce27
addsd xmm1, xmm2
comisd xmm1, xmm7
jb 0x14000ce27
cmp byte [rsp + 0x56], 0
je 0x14000ccc6
mov rax, qword [0x1400528c8]
mov rax, qword [rax + 0x40b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140014cf0
mov r10, rax
mov rcx, qword [0x1400528c8]
mov qword [rbp - 0x70], 0x3f800000
mov dword [rbp - 0x68], 0
movss xmm0, dword [rcx + 0x37f8]
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.1400125c0
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm8
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
movd xmm2, dword [0x1400528e0]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x1400528dc]
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x5c], xmm0
movss dword [rbp - 0x58], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x5c]
mov rcx, r10
call fcn.140031900
mov eax, dword [0x1400528dc]
mov ecx, dword [0x1400528e0]
cmp byte [rsp + 0x57], 0
je 0x14000ccda
cmp byte [rbp + 0x532], 0
je 0x14000ce27
cmp byte [rsp + 0x58], 0
je 0x14000ccee
cmp byte [rbp + 0x53b], 0
jne 0x14000ce27
test bl, bl
je 0x14000ce27
cmp byte [rsp + 0x59], 0
je 0x14000ce0d
cvtpd2ps xmm7, xmm7
cvtpd2ps xmm8, xmm8
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
cvttss2si eax, xmm9
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm2, xmm2
movss xmm9, dword [0x14004ad10]
ucomiss xmm8, xmm4
jp 0x14000cd37
je 0x14000cd92
comiss xmm8, xmm6
jbe 0x14000cd6a
movaps xmm3, xmm6
subss xmm3, xmm8
xorps xmm3, xmm9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm6
movaps xmm0, xmm6
addss xmm0, xmm6
comiss xmm1, xmm0
jbe 0x14000cd6a
xorps xmm3, xmm3
comiss xmm6, xmm8
jbe 0x14000cd92
movaps xmm3, xmm8
subss xmm3, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm6
comiss xmm4, xmm1
jbe 0x14000cd92
xorps xmm3, xmm3
ucomiss xmm7, xmm4
jp 0x14000cd99
je 0x14000cdf0
comiss xmm7, xmm5
jbe 0x14000cdca
movaps xmm2, xmm5
subss xmm2, xmm7
xorps xmm2, xmm9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm5
movaps xmm0, xmm5
addss xmm0, xmm5
comiss xmm1, xmm0
jbe 0x14000cdca
xorps xmm2, xmm2
comiss xmm5, xmm7
jbe 0x14000cdf0
movaps xmm2, xmm7
subss xmm2, xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm5
comiss xmm4, xmm1
jbe 0x14000cdf0
xorps xmm2, xmm2
cvttss2si r8d, xmm2
cvttss2si edx, xmm3
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov ecx, edi
call qword [sym.imp.USER32.dll_mouse_event]
jmp 0x14000ce27
movzx eax, byte [0x140052084]
cmp byte [rsp + 0x5a], 0
mov ecx, 0
cmovne eax, ecx
mov byte [0x140052084], al
lea rcx, [rbp + 0x530]
call fcn.1400094f0
movzx eax, byte [0x140052084]
test al, al
jne 0x14000ce4e
test bl, bl
mov ecx, 1
cmove eax, ecx
mov byte [0x140052084], al
mov rcx, qword [rbp + 0x830]
xor rcx, rsp
call fcn.140042d20
lea r11, [rsp + 0x9e0]
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