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

Disassembly:
push 0x84
mov eax, 0x4740ed
call fcn.0044f666
mov esi, ecx
mov dword [ebp - 0x5c], esi
mov edi, 0x49ccf0
mov dword [ebp - 0x48], 1
push edi
lea ecx, [ebp - 0x6c]
call fcn.00406102
push edi
lea ecx, [ebp - 0x68]
call fcn.00406102
push edi
lea ecx, [ebp - 0x64]
call fcn.00406102
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov ebx, eax
mov dword [ebp - 0x3c], eax
mov edi, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], edi
mov ecx, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x58], 0x1c
cmp dword [0x49d98c], edi
jne 0x46a419
mov ecx, str.updatefailed
call fcn.0040f1bc
cmp eax, 0xa
jae 0x46a419
cmp dword [0x49d9cc], edi
je 0x469f5e
call fcn.0045934c
lea eax, [ebp - 0x60]
push eax
call fcn.00469564
mov byte [ebp - 4], 4
lea ecx, [esi + 8]
push dword [eax]
mov dword [ebp - 0x70], ecx
call fcn.0045a2ac
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.0040630c
cmp dword [0x49d9e0], 0
je 0x469fa2
call fcn.0040f0e3
test eax, eax
je 0x46a00a
mov dword [esi + 0x28], 1
jmp 0x46a00a
xor esi, esi
mov dword [ebp - 0x50], vtable.KEvent.0
push str.Global3096FE5F_57ED_45af_9C47_34F121083AB5
push 0
push 0x1f0003
mov byte [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x469fde
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x469fde
mov dword [ebp - 0x38], 1
jmp 0x469fe2
and dword [ebp - 0x38], 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.0040ef8d
cmp dword [ebp - 0x38], 0
je 0x46a007
cmp esi, 0xa
jae 0x46a007
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x469fa4
mov esi, dword [ebp - 0x5c]
and dword [ebp - 0x28], 0
lea eax, [esi + 0x4c]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call fcn.0040f044
push ecx
push ecx
push str.GlobalCB4D614B_0654_4c11_8B6F_57E3F9F7E763
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 6
push eax
lea ecx, [esi + 0x54]
call fcn.0040efdb
cmp dword [esi + 0x58], 0
je 0x46a042
push dword [esi + 0x58]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x28], 0
je 0x46a055
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebp - 0x28], 0
lea ecx, [ebp - 0x34]
call fcn.0040f044
push ecx
push ecx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x34]
mov esi, dword [ebp - 0x60]
mov ecx, esi
push str.Global3096FE5F_57ED_45af_9C47_34F121083AB5
push eax
call fcn.0040efdb
cmp dword [esi + 4], 0
je 0x46a089
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x28], 0
je 0x46a09c
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp - 0x54]
push eax
call fcn.0045f80c
mov esi, dword [ebp - 0x5c]
mov byte [ebp - 4], 8
push dword [eax]
lea ecx, [esi + 0xc]
call fcn.004064f3
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.0040630c
push 0x49da60
lea ecx, [ebp - 0x88]
call fcn.0040a010
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
and dword [ebp - 0x54], 0
sar eax, 2
test eax, eax
je 0x46a110
mov esi, dword [ebp - 0x54]
mov ebx, eax
mov edi, dword [ebp - 0x88]
push dword [edi + esi*4]
mov ecx, dword [ebp - 0x70]
call fcn.00459b36
inc esi
cmp esi, ebx
jb 0x46a0f7
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x5c]
cmp dword [0x49d948], 0
jne 0x46a120
mov dword [esi + 0x40], 1
lea ecx, [esi + 8]
call fcn.0045980f
test eax, eax
jne 0x46a19b
mov esi, str.cs3requestfailed
mov ecx, esi
call fcn.0040f1bc
test eax, eax
jne 0x46a143
mov ecx, esi
call fcn.0040f159
call fcn.0045f8fe
test eax, eax
je 0x46a155
and dword [ebp - 0x48], 0
jmp 0x46a3d4
call fcn.0045b489
call fcn.0045ad6a
mov ecx, str.cs3requestfailed
mov esi, eax
call fcn.0040f1bc
cmp eax, 2
jb 0x46a183
and dword [ebp - 0x48], 0
mov dword [0x49d988], 1
jmp 0x46a3d4
mov dword [ebp - 0x48], 0x10
inc esi
call fcn.0045b489
push esi
call fcn.0045adb6
jmp 0x46a3d4
mov edx, 0x48a9dc
mov ecx, str.cs3requestfailed
call fcn.0040f25e
mov eax, dword [esi + 0x30]
mov dword [0x49d9d0], eax
call fcn.0045b489
push 0
call fcn.0045adb6
lea eax, [ebp - 0x7c]
push eax
lea ecx, [esi + 8]
call fcn.004594fc
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
sub eax, ecx
cdq
idiv dword [ebp - 0x58]
and dword [ebp - 0x54], 0
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x46a2c7
lea eax, [ecx + 0x18]
mov dword [ebp - 0x38], eax
add eax, 0xffffffe8
lea ecx, [ebp - 0x6c]
push eax
mov dword [ebp - 0x70], eax
call fcn.004042c7
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x68]
add eax, 0xfffffffc
push eax
call fcn.004042c7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x64]
call fcn.004042c7
lea eax, [ebp - 0x6c]
cmp eax, edi
jae 0x46a259
cmp ebx, eax
ja 0x46a259
sub eax, ebx
push 0xc
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x58], eax
cmp edi, dword [ebp - 0x3c]
jne 0x46a244
push ecx
lea ecx, [ebp - 0x44]
call fcn.0040f3e6
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x58]
imul eax, eax, 0xc
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x4c], edi
add eax, ebx
mov byte [ebp - 4], 9
test edi, edi
je 0x46a286
jmp 0x46a27e
cmp edi, dword [ebp - 0x3c]
jne 0x46a26d
push ecx
lea ecx, [ebp - 0x44]
call fcn.0040f3e6
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x58], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x46a286
lea eax, [ebp - 0x6c]
push eax
mov ecx, edi
call fcn.0040f50e
push 0xc
pop eax
add edi, eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], edi
cmp dword [eax - 0x14], 0x39
jne 0x46a2ac
push dword [ebp - 0x70]
lea ecx, [esi + 0x8c]
call fcn.00406c6f
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x54]
push 0x1c
inc ecx
pop edx
add eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x38], eax
cmp ecx, dword [ebp - 0x8c]
jb 0x46a1ee
mov ebx, dword [ebp - 0x5c]
lea eax, [ebp - 0x44]
push eax
lea esi, [ebx + 0x5c]
mov ecx, esi
call fcn.00468186
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x24
cdq
pop ecx
idiv ecx
test eax, eax
je 0x46a3ce
call fcn.0045f8fe
test eax, eax
jne 0x46a3ca
cmp dword [ebx + 0x24], eax
je 0x46a30d
call fcn.0045b489
call fcn.0045acb4
cmp dword [ebx + 0x24], 0
jne 0x46a375
call fcn.0045b489
call fcn.0045a9ea
test eax, eax
je 0x46a334
mov dword [0x49d988], 1
call fcn.0045b489
call fcn.0045acb4
jmp 0x46a3ca
cmp dword [ebx + 0x24], 0
jne 0x46a375
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
call fcn.004053ea
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.004680df
lea eax, [ebp - 0x50]
lea edi, [ebx + 8]
push eax
mov ecx, edi
call fcn.00459219
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.00406e3e
jmp 0x46a378
lea edi, [ebx + 8]
cmp dword [ebx + 0x20], 0
jne 0x46a3bb
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
call fcn.004053ea
mov dword [ebp - 0x50], eax
push 0xc
pop eax
mov byte [ebp - 4], al
mov ecx, esi
lea eax, [ebp - 0x50]
push eax
push str.fast
call fcn.00468076
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
call fcn.00459219
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.00406e3e
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x24
cdq
pop ecx
idiv ecx
test eax, eax
je 0x46a3ce
and dword [ebp - 0x48], 0
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
and dword [ebp - 0x28], 0
lea ecx, [ebp - 0x34]
call fcn.0040f044
push ecx
push ecx
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x34]
mov esi, dword [ebp - 0x60]
mov ecx, esi
push str.Global3096FE5F_57ED_45af_9C47_34F121083AB5
push eax
call fcn.0040efdb
cmp dword [esi + 4], 0
je 0x46a408
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
cmp dword [ebp - 0x28], 0
je 0x46a41d
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x46a41d
and dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x7c]
mov dword [0x49d8d0], eax
test ecx, ecx
je 0x46a46e
mov esi, ecx
cmp ecx, dword [ebp - 0x78]
je 0x46a458
mov ebx, dword [ebp - 0x78]
push 0x1c
pop edi
mov ecx, esi
call fcn.00406c4b
add esi, edi
cmp esi, ebx
jne 0x46a442
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x74]
push 0x1c
sub eax, ecx
pop esi
cdq
idiv esi
push esi
push eax
push ecx
call fcn.00403552
add esp, 0xc
test ebx, ebx
je 0x46a4a1
mov esi, ebx
cmp ebx, edi
je 0x46a48b
push 0xc
pop ebx
mov ecx, esi
call fcn.0040cc85
add esi, ebx
cmp esi, edi
jne 0x46a47b
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0xc
pop ecx
sub eax, ebx
cdq
idiv ecx
push ecx
push eax
push ebx
call fcn.00403552
add esp, 0xc
lea ecx, [ebp - 0x88]
call fcn.004044dc
mov ecx, dword [ebp - 0x64]
lea ecx, [ecx - 0x10]
call fcn.0040630c
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.0040630c
mov ecx, dword [ebp - 0x6c]
add ecx, 0xfffffff0
call fcn.0040630c
mov eax, dword [ebp - 0x48]
call fcn.0044f621
ret