Function at 0x415060
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x638050
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x6eed24]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 0xc]
mov eax, 0xf020
mov ebx, dword [ebp + 0x14]
and esi, 0xfff0
cmp si, 0x70
jne 0x4150e6
push dword [edi + 0x42c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x415140
push dword [edi + 0x42c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
sbb eax, eax
and eax, 0xfffffffb
add eax, 5
push eax
push dword [edi + 0x42c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebx], 1
jmp 0x4152ef
cmp si, ax
jne 0x415140
xor eax, eax
mov dword [ebp - 0x3c], 0x2c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowPlacement]
test eax, eax
je 0x415140
cmp dword [ebp - 0x34], 0xf020
jne 0x415140
push 1
mov ecx, edi
mov dword [ebx], 1
call fcn.00417a90
jmp 0x4152ef
mov eax, 0x100
mov dword [ebx], 0
cmp si, ax
jne 0x4151af
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x30], 0x64e368
push 0
mov dword [ebp - 4], 1
mov byte [edi + 0x494], 1
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x30]
call fcn.004139d0
mov eax, dword [ebp - 0x1c]
mov byte [edi + 0x494], 0
test eax, eax
je 0x4152ef
push eax
call fcn.004b15f6
jmp 0x4152ef
mov eax, 0xf0
cmp si, ax
jne 0x415205
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
push 1
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 2
push eax
mov ecx, 0x6f50d0
call fcn.00441bc0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 4], 3
test eax, eax
je 0x4152ef
push eax
call fcn.00446420
add esp, 4
jmp 0x4152ef
mov edx, 0xf120
mov ecx, 0xf030
cmp si, dx
je 0x415236
mov eax, 0xf020
cmp si, ax
je 0x415231
mov eax, 0xf060
cmp si, ax
je 0x415231
cmp si, cx
jne 0x4152ef
cmp si, dx
jne 0x41523d
mov eax, 1
jmp 0x415249
xor eax, eax
cmp si, cx
setne al
dec eax
and eax, 3
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 0xf120
mov dword [ebx], 1
mov ebx, 0xf030
cmp si, ax
jne 0x41526f
mov eax, str.SW_NORMAL
jmp 0x41527e
mov eax, str.SW_MAXIMIZE
cmp si, bx
je 0x41527e
mov eax, str.SW_HIDE
push eax
push str._g_Called_ShowWindow__s____
push 4
push 0x262
push str.e:workprgpdf5_builds_rc.328_trackerupdatemainframe.cpp
call fcn.00431810
mov eax, 0xf120
add esp, 0x14
cmp si, ax
je 0x4152a7
cmp si, bx
jne 0x4152ef
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x40], eax
cmp ebx, eax
je 0x4152e6
mov esi, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push ebx
push eax
call esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push 0
push ebx
push dword [ebp - 0x40]
call esi
jmp 0x4152ef
push dword [edi + 4]
call dword [sym.imp.USER32.dll_BringWindowToTop]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b2558
mov esp, ebp
pop ebp
ret 0x10