Function at 0x487c30
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bb219
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x61f138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00487b70
cmp dword [0x6d40f0], eax
je 0x487cd2
mov edx, eax
mov dword [0x6d40f0], eax
lea ecx, [ebp - 0x40]
call fcn.00436a50
cmp dword [eax + 0x14], 8
jb 0x487c84
mov eax, dword [eax]
mov ecx, dword [esi + 0xa4]
push eax
push 0
push 0xc
push dword [ecx + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x487cd2
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x487cc8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48829f
push edx
push ecx
call fcn.0056eec5
add esp, 8
cmp byte [0x6c4dfb], 0
je 0x487de6
cmp dword [0x6aae94], 0
je 0x487de6
sub esp, 8
lea ecx, [ebp - 0x108]
call fcn.00442390
mov edx, str.Connecting_to_a_client
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xf8]
call fcn.00449e10
cmp dword [0x6aae98], 8
mov edx, 0x6aae84
push dword [0x6aae94]
cmovae edx, dword [0x6aae84]
mov ecx, eax
call fcn.0044d4b0
add esp, 4
mov edx, str._from_arguments
mov ecx, eax
call fcn.00449e10
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xf0]
call fcn.004466f0
push 0x1f2
mov edx, str.dialogmain.cpp
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004c37b0
mov byte [ebp - 4], 0
add esp, 4
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x487da6
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x487d9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4882a4
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.0043ae30
push 0x6aae84
mov ecx, esi
call fcn.004882c0
cmp dword [0x6aae98], 8
mov eax, 0x6aae84
mov dword [0x6aae94], 0
cmovae eax, dword [0x6aae84]
xor ecx, ecx
mov word [eax], cx
cmp byte [0x6c4df9], 0
je 0x487e64
cmp byte [esi + 0x9c], 0
je 0x487e64
push 0xd
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x487e64
mov ecx, dword [esi + 0xd4]
lea eax, [ebp - 0x40]
push eax
call fcn.0052ad40
push eax
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.004882c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x487e64
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x487e5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4882a9
push edx
push ecx
call fcn.0056eec5
add esp, 8
push 0x6d3460
lea ecx, [ebp - 0x58]
call fcn.00436b10
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.00449dc0
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
fild qword [ebp - 0x48]
fmul dword [0x5f7a40]
fld dword [0x5f7b2c]
fcompi st(1)
fstp st(0)
ja 0x488283
lea ecx, [ebp - 0x50]
call fcn.00436b10
mov ecx, dword [eax]
mov dword [0x6d3460], ecx
mov eax, dword [eax + 4]
mov dword [0x6d3464], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6d66e0]
cmp eax, dword [ecx + 4]
jle 0x487f17
push 0x6d66e0
call fcn.0056f0e8
add esp, 4
cmp dword [0x6d66e0], 0xffffffff
jne 0x487f17
push 0x5ca640
mov dword [0x6d66f4], 0
mov dword [0x6d66f8], 0xf
mov byte [0x6d66e4], 0
call fcn.0056f444
push 0x6d66e0
call fcn.0056f09e
add esp, 8
call fcn.0051e130
mov edi, eax
cmp dword [edi + 0x14], 0x10
jb 0x487f26
mov edi, dword [edi]
mov ebx, dword [0x6c4e08]
cmp dword [0x6aae80], ebx
jne 0x487f74
mov edx, edi
lea ecx, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x487f40
sub edx, ecx
cmp dword [0x6d66f8], 0x10
push edx
mov edx, dword [0x6d66f4]
mov ecx, 0x6d66e4
cmovae ecx, dword [0x6d66e4]
push edi
call fcn.00456420
add esp, 8
test al, al
jne 0x488064
mov ecx, edi
mov dword [0x6aae80], ebx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487f80
sub ecx, edx
push ecx
push edi
mov ecx, 0x6d66e4
call fcn.004462c0
sub esp, 8
lea ecx, [ebp - 0x108]
call fcn.00442390
mov dword [ebp - 4], 3
call fcn.004387d0
push str.mw_txt_actconnect
push edi
mov ecx, eax
call fcn.00519610
mov edx, eax
lea ecx, [ebp - 0xf8]
call fcn.0044a500
mov eax, dword [0x6aae80]
test eax, eax
jle 0x487fea
push eax
mov edx, 0x5f1298
lea ecx, [ebp - 0xf8]
call fcn.0044a500
mov ecx, eax
call fcn.00442d30
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xf0]
call fcn.004466f0
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
mov eax, dword [esi + 0xf8]
push 0
push 0xc
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x488052
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x488048
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4882ae
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.0043ae30
mov eax, dword [0x6c4e0c]
cmp dword [0x6c4dfc], eax
je 0x488082
mov ecx, dword [esi + 0xa0]
push eax
mov dword [0x6c4dfc], eax
call fcn.0052add0
cmp dword [0x6aae1c], 0x10
mov eax, 0x6aae08
push dword [0x6aae18]
cmovae eax, dword [0x6aae08]
mov ecx, 0x6aae20
cmp dword [0x6aae34], 0x10
mov edx, dword [0x6aae30]
cmovae ecx, dword [0x6aae20]
push eax
call fcn.00456420
add esp, 8
test al, al
jne 0x488283
sub esp, 8
lea ecx, [ebp - 0x1b8]
call fcn.00443510
mov edx, str.Status:
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x1a8]
call fcn.00449a40
cmp dword [0x6aae1c], 0x10
mov edx, 0x6aae08
push dword [0x6aae18]
cmovae edx, dword [0x6aae08]
mov ecx, eax
call fcn.0044d730
add esp, 4
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x1b8]
push eax
call fcn.004433d0
push 0x219
mov edx, str.dialogmain.cpp
mov byte [ebp - 4], 5
mov ecx, eax
call fcn.004c2da0
mov byte [ebp - 4], 4
add esp, 4
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x48816c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x488162
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4882b3
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
call fcn.0043aef0
mov ecx, 0x6aae20
cmp ecx, 0x6aae08
je 0x4881bc
cmp dword [0x6aae1c], 0x10
mov eax, 0x6aae08
push dword [0x6aae18]
cmovae eax, dword [0x6aae08]
push eax
call fcn.004462c0
cmp dword [0x6aae1c], 0x10
mov ecx, 0x6aae08
mov eax, dword [esi + 0x8c]
cmovae ecx, dword [0x6aae08]
push ecx
push dword [eax + 8]
call fcn.0051e130
mov ecx, eax
call fcn.0051e250
mov ebx, dword [0x6aae1c]
mov ecx, 0x6aae08
mov edx, dword [0x6aae18]
cmp ebx, 0x10
push 0x15
cmovae ecx, dword [0x6aae08]
mov edi, 1
push str.mw_statbar_noadapters
call fcn.00456420
add esp, 8
test al, al
je 0x48821c
xor edi, edi
jmp 0x48824a
mov edx, dword [0x6aae18]
cmp ebx, 0x10
mov ecx, 0x6aae08
cmovae ecx, dword [0x6aae08]
push 0x11
push str.mw_statbar_online
call fcn.00456420
add esp, 8
mov ecx, 2
test al, al
cmovne edi, ecx
mov eax, dword [esi + 0x98]
test edi, edi
push 1
sete cl
cmp edi, 1
push 0
mov byte [eax + 0x14], cl
sete cl
mov eax, dword [esi + 0x94]
cmp edi, 2
mov byte [eax + 0x14], cl
sete cl
mov eax, dword [esi + 0x90]
mov byte [eax + 0x14], cl
push dword [esi + 0x10]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056eeb4
mov esp, ebp
pop ebp
ret
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
call fcn.00591dc6
int3