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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
xor edi, edi
cmp dword [0x73ee64], edi
mov esi, ecx
je 0x49c96f
cmp dword [0x7575f8], edi
je 0x49c8e3
mov ecx, 0x7575c0
call fcn.00695b64
push edi
mov edi, 0x73e8d0
mov ecx, edi
call fcn.0045fabb
fld dword [esi + 0x78]
fcomp dword [0x6b2420]
fnstsw ax
sahf
jb 0x49c91b
mov ebx, 0x6de2f0
mov ecx, ebx
call fcn.00464616
cmp eax, 1
je 0x49c96f
mov ecx, ebx
call fcn.00464616
cmp eax, 2
je 0x49c96f
mov eax, dword [esi + 0x8c]
cmp eax, dword [ebp + 8]
jae 0x49c938
push dword [ebp + 8]
mov ecx, 0x73f4b0
push eax
call fcn.0067c3a8
mov ebx, eax
jmp 0x49c93a
xor ebx, ebx
cmp ebx, 0xc8
jb 0x49c96f
mov ecx, edi
call fcn.0045faff
test eax, eax
jne 0x49c965
push dword [ebp + 8]
add ebx, 0xffffff38
mov ecx, esi
mov dword [esi + 0xa0], ebx
call fcn.0043199e
jmp 0x49c96f
xor ecx, ecx
cmp dword [0x73ee64], ecx
jne 0x49c976
xor eax, eax
jmp 0x49cc87
lea eax, [ebx - 0xc8]
add ebx, 0xffffff38
cmp dword [esi + 0x8c], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
mov dword [esi + 0xa0], ecx
jne 0x49c9a4
mov eax, dword [ebp + 8]
mov dword [esi + 0x8c], eax
jmp 0x49cb02
mov ecx, edi
call fcn.004609da
mov edx, dword [esi + 0x90]
mov dword [ebp - 4], eax
mov ecx, edx
neg ecx
cmp eax, ecx
jge 0x49c9c0
mov eax, ecx
jmp 0x49c9c6
cmp eax, edx
jle 0x49c9c9
mov eax, edx
mov dword [ebp - 4], eax
cmp dword [esi + 0x10c], eax
lea ecx, [esi + 0x10c]
jne 0x49c9df
inc dword [esi + 0x110]
jmp 0x49c9e8
and dword [esi + 0x110], 0
mov dword [ecx], eax
fild dword [ebp - 4]
and dword [ebp - 4], 0
mov dword [ebp - 8], edx
mov ecx, dword [esi + 0x110]
fstp dword [ebp - 0x14]
fild qword [ebp - 8]
test ecx, ecx
fstp dword [ebp - 4]
fld dword [ebp - 0x14]
fdiv dword [ebp - 4]
mov dword [ebp - 0x14], ecx
fstp dword [ebp - 4]
je 0x49ca3d
test eax, eax
jge 0x49ca17
neg eax
cmp eax, 1
jle 0x49ca3d
fild dword [ebp - 0x14]
push ecx
push ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp qword [esp]
call fcn.006a1194
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fmul dword [ebp - 4]
pop ecx
pop ecx
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp dword [0x6b2d8c]
fnstsw ax
sahf
jae 0x49ca53
fld dword [0x6b2d8c]
jmp 0x49ca67
fld dword [ebp - 4]
fcomp dword [0x6b2d88]
fnstsw ax
sahf
jbe 0x49ca6a
fld dword [0x6b2d88]
fstp dword [ebp - 4]
fld dword [esi + 0x60]
fmul dword [0x6b2430]
fadd dword [ebp - 4]
fdiv dword [0x6b23b0]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esi + 0x60]
fld dword [ebp - 0x14]
fmul dword [0x6b2480]
call fcn.006a1158
mov ebx, eax
mov eax, 0xffffff39
cmp dword [ebp - 0xc], eax
mov ecx, 0xc7
jge 0x49caa9
mov dword [ebp - 0xc], eax
jmp 0x49cab1
cmp dword [ebp - 0xc], ecx
jle 0x49cab1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x10], eax
jae 0x49cabb
mov dword [ebp - 0x10], eax
jmp 0x49cac3
cmp dword [ebp - 0x10], ecx
jbe 0x49cac3
mov dword [ebp - 0x10], ecx
mov ecx, 0x6de2f0
call fcn.00464616
cmp eax, 1
je 0x49cae6
mov ecx, 0x6de2f0
call fcn.00464616
cmp eax, 2
je 0x49cae6
sub ebx, dword [ebp - 0xc]
jmp 0x49caeb
mov eax, dword [ebp - 0x10]
add ebx, eax
fld dword [ebp - 4]
fadd dword [0x6b2420]
add ebx, dword [ebp + 8]
xor ecx, ecx
fstp dword [esi + 0x68]
mov dword [esi + 0x8c], ebx
cmp dword [esi + 0xa4], ecx
jne 0x49cb1f
mov eax, dword [esi + 0x8c]
add eax, 0xc8
cmp eax, dword [ebp + 8]
jae 0x49cb1f
push 1
pop eax
jmp 0x49cb21
xor eax, eax
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x94]
lea ebx, [esi + 0x90]
mov dword [esi + 0xa4], ecx
mov ecx, edi
mov dword [ebx], eax
call fcn.0045ff12
mov ebx, dword [ebx]
mov ecx, edi
mov dword [esi + 0x88], eax
add ebx, eax
call fcn.0045ff1d
mov dword [ebp - 0x10], eax
mov ecx, edi
call fcn.0045ff1d
cmp eax, ebx
jae 0x49cb99
mov ecx, edi
call fcn.0045fd29
test eax, eax
jne 0x49cb56
call sub.kernel32.dll_GetTickCount
add eax, 0x2710
mov dword [ebp - 0x14], eax
call sub.kernel32.dll_GetTickCount
cmp eax, dword [ebp - 0x14]
jae 0x49cb56
push 1
mov ecx, edi
call fcn.0045fabb
mov ecx, edi
call fcn.0045fd29
test eax, eax
je 0x49cb79
jmp 0x49cb56
mov ebx, 0x6de2f0
mov ecx, ebx
call fcn.00464616
cmp eax, 1
je 0x49cbbf
mov ecx, ebx
call fcn.00464616
cmp eax, 2
je 0x49cbbf
mov ecx, edi
call fcn.00460bd1
jmp 0x49cbf4
mov ecx, edi
call fcn.0045ff1d
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
je 0x49cbe2
cmp ecx, dword [0x71877c]
jbe 0x49cbe2
mov eax, dword [esi + 0x58]
fld dword [esi + eax*4 + 0x2c]
fadd dword [esi + 0x78]
fstp dword [esi + 0x78]
push 0
mov ecx, 0x70d7a0
push dword [0x715924]
call fcn.00455471
call fcn.004ff7a8
test eax, eax
je 0x49cc76
mov ecx, dword [ebp + 8]
lea eax, [esi + 0xb4]
mov edx, ecx
sub edx, dword [eax]
cmp edx, 0x3e8
jbe 0x49cc76
mov dword [eax], ecx
xor ebx, ebx
mov cx, word [esi + 0xb0]
movzx eax, cx
lea eax, [eax + eax*8]
shl eax, 3
cmp dword [eax + 0x7187d8], 0
je 0x49cc44
cmp dword [eax + 0x718814], 3
jne 0x49cc44
push ecx
mov ecx, edi
call fcn.004608d7
test eax, eax
jne 0x49cc60
movzx eax, word [esi + 0xb0]
push 0xa
inc eax
xor edx, edx
pop ecx
div ecx
inc ebx
cmp bx, cx
mov word [esi + 0xb0], dx
jb 0x49cc16
mov ax, word [esi + 0xb0]
mov ecx, esi
push eax
call fcn.0049da7b
inc word [esi + 0xb0]
mov ecx, esi
call fcn.0049d1bf
mov ecx, esi
call fcn.0049d566
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4