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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
xor edi, edi
nop dword [eax + eax]
mov ebx, edi
mov dword [ebp - 4], ebx
mov esi, dword [ebx*4 + 0x20a514c]
cmp dword [esi + 4], 3
jne 0x4d2b9b
cmp dword [esi + 0x200], 2
jne 0x4d2b9b
cmp dword [esi + 0xe40], 0
lea eax, [esi + 0x78]
mov dword [ebp - 8], eax
je 0x4d27c8
movzx eax, word [eax]
cmp eax, 2
je 0x4d2b99
cmp eax, 3
jne 0x4d27cb
jmp 0x4d2b99
mov dword [ebp - 8], eax
cmp dword [esi + 0x170], 0
mov edi, ebx
je 0x4d2b9b
push esi
call fcn.00478780
test al, al
jne 0x4d2b9b
push esi
call fcn.00478810
test al, al
jne 0x4d2b9b
mov eax, dword [ebp - 8]
cmp word [eax], 2
jne 0x4d2957
movzx eax, word [esi + 0x316]
mov ecx, eax
cmp ax, 0x33
jl 0x4d281c
cmp cx, 0x3a
jle 0x4d2b99
movzx eax, word [esi + 0xcc]
mov ecx, 0x83
cmp ax, cx
je 0x4d2b99
mov ecx, 0x84
cmp ax, cx
je 0x4d2b99
mov ecx, 0x85
cmp ax, cx
je 0x4d2b99
mov ecx, 0x86
cmp ax, cx
je 0x4d2b99
mov ecx, 0xcc
cmp ax, cx
je 0x4d2b99
mov ecx, 0xcd
cmp ax, cx
je 0x4d2b99
mov ecx, 0xce
cmp ax, cx
je 0x4d2b99
mov ecx, 0xcf
cmp ax, cx
je 0x4d2b99
mov ecx, 0xd0
cmp ax, cx
je 0x4d2b99
mov ecx, 0xd1
cmp ax, cx
je 0x4d2b99
mov ecx, 0xd8
cmp ax, cx
je 0x4d2b99
mov ecx, 0xd9
cmp ax, cx
je 0x4d2b99
mov ecx, 0xda
cmp ax, cx
je 0x4d2b99
mov ecx, 0xdb
cmp ax, cx
je 0x4d2b99
mov ecx, 0x115
cmp ax, cx
je 0x4d2b99
mov ecx, 0x116
cmp ax, cx
je 0x4d2b99
mov ecx, 0x11b
cmp ax, cx
je 0x4d2b99
mov ecx, 0x120
cmp ax, cx
je 0x4d2b99
mov ecx, 0x20c
cmp ax, cx
je 0x4d2b99
mov ecx, 0x20d
cmp ax, cx
je 0x4d2b99
mov ecx, 0x20f
cmp ax, cx
je 0x4d2b99
mov ecx, 0x210
cmp ax, cx
je 0x4d2b99
mov eax, dword [esi + 0x174]
mov cl, byte [esi + 0x234]
movsx edx, word [esi + 0x30c]
test byte [eax + esi + 0x1d4], 1
jne 0x4d299b
xor edi, edi
mov eax, 0x12c
test cl, cl
cmove eax, edi
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x56a790]
call fcn.00546020
mov ebx, eax
jmp 0x4d29a9
xor eax, eax
mov ebx, 0x12c
test cl, cl
cmove ebx, eax
add ebx, edx
mov edi, dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x1e4]
cmp eax, ebx
jbe 0x4d2b9b
mov edx, dword [esi + 0x174]
mov ebx, edi
cmp edx, 0xf
jge 0x4d2b9b
movzx eax, byte [esi + 0x149]
movsx edi, word [esi + edx*2 + 0x1b6]
imul ecx, eax, 0x15d38
movzx eax, word [esi + edx*2 + 0x198]
mov dword [ebp - 8], eax
cwde
test eax, eax
js 0x4d2ae0
cmp eax, dword [ecx + 0xd2f384]
jge 0x4d2ae0
test edi, edi
js 0x4d2ae0
mov eax, dword [ecx + 0xd2f388]
cmp edi, eax
jge 0x4d2ae0
mov edx, dword [ebp - 8]
imul eax, edi
movsx ebx, dx
mov edx, dword [esi + 0x174]
add eax, dword [ecx + 0xd2f380]
test byte [eax + ebx], 4
mov ebx, dword [ebp - 4]
jne 0x4d2ae0
mov eax, dword [ecx + 0xd2f388]
imul eax, edi
mov edi, dword [ebp - 8]
add eax, dword [ecx + 0xd2f380]
movsx ecx, di
test byte [eax + ecx], 8
jne 0x4d2ae0
mov word [esi + 0x144], di
mov ax, word [esi + edx*2 + 0x1b6]
mov word [esi + 0x146], ax
mov al, byte [edx + esi + 0x1d4]
mov byte [esi + 0x148], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x1e4], eax
mov edi, ebx
mov eax, dword [esi + 0x174]
inc eax
mov dword [esi + 0x174], eax
cmp eax, dword [esi + 0x170]
jl 0x4d2b9b
cmp word [esi + 0x78], 1
mov dword [esi + 0x174], 0
mov dword [esi + 0x170], 0
jne 0x4d2ad3
mov al, byte [esi + 0x178]
mov byte [esi + 0x178], al
jmp 0x4d2b99
xor al, al
mov byte [esi + 0x178], al
jmp 0x4d2b99
mov dword [esi + 0x174], 0
mov dword [esi + 0x170], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp word [esi + 0x78], 1
mov dword [esi + 0x1e4], eax
jne 0x4d2b0f
mov al, byte [esi + 0x178]
jmp 0x4d2b11
xor al, al
mov byte [esi + 0x178], al
xorps xmm0, xmm0
movups xmmword [esi + 0x198], xmm0
movq qword [esi + 0x1a8], xmm0
mov dword [esi + 0x1b0], 0
mov word [esi + 0x1b4], 0
movups xmmword [esi + 0x1b6], xmm0
movq qword [esi + 0x1c6], xmm0
mov dword [esi + 0x1ce], 0
mov word [esi + 0x1d2], 0
movups xmmword [esi + 0x17a], xmm0
movq qword [esi + 0x18a], xmm0
mov dword [esi + 0x192], 0
mov word [esi + 0x196], 0
movsx eax, word [esi + 0x146]
movsx edx, word [esi + 0x144]
mov ecx, dword [esi]
push eax
call fcn.00525a30
add esp, 4
mov edi, ebx
inc edi
cmp edi, 0x1194
jl 0x4d2780
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret