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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
cmp word [esi + 0x86], bx
je 0x503303
or dword [ebp - 4], 0xffffffff
jmp 0x50330c
mov eax, dword [esi + 0xa8]
mov dword [ebp - 4], eax
cmp word [esi + 0x188], bx
lea edi, [esi + 0x188]
mov dword [ebp - 8], ebx
je 0x503329
push 0x20070032
call fcn.00401daf
pop ecx
mov ax, word [ebp + 0x14]
push dword [ebp + 0xc]
mov word [esi + 0x126], ax
mov ax, word [ebp + 0x10]
push esi
mov word [edi], 1
mov word [esi + 0x128], ax
call fcn.004e3e3d
mov eax, dword [0x5b7bf4]
pop ecx
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
pop ecx
mov dword [0x5b7bf4], eax
lea eax, [ebp - 0x54]
push ebx
push eax
mov dword [ebp - 0xc], 0x5b7bf4
mov dword [ebp - 0x60], ebx
call fcn.0052a5c0
mov esi, dword [ebp + 8]
pop ecx
test eax, eax
pop ecx
jne 0x503536
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x21c]
mov eax, dword [eax + ecx]
mov eax, dword [eax + 0x10]
add eax, dword [esi + 0x1f8]
mov dword [esi + 0x190], eax
jmp 0x5033a2
xor ebx, ebx
mov eax, dword [esi + 0x150]
cmp eax, ebx
jne 0x5033cc
mov ecx, dword [esi + 0x1f4]
cmp ecx, dword [esi + 0x1b4]
jne 0x5033cc
mov ecx, dword [esi + 0x1f8]
cmp ecx, dword [esi + 0x1b8]
je 0x50352c
xor ecx, ecx
cmp eax, ebx
lea eax, [esi + 0x1f4]
push 8
push eax
lea eax, [ebp - 0x14]
setne cl
push eax
mov ebx, ecx
call fcn.004163ed
mov eax, dword [esi + 0x150]
mov edi, dword [esi + 0x190]
add esp, 0xc
test eax, eax
je 0x5033ff
push esi
call eax
jmp 0x50341d
mov ecx, dword [0x5b7774]
push esi
movsx edx, word [edi]
mov eax, dword [ecx]
imul eax, edx
add eax, dword [ecx + 0x10]
lea ecx, [edi + 2]
mov dword [esi + 0x190], ecx
call dword [eax + 0x10]
cmp dword [esi + 0x150], 0
pop ecx
je 0x50343c
test bx, bx
jne 0x50348a
mov eax, dword [esi + 0x190]
sub eax, edi
add dword [esi + 0x1f8], eax
jmp 0x50348a
mov ecx, dword [esi + 0x1f4]
cmp dword [ebp - 0x14], ecx
jne 0x503462
mov eax, dword [esi + 0x1f8]
cmp dword [ebp - 0x10], eax
jne 0x503462
sub eax, edi
add eax, dword [esi + 0x190]
mov dword [esi + 0x1f8], eax
jmp 0x50348a
test ecx, ecx
jne 0x503472
cmp dword [esi + 0x1f8], ecx
je 0x50352a
mov eax, dword [esi + 0x21c]
mov eax, dword [ecx + eax]
mov eax, dword [eax + 0x10]
add eax, dword [esi + 0x1f8]
mov dword [esi + 0x190], eax
cmp word [esi + 0x8a], 0
jne 0x50352a
xor edi, edi
cmp word [ebp + 0x14], di
je 0x5034c0
push edi
push esi
call fcn.004e5ff6
pop ecx
test ax, ax
pop ecx
je 0x5034b7
mov word [esi + 0x88], 1
cmp word [esi + 0x88], di
jne 0x50352a
cmp dword [ebp - 4], 0xffffffff
jae 0x5034d9
cmp dword [esi + 0x150], 0
je 0x5034d9
call fcn.004c096e
cmp eax, dword [ebp - 4]
ja 0x50352a
inc dword [ebp - 8]
cmp dword [ebp - 8], 8
jl 0x5033a0
mov eax, dword [ebp - 8]
push 4
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x5033a0
cmp dword [ebp - 4], 0xffffffff
jae 0x50350f
cmp dword [esi + 0x150], edx
jne 0x50350f
call fcn.004c096e
cmp eax, dword [ebp - 4]
jae 0x50352a
cmp word [ebp + 0x14], 0
je 0x5033a0
push esi
call fcn.004e310e
test ax, ax
pop ecx
je 0x5033a0
xor ebx, ebx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x64]
mov dword [eax], ecx
jmp 0x503560
cmp dword [esi + 0x150], ebx
mov word [esi + 0x188], bx
je 0x50354c
push esi
call fcn.004dfdba
pop ecx
push dword [ebp + 0xc]
push esi
call fcn.004e3ea0
pop ecx
pop ecx
push dword [ebp - 0x58]
call fcn.00401daf
pop ecx
push dword [ebp + 0xc]
mov word [esi + 0x188], bx
push esi
call fcn.004e3ea0
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret