Function at 0x4764dc
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 [0x4c7f04]
cmp dword [0x4c7ed4], 0
jne 0x47650a
mov eax, 0x1140
jmp 0x47650f
mov eax, dword [0x4c7ed4]
push eax
cmp dword [0x4bc21c], 1
jne 0x476520
mov edx, 2
jmp 0x476522
xor edx, edx
push edx
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.00468814
cmp esi, 0x110
jg 0x47655f
je 0x476583
sub esi, 2
je 0x476dc3
sub esi, 0xd
je 0x4767d6
dec esi
je 0x476d4a
sub esi, 8
je 0x4767ac
jmp 0x476f13
sub esi, 0x111
je 0x476882
sub esi, 0x36a
je 0x476c8e
dec esi
je 0x476711
jmp 0x476f13
push 0
push ebx
call sub.USER32.DLL_GetSystemMenu
mov esi, eax
test esi, esi
je 0x4765ab
push 1
push 0xf000
push esi
call sub.USER32.DLL_EnableMenuItem
push 1
push 0xf030
push esi
call sub.USER32.DLL_EnableMenuItem
cmp dword [0x4c7754], 0
je 0x4765c2
xor ecx, ecx
mov edx, 0x70
mov eax, ebx
call fcn.004686f4
cmp byte [0x4c7ea0], 0
jne 0x4765e8
mov eax, dword [0x4c7754]
cmp eax, 1
je 0x4765da
cmp eax, 2
jne 0x4765e8
xor ecx, ecx
mov edx, 0xa2
mov eax, ebx
call fcn.004686f4
xor edx, edx
xor ecx, ecx
mov dword [0x4bc224], edx
mov dword [0x4bc228], ecx
mov dword [0x4bc220], 1
xor eax, eax
mov dword [0x4b989c], ebx
mov dword [0x4b1af4], eax
cmp dword [0x4bc21c], 1
je 0x47662b
push ebx
call sub.USER32.DLL_BringWindowToTop
push 0
push dword [0x4b9890]
call sub.SHELL32.DLL_DragAcceptFiles
push 0x606060
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ed8], eax
push 0x80809e
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7edc], eax
push 0xeee8e8
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ee0], eax
push 0xffffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ee4], eax
push 0xc0ffff
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ee8], eax
push 0xb4d4e4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7eec], eax
push 0x9494b4
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ef0], eax
push 0x464040
push 1
push 0
call sub.GDI32.DLL_CreatePen
mov dword [0x4c7ef4], eax
push 0x6e6e94
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c7ef8], eax
push 0xdcd6d6
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c7efc], eax
push 0xa0c0d0
call sub.GDI32.DLL_CreateSolidBrush
mov dword [0x4c7f00], eax
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_PostMessageA
cmp dword [0x4bc21c], 1
setne al
and eax, 1
jmp 0x476f15
mov eax, dword [0x4bc230]
test eax, eax
je 0x4767a5
cmp byte [0x4b1af2], 0
jne 0x476736
push 0
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
jmp 0x476f15
mov byte [ebp - 1], 0
jmp 0x476775
cmp byte [ebp - 1], 0
jne 0x476769
push 0x480
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, 0x57d
call fcn.004116e8
push eax
push ebx
call sub.USER32.DLL_SetWindowTextA
mov byte [ebp - 1], 1
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.004442e0
cmp dword [0x4bc224], 0
jne 0x476792
push 0x32
push dword [0x4bc230]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
je 0x47673c
cmp byte [ebp - 1], 0
je 0x4767a5
lea edx, [ebp - 0x494]
push edx
push ebx
call sub.USER32.DLL_SetWindowTextA
xor eax, eax
jmp 0x476f15
test edi, edi
je 0x4767cf
push 0xfffffffffffffff0
push ebx
call sub.USER32.DLL_GetWindowLongA
test eax, 0x40000000
je 0x4767cf
push 0
push ebx
call sub.USER32.DLL_FlashWindow
push 1
push ebx
call sub.USER32.DLL_FlashWindow
xor eax, eax
jmp 0x476f15
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x4767ec
xor eax, eax
jmp 0x476f15
mov eax, dword [0x4c7754]
test eax, eax
je 0x476804
cmp eax, 1
je 0x476804
cmp eax, 2
je 0x476804
cmp eax, 8
jne 0x47687b
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_BeginPaint
mov esi, eax
push dword [0x4c7eb0]
push dword [0x4c7eac]
push dword [0x4c7eb8]
push dword [0x4c7eb4]
xor ecx, ecx
mov edx, esi
xor eax, eax
call fcn.00477030
cmp byte [0x4c7ea0], 0
jne 0x476848
cmp dword [0x4c7754], 8
jne 0x47686e
push dword [0x4c7ec0]
push dword [0x4c7ebc]
push dword [0x4c7ec8]
push dword [0x4c7ec4]
mov cl, 1
mov edx, esi
mov eax, 1
call fcn.00477030
lea edx, [ebp - 0x4d4]
push edx
push ebx
call sub.USER32.DLL_EndPaint
xor eax, eax
jmp 0x476f15
and di, 0xffff
movzx edx, di
cmp edx, 0x70
jg 0x4768ab
je 0x476bd2
sub edx, 2
je 0x4768c7
sub edx, 0x6c
je 0x4768dd
dec edx
je 0x476a34
jmp 0x476c84
sub edx, 0x7c
je 0x476c39
dec edx
je 0x476c55
dec edx
je 0x476c6b
jmp 0x476c84
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476f15
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.00468418
test al, al
je 0x47692d
mov eax, 0x65
jmp 0x476932
mov eax, 0x6c
mov dword [ebp - 8], eax
push edi
cmp dword [ebp - 8], 0x65
jne 0x476943
mov edx, 0x4a1af0
jmp 0x476948
mov edx, str.Tray.ico
mov eax, 0x4ba0b8
mov ecx, esi
call fcn.0047d8e8
mov dword [0x4c7750], eax
cmp dword [0x4c7750], 0
jne 0x47697d
push 0
push edi
push esi
push 1
movzx eax, word [ebp - 8]
push eax
push dword [0x4a7028]
call sub.USER32.DLL_LoadImageA
mov dword [0x4c7750], eax
mov edx, dword [0x4c7750]
cmp dword [0x4c7754], 0
mov dword [ebp - 0x6a8], edx
jne 0x4769b0
push 0
mov eax, 0x2f8
call fcn.004116e8
push eax
lea edx, [ebp - 0x6a4]
push edx
call fcn.004908b8
add esp, 0xc
jmp 0x4769c2
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 0x476a18
push 0
push ebx
call sub.USER32.DLL_ShowWindow
push 0
push dword [0x4b9890]
call sub.USER32.DLL_ShowWindow
mov al, 1
call fcn.0044c604
push dword [0x4c7ec0]
push dword [0x4c7ebc]
push dword [0x4c7ec8]
push dword [0x4c7ec4]
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.00477030
jmp 0x476a2a
push dword [0x4c7750]
call sub.USER32.DLL_DestroyIcon
xor eax, eax
mov dword [0x4c7750], eax
mov eax, 1
jmp 0x476f15
cmp byte [0x4c7f08], 0
jne 0x476a81
cmp dword [0x4b989c], 0
jne 0x476a50
mov eax, 1
jmp 0x476f15
push 0xc8
push 0x4c7f09
push 0x6f
push ebx
call sub.USER32.DLL_GetDlgItemTextA
push 0x480
push 0x4c7fd1
push ebx
call sub.USER32.DLL_GetWindowTextA
mov eax, dword [0x4bc230]
test eax, eax
je 0x476a81
push eax
call sub.KERNEL32.DLL_ReleaseMutex
cmp byte [0x4c7f08], 0
je 0x476a91
mov edx, 0x4c7f09
jmp 0x476a9d
mov eax, 0x49c
call fcn.004116e8
mov edx, eax
push edx
push 0x6f
push ebx
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4c7f08], 0
je 0x476ab6
mov ecx, 0x4c7fd1
jmp 0x476ac2
mov eax, 0x49d
call fcn.004116e8
mov ecx, eax
push ecx
push ebx
call sub.USER32.DLL_SetWindowTextA
mov al, byte [0x4c7f08]
mov byte [ebp - 9], al
xor edx, edx
mov dl, al
cmp edx, 1
sbb ecx, ecx
neg ecx
mov byte [0x4c7f08], cl
mov byte [ebp - 0xa], 0
cmp byte [0x4c7f08], 0
je 0x476b0f
cmp dword [0x4c7e98], 0
je 0x476b0f
push dword [0x4c7e98]
call sub.KERNEL32.DLL_SuspendThread
cmp eax, 0xffffffff
setne al
and eax, 1
mov byte [ebp - 0xa], al
call fcn.00495d7c
mov esi, eax
jmp 0x476b6d
lea eax, [ebp - 0x6d8]
push eax
push ebx
call sub.USER32.DLL_IsDialogMessageA
test eax, eax
jne 0x476b6d
cmp dword [ebp - 0x6d4], 0x203
jne 0x476b55
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [0x4b9dcc]
jne 0x476b55
mov eax, 0x4b9dcc
mov edx, dword [0x4b9890]
call fcn.0047a74c
jmp 0x476b6d
lea ecx, [ebp - 0x6d8]
push ecx
call sub.USER32.DLL_TranslateMessage
lea eax, [ebp - 0x6d8]
push eax
call sub.USER32.DLL_DispatchMessageA
cmp byte [0x4c7f08], 0
je 0x476b95
cmp dword [0x4bc224], 0
jne 0x476b95
push 0
push 0
push 0
lea edx, [ebp - 0x6d8]
push edx
call sub.USER32.DLL_GetMessageA
test eax, eax
jne 0x476b18
call fcn.00495d7c
sub eax, esi
add dword [0x4c7e9c], eax
cmp byte [ebp - 9], 0
je 0x476bb7
push 0
push 0
push 0x47c
push ebx
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0xa], 0
je 0x476bc8
push dword [0x4c7e98]
call sub.KERNEL32.DLL_ResumeThread
mov eax, 1
jmp 0x476f15
push 0
push 0x475dc0
push ebx
push str.CMDMODE
push dword [0x4a7028]
mov esi, dword [0x4b08fc]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x476c2f
cmp esi, dword [0x4b08fc]
je 0x476c2f
cmp dword [0x4b08fc], 0
je 0x476c2f
cmp dword [0x4b12ec], 0
jne 0x476c25
mov eax, dword [0x4b1af4]
test eax, eax
je 0x476c2f
mov edx, dword [0x4b08fc]
dec edx
call fcn.00417634
jmp 0x476c2f
mov eax, dword [0x4b08fc]
call fcn.004857c8
mov eax, 1
jmp 0x476f15
push 0x202
push 0
push 0x47b
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476f15
push 0
push 0
push 0x10
push ebx
call sub.USER32.DLL_SendMessageA
mov eax, 1
jmp 0x476f15
push 0
push 0x6f
push 0x111
push ebx
call sub.USER32.DLL_PostMessageA
mov eax, 1
jmp 0x476f15
mov eax, 1
jmp 0x476f15
cmp dword [ebp + 0x14], 0x202
jne 0x476ca6
mov eax, ebx
call fcn.00475cf8
push 5
push ebx
call sub.USER32.DLL_ShowWindow
cmp dword [ebp + 0x14], 0x205
jne 0x476d40
call sub.USER32.DLL_CreatePopupMenu
mov esi, eax
mov eax, 0x2f9
call fcn.004116e8
push eax
push 0x7c
push 0
push esi
call sub.USER32.DLL_AppendMenuA
mov eax, 0x2fa
call fcn.004116e8
push eax
push 0x7d
push 0
push esi
call sub.USER32.DLL_AppendMenuA
cmp byte [0x4c7f08], 0
je 0x476cf4
mov eax, 0x2fc
jmp 0x476cf9
mov eax, 0x2fb
call fcn.004116e8
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 0x476f15
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x476d61
push ebx
call sub.USER32.DLL_DestroyWindow
jmp 0x476db9
cmp dword [0x4c7754], 0xb
je 0x476daf
call fcn.00495d7c
sub eax, dword [0x4c7e9c]
mov dword [ebp - 0x6dc], eax
fild dword [ebp - 0x6dc]
fcomp dword [0x476f20]
fnstsw ax
sahf
jb 0x476daf
push 0x24
mov eax, 0x312
call fcn.004116e8
push eax
mov eax, 0x311
call fcn.004116e8
push eax
push ebx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x476db9
mov dword [0x4bc224], 1
mov eax, 1
jmp 0x476f15
push 1
push dword [0x4b9890]
call sub.SHELL32.DLL_DragAcceptFiles
push str.Done
push ebx
call sub.USER32.DLL_GetPropA
test eax, eax
je 0x476e0e
push str.Done
push ebx
call sub.USER32.DLL_RemovePropA
xor eax, eax
cmp ebx, dword [eax*4 + 0x4c7e58]
jne 0x476e03
xor edx, edx
mov dword [eax*4 + 0x4c7e58], edx
jmp 0x476ee9
inc eax
cmp eax, 0x10
jl 0x476dec
jmp 0x476ee9
push dword [0x4c7ed8]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7edc]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ee0]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ee4]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ee8]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7eec]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ef0]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ef4]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7ef8]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7efc]
call sub.GDI32.DLL_DeleteObject
push dword [0x4c7f00]
call sub.GDI32.DLL_DeleteObject
cmp dword [0x4bc224], 0
jne 0x476ea9
call fcn.00495d7c
sub eax, dword [0x4c7e9c]
cmp eax, 0x2710
jle 0x476ea9
xor eax, eax
call fcn.00444378
mov eax, ebx
call fcn.00475cf8
xor edx, edx
xor ecx, ecx
mov dword [0x4b989c], edx
mov dword [0x4bc220], ecx
mov eax, dword [0x4bc224]
xor edx, edx
mov dword [0x4bc228], eax
mov dword [0x4bc224], edx
mov eax, dword [0x4bc230]
test eax, eax
je 0x476ee1
push eax
call sub.KERNEL32.DLL_ReleaseMutex
xor edx, edx
mov dword [0x4c7e98], edx
cmp dword [0x4bc21c], 1
je 0x476f0f
cmp dword [0x4b98a0], 0
je 0x476f03
mov ecx, dword [0x4b98a0]
jmp 0x476f09
mov ecx, dword [0x4b98a4]
push ecx
call sub.USER32.DLL_SetFocus
xor eax, eax
jmp 0x476f15
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10