Function at 0x433360
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x4f8194]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
cmp edx, 0x565
ja 0x433586
je 0x4334aa
mov eax, edx
sub eax, 0x501
je 0x433482
dec eax
je 0x433405
dec eax
jne 0x433596
cmp ecx, edi
jne 0x433702
mov eax, ebx
shr eax, 0x10
cmp eax, 1
jne 0x433702
test bx, bx
js 0x43342a
movzx esi, bx
push esi
call fcn.0042f470
test al, al
sete al
movzx eax, al
push eax
push esi
call fcn.0042e870
add esp, 0xc
test eax, eax
je 0x43342a
mov ecx, dword [0x4fe7a0]
test ecx, ecx
je 0x433702
movsx eax, word [ecx + 6]
push eax
movsx eax, word [ecx + 4]
mov ecx, edi
push eax
call fcn.00431d00
jmp 0x433702
cmp ecx, edi
jne 0x433702
mov eax, ebx
shr eax, 0x10
cmp ax, 1
jne 0x433434
test bx, bx
js 0x43342a
push 1
movzx eax, bx
mov ecx, edi
push eax
call fcn.0042fa10
call fcn.00458910
jmp 0x433702
cmp ax, 2
jne 0x433702
test bx, bx
js 0x433702
push 0x3f
lea eax, [ebp - 0x43]
mov byte [ebp - 0x44], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x44]
mov ecx, 0x504888
push eax
movzx eax, bx
push eax
call fcn.004af380
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x1d0]
call fcn.0045dd30
jmp 0x433702
test ebx, ebx
je 0x433702
push 0xffffffffffffffff
lea esi, [edi + 0x1d0]
push ebx
mov ecx, esi
call fcn.0045dd30
push 0
push esi
call fcn.00469230
add esp, 8
jmp 0x433702
lea eax, [edi + 0x488]
cmp ecx, eax
jne 0x4334d7
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004687e0
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 0
push edi
call fcn.00474720
add esp, 0x18
jmp 0x433702
lea eax, [edi + 0x670]
cmp ecx, eax
jne 0x433502
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.0046c6a0
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp - 0x48]
call fcn.00431d00
jmp 0x433702
lea esi, [edi + 0x750]
cmp ecx, esi
jne 0x433579
test ebx, ebx
je 0x43354c
call fcn.0042f580
push 6
mov ebx, eax
call fcn.00433250
add esp, 4
test eax, eax
je 0x433702
imul eax, ebx, 0x1e8
lea ecx, [edi + 0x938]
push 0
add ecx, eax
call fcn.0045c300
push 1
mov ecx, esi
call fcn.0045c300
jmp 0x433702
push 0
call fcn.00433250
add esp, 4
test eax, eax
je 0x433702
push 1
lea ecx, [edi + 0x938]
call fcn.0045c300
push 0
mov ecx, esi
call fcn.0045c300
jmp 0x433702
push ecx
mov ecx, edi
call fcn.004310c0
jmp 0x433702
mov eax, edx
sub eax, 0x62d
je 0x4336fb
dec eax
je 0x4335b3
push ebx
push ecx
push edx
mov ecx, edi
call fcn.0046d5f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004becb4
mov esp, ebp
pop ebp
ret 0xc
cmp ebx, 0xd
jne 0x4335cf
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
and eax, 0x8000
mov ecx, edi
push eax
call fcn.00431280
jmp 0x4335f4
cmp ebx, 0x26
je 0x433678
cmp ebx, 0x28
je 0x433678
cmp ebx, 0x21
je 0x433618
cmp ebx, 0x22
je 0x433618
cmp ebx, 0x1b
jne 0x433702
push 0
push 0
call fcn.00469230
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004becb4
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x16ac]
test eax, eax
js 0x433660
cmp ebx, 0x21
jne 0x43363a
dec eax
jns 0x43364e
call fcn.0042f130
mov ecx, dword [edi + 0x27f4]
dec ecx
add eax, ecx
jmp 0x43364e
lea esi, [eax + 1]
call fcn.0042f130
add eax, dword [edi + 0x27f4]
cmp esi, eax
sbb eax, eax
and eax, esi
cmp eax, dword [edi + 0x16ac]
je 0x433660
push 1
push eax
mov ecx, edi
call fcn.0042fa10
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004becb4
mov esp, ebp
pop ebp
ret 0xc
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4336d2
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1d0]
call fcn.0046c6a0
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0
push eax
lea ecx, [edi + 0x1d0]
call fcn.0045d7f0
cmp ebx, 0x28
mov ecx, edi
sete al
movzx eax, al
push eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x4c]
add eax, dword [ebp - 0x50]
push eax
call fcn.00432010
jmp 0x433702
cmp ebx, 0x26
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.0042fcc0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004becb4
mov esp, ebp
pop ebp
ret 0xc
mov byte [edi + 0x16b0], 0
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004becb4
mov esp, ebp
pop ebp
ret 0xc