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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push esi
push ebx
call fcn.00485270
test al, al
je 0x48523d
mov esi, dword [esi + 0x76c]
xor edi, edi
mov dword [ebp - 4], esi
cmp dword [esi], 0
je 0x485031
lea ecx, [esi + 4]
lea eax, [ebx + 0x86]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x485025
test dl, dl
je 0x485021
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x485025
add ecx, 2
add eax, 2
test dl, dl
jne 0x485005
xor eax, eax
jmp 0x48502a
sbb eax, eax
or eax, 1
test eax, eax
je 0x485083
mov ebx, dword [ebp + 8]
inc edi
add esi, 0x14
cmp edi, 0x14
jl 0x484ff7
mov edx, dword [ebp - 4]
xor ebx, ebx
xor esi, esi
mov edi, edx
cmp dword [esi + edi], 0
je 0x4850d5
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x76c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
imul ecx, dword [0xbdac44], 0x3e8
mov edx, edi
sub eax, dword [esi + edi]
cmp eax, ecx
ja 0x4850d5
add esi, 0x14
inc ebx
cmp esi, 0x190
jl 0x485043
mov edx, dword [ebp + 8]
jmp 0x48510e
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
imul ecx, dword [0xbdac44], 0x3e8
sub eax, dword [esi]
cmp eax, ecx
jae 0x4850a7
inc dword [esi + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call edi
mov edx, dword [ebp + 8]
mov dword [esi], eax
mov dword [esi + 0x10], 1
movq xmm0, qword [ebx + 0x86]
movq qword [esi + 4], xmm0
mov ax, word [ebx + 0x8e]
mov word [esi + 0xc], ax
mov al, byte [ebx + 0x90]
jmp 0x48510b
lea eax, [ebx + ebx*4]
lea esi, [edx + eax*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp + 8]
mov dword [esi], eax
mov dword [esi + 0x10], 1
movq xmm0, qword [edx + 0x86]
movq qword [esi + 4], xmm0
mov ax, word [edx + 0x8e]
mov word [esi + 0xc], ax
mov al, byte [edx + 0x90]
mov byte [esi + 0xe], al
mov eax, dword [ebp + 0xc]
mov esi, dword [0xbdac4c]
mov edi, dword [0xbdac48]
movzx ecx, word [eax + 0xd0]
movzx eax, word [edx + 0xd0]
movsx ebx, ax
cmp cx, ax
movsx edx, cx
mov eax, 0x66666667
jl 0x485169
sub edx, ebx
dec edx
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
ja case.default.0x48514f
jmp dword [eax*4 + 0x485248]
sub esi, 2
jmp case.0x48517d.0
sub esi, 3
dec edi
jmp case.0x48517d.0
sub esi, 4
sub edi, 2
jmp case.0x48517d.0
sub ebx, edx
dec ebx
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
ja case.default.0x48517d
jmp dword [eax*4 + 0x48525c]
inc esi
jmp case.0x48517d.0
add esi, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x760]
mov ebx, dword [edx + 0x760]
cmp ecx, ebx
jl 0x4851df
mov eax, ecx
sub eax, ebx
sub eax, 0
je 0x4851df
sub eax, 1
je 0x4851d3
sub eax, 1
je 0x4851c3
xor eax, eax
cmp ecx, 9
setl al
lea esi, [esi + eax*2]
add esi, 3
jmp 0x4851df
xor eax, eax
cmp ecx, 9
setl al
lea esi, [esi + eax*2]
add esi, 2
jmp 0x4851df
xor eax, eax
cmp ecx, 9
setl al
lea esi, [esi + eax*2]
inc esi
cmp edi, dword [0xbdac50]
mov eax, dword [edx + 0x764]
cmovl edi, dword [0xbdac50]
cmp edi, dword [0xbdac54]
push dword [edx]
cmovg edi, dword [0xbdac54]
cmp edi, eax
cmovg edi, eax
sub eax, edi
mov dword [edx + 0x764], eax
call fcn.00485d30
cmp esi, dword [0xbdac58]
mov eax, dword [ebp + 0xc]
cmovl esi, dword [0xbdac58]
cmp esi, dword [0xbdac5c]
cmovg esi, dword [0xbdac5c]
push dword [eax]
add dword [eax + 0x764], esi
call fcn.00485d30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8