Function at 0x55740a
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5f24f5
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x70b744]
xor eax, esp
mov dword [esp + 0x2d0], eax
push ebx
push esi
push edi
mov eax, dword [0x70b744]
xor eax, esp
push eax
lea eax, [esp + 0x2e8]
mov dword fs:[0], eax
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push edi
mov esi, ecx
mov dword [esp + 0x18], edx
call fcn.0054f3f5
xor ebx, ebx
cmp dword [edi], ebx
jne 0x557a77
mov edi, dword [esp + 0x14]
mov edx, edi
mov ecx, esi
call fcn.00553caa
mov eax, dword [edi + 8]
cmp eax, 0xffffff94
je 0x557a3e
cmp eax, 0xffffff9b
je 0x557874
cmp eax, 0xfffffff9
je 0x5577af
add eax, 4
cmp eax, 1
ja 0x557a75
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
push 2
push 0xffffffffffffffff
push 0x100c
lea edi, [esi + 0xb0]
push dword [edi]
test ax, ax
setl byte [esp + 0x33]
call dword [0x71f7ac]
cmp eax, 0xffffffff
je 0x55775c
push eax
mov ecx, edi
mov eax, esi
call fcn.0054e54a
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x55775c
mov eax, dword [eax + 0x25c]
cmp eax, 3
je 0x55775c
cmp byte [esp + 0x23], bl
je 0x55775c
cmp byte [0x722275], bl
je 0x5576b7
lea eax, [esp + 0x18]
push eax
call fcn.004c6191
cmp dword [esp + 0x1c], ebx
pop ecx
je 0x557a75
push 8
xor eax, eax
pop ecx
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0x38], 0x20
call fcn.004c74a1
cmp dword [eax + 0x18], 8
pop ecx
jb 0x557549
mov ecx, dword [eax + 4]
jmp 0x55754c
lea ecx, [eax + 4]
lea edx, [esp + 0x1dc]
movzx eax, word [ecx]
inc ecx
mov word [edx], ax
inc ecx
inc edx
inc edx
cmp ax, bx
jne 0x557553
push ebx
push 1
lea ecx, [esp + 0xe0]
call fcn.00410779
lea eax, [esp + 0x1dc]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x20]
mov dword [esp + 0x20], ebx
call fcn.004ca86a
add esp, 0xc
lea eax, [esp + 0x60]
push 0x24
push eax
call fcn.004c1b34
pop ecx
pop ecx
push ebx
push str.explorer.exe
lea ecx, [esp + 0x68]
mov dword [esp + 0x2f8], 3
call fcn.004acfec
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0x148]
call fcn.0054efa5
lea ecx, [esp + 0x164]
push ecx
mov ecx, eax
mov byte [esp + 0x2f4], 4
call fcn.004144f5
mov byte [esp + 0x2f0], 5
cmp dword [eax + 0x18], 8
jb 0x5575f8
mov eax, dword [eax + 4]
jmp 0x5575fb
add eax, 4
push ebx
push eax
lea ecx, [esp + 0x1c0]
call fcn.004ac9bc
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x2f4], 6
call fcn.004230f9
lea ecx, [esp + 0x1b8]
call fcn.004ac66a
push ebx
push 1
lea ecx, [esp + 0x16c]
call fcn.00410779
push ebx
push 1
lea ecx, [esp + 0x150]
mov byte [esp + 0x2f8], 3
call fcn.00410779
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x69dd8c
call fcn.004120e9
lea ecx, [esp + 0x7c]
mov byte [esp + 0x30c], 7
call fcn.004acb45
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.004120e9
push dword [esp + 0x50]
mov byte [esp + 0x32c], 3
call fcn.004c6eb0
add esp, 0x3c
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x54]
push dword [esp + 0x20]
call fcn.004ca889
add esp, 0xc
lea ecx, [esp + 0x60]
call fcn.004ac66a
jmp 0x557a75
lea eax, [esp + 0x110]
push eax
lea ecx, [esi + 0x78]
call fcn.004144f5
mov dword [esp + 0x14], eax
mov dword [esp + 0x2f0], 8
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0x19c]
call fcn.0054efa5
lea ecx, [esp + 0x84]
push ecx
mov ecx, eax
mov byte [esp + 0x2f4], 9
call fcn.004144f5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x18], 8
jb 0x55770c
mov ecx, dword [ecx + 4]
jmp 0x55770f
add ecx, 4
cmp dword [eax + 0x18], 8
jb 0x55771a
mov eax, dword [eax + 4]
jmp 0x55771d
add eax, 4
xor edi, edi
inc edi
push edi
push ecx
push ebx
push eax
push str.explore
push dword [esi + 4]
call dword [0x71f6e4]
push ebx
push edi
lea ecx, [esp + 0x8c]
call fcn.00410779
push ebx
push edi
lea ecx, [esp + 0x1a4]
call fcn.00410779
push ebx
push edi
lea ecx, [esp + 0x118]
jmp 0x55786a
mov cx, word [ebp + 8]
mov word [esp + 0x28], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
mov eax, 0x5500b2
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
lea esi, [esp + 0x24]
lea edi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x18
push 6
pop ecx
movsd dword es:[edi], dword [esi]
mov edi, esp
lea eax, [esp + 0x6c]
lea esi, [esp + 0x4c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00451fe9
lea ecx, [esp + 0x54]
call fcn.00510f60
jmp 0x557a75
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x4f8], eax
lea eax, [esp + 0x180]
push 0x28c5
push eax
call fcn.004b9340
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x5577da
mov eax, dword [eax + 4]
jmp 0x5577dd
add eax, 4
mov edi, dword [0x71f7c4]
push eax
push dword [esi + 0x294]
call edi
push ebx
push 1
lea ecx, [esp + 0x188]
call fcn.00410779
lea eax, [esp + 0xa0]
push 0x27ea
push eax
call fcn.004b9340
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x55781a
mov eax, dword [eax + 4]
jmp 0x55781d
add eax, 4
push eax
push dword [esi + 0x298]
call edi
push ebx
push 1
lea ecx, [esp + 0xa8]
call fcn.00410779
lea eax, [esp + 0xbc]
push 0x27ec
push eax
call fcn.004b9340
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x557854
mov eax, dword [eax + 4]
jmp 0x557857
add eax, 4
push eax
push dword [esi + 0x29c]
call edi
push ebx
push 1
lea ecx, [esp + 0xc4]
call fcn.00410779
jmp 0x557a75
push 2
push 0xffffffffffffffff
push 0x100c
lea edi, [esi + 0xb0]
push dword [edi]
call dword [0x71f7ac]
mov dword [esp + 0x1c], ebx
jmp 0x5578ca
push dword [esp + 0x18]
mov ecx, edi
mov eax, esi
call fcn.0054e54a
cmp eax, ebx
je 0x5578bf
cmp dword [eax + 0x25c], 3
jne 0x5578bf
mov ecx, dword [eax + 0x250]
mov eax, dword [eax + 0x254]
add dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
push dword [esp + 0x18]
mov eax, edi
call fcn.004537d2
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x557891
push ebx
push ebx
push 0x1032
push dword [edi]
call dword [0x71f7ac]
mov dword [esp + 0x14], eax
mov eax, dword [0x75dc8c]
mov ecx, 0x75dc8c
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
lea eax, [esp + 0xf4]
push 0x283e
push eax
mov dword [esp + 0x2f8], ebx
call fcn.004b9340
pop ecx
pop ecx
mov byte [esp + 0x2f0], 1
cmp dword [eax + 0x18], 8
jb 0x557928
mov eax, dword [eax + 4]
jmp 0x55792b
add eax, 4
push dword [esp + 0x14]
push eax
lea eax, [esp + 0x20]
call fcn.00448b91
pop ecx
pop ecx
push ebx
push 1
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2f8], bl
call fcn.00410779
cmp dword [esp + 0x14], ebx
jle 0x5579ab
push 0x6ac63c
lea eax, [esp + 0x1c]
push eax
call fcn.0044a39e
push ebx
push ebx
push dword [esp + 0x24]
lea edi, [esp + 0x138]
call fcn.0056f4f8
add esp, 0xc
mov byte [esp + 0x2f0], 2
cmp dword [eax + 0x18], 8
jb 0x55798e
mov eax, dword [eax + 4]
jmp 0x557991
add eax, 4
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0044a39e
push ebx
push 1
lea ecx, [esp + 0x134]
call fcn.00410779
push dword [esp + 0x18]
push dword [esi + 0x45c]
call dword [0x71f7c4]
lea edi, [esi + 0x5a0]
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x557a2d
xor eax, eax
cmp dword [esp + 0x14], ebx
setg al
push eax
push dword [edi]
mov edi, dword [0x71f71c]
mov dword [esp + 0x1c], eax
call edi
push dword [esp + 0x14]
push dword [esi + 0xae0]
call edi
xor eax, eax
cmp dword [esi + 0x8c], ebx
setne al
push eax
push dword [esi + 0x12c0]
call edi
xor eax, eax
cmp dword [esi + 0x8c], ebx
setne al
push eax
push dword [esi + 0x1020]
call edi
xor eax, eax
cmp dword [esi + 0x8c], ebx
setne al
push eax
push dword [esi + 0xd80]
call edi
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.00410902
xor eax, eax
inc eax
jmp 0x557a77
mov eax, dword [edi + 0x10]
cmp eax, 3
mov dword [esp + 0x14], eax
ja 0x557a75
lea edi, [esi + eax + 0x4ac]
movzx ecx, byte [edi]
push ecx
push eax
lea eax, [esi + 0xb0]
push eax
mov ecx, esi
call fcn.005568c6
cmp byte [edi], bl
sete al
mov byte [edi], al
mov eax, dword [esp + 0x14]
mov dword [esi + 0x4b4], eax
xor eax, eax
mov ecx, dword [esp + 0x2e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d0]
xor ecx, esp
call fcn.0051d721
mov esp, ebp
pop ebp
ret 0xc