Function at 0x47634c
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 [0x4c9e94]
cmp dword [0x4c9e64], 0
jne 0x47637a
mov eax, 0x1140
jmp 0x47637f
mov eax, dword [0x4c9e64]
push eax
cmp dword [0x4bc1ac], 1
jne 0x476390
mov edx, 2
jmp 0x476392
xor edx, edx
push edx
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.00468684
cmp esi, 0x110
jg 0x4763cf
je 0x4763f3
sub esi, 2
je 0x476c33
sub esi, 0xd
je 0x476646
dec esi
je 0x476bba
sub esi, 8
je 0x47661c
jmp 0x476d83
sub esi, 0x111
je 0x4766f2
sub esi, 0x36a
je 0x476afe
dec esi
je 0x476581
jmp 0x476d83
push 0
push ebx
call sub.USER32.DLL_GetSystemMenu
mov esi, eax
test esi, esi
je 0x47641b
push 1
push 0xf000
push esi
call sub.USER32.DLL_EnableMenuItem
push 1
push 0xf030
push esi
call sub.USER32.DLL_EnableMenuItem
cmp dword [0x4c96e4], 0
je 0x476432
xor ecx, ecx
mov edx, 0x70
mov eax, ebx
call fcn.00468564
cmp byte [0x4c9e30], 0
jne 0x476458
mov eax, dword [0x4c96e4]
cmp eax, 1
je 0x47644a
cmp eax, 2
jne 0x476458
xor ecx, ecx
mov edx, 0xa2
mov eax, ebx
call fcn.00468564
xor edx, edx
xor ecx, ecx
mov dword [0x4bc1b4], edx
mov dword [0x4bc1b8], ecx
mov dword [0x4bc1b0], 1
xor eax, eax
mov dword [0x4b982c], ebx
mov dword [0x4b1a84], eax
cmp dword [0x4bc1ac], 1
je 0x47649b
push ebx
call sub.USER32.DLL_BringWindowToTop
push 0
push dword [0x4b9820]
call sub.SHELL32.DLL_DragAcceptFiles
push 0x606060
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e68], eax
push 0x80809e
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e6c], eax
push 0xeee8e8
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e70], eax
push 0xffffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e74], eax
push 0xc0ffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e78], eax
push 0xb4d4e4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e7c], eax
push 0x9494b4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e80], eax
push 0x464040
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c9e84], eax
push 0x6e6e94
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c9e88], eax
push 0xdcd6d6
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c9e8c], eax
push 0xa0c0d0
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c9e90], eax
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_PostMessageA
cmp dword [0x4bc1ac], 1
setne al
and eax, 1
jmp 0x476d85
mov eax, dword [0x4bc1c0]
test eax, eax
je 0x476615
cmp byte [0x4b1a82], 0
jne 0x4765a6
push 0
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
jmp 0x476d85
mov byte [ebp - 1], 0
jmp 0x4765e5
cmp byte [ebp - 1], 0
jne 0x4765d9
push 0x480
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, 0x57d
call fcn.004116e0
push eax
push ebx
call sub.USER32.DLL_SetWindowTextA
mov byte [ebp - 1], 1
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.00444258
cmp dword [0x4bc1b4], 0
jne 0x476602
push 0x32
push dword [0x4bc1c0]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
je 0x4765ac
cmp byte [ebp - 1], 0
je 0x476615
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_SetWindowTextA
xor eax, eax
jmp 0x476d85
test edi, edi
je 0x47663f
push 0xfffffffffffffff0
push ebx
call sub.USER32.DLL_GetWindowLongA
test eax, 0x40000000
je 0x47663f
push 0
push ebx
call sub.USER32.DLL_FlashWindow
push 1
push ebx
call sub.USER32.DLL_FlashWindow
xor eax, eax
jmp 0x476d85
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x47665c
xor eax, eax
jmp 0x476d85
mov eax, dword [0x4c96e4]
test eax, eax
je 0x476674
cmp eax, 1
je 0x476674
cmp eax, 2
je 0x476674
cmp eax, 8
jne 0x4766eb
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_BeginPaint
mov esi, eax
push dword [0x4c9e40]
push dword [0x4c9e3c]
push dword [0x4c9e48]
push dword [0x4c9e44]
xor ecx, ecx
mov edx, esi
xor eax, eax
call fcn.00476ea0
cmp byte [0x4c9e30], 0
jne 0x4766b8
cmp dword [0x4c96e4], 8
jne 0x4766de
push dword [0x4c9e50]
push dword [0x4c9e4c]
push dword [0x4c9e58]
push dword [0x4c9e54]
mov cl, 1
mov edx, esi
mov eax, 1
call fcn.00476ea0
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_EndPaint
xor eax, eax
jmp 0x476d85
and di, 0xffff
movzx edx, di
cmp edx, 0x70
jg 0x47671b
je 0x476a42
sub edx, 2
je 0x476737
sub edx, 0x6c
je 0x47674d
dec edx
je 0x4768a4
jmp 0x476af4
sub edx, 0x7c
je 0x476aa9
dec edx
je 0x476ac5
dec edx
je 0x476adb
jmp 0x476af4
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476d85
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.00468288
test al, al
je 0x47679d
mov eax, 0x65
jmp 0x4767a2
mov eax, 0x6c
mov dword [ebp - 8], eax
push edi
cmp dword [ebp - 8], 0x65
jne 0x4767b3
mov edx, 0x4a1a80
jmp 0x4767b8
mov edx, str.Tray.ico
mov eax, 0x4ba048
mov ecx, esi
call fcn.0047d758
mov dword [0x4c96e0], eax
cmp dword [0x4c96e0], 0
jne 0x4767ed
push 0
push edi
push esi
push 1
movzx eax, word [ebp - 8]
push eax
push dword [0x4a6fb8]
call sub.USER32.DLL_LoadImageA
mov dword [0x4c96e0], eax
mov edx, dword [0x4c96e0]
cmp dword [0x4c96e4], 0
mov dword [ebp - 0x6a8], edx
jne 0x476820
push 0
mov eax, 0x2f8
call fcn.004116e0
push eax
lea edx, [ebp - 0x6a4]
push edx
call fcn.00490628
add esp, 0xc
jmp 0x476832
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 0x476888
push 0
push ebx
call sub.USER32.DLL_ShowWindow
push 0
push dword [0x4b9820]
call sub.USER32.DLL_ShowWindow
mov al, 1
call fcn.0044c4ec
push dword [0x4c9e50]
push dword [0x4c9e4c]
push dword [0x4c9e58]
push dword [0x4c9e54]
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.00476ea0
jmp 0x47689a
push dword [0x4c96e0]
call sub.USER32.DLL_DestroyIcon
xor eax, eax
mov dword [0x4c96e0], eax
mov eax, 1
jmp 0x476d85
cmp byte [0x4c9e98], 0
jne 0x4768f1
cmp dword [0x4b982c], 0
jne 0x4768c0
mov eax, 1
jmp 0x476d85
push 0xc8
push 0x4c9e99
push 0x6f
push ebx
call sub.USER32.DLL_GetDlgItemTextA
push 0x480
push 0x4c9f61
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, dword [0x4bc1c0]
test eax, eax
je 0x4768f1
push eax
call sub.KERNEL32.DLL_ReleaseMutex
cmp byte [0x4c9e98], 0
je 0x476901
mov edx, 0x4c9e99
jmp 0x47690d
mov eax, 0x49c
call fcn.004116e0
mov edx, eax
push edx
push 0x6f
push ebx
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4c9e98], 0
je 0x476926
mov ecx, 0x4c9f61
jmp 0x476932
mov eax, 0x49d
call fcn.004116e0
mov ecx, eax
push ecx
push ebx
call sub.USER32.DLL_SetWindowTextA
mov al, byte [0x4c9e98]
mov byte [ebp - 9], al
xor edx, edx
mov dl, al
cmp edx, 1
sbb ecx, ecx
neg ecx
mov byte [0x4c9e98], cl
mov byte [ebp - 0xa], 0
cmp byte [0x4c9e98], 0
je 0x47697f
cmp dword [0x4c9e28], 0
je 0x47697f
push dword [0x4c9e28]
call sub.KERNEL32.DLL_SuspendThread
cmp eax, 0xffffffff
setne al
and eax, 1
mov byte [ebp - 0xa], al
call fcn.00495aec
mov esi, eax
jmp 0x4769dd
lea eax, [ebp - 0x6d8]
push eax
push ebx
call sub.USER32.DLL_IsDialogMessageA
test eax, eax
jne 0x4769dd
cmp dword [ebp - 0x6d4], 0x203
jne 0x4769c5
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [0x4b9d5c]
jne 0x4769c5
mov eax, 0x4b9d5c
mov edx, dword [0x4b9820]
call fcn.0047a5bc
jmp 0x4769dd
lea ecx, [ebp - 0x6d8]
push ecx
call sub.USER32.DLL_TranslateMessage
lea eax, [ebp - 0x6d8]
push eax
call sub.USER32.DLL_DispatchMessageA
cmp byte [0x4c9e98], 0
je 0x476a05
cmp dword [0x4bc1b4], 0
jne 0x476a05
push 0
push 0
push 0
lea edx, [ebp - 0x6d8]
push edx
call sub.USER32.DLL_GetMessageA
test eax, eax
jne 0x476988
call fcn.00495aec
sub eax, esi
add dword [0x4c9e2c], eax
cmp byte [ebp - 9], 0
je 0x476a27
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xa], 0
je 0x476a38
push dword [0x4c9e28]
call sub.KERNEL32.DLL_ResumeThread
mov eax, 1
jmp 0x476d85
push 0
push 0x475c30
push ebx
push str.CMDMODE
push dword [0x4a6fb8]
mov esi, dword [0x4b088c]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x476a9f
cmp esi, dword [0x4b088c]
je 0x476a9f
cmp dword [0x4b088c], 0
je 0x476a9f
cmp dword [0x4b127c], 0
jne 0x476a95
mov eax, dword [0x4b1a84]
test eax, eax
je 0x476a9f
mov edx, dword [0x4b088c]
dec edx
call fcn.0041762c
jmp 0x476a9f
mov eax, dword [0x4b088c]
call fcn.00485638
mov eax, 1
jmp 0x476d85
push 0x202
push 0
push 0x47b
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476d85
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476d85
push 0
push 0x6f
push 0x111
push ebx
call sub.USER32.DLL_PostMessageA
mov eax, 1
jmp 0x476d85
mov eax, 1
jmp 0x476d85
cmp dword [ebp + 0x14], 0x202
jne 0x476b16
mov eax, ebx
call fcn.00475b68
push 5
push ebx
call sub.USER32.DLL_ShowWindow
cmp dword [ebp + 0x14], 0x205
jne 0x476bb0
call sub.USER32.DLL_CreatePopupMenu
mov esi, eax
mov eax, 0x2f9
call fcn.004116e0
push eax
push 0x7c
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fa
call fcn.004116e0
push eax
push 0x7d
push 0
push esi
call sub.USER32.DLL_AppendMenuA
cmp byte [0x4c9e98], 0
je 0x476b64
mov eax, 0x2fc
jmp 0x476b69
mov eax, 0x2fb
call fcn.004116e0
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 0x476d85
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x476bd1
push ebx
call sub.USER32.DLL_DestroyWindow
jmp 0x476c29
cmp dword [0x4c96e4], 0xb
je 0x476c1f
call fcn.00495aec
sub eax, dword [0x4c9e2c]
mov dword [ebp - 0x6dc], eax
fild dword [ebp - 0x6dc]
fcomp dword [0x476d90]
fnstsw ax
sahf
jb 0x476c1f
push 0x24
mov eax, 0x312
call fcn.004116e0
push eax
mov eax, 0x311
call fcn.004116e0
push eax
push ebx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x476c29
mov dword [0x4bc1b4], 1
mov eax, 1
jmp 0x476d85
push 1
push dword [0x4b9820]
call sub.SHELL32.DLL_DragAcceptFiles
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x476c7e
push str.Done
push ebx
call sub.USER32.DLL_RemovePropA
xor eax, eax
cmp ebx, dword [eax*4 + 0x4c9de8]
jne 0x476c73
xor edx, edx
mov dword [eax*4 + 0x4c9de8], edx
jmp 0x476d59
inc eax
cmp eax, 0x10
jl 0x476c5c
jmp 0x476d59
push dword [0x4c9e68]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e6c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e70]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e74]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e78]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e7c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e80]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e84]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e88]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e8c]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c9e90]
call sub.GDI32.DLL_DeleteObject
cmp dword [0x4bc1b4], 0
jne 0x476d19
call fcn.00495aec
sub eax, dword [0x4c9e2c]
cmp eax, 0x2710
jle 0x476d19
xor eax, eax
call fcn.004442f0
mov eax, ebx
call fcn.00475b68
xor edx, edx
xor ecx, ecx
mov dword [0x4b982c], edx
mov dword [0x4bc1b0], ecx
mov eax, dword [0x4bc1b4]
xor edx, edx
mov dword [0x4bc1b8], eax
mov dword [0x4bc1b4], edx
mov eax, dword [0x4bc1c0]
test eax, eax
je 0x476d51
push eax
call sub.KERNEL32.DLL_ReleaseMutex
xor edx, edx
mov dword [0x4c9e28], edx
cmp dword [0x4bc1ac], 1
je 0x476d7f
cmp dword [0x4b9830], 0
je 0x476d73
mov ecx, dword [0x4b9830]
jmp 0x476d79
mov ecx, dword [0x4b9834]
push ecx
call sub.USER32.DLL_SetFocus
xor eax, eax
jmp 0x476d85
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10