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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
lea eax, [ebp - 0x3c]
mov esi, dword [ebp + 0xc]
push edi
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x10]
push esi
call fcn.00492632
add esp, 0x10
cmp eax, 2
mov dword [ebp - 0x24], eax
je 0x4937ec
cmp eax, 1
jne 0x4937e8
cmp word [esi + 0xa50], 0
je 0x4937ec
xor eax, eax
jmp 0x4937ef
push 1
pop eax
mov ecx, dword [ebp + 0x1c]
and word [ecx], 0
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x34
mov ebx, dword [esi + ecx + 8]
mov edi, dword [esi + ecx + 4]
add esi, ecx
mov dword [ebp - 0x20], ebx
test ebx, ebx
je 0x493863
test ax, ax
je 0x493831
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00466765
add esp, 0xc
test ax, ax
je 0x493831
add esi, 0x2e
lea eax, [ebp - 0x3c]
jmp 0x493837
add esi, 0x28
lea eax, [ebp - 0x4c]
push edi
mov dword [ebp - 8], eax
call fcn.00549406
push ebx
mov dword [ebp - 0x2c], eax
call fcn.00495500
push dword [ebp + 8]
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
call fcn.00463797
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x49386a
xor eax, eax
jmp 0x493a55
mov edi, dword [ebp - 0x20]
mov ax, word [esi]
push edi
mov word [ebp - 0x1c], ax
mov dword [ebp - 4], edi
call fcn.0049534d
cmp word [ebp - 0x1c], 0
pop ecx
mov dword [ebp - 0x18], eax
jne 0x4938a9
test ax, ax
je 0x4938a9
push dword [ebp + 0x10]
mov word [esi], 1
push dword [ebp + 0xc]
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.004920f1
add esp, 0x10
mov dword [ebp - 4], edi
mov dword [ebp - 0x28], 1
call fcn.0045c6ce
push 0xa
sub eax, 0xf
pop edi
cmp eax, edi
jl 0x4938c9
call fcn.0045c6ce
mov edi, eax
sub edi, 0xf
call fcn.005a259d
add eax, edi
mov dword [ebp - 0x14], eax
call fcn.0045c6b8
test ax, ax
je 0x493a27
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 8]
call fcn.004641fa
push dword [ebp - 8]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00466765
mov edi, eax
add esp, 0x18
cmp di, word [ebp - 0x28]
mov dword [ebp - 0xc], edi
je 0x49393a
xor eax, eax
cmp word [ebp - 0x1c], ax
jne 0x49393a
cmp word [ebp - 0x18], ax
je 0x49393a
push dword [ebp + 0x10]
xor ecx, ecx
cmp word [esi], ax
push dword [ebp + 0xc]
sete cl
push dword [ebp - 0x10]
mov word [esi], cx
push dword [ebp + 8]
call fcn.004920f1
add esp, 0x10
test di, di
jne 0x493968
call fcn.0045c6ce
push 0xa
sub eax, 0xf
pop edi
cmp eax, edi
jl 0x493958
call fcn.0045c6ce
mov edi, eax
sub edi, 0xf
call fcn.005a259d
add eax, edi
and dword [ebp - 4], 0
mov dword [ebp - 0x14], eax
jmp 0x49396e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov edi, dword [ebp - 0x2c]
test edi, edi
je 0x493980
test bx, bx
jne 0x493980
cmp word [ebp - 0x18], bx
jne 0x4939f5
cmp word [ebp - 0xc], 0
je 0x493997
lea eax, [ebp - 0x3c]
cmp dword [ebp - 8], eax
jne 0x493997
call fcn.005a259d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x24], 2
jne 0x4939b1
lea eax, [ebp - 0x3c]
cmp dword [ebp - 8], eax
jne 0x4939b1
mov eax, dword [ebp + 0x1c]
mov cx, word [ebp - 0xc]
mov word [eax], cx
jmp 0x4939ea
cmp word [ebp - 0xc], 0
je 0x4939ea
call fcn.005a259d
mov ecx, dword [ebp - 0x14]
sub ecx, eax
test ecx, ecx
jg 0x4939ea
cmp dword [ebp - 0x24], 1
je 0x493a0a
test edi, edi
je 0x4939ea
cmp word [ebp - 0x18], 0
je 0x4939ea
push dword [ebp - 8]
push edi
push dword [ebp + 0xc]
call fcn.00493a5a
add esp, 0xc
and dword [ebp - 4], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
jmp 0x4938d3
push dword [ebp - 8]
push edi
push dword [ebp + 0xc]
call fcn.00493a5a
add esp, 0xc
and dword [ebp - 4], 0
jmp 0x493a27
push 0
push dword [ebp + 8]
call fcn.00465a3a
pop ecx
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00493aa1
add esp, 0x10
mov dword [ebp - 4], eax
cmp word [esi], 0
je 0x493a45
push dword [ebp + 0x10]
and word [esi], 0
push dword [ebp + 0xc]
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.004920f1
add esp, 0x10
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.004637df
mov eax, dword [ebp - 4]
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret