Function at 0x1004e2ef
Capabilities:
Log keystrokes via polling

Disassembly:
jae 0x1004e2ed
jmp 0x1004e2e8
call fcn.1004e2ef
jae 0x1004e2e8
add esp, 4
jmp 0x1004e2f4
dec dword [esp]
jno 0x1004e2f9
jns 0x1004e2e4
jp 0x1004e2fd
add esp, 4
popf
jmp 0x1004e304
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004e31d
jnp 0x1004e328
je 0x1004e322
jne 0x1004e322
call 0x1fc51676
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e33c
jne 0x1004e33b
call 0x9308d3c3
rol byte [ebx + eax*4], 0xf0
add eax, 0x1b9
add byte [ebp + 0x3c840fc9], al
add al, 0
add byte [ebx + eax - 0x15], bh
add esi, dword [edi]
xor eax, 3
add eax, 4
xor eax, 5
mov ecx, 1
test ecx, ecx
je 0x1004e78e
jl 0x1004e357
jmp 0x1004e359
je 0x1004e354
xor eax, eax
test eax, eax
je 0x1004e362
jne 0x1004e361
call 0x9308d3e9
rol byte [ebx + eax*4], 0xf0
add eax, 0xf70273f8
aaa
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e370
div dword [edi]
je 0x1004e375
jne 0x1004e375
aaa
pushf
push 0xa
jae 0x1004e382
jmp 0x1004e37d
call 0x1004e384
jae 0x1004e37d
add esp, 4
jmp 0x1004e389
dec dword [esp]
jno 0x1004e38e
jns 0x1004e379
jp 0x1004e392
add esp, 4
popf
jmp 0x1004e399
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e3b2
jne 0x1004e3b2
call 0x1fc51706
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
pushf
push 0xa
jae 0x1004e3d0
jmp 0x1004e3cb
call 0x1004e3d2
jae 0x1004e3cb
add esp, 4
jmp 0x1004e3d7
dec dword [esp]
jno 0x1004e3dc
jns 0x1004e3c7
jp 0x1004e3e0
add esp, 4
popf
jmp 0x1004e3e7
clc
jae 0x1004e3ec
int3
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e405
jne 0x1004e405
lcall 0x749a, 0x3eb037c
sti
jl 0x1004e40a
jmp 0x1004e40c
je 0x1004e407
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e426
jne 0x1004e425
call 0x9308d4ad
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004e434
jne 0x1004e434
call 0x1179e7ac
je 0x1004e439
jne 0x1004e439
add byte [ebx + eax - 0x15], bh
add eax, dword [eax]
jl 0x1004e43e
jmp 0x1004e440
je 0x1004e43b
pushf
push 0xa
jae 0x1004e44d
jmp 0x1004e448
call 0x1004e44f
jae 0x1004e448
add esp, 4
jmp 0x1004e454
dec dword [esp]
jno 0x1004e459
jns 0x1004e444
jp 0x1004e45d
add esp, 4
popf
jmp 0x1004e464
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004e47d
mov eax, dword [0x75037400]
add eax, ebp
je 0x1004e482
jne 0x1004e482
call 0x1fc517d6
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e49c
jne 0x1004e49b
call 0x9308d523
rol byte [ebx + eax*4], 0xf0
add eax, 0x2ef03d83
or dword [eax], edx
add byte [esp + ebp + 0x6a], dh
js 0x1004e4b0
xor eax, 3
add eax, 4
xor eax, 5
cmp dword [0x10092ef0], 0
je 0x1004e4da
push 0x78
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
adc eax, sym.imp.USER32.dll_GetAsyncKeyState
movsx edx, ax
and edx, 1
je 0x1004e4da
mov eax, dword [0x10092ef0]
movzx ecx, byte [eax + 0xc5594]
test ecx, ecx
sete dl
mov eax, dword [0x10092ef0]
mov byte [eax + 0xc5594], dl
jl 0x1004e4df
jmp 0x1004e4e1
je 0x1004e4dc
xor eax, eax
test eax, eax
je 0x1004e4ea
jne 0x1004e4e9
call 0x9308d571
rol byte [ebx + eax*4], 0xf0
add eax, 0xee0273f8
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e4f8
out dx, al
or esi, dword [ebx + eax + 0x75]
add dword [ebx], ecx
je 0x1004e4fd
jne 0x1004e4fd
or esp, dword [esi - 0x64]
pushf
push 0xa
jae 0x1004e50a
jmp 0x1004e505
call 0x1004e50c
jae 0x1004e505
add esp, 4
jmp 0x1004e511
dec dword [esp]
jno 0x1004e516
jns 0x1004e501
jp 0x1004e51a
add esp, 4
popf
jmp 0x1004e521
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e53a
jne 0x1004e53a
call 0x1fc5188e
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
pushf
push 0xa
jae 0x1004e558
jmp 0x1004e553
call 0x1004e55a
jae 0x1004e553
add esp, 4
jmp 0x1004e55f
dec dword [esp]
jno 0x1004e564
jns 0x1004e54f
jp 0x1004e568
add esp, 4
popf
jmp 0x1004e56f
clc
jae 0x1004e574
ret
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e58d
jne 0x1004e58d
outsb dx, byte [esi]
jl 0x1004e592
jmp 0x1004e594
je 0x1004e58f
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e5ae
jne 0x1004e5ad
call 0x9308d635
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004e5bc
jne 0x1004e5bc
call 0x1179e934
je 0x1004e5c1
jne 0x1004e5c1
sar dword [ebx + eax - 0x15], 1
add edx, ecx
jl 0x1004e5c6
jmp 0x1004e5c8
je 0x1004e5c3
pushf
push 0xa
jae 0x1004e5d5
jmp 0x1004e5d0
call 0x1004e5d7
jae 0x1004e5d0
add esp, 4
jmp 0x1004e5dc
dec dword [esp]
jno 0x1004e5e1
jns 0x1004e5cc
jp 0x1004e5e5
add esp, 4
popf
jmp 0x1004e5ec
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004e605
cwde
sal dword [ebx + eax + 0x75], 1
add eax, ebp
je 0x1004e60a
jne 0x1004e60a
call 0x1fc5195e
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e624
jne 0x1004e623
call 0x9308d6ab
rol byte [ebx + eax*4], 0xf0
add eax, 0x46a006a
xor eax, 3
add eax, 4
xor eax, 5
push 0
push 4
call fcn.10038320
jl 0x1004e63b
jmp 0x1004e63d
je 0x1004e638
xor eax, eax
test eax, eax
je 0x1004e646
jne 0x1004e645
call 0x9308d6cd
rol byte [ebx + eax*4], 0xf0
add eax, 0x3d0273f8
bnd je 0x1004e659
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e654
cmp eax, 0x750374f2
add edx, esi
je 0x1004e659
jne 0x1004e659
pushf
pushf
push 0xa
jae 0x1004e666
jmp 0x1004e661
call 0x1004e668
jae 0x1004e661
add esp, 4
jmp 0x1004e66d
dec dword [esp]
jno 0x1004e672
jns 0x1004e65d
jp 0x1004e676
add esp, 4
popf
jmp 0x1004e67d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e696
jne 0x1004e696
call 0x1fc519ea
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
pushf
push 0xa
jae 0x1004e6b4
jmp 0x1004e6af
call 0x1004e6b6
jae 0x1004e6af
add esp, 4
jmp 0x1004e6bb
dec dword [esp]
jno 0x1004e6c0
jns 0x1004e6ab
jp 0x1004e6c4
add esp, 4
popf
jmp 0x1004e6cb
clc
jae 0x1004e6d0
adc bl, byte [eax + 0x50]
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e6e9
jne 0x1004e6e9
pop eax
jl 0x1004e6ee
jmp 0x1004e6f0
je 0x1004e6eb
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e70a
jl 0x1004e793
jmp 0x1004e795
je 0x1004e790
xor eax, eax
test eax, eax
je 0x1004e79e
jne 0x1004e79d
call 0x9308d825
rol byte [ebx + eax*4], 0xf0
add eax, 0x8e0273f8
test byte [ebx + eax + 0x75], dh
add dword [esi + 0x730a6a9c], eax
pop es
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e7ac
mov es, word [esp + esi*2 - 0x7bfe8afd]
je 0x1004e7b1
jne 0x1004e7b1
test byte [esi - 0x64], ah
pushf
push 0xa
jae 0x1004e7be
jmp 0x1004e7b9
call 0x1004e7c0
jae 0x1004e7b9
add esp, 4
jmp 0x1004e7c5
dec dword [esp]
jno 0x1004e7ca
jns 0x1004e7b5
jp 0x1004e7ce
add esp, 4
popf
jmp 0x1004e7d5
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e7ee
jne 0x1004e7ee
call 0x1fc51b42
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
pushf
push 0xa
jae 0x1004e80c
jmp 0x1004e807
call 0x1004e80e
jae 0x1004e807
add esp, 4
jmp 0x1004e813
dec dword [esp]
jno 0x1004e818
jns 0x1004e803
jp 0x1004e81c
add esp, 4
popf
jmp 0x1004e823
clc
jae 0x1004e828
arpl di, sp
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e841
jne 0x1004e841
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x1004e846
jmp 0x1004e848
je 0x1004e843
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e862
jne 0x1004e861
call 0x9308d8e9
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004e870
jne 0x1004e870
call 0x1179ebe8
je 0x1004e875
jne 0x1004e875
dec ebp
jl 0x1004e87a
jmp 0x1004e87c
je 0x1004e877
pushf
push 0xa
jae 0x1004e889
jmp 0x1004e884
call 0x1004e88b
jae 0x1004e884
add esp, 4
jmp 0x1004e890
dec dword [esp]
jno 0x1004e895
jns 0x1004e880
jp 0x1004e899
add esp, 4
popf
jmp 0x1004e8a0
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004e8b9
cmp byte [ebp + 0x74], cl
add esi, dword [ebp + 1]
je 0x1004e8be
jne 0x1004e8be
call 0x1fc51c12
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1004e8d8
jne 0x1004e8d7
call 0x9308d95f
rol byte [ebx + eax*4], 0xf0
add eax, 0x8b5b5e5f
in eax, 0x5d
xor eax, 3
add eax, 4
xor eax, 5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret