Function at 0x476998
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 [0x4ddb54]
cmp dword [0x4ddb24], 0
jne 0x4769c4
mov eax, str.HELPExecArcCmd
jmp 0x4769c9
mov eax, dword [0x4ddb24]
push eax
mov edx, 2
cmp dword [0x4d27d8], 1
je 0x4769db
add edx, 0xfffffffe
push edx
mov ecx, dword [ebp + 0x10]
mov edx, esi
mov eax, ebx
call fcn.00467760
cmp esi, 0x110
jg 0x476a19
je 0x476a3d
sub esi, 2
je 0x4772f8
sub esi, 0xd
je 0x476ce8
dec esi
je 0x47727f
sub esi, 8
je 0x476cbc
jmp 0x47744b
sub esi, 0x111
je 0x476dab
sub esi, 0x36a
je 0x4771cb
dec esi
je 0x476bf8
jmp 0x47744b
push 0
push ebx
call sub.USER32.DLL_GetSystemMenu
mov esi, eax
test esi, esi
je 0x476a65
push 1
push 0xf000
push esi
call sub.USER32.DLL_EnableMenuItem
push 1
push 0xf030
push esi
call sub.USER32.DLL_EnableMenuItem
cmp dword [0x4dcb84], 0
je 0x476a8a
xor ecx, ecx
mov edx, 0x70
mov eax, ebx
call fcn.0046761c
xor ecx, ecx
mov edx, 0xa3
mov eax, ebx
call fcn.00467644
cmp byte [0x4ddad0], 0
jne 0x476acf
cmp dword [0x4dcb84], 1
je 0x476aa5
cmp dword [0x4dcb84], 2
jne 0x476acf
xor ecx, ecx
mov edx, 0xa2
mov eax, ebx
call fcn.00467644
xor ecx, ecx
mov edx, 0xa6
mov eax, ebx
call fcn.00467644
xor ecx, ecx
mov edx, 0xa1
mov eax, ebx
call fcn.00467644
xor eax, eax
xor edx, edx
mov dword [0x4d27e4], eax
mov dword [0x4d27e8], edx
mov dword [0x4d27dc], 1
xor ecx, ecx
mov dword [0x4cfe40], ebx
mov dword [0x4c6c44], ecx
cmp dword [0x4d27d8], 1
je 0x476b12
push ebx
call sub.USER32.DLL_BringWindowToTop
push 0
push dword [0x4cfe34]
call sub.SHELL32.DLL_DragAcceptFiles
push 0x606060
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb28], eax
push 0x80809e
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb2c], eax
push 0xeee8e8
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb30], eax
push 0xffffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb34], eax
push 0xc0ffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb38], eax
push 0xb4d4e4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb3c], eax
push 0x9494b4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb40], eax
push 0x464040
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4ddb44], eax
push 0x6e6e94
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4ddb48], eax
push 0xdcd6d6
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4ddb4c], eax
push 0xa0c0d0
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4ddb50], eax
push 1
push 0
push 0x47c
push ebx
call sub.USER32.DLL_PostMessageA
cmp dword [0x4d27d8], 1
setne al
and eax, 1
jmp 0x47744d
cmp dword [0x4d27f0], 0
je 0x476cb5
test edi, edi
setne dl
and edx, 1
cmp byte [0x4c6c3f], 0
mov byte [ebp - 1], dl
jne 0x476c2d
push 0
push dword [0x4d27f0]
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
jmp 0x47744d
mov byte [ebp - 2], 0
call fcn.004a82c8
mov esi, eax
jmp 0x476c73
cmp byte [ebp - 2], 0
jne 0x476c67
push 0x480
lea eax, [ebp - 0x494]
push eax
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, 0x57d
call fcn.00413388
push eax
push ebx
call sub.USER32.DLL_SetWindowTextA
mov byte [ebp - 2], 1
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.00480728
cmp dword [0x4d27e4], 0
jne 0x476c90
push 0x32
push dword [0x4d27f0]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
je 0x476c3a
cmp byte [ebp - 1], 0
je 0x476ca2
call fcn.004a82c8
sub eax, esi
call fcn.004786a0
cmp byte [ebp - 2], 0
je 0x476cb5
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_SetWindowTextA
xor eax, eax
jmp 0x47744d
cmp dword [ebp + 0x10], 0
je 0x476ce1
push 0xfffffffffffffff0
push ebx
call sub.USER32.DLL_GetWindowLongA
test eax, 0x40000000
je 0x476ce1
push 0
push ebx
call sub.USER32.DLL_FlashWindow
push 1
push ebx
call sub.USER32.DLL_FlashWindow
xor eax, eax
jmp 0x47744d
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x476d07
cmp dword [0x4dcb84], 8
je 0x476d07
xor eax, eax
jmp 0x47744d
cmp dword [0x4dcb84], 0
je 0x476d2b
cmp dword [0x4dcb84], 1
je 0x476d2b
cmp dword [0x4dcb84], 2
je 0x476d2b
cmp dword [0x4dcb84], 8
jne 0x476da4
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_BeginPaint
push dword [0x4ddb00]
push dword [0x4ddafc]
push dword [0x4ddb08]
push dword [0x4ddb04]
mov esi, eax
xor ecx, ecx
xor eax, eax
mov edx, esi
push ebx
call fcn.00477590
cmp byte [0x4ddad0], 0
jne 0x476d70
cmp dword [0x4dcb84], 8
jne 0x476d97
push dword [0x4ddb10]
push dword [0x4ddb0c]
push dword [0x4ddb18]
push dword [0x4ddb14]
push ebx
mov cl, 1
mov edx, esi
mov eax, 1
call fcn.00477590
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_EndPaint
xor eax, eax
jmp 0x47744d
mov dx, word [ebp + 0x10]
and dx, 0xffff
movzx ecx, dx
cmp ecx, 0x70
jg 0x476dd8
je 0x47710a
sub ecx, 2
je 0x476df4
sub ecx, 0x6c
je 0x476e0a
dec ecx
je 0x476f63
jmp 0x4771c1
sub ecx, 0x7c
je 0x477176
dec ecx
je 0x477192
dec ecx
je 0x4771a8
jmp 0x4771c1
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47744d
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.0046701c
test al, al
je 0x476e5a
mov eax, 0x65
jmp 0x476e5f
mov eax, 0x6c
mov dword [ebp - 8], eax
push edi
cmp dword [ebp - 8], 0x65
jne 0x476e70
mov edx, 0x4b4c87
jmp 0x476e75
mov edx, str.Tray.ico
mov eax, 0x4d0674
mov ecx, esi
call fcn.0047e540
mov dword [0x4dcb80], eax
cmp dword [0x4dcb80], 0
jne 0x476eaa
push 0
push edi
push esi
push 1
movzx eax, word [ebp - 8]
push eax
push dword [0x4bb918]
call sub.USER32.DLL_LoadImageA
mov dword [0x4dcb80], eax
mov edx, dword [0x4dcb80]
cmp dword [0x4dcb84], 0
mov dword [ebp - 0x6a8], edx
jne 0x476edd
push 0
mov eax, 0x2f8
call fcn.00413388
push eax
lea edx, [ebp - 0x6a4]
push edx
call fcn.004a2e18
add esp, 0xc
jmp 0x476eef
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 0x476f47
push 0
push ebx
call sub.USER32.DLL_ShowWindow
push 0
push dword [0x4cfe34]
call sub.USER32.DLL_ShowWindow
mov al, 1
call fcn.00444a20
push dword [0x4ddb10]
push dword [0x4ddb0c]
push dword [0x4ddb18]
push dword [0x4ddb14]
push 0
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.00477590
jmp 0x476f59
push dword [0x4dcb80]
call sub.USER32.DLL_DestroyIcon
xor eax, eax
mov dword [0x4dcb80], eax
mov eax, 1
jmp 0x47744d
cmp byte [0x4ddb58], 0
jne 0x476fb5
cmp dword [0x4cfe40], 0
jne 0x476f7f
mov eax, 1
jmp 0x47744d
push 0xc8
push 0x4ddb59
push 0x6f
push ebx
call sub.USER32.DLL_GetDlgItemTextA
push 0x480
push 0x4ddc21
push ebx
call sub.USER32.DLL_GetWindowTextA
cmp dword [0x4d27f0], 0
je 0x476fb5
push dword [0x4d27f0]
call sub.KERNEL32.DLL_ReleaseMutex
cmp byte [0x4ddb58], 0
je 0x476fc5
mov edx, 0x4ddb59
jmp 0x476fd1
mov eax, 0x49c
call fcn.00413388
mov edx, eax
push edx
push 0x6f
push ebx
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4ddb58], 0
je 0x476fea
mov ecx, 0x4ddc21
jmp 0x476ff6
mov eax, 0x49d
call fcn.00413388
mov ecx, eax
push ecx
push ebx
call sub.USER32.DLL_SetWindowTextA
mov dl, byte [0x4ddb58]
mov byte [ebp - 9], dl
xor eax, eax
mov al, byte [0x4ddb58]
cmp eax, 1
sbb edx, edx
neg edx
mov byte [0x4ddb58], dl
mov byte [ebp - 0xa], 0
cmp byte [0x4ddb58], 0
je 0x477047
cmp dword [0x4ddac8], 0
je 0x477047
push dword [0x4ddac8]
call sub.KERNEL32.DLL_SuspendThread
cmp eax, 0xffffffff
setne cl
and ecx, 1
mov byte [ebp - 0xa], cl
call fcn.004a82c8
mov esi, eax
jmp 0x4770a5
lea eax, [ebp - 0x6d8]
push eax
push ebx
call sub.USER32.DLL_IsDialogMessageA
test eax, eax
jne 0x4770a5
cmp dword [ebp - 0x6d4], 0x203
jne 0x47708d
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [0x4d0388]
jne 0x47708d
mov eax, 0x4d0388
mov edx, dword [0x4cfe34]
call fcn.0047b314
jmp 0x4770a5
lea ecx, [ebp - 0x6d8]
push ecx
call sub.USER32.DLL_TranslateMessage
lea eax, [ebp - 0x6d8]
push eax
call sub.USER32.DLL_DispatchMessageA
cmp byte [0x4ddb58], 0
je 0x4770cd
cmp dword [0x4d27e4], 0
jne 0x4770cd
push 0
push 0
push 0
lea edx, [ebp - 0x6d8]
push edx
call sub.USER32.DLL_GetMessageA
test eax, eax
jne 0x477050
call fcn.004a82c8
sub eax, esi
add dword [0x4ddacc], eax
cmp byte [ebp - 9], 0
je 0x4770ef
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xa], 0
je 0x477100
push dword [0x4ddac8]
call sub.KERNEL32.DLL_ResumeThread
mov eax, 1
jmp 0x47744d
push 0
push 0x4761c3
push ebx
push str.CMDMODE
push dword [0x4bb918]
mov esi, dword [0x4c5a30]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x47716c
cmp esi, dword [0x4c5a30]
je 0x47716c
cmp dword [0x4c5a30], 0
je 0x47716c
cmp dword [0x4c6438], 0
jne 0x477162
cmp dword [0x4c6c44], 0
je 0x47716c
mov edx, dword [0x4c5a30]
mov eax, dword [0x4c6c44]
dec edx
call fcn.0041bff8
jmp 0x47716c
mov eax, dword [0x4c5a30]
call fcn.00496c20
mov eax, 1
jmp 0x47744d
push 0x202
push 0
push 0x47b
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47744d
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47744d
push 0
push 0x6f
push 0x111
push ebx
call sub.USER32.DLL_PostMessageA
mov eax, 1
jmp 0x47744d
mov eax, 1
jmp 0x47744d
cmp edi, 0x202
jne 0x4771e2
mov eax, ebx
call fcn.004760c0
push 5
push ebx
call sub.USER32.DLL_ShowWindow
cmp edi, 0x205
jne 0x477275
call sub.USER32.DLL_CreatePopupMenu
mov esi, eax
mov eax, 0x2f9
call fcn.00413388
push eax
push 0x7c
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fa
call fcn.00413388
push eax
push 0x7d
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fc
cmp byte [0x4ddb58], 0
jne 0x47722e
dec eax
call fcn.00413388
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 0x47744d
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x477296
push ebx
call sub.USER32.DLL_DestroyWindow
jmp 0x4772ee
cmp dword [0x4dcb84], 0xb
je 0x4772e4
call fcn.004a82c8
sub eax, dword [0x4ddacc]
mov dword [ebp - 0x6dc], eax
fild dword [ebp - 0x6dc]
fcomp dword [0x477458]
fnstsw ax
sahf
jb 0x4772e4
push 0x24
mov eax, 0x312
call fcn.00413388
push eax
mov eax, 0x311
call fcn.00413388
push eax
push ebx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x4772ee
mov dword [0x4d27e4], 1
mov eax, 1
jmp 0x47744d
push 1
push dword [0x4cfe34]
call sub.SHELL32.DLL_DragAcceptFiles
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x477343
push str.Done
push ebx
call sub.USER32.DLL_RemovePropA
xor eax, eax
cmp ebx, dword [eax*4 + 0x4dda88]
jne 0x477338
xor edx, edx
mov dword [eax*4 + 0x4dda88], edx
jmp 0x477423
inc eax
cmp eax, 0x10
jl 0x477321
jmp 0x477423
push dword [0x4ddb28]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb2c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb30]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb34]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb38]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb3c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb40]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb44]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb48]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb4c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4ddb50]
call sub.GDI32.DLL_DeleteObject
cmp dword [0x4d27e4], 0
jne 0x4773de
call fcn.004a82c8
sub eax, dword [0x4ddacc]
cmp eax, 0x2710
jle 0x4773de
xor eax, eax
call fcn.004807b4
mov eax, ebx
call fcn.004760c0
xor edx, edx
xor ecx, ecx
mov dword [0x4cfe40], edx
mov dword [0x4d27dc], ecx
mov eax, dword [0x4d27e4]
xor edx, edx
mov dword [0x4d27e8], eax
mov dword [0x4d27e4], edx
cmp dword [0x4d27f0], 0
je 0x47741b
push dword [0x4d27f0]
call sub.KERNEL32.DLL_ReleaseMutex
xor ecx, ecx
mov dword [0x4ddac8], ecx
cmp dword [0x4d27d8], 1
je 0x477447
cmp dword [0x4cfe44], 0
je 0x47743c
mov eax, dword [0x4cfe44]
jmp 0x477441
mov eax, dword [0x4cfe48]
push eax
call sub.USER32.DLL_SetFocus
xor eax, eax
jmp 0x47744d
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10