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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], eax
mov byte [ebp - 5], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 9
jne 0x503cc9
mov byte [ebp - 0x15], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 6
je 0x503ce1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 7
jne 0x503ce5
mov byte [ebp - 0x16], 1
mov eax, dword [0x52b860]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x503e5e
cmp byte [ebp - 0x15], 0
jne 0x503e5e
cmp byte [ebp - 0x16], 0
jne 0x503e5e
mov eax, dword [0x52bdf8]
mov byte [eax], 0
mov eax, dword [0x52b85c]
mov byte [eax], 0
mov eax, dword [0x52b884]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x72]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x74]
jbe 0x503d57
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x72]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x74]
inc edx
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x52b884]
mov dword [edx], eax
mov eax, dword [0x52bdf8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x76]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x78]
jbe 0x503d8c
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x76]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x78]
inc edx
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x52b884]
add dword [edx], eax
mov eax, dword [0x52bdf8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x7a]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x7c]
jbe 0x503da4
mov eax, dword [0x52b85c]
mov byte [eax], 1
mov eax, dword [0x52bdf8]
cmp byte [eax], 0
je 0x503ddc
mov eax, dword [0x52b884]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x254]
jle 0x503ddc
mov eax, dword [0x52b84c]
cmp byte [eax + 0xbc], 0
jne 0x503ddc
mov eax, dword [ebp - 4]
inc dword [eax + 0x254]
jmp 0x50426d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x254], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xb
je 0x503e23
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 9
je 0x503e23
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xd
je 0x503e23
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 6
je 0x503e23
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 7
jne 0x503e5e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x20c]
dec eax
je 0x503e3f
sub eax, 3
je 0x503e4f
jmp 0x503e5e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
call fcn.004ff470
jmp 0x503e5e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
inc eax
call fcn.004ff470
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x240], 0
mov eax, dword [0x52b860]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
je 0x503e91
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
cmp dword [eax + 8], 2
jl 0x503e91
mov eax, dword [ebp - 4]
mov byte [eax + 0x240], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xb
je 0x503ed1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xd
je 0x503ed1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 6
je 0x503ed1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 7
jne 0x5040d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jl 0x503ef9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jle 0x503f0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20c]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x214], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jge 0x503fa9
mov eax, dword [ebp - 4]
inc dword [eax + 0x214]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x240], 0
je 0x503f5c
cmp byte [ebp - 0x16], 0
jne 0x503f5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jge 0x503f5c
mov eax, dword [ebp - 4]
inc dword [eax + 0x214]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x20c]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x20c]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [eax + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x23c]
mov eax, dword [ebp - 4]
call fcn.0050155c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jl 0x504025
mov eax, dword [0x52b860]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x503ffe
mov eax, dword [0x52ba54]
mov eax, dword [eax]
call fcn.004b5310
test al, al
je 0x504021
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c0], 1
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x258], eax
jmp 0x504021
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c0], 1
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x258], eax
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 6
jne 0x504055
mov eax, dword [0x52b860]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x504055
call fcn.00406bb0
mov edx, dword [0x52b9d8]
mov dword [edx], eax
mov eax, dword [0x52bcf8]
mov dword [eax], 0x12c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 7
jne 0x5040cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
sub eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x214]
jg 0x5040cf
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x270]
mov edx, dword [ebp - 4]
mov word [edx + 8], ax
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x274]
mov edx, dword [ebp - 4]
mov word [edx + 0xa], ax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0xa]
mov edx, dword [ebp - 4]
mov dword [edx + 0x11c], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c0], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 9
jne 0x504245
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jg 0x50410b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jge 0x50411e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
inc eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x214], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jle 0x5041bd
mov eax, dword [ebp - 4]
dec dword [eax + 0x214]
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x240]
or al, byte [ebp - 0x15]
je 0x50416a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jle 0x50416a
mov eax, dword [ebp - 4]
dec dword [eax + 0x214]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x214]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x20c]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc]
call fcn.0050b548
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x23c]
mov eax, dword [ebp - 4]
call fcn.0050155c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jg 0x504241
mov eax, dword [0x52b860]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x50421a
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c0], 1
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x258], eax
call fcn.00406bb0
mov edx, dword [0x52b9d8]
mov dword [edx], eax
mov eax, dword [0x52bcf8]
mov dword [eax], 0x3e8
jmp 0x50423d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c0], 1
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x258], eax
mov byte [ebp - 5], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x214]
je 0x50426d
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x260], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.00403b30
mov al, byte [ebp - 5]
pop esi
mov esp, ebp
pop ebp
ret