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

Disassembly:
push 0x98
mov eax, 0x564520
call fcn.0054f7e3
mov edi, ecx
mov esi, dword [edi]
mov ebx, dword [ebp + 8]
test esi, esi
je 0x48ae91
cmp dword [esi + 0x51c], 0
je 0x48ae91
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edi + 0x6c], eax
cmp dword [ebx + 0x10], 0
je 0x48add5
test ecx, ecx
jle 0x48add5
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
je 0x48ab4b
mov eax, ecx
cdq
cmp dword [esi + 0x200], eax
jne 0x48add5
cmp dword [esi + 0x204], edx
jne 0x48add5
push ecx
mov ecx, dword [esi + 0x290]
push ebx
push esi
call fcn.0049aafd
mov eax, dword [edi]
mov eax, dword [eax + 0x2e4]
test eax, eax
je 0x48ab6f
cmp eax, 3
je 0x48ab6f
cmp eax, 0x15
jne 0x48ab99
cmp dword [edi + 0x54], 0
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x6c], eax
mov byte [edi + 7], 1
je 0x48ab99
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x54]
and dword [edi + 0x54], 0
cmp eax, 0xfa00
jae 0x48ab99
add dword [edi + 0x58], eax
inc dword [edi + 0x5c]
cmp dword [edi + 0x120], 0
jne 0x48ad55
mov esi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
push 0x20
call esi
pop ecx
xor ecx, ecx
test eax, eax
je 0x48abc1
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
jmp 0x48abc3
mov eax, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x8c]
push eax
call fcn.0048c1a6
mov ecx, dword [edi + 0x124]
mov eax, dword [ebp - 0x88]
mov dword [edi + 0x124], eax
mov eax, dword [ebp - 0x8c]
mov dword [edi + 0x120], eax
test ecx, ecx
je 0x48ac02
call fcn.00402744
push ecx
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], edi
push ebx
push eax
lea ecx, [ebp - 0x80]
call fcn.0048c0aa
add esp, 0xc
mov dword [ebp - 0x84], eax
mov dword [ebp - 4], 1
and dword [ebp - 0x1c], 0
push 0x2c
mov byte [ebp - 4], 2
call esi
pop ecx
test eax, eax
jne 0x48ac40
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xbad_alloc_void_]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x88], eax
push ecx
mov byte [ebp - 4], 4
mov ecx, eax
push dword [ebp - 0x84]
call fcn.0048c255
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x2c]
mov ecx, dword [edi + 0x120]
push eax
add ecx, 8
call fcn.004025d1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0040265d
lea ecx, [ebp - 0x2c]
call fcn.0040265d
push 0
push 1
lea ecx, [ebp - 0x78]
call fcn.00401c56
xor eax, eax
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x44], al
mov dword [ebp - 4], 6
lea edx, [ebp - 0x44]
mov dword [ebp - 0x84], eax
mov ecx, ebx
lea eax, [ebp - 0x84]
push eax
call fcn.00520c08
pop ecx
test al, al
je 0x48ad45
mov eax, dword [edi]
cmp dword [eax + 0x520], 0
je 0x48ad45
mov ecx, dword [edi + 0x120]
lea eax, [ebp - 0x94]
push eax
call fcn.0046de8c
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.0048c0d5
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 8
call fcn.0048c0fd
mov byte [ebp - 4], 9
lea eax, [ebp - 0x5c]
mov ecx, dword [edi]
push eax
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ecx + 0x520]
call fcn.0044a93e
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 8
call fcn.0040265d
lea ecx, [ebp - 0x5c]
call fcn.0040265d
lea ecx, [ebp - 0x9c]
call fcn.004078de
lea ecx, [ebp - 0x94]
call fcn.004078de
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
push 0
push 1
call fcn.00401c56
lea ecx, [edi + 0x108]
cmp ecx, ebx
je 0x48ad69
push 0xffffffffffffffff
push 0
push ebx
call fcn.00401bc2
mov eax, dword [edi]
mov ecx, dword [eax + 0x61c]
test ecx, ecx
je 0x48ad80
mov eax, dword [ebp + 0xc]
cdq
push edx
push eax
call fcn.0049be04
mov esi, dword [edi]
mov ecx, dword [esi + 0x200]
or ecx, dword [esi + 0x204]
jne 0x48ae91
mov eax, dword [ebp + 0xc]
mov ecx, esi
cdq
push edx
push eax
call fcn.004942fd
mov ecx, dword [edi]
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
mov byte [ecx + 0x625], 1
je 0x48ae91
call fcn.0048e6d5
test eax, eax
je 0x48ae91
mov ecx, dword [edi]
call fcn.00493a96
jmp 0x48ae91
mov esi, dword [esi + 0x290]
mov ecx, esi
push 2
call fcn.0049a407
push eax
mov ecx, esi
call fcn.0049a43a
xor ebx, ebx
mov esi, eax
cmp dword [ebp + 0xc], 0xfffffffe
jne 0x48ae31
mov byte [edi + 8], 1
cmp dword [edi + 0x54], ebx
je 0x48ae18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x54]
mov dword [edi + 0x54], ebx
cmp eax, 0xfa00
jae 0x48ae18
add dword [edi + 0x58], eax
inc dword [edi + 0x5c]
test esi, esi
je 0x48ae31
mov eax, dword [edi]
push ecx
push dword [edi + 0x100]
mov ecx, dword [eax + 0x290]
push eax
call fcn.0049a923
mov edx, dword [edi]
mov eax, dword [edx + 0x2e4]
cmp eax, 0x10
je 0x48ae59
cmp eax, 0x14
je 0x48ae59
test eax, eax
je 0x48ae51
cmp eax, 3
je 0x48ae51
cmp eax, 0x15
jne 0x48ae91
mov byte [edi + 0x104], bl
jmp 0x48ae91
add edx, 0x208
lea ecx, [ebp - 0x2c]
call fcn.005200cb
mov dword [ebp - 4], ebx
mov ecx, dword [edi]
push ecx
push eax
mov ecx, dword [ecx + 0x51c]
call fcn.0047dc4f
mov ecx, eax
call fcn.004990a5
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401c9b
mov byte [edi + 0xfc], bl
call fcn.0054f792
ret 0xc