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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49e7ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5685c0]
cmp dword [eax], 0
je 0x49e7d9
mov eax, dword [0x568700]
mov byte [eax], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x14], 0
mov byte [ebp - 0x12], 0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x573f0]
cmp eax, 0x64
jb 0x49e261
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x573f0], eax
mov byte [ebp - 0x12], 1
mov eax, dword [ebp - 4]
inc dword [eax + 0x573f4]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x573f4], 1
jle 0x49e261
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x573f4], edx
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x573f8]
cmp eax, 0x32
jb 0x49e29f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x573f8], eax
mov eax, dword [0x568bb0]
inc dword [eax]
mov eax, dword [0x568bb0]
cmp dword [eax], 0xf4240
jle 0x49e29f
mov eax, dword [0x568bb0]
xor edx, edx
mov dword [eax], edx
xor eax, eax
push ebp
push 0x49e44a
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a860]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 8]
jle 0x49e440
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a860]
mov edx, dword [ebp - 8]
call fcn.004192fc
mov dword [ebp - 0x20], eax
cmp byte [ebp - 0x12], 0
je 0x49e2eb
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x164], 0
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x164], 0
jne 0x49e33f
mov eax, dword [ebp - 0x20]
call fcn.004c9d30
cmp byte [ebp - 0x12], 0
je 0x49e31f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x573f4]
mov eax, dword [ebp - 0x20]
call fcn.004cc5b0
test al, al
je 0x49e31f
inc dword [ebp - 8]
jmp 0x49e2b2
mov eax, dword [ebp - 0x20]
mov si, 0xfffa
call fcn.004043ac
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
je 0x49e33f
mov eax, dword [ebp - 0x20]
call fcn.004c9fb8
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
jne 0x49e353
mov eax, dword [ebp - 0x20]
call fcn.004c9fb8
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0xf8], 0
je 0x49e3c7
mov eax, dword [ebp - 0x20]
call fcn.004ca120
test al, al
je 0x49e3c7
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xf8]
call fcn.004d3d78
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 0xa]
push eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax + 0xc]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xfc]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x100]
push eax
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 8]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0xf8]
mov eax, dword [ebp - 4]
call fcn.004a11c8
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0xf8], edx
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x22], 1
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x22], 0
je 0x49e438
mov eax, dword [0x56884c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
call fcn.004191a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a860]
mov edx, dword [ebp - 8]
call fcn.004191f0
mov eax, dword [0x568b44]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
jne 0x49e405
mov eax, dword [0x568b44]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x568660]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
jne 0x49e41a
mov eax, dword [0x568660]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x568958]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
jne 0x49e2b2
mov eax, dword [0x568958]
xor edx, edx
mov dword [eax], edx
jmp 0x49e2b2
inc dword [ebp - 8]
jmp 0x49e2b2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49e45e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x14], 0
jne 0x49e478
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x18]
ja 0x49e478
xor eax, eax
jmp 0x49e47a
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x14], al
xor eax, eax
push ebp
push 0x49e5cd
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a868]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 8]
jle 0x49e4f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a868]
mov edx, dword [ebp - 8]
call fcn.004192fc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp byte [eax + 4], 0
je 0x49e4ec
mov eax, dword [ebp - 0x24]
mov si, 0xffff
call fcn.004043ac
test al, al
jne 0x49e4ec
mov eax, dword [ebp - 0x24]
call fcn.004041b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a868]
mov edx, dword [ebp - 8]
call fcn.004191f0
jmp 0x49e493
inc dword [ebp - 8]
jmp 0x49e493
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a86c]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 8]
jle 0x49e554
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a86c]
mov edx, dword [ebp - 8]
call fcn.004192fc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp byte [eax + 4], 0
je 0x49e54f
mov eax, dword [ebp - 0x24]
mov si, 0xffff
call fcn.004043ac
test al, al
jne 0x49e54f
mov eax, dword [ebp - 0x24]
call fcn.004041b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a86c]
mov edx, dword [ebp - 8]
call fcn.004191f0
jmp 0x49e4f6
inc dword [ebp - 8]
jmp 0x49e4f6
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a870]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 8]
jle 0x49e5b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a870]
mov edx, dword [ebp - 8]
call fcn.004192fc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp byte [eax + 4], 0
je 0x49e5b2
mov eax, dword [ebp - 0x24]
mov si, 0xffff
call fcn.004043ac
test al, al
jne 0x49e5b2
mov eax, dword [ebp - 0x24]
call fcn.004041b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a870]
mov edx, dword [ebp - 8]
call fcn.004191f0
jmp 0x49e559
inc dword [ebp - 8]
jmp 0x49e559
mov eax, dword [0x568878]
mov eax, dword [eax]
call fcn.004a7910
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49e5e1
xor eax, eax
push ebp
push 0x49e739
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x568a48]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x49e699
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], 0
mov eax, dword [0x568a48]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.004192fc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x49e68d
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 4]
mov edx, dword [0x5685c0]
mov edx, dword [edx]
movzx edx, word [edx + 8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1e
jle 0x49e68d
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 6]
mov edx, dword [0x5685c0]
mov edx, dword [edx]
movzx edx, word [edx + 0xa]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1e
jle 0x49e68d
mov eax, dword [0x568a48]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.004192fc
mov edx, 0x2c
call fcn.00402ecc
mov eax, dword [0x568a48]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.004191f0
jmp 0x49e699
inc dword [ebp - 0xc]
dec dword [ebp - 0x2c]
jne 0x49e60d
mov eax, dword [0x568878]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x49e72f
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], 0
mov eax, dword [0x568878]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0xc]
call fcn.004192fc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
mov edx, dword [0x5685c0]
mov edx, dword [edx]
movzx edx, word [edx + 8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1e
jle 0x49e727
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [0x5685c0]
mov edx, dword [edx]
movzx edx, word [edx + 0xa]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1e
jle 0x49e727
mov eax, dword [ebp - 0x1c]
call fcn.004041b0
mov eax, dword [0x568878]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0xc]
call fcn.004191f0
jmp 0x49e72f
inc dword [ebp - 0xc]
dec dword [ebp - 0x2c]
jne 0x49e6ba
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49e74d
mov eax, dword [0x568b80]
mov eax, dword [eax]
add eax, 0x2ae54
mov dword [ebp - 0x30], eax
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov eax, dword [eax + 0xb8]
sub eax, 9
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov eax, dword [eax + 0xbc]
sub eax, 9
mov edx, dword [ebp - 0x30]
mov dword [edx + 4], eax
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov eax, dword [eax + 0xb8]
add eax, 9
mov edx, dword [ebp - 0x30]
mov dword [edx + 8], eax
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov eax, dword [eax + 0xbc]
add eax, 8
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov ecx, dword [eax + 0xbc]
mov eax, dword [0x5685c0]
mov eax, dword [eax]
mov edx, dword [eax + 0xb8]
mov eax, dword [0x568b80]
mov eax, dword [eax]
call fcn.004d1fe0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49e7f6
lea eax, [ebp - 0x28]
call fcn.00404ff8
ret