Function at 0x430040
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ce59f
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x5061ec]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], 0
mov esi, dword [ebp + 8]
mov eax, dword [0x50b538]
mov dword [esi], eax
mov ecx, dword [ebp + 0xc]
movzx edx, cx
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
lea eax, [edx - 9]
cmp eax, 0x25
ja case.0x43009c.10
movzx eax, byte [eax + 0x430428]
jmp dword [eax*4 + 0x4303f0]
push 0x4d9a0c
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x4d9a14
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Enter
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x4d9a28
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Down
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Left
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Right
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Home
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x4d9a60
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.PageUp
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.PageDown
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Insert
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push str.Delete
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp cx, 0x30
jb 0x43024f
cmp cx, 0x39
jbe 0x430258
lea eax, [ecx - 0x41]
cmp ax, 0x19
ja 0x43029d
movzx eax, cx
mov ecx, esi
push 1
mov dword [ebp + 0xc], eax
call fcn.00404cd0
test al, al
je case.0x4303ca.40
mov ecx, dword [esi]
mov ax, word [ebp + 0xc]
mov word [ecx], ax
xor ecx, ecx
mov eax, dword [esi]
mov dword [eax - 8], 1
mov eax, dword [esi]
mov word [eax + 2], cx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
lea eax, [ecx - 0x60]
cmp ax, 9
ja 0x430302
lea eax, [edx - 0x60]
push eax
push str.Num__d
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.00404df0
add esp, 0x10
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff4
mov dword [ebp - 4], 1
cmp ecx, dword [0x50b534]
je case.0x4303ca.40
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg case.0x4303ca.40
push ecx
call fcn.00433990
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp cx, 0x6a
jne 0x430328
push 0x4d9abc
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp cx, 0x6b
jne 0x43034e
push str.Num_
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp cx, 0x6e
jne 0x430374
push str.Num_Del
mov ecx, esi
call fcn.00404ba0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
lea eax, [ecx - 0x70]
cmp ax, 0xb
ja 0x4303af
lea eax, [edx - 0x6f]
push eax
push 0x4d9ae4
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.00404df0
add esp, 0x10
lea ecx, [ebp + 0xc]
call fcn.004044c0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push 2
push edx
call dword [sym.imp.USER32.dll_MapVirtualKeyW]
movzx edx, ax
lea eax, [edx - 0x27]
cmp eax, 0x39
ja case.0x4303ca.40
movzx ecx, byte [eax + 0x430458]
jmp dword [ecx*4 + 0x430450]
push edx
mov ecx, esi
call fcn.0042fd80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8