Function at 0x486e60
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 [0x50cb98], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe94]
push edi
mov eax, str.HELPExecArcCmd
je 0x486e93
mov eax, 0x50cb98
mov ebx, dword [esp + 0xea4]
mov ebp, dword [esp + 0xea0]
mov edi, dword [esp + 0xe9c]
push 0
push eax
mov eax, dword [0x50cb64]
push eax
push ebx
push ebp
push edi
push esi
call fcn.00422a00
test al, al
jne case.0x4873b7.3
cmp edi, 0x110
ja 0x487387
je 0x4871ad
add edi, 0xfffffffe
cmp edi, 0x16
ja case.0x486ee7.3
movzx ecx, byte [edi + 0x487a30]
jmp dword [ecx*4 + 0x487a1c]
test ebp, ebp
je case.0x486ee7.3
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je case.0x486ee7.3
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push esi
call edi
push 1
push esi
call edi
jmp case.0x486ee7.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x50e870]
je 0x486f3d
cmp eax, 8
jne case.0x486ee7.3
test eax, eax
je 0x486f54
cmp eax, 1
je 0x486f54
cmp eax, 2
je 0x486f54
cmp eax, 8
jne case.0x486ee7.3
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [0x50cda8]
mov edx, dword [0x50cdb4]
push esi
push 0
mov edi, eax
mov eax, dword [0x50cdac]
push edi
push 0
push eax
mov eax, dword [0x50cdb0]
push ecx
push edx
push eax
call fcn.00486090
cmp byte [0x50ce26], 0
jne 0x486f99
cmp dword [0x50e870], 8
jne 0x486fbf
mov ecx, dword [0x50cd9c]
mov edx, dword [0x50cd98]
mov eax, dword [0x50cda4]
push esi
push 1
push edi
push 1
push ecx
mov ecx, dword [0x50cda0]
push edx
push eax
push ecx
call fcn.00486090
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp case.0x486ee7.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x486ff1
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, 1
jmp 0x487a01
cmp dword [0x50e870], 0xb
je 0x487030
call fcn.004a4f95
sub eax, dword [0x50ce28]
cmp eax, 0xea60
jl 0x487030
push 0x24
push 0x312
call fcn.00460a30
push eax
push 0x311
call fcn.00460a30
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x487037
mov byte [0x4e8c4c], 1
mov eax, 1
jmp 0x487a01
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.00486000
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4870a0
push str.Done
push esi
call dword [sym.imp.USER32.dll_RemovePropW]
xor eax, eax
lea esp, [esp]
cmp dword [eax*4 + 0x50ce30], esi
je 0x487094
inc eax
cmp eax, 0x10
jb 0x487080
jmp 0x48714f
mov dword [eax*4 + 0x50ce30], ebx
jmp 0x48714f
mov ecx, dword [0x50cb90]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push ecx
call edi
mov edx, dword [0x50cb8c]
push edx
call edi
mov eax, dword [0x50cb88]
push eax
call edi
mov ecx, dword [0x50cb84]
push ecx
call edi
mov edx, dword [0x50cb80]
push edx
call edi
mov eax, dword [0x50cb7c]
push eax
call edi
mov ecx, dword [0x50cb78]
push ecx
call edi
mov edx, dword [0x50cb74]
push edx
call edi
mov eax, dword [0x50cb70]
push eax
call edi
mov ecx, dword [0x50cb6c]
push ecx
call edi
mov edx, dword [0x50cb68]
push edx
call edi
xor ebx, ebx
cmp byte [0x4e8c4c], bl
jne 0x487128
call fcn.004a4f95
sub eax, dword [0x50ce28]
cmp eax, 0x2710
jle 0x487128
push ebx
call fcn.00446270
call fcn.004851d0
mov al, byte [0x4e8c4c]
mov dword [0x4e7b84], ebx
mov dword [0x4e8434], ebx
mov byte [0x4e7b88], al
mov byte [0x4e8c4c], bl
mov dword [0x50ce2c], ebx
mov eax, dword [0x4e8ccc]
test eax, eax
je 0x48715f
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x4e83a4], 1
je 0x48718b
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x4e8cd4]
jne 0x48718b
mov eax, dword [0x4e8430]
test eax, eax
jne 0x487184
mov eax, dword [0x4ee478]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [0x50e870]
cmp eax, 1
je 0x4871a3
cmp eax, 2
je 0x4871a3
cmp eax, 7
jne case.0x486ee7.3
call fcn.0044ee50
jmp case.0x486ee7.3
push 0
push esi
mov byte [0x50f330], 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
mov ebp, 1
test edi, edi
je 0x4871e0
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 [0x50e870]
xor ebx, ebx
cmp eax, ebx
je 0x487205
push ebx
push 0x70
push esi
call fcn.00422720
push ebx
push 0xa3
push esi
call fcn.00422740
mov eax, dword [0x50e870]
cmp byte [0x50ce26], 0
jne 0x48723b
cmp eax, ebp
je 0x487217
cmp eax, 2
jne 0x48723b
push ebx
push 0xa2
push esi
call fcn.00422740
push ebx
push 0xa6
push esi
call fcn.00422740
push ebx
push 0xa1
push esi
call fcn.00422740
mov byte [0x4e8c4c], 0
mov byte [0x4e7b88], 0
mov dword [0x4e8434], ebp
mov dword [0x4e7b84], esi
mov dword [0x4f5fc8], ebx
cmp dword [0x4e83a4], ebp
je 0x487278
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 0x4872c9
mov eax, dword [0x4e8cd4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4872c9
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 [0x50cb90], eax
call edi
push 0xeee8e8
push ebp
push ebx
mov dword [0x50cb8c], eax
call edi
push 0xffffff
push ebp
push ebx
mov dword [0x50cb88], eax
call edi
push 0xc0ffff
push ebp
push ebx
mov dword [0x50cb84], eax
call edi
push 0xb4d4e4
push ebp
push ebx
mov dword [0x50cb80], eax
call edi
push 0x9494b4
push ebp
push ebx
mov dword [0x50cb7c], eax
call edi
push 0x464040
push ebp
push ebx
mov dword [0x50cb78], eax
call edi
mov edi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x6e6e94
mov dword [0x50cb74], eax
call edi
push 0xdcd6d6
mov dword [0x50cb70], eax
call edi
push 0xa0c0d0
mov dword [0x50cb6c], eax
call edi
push ebx
push ebx
push 0x401
push esi
mov dword [0x50cb68], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x4e83a4], ebp
setne al
jmp 0x487a01
cmp edi, 0x400
ja 0x487887
je 0x4877c0
cmp edi, 0x111
jne case.0x486ee7.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0x7c
ja case.0x4873b7.3
movzx edx, byte [eax + 0x487a64]
jmp dword [edx*4 + 0x487a48]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x487a01
push 0x3a8
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.004a44c0
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.0043e920
cmp eax, 0x501
sbb edi, edi
and edi, 7
add edi, 0x65
mov eax, str.RAR.ico
cmp edi, 0x65
je 0x487440
mov eax, str.Tray.ico
push ebx
push ebp
push eax
mov ecx, 0x4f03b0
call fcn.0046bac0
mov dword [0x50e874], eax
test eax, eax
jne 0x487471
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 [0x50e874], eax
push 0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x70], eax
call fcn.00485eb0
lea eax, [esp + 0x58]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x4874e0
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.00495ce0
mov edx, dword [0x50cd9c]
mov eax, dword [0x50cd98]
mov ecx, dword [0x50cda4]
push 0
push 0
push 0
push 1
push edx
mov edx, dword [0x50cda0]
push eax
push ecx
push edx
call fcn.00486090
mov eax, 1
jmp 0x487a01
mov eax, dword [0x50e874]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x50e874], 0
mov eax, 1
jmp 0x487a01
cmp byte [0x50f330], 0
je 0x48751a
mov byte [0x50f330], 0
mov eax, 1
jmp 0x487a01
cmp byte [0x50cb60], 0
jne 0x487564
cmp dword [0x4e7b84], 0
je case.0x4873b7.3
push 0xc8
push 0x50f1a0
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x480
push 0x50e8a0
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x4e8ccc]
test eax, eax
je 0x487564
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x50cda4]
test ecx, ecx
jl 0x48759f
mov eax, dword [0x50cda0]
jg 0x487579
test eax, eax
jbe 0x48759f
mov edx, dword [0x50cd9c]
movzx ebx, byte [0x50cb60]
push edx
mov edx, dword [0x50cd98]
neg ebx
push edx
sbb ebx, ebx
push ecx
and ebx, 0xfffffffa
push eax
add ebx, 8
call fcn.00486000
cmp byte [0x50cb60], 0
je 0x4875af
mov eax, 0x50f1a0
jmp 0x4875b9
push 0x49c
call fcn.00460a30
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x50cb60], 0
je 0x4875d3
mov eax, 0x50e8a0
jmp 0x4875dd
push 0x49d
call fcn.00460a30
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x50cb60], 0
push 0x3a8
lea ecx, [esp + 0x5c]
sete al
push 0
push ecx
mov byte [0x50cb60], al
call fcn.004a44c0
mov edx, dword [0x50cb94]
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.00485eb0
lea eax, [esp + 0x58]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor bl, bl
cmp byte [0x50cb60], bl
je 0x487661
mov eax, dword [0x50ce2c]
test eax, eax
je 0x487661
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne bl
call fcn.004a4f95
cmp byte [0x50cb60], 0
mov dword [esp + 0x10], eax
je 0x4876ee
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageW]
nop
cmp byte [0x4e8c4c], 0
jne 0x4876ee
push 0
push 0
push 0
lea ecx, [esp + 0x24]
push ecx
call edi
test eax, eax
je 0x4876ee
lea edx, [esp + 0x18]
push edx
push esi
call ebp
test eax, eax
jne 0x4876e5
cmp dword [esp + 0x1c], 0x203
jne 0x4876cf
mov eax, dword [esp + 0x18]
cmp eax, dword [0x4f0c80]
jne 0x4876cf
mov ecx, dword [0x4e8cd4]
push ecx
mov ecx, 0x4f0c80
call fcn.00470350
jmp 0x4876e5
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 [0x50cb60], 0
jne 0x487680
call fcn.004a4f95
sub eax, dword [esp + 0x10]
add dword [0x50ce28], eax
test bl, bl
je 0x48770e
mov ecx, dword [0x50ce2c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, 1
jmp 0x487a01
call fcn.004a4f95
mov edx, dword [0x4d56b0]
mov edi, dword [0x4f45c8]
push 0
push 0x485830
push esi
push str.CMDMODE
push edx
mov ebx, eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x487772
mov eax, dword [0x4f45c8]
cmp eax, edi
je 0x487772
test eax, eax
je 0x487772
cmp dword [0x4f4fbc], 0
jne 0x48776c
mov ecx, dword [0x4f5fc8]
test ecx, ecx
je 0x487772
dec eax
push eax
call fcn.00448600
jmp 0x487772
push eax
call fcn.00422390
call fcn.004a4f95
sub eax, ebx
add dword [0x50ce28], eax
mov eax, 1
jmp 0x487a01
push 0x202
push 0
push 0x400
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x487a01
push 0
push 0x6f
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x487a01
cmp ebx, 0x202
jne 0x4877e0
call fcn.004851d0
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x487a01
cmp ebx, 0x205
jne 0x48787d
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.00460a30
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call ebx
push 0x2ff
call fcn.00460a30
push eax
push 0x7d
push 0
push edi
call ebx
xor eax, eax
cmp byte [0x50cb60], al
setne al
add eax, 0x300
push eax
call fcn.00460a30
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 0x487a01
sub edi, 0x401
je 0x4878f4
sub edi, 1
je 0x4878c6
sub edi, 1
jne case.0x486ee7.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.00486090
push ebx
push edi
push esi
push ebx
push ebp
call fcn.00485b30
lea eax, [ebx + 1]
jmp 0x487a01
push 0
push 0
push 0
push 0
mov eax, ebx
cdq
push edx
push eax
push 0
push ebp
call fcn.00486090
push 0
push 0
push 0
push 0
push 0
call fcn.00485b30
mov eax, 1
jmp 0x487a01
mov eax, dword [0x4e8ccc]
test eax, eax
je case.0x486ee7.3
cmp byte [0x4f5fc4], 0
jne 0x487918
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp case.0x486ee7.3
push 0xc8
lea ecx, [esp + 0x404]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.00460a30
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor bl, bl
call fcn.004a4f95
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x10], eax
mov byte [0x50f330], 1
cmp byte [0x4e8c4c], bl
jne 0x4879c9
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x487970
cmp byte [0x50f330], 0
je 0x4879c9
mov edx, dword [0x4e8ccc]
push 0x32
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4879c9
test bl, bl
jne 0x4879b3
push 0x480
lea eax, [esp + 0x594]
push eax
push esi
call edi
push 0x57d
call fcn.00460a30
push eax
push esi
call ebp
mov bl, 1
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00446a80
cmp byte [0x4e8c4c], 0
je 0x487970
mov byte [0x50f330], 0
call fcn.004a4f95
sub eax, dword [esp + 0x10]
push eax
call fcn.004857d0
lea ecx, [esp + 0x400]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
test bl, bl
je case.0x486ee7.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.004a3c63
add esp, 0xe84
ret 0x10