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

Disassembly:
sub esp, 0xe90
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0xe8c], eax
cmp word [0x50e028], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xea0]
push edi
mov eax, str.HELPExecArcCmd
je 0x487b73
mov eax, 0x50e028
mov edi, dword [esp + 0xeb0]
mov ebp, dword [esp + 0xeac]
mov ebx, dword [esp + 0xea8]
push 0
push eax
mov eax, dword [0x50dff4]
push eax
push edi
push ebp
push ebx
push esi
call fcn.00422c10
test al, al
jne case.0x4880be.3
cmp ebx, 0x110
ja 0x48808e
je 0x487ebd
lea eax, [ebx - 2]
cmp eax, 0x16
ja case.0x487bc7.3
movzx ecx, byte [eax + 0x488758]
jmp dword [ecx*4 + 0x488744]
test ebp, ebp
je case.0x487bc7.3
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je case.0x487bc7.3
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push esi
call edi
push 1
push esi
call edi
jmp case.0x487bc7.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x50fd00]
je 0x487c1d
cmp eax, 8
jne case.0x487bc7.3
test eax, eax
je 0x487c34
cmp eax, 1
je 0x487c34
cmp eax, 2
je 0x487c34
cmp eax, 8
jne case.0x487bc7.3
lea edx, [esp + 0x24]
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.00486d70
cmp byte [0x50e2b6], 0
jne 0x487c79
cmp dword [0x50fd00], 8
jne 0x487c9f
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.00486d70
lea edx, [esp + 0x24]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp case.0x487bc7.3
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x487cd1
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, 1
jmp 0x488728
cmp dword [0x50fd00], 0xb
je 0x487d10
call fcn.004a5e75
sub eax, dword [0x50e2b8]
cmp eax, 0xea60
jl 0x487d10
push 0x24
push 0x312
call fcn.00461310
push eax
push 0x311
call fcn.00461310
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x487d17
mov byte [0x4eac4c], 1
mov eax, 1
jmp 0x488728
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.00486ce0
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x487d80
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 0x487d74
inc eax
cmp eax, 0x10
jb 0x487d60
jmp 0x487e31
mov dword [eax*4 + 0x50e2c0], ebx
jmp 0x487e31
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 0x487e08
call fcn.004a5e75
sub eax, dword [0x50e2b8]
cmp eax, 0x2710
jle 0x487e08
push ebx
call fcn.00446900
push ebx
push esi
call fcn.00485e30
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 0x487e41
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x4ea3a4], 1
je 0x487e6d
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x4eacd4]
jne 0x487e6d
mov eax, dword [0x4ea430]
test eax, eax
jne 0x487e66
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 0x487eb3
lea edx, [esp + 0x14]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [0x4f04a8]
push 2
lea eax, [esp + 0x18]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [0x4f04a8]
push 1
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.0044f3f0
jmp case.0x487bc7.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 0x487ef0
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 0x487f0c
push ebx
push 0xa3
push esi
call fcn.00422950
mov eax, dword [0x50fd00]
cmp byte [0x50e2b6], 0
jne 0x487f42
cmp eax, ebp
je 0x487f1e
cmp eax, 2
jne 0x487f42
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 0x487f7f
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 0x487fd0
mov eax, dword [0x4eacd4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x487fd0
mov edx, dword [0x4e9b84]
lea ecx, [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x2c], 0x2c
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [0x4eacd4]
lea eax, [esp + 0x24]
push eax
push ecx
mov dword [esp + 0x34], 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 ebp
push ebx
push 0x408
push esi
mov dword [0x50dff8], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x4ea3a4], ebp
setne al
jmp 0x488728
cmp ebx, 0x407
ja 0x4885a9
je 0x4884df
cmp ebx, 0x111
jne case.0x487bc7.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0x7c
ja case.0x4880be.3
movzx edx, byte [eax + 0x48878c]
jmp dword [edx*4 + 0x488770]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x488728
push 0x3a8
lea eax, [esp + 0x68]
push 0
push eax
call fcn.004a53a0
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0xc
push 0x31
mov dword [esp + 0x68], 0x3a8
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0x7b
mov dword [esp + 0x74], 7
mov dword [esp + 0x78], 0x407
call edi
push 0x32
mov ebp, eax
call edi
mov ebx, eax
call fcn.0043ee90
cmp eax, 0x501
sbb edi, edi
and edi, 7
add edi, 0x65
mov eax, str.RAR.ico
cmp edi, 0x65
je 0x488147
mov eax, str.Tray.ico
push ebx
push ebp
push eax
mov ecx, 0x4f23e0
call fcn.0046c490
mov dword [0x50fd04], eax
test eax, eax
jne 0x488178
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 + 0x68]
mov dword [esp + 0x7c], eax
call fcn.00486b90
lea eax, [esp + 0x64]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x4881e7
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.00496a50
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.00486d70
mov eax, 1
jmp 0x488728
mov eax, dword [0x50fd04]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x50fd04], 0
mov eax, 1
jmp 0x488728
cmp byte [0x5107c0], 0
je 0x488221
mov byte [0x5107c0], 0
mov eax, 1
jmp 0x488728
cmp byte [0x50dff0], 0
jne 0x48826b
cmp dword [0x4e9b84], 0
je case.0x4880be.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 0x48826b
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x50e234]
test ecx, ecx
jl 0x4882a6
mov eax, dword [0x50e230]
jg 0x488280
test eax, eax
jbe 0x4882a6
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.00486ce0
cmp byte [0x50dff0], 0
je 0x4882b6
mov eax, 0x510630
jmp 0x4882c0
push 0x49c
call fcn.00461310
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x50dff0], 0
je 0x4882da
mov eax, 0x50fd30
jmp 0x4882e4
push 0x49d
call fcn.00461310
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x50dff0], 0
push 0x3a8
lea ecx, [esp + 0x68]
sete al
push 0
push ecx
mov byte [0x50dff0], al
call fcn.004a53a0
mov edx, dword [0x50e024]
add esp, 0xc
push edx
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0x3a8
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0x7b
mov dword [esp + 0x74], 4
call fcn.00486b90
lea eax, [esp + 0x64]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor bl, bl
cmp byte [0x50dff0], bl
je 0x488368
mov eax, dword [0x50e2bc]
test eax, eax
je 0x488368
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne bl
call fcn.004a5e75
cmp byte [0x50dff0], 0
mov dword [esp + 0x14], eax
je 0x4883f4
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageW]
cmp byte [0x4eac4c], 0
jne 0x4883f4
push 0
push 0
push 0
lea ecx, [esp + 0x30]
push ecx
call edi
test eax, eax
je 0x4883f4
lea edx, [esp + 0x24]
push edx
push esi
call ebp
test eax, eax
jne 0x4883eb
cmp dword [esp + 0x28], 0x203
jne 0x4883d5
mov eax, dword [esp + 0x24]
cmp eax, dword [0x4f2cb0]
jne 0x4883d5
mov ecx, dword [0x4eacd4]
push ecx
mov ecx, 0x4f2cb0
call fcn.00470d30
jmp 0x4883eb
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x50dff0], 0
jne 0x488386
call fcn.004a5e75
sub eax, dword [esp + 0x14]
add dword [0x50e2b8], eax
test bl, bl
je 0x488414
mov ecx, dword [0x50e2bc]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp byte [0x4eac4c], 0
jne 0x48842d
push 0
push 0
push 0x408
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x488728
call fcn.004a5e75
mov edx, dword [0x4d76b0]
mov edi, dword [0x4f65f8]
push 0
push 0x4864f0
push esi
push str.CMDMODE
push edx
mov ebx, eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x488491
mov eax, dword [0x4f65f8]
cmp eax, edi
je 0x488491
test eax, eax
je 0x488491
cmp dword [0x4f701c], 0
jne 0x48848b
mov ecx, dword [0x4f8028]
test ecx, ecx
je 0x488491
dec eax
push eax
call fcn.00448ba0
jmp 0x488491
push eax
call fcn.004225a0
call fcn.004a5e75
sub eax, ebx
add dword [0x50e2b8], eax
mov eax, 1
jmp 0x488728
push 0x202
push 0
push 0x407
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x488728
push 0
push 0x6f
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x488728
cmp edi, 0x202
jne 0x488502
push 1
push esi
call fcn.00485e30
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x488728
cmp edi, 0x205
jne 0x48859f
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.00461310
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call ebx
push 0x2ff
call fcn.00461310
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.00461310
push eax
push 0x7e
push 0
push edi
call ebx
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
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 0x488728
sub ebx, 0x408
je 0x488614
sub ebx, 1
je 0x4885e6
sub ebx, 1
jne case.0x487bc7.3
push ebx
push ebx
push ebx
mov eax, edi
cdq
push 1
mov edi, edx
push edi
mov esi, eax
push esi
push ebx
push ebp
call fcn.00486d70
push ebx
push edi
push esi
push ebx
push ebp
call fcn.00486810
lea eax, [ebx + 1]
jmp 0x488728
push 0
push 0
push 0
push 0
mov eax, edi
cdq
push edx
push eax
push 0
push ebp
call fcn.00486d70
push 0
push 0
push 0
push 0
push 0
call fcn.00486810
mov eax, 1
jmp 0x488728
mov eax, dword [0x4eaccc]
test eax, eax
je case.0x487bc7.3
cmp byte [0x4f8024], 0
jne 0x488638
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp case.0x487bc7.3
push 0xc8
lea ecx, [esp + 0x410]
push ecx
push 0x6f
cmp edi, 1
push esi
sete byte [esp + 0x23]
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.00461310
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor bl, bl
call fcn.004a5e75
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x14], eax
mov byte [0x5107c0], 1
cmp byte [0x4eac4c], bl
jne 0x4886f0
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [0x5107c0], 0
je 0x4886f0
mov edx, dword [0x4eaccc]
push 0x32
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4886f0
cmp byte [esp + 0x13], 0
je 0x4886f0
test bl, bl
jne 0x4886da
push 0x480
lea eax, [esp + 0x5a0]
push eax
push esi
call edi
push 0x57d
call fcn.00461310
push eax
push esi
call ebp
mov bl, 1
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00447110
cmp byte [0x4eac4c], 0
je 0x488690
mov byte [0x5107c0], 0
call fcn.004a5e75
sub eax, dword [esp + 0x14]
push eax
call fcn.00486490
lea ecx, [esp + 0x40c]
push ecx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
test bl, bl
je case.0x487bc7.3
lea edx, [esp + 0x59c]
push edx
push esi
call ebp
xor eax, eax
mov ecx, dword [esp + 0xe9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a4b43
add esp, 0xe90
ret 0x10