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

Disassembly:
push 0xffffffffffffffff
push 0x497d2b
mov eax, dword fs:[0]
push eax
mov eax, 0x10068
mov dword fs:[0], esp
call fcn.00493cb0
mov eax, dword [0x4ad238]
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0xc], eax
push edi
mov eax, esi
call fcn.0040e840
test al, al
je 0x4417ef
push 0x10
xor edi, edi
push edi
push esi
call fcn.004897ee
mov esi, eax
add esp, 0xc
mov dword [esp + 0x4c], esi
jmp 0x441800
push esi
call fcn.00488d21
add esp, 4
mov dword [esp + 0x4c], eax
xor edi, edi
mov esi, eax
mov ebx, edx
cmp ebx, edi
jg 0x441859
jl 0x44180d
cmp esi, 1
jae 0x441859
mov eax, dword [0x4a9978]
test byte [eax + 0xe0], 1
mov dword [eax + 0x30], 0x57
jne 0x44183d
mov ecx, dword [0x4adaf4]
push 1
push edi
push 0xffffffffffffffff
push 0x49cf28
push ecx
call fcn.00477500
jmp 0x441b0a
mov ecx, dword [esp + 0x10088]
push 0x49b871
push edi
push 0x49cf28
call fcn.0042f3e0
jmp 0x441b0a
mov eax, dword [0x4aea84]
or ebp, 0xffffffff
mov dword [esp + 0x14], vtable.TextStream.0
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
cmp eax, ebp
je 0x44189d
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x44189d
mov byte [esp + 0x2e], al
mov dword [esp + 0x14], vtable.TextFile.0
mov dword [esp + 0x48], ebp
mov edx, dword [esp + 0x1008c]
mov dword [esp + 0x10080], edi
mov eax, dword [0x4a9978]
mov eax, dword [eax + 0xdc]
and eax, 0x7fffffff
push 0x30c
lea ecx, [esp + 0x18]
call fcn.00472080
test al, al
jne 0x441922
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4a9978]
test byte [ecx + 0xe0], 1
mov dword [ecx + 0x30], eax
jne 0x441906
mov ecx, dword [0x4adaf4]
push 1
push edi
push ebp
push 0x49cf28
push ecx
jmp 0x441aed
mov ecx, dword [esp + 0x10088]
push 0x49b871
push edi
push 0x49cf28
call fcn.0042f3e0
jmp 0x441af2
xor ebp, ebp
test ebx, ebx
jl 0x441a41
jg 0x441936
test esi, esi
je 0x441a41
push 1
push 0xffff
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x20]
call fcn.004721e0
mov esi, eax
test esi, esi
je 0x4419b4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4ae8dc]
mov ecx, dword [0x4a9978]
cmp eax, dword [ecx + 0xb8]
jbe 0x441999
push 0
push 0
push 0
push 0
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x44198e
push 1
push 0xffffffffffffffff
call fcn.004013c0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4ae8dc], eax
add ebp, 1
adc edi, 0
cmp edi, ebx
jl 0x441936
jg 0x441a45
cmp ebp, dword [esp + 0x4c]
jb 0x441936
jmp 0x441a45
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4a9978]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4419ed
cmp dword [esp + 0x40], 0
jne 0x4419ed
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x18]
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x1c]
call edx
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 0
call edx
mov eax, dword [0x4a9978]
test byte [eax + 0xe0], 1
jne 0x441a24
mov ecx, dword [0x4adaf4]
push 1
push 0
push 0xffffffffffffffff
push 0x49cf28
push ecx
jmp 0x441aed
mov ecx, dword [esp + 0x10088]
push 0x49b871
push 0
push 0x49cf28
call fcn.0042f3e0
jmp 0x441af2
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x441a6f
cmp dword [esp + 0x40], 0
jne 0x441a6f
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x18]
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x1c]
call edx
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 0
call edx
test esi, esi
je 0x441a91
cmp byte [esp + esi + 0x73], 0xa
jne 0x441a8d
dec esi
test esi, esi
jne 0x441ab6
mov ecx, dword [esp + 0x10]
call fcn.004147f0
test eax, eax
jne 0x441acf
lea ecx, [esp + 0x14]
mov dword [esp + 0x10080], 0xffffffff
call fcn.00416290
xor eax, eax
jmp 0x441b0a
mov ecx, dword [esp + 0x10]
push 1
push 0
push esi
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00477500
jmp 0x441a9a
mov edx, dword [0x4a9978]
mov eax, dword [0x4adaf4]
push 1
push 0
push 0xffffffffffffffff
push 0x49b8d8
mov dword [edx + 0x30], 0
push eax
call fcn.00477500
lea ecx, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x10080], 0xffffffff
call fcn.00416290
mov eax, esi
mov ecx, dword [esp + 0x10078]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10074
ret 8