Function at 0x478408
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xaa
push 0
push 0
dec ecx
jne 0x478411
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x478fba
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x10], 0xfffffffe
mov eax, dword [0x47ed34]
mov eax, dword [eax + 0x2f4]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x47ed34]
mov eax, dword [eax + 0x2f0]
mov dword [ebp - 0x20], eax
push 0x478fd0
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
push 0x478fe8
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcpyA
push 0x47902c
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x47903c
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x479048
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x474]
call fcn.004089b4
mov eax, dword [ebp - 0x474]
call fcn.004048b8
push eax
lea eax, [ebp - 0x43c]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x478]
lea edx, [ebp - 0x43c]
mov ecx, 0x400
call fcn.00404c70
mov edx, dword [ebp - 0x478]
mov eax, dword [ebp - 4]
call fcn.0045e1dc
mov edx, 0x7530
mov eax, dword [ebp - 4]
call fcn.00476d48
mov eax, 0x3e8
call fcn.00476d1c
push 0x47904c
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x4785e7
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x47c]
mov edx, 0xcb
mov eax, dword [ebp - 4]
call fcn.0045b42c
mov edx, dword [ebp - 0x47c]
lea eax, [ebp - 0x450]
call fcn.004053d0
push 0x479064
push 0x479074
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x49c]
push eax
call fcn.00405314
add esp, 0xc
lea eax, [ebp - 0x49c]
push eax
lea eax, [ebp - 0x48c]
push eax
call fcn.00405314
add esp, 0xc
lea edx, [ebp - 0x48c]
lea eax, [ebp - 0x14]
call fcn.0040535c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4785f9
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov ebx, eax
mov eax, ebx
call fcn.00476f0c
cmp al, 1
jne 0x47861a
mov dword [ebp - 0x10], 0xffffffff
jmp 0x478e54
mov eax, ebx
mov edx, 0x47907c
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478659
push 0x4790ac
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
mov dword [ebp - 0x10], 0xfffffffb
jmp 0x478e54
mov eax, ebx
mov edx, 0x4790c0
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478698
push 0x4790dc
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
mov dword [ebp - 0x10], 0xfffffffc
jmp 0x478e54
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov ebx, eax
mov eax, ebx
mov edx, 0x4790f0
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478712
lea edx, [ebp - 0x4a4]
mov eax, dword [ebp - 0xc]
call fcn.00409000
mov ecx, dword [ebp - 0x4a4]
lea eax, [ebp - 0x4a0]
mov edx, 0x479134
call fcn.0040470c
mov eax, dword [ebp - 0x4a0]
call fcn.004048b8
push eax
mov eax, ebx
xor ecx, ecx
pop edx
call fcn.0045e340
test eax, eax
jle 0x478712
push 0x479144
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478756
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x18]
cmp eax, 0x7530
jb 0x478747
push 0x479158
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478e54
mov eax, 0x3e8
call fcn.00476d1c
jmp 0x478567
push 0x47916c
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
xor eax, eax
push ebp
push 0x4788c3
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x460]
mov edx, dword [ebp - 8]
mov cl, 0xfc
call fcn.004053e8
lea ecx, [ebp - 0x4a8]
mov edx, 0xcb
mov eax, dword [ebp - 4]
call fcn.0045b42c
mov edx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x24]
mov ecx, 0x479184
call fcn.004061f4
lea eax, [ebp - 0x4b8]
call fcn.004053fc
push eax
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x4bc]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x5c]
call fcn.004062bc
mov eax, dword [ebp - 0x4bc]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.004062bc
lea edx, [ebp - 0x4b8]
lea eax, [ebp - 0x28]
call fcn.00405374
cmp dword [ebp - 0x28], 0
jne 0x478817
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x478e54
lea eax, [ebp - 0x2c]
call fcn.004061b0
push eax
mov eax, dword [0x47daec]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax]
cmp dword [ebp - 0x2c], 0
jne 0x478841
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x478e54
lea eax, [ebp - 0x30]
call fcn.004061b0
push eax
push 0x479194
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [eax]
call dword [eax]
cmp dword [ebp - 0x30], 0
jne 0x47886a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x478e54
lea eax, [ebp - 0x34]
call fcn.004061b0
push eax
mov eax, dword [0x47da2c]
push eax
mov eax, dword [0x47db50]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
cmp dword [ebp - 0x34], 0
jne 0x47889b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x478e54
push 0x4791a4
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4788f8
push 0x4791cc
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x4789a5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x4c0]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [eax]
call dword [eax + 0x48]
call fcn.004062bc
mov edx, dword [ebp - 0x4c0]
lea eax, [ebp - 0x470]
call fcn.004053d0
push 0x4791e4
push 0x479074
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.00405314
add esp, 0xc
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x4d0]
push eax
call fcn.00405314
add esp, 0xc
lea edx, [ebp - 0x4d0]
lea eax, [ebp - 0x14]
call fcn.0040535c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4789b7
xor eax, eax
mov dword [0x47ee4c], eax
push 0
push 0x47834c
mov eax, dword [ebp - 4]
call fcn.0043c6b4
push eax
call sub.user32.dll_EnumChildWindows
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov edx, 0x4791f4
mov ecx, 1
call fcn.0045e340
test eax, eax
jle 0x478a1a
cmp dword [0x47ee4c], 0
jbe 0x478a1a
push 0x47921c
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478af8
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov edx, 0x479230
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478a68
cmp dword [0x47ee4c], 0
jne 0x478a68
push 0x47924c
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
mov dword [ebp - 0x10], 0xfffffffd
jmp 0x478e54
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov edx, 0x479260
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478ab4
cmp dword [0x47ee4c], 0
jne 0x478ab4
push 0x47928c
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x478e54
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x18]
cmp eax, 0x7530
jb 0x478ae9
push 0x4792a0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478e54
mov eax, 0x3e8
call fcn.00476d1c
jmp 0x47891e
push 0x4792b4
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
mov eax, dword [ebp + 8]
push eax
call sub.kernel32.dll_lstrlenA_1
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x478b47
inc ebx
xor esi, esi
push 0
mov eax, dword [ebp + 8]
movzx eax, byte [eax + esi]
push eax
push 0x102
mov eax, dword [0x47ee4c]
push eax
call sub.user32.dll_SendMessageA
inc esi
dec ebx
jne 0x478b29
push 0x4792cc
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
lea eax, [ebp - 0x4e4]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [eax]
call dword [eax + 0x48]
call fcn.004062bc
mov edx, dword [ebp - 0x4e4]
lea eax, [ebp - 0x38]
mov ecx, 0x479184
call fcn.004061f4
lea eax, [ebp - 0x4e8]
call fcn.004061b0
push eax
lea eax, [ebp - 0x4f8]
xor edx, edx
mov cl, 1
call fcn.004053e8
push dword [ebp - 0x4ec]
push dword [ebp - 0x4f0]
push dword [ebp - 0x4f4]
push dword [ebp - 0x4f8]
lea eax, [ebp - 0x508]
mov edx, 0x4792ec
call fcn.004053d8
push dword [ebp - 0x4fc]
push dword [ebp - 0x500]
push dword [ebp - 0x504]
push dword [ebp - 0x508]
lea eax, [ebp - 0x50c]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062bc
mov eax, dword [ebp - 0x50c]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.004062bc
mov edx, dword [ebp - 0x4e8]
lea eax, [ebp - 0x3c]
mov ecx, 0x4792fc
call fcn.004061f4
cmp dword [ebp - 0x3c], 0
je 0x478cb5
lea eax, [ebp - 0x510]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [eax]
call dword [eax + 0x48]
call fcn.004062bc
mov edx, dword [ebp - 0x510]
lea eax, [ebp - 0x470]
call fcn.004053d0
push 0x47930c
push 0
push 0x4792ec
push 0x479318
push 0x479324
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x530]
push eax
call fcn.00405314
add esp, 0xc
lea eax, [ebp - 0x530]
push eax
lea eax, [ebp - 0x520]
push eax
call fcn.00405314
add esp, 0x14
lea eax, [ebp - 0x520]
push eax
push 0
call fcn.00405314
add esp, 0xc
jmp 0x478cdb
push 0x47932c
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478e54
mov eax, 0x3e8
call fcn.00476d1c
mov edx, 0x7530
mov eax, dword [ebp - 4]
call fcn.00476d48
mov eax, 0x3e8
call fcn.00476d1c
push 0x479340
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x478da2
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x534]
mov edx, 0xcb
mov eax, dword [ebp - 4]
call fcn.0045b42c
mov edx, dword [ebp - 0x534]
lea eax, [ebp - 0x450]
call fcn.004053d0
push 0x479064
push 0x479074
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x554]
push eax
call fcn.00405314
add esp, 0xc
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.00405314
add esp, 0xc
lea edx, [ebp - 0x544]
lea eax, [ebp - 0x14]
call fcn.0040535c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x478db4
mov eax, dword [ebp - 0x14]
call fcn.004048b8
xor ecx, ecx
mov edx, dword [ebp + 0xc]
call fcn.0045e340
test eax, eax
jle 0x478e13
mov eax, dword [ebp - 0x14]
call fcn.004048b8
mov ebx, eax
mov eax, ebx
mov edx, 0x479358
xor ecx, ecx
call fcn.0045e340
test eax, eax
jg 0x478e0a
mov eax, ebx
mov edx, 0x479370
xor ecx, ecx
call fcn.0045e340
test eax, eax
jg 0x478e0a
mov eax, ebx
mov edx, 0x479388
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x478e13
mov dword [ebp - 0x10], 1
jmp 0x478e54
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x18]
cmp eax, 0x7530
jb 0x478e45
push 0x47939c
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 0xff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00476b64
jmp 0x478e54
mov eax, 0x3e8
call fcn.00476d1c
jmp 0x478d22
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x478fc4
lea eax, [ebp - 0x554]
mov edx, dword [0x401110]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x534]
call fcn.004061b0
lea eax, [ebp - 0x530]
mov edx, dword [0x401110]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x510]
call fcn.004061b0
lea eax, [ebp - 0x50c]
call fcn.004061b0
lea eax, [ebp - 0x508]
mov edx, dword [0x401120]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x4e8]
mov edx, dword [0x4011d4]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x4e0]
mov edx, dword [0x401110]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x4c0]
call fcn.004061b0
lea eax, [ebp - 0x4bc]
call fcn.004061b0
lea eax, [ebp - 0x4b8]
call fcn.004053fc
lea eax, [ebp - 0x4a8]
call fcn.004061b0
lea eax, [ebp - 0x4a4]
mov edx, 2
call fcn.0040442c
lea eax, [ebp - 0x49c]
mov edx, dword [0x401110]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x47c]
call fcn.004061b0
lea eax, [ebp - 0x478]
call fcn.00404b24
lea eax, [ebp - 0x474]
call fcn.00404408
lea eax, [ebp - 0x470]
mov edx, dword [0x401120]
mov ecx, 3
call fcn.00404f2c
lea eax, [ebp - 0x3c]
call fcn.004061b0
lea eax, [ebp - 0x38]
call fcn.004061b0
lea eax, [ebp - 0x34]
call fcn.004061b0
lea eax, [ebp - 0x30]
call fcn.004061b0
lea eax, [ebp - 0x2c]
call fcn.004061b0
lea eax, [ebp - 0x28]
call fcn.004061b0
lea eax, [ebp - 0x24]
call fcn.004061b0
lea eax, [ebp - 0x14]
call fcn.00404408
ret