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

Disassembly:
sub esp, 0x124
mov ecx, dword [esp + 0x130]
push ebx
push ebp
mov ebp, ecx
mov eax, 0x400
xor edx, edx
and ebp, eax
push esi
sub ebp, eax
push edi
neg ebp
sbb ebp, ebp
mov dword [esp + 0x14], edx
inc ebp
cmp dword [0x1013f94], edx
jne 0x1004b45
mov eax, dword [0x10145fc]
and byte [0x1014d60], dl
mov dword [0x1014d44], 0x106
mov dword [0x10150a4], eax
mov dword [0x1013f94], 1
mov esi, dword [esp + 0x138]
cmp esi, edx
je 0x1004ed7
cmp dword [esp + 0x13c], edx
jne 0x1004c40
push dword [esi]
call fcn.01007cb2
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebx, eax
push ebx
push 0x1015120
call edi
push ebx
push dword [esi]
call fcn.01007d31
push dword [esi + 4]
call fcn.01007cb2
mov ebx, eax
push ebx
push 0x1014e80
call edi
push ebx
push dword [esi + 4]
call fcn.01007d31
push 1
call fcn.0100b7bd
push 0
mov edi, dword [sym.imp.USER32.dll_DialogBoxParamA]
push 0x1005662
mov ebx, 0x10014b8
push dword [0x10149c4]
push ebx
push dword [0x1014aec]
call edi
push 0
mov dword [esp + 0x14], eax
call fcn.0100b7bd
cmp dword [esp + 0x10], 0
je 0x1004ed7
push 0x1014d60
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1004c14
push 1
call fcn.0100b7bd
push 0x10
push 0x1001440
push 0x29a
call fcn.0100e675
push eax
push dword [0x10149c4]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0100b7bd
push 0x1014d60
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1004c58
push 1
call fcn.0100b7bd
push 0
push 0x1005662
push dword [0x10149c4]
push ebx
push dword [0x1014aec]
jmp 0x1004bc1
push dword [esp + 0x13c]
mov dword [0x1014d44], ecx
push 0x1014d60
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, 0x100
mov dword [0x1013948], eax
test dword [0x1014d44], edi
je 0x1004c74
push dword [esi]
jmp 0x1004c77
push dword [esi + 4]
call fcn.010082cb
test eax, eax
je 0x1004ed7
mov eax, dword [0x1015114]
push dword [esi + 8]
mov dword [esp + 0x1c], eax
call sub.GUtils.dll_List_First
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x1004e2d
jmp 0x1004ca9
mov ebx, dword [esp + 0x10]
cmp dword [0x1014afc], 0
jne 0x1004e2d
cmp dword [0x10150a4], 0
je 0x1004ccd
push ebx
call fcn.01003985
test eax, eax
jne 0x1004ddc
push ebx
call fcn.0100372c
mov ecx, dword [0x1014d44]
cmp eax, 1
jne 0x1004ce7
test cl, 1
je 0x1004ddc
cmp eax, 4
jne 0x1004cf5
test cl, 2
je 0x1004ddc
cmp eax, 5
jne 0x1004cff
test ch, 2
jmp 0x1004d06
cmp eax, 6
jne 0x1004d15
test edi, ecx
jne 0x1004ddc
test cl, 0xc
je 0x1004ddc
test edi, ecx
push ebx
je 0x1004d21
call fcn.0100621f
jmp 0x1004d26
call fcn.0100a7a0
push eax
call fcn.0100621f
mov edi, eax
push dword [esp + 0x18]
push ebp
push 0x1014d60
push edi
call fcn.01008406
test eax, eax
jne 0x1004da3
push edi
call fcn.01007d72
mov ebx, eax
push ebx
push 0x29b
call fcn.0100e675
push eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push edi
call fcn.01007dd9
push 1
call fcn.0100b7bd
lea eax, [esp + 0x1c]
push 1
push eax
push dword [0x10149c4]
call sub.GUtils.dll_Trace_Error
push 0
mov dword [0x101523c], eax
call fcn.0100b7bd
cmp dword [0x101523c], 0
je 0x1004e2d
mov ebx, dword [esp + 0x10]
jmp 0x1004da7
inc dword [esp + 0x14]
push dword [esp + 0x14]
push 0x29c
call fcn.0100e675
push eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
call fcn.0100d02c
call fcn.0100c35c
test eax, eax
jne 0x1004df0
mov edi, 0x100
push ebx
call sub.GUtils.dll_List_Next
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1004ca5
jmp 0x1004e2d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1013948]
push 1
mov dword [0x1013948], eax
call fcn.0100b7bd
push 0x40
push 0x10013dc
push 0x29d
call fcn.0100e675
push eax
push dword [0x10149c4]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0100b7bd
push dword [esp + 0x14]
push 0x2cf
call fcn.0100e675
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [esp + 0x24]
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
call fcn.0100d02c
test byte [0x1014d45], 1
je 0x1004e63
push dword [esi]
jmp 0x1004e66
push dword [esi + 4]
call fcn.010082fe
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1013948]
test esi, esi
mov dword [0x1013948], eax
jge 0x1004e8c
neg esi
push esi
push 0x29e
jmp 0x1004e92
push esi
push 0x29f
call fcn.0100e675
push eax
lea eax, [esp + 0x24]
push eax
call edi
add esp, 0xc
push 1
call fcn.0100b7bd
push 0x40
lea eax, [esp + 0x20]
push 0x10013dc
push eax
push dword [0x10149c4]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0100b7bd
and byte [esp + 0x1c], 0
lea eax, [esp + 0x1c]
push eax
call fcn.0100d02c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret 0xc