Function at 0x10055320
Capabilities:
Log keystrokes

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc], eax
push ebx
pop ebx
call fcn.100119d0
test eax, eax
jne 0x10055352
mov dword [esi + 0x2658], 0xf
push eax
pop eax
mov dword [esi + 0x2654], 1
mov ch, ch
jmp 0x1005535e
mov dword [esi + 0x2654], 0
mov ebp, ebp
cmp dword [0x101b449c], 0x1000
je 0x10055385
mov dword [esi + 0x2658], 0x28
mov ah, ah
mov ebx, 1
mov dword [esi + 0x2654], ebx
mov ch, ch
jmp 0x10055396
mov dword [esi + 0x2654], 0
mov ch, ch
mov ebx, 1
cmp dword [esi + 0x2654], 0
je 0x100553bb
call fcn.100111e0
cdq
mov ecx, 0x64
idiv ecx
mov edx, edx
cmp dword [esi + 0x2658], edx
jl 0x100553bb
pop esi
mov eax, ebx
pop ebx
ret
push ebp
push edi
mov edi, dword [esp + 0x18]
cmp edi, 0xa0
je 0x100553d1
cmp edi, 0xa1
jne 0x100553da
mov edi, 0x10
mov edi, edi
jmp 0x1005540a
cmp edi, 0xa4
je 0x100553ea
cmp edi, 0xa5
jne 0x100553f3
mov edi, 0x12
mov ebx, ebx
jmp 0x1005540a
cmp edi, 0xa2
je 0x10055403
cmp edi, 0xa3
jne 0x1005540a
mov edi, 0x11
push ebx
pop ebx
cmp dword [esi + 0x337c], 0
jne 0x1005541d
add dword [esi + 0x3368], ebx
mov ch, ch
mov bh, bh
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x1005543b
push ebx
push edi
push esi
call fcn.10054820
add esp, 0xc
mov esi, esi
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, ebx
jne 0x1005557a
push 0
push edi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push edx
pop edx
shl eax, 0x10
or eax, ebx
mov ebx, eax
mov bl, bl
mov ebp, ebp
push edi
call fcn.1004c860
add esp, 4
test eax, eax
je 0x1005546e
or ebx, 0x1000000
mov ah, ah
xor ebp, ebp
mov dl, dl
cmp dword [esi + 0x18], ebp
je 0x100554a0
cmp dword [esi + 0x32d0], ebp
jne 0x100554a0
push 0x717be38b
push esi
call fcn.1004eee0
add esp, 8
test eax, eax
jne 0x100554a0
or ebx, 0x4000000
mov ebx, ebx
mov ebp, 0x4000000
mov ebp, ebp
cmp edi, 0x12
jne 0x100554ae
mov dword [esi + 0x64], 1
push ebx
pop ebx
cmp dword [esi + 0x64], 0
jne 0x10055517
cmp edi, 0x79
je 0x10055517
cmp dword [esi + 0x32b0], 0
je 0x100554c6
mov ebx, ebp
push edx
pop edx
cmp dword [esi + 0x32ac], 0
je 0x100554fa
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.100528d0
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.10052790
mov bh, bh
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
or ebx, 0x20000000
mov edi, edi
cmp dword [esi + 0x32b0], 0
je 0x1005552c
mov ebx, ebp
mov edx, edx
cmp dword [esi + 0x32ac], 0
je 0x1005555d
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.100527a0
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.10052790
mov ecx, ecx
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret
cmp eax, 2
jne 0x10055596
cmp edi, 0x12
jne 0x10055589
mov dword [esi + 0x64], ebx
mov esi, esi
push ebx
push edi
push esi
call fcn.100b5730
add esp, 0xc
mov cl, cl
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
ret