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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
mov ebx, dword [esi + 0x4928]
mov ecx, dword [esi + 0x46c8]
mov dword [ebp - 8], ebx
and ebx, 0xffff0000
test ecx, ecx
je 0x4909ff
mov eax, dword [esi + 0x4924]
test al, 4
je 0x4909ff
test al, 0x10
jne 0x4909ff
mov eax, dword [esi + 0x6b94]
test eax, eax
je 0x4909ff
cmp eax, ecx
je 0x490a01
xor eax, eax
test eax, eax
setne al
push edi
test al, al
jne 0x490a2b
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push str.RCon::setPreWarningProgress__i_
mov ecx, esi
call fcn.00488730
or eax, 0xffffffff
mov word [esi + 0x3ce4], ax
jmp 0x490beb
movzx eax, byte [esi + 0x491c]
cmp eax, 1
je 0x490a49
cmp eax, 2
jne 0x490a41
or ebx, 0x20
jmp 0x490a49
cmp eax, 3
jne 0x490a49
or ebx, 0x10
movzx ecx, bx
test ecx, ecx
jne 0x490b2b
lea edx, [esi + 0x6a14]
mov eax, edx
lea edi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x490a60
sub eax, edi
sar eax, 1
push eax
push edx
lea edi, [esi + 0x1198]
push edi
call fcn.004ca915
add esp, 0xc
test eax, eax
je 0x490b28
lea edx, [esi + 0x6a54]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 4], ecx
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x490a96
sub eax, dword [ebp - 4]
sar eax, 1
push eax
push edx
push edi
call fcn.004ca915
add esp, 0xc
test eax, eax
je 0x490b28
lea edx, [esi + 0x6a94]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 4], ecx
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x490ac3
sub eax, dword [ebp - 4]
sar eax, 1
push eax
push edx
push edi
call fcn.004ca915
add esp, 0xc
test eax, eax
je 0x490b23
lea edx, [esi + 0x6ad4]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 4], ecx
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x490af0
sub eax, dword [ebp - 4]
sar eax, 1
push eax
push edx
push edi
call fcn.004ca915
add esp, 0xc
test eax, eax
je 0x490b23
push 1
push 1
mov ecx, esi
call fcn.0048c5a0
test al, al
je 0x490b2b
or ebx, 1
jmp 0x490b2b
or ebx, 0x20
jmp 0x490b2b
or ebx, 0x10
test bl, 0x30
je 0x490b36
and ebx, 0xfff8ffff
test bl, 1
je 0x490b47
and ebx, 0xfff9ffff
or ebx, 0x10000
movzx eax, word [esi + 0x3ce0]
test ax, ax
jl 0x490b95
cmp ax, 0x64
jg 0x490b95
mov ecx, esi
cmp word [esi + 0x3cec], ax
jne 0x490b79
push 0xffffffffffffffff
call fcn.004887c0
and ebx, 0xfffbffff
or ebx, 0x20000
jmp 0x490beb
push eax
call fcn.004887c0
test ebx, 0x10000
je 0x490b8d
or ebx, 0x20000
and ebx, 0xfffbffff
jmp 0x490beb
mov edx, ebx
and edx, 0x30000
cmp edx, 0x30000
jne 0x490beb
cmp word [esi + 0x3ce4], 0xffff
je 0x490beb
cmp dword [esi + 0x3ce8], 0
jne 0x490bc6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x3ce8], eax
jmp 0x490beb
test dword [esi + 0x4928], 0x40000
jne 0x490be5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x3ce8]
cmp eax, 0x7d0
jbe 0x490beb
or ebx, 0x40000
or edi, 0xffffffff
cmp word [esi + 0x3ce0], di
jne 0x490c48
cmp word [esi + 0x3ce4], di
je 0x490c48
test ebx, 0x20000
jne 0x490c20
push 0
push edi
push str.RCon::setPreWarningProgress__i_
mov ecx, esi
call fcn.00488730
mov word [esi + 0x3ce4], di
jmp 0x490c33
test bl, 1
je 0x490c48
push edi
mov ecx, esi
and ebx, 0xfff9ffff
call fcn.004887c0
mov dword [esi + 0x3ce8], 0
mov ecx, dword [0x52fe2c]
call fcn.004106d0
pop edi
cmp ebx, dword [ebp - 8]
je 0x490c61
mov dword [esi + 0x4928], ebx
mov ecx, dword [0x52fe2c]
push 0
call fcn.00416000
pop esi
pop ebx
mov esp, ebp
pop ebp
ret