Function at 0x5262c0
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x20
mov eax, dword [ebp + 0x10]
xchg edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
xchg edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 8], edx
mov eax, 0
xchg edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
mov eax, 1
mov dword [ebp - 0x18], 1
mov eax, dword [ebp + 0x10]
cmp eax, 0xc
je 0x5263c2
cmp eax, 0xe
je 0x5263d6
cmp eax, 0xf
je 0x5264a1
cmp eax, 0xd
je 0x52652f
cmp eax, 0x19
je 0x5266d0
cmp eax, 0x1a
je 0x526716
cmp eax, 0xb
je 0x526779
cmp eax, 0xa
je 0x526779
cmp eax, 4
je 0x526779
cmp eax, 3
je 0x526779
cmp eax, 6
je 0x526779
cmp eax, 5
je 0x526779
cmp eax, 2
je 0x526779
cmp eax, 1
je 0x526779
cmp eax, 9
je 0x52678a
cmp eax, 0x1b
je 0x5267a2
mov eax, 0
jmp 0x5267b7
mov eax, dword [ebp + 0xc]
xchg edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
and eax, 0xffff
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xe5
jne 0x52640a
mov eax, 0xffffffff
mov dword [0x57ca0c], 0xffffffff
mov eax, 1
jmp 0x5268fb
mov eax, dword [0x57cd10]
cmp eax, 0
jne 0x526429
push dword [ebp - 0x1c]
call fcn.0052621f
cmp eax, 0
jne 0x526429
xor eax, eax
jmp 0x52642c
xor eax, eax
inc eax
cmp eax, 0
je 0x52643a
mov eax, 0xffffffff
jmp 0x52644c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
push dword [ebp - 0x1c]
call fcn.00526079
mov dword [0x57ca0c], eax
mov eax, dword [0x57ca0c]
cmp eax, 0xffffffff
jne 0x526480
push 2
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.DLL_MapVirtualKeyW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0
je 0x526480
mov eax, dword [ebp - 0x20]
and eax, 0xffff
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.0052611c
mov edx, eax
mov eax, dword [ebp - 0x1c]
or eax, edx
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
and eax, 0xffff
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
call fcn.0052621f
cmp eax, 0
je 0x5264c8
mov eax, 0xffffffff
jmp 0x5264da
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
push dword [ebp - 0x1c]
call fcn.00526079
mov dword [0x57ca0c], eax
mov eax, dword [0x57ca0c]
cmp eax, 0xffffffff
jne 0x52650e
push 2
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.DLL_MapVirtualKeyW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0
je 0x52650e
mov eax, dword [ebp - 0x20]
and eax, 0xffff
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.0052611c
mov edx, eax
mov eax, dword [ebp - 0x1c]
or eax, edx
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
xor eax, eax
push eax
call fcn.0052611c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0xd800
jl 0x52655c
mov eax, dword [ebp - 0x20]
cmp eax, 0xdbff
jg 0x52655c
jmp 0x526560
xor eax, eax
jmp 0x526563
xor eax, eax
inc eax
cmp eax, 0
je 0x526581
mov eax, dword [ebp - 0x20]
mov dword [0x57ca14], eax
mov eax, 1
jmp 0x5268fb
mov eax, dword [ebp - 0x20]
cmp eax, 0xdc00
jl 0x526597
mov eax, dword [ebp - 0x20]
cmp eax, 0xdfff
jg 0x526597
jmp 0x52659b
xor eax, eax
jmp 0x52659e
xor eax, eax
inc eax
cmp eax, 0
je 0x5265e3
mov eax, dword [0x57ca14]
and eax, 0x3ff
shl eax, 0xa
mov edx, eax
mov eax, 0x10000
add eax, edx
push eax
mov eax, dword [ebp - 0x20]
and eax, 0x3ff
pop edx
xchg edx, eax
add eax, edx
mov dword [0x57ca14], eax
mov eax, dword [0x57ca14]
mov dword [ebp - 0x20], eax
mov eax, 0
mov dword [ebp - 0x1c], 0
jmp 0x526607
xor eax, eax
inc eax
je 0x5265f9
mov eax, 0
mov dword [0x57ca14], 0
jmp 0x526607
call 0x5265fe
pop eax
push eax
push 0x64
call fcn.004253b4
mov eax, dword [ebp - 0x1c]
and eax, 0x10000000
cmp eax, 0
je 0x52662e
mov eax, 0x60
mov edx, dword [ebp - 0x20]
cmp eax, edx
jge 0x52662e
mov eax, dword [ebp - 0x20]
cmp eax, 0x7b
jge 0x52662e
jmp 0x526632
xor eax, eax
jmp 0x526635
xor eax, eax
inc eax
cmp eax, 0
je 0x526656
mov eax, dword [ebp - 0x20]
add eax, 0x40
mov dword [ebp - 0x20], eax
mov eax, 0xffffffff
mov dword [0x57ca0c], 0xffffffff
mov eax, dword [0x57cd10]
cmp eax, 0
je 0x526673
mov eax, dword [ebp - 0x1c]
and eax, 0x20000000
cmp eax, 0
je 0x526673
jmp 0x526677
xor eax, eax
jmp 0x52667a
xor eax, eax
inc eax
cmp eax, 0
jne 0x52669d
mov eax, dword [0x57ca0c]
cmp eax, 0xa4
je 0x52669d
mov eax, dword [0x57ca0c]
cmp eax, 0xa5
je 0x52669d
xor eax, eax
jmp 0x5266a0
xor eax, eax
inc eax
cmp eax, 0
je 0x5266b6
mov eax, 0xffffffff
mov dword [0x57ca0c], 0xffffffff
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
or eax, edx
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
push 0
push dword [ebp + 8]
call fcn.00538553
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x57c124]
cmp eax, edx
jne 0x5266fb
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0053a1b6
mov eax, dword [ebp + 0xc]
inc eax
and eax, 0xffff
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
push 0
push dword [ebp + 8]
call fcn.00538553
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
call fcn.0044e23a
mov edx, eax
mov eax, dword [0x57c168]
cmp eax, edx
jne 0x526754
mov eax, dword [ebp + 0xc]
and eax, 0xffff
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x526777
mov eax, 0
mov edx, dword [ebp + 0xc]
cmp eax, edx
sete al
xor ah, ah
cwde
xor al, 1
cmp eax, 0
je 0x526777
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.0053a1b6
jmp 0x5267b7
mov eax, dword [ebp + 0xc]
xchg edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
xor eax, eax
inc eax
push eax
call fcn.0052611c
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
jmp 0x5267b7
mov eax, dword [ebp + 0xc]
and eax, 0xffff
mov edx, eax
mov eax, dword [0x57c9f0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
push dword [0x56c10c]
call fcn.0048976b
mov eax, dword [0x57269c]
mov dword [ebp - 0xc], eax
mov eax, dword [0x5726c4]
mov dword [ebp - 0x28], eax
mov dword [0x5726c4], 0
mov eax, 0xffffffff
push dword [ebp - 4]
push dword [ebp - 8]
mov dword [ebp - 4], eax
call 0x5267f7
pop eax
add eax, 0x4c
mov dword [ebp - 8], eax
push dword [0x57b9a8]
push dword [0x5781f8]
call fcn.004895ef
push dword [0x57c9f0]
call fcn.00521113
xor eax, eax
push eax
call fcn.0043d2f7
call fcn.0043cdf7
push dword [0x57b998]
call fcn.004d3104
call fcn.00489b7b
call fcn.00489706
call fcn.00489b44
lea esp, [ebp - 0x30]
pop dword [ebp - 8]
pop dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov dword [0x5726c4], eax
call fcn.0048a6af
mov eax, dword [0x54402c]
mov eax, dword [eax + 0x24]
cmp eax, 0
je 0x52687c
mov eax, 0
xchg edx, eax
mov eax, dword [0x54402c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x24]
xchg edx, eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
jne 0x5268f8
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
push eax
call fcn.0044e23a
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [0x57c1d4]
cmp eax, edx
jne 0x5268c3
mov eax, 1
mov dword [ebp - 0x18], 1
jmp 0x5268f8
mov eax, dword [ebp - 0x14]
mov edx, dword [0x57c1f0]
cmp eax, edx
jne 0x5268de
mov eax, 0
mov dword [ebp - 0x18], 0
jmp 0x5268f8
xor eax, eax
inc eax
je 0x5268ea
mov eax, 0
jmp 0x5268f8
call 0x5268ef
pop eax
push eax
push 0x64
call fcn.004253b4
mov eax, dword [ebp - 0x18]
leave
ret 0xc