Function at 0x5bdd90
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
push ebx
push ebp
push esi
add eax, 0xfffffff8
or esi, 0xffffffff
cmp eax, 0xf7
push edi
mov dword [esp + 0x10], ecx
mov byte [0x75ea68], 0
ja case.0x5bddc5.77
xor ecx, ecx
mov cl, byte [eax + 0x5be54c]
jmp dword [ecx*4 + 0x5be434]
mov esi, 0x4c2c
jmp case.0x5bddc5.77
mov esi, 0x4c2d
jmp case.0x5bddc5.77
mov esi, 0x4c2f
jmp case.0x5bddc5.77
mov esi, 0x4c36
jmp case.0x5bddc5.77
mov esi, 0x4c37
jmp case.0x5bddc5.77
mov esi, 0x4c38
jmp case.0x5bddc5.77
mov esi, 0x4c39
jmp case.0x5bddc5.77
mov esi, 0x4c3a
jmp case.0x5bddc5.77
mov esi, 0x4c3b
jmp case.0x5bddc5.77
mov esi, 0x4c3c
jmp case.0x5bddc5.77
mov esi, 0x4c3d
jmp case.0x5bddc5.77
mov esi, 0x4c3e
jmp case.0x5bddc5.77
mov esi, 0x4c43
jmp case.0x5bddc5.77
mov esi, 0x4c44
jmp case.0x5bddc5.77
mov esi, 0x4c49
jmp case.0x5bddc5.77
mov esi, 0x4c4a
jmp case.0x5bddc5.77
mov esi, 0x4c4b
jmp case.0x5bddc5.77
mov esi, 0x4c4c
jmp case.0x5bddc5.77
mov esi, 0x4c4d
jmp case.0x5bddc5.77
mov esi, 0x4c4e
jmp case.0x5bddc5.77
mov esi, 0x4c4f
jmp case.0x5bddc5.77
mov esi, 0x4c50
jmp case.0x5bddc5.77
mov esi, 0x4c51
jmp case.0x5bddc5.77
mov esi, 0x4c52
jmp case.0x5bddc5.77
mov esi, 0x4c53
jmp case.0x5bddc5.77
mov esi, 0x4c54
jmp case.0x5bddc5.77
mov esi, 0x4c55
jmp case.0x5bddc5.77
mov esi, 0x4c56
jmp case.0x5bddc5.77
mov esi, 0x4c92
jmp case.0x5bddc5.77
mov esi, 0x4c57
jmp case.0x5bddc5.77
mov esi, 0x4c58
jmp case.0x5bddc5.77
mov esi, 0x4c59
jmp case.0x5bddc5.77
mov esi, 0x4c5a
jmp case.0x5bddc5.77
mov esi, 0x4c5b
jmp case.0x5bddc5.77
mov esi, 0x4c5c
jmp case.0x5bddc5.77
mov esi, 0x4c5d
jmp case.0x5bddc5.77
mov esi, 0x4c5e
jmp case.0x5bddc5.77
mov esi, 0x4c5f
jmp case.0x5bddc5.77
mov esi, 0x4c60
jmp case.0x5bddc5.77
mov esi, 0x4c61
jmp case.0x5bddc5.77
mov esi, 0x4c63
jmp case.0x5bddc5.77
mov esi, 0x4c64
jmp case.0x5bddc5.77
mov esi, 0x4c65
jmp case.0x5bddc5.77
mov esi, 0x4c66
jmp case.0x5bddc5.77
mov esi, 0x4c67
jmp case.0x5bddc5.77
mov esi, 0x4c68
jmp case.0x5bddc5.77
mov esi, 0x4c69
jmp case.0x5bddc5.77
mov esi, 0x4c6a
jmp case.0x5bddc5.77
mov esi, 0x4c6b
jmp case.0x5bddc5.77
mov esi, 0x4c6c
jmp case.0x5bddc5.77
mov esi, 0x4c6d
jmp case.0x5bddc5.77
mov esi, 0x4c6e
jmp case.0x5bddc5.77
mov esi, 0x4c6f
jmp case.0x5bddc5.77
mov esi, 0x4c70
jmp case.0x5bddc5.77
mov esi, 0x4c91
jmp case.0x5bddc5.77
mov esi, 0x4c90
jmp case.0x5bddc5.77
mov esi, 0x4d09
jmp case.0x5bddc5.77
mov esi, 0x4cf7
jmp case.0x5bddc5.77
mov esi, 0x4cf8
jmp case.0x5bddc5.77
mov esi, 0x4cf9
jmp case.0x5bddc5.77
mov esi, 0x4cfa
jmp case.0x5bddc5.77
mov esi, 0x4cfb
jmp case.0x5bddc5.77
mov esi, 0x4cfc
jmp case.0x5bddc5.77
mov esi, 0x4c93
jmp case.0x5bddc5.77
mov esi, 0x4cfe
jmp case.0x5bddc5.77
mov esi, 0x4cff
jmp case.0x5bddc5.77
mov esi, 0x4d00
jmp case.0x5bddc5.77
mov esi, 0x4d07
jmp case.0x5bddc5.77
mov esi, 0x4d08
mov eax, dword [0x65c444]
mov ebx, dword [sym.imp.USER32.dll_GetKeyNameTextA]
mov edi, dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov byte [esp + 0x44], 0
test eax, eax
mov byte [esp + 0x2c], 0
mov byte [esp + 0x14], 0
jne 0x5be112
lea edx, [esp + 0x5c]
push 0x14
push edx
push 0
push 0x11
call edi
shl eax, 0x10
push eax
call ebx
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
test eax, eax
je 0x5be0a4
mov al, byte [esp + 0x5c]
test al, al
je 0x5be0a4
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x44]
push eax
push 0x65cd68
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x5c]
push 0x14
push edx
push 0
push 0x12
call edi
shl eax, 0x10
push eax
call ebx
test eax, eax
je 0x5be0d7
mov al, byte [esp + 0x5c]
test al, al
je 0x5be0d7
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
push 0x65cd68
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x5c]
push 0x14
push edx
push 0
push 0x10
call edi
shl eax, 0x10
push eax
call ebx
test eax, eax
je 0x5be10a
mov al, byte [esp + 0x5c]
test al, al
je 0x5be10a
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x14]
push eax
push 0x65cd68
push ecx
call ebp
add esp, 0xc
mov al, byte [esp + 0x44]
test al, al
jne 0x5be127
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push 0x14
push eax
mov edx, dword [ecx]
push 0x4cf4
call dword [edx + 0x28]
mov al, byte [esp + 0x2c]
test al, al
jne 0x5be144
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x2c]
push 0x14
push eax
mov edx, dword [ecx]
push 0x4cf5
call dword [edx + 0x28]
mov al, byte [esp + 0x14]
test al, al
jne 0x5be161
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push 0x14
push eax
mov edx, dword [ecx]
push 0x4cf6
call dword [edx + 0x28]
mov eax, dword [0x65c444]
test eax, eax
jne 0x5be320
mov edx, dword [esp + 0xf4]
test esi, esi
jl 0x5be37f
cmp edx, 0xfb
jl 0x5be191
cmp edx, 0xff
jle 0x5be327
cmp edx, 0x70
jl 0x5be1a2
cmp edx, 0x87
jle 0x5be327
xor ebp, ebp
push ebp
push edx
call edi
test eax, eax
je 0x5be2be
mov ecx, dword [esp + 0xf4]
add ecx, 0xffffffdf
cmp ecx, 0x4e
ja case.0x5be1c7.34
xor edx, edx
mov dl, byte [ecx + 0x5be64c]
jmp dword [edx*4 + 0x5be644]
mov ebp, 0x1000000
mov edi, eax
lea eax, [esp + 0x70]
shl edi, 0x10
mov ecx, edi
push 0x80
or ecx, ebp
push eax
push ecx
call ebx
test eax, eax
je 0x5be212
mov eax, dword [esp + 0x100]
lea edx, [esp + 0x14]
test eax, eax
jne 0x5be201
mov edx, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x2c]
test eax, eax
jne 0x5be24b
jmp 0x5be246
lea edx, [esp + 0x70]
push 0x80
push edx
push edi
call ebx
test eax, eax
mov eax, dword [esp + 0x100]
je 0x5be271
test eax, eax
lea edx, [esp + 0x14]
jne 0x5be237
mov edx, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x2c]
test eax, eax
jne 0x5be24b
mov ecx, 0x6619f0
mov eax, dword [esp + 0xf8]
test eax, eax
lea eax, [esp + 0x44]
jne 0x5be25f
mov eax, 0x6619f0
lea esi, [esp + 0x70]
push esi
push edx
push ecx
push eax
push str._s_s_s_s
jmp 0x5be414
test eax, eax
lea ebx, [esp + 0x14]
jne 0x5be27e
mov ebx, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ebp, [esp + 0x2c]
test eax, eax
jne 0x5be292
mov ebp, 0x6619f0
mov eax, dword [esp + 0xf8]
lea edi, [esp + 0x44]
test eax, eax
jne 0x5be2a6
mov edi, 0x6619f0
mov ecx, dword [esp + 0x10]
push esi
mov eax, dword [ecx]
call dword [eax + 0x24]
push eax
push ebx
push ebp
push edi
push str._s_s_s_s
jmp 0x5be414
cmp dword [esp + 0xf4], 0x6f
jne 0x5be421
mov eax, dword [esp + 0x100]
lea ebx, [esp + 0x14]
test eax, eax
jne 0x5be2e0
mov ebx, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ebp, [esp + 0x2c]
test eax, eax
jne 0x5be2f4
mov ebp, 0x6619f0
mov eax, dword [esp + 0xf8]
lea edi, [esp + 0x44]
test eax, eax
jne 0x5be308
mov edi, 0x6619f0
mov ecx, dword [esp + 0x10]
push esi
mov edx, dword [ecx]
call dword [edx + 0x24]
push eax
push ebx
push ebp
push edi
push str._s_s_s_s
jmp 0x5be414
mov edx, dword [esp + 0xf4]
test esi, esi
jl 0x5be37f
mov eax, dword [esp + 0x100]
lea ebx, [esp + 0x14]
test eax, eax
jne 0x5be33f
mov ebx, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ebp, [esp + 0x2c]
test eax, eax
jne 0x5be353
mov ebp, 0x6619f0
mov eax, dword [esp + 0xf8]
lea edi, [esp + 0x44]
test eax, eax
jne 0x5be367
mov edi, 0x6619f0
mov ecx, dword [esp + 0x10]
push esi
mov eax, dword [ecx]
call dword [eax + 0x24]
push eax
push ebx
push ebp
push edi
push str._s_s_s_s
jmp 0x5be414
cmp edx, 0x30
jl 0x5be3c2
cmp edx, 0x39
jg 0x5be3c2
mov eax, dword [esp + 0x100]
lea esi, [esp + 0x14]
test eax, eax
jne 0x5be39d
mov esi, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x2c]
test eax, eax
jne 0x5be3b1
mov ecx, 0x6619f0
mov eax, dword [esp + 0xf8]
test eax, eax
lea eax, [esp + 0x44]
jne 0x5be408
jmp 0x5be403
cmp edx, 0x41
jl 0x5be421
cmp edx, 0x5a
jg 0x5be421
mov eax, dword [esp + 0x100]
lea esi, [esp + 0x14]
test eax, eax
jne 0x5be3e0
mov esi, 0x6619f0
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x2c]
test eax, eax
jne 0x5be3f4
mov ecx, 0x6619f0
mov eax, dword [esp + 0xf8]
test eax, eax
lea eax, [esp + 0x44]
jne 0x5be408
mov eax, 0x6619f0
movsx edx, dl
push edx
push esi
push ecx
push eax
push str._s_s_s_c
push 0x75ea68
call fcn.005faef4
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 0x75ea68
pop ebx
add esp, 0xe0
ret 0x10