Function at 0x140037830
Capabilities:
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 - 0x4c8]
sub rsp, 0x5a0
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 [0x14004c028]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
movss xmm6, dword [0x140042e38]
cmp byte [0x14004c5dc], 0
je 0x140037995
mov r8, qword [0x14004d380]
mov eax, dword [0x14004c11c]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm4, qword [0x140042eb0]
divsd xmm0, xmm4
cvtpd2ps xmm5, xmm0
mov eax, dword [0x14004c118]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
mov eax, dword [0x14004c114]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, xmm4
cvtpd2ps xmm2, xmm1
mov eax, dword [0x14004c110]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm2
movss dword [rbp + 0x90], xmm3
movss dword [rbp + 0x94], xmm5
lea rcx, [rbp + 0x88]
call fcn.140002c80
movd xmm0, dword [0x14004d420]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movd xmm1, dword [0x14004d390]
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x74], xmm1
movd xmm2, dword [0x14004c058]
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x28], xmm6
mov r9d, eax
lea rdx, [rsp + 0x70]
lea rcx, [r8 + 0x1cc8]
call fcn.14001ea30
cmp byte [0x14004d549], 0
je 0x140037a4c
mov r10, qword [0x14004d380]
movaps xmm0, xmmword [0x1400430b0]
movups xmmword [rbp + 0x88], xmm0
lea rcx, [rbp + 0x88]
call fcn.140002c80
mov r8d, dword [0x14004c058]
lea ecx, [r8 + 0x21c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea ecx, [r8 + 0x3c0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
mov edx, 0x21c
sub edx, r8d
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mov edx, 0x3c0
sub edx, r8d
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 2
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [r10 + 0x1cc8]
call fcn.14001e3f0
mov eax, dword [0x14004d568]
test eax, eax
jne 0x140037a62
mov dword [0x14004d56c], 0x42
jmp 0x140037a93
cmp eax, 1
jne 0x140037a73
mov dword [0x14004d56c], 0x41
jmp 0x140037a93
cmp eax, 2
jne 0x140037a84
mov dword [0x14004d56c], 0x24
jmp 0x140037a93
cmp eax, 3
jne 0x140037a93
mov dword [0x14004d56c], 2
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x150], xmm0
xor r12d, r12d
mov qword [rbp + 0x160], r12
mov rcx, qword [0x14004d5b0]
sub rcx, qword [0x14004d5a8]
movabs rsi, 0x2aaaaaaaaaaaaaab
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140037b94
movabs rax, 0xaaaaaaaaaaaaaaa
cmp rdx, rax
ja 0x140039c5f
lea rax, [rdx + rdx*2]
lea rbx, [rax*8]
cmp rbx, 0x1000
jb 0x140037b2e
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140039c65
call fcn.14003c8dc
test rax, rax
je 0x140037b27
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140037b43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rbx, rbx
je 0x140037b40
mov rcx, rbx
call fcn.14003c8dc
mov rdi, rax
jmp 0x140037b43
mov rdi, r12
mov qword [rbp + 0x150], rdi
lea rcx, [rdi + rbx]
mov qword [rbp + 0x160], rcx
mov rbx, qword [0x14004d5b0]
mov rdx, qword [0x14004d5a8]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov rax, rsi
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
lea rcx, [rdi + rax*8]
mov qword [rbp + 0x158], rcx
movss xmm7, dword [0x140042f08]
movss dword [rsp + 0x60], xmm7
mov rdi, r12
mov qword [rsp + 0x48], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x330], xmm0
mov qword [rbp + 0x340], r12
mov rdx, qword [0x14004d448]
add rdx, 0xe7b9a48
mov r9d, 8
lea r8, [rsp + 0x68]
call fcn.140031e90
mov rax, qword [rsp + 0x68]
mov qword [0x14004d488], rax
lea rdx, [rax + 0x1b8]
mov r9d, 8
lea r8, [rsp + 0x78]
call fcn.140031e90
mov rdx, qword [rsp + 0x78]
add rdx, 0x38
mov r9d, 8
lea r8, [rsp + 0x68]
call fcn.140031e90
mov r9d, 8
lea r8, [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
call fcn.140031e90
mov rax, qword [rsp + 0x78]
mov qword [0x14004d470], rax
lea rdx, [rax + 0x30]
mov r9d, 8
lea r8, [rsp + 0x68]
call fcn.140031e90
mov rax, qword [rsp + 0x68]
mov qword [0x14004d388], rax
lea rdx, [rax + 0x338]
mov r9d, 8
lea r8, [rsp + 0x78]
call fcn.140031e90
mov rax, qword [rsp + 0x78]
mov qword [0x14004d438], rax
lea rdx, [rax + 0x2b0]
mov r9d, 8
lea r8, [rsp + 0x68]
call fcn.140031e90
mov rax, qword [rsp + 0x68]
mov qword [0x14004d428], rax
mov rdx, qword [0x14004d438]
add rdx, 0x198
mov r9d, 8
lea r8, [rsp + 0x78]
call fcn.140031e90
mov rax, qword [rsp + 0x78]
mov qword [0x14004d480], rax
mov rdx, qword [0x14004d488]
add rdx, 0x30
mov r9d, 8
lea r8, [rsp + 0x68]
call fcn.140031e90
mov rax, qword [rsp + 0x68]
mov qword [0x14004d458], rax
lea rdx, [rax + 0xa0]
mov r9d, 4
lea r8, [rsp + 0x50]
call fcn.140031e90
mov r15d, dword [rsp + 0x50]
mov dword [rbp - 0x80], r15d
mov rdx, qword [0x14004d458]
add rdx, 0x98
mov r9d, 8
lea r8, [rbp + 0x170]
call fcn.140031e90
mov rbx, qword [rbp + 0x170]
mov qword [rsp + 0x40], rbx
mov r14d, r12d
mov dword [rsp + 0x50], r12d
test r15d, r15d
je 0x140039995
movabs r13, 0x7fffffffffffffff
movss xmm11, dword [0x140042e5c]
nop
mov rdx, qword [0x14004d438]
add rdx, 0x948
mov r9d, 8
lea r8, [rbp + 0x88]
call fcn.140031e90
movsxd rax, r14d
lea rdx, [rbx + rax*8]
mov r9d, 8
lea r8, [rbp + 0x1f0]
call fcn.140031e90
mov rdi, qword [rbp + 0x1f0]
mov qword [rsp + 0x70], rdi
lea rdx, [rdi + 0x318]
mov r9d, 8
lea r8, [rbp + 0x180]
call fcn.140031e90
mov rsi, qword [rbp + 0x180]
mov qword [rsp + 0x58], rsi
lea rdx, [rdi + 0x4b68]
mov r9d, 4
lea r8, [rbp + 0x64]
call fcn.140031e90
movss xmm0, dword [rbp + 0x64]
ucomiss xmm0, dword [0x140042ed0]
jp 0x14003997f
jne 0x14003997f
mov rdx, qword [0x14004d428]
add rdx, 0x10d8
mov r9d, 4
lea r8, [rbp + 0x6c]
call fcn.140031e90
mov ebx, dword [rbp + 0x6c]
lea rdx, [rdi + 0x2b0]
mov r9d, 8
lea r8, [rbp + 0x1f8]
call fcn.140031e90
mov rdx, qword [rbp + 0x1f8]
add rdx, 0x10c8
mov r9d, 4
lea r8, [rbp + 0x70]
call fcn.140031e90
cmp ebx, dword [rbp + 0x70]
je 0x14003997a
cmp rdi, qword [0x14004d438]
je 0x14003997a
mov r8d, 0x6a
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.140032ed0
mov rdx, qword [0x14004d480]
add rdx, 0x128
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
movsd qword [rbp - 0x68], xmm0
mov r9d, 0x18
lea r8, [rbp - 0x78]
call fcn.140031e90
movsd xmm1, qword [rbp - 0x78]
movsd qword [0x14004d550], xmm1
movsd xmm6, qword [rbp - 0x70]
movsd qword [0x14004d558], xmm6
movsd xmm7, qword [rbp - 0x68]
movsd qword [0x14004d560], xmm7
movsd xmm9, qword [rbp - 0x60]
movaps xmm0, xmm9
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
movsd xmm10, qword [rbp - 0x58]
movaps xmm0, xmm10
subsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
movsd xmm6, qword [rbp - 0x50]
movaps xmm1, xmm6
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x140037f37
xorps xmm14, xmm14
sqrtss xmm14, xmm8
jmp 0x140037f44
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm14, xmm0
divss xmm14, dword [0x140042ef8]
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x138]
call fcn.140032ed0
movups xmm11, xmmword [rbp + 0x138]
movaps xmmword [rbp - 0x60], xmm11
movsd xmm0, qword [rbp + 0x148]
movsd qword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x20]
call fcn.1400332c0
movaps xmm0, xmm6
addsd xmm0, qword [0x140042e80]
movsd qword [rbp - 0x60], xmm9
movsd qword [rbp - 0x58], xmm10
movsd qword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x280]
call fcn.1400332c0
movaps xmm0, xmm9
unpcklpd xmm0, xmm10
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm6
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x200]
call fcn.1400332c0
movsd xmm12, qword [rbp + 0x288]
movaps xmm0, xmm12
subsd xmm0, qword [rbp + 0x28]
andps xmm0, xmmword [0x140043110]
cvtpd2ps xmm15, xmm0
cvtps2pd xmm0, xmm15
mulsd xmm0, qword [0x140042e48]
cvtpd2ps xmm13, xmm0
cmp byte [0x14004d54a], 0
je 0x1400383b2
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140038284
mov rbx, qword [0x14004d490]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov rdx, rbx
mov ecx, dword [rbx + 0x10]
call qword [sym.imp.XINPUT1_4.dll_Ordinal_2]
mov rax, qword [rbx]
shr rax, 0x38
test al, al
jne 0x140038284
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140038160
mov rbx, qword [0x14004d490]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov rdx, rbx
mov ecx, dword [rbx + 0x10]
call qword [sym.imp.XINPUT1_4.dll_Ordinal_2]
mov rax, qword [rbx]
shr rax, 0x38
test al, al
je 0x1400383b2
mov rdx, qword [0x14004d438]
test rdx, rdx
je 0x1400383b2
cmp byte [0x14004d37b], 0
je 0x1400383b2
add rdx, 0x310
mov r9d, 8
lea r8, [rbp + 0x130]
call fcn.140031e90
movaps xmm0, xmmword [0x1400431c0]
movaps xmmword [rbp + 0x310], xmm0
xorps xmm9, xmm9
movsd qword [rbp + 0x320], xmm9
mov rbx, qword [0x14004d498]
mov eax, dword [rbx]
mov dword [rbp + 0x218], eax
lea rax, [rbp + 0x310]
mov qword [rbp + 0x228], rax
mov rax, qword [rbp + 0x130]
add rax, 0x140
mov qword [rbp + 0x220], rax
mov dword [rbp + 0x230], 0x18
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x234], eax
lea rcx, [0x14004d4a0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140039c1e
cmp dword [0x14004d4ec], 0x7fffffff
je 0x140039c08
lea rax, [rbx + 0x18]
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x350], r12d
lea rax, [rbp + 0x218]
mov qword [rbp + 0x358], rax
lea rax, [rbp + 0x178]
mov qword [rbp + 0x360], rax
mov rax, qword [rbx + 8]
movups xmm0, xmmword [rbp + 0x348]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp + 0x358]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [0x14004d4a0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov byte [0x14004d37b], 0
jmp 0x1400383b2
mov byte [0x14004d37b], 1
mov rdx, qword [0x14004d438]
test rdx, rdx
je 0x1400383b2
add rdx, 0x310
mov r9d, 8
lea r8, [rbp + 0x80]
call fcn.140031e90
mov eax, dword [0x14004d5a0]
add eax, 0x64
mov dword [0x14004d5a0], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x140042e50]
movsd qword [rbp + 0x260], xmm1
movsd qword [rbp + 0x268], xmm0
movsd qword [rbp + 0x270], xmm1
mov rbx, qword [0x14004d498]
mov eax, dword [rbx]
mov dword [rbp + 0x238], eax
lea rax, [rbp + 0x260]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x80]
add rax, 0x140
mov qword [rbp + 0x240], rax
mov dword [rbp + 0x250], 0x18
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x254], eax
lea rcx, [0x14004d4a0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140039c40
cmp dword [0x14004d4ec], 0x7fffffff
je 0x140039c2a
lea rax, [rbx + 0x18]
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x350], r12d
lea rax, [rbp + 0x238]
mov qword [rbp + 0x358], rax
lea rax, [rbp + 0x168]
mov qword [rbp + 0x360], rax
mov rax, qword [rbx + 8]
movups xmm0, xmmword [rbp + 0x348]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp + 0x358]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [0x14004d4a0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
movd xmm0, dword [0x14004c600]
cvtdq2ps xmm0, xmm0
cmp byte [0x14004d37c], 0
je 0x140039171
comiss xmm0, xmm14
jbe 0x140039071
cmp byte [0x14004c054], 0
je 0x140039071
cmp byte [0x14004d379], 0
je 0x140038991
cmp qword [0x14004d438], 0
je 0x140038991
cmp qword [0x14004d388], 0
je 0x140038991
xorps xmm0, xmm0
movups xmmword [rbp + 0x298], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x2a8], xmm1
movups xmmword [rbp + 0x2b8], xmm0
lea rdx, [rsi + 0x328]
mov r9d, 0x38
lea r8, [rbp + 0x298]
call fcn.140031e90
movups xmm2, xmmword [rbp + 0x2a8]
movaps xmm9, xmm2
movsd xmm11, qword [rbp + 0x2c0]
subsd xmm9, xmm11
movsd xmm10, qword [rbp + 0x2a0]
movups xmm6, xmmword [rbp + 0x2b8]
subsd xmm10, xmm6
movups xmm0, xmmword [rbp + 0x298]
movaps xmm8, xmm0
movaps xmm7, xmm2
unpckhpd xmm7, xmm2
subsd xmm8, xmm7
addsd xmm11, xmm2
addsd xmm6, qword [rbp + 0x2a0]
addsd xmm7, xmm0
movaps xmm0, xmm8
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xe0], xmm9
movsd qword [rbp + 0xc0], xmm9
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x10]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xe0], xmm11
movsd qword [rbp + 0xc0], xmm11
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x60]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0xc0], xmm9
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x20]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x190], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0x1a0], xmm9
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 8]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x1b0], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x1c0], xmm11
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0xf0]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x1d0], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x1e0], xmm11
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x40]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x110], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0x120], xmm9
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x78]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0xd0], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0xe0], xmm11
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x28]
call fcn.1400332c0
movsd xmm7, qword [rbp + 0x28]
movsd xmm8, qword [rbp + 0x20]
xorps xmm9, xmm9
ucomisd xmm8, xmm9
jp 0x140038644
jne 0x140038644
ucomisd xmm7, xmm9
jp 0x140038644
je 0x140038989
test rsi, rsi
je 0x1400387e2
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0x74]
call fcn.140031e90
movss xmm6, dword [rbp + 0x74]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0x78]
call fcn.140031e90
movss xmm0, dword [rbp + 0x78]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
test al, al
je 0x1400387e2
cvttsd2si esi, qword [rbp - 0x20]
cvttsd2si r14d, qword [rbp - 0x28]
cvttsd2si ebx, qword [rbp - 8]
cvttsd2si edi, qword [rbp - 0x10]
lea r13, [0x14004c280]
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si r15d, qword [rbp - 0x70]
cvttsd2si r12d, qword [rbp - 0x78]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x38]
cvttsd2si edi, qword [rbp - 0x40]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si esi, qword [rbp + 0xf8]
cvttsd2si r14d, qword [rbp + 0xf0]
cvttsd2si r15d, xmm7
cvttsd2si r12d, xmm8
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si r13d, qword [rbp + 0x10]
cvttsd2si r8d, qword [rbp + 8]
lea rcx, [0x14004c280]
mov qword [rsp + 0x20], rcx
mov r9d, r13d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x58]
cvttsd2si edi, qword [rbp - 0x60]
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp + 8]
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
cvttsd2si edx, qword [rbp - 0x20]
cvttsd2si ecx, qword [rbp - 0x28]
call fcn.140033f20
lea rsi, [0x14004c280]
jmp 0x140038926
cvttsd2si esi, qword [rbp - 0x20]
cvttsd2si r14d, qword [rbp - 0x28]
cvttsd2si ebx, qword [rbp - 8]
cvttsd2si edi, qword [rbp - 0x10]
lea r13, [0x14004c230]
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si r15d, qword [rbp - 0x70]
cvttsd2si r12d, qword [rbp - 0x78]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x38]
cvttsd2si edi, qword [rbp - 0x40]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si esi, qword [rbp + 0xf8]
cvttsd2si r14d, qword [rbp + 0xf0]
cvttsd2si r15d, xmm7
cvttsd2si r12d, xmm8
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si r13d, qword [rbp + 0x10]
cvttsd2si r8d, qword [rbp + 8]
lea rcx, [0x14004c230]
mov qword [rsp + 0x20], rcx
mov r9d, r13d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x58]
cvttsd2si edi, qword [rbp - 0x60]
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp + 8]
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
cvttsd2si edx, qword [rbp - 0x20]
cvttsd2si ecx, qword [rbp - 0x28]
call fcn.140033f20
lea rsi, [0x14004c230]
mov qword [rsp + 0x20], rsi
mov r9d, r15d
mov r8d, r12d
cvttsd2si edx, qword [rbp - 8]
cvttsd2si ecx, qword [rbp - 0x10]
call fcn.140033f20
mov qword [rsp + 0x20], rsi
mov r9d, ebx
mov r8d, edi
cvttsd2si edx, qword [rbp - 0x38]
cvttsd2si ecx, qword [rbp - 0x40]
call fcn.140033f20
mov qword [rsp + 0x20], rsi
mov r9d, r13d
cvttsd2si r8d, qword [rbp + 8]
cvttsd2si edx, qword [rbp - 0x70]
cvttsd2si ecx, qword [rbp - 0x78]
call fcn.140033f20
movabs r13, 0x7fffffffffffffff
xor r12d, r12d
mov rsi, qword [rsp + 0x58]
movups xmm11, xmmword [rbp + 0x138]
cvttss2si r15d, xmm15
movsd xmm7, qword [rbp + 0x280]
cvttss2si r14d, xmm13
movaps xmm8, xmm13
mulss xmm8, dword [0x140042e14]
cmp byte [0x14004d37e], 0
je 0x140038a11
mov dword [rsp + 0x58], 0xe7ff00
cvttsd2si edi, xmm12
cvtps2pd xmm0, xmm8
movaps xmm1, xmm7
subsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.140034260
lea rax, [0x14004c490]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.1400349e0
cmp byte [0x14004c055], 0
je 0x140038ac8
test rsi, rsi
jne 0x140038a31
cvtps2pd xmm1, xmm8
mov dword [rsp + 0x58], 0xff0000ff
jmp 0x140038a9b
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0x98]
call fcn.140031e90
movss xmm6, dword [rbp + 0x98]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0x9c]
call fcn.140031e90
movss xmm0, dword [rbp + 0x9c]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
cvtps2pd xmm1, xmm8
test al, al
jne 0x140038a93
mov dword [rsp + 0x58], 0xff0000ff
jmp 0x140038a9b
mov dword [rsp + 0x58], 0xff00ff00
movaps xmm0, xmm7
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x58]
subsd xmm0, xmm1
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
cvttsd2si edx, xmm12
cvttsd2si ecx, xmm0
call fcn.140034260
cmp byte [0x14004d37a], 0
je 0x140038b65
test rsi, rsi
jne 0x140038ae0
cvtps2pd xmm2, xmm8
jmp 0x140038b3c
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0xa0]
call fcn.140031e90
movss xmm6, dword [rbp + 0xa0]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0xa4]
call fcn.140031e90
movss xmm0, dword [rbp + 0xa4]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
cvtps2pd xmm2, xmm8
test al, al
jne 0x140038c9d
cvtpd2ps xmm1, xmm12
movaps xmm0, xmm7
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
lea rax, [0x14004c070]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm15
movaps xmm2, xmm13
call fcn.140034020
lea r15, [0x14004c0b0]
cmp byte [0x14004d37d], 0
je 0x140038f94
xorps xmm8, xmm8
cvtss2sd xmm8, xmm14
test rsi, rsi
je 0x140038dda
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0xa8]
call fcn.140031e90
movss xmm6, dword [rbp + 0xa8]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0xac]
call fcn.140031e90
movss xmm0, dword [rbp + 0xac]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
test al, al
je 0x140038dda
movaps xmm2, xmm8
movq r8, xmm2
lea rdx, str.Player___.3f
lea rcx, [rbp + 0x370]
call fcn.14003b9c0
subsd xmm12, qword [0x140042e68]
cvtpd2ps xmm1, xmm12
addsd xmm7, qword [0x140042e90]
cvtpd2ps xmm0, xmm7
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x348], xmm1
mov qword [rbp + 0x358], r12
mov qword [rbp + 0x360], r12
lea rax, [rbp + 0x370]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140038c50
cmp rbx, r13
ja 0x140039c71
mov qword [rbp + 0x360], 0xf
cmp rbx, 0x10
jae 0x140038ccb
mov qword [rbp + 0x358], rbx
mov r8, rbx
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x348]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx + 0x348], 0
jmp 0x140038d6e
cvtpd2ps xmm1, xmm12
movaps xmm0, xmm7
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
lea r15, [0x14004c0b0]
mov qword [rsp + 0x20], r15
movaps xmm3, xmm15
movaps xmm2, xmm13
call fcn.140034020
jmp 0x140038b6c
mov rdi, rbx
or rdi, 0xf
cmp rdi, r13
jbe 0x140038cea
mov rdi, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140038d11
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140038d30
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140039c6b
mov rcx, rax
call fcn.14003c8dc
test rax, rax
je 0x140038dd3
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140038d42
test rcx, rcx
je 0x140038d3f
call fcn.14003c8dc
mov r14, rax
jmp 0x140038d42
mov r14, r12
mov qword [rbp + 0x348], r14
mov qword [rbp + 0x358], rbx
mov qword [rbp + 0x360], rdi
mov r8, rbx
lea rdx, [rbp + 0x370]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [r14 + rbx], 0
movss xmm3, dword [0x140042ee4]
lea r8, [rsp + 0x78]
lea rdx, [rbp + 0x348]
mov rcx, qword [0x14004d440]
call fcn.140033600
nop
mov rdx, qword [rbp + 0x360]
cmp rdx, 0x10
jb 0x140038f94
inc rdx
mov rcx, qword [rbp + 0x348]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038f8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038f8f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm2, xmm8
movq r8, xmm2
lea rdx, str.Player___.3f
lea rcx, [rbp + 0x3b0]
call fcn.14003b9c0
subsd xmm12, qword [0x140042e68]
cvtpd2ps xmm1, xmm12
addsd xmm7, qword [0x140042e90]
cvtpd2ps xmm0, xmm7
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x348], xmm1
mov qword [rbp + 0x358], r12
mov qword [rbp + 0x360], r12
lea rax, [rbp + 0x3b0]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140038e42
cmp rbx, r13
ja 0x140039c59
mov qword [rbp + 0x360], 0xf
cmp rbx, 0x10
jae 0x140038e8f
mov qword [rbp + 0x358], rbx
mov r8, rbx
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0x348]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx + 0x348], 0
jmp 0x140038f32
mov rdi, rbx
or rdi, 0xf
cmp rdi, r13
jbe 0x140038eae
mov rdi, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140038ed5
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140038ef4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140039c53
mov rcx, rax
call fcn.14003c8dc
test rax, rax
je 0x140039c4c
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140038f06
test rcx, rcx
je 0x140038f03
call fcn.14003c8dc
mov r14, rax
jmp 0x140038f06
mov r14, r12
mov qword [rbp + 0x348], r14
mov qword [rbp + 0x358], rbx
mov qword [rbp + 0x360], rdi
mov r8, rbx
lea rdx, [rbp + 0x3b0]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [r14 + rbx], 0
movss xmm3, dword [0x140042ee4]
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x348]
mov rcx, qword [0x14004d440]
call fcn.140033600
nop
mov rdx, qword [rbp + 0x360]
cmp rdx, 0x10
jb 0x140038f94
inc rdx
mov rcx, qword [rbp + 0x348]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038f8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039c4c
call fcn.14003c864
cmp byte [0x14004d37f], 0
je 0x140039052
test rsi, rsi
je 0x140039010
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0x40]
call fcn.140031e90
movss xmm6, dword [rbp + 0x40]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0x54]
call fcn.140031e90
movss xmm0, dword [rbp + 0x54]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
test al, al
je 0x140039010
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov qword [rsp + 0x20], r15
jmp 0x140039037
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
lea rax, [0x14004c070]
mov qword [rsp + 0x20], rax
movaps xmm0, xmm11
unpckhpd xmm0, xmm11
cvttsd2si r9d, xmm0
cvttsd2si r8d, xmm11
mov edx, r10d
call fcn.140033f20
cmp byte [0x14004d548], 0
je 0x140039063
mov rcx, rsi
call fcn.140037210
mov r15d, dword [rbp - 0x80]
mov r14d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x70]
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x200]
subsd xmm2, xmm0
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x208]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x1400390d0
xorps xmm7, xmm7
sqrtss xmm7, xmm3
jmp 0x1400390db
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
test rsi, rsi
je 0x140039971
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0x44]
call fcn.140031e90
movss xmm6, dword [rbp + 0x44]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0x48]
call fcn.140031e90
movss xmm0, dword [rbp + 0x48]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
test al, al
je 0x140039971
movd xmm0, dword [0x14004c058]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x140039971
movss xmm6, dword [rsp + 0x60]
movss xmm11, dword [0x140042e5c]
mov rbx, qword [rsp + 0x40]
comiss xmm6, xmm7
jbe 0x14003997f
movss dword [rsp + 0x60], xmm7
mov qword [rsp + 0x48], rdi
jmp 0x140039984
comiss xmm0, xmm14
jbe 0x14003986c
cmp byte [0x14004c054], 0
je 0x14003986c
cmp byte [0x14004d379], 0
je 0x14003971e
cmp qword [0x14004d438], 0
je 0x14003971e
cmp qword [0x14004d388], 0
je 0x14003971e
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x2e0], xmm1
movups xmmword [rbp + 0x2f0], xmm0
lea rdx, [rsi + 0x328]
mov r9d, 0x38
lea r8, [rbp + 0x2d0]
call fcn.140031e90
movups xmm2, xmmword [rbp + 0x2e0]
movaps xmm9, xmm2
movsd xmm11, qword [rbp + 0x2f8]
subsd xmm9, xmm11
movsd xmm10, qword [rbp + 0x2d8]
movups xmm6, xmmword [rbp + 0x2f0]
subsd xmm10, xmm6
movups xmm0, xmmword [rbp + 0x2d0]
movaps xmm8, xmm0
movaps xmm7, xmm2
unpckhpd xmm7, xmm2
subsd xmm8, xmm7
addsd xmm11, xmm2
addsd xmm6, qword [rbp + 0x2d8]
addsd xmm7, xmm0
movaps xmm0, xmm8
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0x30], xmm9
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 8]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x30], xmm11
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xf0]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0x30], xmm9
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xb0]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0xd0], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0xe0], xmm9
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x10]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x110], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x120], xmm11
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x60]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x1d0], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x1e0], xmm11
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x40]
call fcn.1400332c0
movaps xmm0, xmm7
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x1b0], xmm0
movsd qword [rbp + 0x358], xmm9
movsd qword [rbp + 0x1c0], xmm9
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp - 0x28]
call fcn.1400332c0
movaps xmm0, xmm8
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x190], xmm0
movsd qword [rbp + 0x358], xmm11
movsd qword [rbp + 0x1a0], xmm11
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x78]
call fcn.1400332c0
movsd xmm7, qword [rbp + 0xb8]
movsd xmm8, qword [rbp + 0xb0]
xorps xmm9, xmm9
ucomisd xmm8, xmm9
jp 0x1400393d9
jne 0x1400393d9
ucomisd xmm7, xmm9
jp 0x1400393d9
je 0x14003971e
test rsi, rsi
je 0x140039577
lea rdx, [rsi + 0x360]
mov r9d, 4
lea r8, [rbp + 0x4c]
call fcn.140031e90
movss xmm6, dword [rbp + 0x4c]
lea rdx, [rsi + 0x368]
mov r9d, 4
lea r8, [rbp + 0x50]
call fcn.140031e90
movss xmm0, dword [rbp + 0x50]
addss xmm0, dword [0x140042df0]
comiss xmm0, xmm6
setae al
test al, al
je 0x140039577
cvttsd2si esi, qword [rbp - 0x70]
cvttsd2si r14d, qword [rbp - 0x78]
cvttsd2si ebx, qword [rbp + 0x10]
cvttsd2si edi, qword [rbp + 8]
lea r13, [0x14004c280]
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si r15d, qword [rbp - 0x20]
cvttsd2si r12d, qword [rbp - 0x28]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x38]
cvttsd2si edi, qword [rbp - 0x40]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si esi, qword [rbp - 0x58]
cvttsd2si r14d, qword [rbp - 0x60]
cvttsd2si r15d, xmm7
cvttsd2si r12d, xmm8
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si r13d, qword [rbp - 8]
cvttsd2si r8d, qword [rbp - 0x10]
lea rcx, [0x14004c280]
mov qword [rsp + 0x20], rcx
mov r9d, r13d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si ebx, qword [rbp + 0xf8]
cvttsd2si edi, qword [rbp + 0xf0]
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp - 0x10]
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c280]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
cvttsd2si edx, qword [rbp - 0x70]
cvttsd2si ecx, qword [rbp - 0x78]
call fcn.140033f20
lea rsi, [0x14004c280]
jmp 0x1400396bb
cvttsd2si esi, qword [rbp - 0x70]
cvttsd2si r14d, qword [rbp - 0x78]
cvttsd2si ebx, qword [rbp + 0x10]
cvttsd2si edi, qword [rbp + 8]
lea r13, [0x14004c230]
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si r15d, qword [rbp - 0x20]
cvttsd2si r12d, qword [rbp - 0x28]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si ebx, qword [rbp - 0x38]
cvttsd2si edi, qword [rbp - 0x40]
mov qword [rsp + 0x20], r13
mov r9d, r15d
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
cvttsd2si esi, qword [rbp - 0x58]
cvttsd2si r14d, qword [rbp - 0x60]
cvttsd2si r15d, xmm7
cvttsd2si r12d, xmm8
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si r13d, qword [rbp - 8]
cvttsd2si r8d, qword [rbp - 0x10]
lea rcx, [0x14004c230]
mov qword [rsp + 0x20], rcx
mov r9d, r13d
mov edx, r15d
mov ecx, r12d
call fcn.140033f20
cvttsd2si ebx, qword [rbp + 0xf8]
cvttsd2si edi, qword [rbp + 0xf0]
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp - 0x10]
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, ebx
mov ecx, edi
call fcn.140033f20
lea rax, [0x14004c230]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
cvttsd2si edx, qword [rbp - 0x70]
cvttsd2si ecx, qword [rbp - 0x78]
call fcn.140033f20
lea rsi, [0x14004c230]
mov qword [rsp + 0x20], rsi
mov r9d, r15d
mov r8d, r12d
cvttsd2si edx, qword [rbp + 0x10]
cvttsd2si ecx, qword [rbp + 8]
call fcn.140033f20
mov qword [rsp + 0x20], rsi
mov r9d, ebx
mov r8d, edi
cvttsd2si edx, qword [rbp - 0x38]
cvttsd2si ecx, qword [rbp - 0x40]
call fcn.140033f20
mov qword [rsp + 0x20], rsi
mov r9d, r13d
cvttsd2si r8d, qword [rbp - 0x10]
cvttsd2si edx, qword [rbp - 0x20]
cvttsd2si ecx, qword [rbp - 0x28]
call fcn.140033f20
movabs r13, 0x7fffffffffffffff
xor r12d, r12d
mov rsi, qword [rsp + 0x58]
cvttss2si r15d, xmm15
movsd xmm7, qword [rbp + 0x280]
cvttss2si r14d, xmm13
movaps xmm6, xmm13
mulss xmm6, dword [0x140042e14]
cmp byte [0x14004d37e], 0
je 0x14003979c
mov dword [rsp + 0x58], 0xff00ff12
cvttsd2si edi, xmm12
cvtps2pd xmm0, xmm6
movaps xmm1, xmm7
subsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.140034260
lea rax, [0x14004c490]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.1400349e0
cmp byte [0x14004c055], 0
je 0x1400397dd
mov dword [rsp + 0x58], 0xff00ff12
cvttsd2si edx, xmm12
cvtps2pd xmm0, xmm6
movaps xmm1, xmm7
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r14d
call fcn.140034260
lea rbx, [0x14004c0b0]
cmp byte [0x14004d37a], 0
je 0x140039812
cvtpd2ps xmm1, xmm12
cvtps2pd xmm0, xmm6
movaps xmm2, xmm7
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
mov qword [rsp + 0x20], rbx
movaps xmm3, xmm15
movaps xmm2, xmm13
call fcn.140034020
cmp byte [0x14004d37f], 0
je 0x14003984d
cvttsd2si r9d, xmm12
cvttsd2si r8d, xmm7
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov qword [rsp + 0x20], rbx
mov edx, r10d
call fcn.140033f20
cmp byte [0x14004d548], 0
je 0x14003985e
mov rcx, rsi
call fcn.140037210
mov r15d, dword [rbp - 0x80]
mov r14d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x70]
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x200]
subsd xmm2, xmm0
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x208]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x1400398cb
xorps xmm7, xmm7
sqrtss xmm7, xmm3
jmp 0x1400398d6
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
test rsi, rsi
je 0x140039130
mov r9d, 4
lea r8, [rbp + 0x68]
lea rdx, [rsi + 0x360]
call fcn.140031e90
movss xmm6, dword [rbp + 0x68]
mov r9d, 4
lea r8, [rbp + 0x58]
lea rdx, [rsi + 0x368]
call fcn.140031e90
movss xmm0, dword [rbp + 0x58]
movss xmm8, dword [0x140042df0]
addss xmm0, xmm8
comiss xmm0, xmm6
setae al
test al, al
je 0x140039130
mov r9d, 4
lea r8, [rbp + 0x5c]
lea rdx, [rsi + 0x360]
call fcn.140031e90
movss xmm6, dword [rbp + 0x5c]
mov r9d, 4
lea r8, [rbp + 0x60]
lea rdx, [rsi + 0x368]
call fcn.140031e90
movss xmm0, dword [rbp + 0x60]
addss xmm0, xmm8
jmp 0x140039122
movss xmm11, dword [0x140042e5c]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
inc r14d
mov dword [rsp + 0x50], r14d
cmp r14d, r15d
jb 0x140037d60
cmp byte [0x14004c5dd], 0
je 0x140039b7e
test rdi, rdi
je 0x1400399b8
mov ecx, dword [0x14004d47c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400399e0
mov rbx, qword [0x14004d490]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov rdx, rbx
mov ecx, dword [rbx + 0x10]
call qword [sym.imp.XINPUT1_4.dll_Ordinal_2]
mov rax, qword [rbx]
shr rax, 0x30
test al, al
je 0x140039b7e
lea rdx, [rdi + 0x318]
mov r9d, 8
lea r8, [rbp + 0x80]
call fcn.140031e90
mov r8d, dword [0x14004d56c]
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x20]
call fcn.140032ed0
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0xd0], xmm0
movsd xmm1, qword [rbp + 0x30]
movsd qword [rbp + 0xe0], xmm1
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call fcn.1400332c0
movsd xmm0, qword [rbp + 0x118]
ucomisd xmm0, qword [0x140042dc8]
jp 0x140039a53
je 0x140039b7e
cvtpd2ps xmm6, xmm0
movsd xmm7, qword [rbp + 0x110]
cvtpd2ps xmm7, xmm7
mov eax, dword [0x14004d478]
cdq
sub eax, edx
sar eax, 1
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mov eax, dword [0x14004d424]
cdq
sub eax, edx
sar eax, 1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cvttss2si eax, dword [0x14004c050]
xorps xmm9, xmm9
xorps xmm3, xmm3
xorps xmm2, xmm2
movss xmm8, dword [0x140043130]
ucomiss xmm7, xmm9
jp 0x140039aaa
je 0x140039b02
comiss xmm7, xmm5
jbe 0x140039adb
movaps xmm3, xmm5
subss xmm3, xmm7
xorps xmm3, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
movaps xmm0, xmm5
addss xmm0, xmm5
comiss xmm1, xmm0
jbe 0x140039adb
xorps xmm3, xmm3
comiss xmm5, xmm7
jbe 0x140039b02
movaps xmm3, xmm7
subss xmm3, xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
comiss xmm9, xmm1
jbe 0x140039b02
xorps xmm3, xmm3
ucomiss xmm6, xmm9
jp 0x140039b0a
je 0x140039b62
comiss xmm6, xmm4
jbe 0x140039b3b
movaps xmm2, xmm4
subss xmm2, xmm6
xorps xmm2, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
movaps xmm0, xmm4
addss xmm0, xmm4
comiss xmm1, xmm0
jbe 0x140039b3b
xorps xmm2, xmm2
comiss xmm4, xmm6
jbe 0x140039b62
movaps xmm2, xmm6
subss xmm2, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm9, xmm1
jbe 0x140039b62
xorps xmm2, xmm2
cvttss2si r8, xmm2
cvttss2si rdx, xmm3
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rcx, [rbp + 0x330]
call fcn.14003b4c0
nop
lea rcx, [rbp + 0x150]
call fcn.14003b4c0
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.14003c440
lea r11, [rsp + 0x5a0]
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
mov dword [0x14004d4ec], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov dword [0x14004d4ec], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312a0
int3
call fcn.140031340
nop
call fcn.14003be90
int3
call fcn.1400312a0
nop
call fcn.1400312a0
int3
call fcn.140031340
int3