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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov ebx, edx
mov esi, eax
call fcn.00407464
mov edx, dword [0x5312e0]
mov dword [edx], eax
mov edi, 0xbc6
mov eax, dword [0x5312a0]
cmp byte [eax + 0x8b], 6
jne 0x513f30
mov edi, 0xbc7
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [0x531548]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
call fcn.004ce290
mov ebp, eax
and ebp, 0xff
mov eax, dword [0x531540]
cmp byte [eax], 0
jne 0x514036
mov eax, dword [0x531518]
cmp byte [eax + 0x1e], 0
je 0x513f85
mov dx, 0xc
mov eax, esi
call fcn.00526180
test eax, eax
je 0x513f85
mov edi, 0xbcb
mov eax, dword [0x531518]
cmp byte [eax + 0x1e], 0
je 0x514036
mov ecx, ebp
mov edx, ebx
mov eax, esi
call fcn.005267b8
test al, al
je 0x514036
mov eax, dword [0x5312b4]
cmp byte [eax], 0
jne 0x514036
mov eax, esi
call fcn.00518480
test al, al
jne 0x513fcb
mov eax, esi
call fcn.00526ea0
test al, al
je 0x51401f
mov eax, esi
call fcn.00518454
test al, al
je 0x51401f
mov eax, esi
call fcn.00518524
test al, al
je 0x51401f
mov edi, 0xbcb
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x531548]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x531548]
mov eax, dword [eax]
mov edx, edi
call fcn.004c28ec
call fcn.00407464
mov edx, dword [0x531bd4]
mov dword [edx], eax
mov eax, dword [0x531540]
mov byte [eax], 0
mov eax, dword [0x531518]
cmp byte [eax + 0x23], 0
jne 0x51424c
mov eax, dword [0x531540]
mov byte [eax], 0
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub eax, dword [ebx + 8]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x5141de
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x5141de
cmp byte [ebx + 0x2c], 0
jne 0x5141de
mov eax, esi
call fcn.00518480
test al, al
jne 0x514094
mov eax, esi
call fcn.00526ea0
test al, al
je 0x5141cf
mov eax, esi
call fcn.00518454
test al, al
je 0x5141cf
mov eax, esi
call fcn.00518524
test al, al
je 0x5141cf
mov eax, dword [0x53185c]
cmp byte [eax], 0
je 0x5140db
mov eax, dword [0x531548]
mov eax, dword [eax]
cmp dword [eax + 0x56], 7
jb 0x5140db
mov eax, dword [0x53185c]
mov byte [eax], 0
mov edi, 0xbd1
jmp 0x514172
mov eax, dword [0x5315bc]
cmp byte [eax], 0
je 0x5140f4
mov eax, dword [0x5315bc]
mov byte [eax], 0
mov edi, 0xbca
jmp 0x514172
mov eax, dword [0x5314dc]
cmp byte [eax], 0
je 0x51411a
mov eax, dword [0x531548]
mov eax, dword [eax]
cmp dword [eax + 0x56], 0xa
jb 0x51411a
mov eax, dword [0x5314dc]
mov byte [eax], 0
mov edi, 0xbde
jmp 0x514172
mov eax, dword [0x53156c]
cmp byte [eax], 0
je 0x514138
mov eax, dword [0x531548]
mov eax, dword [eax]
cmp dword [eax + 0x56], 3
jb 0x514138
mov edi, 0xbd0
jmp 0x514172
mov eax, dword [0x5319c4]
cmp byte [eax], 0
je 0x514156
mov eax, dword [0x531548]
mov eax, dword [eax]
cmp dword [eax + 0x56], 6
jb 0x514156
mov edi, 0xbdc
jmp 0x514172
mov eax, dword [0x53143c]
cmp byte [eax], 0
je 0x514172
mov edx, ebp
mov eax, esi
call fcn.00513984
test al, al
je 0x514172
mov edi, 0xbcb
mov eax, dword [0x5312b4]
cmp byte [eax], 0
je 0x514196
mov eax, dword [0x531548]
mov eax, dword [eax]
cmp dword [eax + 0x56], 0xa
jb 0x514196
mov edi, 0xbcc
mov eax, dword [0x5312b4]
mov byte [eax], 0
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x531548]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x531548]
mov eax, dword [eax]
mov edx, edi
call fcn.004c28ec
call fcn.00407464
mov edx, dword [0x531bd4]
mov dword [edx], eax
call fcn.00407464
mov edx, dword [0x531824]
mov dword [edx], eax
jmp 0x51424c
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub eax, dword [ebx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x51421c
mov eax, dword [0x531548]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x51421c
cmp byte [ebx + 0x2c], 0
jne 0x51421c
mov eax, dword [0x531be4]
mov byte [eax], 0
jmp 0x514224
mov eax, dword [0x531be4]
mov byte [eax], 1
push esp
lea eax, [esp + 8]
push eax
mov ecx, ebp
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.004ce3f0
mov eax, dword [0x531678]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x53152c]
mov edx, dword [esp + 4]
mov dword [eax], edx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret