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

Disassembly:
push ebp
lea ebp, [esp - 0x8c2c]
mov eax, 0x8c2c
call fcn.00441db0
push 0xffffffffffffffff
push 0x4bda86
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x514d34]
xor eax, ebp
mov dword [ebp + 0x8c28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 0x8c34]
lea esi, [edi + 0x59b]
mov ecx, esi
call fcn.0040c7fe
test ax, ax
jne 0x4ab383
mov ecx, esi
call fcn.0040c6b5
cmp byte [eax], 0
jne 0x4ab383
lea eax, [ebp + 0x8a1c]
mov ecx, edi
push eax
call fcn.0040c6b5
push eax
call fcn.0040dc1c
pop ecx
pop ecx
xor eax, eax
mov ecx, edi
push eax
call fcn.0040c68c
test ax, ax
jne 0x4ab00b
mov ecx, edi
call fcn.004a8fc7
xor ecx, ecx
push ecx
mov ecx, edi
call fcn.0040c6b5
push eax
mov ecx, esi
call fcn.0040c988
test ax, ax
jne 0x4ab383
push 1
lea eax, [ebp + 0x8a1c]
mov ecx, edi
push eax
call fcn.0040c85c
test ax, ax
jne 0x4ab383
test ebx, ebx
je 0x4ab383
mov esi, dword [ebp + 0x8c38]
xor eax, eax
push eax
push esi
push ebx
mov ecx, edi
call fcn.0040cb13
test ax, ax
jne 0x4ab383
xor eax, eax
mov dword [edi + 0x569], esi
mov dword [edi + 0x56d], eax
jmp 0x4ab383
push 1
lea eax, [ebp + 0x8a1c]
mov ecx, esi
push eax
call fcn.0040c85c
mov word [edi + 0x14], ax
test ax, ax
jne 0x4ab383
mov ecx, edi
call fcn.0040c6b5
push eax
lea ecx, [ebp + 0x1d8]
call fcn.004082c1
xor ebx, ebx
lea eax, [ebp - 0x18]
push ebx
push eax
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.0040c765
test ax, ax
jne 0x4ab350
mov ecx, edi
call fcn.0040ca47
test ax, ax
jne 0x4ab350
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp]
mov dword [ebp - 0x28], eax
call fcn.004b8a6e
xorps xmm0, xmm0
mov byte [ebp - 4], 1
movlpd qword [ebp - 0x24], xmm0
cmp dword [ebp - 0x14], ebx
jb 0x4ab17e
ja 0x4ab096
cmp dword [ebp - 0x18], ebx
jbe 0x4ab17e
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
xor eax, eax
cmp word [edi + 0x14], ax
jne 0x4ab17c
lea ecx, [ebp]
call fcn.004b8abc
test ax, ax
jne 0x4ab0f1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x28]
cmp eax, 0x3e8
jbe 0x4ab0f1
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push ebx
call fcn.004b8b5d
add esp, 0x10
cmp ax, 0x32
jae 0x4ab0f1
xor eax, eax
lea ecx, [ebp]
push eax
push str.Backing_Up_Archive_to_Amend
push eax
call fcn.004b8ac4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
sub eax, ebx
sbb ecx, dword [ebp - 0x10]
xor edx, edx
cmp ecx, edx
ja 0x4ab110
jb 0x4ab10b
cmp eax, 0x8000
jae 0x4ab110
mov dword [ebp - 0x20], ecx
jmp 0x4ab118
mov eax, 0x8000
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp + 0x1f0]
mov ecx, edi
push eax
call fcn.0040c914
test ax, ax
jne 0x4ab148
xor eax, eax
mov ecx, esi
push eax
push dword [ebp - 0x1c]
lea eax, [ebp + 0x1f0]
push eax
call fcn.0040cb13
mov word [edi + 0x14], ax
push dword [ebp - 0x14]
lea ecx, [ebp]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push ebx
call fcn.004b8b26
add ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
push 0
pop ecx
adc eax, ecx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x14]
jb 0x4ab09f
ja 0x4ab17c
cmp ebx, dword [ebp - 0x18]
jb 0x4ab09f
xor ebx, ebx
cmp word [edi + 0x14], bx
jne 0x4ab345
mov ecx, esi
call fcn.0040c61c
mov word [edi + 0x14], ax
test ax, ax
jne 0x4ab345
mov ecx, edi
call fcn.0040c61c
test ax, ax
jne 0x4ab345
cmp dword [ebp + 0x1ec], 0x10
lea ecx, [ebp + 0x81f0]
lea eax, [ebp + 0x1d8]
cmovae eax, dword [ebp + 0x1d8]
push ecx
push eax
call fcn.0040dc1c
cmp dword [ebp + 0x1ec], 0x10
lea ecx, [ebp + 0x870c]
lea eax, [ebp + 0x1d8]
cmovae eax, dword [ebp + 0x1d8]
push ecx
push eax
call fcn.0045d15a
add esp, 0x10
call fcn.0040e319
mov ebx, eax
xor esi, esi
lea eax, [ebp + 0x81f0]
mov dword [ebp - 0x10], ebx
push eax
lea ecx, [ebp + 0x190]
call fcn.004082c1
lea ecx, [ebp + 0x870c]
mov byte [ebp - 4], 2
push ecx
lea ecx, [ebp + 0x1a8]
push ecx
mov ecx, eax
call fcn.004084de
push str..AXT
lea ecx, [ebp + 0x1c0]
mov byte [ebp - 4], 3
push ecx
push ebx
push str.._dword__4
push eax
call fcn.00408abf
add esp, 0xc
mov ecx, eax
call fcn.004084de
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 4
jb 0x4ab25a
mov eax, dword [eax]
push esi
push eax
mov ecx, edi
call fcn.0040c988
mov bx, ax
lea ecx, [ebp + 0x1c0]
push esi
neg bx
push 1
sbb bl, bl
call fcn.0040758b
push esi
push 1
lea ecx, [ebp + 0x1a8]
call fcn.0040758b
push esi
push 1
lea ecx, [ebp + 0x190]
mov byte [ebp - 4], 1
call fcn.0040758b
add bl, 1
jne 0x4ab2a7
mov ebx, dword [ebp - 0x10]
inc ebx
jmp 0x4ab1fa
cmp dword [ebp + 0x1ec], 0x10
lea eax, [ebp + 0x1d8]
lea esi, [edi + 0x59b]
cmovae eax, dword [ebp + 0x1d8]
mov ecx, esi
xor ebx, ebx
push ebx
push eax
call fcn.0040c988
mov word [edi + 0x14], ax
mov ecx, edi
test ax, ax
jne 0x4ab2ed
call fcn.004902de
movzx eax, ax
mov ecx, esi
push eax
call fcn.0040c8b0
mov word [edi + 0x14], ax
jmp 0x4ab32d
call fcn.0040c6b5
push eax
lea ecx, [ebp + 0x1d8]
call fcn.00464168
test eax, eax
je 0x4ab32d
cmp dword [ebp + 0x1ec], 0x10
lea eax, [ebp + 0x1d8]
movzx esi, word [edi + 0x14]
mov ecx, edi
cmovae eax, dword [ebp + 0x1d8]
push ebx
push eax
call fcn.0040c988
mov word [edi + 0x14], si
lea esi, [edi + 0x59b]
cmp word [edi + 0x14], bx
jne 0x4ab345
mov ecx, edi
call fcn.004902de
movzx eax, ax
mov ecx, edi
push eax
call fcn.0040c8b0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004b8a8e
cmp word [edi + 0x14], bx
je 0x4ab375
mov ecx, esi
call fcn.0040c6b5
push eax
lea ecx, [ebp + 0x1d8]
call fcn.00464168
test eax, eax
je 0x4ab375
push ebx
mov ecx, esi
call fcn.0040c650
push ebx
push 1
lea ecx, [ebp + 0x1d8]
call fcn.0040758b
mov ax, word [edi + 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x8c28]
xor ecx, ebp
call fcn.00441a5e
lea esp, [ebp + 0x8c2c]
pop ebp
ret 8