Function at 0x1003ffd
Capabilities:
Get graphical window text
Set current directory
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push esi
push edi
xor esi, esi
push esi
push esi
push 0x229
push dword [0x1014a10]
call ebx
cmp eax, esi
je 0x1004032
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
shr eax, 0x18
and eax, 1
jmp 0x1004034
xor eax, eax
mov ecx, dword [ebp + 0xc]
movzx edi, cx
lea edx, [ecx + 0x1388]
mov ecx, 0xc9
cmp edi, ecx
mov dword [0x1014a6c], edx
jg 0x10043a5
je 0x1004306
sub edi, 0x65
cmp edi, 9
ja 0x10044f4
jmp 0x103b5d9
xor ecx, ecx
cmp dword [0x1014980], esi
sete cl
sub eax, dword [0x10149ac]
inc eax
push eax
push dword [0x1014a0c]
mov dword [0x1014980], ecx
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x1014980]
neg ecx
sbb ecx, ecx
and ecx, 8
movzx ecx, cx
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, dword [0x10149c8]
cmp eax, esi
je 0x100436a
push 4
push 0x1014980
push 4
push esi
push str.AutoArrange
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [0x1014980], esi
je 0x10045cc
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push dword [0x1014a10]
jmp 0x1004398
push 4
push ebx
call edi
test eax, eax
jne 0x1004395
push ebx
jmp 0x103f1c8
push 2
push ebx
call edi
mov ebx, eax
cmp ebx, esi
jne 0x1004386
jmp 0x103d4cb
mov ecx, 0x12e
cmp edi, ecx
jg 0x10044da
je 0x10044c6
mov ecx, edi
sub ecx, 0xca
je 0x1004463
dec ecx
dec ecx
je 0x10043f9
dec ecx
je 0x10043ef
dec ecx
je 0x10043e5
sub ecx, 0x5f
jne 0x10044f4
push esi
push esi
push 0x227
jmp 0x10044cd
jmp 0x103c2c7
jmp 0x103c30f
xor ecx, ecx
cmp dword [0x1014008], esi
sete cl
sub eax, dword [0x10149ac]
inc eax
push eax
push dword [0x1014a0c]
mov dword [0x1014008], ecx
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x1014008]
neg ecx
sbb ecx, ecx
and ecx, 8
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, dword [0x10149c8]
cmp eax, esi
jmp 0x103c010
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x10045cc
xor ecx, ecx
cmp dword [0x1014978], esi
sete cl
sub eax, dword [0x10149ac]
inc eax
push eax
push dword [0x1014a0c]
mov dword [0x1014978], ecx
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [0x1014978]
neg ecx
sbb ecx, ecx
and ecx, 8
movzx ecx, cx
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, dword [0x10149c8]
cmp eax, esi
je 0x10045cc
push 4
push 0x1014978
push 4
push esi
push str.MinOnRun
jmp 0x1004457
push esi
push esi
push 0x226
jmp 0x103bdac
sub edi, 0x12f
je 0x10045a9
sub edi, 0x62
je 0x1004559
dec edi
je 0x1004555
dec edi
je 0x1004509
dec edi
je 0x10044fb
xor eax, eax
jmp 0x103c40d
mov ebx, 0x105
mov dword [ebp + 0xc], 0x10149c0
jmp 0x100455f
push 0x28
lea eax, [ebp - 0x54]
push eax
push 1
push dword [0x1015774]
call dword [sym.imp.USER32.dll_LoadStringW]
push esi
push esi
lea eax, [ebp - 0x54]
push eax
push dword [0x1014a0c]
call dword [sym.imp.SHELL32.dll_ShellAboutW]
cmp eax, 0xffffffff
jne 0x10045cc
push 0x1010
push 0x10159a0
push 0x1016940
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x10045cc
push 4
jmp 0x100455b
push 3
pop ebx
mov dword [ebp + 0xc], esi
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x1016040
call edi
push dword [ebp + 0xc]
movzx eax, bx
push eax
push str.PROGMAN.HLP
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_WinHelpW]
test eax, eax
jne 0x10045a0
push 0x1030
push esi
push 0x8b
push 1
push dword [0x1014a0c]
jmp 0x103ff70
push 0x10162e0
call edi
jmp 0x10045cc
jmp 0x103ccec
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc