Function at 0x18009d3e0
Capabilities:
Link many functions at runtime
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
mov r9, qword [0x18021f3c8]
mov rax, qword [0x18021f3d0]
movsxd r8, dword [0x180222f64]
sub rax, r9
sar rax, 3
cmp rax, r8
jbe 0x18009da21
mov eax, dword [r9 + r8*8 + 4]
cdq
mov qword [rsp + 0x30], rbx
idiv dword [reloc.WS2_32.dll_accept]
mov qword [rsp + 0x40], rsi
movsxd rsi, eax
mov eax, dword [r9 + r8*8]
cdq
mov qword [rsp + 0x20], rdi
idiv dword [reloc.WS2_32.dll_accept]
cmp byte [0x180222be8], 0
movsxd rdi, eax
mov ebx, 4
je 0x18009d741
mov rcx, qword gs:[0x58]
mov edx, dword [0x180221e98]
add rbx, qword [rcx + rdx*8]
mov ecx, dword [rbx]
cmp dword [0x1802246a8], ecx
jle 0x18009d48c
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d48c
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d4db
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d4db
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
imul rcx, rdi, 0xffffffffffffd8f0
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], rcx
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x202
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
cmp dword [0x180222be4], 0
jle 0x18009d642
call fcn.18015b27c
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
cmp r8d, dword [0x180222be4]
jge 0x18009d642
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x204
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [rbx]
cmp dword [0x1802246a8], eax
jle 0x18009d5ac
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d5ac
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d5fb
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d5fb
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xfffffffffffe7960
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x205
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageW]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x201
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [rbx]
cmp dword [0x1802246a8], eax
jle 0x18009d68f
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d68f
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d6de
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d6de
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
imul rcx, rsi, 0xffffffffffffd8f0
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], rcx
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18009da07
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x202
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x18009da07
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x201
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword gs:[0x58]
mov ecx, dword [0x180221e98]
add rbx, qword [rax + rcx*8]
mov eax, dword [rbx]
cmp dword [0x1802246a8], eax
jle 0x18009d7a1
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d7a1
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d7f0
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d7f0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
imul rcx, rdi, 0xffffffffffffd8f0
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], rcx
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
cmp dword [0x180222be4], 0
je 0x18009d93c
call fcn.18015b27c
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
cmp r8d, dword [0x180222be4]
jge 0x18009d93c
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x204
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [rbx]
cmp dword [0x1802246a8], eax
jle 0x18009d8a6
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d8a6
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d8f5
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d8f5
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xfffffffffffe7960
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x205
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageW]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x202
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [rbx]
cmp dword [0x1802246a8], eax
jle 0x18009d989
lea rcx, [0x1802246a8]
call fcn.180142eb0
cmp dword [0x1802246a8], 0xffffffff
jne 0x18009d989
lea rcx, [0x1802246a8]
mov byte [0x1802246ac], 0
call fcn.180142e50
mov eax, dword [rbx]
cmp dword [0x1802246b0], eax
jle 0x18009d9d8
lea rcx, [0x1802246b0]
call fcn.180142eb0
cmp dword [0x1802246b0], 0xffffffff
jne 0x18009d9d8
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1802246b0]
mov qword [0x180222f30], rax
call fcn.180142e50
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
imul rcx, rsi, 0xffffffffffffd8f0
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], rcx
xor ecx, ecx
call qword [0x180222f30]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
inc dword [0x180222f78]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
call fcn.180024d40
int3