Function at 0x4625f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x438
push esi
mov esi, dword [esp + 0x444]
push esi
call fcn.00508aa0
add esp, 4
test eax, eax
je 0x462a82
mov eax, dword [esi]
push eax
call fcn.0058ea30
add esp, 4
test eax, eax
je 0x462a82
mov eax, dword [esi + 0x14]
test eax, eax
mov ecx, dword [esi + 0x43c]
mov dword [esp + 4], ecx
je 0x46268a
test al, 1
je 0x462642
push esi
push 0
call fcn.00461560
add esp, 8
test byte [esi + 0x14], 2
je 0x462651
push esi
call fcn.0054aa80
add esp, 4
test byte [esi + 0x14], 4
je 0x462662
push 0
push esi
call fcn.00549120
add esp, 8
test byte [esi + 0x14], 8
je 0x462683
mov eax, dword [0x61a548]
test eax, eax
je 0x462683
mov eax, dword [0x61a558]
test eax, eax
je 0x462683
push esi
call fcn.00549830
add esp, 4
mov dword [esi + 0x14], 0
mov eax, dword [esp + 0x440]
test eax, eax
push ebx
push ebp
push edi
jne 0x4626d2
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x4626a8
push esi
call fcn.00549830
add esp, 4
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
test ah, ah
jns 0x4626bf
push esi
call fcn.0054aa80
add esp, 4
push 0x10
call edi
test ah, ah
js 0x4626d2
push 0
push esi
call fcn.00549120
add esp, 8
push esi
push 0
call fcn.00461960
mov al, byte [esi + 0x2c02]
add esp, 8
test al, al
je 0x462a45
mov al, byte [esi + 0x2d34]
test al, al
je 0x462a45
mov al, byte [esi + 0x2e66]
test al, al
lea edi, [esi + 0x2e66]
je 0x462a45
mov al, byte [esi + 0x3204]
test al, al
lea ebx, [esi + 0x3204]
je 0x462a45
mov al, byte [esi + 0x36cc]
test al, al
lea ebp, [esi + 0x36cc]
je 0x462a45
mov eax, dword [0x680f20]
test eax, eax
je 0x46277c
push edi
lea edx, [esi + 0x30ca]
push 0x132
push edx
mov dword [esi + 0x31fc], 2
call fcn.00425550
mov eax, dword [esi + 0x31fc]
imul eax, eax, 0x132
push edi
lea ecx, [eax + esi + 0x3b94]
push 0x132
push ecx
call fcn.00425550
add esp, 0x18
mov eax, dword [esp + 0x10]
test eax, eax
je 0x46280f
mov ecx, dword [esi + 0x434]
mov eax, 2
cmp ecx, eax
mov dword [esi + 0x438], 1
jge 0x4627a7
mov dword [esi + 0x434], eax
mov edx, dword [esi + 0x434]
push ebp
push ebx
dec edx
push edx
push 0
push 0x5e0
call fcn.00424130
add esp, 8
push eax
push 0x676ee8
call fcn.005d9929
mov eax, dword [esi + 0x10]
add esp, 0x14
test eax, eax
je 0x462873
mov eax, 0x676ee8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4627e1
sub eax, edx
push 0
push 0x5e3
mov edi, eax
call fcn.00424130
push eax
lea eax, [edi + 0x676ee8]
push 0x5f4e44
push eax
call fcn.005d9929
add esp, 0x14
jmp 0x462873
push ebp
push ebx
mov eax, 1
push 0
push 0x5df
mov dword [esi + 0x434], eax
mov dword [esi + 0x438], eax
call fcn.00424130
add esp, 8
push eax
push 0x676ee8
call fcn.005d9929
mov eax, dword [esi + 0x27b4]
add esp, 0x10
test eax, eax
je 0x462858
push 0x2e
push ebx
call fcn.005d9b20
add esp, 8
test eax, eax
jne 0x462873
mov eax, dword [0x61a548]
test eax, eax
je 0x462873
mov eax, dword [0x61a558]
test eax, eax
je 0x462873
push esi
call fcn.00549830
add esp, 4
push ebx
lea ecx, [esi + 0x37fe]
push 0x132
push ecx
call fcn.00425550
mov edx, dword [0x63ca9c]
mov eax, dword [esi]
push edx
push eax
call fcn.0052dc60
mov ecx, dword [0x63ca9c]
push ecx
mov dword [0x6870cc], 0
mov dword [0x6870dc], 1
mov edx, dword [esi]
push 0x676ee8
push edx
call fcn.0052ddc0
mov eax, dword [0x63ca9c]
mov ecx, dword [esi]
push eax
push ecx
call fcn.0052dc60
mov al, byte [esi + 0x27d0]
lea edi, [esi + 0x27d0]
add esp, 0x28
test al, al
je 0x46293a
push ebp
call fcn.005d9a55
push eax
push ebx
lea edx, [esp + 0x20]
push str._s:_d
push edx
call fcn.005d9929
lea eax, [esp + 0x28]
push eax
push edi
call fcn.005f1860
add esp, 0x1c
test eax, eax
jne 0x46293a
cmp byte [ebp], 0x2b
je 0x462944
push ebp
lea ecx, [esp + 0x18]
push 0x5f7ba8
push ecx
call fcn.005d9929
mov edx, ebp
lea ecx, [esp + 0x20]
add esp, 0xc
lea eax, [esp + 0x14]
sub edx, ecx
jmp 0x462930
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x462930
cmp byte [ebp], 0x2b
jne 0x4629ca
push ebp
mov dword [esi + 0x818c], 1
call fcn.005d9a55
push eax
push ebx
push str._s:_d
push edi
call fcn.005d9929
mov eax, dword [0x693b78]
add esp, 0x14
test eax, eax
jne 0x4629e2
mov edx, dword [0x63ca9c]
push edx
push 0
push 0x1425
mov dword [0x6870cc], 0
mov dword [0x6870dc], 1
call fcn.00424130
add esp, 8
push eax
mov eax, dword [esi]
push eax
call fcn.0052eb30
push 0x676ee8
push 0x5e2
call fcn.00424130
push esi
push 1
push 0x676ee8
call fcn.00461840
add esp, 0x20
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x438
ret
push 0x432
push edi
mov dword [esi + 0x818c], 0
call fcn.004232e0
add esp, 8
push esi
call fcn.004dfa80
push esi
call fcn.004ae590
push 1
call fcn.00508fa0
mov eax, dword [0x61a53c]
add esp, 0xc
test eax, eax
je 0x462a0a
push esi
call fcn.00549b60
add esp, 4
mov eax, dword [esi + 0x1720]
test eax, eax
jne 0x462a31
mov eax, dword [0x61a534]
test eax, eax
jne 0x462a31
push esi
call fcn.00598680
add esp, 4
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x438
ret
push esi
call fcn.00599ae0
add esp, 4
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x438
ret
push esi
push 1
push 0x5f4c90
call fcn.00461840
push 0
call fcn.00421dc0
mov ecx, dword [0x6a0f40]
add esp, 0x10
push 2
push 0x9f
push 0x111
push ecx
mov dword [0x682e8c], 1
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x438
ret