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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b424c
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x6a0290]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0042cc30
mov ecx, eax
call fcn.0042ccb0
mov ecx, esi
call fcn.00540380
mov ecx, 0x6d4d48
call fcn.00502560
mov ecx, 0x603108
call fcn.00589580
lea edi, [esi + 0x934]
mov ecx, edi
call fcn.0043d240
test eax, eax
je 0x4a1a63
lea eax, [esi + 0x148]
mov ecx, edi
push eax
call fcn.0043cf20
cmp eax, 1
jne 0x4a1a1c
mov ecx, esi
call fcn.004a0270
mov ecx, 0x5fb4d0
call fcn.00516e90
push esi
mov ecx, edi
call fcn.0043cfa0
mov ecx, edi
call fcn.0043cf60
jmp 0x4a1ab8
cmp dword [edi], 1
jne 0x4a1a4b
mov eax, dword [0x6d5c84]
sub eax, dword [0x6d3834]
cmp eax, 0x3e8
jbe 0x4a1ab8
push esi
mov ecx, edi
call fcn.0043cfa0
mov eax, dword [0x6d5c84]
mov dword [0x6d3834], eax
jmp 0x4a1ab8
push esi
mov ecx, 0x5fb4d0
call fcn.00517020
test eax, eax
jne 0x4a1ab8
mov ecx, edi
call fcn.0043cf60
jmp 0x4a1ab8
cmp dword [esi + 0x9a8], 0
je 0x4a1ab8
lea ecx, [esi + 0x958]
call fcn.0043d240
test eax, eax
jne 0x4a1ab8
mov eax, dword [esi + 0x9a0]
cmp eax, 6
jae 0x4a1a90
cmp eax, 2
jb 0x4a1a90
cmp eax, 0x64
jne 0x4a1ab8
push 0
lea edi, [esi + 0x9ac]
push edi
push esi
call fcn.004114e0
mov ecx, eax
call fcn.00420450
test eax, eax
jne 0x4a1ab8
push eax
mov ecx, edi
mov dword [esi + 0x9a8], eax
call fcn.00427e00
mov eax, dword [0x6c3494]
test al, 1
jne 0x4a1aee
or eax, 1
mov dword [0x6c3494], eax
mov ecx, 0x6c3320
mov dword [ebp - 4], 0
call fcn.0041da90
push 0x5bc430
call fcn.0058d7bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
push esi
mov ecx, 0x6c3320
call fcn.00420f50
cmp dword [esi + 0x9d0], 0
je 0x4a1b61
push esi
mov ecx, 0x5fb4d0
call fcn.00517020
test eax, eax
je 0x4a1b61
cmp word [esi + 0x20c], 0
jne 0x4a1b61
movzx eax, word [esi + 0x68a]
test ax, ax
je 0x4a1b61
mov ecx, esi
call fcn.004a0e60
fstp dword [ebp - 0x68]
movss xmm0, dword [ebp - 0x68]
ucomiss xmm0, dword [0x5be918]
lahf
test ah, 0x44
jnp 0x4a1b61
mov ecx, esi
call fcn.00526820
cmp al, 3
je 0x4a1b61
cmp dword [esi + 0x214], 0
jne 0x4a1b61
mov ecx, 0x5fb4d0
call fcn.00518330
cmp dword [esi + 0x9c4], 0
je 0x4a1b87
mov eax, dword [0x6d5c84]
sub eax, dword [esi + 0x9cc]
cmp eax, dword [esi + 0x9c8]
jbe 0x4a1b87
mov dword [esi + 0x9c4], 0
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x88]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x90]
call eax
lea eax, [ebp - 0x28]
mov ecx, 0x6d58d8
push eax
fstp dword [ebp - 0x68]
call fcn.0050ae50
movss xmm0, dword [ebp - 0x68]
lea eax, [ebp - 0x28]
push ecx
movss dword [esp], xmm0
mov ecx, 0x5f9298
push eax
call fcn.00435690
mov ecx, esi
call fcn.00526820
cmp al, 0xf
jne 0x4a1c49
mov eax, dword [0x6d5c84]
sub eax, dword [esi + 0x274]
cmp eax, 0x2710
jbe 0x4a1c49
push 0
push 0xf
push esi
mov ecx, 0x602390
call fcn.0052e500
mov eax, dword [0x6c3494]
test al, 1
jne 0x4a1c2d
or eax, 1
mov dword [0x6c3494], eax
mov ecx, 0x6c3320
mov dword [ebp - 4], 1
call fcn.0041da90
push 0x5bc430
call fcn.0058d7bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0xffffffffffffffff
mov ecx, 0x6c3320
call fcn.0041ed00
test eax, eax
je 0x4a1c49
call fcn.004114e0
mov ecx, eax
call fcn.0041e4e0
mov eax, dword [ebp - 0x20]
mov ecx, 0x602970
movq xmm0, qword [ebp - 0x28]
mov dword [0x6d382c], eax
mov eax, 0x10624dd3
mul dword [0x6d5c88]
movq qword [0x6d3824], xmm0
push esi
shr edx, 6
add dword [esi + 0x690], edx
call fcn.00538040
mov ecx, 0x6d8248
call fcn.0053aac0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
push eax
push str._d__r_n
call fcn.005908fc
add esp, 8
call edi
sub eax, dword [esi + 0xa12]
cmp eax, 0xea60
jb 0x4a1cd6
call edi
mov dword [esi + 0xa12], eax
mov ecx, 0x5fb0e0
mov eax, dword [0x6d7280]
mov dword [ebp - 0x4b], eax
lea eax, [ebp - 0x64]
push 0x21
push eax
mov word [ebp - 0x63], 0xa00
mov byte [ebp - 0x61], 0xf6
call fcn.0050b780
mov ecx, dword [esi + 0xa1a]
mov eax, dword [ecx + 0x24]
sub eax, 2
je 0x4a1dbe
dec eax
jne 0x4a1e16
mov dword [ecx + 0x24], eax
mov ecx, dword [esi + 0xa1a]
call fcn.00457b00
mov ecx, dword [0x6d2388]
test ecx, ecx
je 0x4a1d16
mov dword [ecx + 0xe78], 0
call fcn.0050d650
mov ecx, dword [0x6d238c]
test ecx, ecx
je 0x4a1d2f
mov dword [ecx + 0xcd8], 0
call fcn.0043a0a0
mov eax, dword [esi + 0xa1a]
lea ecx, [ebp - 0x40]
push ecx
mov ecx, esi
movq xmm0, qword [eax + 0x18]
movq qword [ebp - 0x1c], xmm0
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
call dword [eax + 0x88]
movzx eax, word [0x6d58dc]
mov ecx, 0x6d58d8
push esi
push eax
lea eax, [ebp - 0x1c]
push eax
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00508fa0
test eax, eax
je 0x4a1e16
push esi
mov ecx, 0x5fb4d0
call fcn.00517020
test eax, eax
je 0x4a1d97
push dword [0x6d5c84]
mov ecx, 0x5fb4d0
push esi
call fcn.00516560
lea eax, [ebp - 0x1c]
mov ecx, 0x6d58d8
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00508f30
cmp eax, 1
jne 0x4a1e16
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.004a1240
lea eax, [ebp - 0x1c]
jmp 0x4a1e0b
mov dword [ecx + 0x24], 0
mov ecx, esi
call fcn.004a17b0
mov eax, dword [esi + 0xa1a]
mov ecx, dword [0x6d2388]
movq xmm0, qword [eax + 0x18]
movq qword [ebp - 0x34], xmm0
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x4a1df5
lea eax, [ebp - 0x34]
push eax
call fcn.0050dc60
mov ecx, dword [0x6d238c]
test ecx, ecx
je 0x4a1e08
lea eax, [ebp - 0x34]
push eax
call fcn.0043a470
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x5fb4d8
call fcn.005185b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0058de24
mov esp, ebp
pop ebp
ret