Function at 0x140107460
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
lea rcx, reloc.WS2_32.dll_accept
call fcn.14027ddb0
cmp byte [0x140413623], 0
jne 0x140107822
mov qword [rsp + 0x30], Ordinal_46
cmp byte [0x1404135d4], 0
je 0x1401074e1
mov ecx, dword [0x1404138f4]
test ecx, ecx
je 0x1401074c3
sub ecx, 1
je 0x1401074ab
cmp ecx, 1
jne 0x1401074e1
mov byte [0x140413900], cl
jmp 0x1401074e1
mov ecx, dword [0x1404138f0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140413900]
jmp 0x1401074e1
mov ecx, dword [0x1404138f0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1401074e1
cmp byte [0x140413900], 0
sete byte [0x140413900]
cmp byte [0x140413621], 0
je 0x14010753c
mov ecx, dword [0x14041390c]
test ecx, ecx
je 0x14010751e
sub ecx, 1
je 0x140107506
cmp ecx, 1
jne 0x14010753c
mov byte [0x140413918], cl
jmp 0x14010753c
mov ecx, dword [0x140413908]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140413918]
jmp 0x14010753c
mov ecx, dword [0x140413908]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010753c
cmp byte [0x140413918], 0
sete byte [0x140413918]
cmp byte [0x140413642], 0
je 0x140107597
mov ecx, dword [0x1404143b4]
test ecx, ecx
je 0x140107579
sub ecx, 1
je 0x140107561
cmp ecx, 1
jne 0x140107597
mov byte [0x1404143c0], cl
jmp 0x140107597
mov ecx, dword [0x1404143b0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x1404143c0]
jmp 0x140107597
mov ecx, dword [0x1404143b0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140107597
cmp byte [0x1404143c0], 0
sete byte [0x1404143c0]
cmp byte [0x140413622], 0
je 0x1401075f2
mov ecx, dword [0x1404142fc]
test ecx, ecx
je 0x1401075d4
sub ecx, 1
je 0x1401075bc
cmp ecx, 1
jne 0x1401075f2
mov byte [0x140414308], cl
jmp 0x1401075f2
mov ecx, dword [0x1404142f8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140414308]
jmp 0x1401075f2
mov ecx, dword [0x1404142f8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1401075f2
cmp byte [0x140414308], 0
sete byte [0x140414308]
cmp byte [0x140413658], 0
je 0x14010764d
mov ecx, dword [0x1404142e4]
test ecx, ecx
je 0x14010762f
sub ecx, 1
je 0x140107617
cmp ecx, 1
jne 0x14010764d
mov byte [0x1404142f0], cl
jmp 0x14010764d
mov ecx, dword [0x1404142e0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x1404142f0]
jmp 0x14010764d
mov ecx, dword [0x1404142e0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010764d
cmp byte [0x1404142f0], 0
sete byte [0x1404142f0]
cmp byte [0x1404135d6], 0
je 0x1401076a8
mov ecx, dword [0x140413f14]
test ecx, ecx
je 0x14010768a
sub ecx, 1
je 0x140107672
cmp ecx, 1
jne 0x1401076a8
mov byte [0x140413f20], cl
jmp 0x1401076a8
mov ecx, dword [0x140413f10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140413f20]
jmp 0x1401076a8
mov ecx, dword [0x140413f10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1401076a8
cmp byte [0x140413f20], 0
sete byte [0x140413f20]
cmp byte [0x1404135b8], 0
je 0x140107703
mov ecx, dword [0x140414354]
test ecx, ecx
je 0x1401076e5
sub ecx, 1
je 0x1401076cd
cmp ecx, 1
jne 0x140107703
mov byte [0x140414360], cl
jmp 0x140107703
mov ecx, dword [0x140414350]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140414360]
jmp 0x140107703
mov ecx, dword [0x140414350]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140107703
cmp byte [0x140414360], 0
sete byte [0x140414360]
cmp byte [0x140413620], 0
je 0x14010775e
mov ecx, dword [0x140413f44]
test ecx, ecx
je 0x140107740
sub ecx, 1
je 0x140107728
cmp ecx, 1
jne 0x14010775e
mov byte [0x140413f50], cl
jmp 0x14010775e
mov ecx, dword [0x140413f40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140413f50]
jmp 0x14010775e
mov ecx, dword [0x140413f40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010775e
cmp byte [0x140413f50], 0
sete byte [0x140413f50]
cmp byte [0x1404134c6], 0
je 0x1401077b9
mov ecx, dword [0x14041433c]
test ecx, ecx
je 0x14010779b
sub ecx, 1
je 0x140107783
cmp ecx, 1
jne 0x1401077b9
mov byte [0x140414348], cl
jmp 0x1401077b9
mov ecx, dword [0x140414338]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140414348]
jmp 0x1401077b9
mov ecx, dword [0x140414338]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1401077b9
cmp byte [0x140414348], 0
sete byte [0x140414348]
mov ecx, dword [0x140413f2c]
test ecx, ecx
je 0x1401077ed
sub ecx, 1
je 0x1401077d5
cmp ecx, 1
jne 0x14010780b
mov byte [0x140413f38], cl
jmp 0x14010780b
mov ecx, dword [0x140413f28]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne byte [0x140413f38]
jmp 0x14010780b
mov ecx, dword [0x140413f28]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14010780b
cmp byte [0x140413f38], 0
sete byte [0x140413f38]
lea rcx, [rsp + 0x30]
call fcn.14005a610
cmp byte [0x140413623], 0
je 0x140107486
add rsp, 0x28
ret