Function at 0x14003b010
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 - 0x2f8]
sub rsp, 0x3d0
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 [0x140138080]
xor rax, rsp
mov qword [rbp + 0x220], rax
cmp byte [0x140158b04], 0
je 0x14003b163
mov r8, qword [0x140158a68]
mov eax, dword [0x140155e3c]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm4, qword [0x140128318]
divsd xmm0, xmm4
cvtpd2ps xmm5, xmm0
mov eax, dword [0x140155e38]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
mov eax, dword [0x140155e34]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, xmm4
cvtpd2ps xmm2, xmm1
mov eax, dword [0x140155e30]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x54], xmm0
movss dword [rbp - 0x50], xmm2
movss dword [rbp - 0x4c], xmm3
movss dword [rbp - 0x48], xmm5
lea rcx, [rbp - 0x54]
call fcn.140003b10
movd xmm0, dword [0x140158b00]
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x5c], xmm0
movd xmm1, dword [0x140158a78]
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x58], xmm1
movd xmm2, dword [0x14014aa20]
cvtdq2ps xmm2, xmm2
movss xmm0, dword [0x140128280]
movss dword [rsp + 0x28], xmm0
mov r9d, eax
lea rdx, [rbp - 0x5c]
lea rcx, [r8 + 0x1cc8]
call fcn.14001f280
mov ecx, dword [0x140158b28]
test ecx, ecx
jne 0x14003b179
mov dword [0x14018e590], 0x42
jmp 0x14003b1b2
cmp ecx, 1
jne 0x14003b18a
mov dword [0x14018e590], 0x41
jmp 0x14003b1b2
cmp ecx, 2
jne 0x14003b19b
mov dword [0x14018e590], 0x24
jmp 0x14003b1b2
mov eax, dword [0x14018e590]
mov edx, 2
cmp ecx, 3
cmove eax, edx
mov dword [0x14018e590], eax
lea rcx, [rbp + 0x110]
call fcn.140042b30
nop
movss xmm14, dword [0x14012847c]
xor r15d, r15d
mov rcx, qword [0x140158b38]
add rcx, 0xe762638
call fcn.140044b80
mov qword [0x140158b90], rax
lea rcx, [rax + 0x1b8]
call fcn.140044b80
lea rcx, [rax + 0x38]
call fcn.140044b80
mov rcx, rax
call fcn.140044b80
mov qword [0x140158b68], rax
lea rcx, [rax + 0x30]
call fcn.140044b80
mov qword [0x140158a70], rax
lea rcx, [rax + 0x338]
call fcn.140044b80
mov qword [0x140158b18], rax
mov rcx, qword [0x140158a70]
add rcx, 0x330
call fcn.140044b80
mov rcx, qword [0x140158b18]
add rcx, 0x2b0
call fcn.140044b80
mov qword [0x140158b08], rax
mov rcx, qword [0x140158a70]
add rcx, 0x348
call fcn.140044b80
mov rcx, qword [0x140158b18]
add rcx, rax
call fcn.140044b80
mov rcx, qword [0x140158b18]
add rcx, 0x198
call fcn.140044b80
mov qword [0x140158b88], rax
mov rcx, qword [0x140158b90]
add rcx, 0x30
call fcn.140044b80
mov qword [0x140158b48], rax
mov rcx, qword [0x140158b18]
add rcx, 0x868
call fcn.140044b80
mov rcx, qword [0x140158b48]
add rcx, 0xa0
mov dword [rsp + 0x50], r15d
mov rbx, qword [0x140189ea8]
mov eax, dword [rbx]
mov dword [rbp + 0x140], eax
mov qword [rbp + 0x150], rcx
lea rax, [rsp + 0x50]
mov qword [rbp + 0x148], rax
mov dword [rbp + 0x158], 4
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x15c], eax
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14003b321
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
lea rax, [rbx + 0x18]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x68], 1
lea rax, [rbp + 0x140]
mov qword [rbp + 0x70], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x78], rax
mov rax, qword [rbx + 8]
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp + 0x70]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [0x140158b48]
add rcx, 0x98
call fcn.140044b80
mov rcx, qword [0x140158b90]
add rcx, 0x158
call fcn.140044b80
mov rbx, rax
lea rcx, [rax + 0x2a8]
call fcn.140044b80
mov r13, rax
mov rcx, qword [0x140158b18]
add rcx, 0x2348
call fcn.140044b80
lea rcx, [rbx + 0x2b0]
call fcn.140045630
mov r12d, eax
xor r14d, r14d
xorps xmm15, xmm15
test eax, eax
je 0x14003c25c
movss xmm10, dword [0x1401282ac]
movss xmm11, dword [0x140128258]
movss xmm13, dword [0x14012822c]
nop dword [rax]
nop word [rax + rax]
lea ecx, [r14*8]
add rcx, r13
call fcn.140044b80
lea rcx, [rax + 0x308]
call fcn.140044b80
mov rsi, rax
lea rcx, [rax + 0x318]
call fcn.140044b80
mov rbx, rax
mov rcx, qword [0x140158b08]
add rcx, 0x10e0
call fcn.140045630
lea rcx, [rsi + 0x290]
call fcn.140044b80
lea rcx, [rax + 0x10e0]
call fcn.140045630
mov byte [rsp + 0x54], 0
mov rdi, qword [0x140189ea8]
mov ecx, dword [rdi]
mov dword [rbp - 0x20], ecx
lea rax, [rsi + 0x872]
mov qword [rbp - 0x10], rax
lea rax, [rsp + 0x54]
mov qword [rbp - 0x18], rax
mov dword [rbp - 8], 1
mov eax, dword [rdi + 0x20]
mov dword [rbp - 4], eax
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14003c495
lea rax, [rdi + 0x18]
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], 1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x170], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x178], rax
mov rax, qword [rdi + 8]
movups xmm0, xmmword [rbp + 0x160]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp + 0x170]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
lea rcx, [rbp + 0x48]
call fcn.140042b30
nop
cmp rsi, qword [0x140158b18]
jne 0x14003b513
jmp 0x14003c247
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400343e0
movsd xmm9, qword [rsp + 0x68]
movaps xmm0, xmm9
subsd xmm0, qword [0x14018e580]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm8, qword [rsp + 0x60]
movaps xmm0, xmm8
subsd xmm0, qword [0x14018e578]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm7, qword [rsp + 0x70]
movaps xmm1, xmm7
subsd xmm1, qword [0x14018e588]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003b5a0
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003b5a8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
xorps xmm12, xmm12
cvtsd2ss xmm12, xmm0
mov r8d, 0x44
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1400343e0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x98]
call fcn.1400343e0
mov rcx, qword [0x140158b88]
add rcx, 0x128
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm0
mov rdi, qword [0x140189ea8]
mov eax, dword [rdi]
mov dword [rbp + 0x160], eax
mov qword [rbp + 0x170], rcx
lea rax, [rsp + 0x60]
mov qword [rbp + 0x168], rax
mov dword [rbp + 0x178], Ordinal_33
mov eax, dword [rdi + 0x20]
mov dword [rbp + 0x17c], eax
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14003c48c
lea rax, [rdi + 0x18]
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], 1
lea rax, [rbp + 0x160]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x5c]
mov qword [rbp - 0x68], rax
mov rax, qword [rdi + 8]
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [0x14018a170]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [0x14018e578], xmm0
movsd xmm1, qword [rsp + 0x70]
movsd qword [0x14018e588], xmm1
movaps xmm6, xmm8
unpcklpd xmm6, xmm9
movaps xmmword [rsp + 0x60], xmm6
movsd qword [rsp + 0x70], xmm7
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x128]
call fcn.140034570
mov r8d, reloc.WLDAP32.dll_Ordinal_50
mov rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.1400343e0
movups xmm0, xmmword [rbp + 0xc8]
movaps xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rbp + 0xd8]
movsd qword [rbp - 0x10], xmm1
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0xe0]
call fcn.140034570
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.1400343e0
movups xmm0, xmmword [rbp + 0x30]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rbp + 0x40]
movsd qword [rbp - 0x70], xmm1
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xf8]
call fcn.140034570
movaps xmm1, xmm7
addsd xmm1, qword [0x1401282d0]
movaps xmm0, xmm8
unpcklpd xmm0, xmm9
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp + 0xf0], xmm1
movsd qword [rbp - 0x70], xmm1
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xb0]
call fcn.140034570
movaps xmm0, xmm8
unpcklpd xmm0, xmm9
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp + 0xf0], xmm7
movsd qword [rbp - 0x70], xmm7
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x60]
call fcn.140034570
movsd xmm2, qword [rbp + 0xa8]
movups xmm1, xmmword [rbp + 0x98]
movaps xmmword [rbp - 0x80], xmm1
movsd qword [rbp + 0x70], xmm2
movsd qword [rbp - 0x70], xmm2
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x140]
call fcn.140034570
movaps xmmword [rbp - 0x80], xmm6
movsd qword [rbp - 0x70], xmm7
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x80]
call fcn.140034570
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsd xmm7, qword [rbp + 0xb8]
movaps xmm0, xmm7
subsd xmm0, qword [rbp + 0x100]
andps xmm0, xmmword [0x140128940]
cvtpd2ps xmm10, xmm0
cvtps2pd xmm0, xmm10
mulsd xmm0, qword [0x140128298]
cvtpd2ps xmm8, xmm0
movss xmm0, dword [0x14012844c]
cmp byte [0x140158b2f], 0
je 0x14003bc8f
comiss xmm0, xmm12
jbe 0x14003bc1d
movsd xmm9, qword [rbp + 0xb0]
cvttss2si edi, xmm10
cmp byte [0x140158b05], 0
je 0x14003b888
cvttss2si r8d, xmm8
cvttsd2si edx, xmm7
movaps xmm0, xmm8
mulss xmm0, xmm11
cvtps2pd xmm1, xmm0
movaps xmm2, xmm9
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
lea rax, [0x140156230]
mov qword [rsp + 0x20], rax
mov r9d, edi
call fcn.140035ce0
cmp byte [0x140158b2e], 0
je 0x14003b903
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
cvttss2si r8d, xmm8
movaps xmm1, xmm8
mulss xmm1, xmm11
cvtps2pd xmm2, xmm1
addss xmm0, xmm13
cvttsd2si edx, xmm7
mov eax, dword [reloc.WS2_32.dll_accept]
mov r9d, edi
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
comiss xmm0, xmm6
movaps xmm0, xmm9
subsd xmm0, xmm2
cvttsd2si ecx, xmm0
mov dword [rsp + 0x50], 0xff0000ff
jb 0x14003b8fe
mov dword [rsp + 0x50], 0xff00ff00
call fcn.140035560
cmp byte [0x140158b31], 0
je 0x14003b9a0
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
movaps xmm1, xmm8
mulss xmm1, xmm11
cvtps2pd xmm11, xmm1
addss xmm0, xmm13
lea rcx, [rsp + 0x60]
comiss xmm0, xmm6
jae 0x14003b950
movaps xmm0, xmmword [0x1401286e0]
jmp 0x14003b957
movaps xmm0, xmmword [0x140128710]
movups xmmword [rsp + 0x60], xmm0
call fcn.140003b10
mov dword [rsp + 0x50], eax
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x38], eax
movaps xmm0, xmm9
lea rax, [rsp + 0x50]
subsd xmm0, xmm11
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
movaps xmm2, xmm8
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm0
call fcn.140035390
movss xmm11, dword [0x140128258]
cmp byte [0x140158b32], 0
je 0x14003bba8
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
cvtps2pd xmm2, xmm12
addss xmm0, xmm13
movq r8, xmm2
lea rdx, str._.3f
lea rcx, [rbp + 0x160]
comiss xmm0, xmm6
jae 0x14003bad0
call fcn.1400456e0
subsd xmm7, qword [0x1401282b8]
cvtpd2ps xmm1, xmm7
addsd xmm9, qword [0x1401282f0]
cvtpd2ps xmm0, xmm9
movss dword [rbp - 0x44], xmm0
movss dword [rbp - 0x40], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x140], xmm1
xor edi, edi
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x158], rdi
lea rax, [rbp + 0x160]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], dil
jne 0x14003ba40
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x140]
call fcn.14003c8f0
nop
mov dword [rsp + 0x20], 0xff0000ff
movss xmm3, dword [0x14012836c]
lea r8, [rbp - 0x44]
lea rdx, [rbp + 0x140]
mov rcx, qword [0x140158b20]
call fcn.140034960
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x14003bba8
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bba3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bba3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400456e0
subsd xmm7, qword [0x1401282b8]
cvtpd2ps xmm1, xmm7
addsd xmm9, qword [0x1401282f0]
cvtpd2ps xmm0, xmm9
movss dword [rbp - 0x3c], xmm0
movss dword [rbp - 0x38], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x140], xmm1
xor eax, eax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rax
lea rax, [rbp + 0x160]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14003bb21
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x140]
call fcn.14003c8f0
nop
mov dword [rsp + 0x20], 0xff00ff00
movss xmm3, dword [0x140128364]
lea r8, [rbp - 0x3c]
lea rdx, [rbp + 0x140]
mov rcx, qword [0x140158b20]
call fcn.140034960
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x14003bba8
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bba3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c485
call fcn.1400aab0c
cmp byte [0x140158b2d], 0
je 0x14003bc0c
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
addss xmm0, xmm13
cvttsd2si r9d, qword [rbp + 0x38]
cvttsd2si r8d, qword [rbp + 0x30]
mov eax, dword [0x140158b34]
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x140158b78]
cdq
sub eax, edx
sar eax, 1
mov edx, r10d
mov ecx, eax
lea rax, [0x140155e30]
mov qword [rsp + 0x20], rax
call fcn.140035290
cmp byte [0x140158b07], 0
je 0x14003bc1d
mov rcx, rbx
call fcn.14003a610
mov eax, dword [0x140158b78]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x80]
subsd xmm2, xmm0
mov eax, dword [0x140158b34]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x88]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14003bc7f
xorps xmm7, xmm7
sqrtss xmm7, xmm3
jmp 0x14003c1fc
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
jmp 0x14003c1fc
comiss xmm0, xmm12
jbe 0x14003c16d
movsd xmm9, qword [rbp + 0xb0]
cvttss2si edi, xmm10
cmp byte [0x140158b05], 0
je 0x14003bce5
cvttss2si r8d, xmm8
cvttsd2si edx, xmm7
movaps xmm0, xmm8
mulss xmm0, xmm11
cvtps2pd xmm1, xmm0
movaps xmm2, xmm9
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
lea rax, [0x140156230]
mov qword [rsp + 0x20], rax
mov r9d, edi
call fcn.140035ce0
cmp byte [0x140158b2e], 0
je 0x14003bd47
movaps xmm0, xmmword [0x1401286d0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140003b10
mov dword [rsp + 0x50], eax
movaps xmm6, xmm8
mulss xmm6, xmm11
cvttss2si r8d, xmm8
cvttsd2si edx, xmm7
cvtps2pd xmm0, xmm6
movaps xmm1, xmm9
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, edi
call fcn.140035560
jmp 0x14003bd50
movaps xmm6, xmm8
mulss xmm6, xmm11
cmp byte [0x140158b31], 0
je 0x14003bda7
movaps xmm0, xmmword [0x1401286d0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140003b10
mov dword [rsp + 0x50], eax
cvtpd2ps xmm1, xmm7
cvtps2pd xmm0, xmm6
movaps xmm2, xmm9
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
movaps xmm2, xmm8
call fcn.140035390
cmp byte [0x140158b32], 0
je 0x14003bfe0
cvtps2pd xmm2, xmm12
movq r8, xmm2
lea rdx, str._2.fm
lea rcx, [rbp + 0x1a0]
call fcn.1400456e0
mov rax, qword [0x140158a68]
movss xmm8, dword [0x14012843c]
lea r10, [rax + 0x1cc8]
movss xmm0, dword [rax + 0x1550]
mulss xmm0, xmm8
cmp byte [0x140158b06], 0
je 0x14003bef3
mov dword [rbp], 0x437f0000
mov dword [rbp + 4], 0x437f0000
mov dword [rbp + 8], 0x437f0000
movss dword [rbp + 0xc], xmm0
lea rcx, [rbp]
call fcn.140003b10
mov r11d, eax
movaps xmm0, xmm7
subsd xmm0, qword [0x1401282f0]
cvtpd2ps xmm2, xmm0
movaps xmm1, xmm9
subsd xmm1, qword [0x1401282d8]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x30], xmm2
test eax, 0xff000000
je 0x14003bfe9
lea rcx, [rbp + 0x1a0]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14003be70
lea rcx, [rbp + 0x1a0]
add rcx, rax
lea rax, [rbp + 0x1a0]
cmp rax, rcx
je 0x14003bfe9
mov rax, qword [r10 + 0x38]
movsxd r9, dword [r10 + 0x60]
add r9, r9
mov r8, qword [r10 + 0x68]
movups xmm0, xmmword [r8 + r9*8 - 0x10]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm15
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x1a0]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
mov r9, qword [rbp - 0x34]
movss xmm2, dword [rax + 0x10]
mov rdx, r10
mov rcx, qword [rax + 8]
call fcn.140022150
jmp 0x14003bfe9
mov dword [rbp + 0x10], 0x437f0000
mov dword [rbp + 0x14], 0x437f0000
mov dword [rbp + 0x18], 0x437f0000
movss dword [rbp + 0x1c], xmm0
lea rcx, [rbp + 0x10]
call fcn.140003b10
mov r11d, eax
movaps xmm0, xmm7
movsd xmm6, qword [0x1401282e0]
subsd xmm0, xmm6
cvtpd2ps xmm2, xmm0
movaps xmm1, xmm9
subsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x2c], xmm0
movss dword [rbp - 0x28], xmm2
test eax, 0xff000000
je 0x14003c11a
lea rcx, [rbp + 0x1a0]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14003bf60
lea rcx, [rbp + 0x1a0]
add rcx, rax
lea rax, [rbp + 0x1a0]
cmp rax, rcx
je 0x14003c11a
mov rax, qword [r10 + 0x38]
movsxd r9, dword [r10 + 0x60]
add r9, r9
mov r8, qword [r10 + 0x68]
movups xmm0, xmmword [r8 + r9*8 - 0x10]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm15
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x1a0]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
mov r9, qword [rbp - 0x2c]
movss xmm2, dword [rax + 0x10]
mov rdx, r10
mov rcx, qword [rax + 8]
call fcn.140022150
jmp 0x14003bff1
movss xmm8, dword [0x14012843c]
movsd xmm6, qword [0x1401282e0]
cmp byte [0x140158b06], 0
je 0x14003c11a
xorps xmm2, xmm2
cvtss2sd xmm2, xmm12
movq r8, xmm2
lea rdx, str.Enemy
lea rcx, [rbp + 0x1e0]
call fcn.1400456e0
mov rax, qword [0x140158a68]
lea r10, [rax + 0x1cc8]
mov dword [rbp + 0x20], 0x437f0000
mov dword [rbp + 0x24], 0x437f0000
mov dword [rbp + 0x28], 0x437f0000
movss xmm0, dword [rax + 0x1550]
mulss xmm0, xmm8
movss dword [rbp + 0x2c], xmm0
lea rcx, [rbp + 0x20]
call fcn.140003b10
mov r11d, eax
movaps xmm0, xmm7
subsd xmm0, xmm6
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movaps xmm1, xmm9
subsd xmm1, xmm6
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rbp - 0x54], xmm0
movss dword [rbp - 0x50], xmm2
test eax, 0xff000000
je 0x14003c11a
lea rcx, [rbp + 0x1e0]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14003c0a0
lea rcx, [rbp + 0x1e0]
add rcx, rax
lea rax, [rbp + 0x1e0]
cmp rax, rcx
je 0x14003c11a
mov rax, qword [r10 + 0x38]
movsxd r9, dword [r10 + 0x60]
add r9, r9
mov r8, qword [r10 + 0x68]
movups xmm0, xmmword [r8 + r9*8 - 0x10]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm15
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x1e0]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
mov r9, qword [rbp - 0x54]
movss xmm2, dword [rax + 0x10]
mov rdx, r10
mov rcx, qword [rax + 8]
call fcn.140022150
cmp byte [0x140158b2d], 0
je 0x14003c15c
cvttsd2si r9d, xmm7
cvttsd2si r8d, xmm9
mov eax, dword [0x140158b34]
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x140158b78]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
lea rax, [0x140155e30]
mov qword [rsp + 0x20], rax
mov edx, r10d
call fcn.140035290
cmp byte [0x140158b07], 0
je 0x14003c16d
mov rcx, rbx
call fcn.14003a610
mov eax, dword [0x140158b78]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x80]
subsd xmm2, xmm0
mov eax, dword [0x140158b34]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x88]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14003c1cc
xorps xmm7, xmm7
sqrtss xmm7, xmm3
jmp 0x14003c1d7
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14003c221
lea rcx, [rbx + 0x330]
call fcn.140044ee0
movaps xmm6, xmm0
lea rcx, [rbx + 0x338]
call fcn.140044ee0
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14003c23e
movd xmm0, dword [0x14014aa20]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x14003c23e
comiss xmm14, xmm7
jbe 0x14003c23e
movaps xmm14, xmm7
mov r15, rsi
movss xmm10, dword [0x1401282ac]
lea rcx, [rbp + 0x48]
call fcn.140043760
inc r14d
cmp r14d, r12d
jb 0x14003b400
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003c408
test r15, r15
je 0x14003c408
mov ecx, dword [0x140158b7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003c408
lea rcx, [r15 + 0x318]
call fcn.140044b80
mov r8d, dword [0x14018e590]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1400343e0
movups xmm0, xmmword [rbp + 0x48]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rbp + 0x58]
movsd qword [rbp - 0x70], xmm1
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call fcn.140034570
movsd xmm0, qword [rbp - 0x18]
ucomisd xmm0, qword [0x140128200]
jp 0x14003c2da
je 0x14003c408
cvtpd2ps xmm6, xmm0
movsd xmm7, qword [rbp - 0x20]
cvtpd2ps xmm7, xmm7
mov eax, dword [0x140158b78]
cdq
sub eax, edx
sar eax, 1
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mov eax, dword [0x140158b34]
cdq
sub eax, edx
sar eax, 1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cvttss2si eax, dword [0x14014aa1c]
movaps xmm3, xmm15
movaps xmm2, xmm15
movss xmm8, dword [0x140128960]
ucomiss xmm7, xmm15
jp 0x14003c32c
je 0x14003c386
comiss xmm7, xmm5
jbe 0x14003c35e
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 0x14003c35e
movaps xmm3, xmm15
comiss xmm5, xmm7
jbe 0x14003c386
movaps xmm3, xmm7
subss xmm3, xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
comiss xmm15, xmm1
jbe 0x14003c386
movaps xmm3, xmm15
ucomiss xmm6, xmm15
jp 0x14003c38e
je 0x14003c3e8
comiss xmm6, xmm4
jbe 0x14003c3c0
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 0x14003c3c0
movaps xmm2, xmm15
comiss xmm4, xmm6
jbe 0x14003c3e8
movaps xmm2, xmm6
subss xmm2, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm15, xmm1
jbe 0x14003c3e8
movaps xmm2, xmm15
cvttss2si r8, xmm2
cvttss2si rdx, xmm3
mov qword [rsp + 0x20], 0
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 + 0x110]
call fcn.140043760
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1400aa860
lea r11, [rsp + 0x3d0]
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3