Function at 0x10054d10
Capabilities:
Log keystrokes

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc], eax
mov cl, cl
call fcn.10011070
test eax, eax
jne 0x10054d42
mov dword [esi + 0x2658], 0xf
mov al, al
mov dword [esi + 0x2654], 1
push ecx
pop ecx
jmp 0x10054d4e
mov dword [esi + 0x2654], 0
mov cl, cl
cmp dword [0x101b249c], 0x1000
je 0x10054d75
mov dword [esi + 0x2658], 0x28
mov cl, cl
mov ebx, 1
mov dword [esi + 0x2654], ebx
push eax
pop eax
jmp 0x10054d86
mov dword [esi + 0x2654], 0
xchg ebx, eax
xchg ebx, eax
mov ebx, 1
cmp dword [esi + 0x2654], 0
je 0x10054dab
call fcn.10010880
cdq
mov ecx, 0x64
idiv ecx
push ecx
pop ecx
cmp dword [esi + 0x2658], edx
jl 0x10054dab
pop esi
mov eax, ebx
pop ebx
ret
push ebp
push edi
mov edi, dword [esp + 0x18]
cmp edi, 0xa0
je 0x10054dc1
cmp edi, 0xa1
jne 0x10054dca
mov edi, 0x10
mov eax, eax
jmp 0x10054df9
cmp edi, 0xa4
je 0x10054dda
cmp edi, 0xa5
jne 0x10054de3
mov edi, 0x12
mov ebp, ebp
jmp 0x10054df9
cmp edi, 0xa2
je 0x10054df3
cmp edi, 0xa3
jne 0x10054df9
mov edi, 0x11
nop
cmp dword [esi + 0x337c], 0
jne 0x10054e0c
add dword [esi + 0x3368], ebx
mov esi, esi
mov bl, bl
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x10054e2a
push ebx
push edi
push esi
call fcn.10054210
add esp, 0xc
mov ebx, ebx
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, ebx
jne 0x10054f68
push 0
push edi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push ebx
pop ebx
shl eax, 0x10
or eax, ebx
mov ebx, eax
mov dl, dl
push eax
pop eax
push edi
call fcn.1004be20
add esp, 4
test eax, eax
je 0x10054e5c
or ebx, 0x1000000
nop
xor ebp, ebp
mov dh, dh
cmp dword [esi + 0x18], ebp
je 0x10054e8e
cmp dword [esi + 0x32d0], ebp
jne 0x10054e8e
push 0x717be38b
push esi
call fcn.1004e4a0
add esp, 8
test eax, eax
jne 0x10054e8e
or ebx, 0x4000000
mov cl, cl
mov ebp, 0x4000000
push ecx
pop ecx
cmp edi, 0x12
jne 0x10054e9c
mov dword [esi + 0x64], 1
mov bh, bh
cmp dword [esi + 0x64], 0
jne 0x10054f05
cmp edi, 0x79
je 0x10054f05
cmp dword [esi + 0x32b0], 0
je 0x10054eb4
mov ebx, ebp
push ebx
pop ebx
cmp dword [esi + 0x32ac], 0
je 0x10054ee8
mov edx, dword [esi + 0x32b4]
mov eax, dword [esp + 0x14]
push 0
push edx
push 1
push ebx
push edi
push pe_nt_image_headers32
push eax
call fcn.10052250
add esp, 0x1c
mov eax, eax
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
mov ecx, dword [esp + 0x14]
push ebx
push edi
push pe_nt_image_headers32
push ecx
call fcn.10052110
push eax
pop eax
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
or ebx, 0x20000000
push edx
pop edx
cmp dword [esi + 0x32b0], 0
je 0x10054f1a
mov ebx, ebp
mov ah, ah
cmp dword [esi + 0x32ac], 0
je 0x10054f4b
mov edx, dword [esi + 0x32b4]
mov eax, dword [esp + 0x14]
push 0
push edx
push 1
push ebx
push edi
push 0x104
push eax
call fcn.10052120
mov ah, ah
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.10052110
mov edx, edx
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, 2
jne 0x10054f84
cmp edi, 0x12
jne 0x10054f77
mov dword [esi + 0x64], ebx
mov al, al
push ebx
push edi
push esi
call fcn.100b44b0
add esp, 0xc
push ecx
pop ecx
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret