Function at 0x10ef590
Capabilities:
Log keystrokes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x214
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x8dd9
push 8
mov dword [ebx + 0xa4], 1
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapAlloc]
xor edi, edi
cmp eax, edi
je 0x10ef5f5
mov dword [eax], 0xe
mov dword [eax + 0x1c], 0x247
mov dword [eax + 0x20], 0x248
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0x122
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x8dbc], edi
mov dword [eax + 0x8da8], 0xffffffff
mov dword [eax + 0x8dac], 0xfffffff
mov dword [eax + 0x8db0], edi
mov ecx, dword [ebx + 0x7c]
cmp dword [ecx], edi
jne 0x10ef620
mov dword [ecx], eax
jmp 0x10ef629
mov ecx, dword [ecx + 4]
mov dword [ecx + 0x8dd4], eax
mov edx, dword [ebx + 0x7c]
push edi
push edi
push 0x20
push 0x20
push 0xc
push 0xd
push edi
push edi
push edi
push edi
push edi
push ebx
mov dword [edx + 4], eax
call fcn.010454a0
mov esi, eax
cmp esi, edi
je 0x10ef6a0
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
push edi
push 0x20
push 0x20
push 1
push 0x65
push ecx
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x44], eax
cmp eax, edi
je 0x10ef6a0
mov dword [esi + 0x8dbc], edi
mov dword [esi + 0x8da8], 0xffffffff
mov dword [esi + 0x8dac], 0xfffffff
mov dword [esi + 0x8db0], edi
mov eax, dword [ebx + 0x7c]
cmp dword [eax], edi
jne 0x10ef691
mov dword [eax], esi
jmp 0x10ef69a
mov edx, dword [eax + 4]
mov dword [edx + 0x8dd4], esi
mov eax, dword [ebx + 0x7c]
mov dword [eax + 4], esi
push 0x8dd9
push 8
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapAlloc]
cmp eax, edi
je 0x10ef737
mov dword [eax], 5
mov dword [eax + 0x1c], 0x249
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edi
mov dword [eax + 0x44c], 0x105aeb0
mov dword [eax + 0x450], edi
mov dword [eax + 0x454], edi
mov dword [eax + 0x458], 0x13
mov dword [eax + 0x28], 1
mov dword [eax + 0x430], edi
mov dword [eax + 0x434], edi
mov dword [eax + 0x438], edi
mov dword [eax + 0x43c], edi
mov dword [eax + 0x440], edi
mov dword [eax + 0x444], edi
mov esi, 0x10d
mov edx, 0xb
mov ecx, 0xa
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], edx
mov dword [eax + 0x8dbc], edi
mov dword [eax + 0x8da8], 0xffffffff
mov dword [eax + 0x8dac], 0xfffffff
mov dword [eax + 0x8db0], edi
mov ecx, dword [ebx + 0x7c]
cmp dword [ecx], edi
jne 0x10ef762
mov dword [ecx], eax
jmp 0x10ef76b
mov ecx, dword [ecx + 4]
mov dword [ecx + 0x8dd4], eax
mov edx, dword [ebx + 0x7c]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0xc]
sub eax, edi
je 0x10ef7b6
sub eax, 2
je 0x10ef795
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1170]
mov edx, dword [eax + 0x11ec]
mov eax, dword [eax + 0x11f0]
jmp 0x10ef7cc
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x13ac]
mov ecx, dword [eax + 0x14b8]
mov dword [ebp + 8], edx
mov edx, dword [eax + 0x11bc]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
jmp 0x10ef7d5
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [eax + 0x134c]
mov edx, dword [eax + 0x14d0]
mov eax, dword [eax + 0x1348]
mov dword [ebp - 4], eax
mov dword [ebp - 8], edx
mov dword [ebp + 8], ecx
push 0x8dd9
push 8
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapAlloc]
mov esi, eax
cmp esi, edi
je 0x10ef86e
mov ecx, dword [ebp + 8]
mov dword [esi], 6
cmp ecx, edi
je 0x10ef813
lea eax, [esi + 0x20]
cmp eax, edi
je 0x10ef813
push 0x1ff
push ecx
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
mov dword [esi + 0x1c], 1
mov dword [esi + 0x424], edi
mov dword [esi + 0x428], 0x333333
mov dword [esi + 0x42c], edi
mov dword [esi + 0x430], 0x20
mov dword [esi + 0x434], 8
mov dword [esi + 0x438], edi
mov ecx, 0x37
mov eax, 0xd
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0xe6
mov dword [esi + 0x10], 0xf
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 0x8dbc], edi
mov dword [esi + 0x8da8], 0xffffffff
mov dword [esi + 0x8dac], 0xfffffff
mov dword [esi + 0x8db0], edi
mov eax, dword [ebx + 0x7c]
cmp dword [eax], edi
jne 0x10ef899
mov dword [eax], esi
jmp 0x10ef8a2
mov ecx, dword [eax + 4]
mov dword [ecx + 0x8dd4], esi
mov edx, dword [ebx + 0x7c]
push 0x20a
lea eax, [ebp - 0x214]
push edi
push eax
mov dword [edx + 4], esi
call sub.msvcrt.dll_memset
mov ecx, dword [ebx]
mov eax, 0xc22e4507
mul dword [ecx + 0x284d4]
shr edx, 0x10
inc edx
push edx
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x214]
push 0x103
push eax
call fcn.0101e760
add esp, 0x1c
push 0x8dd9
push 8
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapAlloc]
mov esi, eax
cmp esi, edi
je 0x10ef97c
lea eax, [esi + 0x20]
mov dword [esi], 6
cmp eax, edi
je 0x10ef921
push 0x1ff
lea ecx, [ebp - 0x214]
push ecx
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
mov dword [esi + 0x1c], 1
mov dword [esi + 0x424], edi
mov dword [esi + 0x428], 0x333333
mov dword [esi + 0x42c], edi
mov dword [esi + 0x430], edi
mov dword [esi + 0x434], 8
mov dword [esi + 0x438], 2
mov ecx, 0x37
mov eax, 0x23
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0xd7
mov dword [esi + 0x10], 0x32
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 0x8dbc], edi
mov dword [esi + 0x8da8], 0xffffffff
mov dword [esi + 0x8dac], 0xfffffff
mov dword [esi + 0x8db0], edi
mov eax, dword [ebx + 0x7c]
cmp dword [eax], edi
jne 0x10ef9a7
mov dword [eax], esi
jmp 0x10ef9b0
mov edx, dword [eax + 4]
mov dword [edx + 0x8dd4], esi
mov eax, dword [ebx + 0x7c]
push 0x8dd9
push 8
mov dword [eax + 4], esi
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.DLL_HeapAlloc]
mov esi, eax
cmp esi, edi
je 0x10efa8d
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
push edi
push 8
push 1
push edi
push 0xc18325
mov dword [esi], 5
push edi
push edx
lea eax, [esi + 0x28]
push eax
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x44c], 0x10e8a20
mov dword [esi + 0x450], ecx
mov dword [esi + 0x454], edi
mov dword [esi + 0x458], edi
call fcn.01042f80
mov eax, 0x5a
mov ecx, 0x37
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0xe6
mov dword [esi + 0x10], 0x14
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 0x8dbc], edi
mov dword [esi + 0x8da8], 0xffffffff
mov dword [esi + 0x8dac], 0xfffffff
mov dword [esi + 0x8db0], edi
mov eax, dword [ebx + 0x7c]
cmp dword [eax], edi
jne 0x10efa6a
mov dword [eax], esi
jmp 0x10efa73
mov ecx, dword [eax + 4]
mov dword [ecx + 0x8dd4], esi
mov edx, dword [ebx + 0x7c]
lea eax, [esi + 0x28]
push eax
push ebx
mov dword [edx + 4], esi
call fcn.01043100
cmp eax, edi
je 0x10efa8d
add eax, 0xa
mov dword [esi + 0xc], eax
mov ecx, dword [ebx + 8]
push 1
push edi
push ecx
mov dword [ebx + 0x50], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call fcn.010410f0
mov esi, dword [ebx + 8]
push 0x13
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp + 8], eax
cmp eax, esi
je 0x10efb1f
lea edx, [ebp - 4]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
push edi
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ecx, dword [ebp + 0xc]
push 1
push eax
push ecx
mov dword [ebp + 8], eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
je 0x10efb1f
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0x13
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push edi
push edx
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ecx, dword [ebx + 8]
push 4
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8