Function at 0x422721
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
push 0x2d
call fcn.00422f2c
test eax, eax
je 0x422c55
push 1
push 0
mov eax, str.cs2.exe
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041eb51
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4227ad
push ebx
call fcn.0043f20a
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [0x4fea80], eax
mov eax, str.cs2.exe
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00422fa2
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4227d9
push ebx
call fcn.0043f20a
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [0x4fea84], eax
cmp dword [0x4fea80], 0
je 0x422ba9
mov eax, str.client.dll
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push dword [0x4fea80]
push 0x4fea90
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x422825
push ebx
call fcn.0043f20a
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov dword [0x4fea88], eax
mov dword [0x4fea8c], edx
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.GetEN
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x422866
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x422879
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x42289f
push ebx
call fcn.0043f20a
add esp, 4
fild qword [0x4fea88]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x38]
fstp qword [ebp - 0x48]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.004027ff
mov dword [0x4fea94], eax
mov dword [0x4fea98], edx
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.GetView2
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x422900
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x422913
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x422939
push ebx
call fcn.0043f20a
add esp, 4
fild qword [0x4fea88]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x38]
fstp qword [ebp - 0x48]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.004027ff
mov dword [0x4fea9c], eax
mov dword [0x4feaa0], edx
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.GetLocalPawn2
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x42299a
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4229ad
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x4229d3
push ebx
call fcn.0043f20a
add esp, 4
fild qword [0x4fea88]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x38]
fstp qword [ebp - 0x48]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.004027ff
mov dword [0x4feaa4], eax
mov dword [0x4feaa8], edx
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.First
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x422a34
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x422a47
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x422a6d
push ebx
call fcn.0043f20a
add esp, 4
mov eax, dword [ebp - 0x38]
mov dword [0x4feaac], eax
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.Pawn
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x422aa5
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x422ab8
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x422ade
push ebx
call fcn.0043f20a
add esp, 4
mov eax, dword [ebp - 0x38]
mov dword [0x4feab0], eax
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov eax, str.Weap
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004239ef
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x422b16
push ebx
call fcn.0043f20a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x422b29
mov eax, 0x46430b
push eax
push 1
mov ebx, 0x9dc
call fcn.004413e0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x422b4f
push ebx
call fcn.0043f20a
add esp, 4
mov eax, dword [ebp - 0x38]
mov dword [0x4feab4], eax
mov eax, dword [0x4fea84]
cdq
push edx
push eax
call fcn.004255d7
cmp dword [0x4fea88], 0
jne 0x422b74
cmp dword [0x4fea8c], 0
jne 0x422ba4
push reloc.WS2_32.dll_connect
push 0
push 0x468f4f
push 0x80000301
push 0
push 0
push 2
mov ebx, 0x904
call fcn.00443350
add esp, 0x1c
jmp 0x422bd3
push reloc.WS2_32.dll_connect
push 0
push 0x468f69
push 0x80000301
push 0
push 0
push 2
mov ebx, 0x904
call fcn.00443350
add esp, 0x1c
cmp dword [0x4feab8], 0
je 0x422c55
mov eax, 0x468f88
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00425978
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x422c07
push ebx
call fcn.0043f20a
add esp, 4
mov eax, 0x468f92
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call fcn.00425978
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x422c2e
push ebx
call fcn.0043f20a
add esp, 4
mov eax, 0x468f9c
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.00425978
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x422c55
push ebx
call fcn.0043f20a
add esp, 4
push 0x24
call fcn.00422f2c
test eax, eax
je 0x422c75
and dword [0x4fea34], 1
xor dword [0x4fea34], 1
cmp dword [0x4feabc], 0
je 0x422eff
cmp dword [0x4feac0], 0
jne 0x422c9b
mov dword [ebp - 0x1c], 2
jmp 0x422cd4
cmp dword [0x4feac0], 1
jne 0x422cb4
mov dword [ebp - 0x1c], 6
jmp 0x422cd4
cmp dword [0x4feac0], 2
jne 0x422ccd
mov dword [ebp - 0x1c], 5
jmp 0x422cd4
mov dword [ebp - 0x1c], 2
push dword [0x4feaa8]
push dword [0x4feaa4]
call fcn.00425999
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
fild qword [ebp - 0x38]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fadd qword [0x468fa5]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.004027ff
push edx
push eax
call fcn.00425af6
mov dword [ebp - 0x20], eax
call fcn.00425bd9
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
fild qword [ebp - 0x38]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fadd qword [0x468fa5]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.004027ff
push edx
push eax
call fcn.00425af6
mov dword [ebp - 0x24], eax
call fcn.00425bd9
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
fild qword [ebp - 0x38]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fadd qword [0x468fad]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.004027ff
push edx
push eax
call fcn.00425af6
mov dword [ebp - 0x28], eax
push dword [0x4feaa8]
push dword [0x4feaa4]
call fcn.00425999
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
fild qword [ebp - 0x38]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fadd qword [0x468fad]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.004027ff
push edx
push eax
call fcn.00425af6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
xor eax, eax
cmp dword [ebp - 0x4c], 0
jl 0x422dc2
jg 0x422dc1
cmp dword [ebp - 0x50], 0
jbe 0x422dc2
inc eax
test eax, eax
je 0x422eff
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x20], eax
je 0x422eff
cmp dword [ebp - 0x24], 2
je 0x422dee
cmp dword [ebp - 0x24], 3
je 0x422dee
xor eax, eax
jmp 0x422df3
mov eax, 1
test eax, eax
je 0x422eff
cmp dword [ebp - 0x28], 0
jle 0x422eff
mov dword [ebp - 0x2c], esp
push dword [ebp - 0x1c]
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x422e27
push 6
call fcn.0043f1f8
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x422eff
mov dword [ebp - 0x2c], esp
push 0
push 0
push 0
push 0
push 2
xor eax, eax
call dword [sym.imp.USER32.dll_mouse_event]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x422e6c
push 6
call fcn.0043f1f8
add esp, 4
fld dword [0x4fea54]
fmul qword [0x468fb5]
fstp qword [ebp - 0x30]
mov dword [ebp - 0x34], esp
fld qword [ebp - 0x30]
call fcn.004027ff
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 0x34], esp
je 0x422ea3
push 6
call fcn.0043f1f8
add esp, 4
mov dword [ebp - 0x2c], esp
push 0
push 0
push 0
push 0
push 4
xor eax, eax
call dword [sym.imp.USER32.dll_mouse_event]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x422edb
push 6
call fcn.0043f1f8
add esp, 4
mov dword [ebp - 0x2c], esp
push 1
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x422eff
push 6
call fcn.0043f1f8
add esp, 4
mov dword [ebp - 0x2c], esp
push 2
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x422f23
push 6
call fcn.0043f1f8
add esp, 4
jmp 0x422770