Function at 0x52ff80
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0x1470
sub esp, 0x24
mov eax, dword [ebp + 0x10]
xchg edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
xchg edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 8], edx
mov eax, 0
xchg edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
mov eax, 1
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp + 0x10]
cmp eax, 0xc
je 0x530087
cmp eax, 0xe
je 0x53009b
cmp eax, 0xf
je 0x53016c
cmp eax, 0xd
je 0x530200
cmp eax, 0x19
je 0x5303a1
cmp eax, 0x1a
je 0x5303e7
cmp eax, 0xb
je 0x53046c
cmp eax, 0xa
je 0x53046c
cmp eax, 4
je 0x53046c
cmp eax, 3
je 0x53046c
cmp eax, 6
je 0x53046c
cmp eax, 5
je 0x53046c
cmp eax, 2
je 0x53046c
cmp eax, 1
je 0x53046c
cmp eax, 9
je 0x53047d
cmp eax, 0x1b
je 0x530495
mov eax, 0
jmp 0x5304aa
mov eax, dword [ebp + 0xc]
xchg edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
and eax, 0xffff
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0xe5
jne 0x5300cf
mov eax, 0xffffffff
mov dword [0x62ffbc], 0xffffffff
mov eax, 1
jmp 0x5305ee
mov eax, dword [0x630318]
cmp eax, 0
jne 0x5300ee
push dword [ebp - 0x20]
call fcn.0052fecf
cmp eax, 0
jne 0x5300ee
xor eax, eax
jmp 0x5300f1
xor eax, eax
inc eax
cmp eax, 0
je 0x5300ff
mov eax, 0xffffffff
jmp 0x530111
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
push dword [ebp - 0x20]
call fcn.0052fceb
mov dword [0x62ffbc], eax
mov eax, dword [0x62ffbc]
cmp eax, 0xffffffff
jne 0x53014b
push 2
push dword [ebp - 0x20]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_MapVirtualKeyW]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0
je 0x53014b
mov eax, dword [ebp - 0x24]
and eax, 0xffff
mov dword [ebp - 0x20], eax
xor eax, eax
push eax
call fcn.0052fd99
mov edx, eax
mov eax, dword [ebp - 0x20]
or eax, edx
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
and eax, 0xffff
mov dword [ebp - 0x20], eax
push dword [ebp - 0x20]
call fcn.0052fecf
cmp eax, 0
je 0x530193
mov eax, 0xffffffff
jmp 0x5301a5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
push dword [ebp - 0x20]
call fcn.0052fceb
mov dword [0x62ffbc], eax
mov eax, dword [0x62ffbc]
cmp eax, 0xffffffff
jne 0x5301df
push 2
push dword [ebp - 0x20]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_MapVirtualKeyW]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0
je 0x5301df
mov eax, dword [ebp - 0x24]
and eax, 0xffff
mov dword [ebp - 0x20], eax
xor eax, eax
push eax
call fcn.0052fd99
mov edx, eax
mov eax, dword [ebp - 0x20]
or eax, edx
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
xor eax, eax
push eax
call fcn.0052fd99
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xd800
jl 0x53022d
mov eax, dword [ebp - 0x24]
cmp eax, 0xdbff
jg 0x53022d
jmp 0x530231
xor eax, eax
jmp 0x530234
xor eax, eax
inc eax
cmp eax, 0
je 0x530252
mov eax, dword [ebp - 0x24]
mov dword [0x62ffc4], eax
mov eax, 1
jmp 0x5305ee
mov eax, dword [ebp - 0x24]
cmp eax, 0xdc00
jl 0x530268
mov eax, dword [ebp - 0x24]
cmp eax, 0xdfff
jg 0x530268
jmp 0x53026c
xor eax, eax
jmp 0x53026f
xor eax, eax
inc eax
cmp eax, 0
je 0x5302b4
mov eax, dword [0x62ffc4]
and eax, 0x3ff
shl eax, 0xa
mov edx, eax
mov eax, 0x10000
add eax, edx
push eax
mov eax, dword [ebp - 0x24]
and eax, 0x3ff
pop edx
xchg edx, eax
add eax, edx
mov dword [0x62ffc4], eax
mov eax, dword [0x62ffc4]
mov dword [ebp - 0x24], eax
mov eax, 0
mov dword [ebp - 0x20], 0
jmp 0x5302d8
xor eax, eax
inc eax
je 0x5302ca
mov eax, 0
mov dword [0x62ffc4], 0
jmp 0x5302d8
call 0x5302cf
pop eax
push eax
push 0x64
call fcn.00425ba9
mov eax, dword [ebp - 0x20]
and eax, 0x10000000
cmp eax, 0
je 0x5302ff
mov eax, 0x60
mov edx, dword [ebp - 0x24]
cmp eax, edx
jge 0x5302ff
mov eax, dword [ebp - 0x24]
cmp eax, 0x7b
jge 0x5302ff
jmp 0x530303
xor eax, eax
jmp 0x530306
xor eax, eax
inc eax
cmp eax, 0
je 0x530327
mov eax, dword [ebp - 0x24]
add eax, 0x40
mov dword [ebp - 0x24], eax
mov eax, 0xffffffff
mov dword [0x62ffbc], 0xffffffff
mov eax, dword [0x630318]
cmp eax, 0
je 0x530344
mov eax, dword [ebp - 0x20]
and eax, 0x20000000
cmp eax, 0
je 0x530344
jmp 0x530348
xor eax, eax
jmp 0x53034b
xor eax, eax
inc eax
cmp eax, 0
jne 0x53036e
mov eax, dword [0x62ffbc]
cmp eax, 0xa4
je 0x53036e
mov eax, dword [0x62ffbc]
cmp eax, 0xa5
je 0x53036e
xor eax, eax
jmp 0x530371
xor eax, eax
inc eax
cmp eax, 0
je 0x530387
mov eax, 0xffffffff
mov dword [0x62ffbc], 0xffffffff
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
or eax, edx
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
push 0
push dword [ebp + 8]
call fcn.00543fcd
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
mov edx, dword [0x62f6b4]
cmp eax, edx
jne 0x5303cc
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00546116
mov eax, dword [ebp + 0xc]
inc eax
and eax, 0xffff
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
push 0
push dword [ebp + 8]
call fcn.00543fcd
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
push eax
call fcn.00450934
mov edx, eax
mov eax, dword [0x62f6f8]
cmp eax, edx
jne 0x530425
mov eax, dword [ebp + 0xc]
and eax, 0xffff
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x53046a
mov eax, 0
mov edx, dword [ebp + 0xc]
cmp eax, edx
sete al
xor ah, ah
cwde
xor al, 1
cmp eax, 0
je 0x53046a
push 0xb
push dword [ebp + 8]
call fcn.00543fcd
push eax
call fcn.0052b615
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
and eax, 0x100000
cmp eax, 0
jne 0x53046a
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00546116
jmp 0x5304aa
mov eax, dword [ebp + 0xc]
xchg edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
xor eax, eax
inc eax
push eax
call fcn.0052fd99
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
jmp 0x5304aa
mov eax, dword [ebp + 0xc]
and eax, 0xffff
mov edx, eax
mov eax, dword [0x62ffa0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
push dword [0x61e040]
call fcn.0048d766
mov eax, dword [0x624630]
mov dword [ebp - 0x10], eax
mov eax, dword [0x624658]
mov dword [ebp - 0x30], eax
mov dword [0x624658], 0
mov eax, 0xffffffff
push dword [ebp - 4]
push dword [ebp - 8]
mov dword [ebp - 4], eax
call 0x5304ea
pop eax
add eax, 0x4c
mov dword [ebp - 8], eax
push dword [0x62ef30]
push dword [0x62b68c]
call fcn.0048d5d1
push dword [0x62ffa0]
call fcn.0052a7f7
xor eax, eax
push eax
call fcn.0043f490
call fcn.0043ef2c
push dword [0x62ef20]
call fcn.004da55e
call fcn.0048dbf5
call fcn.0048d6ed
call fcn.0048dbb9
lea esp, [ebp - 0x38]
pop dword [ebp - 8]
pop dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov dword [0x624658], eax
call fcn.0048e787
mov eax, dword [0x55102c]
mov eax, dword [eax + 0x24]
cmp eax, 0
je 0x53056f
mov eax, 0
xchg edx, eax
mov eax, dword [0x55102c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x2c]
xchg edx, eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
jne 0x5305eb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
call fcn.00450934
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [0x62f764]
cmp eax, edx
jne 0x5305b6
mov eax, 1
mov dword [ebp - 0x1c], 1
jmp 0x5305eb
mov eax, dword [ebp - 0x18]
mov edx, dword [0x62f780]
cmp eax, edx
jne 0x5305d1
mov eax, 0
mov dword [ebp - 0x1c], 0
jmp 0x5305eb
xor eax, eax
inc eax
je 0x5305dd
mov eax, 0
jmp 0x5305eb
call 0x5305e2
pop eax
push eax
push 0x64
call fcn.00425ba9
mov eax, dword [ebp - 0x1c]
leave
ret 0xc