Function at 0x14003ad10
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 - 0x1a8]
sub rsp, 0x280
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 [0x140126f00]
xor rax, rsp
mov qword [rbp + 0xd0], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
xor r12d, r12d
mov qword [rbp + 0x70], r12
mov rax, qword [0x140360f30]
mov rax, qword [rax + 0x48d0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400092d0
mov rsi, rax
mov rcx, qword [0x140361040]
add rcx, 0x1855ce8
mov qword [rbp + 0xa8], r12
mov qword [rbp - 0x30], rcx
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 8
movdqa xmm12, xmmword [0x140111f40]
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
xorps xmm6, xmm6
movss dword [rsp + 0x48], xmm6
mov qword [rbp + 0x48], r12
mov dword [rbp + 0x50], r12d
mov r13, qword [rbp + 0xa8]
lea rax, [r13 + 0x1324]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x48]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], listen
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [0x140361040]
add rax, 0x1a54550
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 0x40
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [0x140361040]
add rax, 0x1a5e650
mov qword [rbp + 0xc0], r12
mov dword [rbp + 0xc8], r12d
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0xc0]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], listen
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov rax, qword [0x140360f30]
movss xmm0, dword [rax + 0x14]
movss xmm11, dword [0x1401119a0]
mulss xmm0, xmm11
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [rax + 0x10]
mulss xmm1, xmm11
movss dword [rbp - 0x54], xmm1
movss dword [rbp + 0x38], xmm1
movss dword [rbp + 0x3c], xmm0
movss xmm7, dword [0x140126fbc]
mulss xmm7, dword [0x140111a28]
addss xmm7, xmm7
movss dword [rbp - 0x68], xmm7
comiss xmm11, xmm7
ja 0x14003b0f1
movaps xmm2, xmm7
subss xmm2, xmm11
mov dword [rsp + 0x28], 0x63
movss xmm0, dword [0x140111a38]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
lea rdx, [rbp + 0x38]
mov rcx, rsi
call fcn.140026c10
movss xmm0, dword [0x1401119ec]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, 0xff0000ff
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.1400251a0
mov dword [rsi + 0x78], r12d
movss dword [rsp + 0x44], xmm7
xorps xmm2, xmm2
movss dword [rbp - 0x64], xmm2
mov r15d, 1
movss xmm13, dword [0x1401119d4]
movsd xmm15, qword [0x1401119f0]
movss xmm9, dword [rbp - 0x74]
movss xmm8, dword [rbp - 0x78]
movss xmm10, dword [rsp + 0x6c]
movss xmm14, dword [0x140111978]
movabs rdi, 0xfffffffffffffff
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 0
lea r8, [rbp - 0x38]
mov rdx, r13
mov ecx, r15d
call fcn.140038220
test al, al
je 0x14003be8a
mov rbx, qword [rbp - 0x38]
lea rax, [rbx + 0x1324]
mov qword [rbp + 0x28], 0
mov dword [rbp + 0x30], 0
mov qword [rbp], rax
lea rax, [rbp + 0x28]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], listen
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rax, [rbx + 0xcb0]
mov qword [rbp + 0xb0], 0
mov dword [rbp + 0xb8], 0
mov qword [rbp], rax
lea rax, [rbp + 0xb0]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], listen
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rax, [rbx + 0x328]
mov qword [rbp + 0x38], r12
mov qword [rbp], rax
lea rax, [rbp + 0x38]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 8
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x38]
add rax, 0x1f0
mov qword [rbp], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 8
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rbp + 0x78], 0
mov dword [rbp + 0x80], 0
mov r14, qword [rbp + 0x40]
lea rax, [r14 + 0xc0]
mov qword [rbp], rax
lea rax, [rbp + 0x78]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], listen
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm6, dword [rbp - 0x7c]
movss xmm5, dword [rbp + 0x7c]
mulss xmm6, xmm5
movss xmm0, dword [rbp - 0x80]
movss xmm4, dword [rbp + 0x78]
mulss xmm0, xmm4
addss xmm6, xmm0
movaps xmm1, xmm8
movss xmm3, dword [rbp + 0x80]
mulss xmm1, xmm3
addss xmm6, xmm1
addss xmm6, xmm9
movss dword [rbp + 0x38], xmm6
movaps xmm2, xmm13
divss xmm2, xmm6
movss xmm7, dword [rsp + 0x54]
mulss xmm7, xmm5
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm4
addss xmm7, xmm0
movss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm3
addss xmm7, xmm1
addss xmm7, dword [rsp + 0x5c]
mulss xmm7, xmm2
movss xmm6, dword [rsp + 0x64]
mulss xmm6, xmm5
movss xmm0, dword [rsp + 0x60]
mulss xmm0, xmm4
addss xmm6, xmm0
movss xmm1, dword [rsp + 0x68]
mulss xmm1, xmm3
addss xmm6, xmm1
addss xmm6, xmm10
mulss xmm6, xmm2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm11
addss xmm7, xmm11
mulss xmm0, xmm7
cvttss2si ebx, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm6, xmm11
movaps xmm0, xmm11
subss xmm0, xmm6
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x70], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x6c], xmm0
movss xmm5, dword [rbp + 0xb8]
movss xmm10, dword [rbp + 0x30]
addss xmm5, xmm10
addss xmm5, dword [0x140111a44]
subss xmm10, dword [0x140111a40]
movss xmm9, dword [rbp - 0x80]
movss xmm4, dword [rbp + 0x28]
mulss xmm9, xmm4
movss xmm0, dword [rbp - 0x7c]
movss xmm3, dword [rbp + 0x2c]
mulss xmm0, xmm3
addss xmm9, xmm0
movaps xmm1, xmm8
mulss xmm1, xmm5
addss xmm1, xmm9
addss xmm1, dword [rbp - 0x74]
movaps xmm2, xmm13
divss xmm2, xmm1
movss xmm7, dword [rsp + 0x50]
mulss xmm7, xmm4
movss xmm0, dword [rsp + 0x54]
mulss xmm0, xmm3
addss xmm7, xmm0
movss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm5
addss xmm7, xmm1
addss xmm7, dword [rsp + 0x5c]
mulss xmm7, xmm2
movss xmm8, dword [rsp + 0x60]
mulss xmm8, xmm4
movss xmm0, dword [rsp + 0x64]
mulss xmm0, xmm3
addss xmm8, xmm0
movss xmm6, dword [rsp + 0x68]
mulss xmm6, xmm5
addss xmm6, xmm8
addss xmm6, dword [rsp + 0x6c]
mulss xmm6, xmm2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm11
addss xmm7, xmm11
mulss xmm0, xmm7
cvttss2si ebx, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm6, xmm11
movaps xmm0, xmm11
subss xmm0, xmm6
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x5c], xmm0
movss xmm0, dword [rbp - 0x78]
mulss xmm0, xmm10
addss xmm0, xmm9
movss xmm9, dword [rbp - 0x74]
addss xmm0, xmm9
movaps xmm1, xmm13
divss xmm1, xmm0
movss xmm6, dword [rsp + 0x68]
mulss xmm6, xmm10
addss xmm6, xmm8
movss xmm10, dword [rsp + 0x6c]
addss xmm6, xmm10
mulss xmm6, xmm1
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm6, xmm11
movaps xmm0, xmm11
subss xmm0, xmm6
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x60], xmm0
movss xmm7, dword [rbp + 0x28]
subss xmm7, dword [rbp + 0x48]
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rbp + 0x4c]
movss xmm6, dword [rbp + 0x30]
subss xmm6, dword [rbp + 0x50]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
cvtps2pd xmm0, xmm7
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x14003b72f
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x14003b738
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
divss xmm6, dword [0x140111a6c]
movss xmm4, dword [rbp - 0x60]
movaps xmm1, xmm4
movss xmm3, dword [rbp - 0x5c]
subss xmm1, xmm3
andps xmm1, xmmword [0x140111f10]
divss xmm1, dword [0x1401119e8]
mulss xmm1, xmm11
movss xmm2, dword [rbp + 0x40]
movaps xmm0, xmm2
subss xmm0, xmm1
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm3
addss xmm1, xmm2
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x44], xmm4
cmp byte [0x1403613b8], 0
je 0x14003b926
mov qword [rbp + 0x40], r12
lea rax, [r13 + 0x3e3]
mov qword [rbp], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 8
movdqu xmm0, xmmword [rbp - 8]
xorps xmm0, xmm12
movdqu xmmword [rbp - 8], xmm0
movdqu xmm1, xmmword [rbp + 8]
xorps xmm1, xmm12
movdqu xmmword [rbp + 8], xmm1
movdqu xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp + 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 8]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movsxd rax, dword [rbp - 0x2c]
cmp rax, qword [rbp + 0x40]
sete cl
mov byte [rsp + 0x40], cl
mov rdx, qword [rbp + 0x68]
cmp rdx, qword [rbp + 0x70]
je 0x14003b84f
movsd xmm0, qword [rbp + 0x28]
movsd qword [rdx], xmm0
mov eax, dword [rbp + 0x30]
mov dword [rdx + 8], eax
mov byte [rdx + 0xc], cl
add qword [rbp + 0x68], 0x10
jmp 0x14003b861
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x28]
lea rcx, [rbp + 0x60]
call fcn.14003ffb0
movss xmm7, dword [rbp + 0xc4]
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r12
mov rbx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
sub rbx, rdx
sar rbx, 4
test rbx, rbx
je 0x14003b913
cmp rbx, rdi
ja 0x14003bfc0
shl rbx, 4
test rbx, rbx
jne 0x14003b8a4
mov rdi, r12
jmp 0x14003b8e5
cmp rbx, 0x1000
jb 0x14003b8d6
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14003bfc6
call fcn.1400e6f20
test rax, rax
je 0x14003bf4c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14003b8e1
mov rcx, rbx
call fcn.1400e6f20
mov rdi, rax
mov rdx, qword [rbp + 0x60]
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
lea rcx, [rdi + rbx]
mov qword [rbp + 8], rcx
mov rbx, qword [rbp + 0x68]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
and rbx, 0xfffffffffffffff0
lea rax, [rbx + rdi]
mov qword [rbp], rax
lea r9, [rbp - 8]
movaps xmm2, xmm7
lea rdx, [rbp + 0x48]
mov rcx, rsi
call fcn.14003a7a0
movss xmm0, dword [rbp + 0x38]
comiss xmm0, dword [0x140111960]
jbe 0x14003be79
movsd xmm7, qword [rbp - 0x50]
movsd xmm8, qword [rbp - 0x48]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003b95e
movaps xmm2, xmm6
movq rdx, xmm8
movq rcx, xmm7
call fcn.140002290
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003b97a
mov r8d, dword [rbp - 0x30]
movq rdx, xmm8
movq rcx, xmm7
call fcn.140002850
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003b995
movaps xmm2, xmm6
movq rdx, xmm8
movq rcx, xmm7
call fcn.140002dc0
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003bd71
lea rdi, [0x14035fd50]
movss xmm15, dword [0x1401119ec]
lea r13, vtable.type_info.0
nop dword [rax]
mov eax, dword [rdi]
shl eax, 5
movsxd rcx, eax
add rcx, r14
mov qword [rbp + 0x88], 0
mov dword [rbp + 0x90], 0
mov qword [rbp - 0x30], rcx
lea rax, [rbp + 0x88]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], listen
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rdi + 4]
shl eax, 5
movsxd rcx, eax
add rcx, r14
mov qword [rbp + 0x98], 0
mov dword [rbp + 0xa0], 0
mov qword [rbp - 0x30], rcx
lea rax, [rbp + 0x98]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], listen
movdqu xmm0, xmmword [rbp - 0x38]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x38], xmm0
movdqu xmm1, xmmword [rbp - 0x28]
xorps xmm1, xmm12
movdqu xmmword [rbp - 0x28], xmm1
movdqu xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm12
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x38]
mov edx, 0x229158
mov rcx, qword [0x140361090]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm8, dword [rbp - 0x7c]
movss xmm5, dword [rbp + 0x8c]
mulss xmm8, xmm5
movss xmm0, dword [rbp - 0x80]
movss xmm4, dword [rbp + 0x88]
mulss xmm0, xmm4
addss xmm8, xmm0
movss xmm1, dword [rbp - 0x78]
movss xmm3, dword [rbp + 0x90]
mulss xmm1, xmm3
addss xmm8, xmm1
addss xmm8, xmm9
movaps xmm2, xmm13
divss xmm2, xmm8
movss xmm7, dword [rsp + 0x54]
mulss xmm7, xmm5
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm4
addss xmm7, xmm0
movss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm3
addss xmm7, xmm1
addss xmm7, dword [rsp + 0x5c]
mulss xmm7, xmm2
movss xmm6, dword [rsp + 0x64]
mulss xmm6, xmm5
movss xmm0, dword [rsp + 0x60]
mulss xmm0, xmm4
addss xmm6, xmm0
movss xmm1, dword [rsp + 0x68]
mulss xmm1, xmm3
addss xmm6, xmm1
addss xmm6, xmm10
mulss xmm6, xmm2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm11
addss xmm7, xmm11
mulss xmm0, xmm7
cvttss2si ebx, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm6, xmm11
movaps xmm0, xmm11
subss xmm0, xmm6
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm10, ebx
cvtdq2ps xmm10, xmm10
movd xmm13, eax
cvtdq2ps xmm13, xmm13
movss xmm9, dword [rbp - 0x7c]
movss xmm5, dword [rbp + 0x9c]
mulss xmm9, xmm5
movss xmm0, dword [rbp - 0x80]
movss xmm4, dword [rbp + 0x98]
mulss xmm0, xmm4
addss xmm9, xmm0
movss xmm1, dword [rbp - 0x78]
movss xmm3, dword [rbp + 0xa0]
mulss xmm1, xmm3
addss xmm9, xmm1
addss xmm9, dword [rbp - 0x74]
movss xmm2, dword [0x1401119d4]
divss xmm2, xmm9
movss xmm7, dword [rsp + 0x54]
mulss xmm7, xmm5
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm4
addss xmm7, xmm0
movss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm3
addss xmm7, xmm1
addss xmm7, dword [rsp + 0x5c]
mulss xmm7, xmm2
movss xmm6, dword [rsp + 0x64]
mulss xmm6, xmm5
movss xmm0, dword [rsp + 0x60]
mulss xmm0, xmm4
addss xmm6, xmm0
movss xmm1, dword [rsp + 0x68]
mulss xmm1, xmm3
addss xmm6, xmm1
addss xmm6, dword [rsp + 0x6c]
mulss xmm6, xmm2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm11
addss xmm7, xmm11
mulss xmm0, xmm7
cvttss2si ebx, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm6, xmm11
movaps xmm0, xmm11
subss xmm0, xmm6
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm8, xmm14
jbe 0x14003bd3e
comiss xmm9, xmm14
jbe 0x14003bd3e
movss dword [rbp - 0x40], xmm2
movss dword [rbp - 0x3c], xmm0
movss dword [rbp + 0x58], xmm10
movss dword [rbp + 0x5c], xmm13
movss dword [rsp + 0x20], xmm15
mov r9d, 0xffffffff
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x58]
mov rcx, rsi
call fcn.140027470
add rdi, 8
cmp rdi, r13
movss xmm13, dword [0x1401119d4]
movss xmm9, dword [rbp - 0x74]
movss xmm10, dword [rsp + 0x6c]
jne 0x14003b9c0
movsd xmm15, qword [0x1401119f0]
mov r13, qword [rbp + 0xa8]
movss xmm6, dword [rbp - 0x6c]
subss xmm6, dword [rbp - 0x58]
movss xmm0, dword [rbp - 0x70]
subss xmm0, dword [rbp - 0x54]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x14003bdb6
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x14003bdbe
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x38], xmm0
movss xmm7, dword [rbp + 0x28]
subss xmm7, dword [rbp + 0x48]
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rbp + 0x4c]
movss xmm6, dword [rbp + 0x30]
subss xmm6, dword [rbp + 0x50]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
cvtps2pd xmm0, xmm7
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x14003be2b
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x14003be34
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
divss xmm0, dword [0x140111a6c]
movss xmm7, dword [rbp - 0x68]
movss xmm8, dword [rbp - 0x78]
comiss xmm7, dword [rbp + 0x38]
jbe 0x14003be84
movss xmm1, dword [rsp + 0x44]
comiss xmm1, xmm0
jbe 0x14003be84
movss dword [rsp + 0x44], xmm0
movss xmm6, dword [rbp - 0x70]
movss dword [rsp + 0x48], xmm6
movss xmm1, dword [rbp - 0x6c]
movss dword [rbp - 0x64], xmm1
jmp 0x14003be90
movss xmm8, dword [rbp - 0x78]
movss xmm7, dword [rbp - 0x68]
movss xmm6, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
inc r15d
cmp r15d, 0x40
jl 0x14003b133
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14003bf10
comiss xmm7, xmm0
jbe 0x14003bf10
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003bf10
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rbp + 0x58]
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
movd xmm1, dword [rbp + 0x5c]
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rbp - 0x64]
subss xmm2, xmm1
divss xmm6, dword [0x140126fc4]
divss xmm2, dword [0x140126fc4]
cvttss2si r8, xmm2
cvttss2si rdx, xmm6
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov ecx, 1
call qword [sym.imp.USER32.dll_mouse_event]
nop
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14003bf58
mov rdx, qword [rbp + 0x70]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bf53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bf53
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 fcn.1400e6f64
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400e6f00
lea r11, [rsp + 0x280]
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 fcn.14003fb30
nop
call fcn.140002100
int3