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

Disassembly:
push 0xffffffffffffffff
push 0x495c3b
mov eax, dword fs:[0]
push eax
mov eax, 0x10068
mov dword fs:[0], esp
call fcn.00491c20
mov eax, dword [0x4ab1e8]
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0xc], eax
push edi
mov eax, esi
call fcn.0040d480
test al, al
je 0x43f98f
push 0x10
xor edi, edi
push edi
push esi
call fcn.004873df
mov esi, eax
add esp, 0xc
mov dword [esp + 0x4c], esi
jmp 0x43f9a0
push esi
call fcn.004869e1
add esp, 4
mov dword [esp + 0x4c], eax
xor edi, edi
mov esi, eax
mov ebx, edx
cmp ebx, edi
jg 0x43f9f9
jl 0x43f9ad
cmp esi, 1
jae 0x43f9f9
mov eax, dword [0x4a7978]
test byte [eax + 0xe0], 1
mov dword [eax + 0x30], 0x57
jne 0x43f9dd
mov ecx, dword [0x4abaa0]
push 1
push edi
push 0xffffffffffffffff
push 0x49afb0
push ecx
call fcn.00475300
jmp 0x43fcaa
mov ecx, dword [esp + 0x10088]
push 0x499861
push edi
push 0x49afb0
call fcn.0042d440
jmp 0x43fcaa
mov eax, dword [0x4adb00]
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 0x43fa3d
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x43fa3d
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 [0x4a7978]
mov eax, dword [eax + 0xdc]
and eax, 0x7fffffff
push 0x30c
lea ecx, [esp + 0x18]
call fcn.00470060
test al, al
jne 0x43fac2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4a7978]
test byte [ecx + 0xe0], 1
mov dword [ecx + 0x30], eax
jne 0x43faa6
mov ecx, dword [0x4abaa0]
push 1
push edi
push ebp
push 0x49afb0
push ecx
jmp 0x43fc8d
mov ecx, dword [esp + 0x10088]
push 0x499861
push edi
push 0x49afb0
call fcn.0042d440
jmp 0x43fc92
xor ebp, ebp
test ebx, ebx
jl 0x43fbe1
jg 0x43fad6
test esi, esi
je 0x43fbe1
push 1
push 0xffff
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x20]
call fcn.004701c0
mov esi, eax
test esi, esi
je 0x43fb54
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4ad954]
mov ecx, dword [0x4a7978]
cmp eax, dword [ecx + 0xb8]
jbe 0x43fb39
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 0x43fb2e
push 1
push 0xffffffffffffffff
call fcn.004013c0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4ad954], eax
add ebp, 1
adc edi, 0
cmp edi, ebx
jl 0x43fad6
jg 0x43fbe5
cmp ebp, dword [esp + 0x4c]
jb 0x43fad6
jmp 0x43fbe5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4a7978]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43fb8d
cmp dword [esp + 0x40], 0
jne 0x43fb8d
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 [0x4a7978]
test byte [eax + 0xe0], 1
jne 0x43fbc4
mov ecx, dword [0x4abaa0]
push 1
push 0
push 0xffffffffffffffff
push 0x49afb0
push ecx
jmp 0x43fc8d
mov ecx, dword [esp + 0x10088]
push 0x499861
push 0
push 0x49afb0
call fcn.0042d440
jmp 0x43fc92
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43fc0f
cmp dword [esp + 0x40], 0
jne 0x43fc0f
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 0x43fc31
cmp byte [esp + esi + 0x73], 0xa
jne 0x43fc2d
dec esi
test esi, esi
jne 0x43fc56
mov ecx, dword [esp + 0x10]
call fcn.004133c0
test eax, eax
jne 0x43fc6f
lea ecx, [esp + 0x14]
mov dword [esp + 0x10080], 0xffffffff
call fcn.00414f00
xor eax, eax
jmp 0x43fcaa
mov ecx, dword [esp + 0x10]
push 1
push 0
push esi
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00475300
jmp 0x43fc3a
mov edx, dword [0x4a7978]
mov eax, dword [0x4abaa0]
push 1
push 0
push 0xffffffffffffffff
push 0x4998ac
mov dword [edx + 0x30], 0
push eax
call fcn.00475300
lea ecx, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x10080], 0xffffffff
call fcn.00414f00
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