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

Disassembly:
sub esp, 0xa34
mov eax, dword [0x4e9028]
xor eax, esp
mov dword [esp + 0xa2c], eax
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x808]
or eax, dword [esi + 0x80c]
push edi
jne 0x446ea8
mov dword [esi + 0x808], 1
mov dword [esi + 0x80c], eax
mov ecx, dword [esi + 0x80c]
mov edx, dword [esi + 0x808]
push 0
push 0x200
push ecx
push edx
call sub.ntdll.dll__alldiv
mov ecx, dword [esi + 0x810]
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x814]
mov dword [esp + 0x28], edx
fild qword [esp + 0x24]
push 0x200
push eax
push ecx
fst qword [esp + 0x38]
call sub.ntdll.dll__alldiv
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fild qword [esp + 0x20]
fst qword [esp + 0x20]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x446f0d
fstp st(0)
fld st(0)
fst qword [esp + 0x20]
fdivrp st(1)
fmul qword [0x4e0808]
fadd qword [0x4e0820]
call fcn.00463940
cmp eax, 0x64
jne 0x446f2a
mov eax, 0x63
mov ecx, dword [esi + 0x800]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebp
mov ecx, eax
sub ecx, dword [esi + 0x818]
mov eax, 0x10624dd3
mul ecx
mov edi, edx
shr edi, 6
jne 0x446f5b
mov edi, 1
mov edx, edi
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x446f6f
fadd qword [0x4e0850]
fld qword [esp + 0x20]
fld st(0)
fdivrp st(2)
fldz
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x446f88
fstp st(1)
fld1
fxch st(1)
fsubr qword [esp + 0x28]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fst qword [esp + 0x30]
or eax, 0xc00
fdivrp st(1)
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x18]
mov ebx, dword [esp + 0x18]
test ebx, ebx
fldcw word [esp + 0x14]
jne 0x446fbd
mov ebx, 1
push 0x7fe
lea eax, [esp + 0x23e]
push 0
push eax
mov word [esp + 0x244], 0
call sub.ntdll.dll_memset
add esp, 0xc
test byte [0x4f21b8], 1
jne 0x446ff5
or dword [0x4f21b8], 1
call ebp
mov dword [0x4f21b4], eax
call ebp
sub eax, dword [0x4f21b4]
cmp eax, 0x3e8
jb 0x4470c5
mov ecx, dword [esi + 0x80c]
mov edx, dword [esi + 0x808]
push ecx
push edx
call fcn.00446dd0
add esp, 8
lea edx, [esp + 0x38]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x447022
mov eax, dword [esi + 0x814]
mov ecx, dword [esi + 0x810]
push eax
push ecx
call fcn.00446dd0
add esp, 8
lea edx, [esp + 0x138]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x447050
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call fcn.0042e790
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x24c]
push str.Status:___s__s___Elapsed_time:___02d:_02d:_02d_
push ecx
call dword [sym.imp.MSVCR80.dll__swprintf]
mov ecx, dword [esi + 0x800]
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
add esp, 0x1c
lea eax, [esp + 0x238]
push eax
call edx
call ebp
mov dword [0x4f21b4], eax
test ebx, ebx
jbe 0x4471c8
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
jge 0x4470dd
fadd qword [0x4e0850]
fdivr qword [esp + 0x20]
call fcn.00463976
mov dword [esp + 0x18], eax
or eax, edx
mov dword [esp + 0x1c], edx
jne 0x4470fe
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
mov ebx, 0x7530
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fdivr qword [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x30]
mov edi, dword [esp + 0x30]
cmp edi, 0x3c
fldcw word [esp + 0x14]
jae 0x447139
mov ebx, 0x3e8
jmp 0x447164
cmp edi, 0x258
jae 0x447148
mov ebx, 0x1388
jmp 0x447164
cmp edi, 0x4b0
jae 0x447157
mov ebx, 0x2710
jmp 0x447164
cmp edi, 0x708
jae 0x447164
mov ebx, 0x3a98
test byte [0x4f21b8], 2
jne 0x44717b
or dword [0x4f21b8], 2
call ebp
mov dword [0x4f21b0], eax
call ebp
sub eax, dword [0x4f21b0]
cmp eax, ebx
jb 0x4471c8
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
call fcn.0042e790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push str._02d:_02d:_02d
add esi, 0x81c
push esi
call dword [sym.imp.MSVCR80.dll__swprintf]
add esp, 0x14
call ebp
mov dword [0x4f21b0], eax
mov ecx, dword [esp + 0xa3c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00462b77
add esp, 0xa34
ret