Function at 0x58d44c
Capabilities:
Log keystrokes via polling

Disassembly:
push esi
push ebp
mov ebp, ecx
mov esi, dword [esp + 0xc]
cmp edx, 0x102
jne 0x58d4cc
cmp esi, 0x11
je 0x58d640
cmp esi, 0x12
je 0x58d640
cmp esi, 0x10
je 0x58d640
cmp esi, 8
je 0x58d495
cmp esi, 0x20
je 0x58d495
cmp esi, 9
je 0x58d495
cmp esi, 0xd
je 0x58d495
cmp esi, 0xa
je 0x58d495
cmp esi, 0x1b
jne 0x58d49a
pop ebp
pop esi
ret 8
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x58d4af
or esi, 0x20000
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x58d4c4
or esi, 0x40000
mov dword [ebp], esi
pop ebp
pop esi
ret 8
cmp esi, 3
jne 0x58d4de
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x6c]
jmp 0x58d659
cmp esi, 0x1b
jne 0x58d4f0
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x58]
jmp 0x58d659
cmp esi, 9
jne 0x58d502
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x60]
jmp 0x58d659
cmp esi, 8
jne 0x58d514
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x68]
jmp 0x58d659
cmp esi, 0xd
jne 0x58d526
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x74]
jmp 0x58d659
cmp esi, 0x20
jne 0x58d538
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x5c]
jmp 0x58d659
cmp esi, 0x2c
jne 0x58d54a
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x70]
jmp 0x58d659
cmp esi, 0x21
jne 0x58d55c
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x38]
jmp 0x58d659
cmp esi, 0x22
jne 0x58d56e
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x4c]
jmp 0x58d659
cmp esi, 0x23
jne 0x58d580
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x44]
jmp 0x58d659
cmp esi, 0x24
jne 0x58d592
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x30]
jmp 0x58d659
cmp esi, 0x25
jne 0x58d5a4
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x3c]
jmp 0x58d659
cmp esi, 0x26
jne 0x58d5b6
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x34]
jmp 0x58d659
cmp esi, 0x27
jne 0x58d5c8
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x40]
jmp 0x58d659
cmp esi, 0x28
jne 0x58d5da
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x48]
jmp 0x58d659
cmp esi, 0x2d
jne 0x58d5e9
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x50]
jmp 0x58d659
cmp esi, 0x2e
jne 0x58d5f8
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x54]
jmp 0x58d659
cmp esi, 0x70
jb 0x58d622
cmp esi, 0x79
ja 0x58d60f
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov edx, dword [eax]
lea esi, [edx + esi - 0x70]
jmp 0x58d659
cmp esi, 0x7a
jne 0x58d6ad
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x28]
jmp 0x58d659
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jl 0x58d645
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jl 0x58d645
pop ebp
pop esi
ret 8
cmp esi, 0x30
jb 0x58d640
cmp esi, 0x39
jbe 0x58d659
cmp esi, 0x41
jb 0x58d640
cmp esi, 0x5a
ja 0x58d640
mov dword [ebp], esi
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x58d672
or dword [ebp], 0x20000
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x58d688
or dword [ebp], 0x40000
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
cmp esi, dword [eax + 0x5c]
je 0x58d6a8
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x58d6a8
or dword [ebp], 0x10000
pop ebp
pop esi
ret 8
cmp esi, 0x7b
jne 0x58d622
mov eax, dword [str.__b__b_b__b__b__bA_bB_bC_bD_bW_bX_bG_bH_bI_bK_bM_bO_bP_bQ_bR_bS_b]
mov esi, dword [eax + 0x2c]
jmp 0x58d659