Function at 0x47d374
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 + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push dword [ebp + 0x14]
push dword [0x4d172c]
cmp dword [0x4d16fc], 0
jne 0x47d3a2
mov eax, 0x1140
jmp 0x47d3a7
mov eax, dword [0x4d16fc]
push eax
cmp dword [0x4c4de4], 1
jne 0x47d3b8
mov edx, 2
jmp 0x47d3ba
xor edx, edx
push edx
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.0046f294
cmp esi, 0x110
jg 0x47d3f7
je 0x47d41b
sub esi, 2
je 0x47dc68
sub esi, 0xd
je 0x47d66e
dec esi
je 0x47dbef
sub esi, 8
je 0x47d644
jmp 0x47ddb8
sub esi, 0x111
je 0x47d725
sub esi, 0x36a
je 0x47db33
dec esi
je 0x47d5a9
jmp 0x47ddb8
push 0
push ebx
call sub.USER32.DLL_GetSystemMenu
mov esi, eax
test esi, esi
je 0x47d443
push 1
push 0xf000
push esi
call sub.USER32.DLL_EnableMenuItem
push 1
push 0xf030
push esi
call sub.USER32.DLL_EnableMenuItem
cmp dword [0x4d0f7c], 0
je 0x47d45a
xor ecx, ecx
mov edx, 0x70
mov eax, ebx
call fcn.0046f174
cmp byte [0x4d16c8], 0
jne 0x47d480
mov eax, dword [0x4d0f7c]
cmp eax, 1
je 0x47d472
cmp eax, 2
jne 0x47d480
xor ecx, ecx
mov edx, 0xa2
mov eax, ebx
call fcn.0046f174
xor edx, edx
xor ecx, ecx
mov dword [0x4c4df0], edx
mov dword [0x4c4df4], ecx
mov dword [0x4c4de8], 1
xor eax, eax
mov dword [0x4c244c], ebx
mov dword [0x4ba274], eax
cmp dword [0x4c4de4], 1
je 0x47d4c3
push ebx
call sub.USER32.DLL_BringWindowToTop
push 0
push dword [0x4c2440]
call sub.SHELL32.DLL_DragAcceptFiles
push 0x606060
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1700], eax
push 0x80809e
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1704], eax
push 0xeee8e8
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1708], eax
push 0xffffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d170c], eax
push 0xc0ffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1710], eax
push 0xb4d4e4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1714], eax
push 0x9494b4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d1718], eax
push 0x464040
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4d171c], eax
push 0x6e6e94
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d1720], eax
push 0xdcd6d6
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d1724], eax
push 0xa0c0d0
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4d1728], eax
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_PostMessageA
cmp dword [0x4c4de4], 1
setne al
and eax, 1
jmp 0x47ddba
mov eax, dword [0x4c4dfc]
test eax, eax
je 0x47d63d
cmp byte [0x4ba272], 0
jne 0x47d5ce
push 0
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
jmp 0x47ddba
mov byte [ebp - 1], 0
jmp 0x47d60d
cmp byte [ebp - 1], 0
jne 0x47d601
push 0x480
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, 0x57d
call fcn.0041202c
push eax
push ebx
call sub.USER32.DLL_SetWindowTextA
mov byte [ebp - 1], 1
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.0044844c
cmp dword [0x4c4df0], 0
jne 0x47d62a
push 0x32
push dword [0x4c4dfc]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
je 0x47d5d4
cmp byte [ebp - 1], 0
je 0x47d63d
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_SetWindowTextA
xor eax, eax
jmp 0x47ddba
test edi, edi
je 0x47d667
push 0xfffffffffffffff0
push ebx
call sub.USER32.DLL_GetWindowLongA
test eax, 0x40000000
je 0x47d667
push 0
push ebx
call sub.USER32.DLL_FlashWindow
push 1
push ebx
call sub.USER32.DLL_FlashWindow
xor eax, eax
jmp 0x47ddba
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x47d68d
cmp dword [0x4d0f7c], 8
je 0x47d68d
xor eax, eax
jmp 0x47ddba
mov eax, dword [0x4d0f7c]
test eax, eax
je 0x47d6a5
cmp eax, 1
je 0x47d6a5
cmp eax, 2
je 0x47d6a5
cmp eax, 8
jne 0x47d71e
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_BeginPaint
push dword [0x4d16d8]
push dword [0x4d16d4]
push dword [0x4d16e0]
push dword [0x4d16dc]
mov esi, eax
xor ecx, ecx
xor eax, eax
mov edx, esi
push ebx
call fcn.0047ded4
cmp byte [0x4d16c8], 0
jne 0x47d6ea
cmp dword [0x4d0f7c], 8
jne 0x47d711
push dword [0x4d16e8]
push dword [0x4d16e4]
push dword [0x4d16f0]
push dword [0x4d16ec]
push ebx
mov cl, 1
mov edx, esi
mov eax, 1
call fcn.0047ded4
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_EndPaint
xor eax, eax
jmp 0x47ddba
and di, 0xffff
movzx edx, di
cmp edx, 0x70
jg 0x47d74e
je 0x47da77
sub edx, 2
je 0x47d76a
sub edx, 0x6c
je 0x47d780
dec edx
je 0x47d8d9
jmp 0x47db29
sub edx, 0x7c
je 0x47dade
dec edx
je 0x47dafa
dec edx
je 0x47db10
jmp 0x47db29
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47ddba
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.0046ee30
test al, al
je 0x47d7d0
mov eax, 0x65
jmp 0x47d7d5
mov eax, 0x6c
mov dword [ebp - 8], eax
push edi
cmp dword [ebp - 8], 0x65
jne 0x47d7e6
mov edx, 0x4aa1b0
jmp 0x47d7eb
mov edx, str.Tray.ico
mov eax, 0x4c2c80
mov ecx, esi
call fcn.00484a10
mov dword [0x4d0f78], eax
cmp dword [0x4d0f78], 0
jne 0x47d820
push 0
push edi
push esi
push 1
movzx eax, word [ebp - 8]
push eax
push dword [0x4af754]
call sub.USER32.DLL_LoadImageA
mov dword [0x4d0f78], eax
mov edx, dword [0x4d0f78]
cmp dword [0x4d0f7c], 0
mov dword [ebp - 0x6a8], edx
jne 0x47d853
push 0
mov eax, 0x2f8
call fcn.0041202c
push eax
lea edx, [ebp - 0x6a4]
push edx
call fcn.00497eb8
add esp, 0xc
jmp 0x47d865
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 0x47d8bd
push 0
push ebx
call sub.USER32.DLL_ShowWindow
push 0
push dword [0x4c2440]
call sub.USER32.DLL_ShowWindow
mov al, 1
call fcn.00450948
push dword [0x4d16e8]
push dword [0x4d16e4]
push dword [0x4d16f0]
push dword [0x4d16ec]
push 0
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.0047ded4
jmp 0x47d8cf
push dword [0x4d0f78]
call sub.USER32.DLL_DestroyIcon
xor eax, eax
mov dword [0x4d0f78], eax
mov eax, 1
jmp 0x47ddba
cmp byte [0x4d1730], 0
jne 0x47d926
cmp dword [0x4c244c], 0
jne 0x47d8f5
mov eax, 1
jmp 0x47ddba
push 0xc8
push 0x4d1731
push 0x6f
push ebx
call sub.USER32.DLL_GetDlgItemTextA
push 0x480
push 0x4d17f9
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, dword [0x4c4dfc]
test eax, eax
je 0x47d926
push eax
call sub.KERNEL32.DLL_ReleaseMutex
cmp byte [0x4d1730], 0
je 0x47d936
mov edx, 0x4d1731
jmp 0x47d942
mov eax, 0x49c
call fcn.0041202c
mov edx, eax
push edx
push 0x6f
push ebx
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4d1730], 0
je 0x47d95b
mov ecx, 0x4d17f9
jmp 0x47d967
mov eax, 0x49d
call fcn.0041202c
mov ecx, eax
push ecx
push ebx
call sub.USER32.DLL_SetWindowTextA
mov al, byte [0x4d1730]
mov byte [ebp - 9], al
xor edx, edx
mov dl, al
cmp edx, 1
sbb ecx, ecx
neg ecx
mov byte [0x4d1730], cl
mov byte [ebp - 0xa], 0
cmp byte [0x4d1730], 0
je 0x47d9b4
cmp dword [0x4d16c0], 0
je 0x47d9b4
push dword [0x4d16c0]
call sub.KERNEL32.DLL_SuspendThread
cmp eax, 0xffffffff
setne al
and eax, 1
mov byte [ebp - 0xa], al
call fcn.0049d37c
mov esi, eax
jmp 0x47da12
lea eax, [ebp - 0x6d8]
push eax
push ebx
call sub.USER32.DLL_IsDialogMessageA
test eax, eax
jne 0x47da12
cmp dword [ebp - 0x6d4], 0x203
jne 0x47d9fa
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [0x4c2994]
jne 0x47d9fa
mov eax, 0x4c2994
mov edx, dword [0x4c2440]
call fcn.0048185c
jmp 0x47da12
lea ecx, [ebp - 0x6d8]
push ecx
call sub.USER32.DLL_TranslateMessage
lea eax, [ebp - 0x6d8]
push eax
call sub.USER32.DLL_DispatchMessageA
cmp byte [0x4d1730], 0
je 0x47da3a
cmp dword [0x4c4df0], 0
jne 0x47da3a
push 0
push 0
push 0
lea edx, [ebp - 0x6d8]
push edx
call sub.USER32.DLL_GetMessageA
test eax, eax
jne 0x47d9bd
call fcn.0049d37c
sub eax, esi
add dword [0x4d16c4], eax
cmp byte [ebp - 9], 0
je 0x47da5c
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xa], 0
je 0x47da6d
push dword [0x4d16c0]
call sub.KERNEL32.DLL_ResumeThread
mov eax, 1
jmp 0x47ddba
push 0
push 0x47cc58
push ebx
push str.CMDMODE
push dword [0x4af754]
mov esi, dword [0x4b9064]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x47dad4
cmp esi, dword [0x4b9064]
je 0x47dad4
cmp dword [0x4b9064], 0
je 0x47dad4
cmp dword [0x4b9a6c], 0
jne 0x47daca
mov eax, dword [0x4ba274]
test eax, eax
je 0x47dad4
mov edx, dword [0x4b9064]
dec edx
call fcn.0041aad0
jmp 0x47dad4
mov eax, dword [0x4b9064]
call fcn.0048cb38
mov eax, 1
jmp 0x47ddba
push 0x202
push 0
push 0x47b
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47ddba
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x47ddba
push 0
push 0x6f
push 0x111
push ebx
call sub.USER32.DLL_PostMessageA
mov eax, 1
jmp 0x47ddba
mov eax, 1
jmp 0x47ddba
cmp dword [ebp + 0x14], 0x202
jne 0x47db4b
mov eax, ebx
call fcn.0047cb90
push 5
push ebx
call sub.USER32.DLL_ShowWindow
cmp dword [ebp + 0x14], 0x205
jne 0x47dbe5
call sub.USER32.DLL_CreatePopupMenu
mov esi, eax
mov eax, 0x2f9
call fcn.0041202c
push eax
push 0x7c
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fa
call fcn.0041202c
push eax
push 0x7d
push 0
push esi
call sub.USER32.DLL_AppendMenuA
cmp byte [0x4d1730], 0
je 0x47db99
mov eax, 0x2fc
jmp 0x47db9e
mov eax, 0x2fb
call fcn.0041202c
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 0x47ddba
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x47dc06
push ebx
call sub.USER32.DLL_DestroyWindow
jmp 0x47dc5e
cmp dword [0x4d0f7c], 0xb
je 0x47dc54
call fcn.0049d37c
sub eax, dword [0x4d16c4]
mov dword [ebp - 0x6dc], eax
fild dword [ebp - 0x6dc]
fcomp dword [0x47ddc4]
fnstsw ax
sahf
jb 0x47dc54
push 0x24
mov eax, 0x312
call fcn.0041202c
push eax
mov eax, 0x311
call fcn.0041202c
push eax
push ebx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x47dc5e
mov dword [0x4c4df0], 1
mov eax, 1
jmp 0x47ddba
push 1
push dword [0x4c2440]
call sub.SHELL32.DLL_DragAcceptFiles
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x47dcb3
push str.Done
push ebx
call sub.USER32.DLL_RemovePropA
xor eax, eax
cmp ebx, dword [eax*4 + 0x4d1680]
jne 0x47dca8
xor edx, edx
mov dword [eax*4 + 0x4d1680], edx
jmp 0x47dd8e
inc eax
cmp eax, 0x10
jl 0x47dc91
jmp 0x47dd8e
push dword [0x4d1700]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1704]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1708]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d170c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1710]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1714]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1718]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d171c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1720]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1724]
call sub.GDI32.DLL_DeleteObject
push dword [0x4d1728]
call sub.GDI32.DLL_DeleteObject
cmp dword [0x4c4df0], 0
jne 0x47dd4e
call fcn.0049d37c
sub eax, dword [0x4d16c4]
cmp eax, 0x2710
jle 0x47dd4e
xor eax, eax
call fcn.004484e4
mov eax, ebx
call fcn.0047cb90
xor edx, edx
xor ecx, ecx
mov dword [0x4c244c], edx
mov dword [0x4c4de8], ecx
mov eax, dword [0x4c4df0]
xor edx, edx
mov dword [0x4c4df4], eax
mov dword [0x4c4df0], edx
mov eax, dword [0x4c4dfc]
test eax, eax
je 0x47dd86
push eax
call sub.KERNEL32.DLL_ReleaseMutex
xor edx, edx
mov dword [0x4d16c0], edx
cmp dword [0x4c4de4], 1
je 0x47ddb4
cmp dword [0x4c2450], 0
je 0x47dda8
mov ecx, dword [0x4c2450]
jmp 0x47ddae
mov ecx, dword [0x4c2454]
push ecx
call sub.USER32.DLL_SetFocus
xor eax, eax
jmp 0x47ddba
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10