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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
xorps xmm0, xmm0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
movups xmmword [0x10832120], xmm0
call esi
mov dword [0x10832140], eax
mov dword [0x10832130], 0
mov byte [0x10832148], 0
mov dword [0x10832138], 0
mov dword [0x10832134], 0
mov dword [0x1083213c], 0
call esi
push 0x500
push 0xff
push 0x1083218c
mov dword [0x10832144], eax
call fcn.1008e1e0
push 0x800
push 0
push 0x1083268c
call fcn.1008e1e0
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [0x10832120], 1
add esp, 0x18
mov dword [ebp - 8], edx
movzx eax, byte [ecx + 6]
mov dword [0x10832124], eax
movzx eax, byte [ecx + 7]
mov dword [0x10832128], eax
cmp byte [ecx + 0x28], dl
jbe 0x100522a6
push ebx
push edi
mov ebx, 0x1083268c
lea edi, [ecx + 8]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov eax, dword [esi + 0x39]
lea ecx, [eax + eax*4]
mov ax, word [esi + 0x29]
mov word [ecx*8 + 0x1083218c], ax
mov eax, dword [esi + 0x39]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x2d]
mov dword [ecx*8 + 0x10832190], eax
mov eax, dword [esi + 0x39]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x31]
mov dword [ecx*8 + 0x10832194], eax
mov eax, dword [esi + 0x39]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x35]
mov dword [ecx*8 + 0x10832198], eax
mov ecx, dword [esi + 0x39]
lea eax, [ecx + ecx*4]
mov dword [eax*8 + 0x1083219c], ecx
mov eax, dword [esi + 0x39]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x3d]
mov dword [ecx*8 + 0x108321a0], eax
mov eax, dword [esi + 0x39]
movzx ecx, byte [edi + edx]
lea edx, [esi + 0x45]
push edx
lea eax, [eax + eax*4]
mov dword [eax*8 + 0x108321a4], ecx
mov eax, dword [esi + 0x39]
movq xmm0, qword [edx]
lea ecx, [eax + eax*4]
movq qword [ecx*8 + 0x108321a8], xmm0
mov eax, dword [edx + 8]
mov dword [ecx*8 + 0x108321b0], eax
mov eax, 0x7cd361
call eax
movzx ecx, ax
lea eax, [esi + 0x4c]
push eax
movzx eax, byte [esi + 0x4b]
mov edx, ecx
push eax
movzx eax, byte [esi + 0x4a]
and ecx, 0x1ff
push eax
movzx eax, byte [esi + 0x49]
push eax
movzx eax, byte [esi + 0x48]
push eax
movzx eax, byte [esi + 0x47]
push eax
movzx eax, byte [esi + 0x46]
push eax
shr dx, 9
movzx eax, dl
push ecx
push eax
mov eax, 0x936aac
call eax
mov ecx, eax
mov eax, 0x535e32
call eax
mov ecx, eax
mov eax, 0x7ccd37
call eax
mov ecx, 0x23
lea edi, [ebp - 0x94]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x90]
cmp esi, 0x1fff
je 0x1005227b
push esi
mov eax, 0x917636
call eax
mov ecx, eax
mov eax, 0x91850f
call eax
test eax, eax
je 0x10052288
movups xmm0, xmmword [eax + 0x210]
mov edi, dword [eax + 0x228]
movq xmm1, qword [eax + 0x220]
mov ax, word [eax + 0x22c]
mov word [ebp - 2], ax
movsx eax, byte [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x8c]
shr eax, 3
and eax, 0xf
push eax
push esi
call fcn.1006a4c0
test eax, eax
jne 0x1005225a
mov ax, word [ebp - 2]
movups xmmword [ebx], xmm0
movq qword [ebx + 0x10], xmm1
mov dword [ebx + 0x18], edi
mov word [ebx + 0x1c], ax
jmp 0x10052288
movups xmm0, xmmword [eax + 2]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [eax + 0x12]
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x22]
movups xmmword [ebx + 0x20], xmm0
movups xmm0, xmmword [eax + 0x32]
movups xmmword [ebx + 0x30], xmm0
jmp 0x10052288
mov dword [ebx], 0x4e206f4e
mov dword [ebx + 4], 0x656d61
mov ecx, dword [ebp + 8]
add ebx, 0x40
mov edx, dword [ebp - 8]
inc edx
mov dword [ebp - 8], edx
movzx eax, byte [ecx + 0x28]
lea edi, [ecx + 8]
cmp edx, eax
jl 0x100520e6
pop edi
pop ebx
movzx eax, byte [ecx + 0x27]
mov dword [0x1083267c], eax
pop esi
mov esp, ebp
pop ebp
ret 4