Function at 0x140038550
Capabilities:
Log keystrokes via polling
Terminate process

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 - 0x448]
sub rsp, 0x520
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 [0x140092010]
xor rax, rsp
mov qword [rbp + 0x370], rax
xor r13d, r13d
xorps xmm0, xmm0
movups xmmword [rbp + 0x358], xmm0
lea rax, [rbp + 0x448]
movabs r14, 0x7a5db90d33787107
mov qword [rbp + 0x360], r14
mov qword [rbp + 0x368], rax
mov r12, qword [rax]
xor r12, r14
mov qword [rsp + 0x78], r12
mov qword [rbp + 0x358], r12
mov qword [rax], r13
mov dword [0x1400935e0], 0x7f7fffff
mov qword [0x14013f288], r13
lea ecx, [r13 + 0x23]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038630
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xorps xmm0, xmm0
movups xmmword [rbp + 0x320], xmm0
lea r15, [rbp + 0x448]
mov qword [rbp + 0x328], r14
mov qword [rbp + 0x330], r15
mov rsi, qword [r15]
mov rax, rsi
xor rax, r14
mov qword [rbp + 0x320], rax
mov qword [r15], r13
mov rax, qword [0x14013f3d8]
mov rcx, qword [rax]
add rcx, 0x110
call fcn.14003ec30
mov rdi, rax
mov rcx, qword [0x14013f3d8]
mov rcx, qword [rcx]
add rcx, 0x120
call fcn.14003ec30
mov rbx, rax
mov rcx, rax
call fcn.14003f0d0
movaps xmm9, xmm0
lea rcx, [rbx + 0x20]
call fcn.14003f0d0
movaps xmm8, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14003f0d0
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
mulsd xmm0, qword [0x14008b338]
movsd qword [0x14013f440], xmm0
movsd xmm7, qword [0x14008b408]
mulsd xmm9, xmm7
movaps xmm1, xmm8
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
mulsd xmm0, qword [0x14008b338]
mulsd xmm0, xmm7
mulsd xmm0, xmm7
movsd qword [0x14013f448], xmm0
xorps xmm6, xmm6
movsd qword [rbp + 0x130], xmm6
movsd qword [0x14013f450], xmm6
mov rdx, rdi
lea rcx, [rbp + 0x2a0]
call fcn.14003f300
movups xmm0, xmmword [rax]
movups xmmword [0x14013f460], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14013f470], xmm1
mov rax, qword [0x14013f3d8]
mov rcx, qword [rax + 0x30]
add rcx, 0x394
call fcn.14003e7d0
mulss xmm0, dword [0x14008b3b0]
movss dword [0x14013f3a8], xmm0
mov qword [r15], rsi
mov r15, qword [0x14013f4b0]
mov rax, qword [0x14013f4b8]
mov qword [rbp + 0x128], rax
movss xmm14, dword [0x14008b308]
cmp r15, rax
je 0x140039ee2
lea rdi, [rbp + 0x448]
xorps xmm11, xmm11
movss xmm15, dword [0x14008b2bc]
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2c8], r14
mov qword [rbp + 0x2d0], rdi
mov r13, qword [rdi]
xor r13, r14
mov qword [rbp + 0x2c0], r13
mov qword [rdi], r12
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x2a0]
call fcn.140036df0
movups xmm6, xmmword [rbp + 0x2a0]
movaps xmmword [rbp + 0x280], xmm6
movsd xmm7, qword [rbp + 0x2b0]
movsd qword [rbp + 0x290], xmm7
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x250]
call fcn.140036fb0
movsd xmm12, qword [rax]
movsd qword [rbp + 0x110], xmm12
movsd xmm13, qword [rax + 8]
movsd qword [rbp + 0x118], xmm13
mov r8d, 0x6d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x2e0]
call fcn.140036df0
mov r8d, 0x6d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x260]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x2a0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x2b0], xmm1
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x150]
call fcn.140036fb0
movsd xmm10, qword [rax]
movsd xmm8, qword [rax + 8]
mov rbx, qword [0x14013f3d8]
movaps xmm0, xmm6
unpckhpd xmm0, xmm6
subsd xmm0, qword [rbx + 0x80]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm9, xmm0
subsd xmm6, qword [rbx + 0x78]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm9, xmm0
subsd xmm7, qword [rbx + 0x88]
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm9, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm9
ja 0x1400388f9
xorps xmm0, xmm0
sqrtss xmm0, xmm9
jmp 0x140038902
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x14008b340]
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
movss dword [rsp + 0x70], xmm9
mov rsi, qword [0x14013f418]
cmp byte [rsi + 0x1c], 0
je 0x1400389ba
mov rbx, qword [rdi]
mov qword [rdi], r12
mov eax, dword [rsi + 8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm2, xmm10
subsd xmm2, xmm0
mov eax, dword [rsi + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm8
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x140038986
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x14003898e
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [rsi + 0x24]
comiss xmm1, xmm0
jbe 0x1400389b7
movss xmm1, dword [0x1400935e0]
comiss xmm1, xmm0
jbe 0x1400389b7
movss dword [0x1400935e0], xmm0
mov rax, qword [r15]
mov qword [0x14013f288], rax
mov qword [rdi], rbx
cmp byte [rsi + 0x3d], 0
je 0x140038a19
xorps xmm0, xmm0
movups xmmword [rbp + 0x2e0], xmm0
mov qword [rbp + 0x2e8], r14
mov qword [rbp + 0x2f0], rdi
mov rbx, qword [rdi]
mov rax, rbx
xor rax, r14
mov qword [rbp + 0x2e0], rax
mov qword [rdi], r12
mov rdx, qword [r15 + 8]
call fcn.140036d40
test al, al
je 0x140038a01
movaps xmm0, xmmword [0x14008b560]
jmp 0x140038a08
movaps xmm0, xmmword [0x14008b550]
movups xmmword [0x14013f2f0], xmm0
mov qword [rdi], rbx
mov rsi, qword [0x14013f418]
cmp byte [rsi + 0x13], 0
je 0x140038c36
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x288], r14
mov qword [rbp + 0x290], rdi
mov rbx, qword [rdi]
xor rbx, r14
mov qword [rbp + 0x280], rbx
mov qword [rdi], r12
mov r8, qword [r15 + 0x18]
lea rdx, [rbp + 0x338]
call fcn.1400375e0
nop
lea rax, [rbp + 0x338]
cmp qword [rbp + 0x350], 0x10
cmovae rax, qword [rbp + 0x338]
mov rdi, qword [0x14013f268]
test rax, rax
jne 0x140038a85
movaps xmm6, xmm11
jmp 0x140038ada
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14008b400]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14008b3f4]
movss xmm2, dword [rdi + 0x3c08]
lea rdx, [rbp - 0x60]
mov rcx, qword [rdi + 0x3c00]
call fcn.14002a160
movss xmm0, dword [rbp - 0x60]
addss xmm0, dword [0x14008b2e8]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp - 0x60], xmm6
mov rax, qword [rdi + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r11, rax
lea r8, [rbp + 0x338]
mov r9, qword [rbp + 0x338]
mov r10, qword [rbp + 0x350]
cmp r10, 0x10
cmovae r8, r9
lea rcx, [0x14013f2f0]
call fcn.1400031f0
mov edx, eax
mulss xmm6, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
movaps xmm1, xmm10
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x58], xmm0
movaps xmm2, xmm8
subsd xmm2, qword [0x14008b328]
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x54], xmm0
test eax, 0xff000000
je 0x140038bd2
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x140038b64
add rcx, r8
cmp r8, rcx
je 0x140038bd2
mov rax, qword [r11 + 0x38]
movups xmm0, xmmword [r11 + 0x88]
movups xmmword [rbp + 0x2e0], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp + 0x2e0]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
lea r9, [rbp - 0x58]
movss xmm2, dword [rax + 0x10]
mov rdx, r11
mov rcx, qword [rax + 8]
call fcn.14002a380
mov r10, qword [rbp + 0x350]
mov r9, qword [rbp + 0x338]
cmp r10, 0x10
jb 0x140038c09
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140038c01
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ec6
mov rcx, r9
call fcn.1400400cc
mov qword [rbp + 0x348], r12
mov qword [rbp + 0x350], 0xf
mov byte [rbp + 0x338], 0
xor rbx, r14
lea rdi, [rbp + 0x448]
mov qword [rdi], rbx
mov rsi, qword [0x14013f418]
cmp byte [rsi + 0x16], 0
je 0x140038d25
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x288], r14
mov qword [rbp + 0x290], rdi
mov rbx, qword [rdi]
mov rax, rbx
xor rax, r14
mov qword [rbp + 0x280], rax
mov qword [rdi], r12
mov byte [rsi + 0x12], 0
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0x2e0]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x2a0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x2b0], xmm1
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x160]
call fcn.140036fb0
movaps xmm0, xmm8
subsd xmm0, qword [rax + 8]
movsd xmm6, qword [0x14008b650]
andps xmm0, xmm6
cvtpd2ps xmm1, xmm0
movaps xmm2, xmm1
mulss xmm2, dword [0x14008b2ac]
movups xmm0, xmmword [0x14013f2f0]
movdqa xmmword [rbp + 0x2e0], xmm0
cvttsd2si r12d, xmm8
cvttss2si eax, xmm1
cvttss2si r9d, xmm2
mulss xmm2, xmm15
cvtps2pd xmm0, xmm2
movaps xmm1, xmm10
subsd xmm1, xmm0
cvttsd2si edx, xmm1
lea rcx, [rbp + 0x2e0]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, r12d
call fcn.140037a60
nop
mov qword [rdi], rbx
mov rsi, qword [0x14013f418]
jmp 0x140038d32
cvttsd2si r12d, xmm8
movsd xmm6, qword [0x14008b650]
cmp byte [rsi + 0x12], 0
je 0x140038eba
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x288], r14
mov qword [rbp + 0x290], rdi
mov rdi, qword [rdi]
mov rax, rdi
xor rax, r14
mov qword [rbp + 0x280], rax
lea rax, [rbp + 0x448]
mov qword [rax], 0
mov byte [rsi + 0x16], 0
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x2a0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x2b0], xmm1
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x170]
call fcn.140036fb0
subsd xmm8, qword [rax + 8]
andps xmm8, xmm6
cvtpd2ps xmm7, xmm8
movaps xmm6, xmm7
mulss xmm6, dword [0x14008b2ac]
movups xmm0, xmmword [0x14013f2f0]
movdqa xmmword [rbp + 0x2e0], xmm0
movaps xmm1, xmm6
mulss xmm1, xmm15
cvtps2pd xmm0, xmm1
subsd xmm10, xmm0
cvttsd2si ebx, xmm10
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2a8], r14
lea rsi, [rbp + 0x448]
mov qword [rbp + 0x2b0], rsi
mov rax, qword [rsi]
xor rax, r14
mov qword [rbp + 0x2a0], rax
mov qword [rsi], 0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [rbp + 0x2e0]
call fcn.1400031f0
cvttss2si ecx, xmm6
add ecx, ebx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
cvttss2si ecx, xmm7
add ecx, r12d
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x4c], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x48], xmm1
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x44], xmm0
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov rcx, r10
call fcn.140026010
nop
mov qword [rsi], rdi
mov rsi, qword [0x14013f418]
lea rdi, [rbp + 0x448]
xor r12d, r12d
cmp byte [rsi + 0x11], r12b
je 0x140039950
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2a8], r14
mov qword [rbp + 0x2b0], rdi
mov rbx, qword [rdi]
mov rax, rbx
xor rax, r14
mov qword [rbp + 0x2a0], rax
mov qword [rdi], r12
lea r8d, [r12 + 0x43]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x180]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xa8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xb0], xmm0
lea r8d, [r12 + 9]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x190]
call fcn.140036fb0
movsd xmm8, qword [rax]
movsd xmm9, qword [rax + 8]
lea r8d, [r12 + 0xa]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1a0]
call fcn.140036fb0
movsd xmm14, qword [rax]
movsd xmm15, qword [rax + 8]
lea r8d, [r12 + 0xb]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1b0]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x138], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0x140], xmm0
lea r8d, [r12 + 0x26]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1c0]
call fcn.140036fb0
movsd xmm6, qword [rax]
movsd xmm7, qword [rax + 8]
lea r8d, [r12 + 0x27]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1d0]
call fcn.140036fb0
movsd xmm12, qword [rax]
movsd xmm13, qword [rax + 8]
lea r8d, [r12 + 0x28]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1e0]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x148], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0x90], xmm0
lea r8d, [r12 + 2]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1f0]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x98], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xa0], xmm0
lea r8d, [r12 + 0x47]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x200]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xb8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xc0], xmm0
lea r8d, [r12 + 0x48]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x210]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xc8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xd0], xmm0
lea r8d, [r12 + 0x49]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x220]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xd8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xe0], xmm0
lea r8d, [r12 + 0x4e]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x230]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xe8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0xf0], xmm0
lea r8d, [r12 + 0x4f]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x240]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0xf8], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0x100], xmm0
lea r8d, [r12 + 0x52]
mov rdx, qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.140036df0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x290], xmm1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x320]
call fcn.140036fb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x108], xmm0
movsd xmm0, qword [rax + 8]
movsd qword [rbp + 0x2e0], xmm0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
cvtpd2ps xmm11, xmm6
movss dword [rbp - 0x40], xmm11
cvtpd2ps xmm10, xmm7
movss dword [rbp - 0x3c], xmm10
cvtpd2ps xmm7, xmm8
movss dword [rbp - 0x38], xmm7
cvtpd2ps xmm6, xmm9
movss dword [rbp - 0x34], xmm6
movss xmm0, dword [0x14008b308]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
cvtpd2ps xmm9, xmm14
movss dword [rbp - 0x30], xmm9
cvtpd2ps xmm8, xmm15
movss dword [rbp - 0x2c], xmm8
movss dword [rbp - 0x28], xmm7
movss dword [rbp - 0x24], xmm6
movss xmm14, dword [0x14008b308]
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm0, qword [rbp + 0x138]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
movsd xmm1, qword [rbp + 0x140]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x18], xmm9
movss dword [rbp - 0x14], xmm8
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
cvtpd2ps xmm7, xmm12
movss dword [rbp - 0x10], xmm7
cvtpd2ps xmm6, xmm13
movss dword [rbp - 0xc], xmm6
movss dword [rbp - 8], xmm11
movss dword [rbp - 4], xmm10
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm0, qword [rbp + 0x148]
cvtpd2ps xmm0, xmm0
movss dword [rbp], xmm0
movsd xmm1, qword [rbp + 0x90]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 4], xmm1
movss dword [rbp + 8], xmm7
movss dword [rbp + 0xc], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 8]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm11, qword [rbp + 0x98]
cvtpd2ps xmm11, xmm11
movss dword [rbp + 0x80], xmm11
movsd xmm10, qword [rbp + 0xa0]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x84], xmm10
movsd xmm0, qword [rbp + 0xa8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x78], xmm0
movsd xmm1, qword [rbp + 0xb0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x7c], xmm1
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x78]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm8, qword [rbp + 0xb8]
cvtpd2ps xmm8, xmm8
movss dword [rbp + 0x88], xmm8
movsd xmm6, qword [rbp + 0xc0]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x8c], xmm6
movss dword [rbp + 0x10], xmm11
movss dword [rbp + 0x14], xmm10
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x10]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm9, qword [rbp + 0xc8]
cvtpd2ps xmm9, xmm9
movss dword [rbp + 0x18], xmm9
movsd xmm7, qword [rbp + 0xd0]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1c], xmm7
movss dword [rbp + 0x20], xmm8
movss dword [rbp + 0x24], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x20]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm0, qword [rbp + 0xd8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm0
movsd xmm1, qword [rbp + 0xe0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x2c], xmm1
movss dword [rbp + 0x30], xmm9
movss dword [rbp + 0x34], xmm7
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm8, qword [rbp + 0xe8]
cvtpd2ps xmm8, xmm8
movss dword [rbp + 0x38], xmm8
movsd xmm6, qword [rbp + 0xf0]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x3c], xmm6
movss dword [rbp + 0x40], xmm11
movss dword [rbp + 0x44], xmm10
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm9, qword [rbp + 0xf8]
cvtpd2ps xmm9, xmm9
movss dword [rbp + 0x48], xmm9
movsd xmm7, qword [rbp + 0x100]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x4c], xmm7
movss dword [rbp + 0x50], xmm8
movss dword [rbp + 0x54], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, r10
call fcn.140025eb0
mov rax, qword [0x14013f268]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r10, rax
lea rcx, [0x14013f2f0]
call fcn.1400031f0
movsd xmm0, qword [rbp + 0x108]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x58], xmm0
movsd xmm1, qword [rbp + 0x2e0]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x5c], xmm1
movss dword [rbp + 0x60], xmm9
movss dword [rbp + 0x64], xmm7
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov rcx, r10
call fcn.140025eb0
nop
mov qword [rdi], rbx
mov rsi, qword [0x14013f418]
xorps xmm11, xmm11
movsd xmm12, qword [rbp + 0x110]
movsd xmm13, qword [rbp + 0x118]
movss xmm15, dword [0x14008b2bc]
movss xmm9, dword [rsp + 0x70]
cmp byte [rsi + 0x14], 0
je 0x140039d35
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2a8], r14
mov qword [rbp + 0x2b0], rdi
mov rsi, qword [rdi]
xor rsi, r14
mov qword [rbp + 0x2a0], rsi
mov qword [rdi], r12
cvttss2si edx, xmm9
lea rcx, [rbp - 0x80]
call fcn.14003e540
nop
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rbx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
lea rcx, [0x140043706]
cmp rcx, rbx
jbe 0x1400399c5
lea rax, [r8 + rbx]
cmp rcx, rax
ja 0x1400399c5
cmp rbx, rcx
jbe 0x1400399c5
mov rdi, rbx
sub rdi, rcx
jmp 0x1400399c8
mov rdi, r12
inc r8
mov rdx, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [0x140043706]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8, rdi
neg r8
lea rdx, [0x140043706]
add rdx, rdi
lea rcx, [rbx + rdi]
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rsp + 0x60], xmm1
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140039a63
lea rax, [rcx + 1]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x50]
mov word [rax + rcx], 0x6d
lea rax, [rsp + 0x50]
jmp 0x140039a7b
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.14003f950
xorps xmm0, xmm0
movups xmmword [rbp + 0x300], xmm0
mov qword [rbp + 0x310], r12
mov qword [rbp + 0x318], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x300], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x310], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140039af4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039aef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ecd
call fcn.1400400cc
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140039b42
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039b3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ed4
call fcn.1400400cc
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
lea rax, [rbp + 0x300]
cmp qword [rbp + 0x318], 0x10
cmovae rax, qword [rbp + 0x300]
mov rbx, qword [0x14013f268]
test rax, rax
jne 0x140039b7b
movaps xmm6, xmm11
jmp 0x140039bd0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14008b400]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14008b3f4]
movss xmm2, dword [rbx + 0x3c08]
lea rdx, [rbp + 0x68]
mov rcx, qword [rbx + 0x3c00]
call fcn.14002a160
movss xmm0, dword [rbp + 0x68]
addss xmm0, dword [0x14008b2e8]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x68], xmm6
mov rax, qword [rbx + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006780
mov r11, rax
lea r8, [rbp + 0x300]
mov r9, qword [rbp + 0x300]
mov r10, qword [rbp + 0x318]
cmp r10, 0x10
cmovae r8, r9
lea rcx, [0x14013f2f0]
call fcn.1400031f0
mov edx, eax
mulss xmm6, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
subsd xmm12, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm12
movss dword [rbp + 0x70], xmm0
addsd xmm13, qword [0x14008b310]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm13
movss dword [rbp + 0x74], xmm0
test eax, 0xff000000
je 0x140039cce
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x140039c60
add rcx, r8
cmp r8, rcx
je 0x140039cce
mov rax, qword [r11 + 0x38]
movups xmm0, xmmword [r11 + 0x88]
movups xmmword [rbp + 0x118], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp + 0x118]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
lea r9, [rbp + 0x70]
movss xmm2, dword [rax + 0x10]
mov rdx, r11
mov rcx, qword [rax + 8]
call fcn.14002a380
mov r10, qword [rbp + 0x318]
mov r9, qword [rbp + 0x300]
cmp r10, 0x10
jb 0x140039d05
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140039cfd
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039edb
mov rcx, r9
call fcn.1400400cc
mov qword [rbp + 0x310], r12
mov qword [rbp + 0x318], 0xf
mov byte [rbp + 0x300], 0
mov rax, r14
xor rax, rsi
lea rdi, [rbp + 0x448]
mov qword [rdi], rax
mov rsi, qword [0x14013f418]
mov rax, r14
xor rax, r13
mov qword [rdi], rax
add r15, 0x28
cmp r15, qword [rbp + 0x128]
jne 0x1400387a1
movsd xmm6, qword [rbp + 0x130]
mov r12, qword [rsp + 0x78]
xor r13d, r13d
cmp byte [rsi + 0x30], 0
je 0x14003a05b
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
lea r15, [rbp + 0x448]
mov qword [rbp + 0x2a8], r14
mov qword [rbp + 0x2b0], r15
mov rdi, qword [r15]
xor rdi, r14
mov qword [rbp + 0x2a0], rdi
mov qword [r15], r13
mov rcx, qword [0x14013f288]
test rcx, rcx
je 0x14003a03f
cmp byte [rsi + 0x1c], 0
je 0x14003a03f
add rcx, 0x318
call fcn.14003ec30
mov rsi, rax
mov rcx, qword [0x14013f3d8]
mov rcx, qword [rcx + 0x20]
add rcx, 0x948
call fcn.14003ec30
lea rcx, [rax + 0x1588]
call fcn.14003e7d0
movaps xmm11, xmm0
mov r8d, 0x43
mov rdx, rsi
lea rcx, [rbp + 0x280]
call fcn.140036df0
movups xmm8, xmmword [rbp + 0x280]
movaps xmmword [rbp + 0x2c0], xmm8
movsd xmm10, qword [rbp + 0x290]
movsd qword [rbp + 0x2d0], xmm10
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x320]
call fcn.140036fb0
movaps xmm9, xmm8
unpckhpd xmm9, xmm8
ucomisd xmm8, xmm6
jp 0x140039f0f
jne 0x140039f0f
ucomisd xmm9, xmm6
jp 0x140039e59
je 0x14003a050
mov rbx, qword [0x14013f418]
mov eax, dword [rbx + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [rbx + 8]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2pd xmm7, xmm7
xorps xmm2, xmm2
movss xmm2, xmm14
subsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm2
call fcn.140040f30
movaps xmm6, xmm0
subsd xmm7, xmm8
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140039eee
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140039ef6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rsi, qword [0x14013f418]
jmp 0x140039d5f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [rbx + 0x24]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x14003a050
mov rbx, qword [0x14013f3d8]
movaps xmm0, xmm9
subsd xmm0, qword [rbx + 0x80]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm0, xmm8
subsd xmm0, qword [rbx + 0x78]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movaps xmm2, xmm10
subsd xmm2, qword [rbx + 0x88]
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140039f7a
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140039f82
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
lea rcx, [rsi + 0x190]
call fcn.14003ec30
lea rdx, [rax + 0x170]
lea rcx, [rbp + 0x280]
call fcn.14003f300
movsd xmm3, qword [rbp + 0x280]
divss xmm6, xmm11
cvtps2pd xmm1, xmm6
movsd xmm2, qword [rbp + 0x290]
mulsd xmm2, xmm1
addsd xmm2, xmm10
movsd xmm0, qword [rbp + 0x288]
mulsd xmm0, xmm1
addsd xmm0, xmm9
mulsd xmm3, xmm1
addsd xmm3, xmm8
movsd qword [rbp + 0x2c0], xmm3
movsd qword [rbp + 0x2c8], xmm0
movsd qword [rbp + 0x2d0], xmm2
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x320]
call fcn.140036fb0
movsd xmm6, qword [rax]
movsd xmm7, qword [rax + 8]
mov rcx, qword [0x14013f418]
mov ecx, dword [rcx + 0x34]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003a050
cvtpd2ps xmm2, xmm7
cvtpd2ps xmm1, xmm6
call fcn.1400372f0
jmp 0x14003a050
mov dword [0x1400935e0], 0x7f7fffff
mov qword [0x14013f288], r13
xor rdi, r14
mov qword [r15], rdi
jmp 0x14003a21f
mov rcx, qword [0x14013f288]
test rcx, rcx
je 0x14003a20e
cmp byte [rsi + 0x1c], 0
je 0x14003a20e
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
lea r15, [rbp + 0x448]
mov qword [rbp + 0x2a8], r14
mov qword [rbp + 0x2b0], r15
mov rbx, qword [r15]
xor rbx, r14
mov qword [rbp + 0x2a0], rbx
mov qword [r15], r13
add rcx, 0x318
call fcn.14003ec30
mov rsi, rax
mov rcx, qword [0x14013f3d8]
mov rcx, qword [rcx + 0x20]
add rcx, 0x948
call fcn.14003ec30
lea rcx, [rax + 0x1588]
call fcn.14003e7d0
mov r8d, 0x43
mov rdx, rsi
lea rcx, [rbp + 0x280]
call fcn.140036df0
movups xmm8, xmmword [rbp + 0x280]
movaps xmmword [rbp + 0x2c0], xmm8
movsd xmm0, qword [rbp + 0x290]
movsd qword [rbp + 0x2d0], xmm0
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x320]
call fcn.140036fb0
movsd xmm9, qword [rax]
movsd xmm10, qword [rax + 8]
ucomisd xmm8, xmm6
jp 0x14003a1d5
jne 0x14003a1d5
movaps xmm3, xmm8
unpckhpd xmm3, xmm8
ucomisd xmm3, xmm6
jp 0x14003a14f
je 0x14003a206
mov rdi, qword [0x14013f418]
mov eax, dword [rdi + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mov eax, dword [rdi + 8]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2pd xmm7, xmm7
xorps xmm1, xmm1
movss xmm1, xmm14
subsd xmm2, xmm3
cvtpd2ps xmm0, xmm2
call fcn.140040f30
movaps xmm6, xmm0
subsd xmm7, xmm8
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14003a1b8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14003a1c0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [rdi + 0x24]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x14003a206
mov rdx, rsi
call fcn.140036d40
test al, al
je 0x14003a206
mov rcx, qword [0x14013f418]
mov ecx, dword [rcx + 0x34]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003a206
cvtpd2ps xmm2, xmm10
cvtpd2ps xmm1, xmm9
call fcn.1400372f0
nop
xor rbx, r14
mov qword [r15], rbx
jmp 0x14003a21f
mov dword [0x1400935e0], 0x7f7fffff
mov qword [0x14013f288], r13
xor r14, r12
lea rax, [rbp + 0x448]
mov qword [rax], r14
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.14003fe60
lea r11, [rsp + 0x520]
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