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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x29
push 0
push 0
dec ecx
jne 0x5abfd4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5ae81f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5ae6cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e42cc]
cmp dword [eax], 0
jne 0x5ac0c1
lea eax, [ebp - 0x74]
mov edx, 0x5ae838
call fcn.0040546c
push 0xffffff
lea eax, [ebp - 0x90]
mov edx, dword [ebp - 0x74]
call fcn.00405d60
mov eax, dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x94]
mov edx, dword [ebp - 0x74]
call fcn.00405d60
mov edx, dword [ebp - 0x94]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
mov cl, 1
call fcn.00495f58
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
sub edx, eax
sar edx, 1
jns 0x5ac069
adc edx, 0
mov ecx, dword [0x6e3b50]
mov ecx, dword [ecx]
sub ecx, 0xfb
sar ecx, 1
jns 0x5ac07e
adc ecx, 0
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
call fcn.00496070
mov ecx, dword [0x6e404c]
mov ecx, dword [ecx]
lea eax, [ebp - 0x98]
mov edx, 0x5ae84c
call fcn.004056ec
mov edx, dword [ebp - 0x98]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0045c678
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ae6df
xor eax, eax
push ebp
push 0x5ac159
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x124]
add eax, 0x40
mov edx, dword [0x6e3b50]
add eax, dword [edx]
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x120]
add ecx, 0x90
mov eax, dword [0x6e3b80]
add ecx, dword [eax]
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov edx, dword [eax + 0x124]
add edx, 0x40
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x120]
add eax, 0x90
call fcn.00492a3c
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
xor ecx, ecx
xor edx, edx
call fcn.004970c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ac16d
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov edx, 0xffffffa0
sub edx, dword [eax + 0x120]
mov eax, dword [0x6e4888]
add edx, dword [eax]
mov dword [ebp - 0x34], edx
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov edx, 0xffffffc0
sub edx, dword [eax + 0x124]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x38], edx
xor eax, eax
push ebp
push 0x5ac69f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x38]
sub eax, 0x20
mov dword [ebp - 0x20], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5f]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e67]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e80]
add edx, 0x23
sub edx, eax
jl 0x5ac695
inc edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x5ac222
add dword [ebp - 0x20], 0x20
jmp 0x5ac686
mov eax, dword [ebp - 0x34]
sub eax, 0x60
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5b]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e7c]
sub eax, 2
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e63]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e7c]
add edx, 2
sub edx, eax
jl 0x5ac682
inc edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x5ac66f
cmp dword [ebp - 0xc], 0x5a
jge 0x5ac66f
cmp dword [ebp - 0x10], 0
jl 0x5ac66f
cmp dword [ebp - 0x10], 0x5a
jge 0x5ac66f
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac2e2
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ax, word [eax + edx*2 + 0x20434]
and ax, 0x7fff
movzx eax, ax
mov dword [ebp - 0x40], eax
jmp 0x5ac309
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
mov ax, word [eax + edx*4 + 0x10]
and ax, 0x7fff
movzx eax, ax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jle 0x5ac66f
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac373
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x20438]
mov dword [ebp - 0x44], eax
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x2043a]
mov dword [ebp - 0x3c], eax
jmp 0x5ac3b3
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x14]
mov dword [ebp - 0x44], eax
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x16]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x5d], 0
test dword [ebp - 0x44], 0x80
jle 0x5ac3c8
mov byte [ebp - 0x5d], 1
and dword [ebp - 0x44], 0x7f
cmp dword [ebp - 0x44], 0
jle 0x5ac44a
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac407
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x20439]
mov dword [ebp - 0x48], eax
jmp 0x5ac427
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x15]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x44]
imul edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x44]
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov edx, dword [ebp - 0x48]
inc edx
mov ecx, edx
cdq
idiv ecx
add dword [ebp - 0x40], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac4e1
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
test byte [eax + edx*2 + 0x20437], 0x80
jbe 0x5ac545
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
test byte [eax + edx*2 + 0x20436], 0x7f
jbe 0x5ac545
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov al, byte [eax + edx*2 + 0x20437]
and al, 0x7f
and eax, 0xff
add dword [ebp - 0x40], eax
jmp 0x5ac545
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
test byte [eax + edx*4 + 0x13], 0x80
jbe 0x5ac545
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
test byte [eax + edx*4 + 0x12], 0x7f
jbe 0x5ac545
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
mov al, byte [eax + edx*4 + 0x13]
and al, 0x7f
and eax, 0xff
add dword [ebp - 0x40], eax
dec dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
call fcn.0062004c
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5ac66f
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
cmp eax, 0x30
jne 0x5ac582
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
cmp eax, 0x20
je 0x5ac5ac
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
cmp eax, 0x60
jne 0x5ac66f
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
cmp eax, 0x40
jne 0x5ac66f
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
mov edx, dword [ebp - 0x20]
add edx, 0x20
sub edx, eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
add eax, dword [ebp - 0x1c]
test eax, eax
jle 0x5ac633
mov eax, dword [0x6e3b80]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1c]
jl 0x5ac633
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
add eax, dword [ebp - 0x24]
test eax, eax
jle 0x5ac633
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5ac633
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x58]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x58]
push eax
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.004970c4
jmp 0x5ac66f
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5ac66f
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x58]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x58]
push eax
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.004970c4
add dword [ebp - 0x1c], 0x30
inc dword [ebp - 0xc]
dec dword [ebp - 0x88]
jne 0x5ac27a
add dword [ebp - 0x20], 0x20
inc dword [ebp - 0x10]
dec dword [ebp - 0x84]
jne 0x5ac213
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ac6df
xor eax, eax
push ebp
push 0x5ad1e3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x38]
sub eax, 0x20
mov dword [ebp - 0x20], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5f]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e67]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e80]
add edx, 0x23
sub edx, eax
jl 0x5ad156
inc edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x5ac751
add dword [ebp - 0x20], 0x20
jmp 0x5ad147
mov eax, dword [ebp - 0x34]
sub eax, 0x60
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5b]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e7c]
sub eax, 2
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e63]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e7c]
add edx, 2
sub edx, eax
jl 0x5acc78
inc edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x5acc65
cmp dword [ebp - 0xc], 0x5a
jge 0x5acc65
cmp dword [ebp - 0x10], 0
jl 0x5acc65
cmp dword [ebp - 0x10], 0x5a
jge 0x5acc65
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac811
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ax, word [eax + edx*2 + 0x20434]
and ax, 0x7fff
movzx eax, ax
mov dword [ebp - 0x40], eax
jmp 0x5ac838
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
mov ax, word [eax + edx*4 + 0x10]
and ax, 0x7fff
movzx eax, ax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jle 0x5acc65
mov byte [ebp - 0x5d], 0
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac8a6
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x2043a]
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x20438]
mov dword [ebp - 0x44], eax
jmp 0x5ac8e6
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x16]
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x14]
mov dword [ebp - 0x44], eax
test dword [ebp - 0x44], 0x80
jle 0x5ac8f7
mov byte [ebp - 0x5d], 1
and dword [ebp - 0x44], 0x7f
cmp dword [ebp - 0x44], 0
jle 0x5ac979
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5ac936
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
movzx eax, byte [eax + edx*2 + 0x20439]
mov dword [ebp - 0x48], eax
jmp 0x5ac956
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x15]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x44]
imul edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x44]
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov edx, dword [ebp - 0x48]
inc edx
mov ecx, edx
cdq
idiv ecx
add dword [ebp - 0x40], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
cmp byte [eax + 0x45ea8], 0
je 0x5aca10
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
test byte [eax + edx*2 + 0x20437], 0x80
jbe 0x5aca74
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
test byte [eax + edx*2 + 0x20436], 0x7f
jbe 0x5aca74
imul eax, dword [ebp - 0xc], 0x27d
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov al, byte [eax + edx*2 + 0x20437]
and al, 0x7f
and eax, 0xff
add dword [ebp - 0x40], eax
jmp 0x5aca74
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
test byte [eax + edx*4 + 0x13], 0x80
jbe 0x5aca74
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
test byte [eax + edx*4 + 0x12], 0x7f
jbe 0x5aca74
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
mov al, byte [eax + edx*4 + 0x13]
and al, 0x7f
and eax, 0xff
add dword [ebp - 0x40], eax
dec dword [ebp - 0x40]
cmp byte [ebp - 0x5d], 0
jne 0x5acbb4
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
call fcn.0062004c
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5acc65
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
cmp eax, 0x30
jne 0x5acabf
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
cmp eax, 0x20
je 0x5acc65
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
cmp eax, 0x60
jne 0x5acae5
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
cmp eax, 0x40
je 0x5acc65
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
mov edx, dword [ebp - 0x20]
add edx, 0x20
sub edx, eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
add eax, dword [ebp - 0x1c]
test eax, eax
jle 0x5acb6f
mov eax, dword [0x6e3b80]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1c]
jl 0x5acb6f
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
add eax, dword [ebp - 0x24]
test eax, eax
jle 0x5acb6f
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5acb6f
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x58]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x58]
push eax
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.004970c4
jmp 0x5acc65
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5acc65
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x58]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x58]
push eax
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.004970c4
jmp 0x5acc65
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
call fcn.006200f0
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5acc65
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x50]
sub eax, 0x44
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x1c], 0
jle 0x5acc3c
mov eax, dword [ebp - 0x58]
mov si, 0xfff8
call fcn.00404650
add eax, dword [ebp - 0x24]
test eax, eax
jle 0x5acc3c
mov eax, dword [ebp - 0x58]
mov si, 0xfff9
call fcn.00404650
add eax, dword [ebp - 0x1c]
mov edx, dword [0x6e3b80]
cmp eax, dword [edx]
jge 0x5acc3c
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5acc3c
mov eax, dword [ebp - 0x58]
push eax
push 1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x4c]
sub edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
call fcn.006447ec
jmp 0x5acc65
mov eax, dword [0x6e3b50]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
jle 0x5acc65
mov eax, dword [ebp - 0x58]
push eax
push 1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x4c]
sub edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
call fcn.006447ec
add dword [ebp - 0x1c], 0x30
inc dword [ebp - 0xc]
dec dword [ebp - 0x88]
jne 0x5ac7a9
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e67]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
cmp eax, dword [ebp - 0x10]
jl 0x5ad143
mov eax, dword [0x6e3a24]
cmp byte [eax], 0
jne 0x5ad143
mov eax, dword [0x6e4314]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5acd38
inc eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x18], 0
mov eax, dword [0x6e4314]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
cmp eax, dword [ebp - 0x10]
jne 0x5acd2d
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 4]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x68]
mov si, 0xffff
call fcn.00404650
inc dword [ebp - 0x18]
dec dword [ebp - 0x88]
jne 0x5accca
mov eax, dword [0x6e3d18]
cmp byte [eax], 0
je 0x5acf21
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5acf21
inc eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x18], 0
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x5acf12
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
test edx, edx
jns 0x5acda6
add edx, 3
sar edx, 2
sub edx, 0xbe
cmp eax, edx
jg 0x5acf12
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b50]
mov edx, dword [edx]
test edx, edx
jns 0x5acddb
add edx, 3
sar edx, 2
sub edx, 0x8c
cmp eax, edx
jg 0x5acf12
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
cmp eax, dword [ebp - 0x10]
jne 0x5acf12
mov eax, dword [ebp - 0x64]
mov edx, dword [eax + 0xc]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.00587730
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x5acf12
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
shl eax, 4
lea eax, [eax + eax*2]
add eax, dword [ebp - 0x34]
mov edx, dword [0x6e47d4]
add eax, dword [edx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x6e49cc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x64]
jne 0x5aceb0
mov eax, dword [ebp - 0x5c]
push eax
push 2
push 0
push 0
mov eax, dword [ebp - 0x5c]
mov si, 0xfff8
call fcn.00404650
sar eax, 1
jns 0x5ace7e
adc eax, 0
mov edx, dword [ebp - 0x2c]
add edx, 0x10
sub edx, eax
push edx
mov eax, dword [ebp - 0x5c]
mov si, 0xfff9
call fcn.00404650
sar eax, 1
jns 0x5ace9a
adc eax, 0
mov edx, dword [ebp - 0x28]
add edx, 0x18
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
pop ecx
call fcn.006448c0
jmp 0x5acf12
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x5c]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x5c]
push eax
push 1
mov eax, dword [ebp - 0x5c]
mov si, 0xfff8
call fcn.00404650
sar eax, 1
jns 0x5acee2
adc eax, 0
mov edx, dword [ebp - 0x2c]
add edx, 0x10
sub edx, eax
push edx
mov eax, dword [ebp - 0x5c]
mov si, 0xfff9
call fcn.00404650
sar eax, 1
jns 0x5acefe
adc eax, 0
mov edx, dword [ebp - 0x28]
add edx, 0x18
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
pop ecx
call fcn.004970c4
inc dword [ebp - 0x18]
dec dword [ebp - 0x88]
jne 0x5acd67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad0da
inc eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x6c], eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x6c]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
test edx, edx
jns 0x5acf7c
add edx, 3
sar edx, 2
sub edx, 0xbe
cmp eax, edx
jg 0x5ad0cb
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x6c]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b50]
mov edx, dword [edx]
test edx, edx
jns 0x5acfb1
add edx, 3
sar edx, 2
sub edx, 0x8c
cmp eax, edx
jg 0x5ad0cb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
mov edx, dword [ebp - 0x6c]
sub eax, dword [edx + 0x160]
cmp eax, dword [ebp - 0x10]
jne 0x5ad0cb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
shl eax, 4
lea eax, [eax + eax*2]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x6c]
add eax, dword [edx + 0x120]
add eax, 0x18
mov edx, dword [ebp - 0x6c]
mov dword [edx + 0x110], eax
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x30], 0
je 0x5ad057
mov eax, dword [ebp - 0x20]
add eax, 0x20
mov edx, dword [ebp - 0x6c]
add eax, dword [edx + 0x124]
add eax, 0x10
sub eax, 0x3c
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 0x160]
shl edx, 5
add eax, edx
mov edx, dword [ebp - 0x6c]
mov dword [edx + 0x114], eax
jmp 0x5ad083
mov eax, dword [ebp - 0x20]
add eax, 0x20
mov edx, dword [ebp - 0x6c]
add eax, dword [edx + 0x124]
add eax, 0x10
sub eax, 0x5f
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 0x160]
shl edx, 5
add eax, edx
mov edx, dword [ebp - 0x6c]
mov dword [edx + 0x114], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x160]
shl eax, 5
add eax, dword [ebp - 0x20]
push eax
push 0
push 1
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x6c]
mov si, 0xfff2
call fcn.00404650
inc dword [ebp - 0x18]
dec dword [ebp - 0x88]
jne 0x5acf44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34ac]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad143
inc eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34ac]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x2c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
cmp eax, dword [ebp - 0x10]
jne 0x5ad138
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x70]
mov si, 0xfffd
call fcn.00404650
inc dword [ebp - 0x18]
dec dword [ebp - 0x88]
jne 0x5ad0f9
add dword [ebp - 0x20], 0x20
inc dword [ebp - 0x10]
dec dword [ebp - 0x84]
jne 0x5ac742
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad1d9
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a4]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x70]
mov si, 0xfffd
call fcn.00404650
mov eax, dword [0x6e4574]
cmp byte [eax], 0
je 0x5ad1ce
mov eax, dword [0x6e39b8]
cmp byte [eax], 0
jne 0x5ad1ce
push 0
push 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x7c]
push eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad175
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ad1f7
xor eax, eax
push ebp
push 0x5ad485
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e4574]
cmp byte [eax], 0
je 0x5ad47b
mov eax, dword [0x6e39b8]
cmp byte [eax], 0
jne 0x5ad47b
mov eax, dword [ebp - 0x38]
sub eax, 0x80
mov dword [ebp - 0x20], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5f]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e80]
sub eax, 4
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e67]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e80]
add edx, 0x23
sub edx, eax
jl 0x5ad374
inc edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x5ad28a
add dword [ebp - 0x20], 0x20
jmp 0x5ad365
mov eax, dword [ebp - 0x34]
sub eax, 0xf0
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov eax, dword [eax + 0x45e5b]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e7c]
sub eax, 5
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
mov edx, dword [edx + 0x45e63]
mov ecx, dword [0x6e49d0]
mov ecx, dword [ecx]
sub edx, dword [ecx + 0x45e7c]
add edx, 5
sub edx, eax
jl 0x5ad361
inc edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x5ad352
cmp dword [ebp - 0xc], 0x5a
jge 0x5ad352
cmp dword [ebp - 0x10], 0
jl 0x5ad352
cmp dword [ebp - 0x10], 0x5a
jge 0x5ad352
imul eax, dword [ebp - 0xc], 0x111
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*4 + 0x17]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jle 0x5ad352
push 0
push 0
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov ecx, dword [eax + 0x45e80]
add ecx, dword [ebp - 0x10]
mov eax, dword [0x6e49d0]
mov eax, dword [eax]
mov edx, dword [eax + 0x45e7c]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
add dword [ebp - 0x1c], 0x30
inc dword [ebp - 0xc]
dec dword [ebp - 0x88]
jne 0x5ad2e4
add dword [ebp - 0x20], 0x20
inc dword [ebp - 0x10]
dec dword [ebp - 0x84]
jne 0x5ad27b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
cmp dword [eax + 8], 0
jle 0x5ad422
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad47b
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x6c], eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x6c]
je 0x5ad3da
mov eax, dword [ebp - 0x6c]
mov si, 0xfff4
call fcn.00404650
test eax, eax
jle 0x5ad415
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x120]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [ebp - 0x6c]
mov si, 0xfff4
call fcn.00404650
push eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x15c]
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x158]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad3aa
jmp 0x5ad47b
mov eax, dword [0x6e42cc]
cmp dword [eax], 0
je 0x5ad47b
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x120]
push eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov si, 0xfff4
call fcn.00404650
push eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x15c]
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov edx, dword [eax + 0x158]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ad499
mov eax, dword [0x6e3a24]
cmp byte [eax], 0
jne 0x5ad764
xor eax, eax
push ebp
push 0x5ad750
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e4878]
cmp byte [eax], 0
jne 0x5ad52f
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
test byte [eax + 0x2e], 0x80
jne 0x5ad52f
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
push 1
push 0
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov si, 0xfff2
call fcn.00404650
mov eax, dword [0x6e4410]
cmp dword [eax], 0
je 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
cmp byte [eax + 0x12], 0x32
jne 0x5ad606
mov eax, dword [0x6e4410]
mov eax, dword [eax]
cmp word [eax + 0x1e], 0x36
je 0x5ad69f
mov edx, dword [0x6e4410]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
call fcn.005b124c
test al, al
je 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov edx, dword [0x6e42cc]
cmp eax, dword [edx]
je 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
test byte [eax + 0x2e], 0x80
jne 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
push 1
push 0
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov si, 0xfff2
call fcn.00404650
jmp 0x5ad69f
mov edx, dword [0x6e4410]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
call fcn.005b124c
test al, al
je 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov edx, dword [0x6e42cc]
cmp eax, dword [edx]
je 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
test byte [eax + 0x2e], 0x80
jne 0x5ad69f
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
push 1
push 0
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [0x6e4410]
mov eax, dword [eax]
mov si, 0xfff2
call fcn.00404650
mov eax, dword [0x6e4af8]
cmp dword [eax], 0
je 0x5ad746
mov edx, dword [0x6e4af8]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
call fcn.005b124c
test al, al
je 0x5ad746
mov eax, dword [0x6e4af8]
mov eax, dword [eax]
mov edx, dword [0x6e42cc]
cmp eax, dword [edx]
je 0x5ad746
mov eax, dword [0x6e4af8]
mov eax, dword [eax]
test byte [eax + 0x2e], 0x80
jne 0x5ad746
mov eax, dword [0x6e4af8]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
push 1
push 0
mov eax, dword [0x6e4af8]
mov eax, dword [eax]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [0x6e4af8]
mov eax, dword [eax]
mov si, 0xfff2
call fcn.00404650
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ad764
xor eax, eax
push ebp
push 0x5ada18
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad871
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x6c], eax
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x6c]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
test edx, edx
jns 0x5ad7cd
add edx, 3
sar edx, 2
sub edx, 0xbe
cmp eax, edx
jg 0x5ad862
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x6c]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b50]
mov edx, dword [edx]
test edx, edx
jns 0x5ad802
add edx, 3
sar edx, 2
sub edx, 0x8c
cmp eax, edx
jg 0x5ad862
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x6c]
mov si, 0xfff1
call fcn.00404650
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad795
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad90f
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a0]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x12], 0
jbe 0x5ad904
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x15c]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x158]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x6c]
mov si, 0xfff1
call fcn.00404650
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad894
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ad992
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34a8]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x70]
mov si, 0xfffd
call fcn.00404650
mov eax, dword [0x6e4574]
cmp byte [eax], 0
je 0x5ad987
mov eax, dword [0x6e39b8]
cmp byte [eax], 0
jne 0x5ad987
push 0
push 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x7c]
push eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad92e
mov eax, dword [0x6e4574]
cmp byte [eax], 0
je 0x5ada0e
mov eax, dword [0x6e39b8]
cmp byte [eax], 0
jne 0x5ada0e
mov eax, dword [0x6e4314]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5ada0e
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [0x6e4314]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x34], 0
jle 0x5ada03
push 0
push 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.005ab4e4
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ad9c6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ada2c
xor eax, eax
push ebp
push 0x5adc0e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5adc04
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x5adbf5
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
test edx, edx
jns 0x5ada9a
add edx, 3
sar edx, 2
sub edx, 0xbe
cmp eax, edx
jg 0x5adbf5
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b50]
mov edx, dword [edx]
test edx, edx
jns 0x5adacf
add edx, 3
sar edx, 2
sub edx, 0x8c
cmp eax, edx
jg 0x5adbf5
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x64]
sub eax, dword [edx + 0x14]
mov edx, dword [0x6e4a78]
cmp eax, dword [edx]
jbe 0x5adb1a
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x64]
mov byte [eax + 0x20], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x64]
xor edx, edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
shl eax, 4
lea eax, [eax + eax*2]
add eax, dword [ebp - 0x34]
mov edx, dword [0x6e47d4]
add eax, dword [edx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
mov edx, dword [0x6e4694]
add eax, dword [edx]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0x20], 0
je 0x5adbf5
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x64]
sub eax, dword [edx + 0x18]
cmp eax, 0x14
jb 0x5adb95
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x64]
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0x1c], 0
jl 0x5adbee
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0x1c], 0xa
jge 0x5adbee
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov edx, dword [eax + 0x1c]
add edx, 0x1a4
mov eax, dword [0x6e4634]
mov eax, dword [eax]
call fcn.004bb2ec
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5adbf5
mov eax, dword [ebp - 0x58]
push eax
push 1
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.006447ec
jmp 0x5adbf5
mov eax, dword [ebp - 0x64]
mov byte [eax + 0x20], 0
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5ada5b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5adc22
xor eax, eax
push ebp
push 0x5aded5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5adecb
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], 0
mov eax, dword [0x6e3b6c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.0041f32c
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x5adebc
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b80]
mov edx, dword [edx]
test edx, edx
jns 0x5adc90
add edx, 3
sar edx, 2
sub edx, 0xbe
cmp eax, edx
jg 0x5adebc
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x64]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x6e3b50]
mov edx, dword [edx]
test edx, edx
jns 0x5adcc5
add edx, 3
sar edx, 2
sub edx, 0x8c
cmp eax, edx
jg 0x5adebc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5b]
shl eax, 4
lea eax, [eax + eax*2]
add eax, dword [ebp - 0x34]
mov edx, dword [0x6e47d4]
add eax, dword [edx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
mov edx, dword [0x6e49d0]
mov edx, dword [edx]
sub eax, dword [edx + 0x45e5f]
dec eax
shl eax, 5
add eax, dword [ebp - 0x38]
mov edx, dword [0x6e4694]
add eax, dword [edx]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x6e3c64]
cmp byte [eax], 1
jne 0x5ade2b
mov eax, dword [0x6e450c]
cmp byte [eax], 1
jne 0x5adebc
mov eax, dword [0x6e4734]
cmp byte [eax + 0x33], 0
je 0x5adebc
mov eax, dword [0x6e3c88]
cmp byte [eax + 2], 0
je 0x5adebc
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0x21], 0
je 0x5adebc
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0x23], 0
je 0x5add8a
mov eax, dword [0x6e4734]
cmp byte [eax + 0x62], 0
je 0x5add8a
mov eax, dword [0x6e439c]
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
jmp 0x5add94
mov eax, dword [0x6e436c]
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
call fcn.004304dc
push eax
lea eax, [ebp - 0xb0]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov eax, dword [ebp - 0xb0]
push eax
lea eax, [ebp - 0xb4]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov edx, dword [ebp - 0xb4]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
mov cl, 1
call fcn.00495104
add eax, eax
mov edx, dword [ebp - 0x2c]
add edx, 0x10
sub edx, eax
push edx
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov edx, dword [ebp - 0xb8]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
mov cl, 1
call fcn.00495f58
sar eax, 1
jns 0x5ade11
adc eax, 0
mov edx, dword [ebp - 0x28]
add edx, 0x18
sub edx, eax
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
pop ecx
call fcn.00496070
jmp 0x5adebc
mov al, 0xff
call fcn.0055ba98
push eax
lea eax, [ebp - 0xbc]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0xc0]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
mov cl, 1
call fcn.00495104
add eax, eax
mov edx, dword [ebp - 0x2c]
add edx, 0x10
sub edx, eax
push edx
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx + 0x10]
call fcn.00405d60
mov edx, dword [ebp - 0xc4]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
mov cl, 1
call fcn.00495f58
sar eax, 1
jns 0x5adea7
adc eax, 0
mov edx, dword [ebp - 0x28]
add edx, 0x18
sub edx, eax
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
pop ecx
call fcn.00496070
inc dword [ebp - 0x18]
dec dword [ebp - 0x84]
jne 0x5adc51
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5adee9
xor eax, eax
push ebp
push 0x5ae633
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e3e90]
cmp byte [eax], 0
je 0x5ae629
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e39e8]
sub eax, dword [edx]
mov edx, dword [0x6e4734]
cmp eax, dword [edx + 0x1c]
jbe 0x5ae629
mov eax, dword [0x6e4734]
cmp byte [eax + 0x18], 0
je 0x5adf48
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e39e8]
sub eax, dword [edx]
mov edx, dword [0x6e3c88]
cmp eax, dword [edx + 0x64]
jb 0x5ae629
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e39e8]
mov dword [edx], eax
mov eax, dword [0x6e4734]
cmp byte [eax + 0x16], 0
je 0x5ae1e4
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [0x6e4a94]
cmp eax, dword [edx]
jle 0x5ae1d6
mov eax, dword [0x6e4710]
cmp byte [eax], 0
je 0x5adfe7
lea ecx, [ebp - 0xcc]
mov edx, dword [0x6e4a94]
mov edx, dword [edx]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc8]
mov edx, 0x5ae914
call fcn.004056ec
mov edx, dword [ebp - 0xc8]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae1ca
mov eax, dword [0x6e488c]
cmp byte [eax], 0
je 0x5ae095
lea edx, [ebp - 0xd0]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
cmp dword [ebp - 0xd0], 0
je 0x5ae1ca
push 0x5ae920
lea edx, [ebp - 0xd8]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
push dword [ebp - 0xd8]
push 0x5ae92c
lea ecx, [ebp - 0xdc]
mov edx, dword [0x6e4a94]
mov edx, dword [edx]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0xdc]
lea eax, [ebp - 0xd4]
mov edx, 4
call fcn.00405768
mov edx, dword [ebp - 0xd4]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae1ca
mov eax, dword [0x6e4afc]
cmp byte [eax], 0
je 0x5ae114
mov eax, dword [0x6e3ab8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x5ae1ca
mov eax, dword [0x6e42cc]
cmp dword [eax], 0
je 0x5ae1ca
lea ecx, [ebp - 0xe4]
mov edx, dword [0x6e4a94]
mov edx, dword [edx]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
mov edx, 0x5ae938
call fcn.004056ec
mov edx, dword [ebp - 0xe0]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae1ca
mov eax, dword [0x6e44e0]
cmp byte [eax], 0
je 0x5ae192
mov eax, dword [0x6e4a7c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c64]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x5ae142
mov eax, dword [0x6e3950]
cmp dword [eax], 0
je 0x5ae1ca
lea ecx, [ebp - 0xec]
mov edx, dword [0x6e4a94]
mov edx, dword [edx]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xec]
lea eax, [ebp - 0xe8]
mov edx, 0x5ae944
call fcn.004056ec
mov edx, dword [ebp - 0xe8]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae1ca
lea ecx, [ebp - 0xf0]
mov edx, dword [0x6e4a94]
mov edx, dword [edx]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xf0]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
mov eax, dword [0x6e4a94]
inc dword [eax]
jmp 0x5ae629
mov eax, dword [0x6e4a94]
xor edx, edx
mov dword [eax], edx
jmp 0x5ae629
lea edx, [ebp - 0xf4]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
cmp dword [ebp - 0xf4], 0
je 0x5ae40b
mov eax, dword [0x6e4710]
cmp byte [eax], 0
je 0x5ae258
lea edx, [ebp - 0xfc]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
mov ecx, dword [ebp - 0xfc]
lea eax, [ebp - 0xf8]
mov edx, 0x5ae914
call fcn.004056ec
mov edx, dword [ebp - 0xf8]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e488c]
cmp byte [eax], 0
je 0x5ae2f8
lea edx, [ebp - 0x100]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
cmp dword [ebp - 0x100], 0
je 0x5ae629
push 0x5ae920
lea edx, [ebp - 0x108]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
push dword [ebp - 0x108]
push 0x5ae92c
lea edx, [ebp - 0x10c]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
push dword [ebp - 0x10c]
lea eax, [ebp - 0x104]
mov edx, 4
call fcn.00405768
mov edx, dword [ebp - 0x104]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e4afc]
cmp byte [eax], 0
je 0x5ae369
mov eax, dword [0x6e3ab8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x5ae629
mov eax, dword [0x6e42cc]
cmp dword [eax], 0
je 0x5ae629
lea edx, [ebp - 0x114]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x110]
mov edx, 0x5ae938
call fcn.004056ec
mov edx, dword [ebp - 0x110]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e44e0]
cmp byte [eax], 0
je 0x5ae3dc
mov eax, dword [0x6e4a7c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c64]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x5ae397
mov eax, dword [0x6e3950]
cmp dword [eax], 0
je 0x5ae629
lea edx, [ebp - 0x11c]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x118]
mov edx, 0x5ae944
call fcn.004056ec
mov edx, dword [ebp - 0x118]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
lea edx, [ebp - 0x120]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5cc]
call fcn.0045c648
mov edx, dword [ebp - 0x120]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e4710]
cmp byte [eax], 0
je 0x5ae462
lea ecx, [ebp - 0x128]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x124]
mov edx, 0x5ae914
call fcn.004056ec
mov edx, dword [ebp - 0x124]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e488c]
cmp byte [eax], 0
je 0x5ae50a
lea edx, [ebp - 0x12c]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
cmp dword [ebp - 0x12c], 0
je 0x5ae629
push 0x5ae920
lea edx, [ebp - 0x134]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x60c]
call fcn.0045c648
push dword [ebp - 0x134]
push 0x5ae92c
lea ecx, [ebp - 0x138]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x138]
lea eax, [ebp - 0x130]
mov edx, 4
call fcn.00405768
mov edx, dword [ebp - 0x130]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e4afc]
cmp byte [eax], 0
je 0x5ae583
mov eax, dword [0x6e3ab8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x5ae629
mov eax, dword [0x6e42cc]
cmp dword [eax], 0
je 0x5ae629
lea ecx, [ebp - 0x140]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x13c]
mov edx, 0x5ae938
call fcn.004056ec
mov edx, dword [ebp - 0x13c]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
mov eax, dword [0x6e44e0]
cmp byte [eax], 0
je 0x5ae5f7
mov eax, dword [0x6e4a7c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c64]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x5ae5ad
mov eax, dword [0x6e3950]
cmp dword [eax], 0
je 0x5ae629
lea ecx, [ebp - 0x148]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x144]
mov edx, 0x5ae944
call fcn.004056ec
mov edx, dword [ebp - 0x144]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
jmp 0x5ae629
lea ecx, [ebp - 0x14c]
mov eax, dword [0x6e3994]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x260]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x14c]
mov eax, dword [0x6e40f0]
mov eax, dword [eax]
call fcn.0056ec2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ae647
xor eax, eax
push ebp
push 0x5ae6ad
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e42cc]
mov eax, dword [eax]
cmp byte [eax + 0x30], 0
je 0x5ae6a3
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov si, 0xfffa
call fcn.00404650
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
push eax
push 0x74
mov ecx, dword [0x6e4694]
mov ecx, dword [ecx]
mov edx, dword [0x6e47d4]
mov edx, dword [edx]
mov eax, dword [0x6e3b68]
mov eax, dword [eax]
call fcn.00494cc8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ae6c1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ae6df
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ae829
lea eax, [ebp - 0x14c]
mov edx, 6
call fcn.004053f8
lea eax, [ebp - 0x134]
call fcn.004053d4
lea eax, [ebp - 0x130]
call fcn.004053d4
lea eax, [ebp - 0x12c]
call fcn.004053d4
lea eax, [ebp - 0x128]
mov edx, 2
call fcn.004053f8
lea eax, [ebp - 0x120]
mov edx, 2
call fcn.004053f8
lea eax, [ebp - 0x118]
call fcn.004053d4
lea eax, [ebp - 0x114]
call fcn.004053d4
lea eax, [ebp - 0x110]
call fcn.004053d4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.004053f8
lea eax, [ebp - 0x104]
call fcn.004053d4
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.004053f8
lea eax, [ebp - 0xf8]
call fcn.004053d4
lea eax, [ebp - 0xf4]
call fcn.004053d4
lea eax, [ebp - 0xf0]
mov edx, 6
call fcn.004053f8
lea eax, [ebp - 0xd8]
call fcn.004053d4
lea eax, [ebp - 0xd4]
call fcn.004053d4
lea eax, [ebp - 0xd0]
call fcn.004053d4
lea eax, [ebp - 0xcc]
mov edx, 2
call fcn.004053f8
lea eax, [ebp - 0xc4]
mov edx, 6
call fcn.00405bf4
lea eax, [ebp - 0xac]
call fcn.004053d4
lea eax, [ebp - 0x98]
call fcn.004053d4
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.00405bf4
lea eax, [ebp - 0x74]
call fcn.004053d4
ret