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

Disassembly:
mov eax, 0x16a0
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0x169c], eax
cmp word [0x56d848], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x16b0]
push edi
mov eax, str.HELPExecArcCmd
je 0x4a14c7
mov eax, 0x56d848
mov ebx, dword [esp + 0x16c0]
mov ebp, dword [esp + 0x16bc]
mov edi, dword [esp + 0x16b8]
push 0
push eax
mov eax, dword [0x56d814]
push eax
push ebx
push ebp
push edi
push esi
call fcn.0042d1b0
test al, al
jne case.0x4a1bd3.3
cmp edi, 0x110
ja 0x4a19d2
je 0x4a1801
lea eax, [edi - 2]
cmp eax, 0x16
ja case.0x4a151b.3
movzx ecx, byte [eax + 0x4a1fec]
jmp dword [ecx*4 + 0x4a1fd8]
test ebp, ebp
je 0x4a1546
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x4a1546
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0
push esi
call edi
push 1
push esi
call edi
xor eax, eax
jmp 0x4a1fbd
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x570920]
je 0x4a156b
cmp eax, 8
jne case.0x4a151b.3
test eax, eax
je 0x4a157e
cmp eax, 1
je 0x4a157e
cmp eax, 2
je 0x4a157e
cmp eax, 8
jne 0x4a15f5
lea edx, [esp + 0x24]
push edx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [0x56da58]
mov edx, dword [0x56da64]
push esi
push 0
mov edi, eax
mov eax, dword [0x56da5c]
push edi
push 0
push eax
mov eax, dword [0x56da60]
push ecx
push edx
push eax
call fcn.004a06b0
cmp byte [0x56dad7], 0
jne 0x4a15c3
cmp dword [0x570920], 8
jne 0x4a15e9
mov ecx, dword [0x56da4c]
mov edx, dword [0x56da48]
mov eax, dword [0x56da54]
push esi
push 1
push edi
push 1
push ecx
mov ecx, dword [0x56da50]
push edx
push eax
push ecx
call fcn.004a06b0
lea edx, [esp + 0x24]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
jmp 0x4a1fbd
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4a1618
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp case.0x4a1bd3.3
cmp dword [0x570920], 0xb
je 0x4a165b
call fcn.004c2695
sub eax, dword [0x56dad8]
cmp eax, 0xea60
jl 0x4a165b
push 0x24
push 0x312
call fcn.004750b0
push eax
push 0x311
call fcn.004750b0
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne case.0x4a1bd3.3
mov byte [0x535500], 1
jmp case.0x4a1bd3.3
mov eax, dword [0x535584]
push 1
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0
push 0
push 0
push 0
xor ebx, ebx
call fcn.004a0620
push str.Done
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4a16c2
push str.Done
push esi
call dword [sym.imp.USER32.dll_RemovePropW]
xor eax, eax
cmp dword [eax*4 + 0x56dae0], esi
je 0x4a16b6
inc eax
cmp eax, 0x10
jb 0x4a16a2
jmp 0x4a1773
mov dword [eax*4 + 0x56dae0], ebx
jmp 0x4a1773
mov ecx, dword [0x56d840]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push ecx
call edi
mov edx, dword [0x56d83c]
push edx
call edi
mov eax, dword [0x56d838]
push eax
call edi
mov ecx, dword [0x56d834]
push ecx
call edi
mov edx, dword [0x56d830]
push edx
call edi
mov eax, dword [0x56d82c]
push eax
call edi
mov ecx, dword [0x56d828]
push ecx
call edi
mov edx, dword [0x56d824]
push edx
call edi
mov eax, dword [0x56d820]
push eax
call edi
mov ecx, dword [0x56d81c]
push ecx
call edi
mov edx, dword [0x56d818]
push edx
call edi
xor ebx, ebx
cmp byte [0x535500], bl
jne 0x4a174a
call fcn.004c2695
sub eax, dword [0x56dad8]
cmp eax, 0x2710
jle 0x4a174a
push ebx
call fcn.00452ce0
push ebx
push esi
call fcn.0049f690
mov al, byte [0x535500]
mov dword [0x53342c], ebx
mov dword [0x5344dc], ebx
mov byte [0x533430], al
mov byte [0x535500], bl
mov dword [0x56dadc], ebx
mov eax, dword [0x53557c]
test eax, eax
je 0x4a1783
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x53444c], 1
je 0x4a17af
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x535584]
jne 0x4a17af
mov eax, dword [0x5344d8]
test eax, eax
jne 0x4a17a8
mov eax, dword [0x53fdc8]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [0x535584]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4a17f5
lea edx, [esp + 0x14]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [0x53fdc8]
push 2
lea eax, [esp + 0x18]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [0x53fdc8]
push 1
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.0045d990
xor eax, eax
jmp 0x4a1fbd
push 0
push esi
mov byte [0x571be0], 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
mov ebp, 1
test edi, edi
je 0x4a1834
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 [0x570920]
xor ebx, ebx
cmp eax, ebx
je 0x4a1850
push ebx
push 0xa3
push esi
call fcn.0042cf30
mov eax, dword [0x570920]
cmp byte [0x56dad7], 0
jne 0x4a1886
cmp eax, ebp
je 0x4a1862
cmp eax, 2
jne 0x4a1886
push ebx
push 0xa2
push esi
call fcn.0042cf30
push ebx
push 0xa6
push esi
call fcn.0042cf30
push ebx
push 0xa1
push esi
call fcn.0042cf30
mov byte [0x535500], 0
mov byte [0x533430], 0
mov dword [0x5344dc], ebp
mov dword [0x53342c], esi
mov dword [0x54fd00], ebx
cmp dword [0x53444c], ebp
je 0x4a18c3
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov ecx, dword [0x535584]
push ebx
push ecx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov edx, dword [0x535584]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4a1914
mov eax, dword [0x535584]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4a1914
mov edx, dword [0x53342c]
lea ecx, [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x2c], 0x2c
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [0x535584]
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 [0x56d840], eax
call edi
push 0xeee8e8
push ebp
push ebx
mov dword [0x56d83c], eax
call edi
push 0xffffff
push ebp
push ebx
mov dword [0x56d838], eax
call edi
push 0xc0ffff
push ebp
push ebx
mov dword [0x56d834], eax
call edi
push 0xb4d4e4
push ebp
push ebx
mov dword [0x56d830], eax
call edi
push 0x9494b4
push ebp
push ebx
mov dword [0x56d82c], eax
call edi
push 0x464040
push ebp
push ebx
mov dword [0x56d828], eax
call edi
mov edi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x6e6e94
mov dword [0x56d824], eax
call edi
push 0xdcd6d6
mov dword [0x56d820], eax
call edi
push 0xa0c0d0
mov dword [0x56d81c], eax
call edi
push ebp
push ebx
push 0x8008
push esi
mov dword [0x56d818], eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
cmp dword [0x53444c], ebp
setne al
jmp 0x4a1fbd
sub edi, 0x111
je 0x4a1bbd
sub edi, 0x7ef6
je 0x4a1b0c
sub edi, 1
jne case.0x4a151b.3
mov eax, dword [0x53557c]
test eax, eax
je 0x4a1b05
cmp byte [0x54fcfc], 0
jne 0x4a1a14
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
jmp 0x4a1fbd
push 0xc8
lea edx, [esp + 0x420]
push edx
push 0x6f
cmp ebx, 1
push esi
sete byte [esp + 0x23]
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x49c
call fcn.004750b0
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor bl, bl
call fcn.004c2695
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x14], eax
mov byte [0x571be0], 1
cmp byte [0x535500], bl
jne 0x4a1acf
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
lea esp, [esp]
cmp byte [0x571be0], 0
je 0x4a1acf
mov eax, dword [0x53557c]
push 0x32
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4a1acf
cmp byte [esp + 0x13], 0
je 0x4a1acf
test bl, bl
jne 0x4a1ab9
push 0x880
lea ecx, [esp + 0x5b0]
push ecx
push esi
call edi
push 0x57d
call fcn.004750b0
push eax
push esi
call ebp
mov bl, 1
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00453460
cmp byte [0x535500], 0
je 0x4a1a70
mov byte [0x571be0], 0
call fcn.004c2695
sub eax, dword [esp + 0x14]
push eax
call fcn.0049fd60
lea edx, [esp + 0x41c]
push edx
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
test bl, bl
je 0x4a1b05
lea eax, [esp + 0x5ac]
push eax
push esi
call ebp
xor eax, eax
jmp 0x4a1fbd
cmp ebx, 0x202
jne 0x4a1b2a
push 1
push esi
call fcn.0049f690
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x4a1bd3.3
cmp ebx, 0x205
jne case.0x4a1bd3.3
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 0x2fe
mov edi, eax
call fcn.004750b0
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
push 0x7c
push 0
push edi
call ebx
push 0x2ff
call fcn.004750b0
push eax
push 0x7d
push 0
push edi
call ebx
xor ecx, ecx
cmp byte [0x56d810], cl
setne cl
add ecx, 0x300
push ecx
call fcn.004750b0
push eax
push 0x7e
push 0
push edi
call ebx
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0
push esi
push 0
push eax
push ecx
push 2
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp case.0x4a1bd3.3
movzx eax, bp
add eax, 0xfffffffe
cmp eax, 0x7c
ja case.0x4a1bd3.3
movzx edx, byte [eax + 0x4a2020]
jmp dword [edx*4 + 0x4a2004]
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x4a1bd3.3
push 0x3b8
lea eax, [esp + 0x68]
push 0
push eax
call fcn.004c16b0
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0xc
push 0x31
mov dword [esp + 0x68], 0x3b8
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0x7b
mov dword [esp + 0x74], 7
mov dword [esp + 0x78], 0x8007
call edi
push 0x32
mov ebp, eax
call edi
mov ebx, eax
call fcn.0044b030
cmp eax, 0x501
sbb edi, edi
and edi, 7
add edi, 0x65
mov eax, str.RAR.ico
cmp edi, 0x65
je 0x4a1c57
mov eax, str.Tray.ico
push ebx
push ebp
push eax
mov ecx, 0x544890
call fcn.00480730
mov dword [0x570924], eax
test eax, eax
jne 0x4a1c88
mov edx, dword [0x51f7e4]
push eax
push ebx
push ebp
movzx ecx, di
push 1
push ecx
push edx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x570924], eax
push 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], eax
call fcn.004a04d0
lea eax, [esp + 0x64]
push eax
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x4a1cf2
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
call esi
mov ecx, dword [0x535584]
push 0
push ecx
call esi
push 1
call fcn.004afec0
mov edx, dword [0x56da4c]
mov eax, dword [0x56da48]
mov ecx, dword [0x56da54]
push 0
push 0
push 0
push 1
push edx
mov edx, dword [0x56da50]
push eax
push ecx
push edx
call fcn.004a06b0
jmp case.0x4a1bd3.3
mov eax, dword [0x570924]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [0x570924], 0
jmp case.0x4a1bd3.3
cmp byte [0x571be0], 0
je 0x4a1d22
mov byte [0x571be0], 0
jmp case.0x4a1bd3.3
cmp byte [0x56d810], 0
jne 0x4a1d6c
cmp dword [0x53342c], 0
je case.0x4a1bd3.3
push 0xc8
push 0x571a50
push 0x6f
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push 0x880
push 0x570950
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x53557c]
test eax, eax
je 0x4a1d6c
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x56da54]
test ecx, ecx
jl 0x4a1da7
mov eax, dword [0x56da50]
jg 0x4a1d81
test eax, eax
jbe 0x4a1da7
mov edx, dword [0x56da4c]
movzx ebx, byte [0x56d810]
push edx
mov edx, dword [0x56da48]
neg ebx
push edx
sbb ebx, ebx
push ecx
and ebx, 0xfffffffa
push eax
add ebx, 8
call fcn.004a0620
cmp byte [0x56d810], 0
je 0x4a1db7
mov eax, 0x571a50
jmp 0x4a1dc1
push 0x49c
call fcn.004750b0
push eax
push 0x6f
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x56d810], 0
je 0x4a1ddb
mov eax, 0x570950
jmp 0x4a1de5
push 0x49d
call fcn.004750b0
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [0x56d810], 0
push 0x3b8
lea ecx, [esp + 0x68]
sete al
push 0
push ecx
mov byte [0x56d810], al
call fcn.004c16b0
mov edx, dword [0x56d844]
add esp, 0xc
push edx
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0x3b8
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0x7b
mov dword [esp + 0x74], 4
call fcn.004a04d0
lea eax, [esp + 0x64]
push eax
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor bl, bl
cmp byte [0x56d810], bl
je 0x4a1e69
mov eax, dword [0x56dadc]
test eax, eax
je 0x4a1e69
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne bl
call fcn.004c2695
cmp byte [0x56d810], 0
mov dword [esp + 0x14], eax
je 0x4a1ef5
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebp, dword [sym.imp.USER32.dll_IsDialogMessageW]
cmp byte [0x535500], 0
jne 0x4a1ef5
push 0
push 0
push 0
lea ecx, [esp + 0x30]
push ecx
call edi
test eax, eax
je 0x4a1ef5
lea edx, [esp + 0x24]
push edx
push esi
call ebp
test eax, eax
jne 0x4a1eec
cmp dword [esp + 0x28], 0x203
jne 0x4a1ed6
mov eax, dword [esp + 0x24]
cmp eax, dword [0x54591c]
jne 0x4a1ed6
mov ecx, dword [0x535584]
push ecx
mov ecx, 0x54591c
call fcn.004853c0
jmp 0x4a1eec
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 [0x56d810], 0
jne 0x4a1e87
call fcn.004c2695
sub eax, dword [esp + 0x14]
add dword [0x56dad8], eax
test bl, bl
je 0x4a1f15
mov ecx, dword [0x56dadc]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp byte [0x535500], 0
jne case.0x4a1bd3.3
push 0
push 0
push 0x8008
jmp 0x4a1fb1
call fcn.004c2695
mov edx, dword [0x51f7e4]
mov edi, dword [0x54ba6c]
push 0
push 0x49fdc0
push esi
push str.CMDMODE
push edx
mov ebx, eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4a1f84
mov eax, dword [0x54ba6c]
cmp eax, edi
je 0x4a1f84
test eax, eax
je 0x4a1f84
cmp dword [0x54dcf0], 0
jne 0x4a1f84
mov ecx, dword [0x54fd00]
test ecx, ecx
je 0x4a1f84
mov edx, dword [ecx]
dec eax
push eax
mov eax, dword [edx + 0x24]
call eax
call fcn.004c2695
sub eax, ebx
add dword [0x56dad8], eax
jmp case.0x4a1bd3.3
push 0x202
push 0
push 0x8007
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x4a1bd3.3
push 0
push 0x6f
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
mov ecx, dword [esp + 0x16ac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c0c62
add esp, 0x16a0
ret 0x10