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

Disassembly:
mov eax, 0x16a0
call fcn.004f8350
mov eax, dword [0x544354]
xor eax, esp
mov dword [esp + 0x169c], eax
cmp word [0x5a5a68], 0
mov eax, str.HELPExecArcCmd
push ebx
mov ebx, dword [esp + 0x16a8]
push ebp
push esi
push edi
mov edi, dword [esp + 0x16c0]
je 0x4ce0de
mov eax, 0x5a5a68
mov ebp, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16b8]
push 0
push eax
push dword [0x5a5c94]
push edi
push ebp
push esi
push ebx
call fcn.0040da90
test al, al
jne case.0x4ce4b9.3
cmp esi, 0x4e
ja 0x4ce47e
je 0x4ce450
add esi, 0xfffffffe
cmp esi, 0x16
ja case.0x4ce128.3
movzx eax, byte [esi + 0x4ced5c]
jmp dword [eax*4 + 0x4ced48]
test ebp, ebp
je case.0x4ce128.3
push 0xfffffffffffffff0
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je case.0x4ce128.3
mov esi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push ebx
call esi
push 1
jmp 0x4ced26
push str.Done
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x5a2384]
je 0x4ce17b
cmp eax, 0xa
jne case.0x4ce128.3
test eax, eax
je 0x4ce192
cmp eax, 1
je 0x4ce192
cmp eax, 2
je 0x4ce192
cmp eax, 0xa
jne case.0x4ce128.3
lea eax, [esp + 0x3dc]
push eax
push ebx
call dword [sym.imp.USER32.dll_BeginPaint]
push ebx
push 0
mov esi, eax
push esi
push 0
push dword [0x5a5a54]
push dword [0x5a5a50]
push dword [0x5a5a4c]
push dword [0x5a5a48]
call fcn.004cf4e0
cmp byte [0x5a59d0], 0
jne 0x4ce1d8
cmp dword [0x5a2384], 0xa
jne 0x4ce1fb
push ebx
push 1
push esi
push 1
push dword [0x5a5a64]
push dword [0x5a5a60]
push dword [0x5a5a5c]
push dword [0x5a5a58]
call fcn.004cf4e0
lea eax, [esp + 0x3dc]
push eax
push ebx
call dword [sym.imp.USER32.dll_EndPaint]
jmp case.0x4ce128.3
push str.Done
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4ce230
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, 1
jmp 0x4ced2b
cmp dword [0x5a2384], 0xd
je 0x4ce277
call fcn.004fe857
sub eax, dword [0x5a59cc]
cmp eax, 0xea60
jl 0x4ce277
cmp byte [0x54ba56], 0
jne 0x4ce27e
push 0x24
push 0x312
call fcn.0048e4c0
push eax
push 0x311
call fcn.0048e4c0
push eax
push ebx
call fcn.004cd560
cmp eax, 6
jne 0x4ce27e
mov byte [0x54ba56], 1
mov eax, 1
jmp 0x4ced2b
push 1
push dword [0x54b9c8]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0
push 0
push 0
push 0
push 0
call fcn.004d05a0
push str.Done
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4ce2e7
push str.Done
push ebx
call dword [sym.imp.USER32.dll_RemovePropW]
xor eax, eax
cmp dword [eax*4 + 0x5a5988], ebx
je 0x4ce2d7
inc eax
cmp eax, 0x10
jb 0x4ce2c3
jmp 0x4ce3a7
mov dword [eax*4 + 0x5a5988], 0
jmp 0x4ce3a7
push dword [0x5a5c68]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [0x5a5c6c]
call esi
push dword [0x5a5c70]
call esi
push dword [0x5a5c74]
call esi
push dword [0x5a5c78]
call esi
push dword [0x5a5c7c]
call esi
push dword [0x5a5c80]
call esi
push dword [0x5a5c84]
call esi
push dword [0x5a5c88]
call esi
push dword [0x5a5c8c]
call esi
push dword [0x5a5c90]
call esi
cmp byte [0x54ba56], 0
jne 0x4ce370
call fcn.004fe857
sub eax, dword [0x5a59cc]
cmp eax, 0x2710
jle 0x4ce370
cmp dword [0x5a2384], 7
je 0x4ce370
push 1
call fcn.00497210
push 0
push ebx
call fcn.004d0950
mov al, byte [0x54ba56]
mov dword [0x54b9d4], 0
mov dword [0x54cb40], 0
mov byte [0x54ba57], al
mov byte [0x54ba56], 0
mov dword [0x5a59c8], 0
mov eax, dword [0x54bad4]
test eax, eax
je 0x4ce3b7
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x54bacc], 1
je 0x4ce3e3
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x54b9c8]
jne 0x4ce3e3
mov eax, dword [0x54b9d8]
test eax, eax
jne 0x4ce3dc
mov eax, dword [0x570de0]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push dword [0x54b9c8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4ce430
lea eax, [esp + 0x3cc]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [esp + 0x3d0]
push eax
push dword [0x570de0]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 1
lea eax, [esp + 0x3d0]
push eax
push dword [0x570de0]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x5a5c9c]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
push dword [0x5a5ca0]
call esi
call fcn.0044a140
jmp case.0x4ce128.3
cmp dword [edi + 8], 0xfffffdee
jne case.0x4ce128.3
cmp dword [edi + 4], 0xa6
jne 0x4ce472
mov dword [edi + 0xc], 0x5a3388
jmp case.0x4ce128.3
mov dword [edi + 0xc], 0x5a2388
jmp case.0x4ce128.3
cmp esi, 0x8007
ja 0x4cebf6
je 0x4ceb35
sub esi, 0x110
je 0x4ce8de
sub esi, 1
jne case.0x4ce128.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0xa8
ja case.0x4ce4b9.3
movzx eax, byte [eax + 0x4ced90]
jmp dword [eax*4 + 0x4ced74]
push 0
push 0
push 0x10
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x4ced2b
push 0x3b8
lea eax, [esp + 0x18]
push 0
push eax
call fcn.004fa860
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0xc
mov dword [esp + 0x14], 0x3b8
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x7b
push 0x31
mov dword [esp + 0x24], 7
mov dword [esp + 0x28], 0x8007
call esi
push 0x32
mov edi, eax
call esi
mov esi, eax
mov ecx, 0x572f10
push esi
push edi
push str.RAR.ico
call fcn.004af540
mov dword [0x5a2380], eax
test eax, eax
jne 0x4ce553
push eax
push esi
push edi
push 1
push 0x65
push dword [0x57f310]
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x5a2380], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004d0190
lea eax, [esp + 0x14]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x4ce5bf
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push ebx
call esi
push 0
push dword [0x54b9c8]
call esi
push 1
call fcn.004e1f50
push 0
push 0
push 0
push 1
push dword [0x5a5a64]
push dword [0x5a5a60]
push dword [0x5a5a5c]
push dword [0x5a5a58]
call fcn.004cf4e0
mov eax, 1
jmp 0x4ced2b
push dword [0x5a2380]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x5a2380], 0
mov eax, 1
jmp 0x4ced2b
cmp byte [0x5a5c99], 0
je 0x4ce5f9
mov byte [0x5a5c99], 0
mov eax, 1
jmp 0x4ced2b
cmp byte [0x5a5a3f], 0
jne 0x4ce646
cmp dword [0x54b9d4], 0
je case.0x4ce4b9.3
push 0xc8
push 0x5a5ca8
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x880
push 0x5a5e38
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x54bad4]
test eax, eax
je 0x4ce646
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x5a5a5c]
test eax, eax
jl 0x4ce680
mov ecx, dword [0x5a5a58]
jg 0x4ce65b
test ecx, ecx
je 0x4ce680
push dword [0x5a5a64]
push dword [0x5a5a60]
push eax
movzx eax, byte [0x5a5a3f]
neg eax
push ecx
sbb eax, eax
and eax, 0xfffffffa
add eax, 8
push eax
call fcn.004d05a0
cmp byte [0x5a5a3f], 0
je 0x4ce690
mov eax, 0x5a5ca8
jmp 0x4ce69a
push 0x49c
call fcn.0048e4c0
push eax
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x5a5a3f], 0
je 0x4ce6b7
mov eax, 0x5a5e38
jmp 0x4ce6c1
push 0x49d
call fcn.0048e4c0
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x5a5a3f], 0
lea eax, [esp + 0x14]
push 0x3b8
push 0
push eax
sete byte [0x5a5a3f]
call fcn.004fa860
add esp, 0xc
mov dword [esp + 0x14], 0x3b8
lea eax, [esp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x7b
mov dword [esp + 0x20], 4
push dword [0x5a59d4]
push eax
call fcn.004d0190
lea eax, [esp + 0x14]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
cmp byte [0x5a5a3f], 0
mov byte [esp + 0x13], 0
je 0x4ce74a
mov eax, dword [0x5a59c8]
test eax, eax
je 0x4ce74a
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne byte [esp + 0x13]
call fcn.004fe857
cmp byte [0x5a5a3f], 0
mov dword [esp + 0x3cc], eax
je 0x4ce7f0
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
mov edi, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov ebp, dword [sym.imp.USER32.dll_TranslateMessage]
cmp byte [0x54ba56], 0
jne 0x4ce7f0
push 0
push 0
push 0
lea eax, [esp + 0x3e8]
push eax
call esi
test eax, eax
je 0x4ce7f0
lea eax, [esp + 0x3dc]
push eax
push ebx
call edi
test eax, eax
jne 0x4ce7e7
cmp dword [esp + 0x3e0], 0x203
jne 0x4ce7cf
mov eax, dword [esp + 0x3dc]
cmp eax, dword [0x572f00]
jne 0x4ce7cf
push dword [0x54b9c8]
mov ecx, 0x572f00
call fcn.004b0970
jmp 0x4ce7e7
lea eax, [esp + 0x3dc]
push eax
call ebp
lea eax, [esp + 0x3dc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x5a5a3f], 0
jne 0x4ce775
call fcn.004fe857
sub eax, dword [esp + 0x3cc]
add dword [0x5a59cc], eax
cmp byte [esp + 0x13], 0
je 0x4ce815
push dword [0x5a59c8]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp byte [0x54ba56], 0
jne case.0x4ce4b9.3
push 0
push 0
push 0x8008
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x4ced2b
call fcn.004fe857
mov esi, dword [0x55d600]
mov edi, eax
push 0
push 0x4cdb80
push ebx
push str.CMDMODE
push dword [0x57f310]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4ce88d
mov eax, dword [0x55d600]
cmp eax, esi
je 0x4ce88d
test eax, eax
je 0x4ce88d
cmp dword [0x55f9c0], 0
jne 0x4ce88d
mov ecx, dword [0x5619d0]
test ecx, ecx
je 0x4ce88d
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x24]
call fcn.004fe857
sub eax, edi
add dword [0x5a59cc], eax
mov eax, 1
jmp 0x4ced2b
push 0x202
push 0
push 0x8007
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x4ced2b
push 0
push 0xa9
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x4ced2b
cmp dword [0x5a2384], 3
mov byte [0x5a5c99], 0
jne 0x4ce902
push 0x4f5
call fcn.0048e4c0
push eax
push 2
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
push ebx
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
test edi, edi
je 0x4ce92b
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 0xf000
push edi
call esi
push 1
push 0xf030
push edi
call esi
mov eax, dword [0x5a2384]
test eax, eax
je 0x4ce946
push 0
push 0xa4
push ebx
call fcn.0040da60
mov eax, dword [0x5a2384]
cmp byte [0x5a59d0], 0
jne 0x4ce980
cmp eax, 1
je 0x4ce959
cmp eax, 2
jne 0x4ce980
push 0
push 0xa3
push ebx
call fcn.0040da60
push 0
push 0xa7
push ebx
call fcn.0040da60
push 0
push 0xa2
push ebx
call fcn.0040da60
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push 0xffffffffffffffff
push 0x9c
push 0x9c
push ebx
call esi
push eax
push ebx
call fcn.004cceb0
push 1
push 0xffffffffffffffff
push 0xa6
push 0xa6
push ebx
mov dword [0x5a5c9c], eax
call esi
push eax
push ebx
call fcn.004cceb0
cmp dword [0x54bacc], 1
mov dword [0x5a5ca0], eax
mov byte [0x54ba56], 0
mov byte [0x54ba57], 0
mov dword [0x54cb40], 1
mov dword [0x54b9d4], ebx
mov dword [0x5619d0], 0
je 0x4cea06
push ebx
call dword [sym.imp.USER32.dll_BringWindowToTop]
push 0
push dword [0x54b9c8]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push dword [0x54b9c8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4cea64
push dword [0x54b9c8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4cea64
lea eax, [esp + 0x3dc]
mov dword [esp + 0x3dc], 0x2c
push eax
push dword [0x54b9d4]
call dword [sym.imp.USER32.dll_GetWindowPlacement]
lea eax, [esp + 0x3dc]
mov dword [esp + 0x3e4], 0
push eax
push dword [0x54b9c8]
call dword [sym.imp.USER32.dll_SetWindowPlacement]
mov esi, dword [sym.imp.GDI32.dll_CreatePen]
push 0x606060
push 1
push 0
call esi
push 0x80809e
push 1
push 0
mov dword [0x5a5c68], eax
call esi
push 0xeee8e8
push 1
push 0
mov dword [0x5a5c6c], eax
call esi
push 0xffffff
push 1
push 0
mov dword [0x5a5c70], eax
call esi
push 0xc0ffff
push 1
push 0
mov dword [0x5a5c74], eax
call esi
push 0xb4d4e4
push 1
push 0
mov dword [0x5a5c78], eax
call esi
push 0x9494b4
push 1
push 0
mov dword [0x5a5c7c], eax
call esi
push 0x464040
push 1
push 0
mov dword [0x5a5c80], eax
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x6e6e94
mov dword [0x5a5c84], eax
call esi
push 0xdcd6d6
mov dword [0x5a5c88], eax
call esi
push 0xa0c0d0
mov dword [0x5a5c8c], eax
call esi
push 1
push 0
push 0x8008
push ebx
mov dword [0x5a5c90], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x54bacc], 1
setne al
jmp 0x4ced2b
cmp edi, 0x202
jne 0x4ceb58
push 1
push ebx
call fcn.004d0950
push 5
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x4ced2b
cmp edi, 0x205
jne case.0x4ce4b9.3
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.0048e4c0
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call esi
push 0x2ff
call fcn.0048e4c0
push eax
push 0x7d
push 0
push edi
call esi
xor eax, eax
cmp byte [0x5a5a3f], al
setne al
add eax, 0x300
push eax
call fcn.0048e4c0
push eax
push 0x7e
push 0
push edi
call esi
lea eax, [esp + 0x3cc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push ebx
push 0
push dword [esp + 0x3dc]
push dword [esp + 0x3dc]
push 2
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, 1
jmp 0x4ced2b
cmp esi, 0x8008
jne case.0x4ce128.3
mov eax, dword [0x54bad4]
test eax, eax
je case.0x4ce128.3
cmp byte [0x5619cc], 0
jne 0x4cec26
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp case.0x4ce128.3
push 0xc8
lea eax, [esp + 0x420]
push eax
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.0048e4c0
push eax
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov byte [esp + 0x13], 0
call fcn.004fe857
cmp byte [0x54ba56], 0
mov cl, 1
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x3cc], eax
mov byte [0x5a5c99], cl
jne 0x4cecea
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
test cl, cl
je 0x4cecea
push 0x14
push dword [0x54bad4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4cecea
cmp edi, 1
jne 0x4cecea
cmp byte [esp + 0x13], 0
jne 0x4cecd0
push 0x880
lea eax, [esp + 0x5b0]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x57d
call fcn.0048e4c0
push eax
push ebx
call esi
mov byte [esp + 0x13], 1
push 0x14
call ebp
call fcn.00447110
cmp byte [0x54ba56], 0
jne 0x4cecea
mov cl, byte [0x5a5c99]
jmp 0x4cec84
mov byte [0x5a5c99], 0
call fcn.004fe857
sub eax, dword [esp + 0x3cc]
push eax
call fcn.004ce030
lea eax, [esp + 0x41c]
push eax
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [esp + 0x13], 0
je case.0x4ce128.3
lea eax, [esp + 0x5ac]
push eax
push ebx
call esi
xor eax, eax
mov ecx, dword [esp + 0x16ac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004f833c
add esp, 0x16a0
ret 0x10