Function at 0x1005ccd0
Capabilities:
Log keystrokes

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x18]
mov dword [esp + 0xc], eax
mov cl, cl
call fcn.10014610
test eax, eax
jne 0x1005cd02
mov dword [esi + 0x2650], 0xf
push ebx
pop ebx
mov dword [esi + 0x264c], 1
mov bl, bl
jmp 0x1005cd0e
mov dword [esi + 0x264c], 0
mov esi, esi
cmp dword [0x101c739c], 0x1000
je 0x1005cd35
mov dword [esi + 0x2650], 0x28
push ebx
pop ebx
mov ebx, 1
mov dword [esi + 0x264c], ebx
mov bh, bh
jmp 0x1005cd46
mov dword [esi + 0x264c], 0
push edx
pop edx
mov ebx, 1
cmp dword [esi + 0x264c], 0
je 0x1005cd6b
call fcn.10013d70
cdq
mov ecx, 0x64
idiv ecx
push eax
pop eax
cmp dword [esi + 0x2650], edx
jl 0x1005cd6b
pop esi
mov eax, ebx
pop ebx
ret
push ebp
push edi
mov edi, dword [esp + 0x18]
cmp edi, 0xa0
je 0x1005cd81
cmp edi, 0xa1
jne 0x1005cd8a
mov edi, 0x10
mov ebp, ebp
jmp 0x1005cdba
cmp edi, 0xa4
je 0x1005cd9a
cmp edi, 0xa5
jne 0x1005cda3
mov edi, 0x12
mov bh, bh
jmp 0x1005cdba
cmp edi, 0xa2
je 0x1005cdb3
cmp edi, 0xa3
jne 0x1005cdba
mov edi, 0x11
push ecx
pop ecx
cmp dword [esi + 0x3374], 0
jne 0x1005cdcd
add dword [esi + 0x3360], ebx
mov ah, ah
mov ecx, ecx
mov eax, dword [esi + 0x3c]
test eax, eax
jne 0x1005cdec
push ebx
push esi
mov eax, edi
call fcn.1005c1e0
add esp, 8
mov eax, eax
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, ebx
jne 0x1005cf2b
push 0
push edi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov edi, edi
shl eax, 0x10
or eax, ebx
mov ebx, eax
mov ebx, ebx
mov edi, edi
push edi
call fcn.10053660
add esp, 4
test eax, eax
je 0x1005ce1f
or ebx, 0x1000000
mov al, al
xor ebp, ebp
mov cl, cl
cmp dword [esi + 0x14], ebp
je 0x1005ce51
cmp dword [esi + 0x32c8], ebp
jne 0x1005ce51
push 0x717be38b
push esi
call fcn.10055ce0
add esp, 8
test eax, eax
jne 0x1005ce51
or ebx, 0x4000000
mov edi, edi
mov ebp, 0x4000000
mov ah, ah
cmp edi, 0x12
jne 0x1005ce5f
mov dword [esi + 0x60], 1
mov ah, ah
cmp dword [esi + 0x60], 0
jne 0x1005cec8
cmp edi, 0x79
je 0x1005cec8
cmp dword [esi + 0x32a8], 0
je 0x1005ce77
mov ebx, ebp
mov cl, cl
cmp dword [esi + 0x32a4], 0
je 0x1005ceab
mov edx, dword [esi + 0x32ac]
mov eax, dword [esp + 0x14]
push 0
push edx
push 1
push ebx
push edi
push 0x100
push eax
call fcn.10059600
add esp, 0x1c
mov bh, bh
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
mov ecx, dword [esp + 0x14]
push ebx
push edi
push 0x100
push ecx
call fcn.100594c0
xchg ebx, eax
xchg ebx, eax
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
or ebx, 0x20000000
mov dh, dh
cmp dword [esi + 0x32a8], 0
je 0x1005cedd
mov ebx, ebp
mov al, al
cmp dword [esi + 0x32a4], 0
je 0x1005cf0e
mov edx, dword [esi + 0x32ac]
mov eax, dword [esp + 0x14]
push 0
push edx
push 1
push ebx
push edi
push 0x104
push eax
call fcn.100594d0
xchg ebx, eax
xchg ebx, eax
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
mov ecx, dword [esp + 0x14]
push ebx
push edi
push 0x104
push ecx
call fcn.100594c0
mov al, al
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, 2
jne 0x1005cf47
cmp edi, 0x12
jne 0x1005cf3a
mov dword [esi + 0x60], ebx
mov ah, ah
push ebx
push edi
push esi
call fcn.100c5040
add esp, 0xc
mov ebp, ebp
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret