Function at 0x486c10
Capabilities:
Get graphical window text
Hide graphical window
Resume thread
Suspend thread

Disassembly:
sub esp, 0xe84
mov eax, dword [0x4ca3b0]
xor eax, esp
mov dword [esp + 0xe80], eax
cmp word [0x50cb90], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe94]
push edi
mov eax, str.HELPExecArcCmd
je 0x486c43
mov eax, 0x50cb90
mov ebx, dword [esp + 0xea4]
mov ebp, dword [esp + 0xea0]
mov edi, dword [esp + 0xe9c]
push 0
push eax
mov eax, dword [0x50cb5c]
push eax
push ebx
push ebp
push edi
push esi
call fcn.004229b0
test al, al
jne case.0x487167.3
cmp edi, 0x110
ja 0x487137
je 0x486f5d
add edi, 0xfffffffe
cmp edi, 0x16
ja case.0x486c97.3
movzx ecx, byte [edi + 0x4877e0]
jmp dword [ecx*4 + 0x4877cc]
test ebp, ebp
je case.0x486c97.3
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je case.0x486c97.3
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push esi
call edi
push 1
push esi
call edi
jmp case.0x486c97.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x50e868]
je 0x486ced
cmp eax, 8
jne case.0x486c97.3
test eax, eax
je 0x486d04
cmp eax, 1
je 0x486d04
cmp eax, 2
je 0x486d04
cmp eax, 8
jne case.0x486c97.3
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [0x50cda0]
mov edx, dword [0x50cdac]
push esi
push 0
mov edi, eax
mov eax, dword [0x50cda4]
push edi
push 0
push eax
mov eax, dword [0x50cda8]
push ecx
push edx
push eax
call fcn.00485e40
cmp byte [0x50ce1e], 0
jne 0x486d49
cmp dword [0x50e868], 8
jne 0x486d6f
mov ecx, dword [0x50cd94]
mov edx, dword [0x50cd90]
mov eax, dword [0x50cd9c]
push esi
push 1
push edi
push 1
push ecx
mov ecx, dword [0x50cd98]
push edx
push eax
push ecx
call fcn.00485e40
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp case.0x486c97.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x486da1
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, 1
jmp 0x4877b1
cmp dword [0x50e868], 0xb
je 0x486de0
call fcn.004a4d25
sub eax, dword [0x50ce20]
cmp eax, 0xea60
jl 0x486de0
push 0x24
push 0x312
call fcn.00460760
push eax
push 0x311
call fcn.00460760
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x486de7
mov byte [0x4e8c4c], 1
mov eax, 1
jmp 0x4877b1
mov eax, dword [0x4e8cd4]
push 1
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0
push 0
push 0
push 0
xor ebx, ebx
call fcn.00485db0
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x486e50
push str.Done
push esi
call dword [sym.imp.USER32.dll_RemovePropW]
xor eax, eax
lea esp, [esp]
cmp dword [eax*4 + 0x50ce28], esi
je 0x486e44
inc eax
cmp eax, 0x10
jb 0x486e30
jmp 0x486eff
mov dword [eax*4 + 0x50ce28], ebx
jmp 0x486eff
mov ecx, dword [0x50cb88]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push ecx
call edi
mov edx, dword [0x50cb84]
push edx
call edi
mov eax, dword [0x50cb80]
push eax
call edi
mov ecx, dword [0x50cb7c]
push ecx
call edi
mov edx, dword [0x50cb78]
push edx
call edi
mov eax, dword [0x50cb74]
push eax
call edi
mov ecx, dword [0x50cb70]
push ecx
call edi
mov edx, dword [0x50cb6c]
push edx
call edi
mov eax, dword [0x50cb68]
push eax
call edi
mov ecx, dword [0x50cb64]
push ecx
call edi
mov edx, dword [0x50cb60]
push edx
call edi
xor ebx, ebx
cmp byte [0x4e8c4c], bl
jne 0x486ed8
call fcn.004a4d25
sub eax, dword [0x50ce20]
cmp eax, 0x2710
jle 0x486ed8
push ebx
call fcn.004460e0
call fcn.00484f80
mov al, byte [0x4e8c4c]
mov dword [0x4e7b84], ebx
mov dword [0x4e8434], ebx
mov byte [0x4e7b88], al
mov byte [0x4e8c4c], bl
mov dword [0x50ce24], ebx
mov eax, dword [0x4e8ccc]
test eax, eax
je 0x486f0f
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x4e83a4], 1
je 0x486f3b
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x4e8cd4]
jne 0x486f3b
mov eax, dword [0x4e8430]
test eax, eax
jne 0x486f34
mov eax, dword [0x4ee478]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [0x50e868]
cmp eax, 1
je 0x486f53
cmp eax, 2
je 0x486f53
cmp eax, 7
jne case.0x486c97.3
call fcn.0044ecb0
jmp case.0x486c97.3
push 0
push esi
mov byte [0x50f328], 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
mov ebp, 1
test edi, edi
je 0x486f90
mov ebx, dword [sym.imp.USER32.dll_EnableMenuItem]
push ebp
push 0xf000
push edi
call ebx
push ebp
push 0xf030
push edi
call ebx
mov eax, dword [0x50e868]
xor ebx, ebx
cmp eax, ebx
je 0x486fb5
push ebx
push 0x70
push esi
call fcn.004226d0
push ebx
push 0xa3
push esi
call fcn.004226f0
mov eax, dword [0x50e868]
cmp byte [0x50ce1e], 0
jne 0x486feb
cmp eax, ebp
je 0x486fc7
cmp eax, 2
jne 0x486feb
push ebx
push 0xa2
push esi
call fcn.004226f0
push ebx
push 0xa6
push esi
call fcn.004226f0
push ebx
push 0xa1
push esi
call fcn.004226f0
mov byte [0x4e8c4c], 0
mov byte [0x4e7b88], 0
mov dword [0x4e8434], ebp
mov dword [0x4e7b84], esi
mov dword [0x4f5fc0], ebx
cmp dword [0x4e83a4], ebp
je 0x487028
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov ecx, dword [0x4e8cd4]
push ebx
push ecx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov edx, dword [0x4e8cd4]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x487079
mov eax, dword [0x4e8cd4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x487079
mov edx, dword [0x4e7b84]
lea ecx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x20], 0x2c
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [0x4e8cd4]
lea eax, [esp + 0x18]
push eax
push ecx
mov dword [esp + 0x28], ebx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
mov edi, dword [sym.imp.GDI32.dll_CreatePen]
push 0x606060
push ebp
push ebx
call edi
push 0x80809e
push ebp
push ebx
mov dword [0x50cb88], eax
call edi
push 0xeee8e8
push ebp
push ebx
mov dword [0x50cb84], eax
call edi
push 0xffffff
push ebp
push ebx
mov dword [0x50cb80], eax
call edi
push 0xc0ffff
push ebp
push ebx
mov dword [0x50cb7c], eax
call edi
push 0xb4d4e4
push ebp
push ebx
mov dword [0x50cb78], eax
call edi
push 0x9494b4
push ebp
push ebx
mov dword [0x50cb74], eax
call edi
push 0x464040
push ebp
push ebx
mov dword [0x50cb70], eax
call edi
mov edi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x6e6e94
mov dword [0x50cb6c], eax
call edi
push 0xdcd6d6
mov dword [0x50cb68], eax
call edi
push 0xa0c0d0
mov dword [0x50cb64], eax
call edi
push ebx
push ebx
push 0x401
push esi
mov dword [0x50cb60], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x4e83a4], ebp
setne al
jmp 0x4877b1
cmp edi, 0x400
ja 0x487637
je 0x487570
cmp edi, 0x111
jne case.0x486c97.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0x7c
ja case.0x487167.3
movzx edx, byte [eax + 0x487814]
jmp dword [edx*4 + 0x4877f8]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x4877b1
push 0x3a8
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.004a4250
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0xc
push 0x31
mov dword [esp + 0x5c], 0x3a8
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 0x7b
mov dword [esp + 0x68], 7
mov dword [esp + 0x6c], 0x400
call edi
push 0x32
mov ebp, eax
call edi
mov ebx, eax
call fcn.0043e7a0
cmp eax, 0x501
sbb edi, edi
and edi, 7
add edi, 0x65
mov eax, str.RAR.ico
cmp edi, 0x65
je 0x4871f0
mov eax, str.Tray.ico
push ebx
push ebp
push eax
mov ecx, 0x4f03a8
call fcn.0046b7a0
mov dword [0x50e86c], eax
test eax, eax
jne 0x487221
mov edx, dword [0x4d56b0]
push eax
push ebx
push ebp
movzx ecx, di
push 1
push ecx
push edx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x50e86c], eax
push 0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x70], eax
call fcn.00485c60
lea eax, [esp + 0x58]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x487290
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
call esi
mov ecx, dword [0x4e8cd4]
push 0
push ecx
call esi
push 1
call fcn.00495980
mov edx, dword [0x50cd94]
mov eax, dword [0x50cd90]
mov ecx, dword [0x50cd9c]
push 0
push 0
push 0
push 1
push edx
mov edx, dword [0x50cd98]
push eax
push ecx
push edx
call fcn.00485e40
mov eax, 1
jmp 0x4877b1
mov eax, dword [0x50e86c]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x50e86c], 0
mov eax, 1
jmp 0x4877b1
cmp byte [0x50f328], 0
je 0x4872ca
mov byte [0x50f328], 0
mov eax, 1
jmp 0x4877b1
cmp byte [0x50cb58], 0
jne 0x487314
cmp dword [0x4e7b84], 0
je case.0x487167.3
push 0xc8
push 0x50f198
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x480
push 0x50e898
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x4e8ccc]
test eax, eax
je 0x487314
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x50cd9c]
test ecx, ecx
jl 0x48734f
mov eax, dword [0x50cd98]
jg 0x487329
test eax, eax
jbe 0x48734f
mov edx, dword [0x50cd94]
movzx ebx, byte [0x50cb58]
push edx
mov edx, dword [0x50cd90]
neg ebx
push edx
sbb ebx, ebx
push ecx
and ebx, 0xfffffffa
push eax
add ebx, 8
call fcn.00485db0
cmp byte [0x50cb58], 0
je 0x48735f
mov eax, 0x50f198
jmp 0x487369
push 0x49c
call fcn.00460760
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x50cb58], 0
je 0x487383
mov eax, 0x50e898
jmp 0x48738d
push 0x49d
call fcn.00460760
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x50cb58], 0
push 0x3a8
lea ecx, [esp + 0x5c]
sete al
push 0
push ecx
mov byte [0x50cb58], al
call fcn.004a4250
mov edx, dword [0x50cb8c]
add esp, 0xc
push edx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], 0x3a8
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 0x7b
mov dword [esp + 0x68], 4
call fcn.00485c60
lea eax, [esp + 0x58]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor bl, bl
cmp byte [0x50cb58], bl
je 0x487411
mov eax, dword [0x50ce24]
test eax, eax
je 0x487411
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne bl
call fcn.004a4d25
cmp byte [0x50cb58], 0
mov dword [esp + 0x10], eax
je 0x48749e
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageW]
nop
cmp byte [0x4e8c4c], 0
jne 0x48749e
push 0
push 0
push 0
lea ecx, [esp + 0x24]
push ecx
call edi
test eax, eax
je 0x48749e
lea edx, [esp + 0x18]
push edx
push esi
call ebp
test eax, eax
jne 0x487495
cmp dword [esp + 0x1c], 0x203
jne 0x48747f
mov eax, dword [esp + 0x18]
cmp eax, dword [0x4f0c78]
jne 0x48747f
mov ecx, dword [0x4e8cd4]
push ecx
mov ecx, 0x4f0c78
call fcn.00470080
jmp 0x487495
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x50cb58], 0
jne 0x487430
call fcn.004a4d25
sub eax, dword [esp + 0x10]
add dword [0x50ce20], eax
test bl, bl
je 0x4874be
mov ecx, dword [0x50ce24]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, 1
jmp 0x4877b1
call fcn.004a4d25
mov edx, dword [0x4d56b0]
mov edi, dword [0x4f45c0]
push 0
push 0x4855e0
push esi
push str.CMDMODE
push edx
mov ebx, eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x487522
mov eax, dword [0x4f45c0]
cmp eax, edi
je 0x487522
test eax, eax
je 0x487522
cmp dword [0x4f4fb4], 0
jne 0x48751c
mov ecx, dword [0x4f5fc0]
test ecx, ecx
je 0x487522
dec eax
push eax
call fcn.00448480
jmp 0x487522
push eax
call fcn.00422340
call fcn.004a4d25
sub eax, ebx
add dword [0x50ce20], eax
mov eax, 1
jmp 0x4877b1
push 0x202
push 0
push 0x400
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x4877b1
push 0
push 0x6f
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x4877b1
cmp ebx, 0x202
jne 0x487590
call fcn.00484f80
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x4877b1
cmp ebx, 0x205
jne 0x48762d
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.00460760
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call ebx
push 0x2ff
call fcn.00460760
push eax
push 0x7d
push 0
push edi
call ebx
xor eax, eax
cmp byte [0x50cb58], al
setne al
add eax, 0x300
push eax
call fcn.00460760
push eax
push 0x7e
push 0
push edi
call ebx
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push 0
push esi
push 0
push edx
push eax
push 2
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push 0
push 0
push 0x400
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, 1
jmp 0x4877b1
sub edi, 0x401
je 0x4876a4
sub edi, 1
je 0x487676
sub edi, 1
jne case.0x486c97.3
mov eax, ebx
xor ebx, ebx
push ebx
push ebx
push ebx
cdq
push 1
mov edi, edx
push edi
mov esi, eax
push esi
push ebx
push ebp
call fcn.00485e40
push ebx
push edi
push esi
push ebx
push ebp
call fcn.004858e0
lea eax, [ebx + 1]
jmp 0x4877b1
push 0
push 0
push 0
push 0
mov eax, ebx
cdq
push edx
push eax
push 0
push ebp
call fcn.00485e40
push 0
push 0
push 0
push 0
push 0
call fcn.004858e0
mov eax, 1
jmp 0x4877b1
mov eax, dword [0x4e8ccc]
test eax, eax
je case.0x486c97.3
cmp byte [0x4f5fbc], 0
jne 0x4876c8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp case.0x486c97.3
push 0xc8
lea ecx, [esp + 0x404]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.00460760
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor bl, bl
call fcn.004a4d25
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x10], eax
mov byte [0x50f328], 1
cmp byte [0x4e8c4c], bl
jne 0x487779
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x487720
cmp byte [0x50f328], 0
je 0x487779
mov edx, dword [0x4e8ccc]
push 0x32
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x487779
test bl, bl
jne 0x487763
push 0x480
lea eax, [esp + 0x594]
push eax
push esi
call edi
push 0x57d
call fcn.00460760
push eax
push esi
call ebp
mov bl, 1
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004468f0
cmp byte [0x4e8c4c], 0
je 0x487720
mov byte [0x50f328], 0
call fcn.004a4d25
sub eax, dword [esp + 0x10]
push eax
call fcn.00485580
lea ecx, [esp + 0x400]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
test bl, bl
je case.0x486c97.3
lea edx, [esp + 0x590]
push edx
push esi
call ebp
xor eax, eax
mov ecx, dword [esp + 0xe90]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a39f3
add esp, 0xe84
ret 0x10