Function at 0x473c74
Capabilities:
Check for time delay via gettickcount
Get graphical window text
Hide graphical window
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff924
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push edi
push dword [0x4d4340]
cmp dword [0x4d4310], 0
jne 0x473ca0
mov eax, str.HELPExecArcCmd
jmp 0x473ca5
mov eax, dword [0x4d4310]
push eax
mov edx, 2
cmp dword [0x4c9890], 1
je 0x473cb7
add edx, 0xfffffffe
push edx
mov ecx, dword [ebp + 0x10]
mov edx, esi
mov eax, ebx
call fcn.00464fc8
cmp esi, 0x110
jg 0x473cf5
je 0x473d19
sub esi, 2
je 0x4745d5
sub esi, 0xd
je 0x473fc5
dec esi
je 0x47455c
sub esi, 8
je 0x473f99
jmp 0x474728
sub esi, 0x111
je 0x474088
sub esi, 0x36a
je 0x4744a8
dec esi
je 0x473ed4
jmp 0x474728
push 0
push ebx
call sub.USER32.DLL_GetSystemMenu
mov esi, eax
test esi, esi
je 0x473d41
push 1
push 0xf000
push esi
call sub.USER32.DLL_EnableMenuItem
push 1
push 0xf030
push esi
call sub.USER32.DLL_EnableMenuItem
cmp dword [0x4d3b70], 0
je 0x473d66
xor ecx, ecx
mov edx, 0x70
mov eax, ebx
call fcn.00464e84
xor ecx, ecx
mov edx, 0xa3
mov eax, ebx
call fcn.00464eac
cmp byte [0x4d42bc], 0
jne 0x473dab
cmp dword [0x4d3b70], 1
je 0x473d81
cmp dword [0x4d3b70], 2
jne 0x473dab
xor ecx, ecx
mov edx, 0xa2
mov eax, ebx
call fcn.00464eac
xor ecx, ecx
mov edx, 0xa6
mov eax, ebx
call fcn.00464eac
xor ecx, ecx
mov edx, 0xa1
mov eax, ebx
call fcn.00464eac
xor eax, eax
xor edx, edx
mov dword [0x4c989c], eax
mov dword [0x4c98a0], edx
mov dword [0x4c9894], 1
xor ecx, ecx
mov dword [0x4c6ef8], ebx
mov dword [0x4becfc], ecx
cmp dword [0x4c9890], 1
je 0x473dee
push ebx
call sub.USER32.DLL_BringWindowToTop
push 0
push dword [0x4c6eec]
call sub.SHELL32.DLL_DragAcceptFiles
push 0x606060
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4314], eax
push 0x80809e
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4318], eax
push 0xeee8e8
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d431c], eax
push 0xffffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4320], eax
push 0xc0ffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4324], eax
push 0xb4d4e4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4328], eax
push 0x9494b4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d432c], eax
push 0x464040
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d4330], eax
push 0x6e6e94
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d4334], eax
push 0xdcd6d6
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d4338], eax
push 0xa0c0d0
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d433c], eax
push 1
push 0
push 0x47c
push ebx
call sub.USER32.DLL_PostMessageA
cmp dword [0x4c9890], 1
setne al
and eax, 1
jmp 0x47472a
cmp dword [0x4c98a8], 0
je 0x473f92
test edi, edi
setne dl
and edx, 1
cmp byte [0x4becf7], 0
mov byte [ebp - 1], dl
jne 0x473f09
push 0
push dword [0x4c98a8]
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
jmp 0x47472a
mov byte [ebp - 2], 0
call fcn.004a127c
mov esi, eax
jmp 0x473f4f
cmp byte [ebp - 2], 0
jne 0x473f43
push 0x480
lea eax, [ebp - 0x494]
push eax
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, 0x57d
call fcn.004129c8
push eax
push ebx
call sub.USER32.DLL_SetWindowTextA
mov byte [ebp - 2], 1
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.0047d98c
cmp dword [0x4c989c], 0
jne 0x473f6c
push 0x32
push dword [0x4c98a8]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
je 0x473f16
cmp byte [ebp - 1], 0
je 0x473f7f
call fcn.004a127c
sub eax, esi
add dword [0x4d42b8], eax
cmp byte [ebp - 2], 0
je 0x473f92
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_SetWindowTextA
xor eax, eax
jmp 0x47472a
cmp dword [ebp + 0x10], 0
je 0x473fbe
push 0xfffffffffffffff0
push ebx
call sub.USER32.DLL_GetWindowLongA
test eax, 0x40000000
je 0x473fbe
push 0
push ebx
call sub.USER32.DLL_FlashWindow
push 1
push ebx
call sub.USER32.DLL_FlashWindow
xor eax, eax
jmp 0x47472a
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x473fe4
cmp dword [0x4d3b70], 8
je 0x473fe4
xor eax, eax
jmp 0x47472a
cmp dword [0x4d3b70], 0
je 0x474008
cmp dword [0x4d3b70], 1
je 0x474008
cmp dword [0x4d3b70], 2
je 0x474008
cmp dword [0x4d3b70], 8
jne 0x474081
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_BeginPaint
push dword [0x4d42ec]
push dword [0x4d42e8]
push dword [0x4d42f4]
push dword [0x4d42f0]
mov esi, eax
xor ecx, ecx
xor eax, eax
mov edx, esi
push ebx
call fcn.00474860
cmp byte [0x4d42bc], 0
jne 0x47404d
cmp dword [0x4d3b70], 8
jne 0x474074
push dword [0x4d42fc]
push dword [0x4d42f8]
push dword [0x4d4304]
push dword [0x4d4300]
push ebx
mov cl, 1
mov edx, esi
mov eax, 1
call fcn.00474860
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_EndPaint
xor eax, eax
jmp 0x47472a
mov dx, word [ebp + 0x10]
and dx, 0xffff
movzx ecx, dx
cmp ecx, 0x70
jg 0x4740b5
je 0x4743e7
sub ecx, 2
je 0x4740d1
sub ecx, 0x6c
je 0x4740e7
dec ecx
je 0x474240
jmp 0x47449e
sub ecx, 0x7c
je 0x474453
dec ecx
je 0x47446f
dec ecx
je 0x474485
jmp 0x47449e
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47472a
mov dword [ebp - 0x6bc], 0x1e8
mov dword [ebp - 0x6b8], ebx
mov dword [ebp - 0x6b4], 0x7b
mov dword [ebp - 0x6b0], 7
mov dword [ebp - 0x6ac], 0x47b
push 0x31
call sub.USER32.DLL_GetSystemMetrics
mov esi, eax
push 0x32
call sub.USER32.DLL_GetSystemMetrics
mov edi, eax
call fcn.0046492c
test al, al
je 0x474137
mov eax, 0x65
jmp 0x47413c
mov eax, 0x6c
mov dword [ebp - 8], eax
push edi
cmp dword [ebp - 8], 0x65
jne 0x47414d
mov edx, 0x4ad5ff
jmp 0x474152
mov edx, str.Tray.ico
mov eax, 0x4c772c
mov ecx, esi
call fcn.0047b7a4
mov dword [0x4d3b6c], eax
cmp dword [0x4d3b6c], 0
jne 0x474187
push 0
push edi
push esi
push 1
movzx eax, word [ebp - 8]
push eax
push dword [0x4b41d0]
call sub.USER32.DLL_LoadImageA
mov dword [0x4d3b6c], eax
mov edx, dword [0x4d3b6c]
cmp dword [0x4d3b70], 0
mov dword [ebp - 0x6a8], edx
jne 0x4741ba
push 0
mov eax, 0x2f8
call fcn.004129c8
push eax
lea edx, [ebp - 0x6a4]
push edx
call fcn.0049bdcc
add esp, 0xc
jmp 0x4741cc
push 0x80
lea ecx, [ebp - 0x6a4]
push ecx
push ebx
call sub.USER32.DLL_GetWindowTextA
lea eax, [ebp - 0x6bc]
push eax
push 0
call sub.SHELL32.DLL_Shell_NotifyIconA
test eax, eax
je 0x474224
push 0
push ebx
call sub.USER32.DLL_ShowWindow
push 0
push dword [0x4c6eec]
call sub.USER32.DLL_ShowWindow
mov al, 1
call fcn.004436f0
push dword [0x4d42fc]
push dword [0x4d42f8]
push dword [0x4d4304]
push dword [0x4d4300]
push 0
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.00474860
jmp 0x474236
push dword [0x4d3b6c]
call sub.USER32.DLL_DestroyIcon
xor eax, eax
mov dword [0x4d3b6c], eax
mov eax, 1
jmp 0x47472a
cmp byte [0x4d4344], 0
jne 0x474292
cmp dword [0x4c6ef8], 0
jne 0x47425c
mov eax, 1
jmp 0x47472a
push 0xc8
push 0x4d4345
push 0x6f
push ebx
call sub.USER32.DLL_GetDlgItemTextA
push 0x480
push 0x4d440d
push ebx
call sub.USER32.DLL_GetWindowTextA
cmp dword [0x4c98a8], 0
je 0x474292
push dword [0x4c98a8]
call sub.KERNEL32.DLL_ReleaseMutex
cmp byte [0x4d4344], 0
je 0x4742a2
mov edx, 0x4d4345
jmp 0x4742ae
mov eax, 0x49c
call fcn.004129c8
mov edx, eax
push edx
push 0x6f
push ebx
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4d4344], 0
je 0x4742c7
mov ecx, 0x4d440d
jmp 0x4742d3
mov eax, 0x49d
call fcn.004129c8
mov ecx, eax
push ecx
push ebx
call sub.USER32.DLL_SetWindowTextA
mov dl, byte [0x4d4344]
mov byte [ebp - 9], dl
xor eax, eax
mov al, byte [0x4d4344]
cmp eax, 1
sbb edx, edx
neg edx
mov byte [0x4d4344], dl
mov byte [ebp - 0xa], 0
cmp byte [0x4d4344], 0
je 0x474324
cmp dword [0x4d42b4], 0
je 0x474324
push dword [0x4d42b4]
call sub.KERNEL32.DLL_SuspendThread
cmp eax, 0xffffffff
setne cl
and ecx, 1
mov byte [ebp - 0xa], cl
call fcn.004a127c
mov esi, eax
jmp 0x474382
lea eax, [ebp - 0x6d8]
push eax
push ebx
call sub.USER32.DLL_IsDialogMessageA
test eax, eax
jne 0x474382
cmp dword [ebp - 0x6d4], 0x203
jne 0x47436a
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [0x4c7440]
jne 0x47436a
mov eax, 0x4c7440
mov edx, dword [0x4c6eec]
call fcn.004785a0
jmp 0x474382
lea ecx, [ebp - 0x6d8]
push ecx
call sub.USER32.DLL_TranslateMessage
lea eax, [ebp - 0x6d8]
push eax
call sub.USER32.DLL_DispatchMessageA
cmp byte [0x4d4344], 0
je 0x4743aa
cmp dword [0x4c989c], 0
jne 0x4743aa
push 0
push 0
push 0
lea edx, [ebp - 0x6d8]
push edx
call sub.USER32.DLL_GetMessageA
test eax, eax
jne 0x47432d
call fcn.004a127c
sub eax, esi
add dword [0x4d42b8], eax
cmp byte [ebp - 9], 0
je 0x4743cc
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xa], 0
je 0x4743dd
push dword [0x4d42b4]
call sub.KERNEL32.DLL_ResumeThread
mov eax, 1
jmp 0x47472a
push 0
push 0x4734b6
push ebx
push str.CMDMODE
push dword [0x4b41d0]
mov esi, dword [0x4bdae8]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x474449
cmp esi, dword [0x4bdae8]
je 0x474449
cmp dword [0x4bdae8], 0
je 0x474449
cmp dword [0x4be4f0], 0
jne 0x47443f
cmp dword [0x4becfc], 0
je 0x474449
mov edx, dword [0x4bdae8]
mov eax, dword [0x4becfc]
dec edx
call fcn.0041b5d8
jmp 0x474449
mov eax, dword [0x4bdae8]
call fcn.00490714
mov eax, 1
jmp 0x47472a
push 0x202
push 0
push 0x47b
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47472a
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47472a
push 0
push 0x6f
push 0x111
push ebx
call sub.USER32.DLL_PostMessageA
mov eax, 1
jmp 0x47472a
mov eax, 1
jmp 0x47472a
cmp edi, 0x202
jne 0x4744bf
mov eax, ebx
call fcn.004733d4
push 5
push ebx
call sub.USER32.DLL_ShowWindow
cmp edi, 0x205
jne 0x474552
call sub.USER32.DLL_CreatePopupMenu
mov esi, eax
mov eax, 0x2f9
call fcn.004129c8
push eax
push 0x7c
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fa
call fcn.004129c8
push eax
push 0x7d
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fc
cmp byte [0x4d4344], 0
jne 0x47450b
dec eax
call fcn.004129c8
push eax
push 0x7e
push 0
push esi
call sub.USER32.DLL_AppendMenuA
lea edx, [ebp - 0x14]
push edx
call sub.USER32.DLL_GetCursorPos
push ebx
call sub.USER32.DLL_SetForegroundWindow
push 0
push ebx
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 2
push esi
call sub.USER32.DLL_TrackPopupMenu
push 0
push 0
push 0x400
push ebx
call sub.USER32.DLL_PostMessageA
push esi
call sub.USER32.DLL_DestroyMenu
mov eax, 1
jmp 0x47472a
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x474573
push ebx
call sub.USER32.DLL_DestroyWindow
jmp 0x4745cb
cmp dword [0x4d3b70], 0xb
je 0x4745c1
call fcn.004a127c
sub eax, dword [0x4d42b8]
mov dword [ebp - 0x6dc], eax
fild dword [ebp - 0x6dc]
fcomp dword [0x474734]
fnstsw ax
sahf
jb 0x4745c1
push 0x24
mov eax, 0x312
call fcn.004129c8
push eax
mov eax, 0x311
call fcn.004129c8
push eax
push ebx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x4745cb
mov dword [0x4c989c], 1
mov eax, 1
jmp 0x47472a
push 1
push dword [0x4c6eec]
call sub.SHELL32.DLL_DragAcceptFiles
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x474620
push str.Done
push ebx
call sub.USER32.DLL_RemovePropA
xor eax, eax
cmp ebx, dword [eax*4 + 0x4d4274]
jne 0x474615
xor edx, edx
mov dword [eax*4 + 0x4d4274], edx
jmp 0x474700
inc eax
cmp eax, 0x10
jl 0x4745fe
jmp 0x474700
push dword [0x4d4314]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4318]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d431c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4320]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4324]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4328]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d432c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4330]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4334]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d4338]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d433c]
call sub.GDI32.DLL_DeleteObject
cmp dword [0x4c989c], 0
jne 0x4746bb
call fcn.004a127c
sub eax, dword [0x4d42b8]
cmp eax, 0x2710
jle 0x4746bb
xor eax, eax
call fcn.0047da30
mov eax, ebx
call fcn.004733d4
xor edx, edx
xor ecx, ecx
mov dword [0x4c6ef8], edx
mov dword [0x4c9894], ecx
mov eax, dword [0x4c989c]
xor edx, edx
mov dword [0x4c98a0], eax
mov dword [0x4c989c], edx
cmp dword [0x4c98a8], 0
je 0x4746f8
push dword [0x4c98a8]
call sub.KERNEL32.DLL_ReleaseMutex
xor ecx, ecx
mov dword [0x4d42b4], ecx
cmp dword [0x4c9890], 1
je 0x474724
cmp dword [0x4c6efc], 0
je 0x474719
mov eax, dword [0x4c6efc]
jmp 0x47471e
mov eax, dword [0x4c6f00]
push eax
call sub.USER32.DLL_SetFocus
xor eax, eax
jmp 0x47472a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10