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

Disassembly:
sub esp, 0xe8c
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0xe88], eax
cmp word [0x50e028], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe9c]
push edi
mov eax, str.HELPExecArcCmd
je 0x487be3
mov eax, 0x50e028
mov ebx, dword [esp + 0xeac]
mov ebp, dword [esp + 0xea8]
mov edi, dword [esp + 0xea4]
push 0
push eax
mov eax, dword [0x50dff4]
push eax
push ebx
push ebp
push edi
push esi
call fcn.00422c10
test al, al
jne case.0x48812e.3
cmp edi, 0x110
ja 0x4880fe
je 0x487f2d
add edi, 0xfffffffe
cmp edi, 0x16
ja case.0x487c37.3
movzx ecx, byte [edi + 0x4887a4]
jmp dword [ecx*4 + 0x488790]
test ebp, ebp
je case.0x487c37.3
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je case.0x487c37.3
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push esi
call edi
push 1
push esi
call edi
jmp case.0x487c37.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x50fd00]
je 0x487c8d
cmp eax, 8
jne case.0x487c37.3
test eax, eax
je 0x487ca4
cmp eax, 1
je 0x487ca4
cmp eax, 2
je 0x487ca4
cmp eax, 8
jne case.0x487c37.3
lea edx, [esp + 0x20]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [0x50e238]
mov edx, dword [0x50e244]
push esi
push 0
mov edi, eax
mov eax, dword [0x50e23c]
push edi
push 0
push eax
mov eax, dword [0x50e240]
push ecx
push edx
push eax
call fcn.00486de0
cmp byte [0x50e2b6], 0
jne 0x487ce9
cmp dword [0x50fd00], 8
jne 0x487d0f
mov ecx, dword [0x50e22c]
mov edx, dword [0x50e228]
mov eax, dword [0x50e234]
push esi
push 1
push edi
push 1
push ecx
mov ecx, dword [0x50e230]
push edx
push eax
push ecx
call fcn.00486de0
lea edx, [esp + 0x20]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp case.0x487c37.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x487d41
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, 1
jmp 0x488772
cmp dword [0x50fd00], 0xb
je 0x487d80
call fcn.004a5ee5
sub eax, dword [0x50e2b8]
cmp eax, 0xea60
jl 0x487d80
push 0x24
push 0x312
call fcn.004612e0
push eax
push 0x311
call fcn.004612e0
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x487d87
mov byte [0x4eac4c], 1
mov eax, 1
jmp 0x488772
mov eax, dword [0x4eacd4]
push 1
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0
push 0
push 0
push 0
xor ebx, ebx
call fcn.00486d40
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x487df0
push str.Done
push esi
call dword [sym.imp.USER32.dll_RemovePropW]
xor eax, eax
lea esp, [esp]
cmp dword [eax*4 + 0x50e2c0], esi
je 0x487de4
inc eax
cmp eax, 0x10
jb 0x487dd0
jmp 0x487ea1
mov dword [eax*4 + 0x50e2c0], ebx
jmp 0x487ea1
mov ecx, dword [0x50e020]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push ecx
call edi
mov edx, dword [0x50e01c]
push edx
call edi
mov eax, dword [0x50e018]
push eax
call edi
mov ecx, dword [0x50e014]
push ecx
call edi
mov edx, dword [0x50e010]
push edx
call edi
mov eax, dword [0x50e00c]
push eax
call edi
mov ecx, dword [0x50e008]
push ecx
call edi
mov edx, dword [0x50e004]
push edx
call edi
mov eax, dword [0x50e000]
push eax
call edi
mov ecx, dword [0x50dffc]
push ecx
call edi
mov edx, dword [0x50dff8]
push edx
call edi
xor ebx, ebx
cmp byte [0x4eac4c], bl
jne 0x487e78
call fcn.004a5ee5
sub eax, dword [0x50e2b8]
cmp eax, 0x2710
jle 0x487e78
push ebx
call fcn.00446880
push ebx
push esi
call fcn.00485e90
mov al, byte [0x4eac4c]
mov dword [0x4e9b84], ebx
mov dword [0x4ea434], ebx
mov byte [0x4e9b88], al
mov byte [0x4eac4c], bl
mov dword [0x50e2bc], ebx
mov eax, dword [0x4eaccc]
test eax, eax
je 0x487eb1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x4ea3a4], 1
je 0x487edd
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x4eacd4]
jne 0x487edd
mov eax, dword [0x4ea430]
test eax, eax
jne 0x487ed6
mov eax, dword [0x4f04a8]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [0x4eacd4]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x487f23
lea edx, [esp + 0x10]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [0x4f04a8]
push 2
lea eax, [esp + 0x14]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [0x4f04a8]
push 1
lea edx, [esp + 0x14]
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.0044f370
jmp case.0x487c37.3
push 0
push esi
mov byte [0x5107c0], 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
mov ebp, 1
test edi, edi
je 0x487f60
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 [0x50fd00]
xor ebx, ebx
cmp eax, ebx
je 0x487f7c
push ebx
push 0xa3
push esi
call fcn.00422950
mov eax, dword [0x50fd00]
cmp byte [0x50e2b6], 0
jne 0x487fb2
cmp eax, ebp
je 0x487f8e
cmp eax, 2
jne 0x487fb2
push ebx
push 0xa2
push esi
call fcn.00422950
push ebx
push 0xa6
push esi
call fcn.00422950
push ebx
push 0xa1
push esi
call fcn.00422950
mov byte [0x4eac4c], 0
mov byte [0x4e9b88], 0
mov dword [0x4ea434], ebp
mov dword [0x4e9b84], esi
mov dword [0x4f8028], ebx
cmp dword [0x4ea3a4], ebp
je 0x487fef
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov ecx, dword [0x4eacd4]
push ebx
push ecx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov edx, dword [0x4eacd4]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x488040
mov eax, dword [0x4eacd4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x488040
mov edx, dword [0x4e9b84]
lea ecx, [esp + 0x20]
push ecx
push edx
mov dword [esp + 0x28], 0x2c
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [0x4eacd4]
lea eax, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x30], 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 [0x50e020], eax
call edi
push 0xeee8e8
push ebp
push ebx
mov dword [0x50e01c], eax
call edi
push 0xffffff
push ebp
push ebx
mov dword [0x50e018], eax
call edi
push 0xc0ffff
push ebp
push ebx
mov dword [0x50e014], eax
call edi
push 0xb4d4e4
push ebp
push ebx
mov dword [0x50e010], eax
call edi
push 0x9494b4
push ebp
push ebx
mov dword [0x50e00c], eax
call edi
push 0x464040
push ebp
push ebx
mov dword [0x50e008], eax
call edi
mov edi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x6e6e94
mov dword [0x50e004], eax
call edi
push 0xdcd6d6
mov dword [0x50e000], eax
call edi
push 0xa0c0d0
mov dword [0x50dffc], eax
call edi
push ebx
push ebx
push 0x401
push esi
mov dword [0x50dff8], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x4ea3a4], ebp
setne al
jmp 0x488772
cmp edi, 0x400
ja 0x488600
je 0x488536
cmp edi, 0x111
jne case.0x487c37.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0x7c
ja case.0x48812e.3
movzx edx, byte [eax + 0x4887d8]
jmp dword [edx*4 + 0x4887bc]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x488772
push 0x3a8
lea eax, [esp + 0x64]
push 0
push eax
call fcn.004a5410
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0xc
push 0x31
mov dword [esp + 0x64], 0x3a8
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], 0x7b
mov dword [esp + 0x70], 7
mov dword [esp + 0x74], 0x400
call edi
push 0x32
mov ebp, eax
call edi
mov ebx, eax
call fcn.0043ee10
cmp eax, 0x501
sbb edi, edi
and edi, 7
add edi, 0x65
mov eax, str.RAR.ico
cmp edi, 0x65
je 0x4881b7
mov eax, str.Tray.ico
push ebx
push ebp
push eax
mov ecx, 0x4f23e0
call fcn.0046c480
mov dword [0x50fd04], eax
test eax, eax
jne 0x4881e8
mov edx, dword [0x4d76b0]
push eax
push ebx
push ebp
movzx ecx, di
push 1
push ecx
push edx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x50fd04], eax
push 0
lea ecx, [esp + 0x64]
mov dword [esp + 0x78], eax
call fcn.00486bf0
lea eax, [esp + 0x60]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x488257
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
call esi
mov ecx, dword [0x4eacd4]
push 0
push ecx
call esi
push 1
call fcn.00496a90
mov edx, dword [0x50e22c]
mov eax, dword [0x50e228]
mov ecx, dword [0x50e234]
push 0
push 0
push 0
push 1
push edx
mov edx, dword [0x50e230]
push eax
push ecx
push edx
call fcn.00486de0
mov eax, 1
jmp 0x488772
mov eax, dword [0x50fd04]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x50fd04], 0
mov eax, 1
jmp 0x488772
cmp byte [0x5107c0], 0
je 0x488291
mov byte [0x5107c0], 0
mov eax, 1
jmp 0x488772
cmp byte [0x50dff0], 0
jne 0x4882db
cmp dword [0x4e9b84], 0
je case.0x48812e.3
push 0xc8
push 0x510630
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x480
push 0x50fd30
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x4eaccc]
test eax, eax
je 0x4882db
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x50e234]
test ecx, ecx
jl 0x488316
mov eax, dword [0x50e230]
jg 0x4882f0
test eax, eax
jbe 0x488316
mov edx, dword [0x50e22c]
movzx ebx, byte [0x50dff0]
push edx
mov edx, dword [0x50e228]
neg ebx
push edx
sbb ebx, ebx
push ecx
and ebx, 0xfffffffa
push eax
add ebx, 8
call fcn.00486d40
cmp byte [0x50dff0], 0
je 0x488326
mov eax, 0x510630
jmp 0x488330
push 0x49c
call fcn.004612e0
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x50dff0], 0
je 0x48834a
mov eax, 0x50fd30
jmp 0x488354
push 0x49d
call fcn.004612e0
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x50dff0], 0
push 0x3a8
lea ecx, [esp + 0x64]
sete al
push 0
push ecx
mov byte [0x50dff0], al
call fcn.004a5410
mov edx, dword [0x50e024]
add esp, 0xc
push edx
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], 0x3a8
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], 0x7b
mov dword [esp + 0x70], 4
call fcn.00486bf0
lea eax, [esp + 0x60]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor bl, bl
cmp byte [0x50dff0], bl
je 0x4883d8
mov eax, dword [0x50e2bc]
test eax, eax
je 0x4883d8
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne bl
call fcn.004a5ee5
cmp byte [0x50dff0], 0
mov dword [esp + 0x10], eax
je 0x488464
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageW]
cmp byte [0x4eac4c], 0
jne 0x488464
push 0
push 0
push 0
lea ecx, [esp + 0x2c]
push ecx
call edi
test eax, eax
je 0x488464
lea edx, [esp + 0x20]
push edx
push esi
call ebp
test eax, eax
jne 0x48845b
cmp dword [esp + 0x24], 0x203
jne 0x488445
mov eax, dword [esp + 0x20]
cmp eax, dword [0x4f2cb0]
jne 0x488445
mov ecx, dword [0x4eacd4]
push ecx
mov ecx, 0x4f2cb0
call fcn.00470d80
jmp 0x48845b
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x50dff0], 0
jne 0x4883f6
call fcn.004a5ee5
sub eax, dword [esp + 0x10]
add dword [0x50e2b8], eax
test bl, bl
je 0x488484
mov ecx, dword [0x50e2bc]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, 1
jmp 0x488772
call fcn.004a5ee5
mov edx, dword [0x4d76b0]
mov edi, dword [0x4f65f8]
push 0
push 0x486550
push esi
push str.CMDMODE
push edx
mov ebx, eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4884e8
mov eax, dword [0x4f65f8]
cmp eax, edi
je 0x4884e8
test eax, eax
je 0x4884e8
cmp dword [0x4f701c], 0
jne 0x4884e2
mov ecx, dword [0x4f8028]
test ecx, ecx
je 0x4884e8
dec eax
push eax
call fcn.00448b20
jmp 0x4884e8
push eax
call fcn.004225a0
call fcn.004a5ee5
sub eax, ebx
add dword [0x50e2b8], eax
mov eax, 1
jmp 0x488772
push 0x202
push 0
push 0x400
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x488772
push 0
push 0x6f
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x488772
cmp ebx, 0x202
jne 0x488559
push 1
push esi
call fcn.00485e90
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x488772
cmp ebx, 0x205
jne 0x4885f6
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.004612e0
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call ebx
push 0x2ff
call fcn.004612e0
push eax
push 0x7d
push 0
push edi
call ebx
xor eax, eax
cmp byte [0x50dff0], al
setne al
add eax, 0x300
push eax
call fcn.004612e0
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 0x488772
sub edi, 0x401
je 0x48866d
sub edi, 1
je 0x48863f
sub edi, 1
jne case.0x487c37.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.00486de0
push ebx
push edi
push esi
push ebx
push ebp
call fcn.00486870
lea eax, [ebx + 1]
jmp 0x488772
push 0
push 0
push 0
push 0
mov eax, ebx
cdq
push edx
push eax
push 0
push ebp
call fcn.00486de0
push 0
push 0
push 0
push 0
push 0
call fcn.00486870
mov eax, 1
jmp 0x488772
mov eax, dword [0x4eaccc]
test eax, eax
je case.0x487c37.3
cmp byte [0x4f8024], 0
jne 0x488691
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp case.0x487c37.3
push 0xc8
lea ecx, [esp + 0x40c]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.004612e0
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor bl, bl
call fcn.004a5ee5
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x10], eax
mov byte [0x5107c0], 1
cmp byte [0x4eac4c], bl
jne 0x48873a
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [0x5107c0], 0
je 0x48873a
mov edx, dword [0x4eaccc]
push 0x32
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x48873a
test bl, bl
jne 0x488724
push 0x480
lea eax, [esp + 0x59c]
push eax
push esi
call edi
push 0x57d
call fcn.004612e0
push eax
push esi
call ebp
mov bl, 1
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00447090
cmp byte [0x4eac4c], 0
je 0x4886e1
mov byte [0x5107c0], 0
call fcn.004a5ee5
sub eax, dword [esp + 0x10]
push eax
call fcn.004864f0
lea ecx, [esp + 0x408]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
test bl, bl
je case.0x487c37.3
lea edx, [esp + 0x598]
push edx
push esi
call ebp
xor eax, eax
mov ecx, dword [esp + 0xe98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a4bb3
add esp, 0xe8c
ret 0x10