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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x9d
push 0
push 0
dec ecx
jne 0x477105
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x477711
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x1c], eax
test ebx, ebx
je 0x477138
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 4], 0
je 0x477172
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x45d8d4]
call fcn.0045a858
mov dword [ebp - 0x1c], eax
or ecx, 0xffffffff
mov edx, 0x227
mov eax, dword [ebp - 0x1c]
call fcn.0045bcec
mov eax, dword [ebp - 4]
call fcn.0043c6b4
mov edx, eax
mov eax, dword [ebp - 0x1c]
call fcn.00439e4c
push 0x477728
lea eax, [ebp - 0x428]
push eax
call sub.kernel32.dll_lstrcpyA
lea eax, [ebp - 0x43c]
lea edx, [ebp - 0x428]
mov ecx, 0x400
call fcn.00404c70
mov edx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x1c]
call fcn.0045e1dc
mov edx, 0x7530
mov eax, dword [ebp - 0x1c]
call fcn.00476d48
mov eax, 0x3e8
call fcn.00476d1c
lea ecx, [ebp - 0x440]
mov edx, 0xcb
mov eax, dword [ebp - 0x1c]
call fcn.0045b42c
mov edx, dword [ebp - 0x440]
lea eax, [ebp - 0x438]
call fcn.004053d0
lea ecx, [ebp - 0x444]
mov edx, 0xcb
mov eax, dword [ebp - 0x1c]
call fcn.0045b42c
mov edx, dword [ebp - 0x444]
lea eax, [ebp - 0x20]
mov ecx, 0x477760
call fcn.004061f4
mov dword [ebp - 0x14], 2
lea eax, [ebp - 0x448]
call fcn.004061b0
push eax
lea eax, [ebp - 0x458]
xor edx, edx
mov cl, 1
call fcn.004053e8
push dword [ebp - 0x44c]
push dword [ebp - 0x450]
push dword [ebp - 0x454]
push dword [ebp - 0x458]
lea eax, [ebp - 0x468]
mov edx, 0x477778
call fcn.004053d8
push dword [ebp - 0x45c]
push dword [ebp - 0x460]
push dword [ebp - 0x464]
push dword [ebp - 0x468]
lea eax, [ebp - 0x46c]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062bc
mov eax, dword [ebp - 0x46c]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.004062bc
mov edx, dword [ebp - 0x448]
lea eax, [ebp - 0x24]
mov ecx, 0x477788
call fcn.004061f4
cmp dword [ebp - 0x24], 0
je 0x4772e4
lea edx, [ebp - 0x474]
mov eax, dword [ebp - 8]
call fcn.00409000
mov edx, dword [ebp - 0x474]
lea eax, [ebp - 0x470]
call fcn.00404c88
mov eax, dword [ebp - 0x470]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062bc
jmp 0x4772fb
cmp dword [ebp - 4], 0
je 0x4775fc
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775fc
lea eax, [ebp - 0x478]
call fcn.004061b0
push eax
lea eax, [ebp - 0x488]
xor edx, edx
mov cl, 1
call fcn.004053e8
push dword [ebp - 0x47c]
push dword [ebp - 0x480]
push dword [ebp - 0x484]
push dword [ebp - 0x488]
lea eax, [ebp - 0x498]
mov edx, 0x4777a0
call fcn.004053d8
push dword [ebp - 0x48c]
push dword [ebp - 0x490]
push dword [ebp - 0x494]
push dword [ebp - 0x498]
lea eax, [ebp - 0x49c]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062bc
mov eax, dword [ebp - 0x49c]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.004062bc
mov edx, dword [ebp - 0x478]
lea eax, [ebp - 0x24]
mov ecx, 0x477788
call fcn.004061f4
cmp dword [ebp - 0x24], 0
je 0x4773d0
lea edx, [ebp - 0x4a4]
mov eax, dword [ebp + 8]
call fcn.00409000
mov edx, dword [ebp - 0x4a4]
lea eax, [ebp - 0x4a0]
call fcn.00404c88
mov eax, dword [ebp - 0x4a0]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062bc
jmp 0x4773e7
cmp dword [ebp - 4], 0
je 0x4775fc
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775fc
mov eax, 0x3e8
call fcn.00476d1c
lea eax, [ebp - 0x4a8]
call fcn.004061b0
push eax
lea eax, [ebp - 0x4b8]
xor edx, edx
mov cl, 1
call fcn.004053e8
push dword [ebp - 0x4ac]
push dword [ebp - 0x4b0]
push dword [ebp - 0x4b4]
push dword [ebp - 0x4b8]
lea eax, [ebp - 0x4c8]
mov edx, 0x4777b8
call fcn.004053d8
push dword [ebp - 0x4bc]
push dword [ebp - 0x4c0]
push dword [ebp - 0x4c4]
push dword [ebp - 0x4c8]
lea eax, [ebp - 0x4cc]
call fcn.004061b0
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062bc
mov eax, dword [ebp - 0x4cc]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.004062bc
mov edx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x28]
mov ecx, 0x4777c8
call fcn.004061f4
cmp dword [ebp - 0x28], 0
je 0x4774a0
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0x60]
call fcn.004062bc
jmp 0x4774b7
cmp dword [ebp - 4], 0
je 0x4775fc
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775fc
mov eax, 0x3e8
call fcn.00476d1c
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x477525
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4777d8
push 0x4777e8
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x4ec]
push eax
call fcn.00405314
add esp, 0xc
lea eax, [ebp - 0x4ec]
push eax
lea eax, [ebp - 0x4dc]
push eax
call fcn.00405314
add esp, 0xc
lea edx, [ebp - 0x4dc]
lea eax, [ebp - 0x10]
call fcn.0040535c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x477537
mov eax, dword [ebp - 0x10]
call fcn.004048b8
mov ebx, eax
mov eax, ebx
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.0045e340
test eax, eax
jle 0x4775a3
mov eax, ebx
mov edx, 0x4777f0
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x4775a3
mov eax, ebx
mov edx, 0x4777fc
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x4775a3
mov byte [ebp - 9], 1
mov edx, 0x47780c
mov eax, dword [ebp - 0x1c]
call fcn.0045e1dc
mov edx, 0x7530
mov eax, dword [ebp - 0x1c]
call fcn.00476d48
cmp dword [ebp - 4], 0
je 0x4775fc
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775fc
mov eax, ebx
mov edx, 0x477824
xor ecx, ecx
call fcn.0045e340
test eax, eax
jle 0x4775c5
cmp dword [ebp - 4], 0
je 0x4775f3
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775f3
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x18]
cmp eax, 0x7530
jb 0x4775e4
cmp dword [ebp - 4], 0
je 0x4775fc
mov eax, dword [ebp - 0x1c]
call fcn.00403680
jmp 0x4775fc
mov eax, 0x3e8
call fcn.00476d1c
jmp 0x4774c9
dec dword [ebp - 0x14]
jne 0x47720f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47771b
lea eax, [ebp - 0x4ec]
mov edx, dword [0x401110]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x4cc]
call fcn.004061b0
lea eax, [ebp - 0x4c8]
mov edx, dword [0x401120]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x4a8]
call fcn.004061b0
lea eax, [ebp - 0x4a4]
call fcn.00404408
lea eax, [ebp - 0x4a0]
call fcn.00404b24
lea eax, [ebp - 0x49c]
call fcn.004061b0
lea eax, [ebp - 0x498]
mov edx, dword [0x401120]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x478]
call fcn.004061b0
lea eax, [ebp - 0x474]
call fcn.00404408
lea eax, [ebp - 0x470]
call fcn.00404b24
lea eax, [ebp - 0x46c]
call fcn.004061b0
lea eax, [ebp - 0x468]
mov edx, dword [0x401120]
mov ecx, 2
call fcn.00404f2c
lea eax, [ebp - 0x448]
mov edx, dword [0x4011d4]
mov ecx, 3
call fcn.00404f2c
lea eax, [ebp - 0x43c]
call fcn.00404b24
lea eax, [ebp - 0x438]
call fcn.004053fc
lea eax, [ebp - 0x28]
call fcn.004061b0
lea eax, [ebp - 0x24]
call fcn.004061b0
lea eax, [ebp - 0x20]
call fcn.004061b0
lea eax, [ebp - 0x10]
call fcn.00404408
ret