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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe90
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
xor eax, eax
push ebp
push 0x4e29a6
push dword fs:[eax]
mov dword fs:[eax], esp
fld qword [ebp + 0xc]
fcomp dword [0x4e29b8]
fnstsw ax
sahf
jbe 0x4e2972
cmp byte [esi + 0x121], 0
jne 0x4e2972
lea ecx, [ebp - 0xe9]
mov eax, dword [0x4eec38]
mov eax, dword [eax]
mov edx, edi
call fcn.004dbc24
test al, al
je 0x4e2972
cmp edi, dword [esi + 0x128]
je 0x4e2972
fld qword [ebp + 0xc]
fcomp dword [0x4e29b8]
fnstsw ax
sahf
jbe 0x4e2972
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 0xbb]
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0xd8]
cdq
cmp edx, dword [esp + 4]
jne 0x4e25da
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4e25e2
jmp 0x4e2972
pop edx
pop eax
jg 0x4e2972
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0xbb], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4a25d8]
call fcn.004a2654
mov ebx, eax
push 0x3d3850
mov ecx, 0x4e29c4
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push edi
mov ecx, 0x4e29d0
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
mov dword [ebp - 0x21], 0x3d3850
mov dword [ebp - 0x1d], edi
fld qword [esi + 0xd0]
fcomp dword [0x4e29b8]
fnstsw ax
sahf
jbe 0x4e26b5
mov eax, dword [0x4eef4c]
mov eax, dword [eax]
mov edx, edi
call fcn.004dc6bc
fadd qword [ebp + 0xc]
fcomp qword [esi + 0xd0]
fnstsw ax
sahf
jb 0x4e26b5
mov byte [ebp - 9], 2
push edi
lea eax, [ebp - 0x21]
push eax
push 0x19
push 1
movzx ecx, word [ebp - 0xaf]
mov edx, dword [ebp - 0xb3]
mov eax, esi
call fcn.004aa37c
xor eax, eax
mov al, byte [ebp - 9]
push eax
mov ecx, 0x4e29e0
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push 5
lea edx, [ebp - 0xf0]
mov eax, ebx
call fcn.004a2970
mov ecx, dword [ebp - 0xf0]
mov edx, edi
mov eax, esi
call fcn.004e3b6c
mov eax, ebx
call fcn.00403d08
jmp 0x4e2972
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov eax, esi
call fcn.004e0ea4
test al, al
jne 0x4e2728
mov byte [ebp - 9], 3
push edi
lea eax, [ebp - 0x21]
push eax
push 0x19
push 1
movzx ecx, word [ebp - 0xaf]
mov edx, dword [ebp - 0xb3]
mov eax, esi
call fcn.004aa37c
xor eax, eax
mov al, byte [ebp - 9]
push eax
mov ecx, 0x4e29e0
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push 5
lea edx, [ebp - 0xf4]
mov eax, ebx
call fcn.004a2970
mov ecx, dword [ebp - 0xf4]
mov edx, edi
mov eax, esi
call fcn.004e3b6c
mov eax, ebx
call fcn.00403d08
jmp 0x4e2972
cmp byte [ebp - 0xa6], 0
je 0x4e2737
mov byte [ebp - 9], 0
jmp 0x4e27a0
fld qword [ebp - 0xc9]
fcomp qword [ebp + 0xc]
fnstsw ax
sahf
jb 0x4e277f
fld qword [ebp - 0xc9]
fsub qword [ebp + 0xc]
fstp qword [ebp - 0xc9]
wait
mov byte [ebp - 9], 0
mov eax, dword [0x4eec38]
mov eax, dword [eax]
lea edx, [ebp - 0xe9]
call fcn.004dbc8c
mov eax, dword [ebp - 0xc9]
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0xc5]
mov dword [ebp - 0xd], eax
jmp 0x4e2783
mov byte [ebp - 9], 1
push edi
lea eax, [ebp - 0x21]
push eax
push 0x19
push 5
movzx ecx, word [ebp - 0xaf]
mov edx, dword [ebp - 0xb3]
mov eax, esi
call fcn.004aa37c
xor eax, eax
mov al, byte [ebp - 9]
push eax
mov ecx, 0x4e29e0
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push dword [ebp - 0xd]
push dword [ebp - 0x11]
mov ecx, 0x4e29f4
xor edx, edx
mov eax, ebx
call fcn.004a2b8c
push 1
lea edx, [ebp - 0xf8]
mov eax, ebx
call fcn.004a2970
mov ecx, dword [ebp - 0xf8]
mov edx, edi
mov eax, esi
call fcn.004e3b6c
cmp byte [ebp - 9], 0
jne 0x4e296b
mov dword [ebp - 0xa5], 0x3d3851
mov dword [ebp - 0xa1], edi
mov eax, dword [ebp - 4]
mov dword [ebp - 0x9d], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x99], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x95], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov al, byte [ebp - 0xa6]
push eax
mov cl, byte [ebp - 4]
mov eax, dword [0x4eef4c]
mov eax, dword [eax]
mov edx, edi
call fcn.004dbe58
fstp qword [ebp - 0x91]
wait
lea edx, [ebp - 0x160]
mov eax, dword [0x4eef4c]
mov eax, dword [eax]
call fcn.004dc1d8
push esi
push edi
lea esi, [ebp - 0x160]
lea edi, [ebp - 0x89]
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0x84
push 1
lea ecx, [ebp - 0xa5]
xor edx, edx
mov eax, esi
call fcn.004aa0ac
mov eax, ebx
call fcn.004a2630
push 0x3d3851
mov ecx, 0x4e29c4
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push edi
mov ecx, 0x4e29d0
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x4e2a04
xor edx, edx
mov eax, ebx
call fcn.004a2bf0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov ecx, 0x4e29f4
xor edx, edx
mov eax, ebx
call fcn.004a2b8c
push dword [ebp - 0x8d]
push dword [ebp - 0x91]
mov ecx, 0x4e2a14
xor edx, edx
mov eax, ebx
call fcn.004a2b8c
xor eax, eax
mov dword [ebp - 8], eax
lea edi, [ebp - 0x89]
push dword [edi + 4]
push dword [edi]
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x168], 0
lea edx, [ebp - 0x16c]
xor ecx, ecx
mov eax, 0x4e2a28
call fcn.0040c9bc
mov ecx, dword [ebp - 0x164]
mov edx, 0x4e2a38
mov eax, ebx
call fcn.004a2b8c
inc dword [ebp - 8]
add edi, 8
cmp dword [ebp - 8], 0xd
jne 0x4e28f3
push 1
lea edx, [ebp - 0x170]
mov eax, ebx
call fcn.004a2970
mov ecx, dword [ebp - 0x170]
xor edx, edx
mov eax, esi
call fcn.004e2e74
mov eax, esi
call fcn.004e1b1c
mov eax, esi
call fcn.004e2bb8
mov eax, ebx
call fcn.00403d08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e29ad
lea eax, [ebp - 0x170]
call fcn.00404bdc
lea eax, [ebp - 0x164]
call fcn.00404bdc
lea eax, [ebp - 0xf8]
mov edx, 3
call fcn.00404c00
ret