Function at 0x554950
Capabilities:
Log keystrokes via polling

Disassembly:
mov al, byte [0x76aa28]
sub esp, 0x10
test al, al
jne 0x554962
xor al, al
add esp, 0x10
ret
mov eax, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x24]
push esi
mov esi, dword [esp + 0x1c]
push edi
push ebx
push eax
push esi
call fcn.0052f8c0
add esp, 0xc
test eax, eax
jne 0x554984
xor edi, edi
jmp 0x55498a
mov edi, dword [eax + 0x11c]
mov eax, dword [esp + 0x24]
sub eax, 0x201
mov ecx, dword [0x77da48]
push ebp
mov ebp, dword [ecx + 0x458]
je 0x554aac
sub eax, 3
je 0x5549b5
pop ebp
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
test esi, esi
je 0x5549c2
cmp dword [esi + 0x17c], 0xe
je 0x554a00
test edi, edi
je 0x554a0a
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xb4]
test al, al
je 0x554a0a
mov ecx, dword [0x77e2dc]
test ecx, ecx
je 0x554a0a
mov eax, dword [edi + 0x2c]
push eax
call fcn.004e2e60
test al, al
je 0x554a0a
push 0xffff0000
push 0x716188
mov ecx, 0x77e198
call fcn.004659a0
pop ebp
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x10
ret
test esi, esi
je 0x554a3e
mov eax, dword [esi + 0x17c]
cmp eax, 0xc
jne 0x554a39
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xb4]
test al, al
jne 0x5549ec
push edi
call fcn.00552ff0
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
cmp eax, 0xd
je 0x554a00
test edi, edi
je 0x554a4c
mov al, byte [edi + 0x589]
test al, al
jne 0x554a00
test esi, esi
je 0x554a76
cmp dword [esi + 0x17c], 7
jne 0x554a76
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
push 0x204
mov eax, esi
call fcn.00554010
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov edi, dword [esp + 0x2c]
push ebx
push edi
mov eax, esi
call fcn.0053c480
add esp, 8
test al, al
jne 0x554a00
push 0x716178
call fcn.0040f1b0
push ebx
push edi
mov ecx, esi
call fcn.0053a320
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
call fcn.00462680
cmp dword [eax + 0x174], 0x19
jne 0x554b55
mov eax, dword [0x77e288]
xor ebx, ebx
xor edx, edx
cmp eax, ebx
je 0x554ad1
mov edx, dword [eax + 0x440]
cmp esi, ebx
je 0x554b4b
cmp dword [esi + 0x17c], 1
jne 0x554b4b
xor ecx, ecx
push ecx
xor eax, eax
push eax
push edx
call fcn.0052ed20
add esp, 0xc
cmp edi, ebx
je 0x554b4b
cmp eax, ebx
je 0x554b06
mov eax, dword [eax + 0x590]
cmp eax, ebx
je 0x554b06
mov ecx, eax
call fcn.00553010
lea edx, [esp + 0x14]
push edx
mov ecx, edi
mov dword [esp + 0x18], 0xe
mov dword [esp + 0x1c], ebx
mov word [esp + 0x20], bx
mov word [esp + 0x22], bx
call fcn.00553040
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], ebx
call fcn.00462680
mov ecx, eax
call fcn.00462b30
push ebx
push ebx
call fcn.00462680
mov ecx, eax
call fcn.00462a60
pop ebp
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x10
ret
test esi, esi
je 0x554ba5
mov eax, dword [esi + 0x17c]
cmp eax, 0xf
jne 0x554b7d
mov ecx, dword [0x77e330]
test ecx, ecx
je 0x554b73
call fcn.00455a90
pop ebp
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x10
ret
cmp eax, 0xe
jne 0x554b93
push esi
call fcn.00554800
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
cmp eax, 0xc
je 0x5549ab
cmp eax, 0x15
je 0x5549ab
call fcn.0062c610
mov ecx, eax
call fcn.0062b090
test eax, eax
jne 0x554bf2
mov eax, dword [0x77e2dc]
test eax, eax
je 0x554bf2
mov cl, byte [eax + 0x67]
test cl, cl
je 0x554bf2
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xb4]
test al, al
jne 0x554bf2
test esi, esi
je 0x554c1f
cmp dword [esi + 0x17c], 1
jne 0x554bf2
push edi
call fcn.00530370
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
test esi, esi
je 0x554c1f
cmp dword [esi + 0x17c], 0xd
jne 0x554c1f
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xb4]
test al, al
jne 0x554c1f
push edi
call fcn.00530470
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
test edi, edi
je 0x554c4d
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xb4]
test al, al
je 0x554c4d
mov ecx, dword [0x77e2dc]
test ecx, ecx
je 0x554c4d
mov eax, dword [edi + 0x2c]
push eax
call fcn.004e2e60
test al, al
jne 0x5549ec
test esi, esi
je 0x554c69
mov eax, dword [esi + 0x17c]
cmp eax, 0xd
je 0x554a00
cmp eax, 0x14
je 0x5549ab
test edi, edi
je 0x554c7b
mov al, byte [edi + 0x589]
test al, al
jne 0x554a00
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
test ax, ax
jge 0x554cb3
test esi, esi
je 0x554c9b
cmp dword [esi + 0x17c], 7
je 0x5549ab
mov eax, dword [esp + 0x2c]
push ebx
push eax
mov eax, esi
call fcn.0052f930
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
call fcn.00462680
cmp dword [eax + 0x170], 0x10
jne 0x554cd9
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
mov eax, esi
call fcn.0052fa10
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
push 0x10
call edi
test ax, ax
push ebx
jge 0x554cf9
mov edx, dword [esp + 0x30]
push edx
push esi
call fcn.005302b0
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x30]
push eax
push 0x201
mov eax, esi
call fcn.00554010
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret