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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x1048628]
push ebx
push esi
push edi
mov esi, ecx
lea edx, [ebp - 0x324]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
push edx
xor ebx, ebx
push eax
mov dword [ebp - 0x30c], ebx
call dword [ecx + 0x1c]
cmp dword [ebp - 0x320], ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jl 0x1020168
cmp dword [esi + 0x44], ebx
je 0x1020184
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x1020178
push eax
call edi
mov dword [esi + 0x34], ebx
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x324]
sub eax, ebx
je 0x1020259
dec eax
je 0x102024a
dec eax
je 0x102022e
dec eax
je 0x10201d9
dec eax
je 0x10201ca
dec eax
je 0x10201b8
mov dword [ebp - 0x308], 0x2779
jmp 0x1020297
mov dword [ebp - 0x308], 0x2778
mov dword [esi + 0x3c], ebx
jmp 0x1020297
mov dword [ebp - 0x308], 0x2777
jmp 0x1020297
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x18]
cmp eax, 0x1d4c0
jbe 0x1020222
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 0x34]
cmp eax, ebx
mov dword [ebp - 0x308], 0x277a
je 0x1020203
push eax
call edi
mov dword [esi + 0x34], ebx
push 0x1003eb0
mov eax, 0x80072efd
push 2
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x30c], eax
call fcn.0102ae4b
jmp 0x1020297
mov dword [ebp - 0x308], 0x2775
jmp 0x1020297
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x18]
cmp eax, 0x1d4c0
ja 0x1020269
mov dword [ebp - 0x308], 0x2776
jmp 0x1020297
mov dword [ebp - 0x308], 0x277a
jmp 0x10201c2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x18]
cmp eax, 0x1d4c0
jbe 0x102028d
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 0x34]
cmp eax, ebx
mov dword [ebp - 0x308], 0x277a
je 0x1020283
push eax
call edi
mov dword [esi + 0x34], ebx
push 0x1003e88
jmp 0x1020208
mov dword [ebp - 0x308], 0x2774
cmp dword [ebp - 0x320], ebx
je 0x10202c0
push dword [ebp - 0x320]
push 0x1003ee0
push 2
call fcn.0102ae85
add esp, 0xc
push dword [ebp - 0x320]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x31c]
cmp eax, 0xffffffff
je 0x1020314
cmp dword [ebp - 0x314], ebx
jbe 0x1020314
sub eax, dword [ebp - 0x318]
xor edx, edx
div dword [ebp - 0x314]
push 0x3c
pop esi
xor edx, edx
mov ecx, eax
div esi
push edx
xor edx, edx
div esi
mov eax, ecx
mov ecx, 0xe10
push edx
xor edx, edx
div ecx
push eax
push 0x1003e28
lea eax, [ebp - 0x104]
push 0x7f
push eax
call fcn.0100f541
add esp, 0x18
jmp 0x1020347
mov esi, 0x80
push esi
lea eax, [ebp - 0x104]
push eax
push 0x26e8
push dword [0x1048bd0]
call fcn.0101b740
test eax, eax
jne 0x1020347
push 0x1003b74
lea eax, [ebp - 0x104]
push esi
push eax
call fcn.0100edc7
push 0x100
lea eax, [ebp - 0x304]
push eax
push dword [ebp - 0x308]
push dword [0x1048bd0]
call fcn.0101b740
test eax, eax
je 0x10203c3
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
lea eax, [ebp - 0x304]
push eax
call esi
mov edi, eax
lea eax, [ebp - 0x104]
push eax
call esi
lea esi, [edi + eax + 0x21]
lea eax, [esi + esi]
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x10203c3
push dword [ebp - 0x318]
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x304]
push eax
push esi
push edi
call fcn.0100f541
add esp, 0x14
push edi
call fcn.0102a788
push edi
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
mov ecx, dword [ebp - 0x31c]
pop edi
pop esi
cmp ecx, ebx
pop ebx
jne 0x10203d3
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x318]
imul eax, eax, 0x64
xor edx, edx
div ecx
push eax
call fcn.0102a751
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x30c]
call fcn.01018732
leave
ret