Function at 0x66bf27
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeec
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x190]
movsx eax, word [ebx + 0xe]
mov dword [ebp - 4], eax
movsx edx, word [ebx + 0xc]
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebx + 0x8a4]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x8c]
shr edx, 8
inc edx
mov eax, dword [ebx + 0x7c]
mov ecx, edx
xor edx, edx
div ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebx + 0x8b0]
mov dword [ebp - 0x34], ecx
test byte [ebp - 8], 0x20
je 0x66bf87
mov eax, 0x800000
jmp 0x66bf8c
mov eax, 0x8000
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0x4c], edx
cmp word [ebx + 0xa], 0
je 0x66bfbb
test byte [ebp - 8], 0x80
jne 0x66bfbb
cmp word [ebx + 8], 3
jge 0x66bfb3
mov ecx, dword [ebp - 0x48]
shl ecx, 2
mov dword [ebp - 0x48], ecx
jmp 0x66bfbb
mov ecx, dword [ebp - 0x48]
add ecx, ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebx + 0x7c]
add eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x8c]
jbe 0x66bfdb
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x8c]
sub eax, dword [ebx + 0x7c]
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
jne 0x66bfe8
xor eax, eax
jmp 0x66e8d0
cmp dword [ebx + 0x7c], 0
jne 0x66c031
push ebx
call fcn.0066b644
pop ecx
mov edx, dword [ebp + 8]
push dword [edx + 0x74]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x70]
lea ecx, [ebx + 0x24]
push ecx
call fcn.0066b53f
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x98], 0
je 0x66c031
mov edx, dword [ebp + 8]
push dword [edx + 0x78]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x70]
lea eax, [ebx + 0x50]
push eax
call fcn.0066b53f
add esp, 0xc
mov edx, dword [ebp - 0x18]
cmp byte [ebx + edx*8 + 0x84], 0
jne 0x66c096
cmp dword [ebx + 0x884], 0
jne 0x66c064
push ebx
call fcn.0066b74b
pop ecx
mov dword [ebx + 0x888], eax
shl eax, 8
push eax
call fcn.0065d4c0
pop ecx
mov dword [ebx + 0x884], eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0x7c]
mov dword [ebx + edx*8 + 0x88], ecx
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebx + 0x888]
add ecx, dword [ebx + 0x884]
push ecx
push ebx
call fcn.0066b7f4
add esp, 8
mov eax, dword [ebp - 0x18]
mov byte [ebx + eax*8 + 0x84], 1
push 0x10
lea edx, [ebx + 0x8b4]
push edx
lea ecx, [ebp - 0x114]
push ecx
call fcn.0065d3f4
add esp, 0xc
push 8
lea eax, [ebx + 0x8c4]
push eax
lea edx, [ebp - 0x40]
push edx
call fcn.0065d3f4
add esp, 0xc
cmp word [ebx + 0xa], 0
je 0x66c0d9
test byte [ebp - 7], 0xa0
je 0x66c0f4
mov dword [ebp - 0xc], 0xffffff00
jmp 0x66c0f4
test byte [ebp - 7], 0x20
je 0x66c0f4
test byte [ebp - 7], 0x80
je 0x66c0ec
mov ecx, 0xfffffe00
jmp 0x66c0f1
mov ecx, 0xffffff00
mov dword [ebp - 0xc], ecx
test byte [ebp - 8], 0x20
je 0x66c126
mov ecx, dword [ebp - 4]
mov eax, 0xff800000
sar eax, cl
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
shl eax, cl
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov eax, 0x7fffff
sar eax, cl
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 4]
shl eax, cl
mov dword [ebp - 0x28], eax
jmp 0x66c150
mov ecx, dword [ebp - 4]
mov eax, 0xffff8000
sar eax, cl
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
shl eax, cl
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov eax, 0x7fff
sar eax, cl
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 4]
shl eax, cl
mov dword [ebp - 0x28], eax
cmp word [ebx + 8], 3
jne 0x66c790
cmp word [ebx + 0xa], 0
jne 0x66c790
test byte [ebp - 8], 1
je 0x66c790
test byte [ebp - 8], 2
je 0x66c2df
test byte [ebp - 8], 0x40
je 0x66c269
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
add dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
add dword [ecx], edx
jmp 0x66c1f4
inc dword [ebx + 0x30]
mov ecx, dword [ebx + 0x30]
cmp ecx, dword [ebx + 0x2c]
jne 0x66c1dc
lea eax, [ebx + 0x24]
push eax
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 4
jl 0x66c1c9
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x50], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66c220
sub dword [ebx + 0x48], 4
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66c228
sub dword [ebx + 0x48], 4
shr dword [ebx + 0x3c], 4
mov ecx, dword [ebp - 0x50]
and ecx, 0xf
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, 4
add ecx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x50]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66c19b
jmp 0x66e603
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
add dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
add dword [ecx], edx
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66c280
jmp 0x66e603
test byte [ebp - 8], 0x10
je 0x66c58f
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
test byte [ebp - 7], 4
je 0x66c320
push 0
push ebx
call fcn.0066e95c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
jmp 0x66c338
push 0
push ebx
call fcn.0066ef33
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
test byte [ebp - 7], 0x80
je 0x66c3c2
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0x14], edx
lea eax, [ebx + 0x8cc]
jmp 0x66c3b5
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4 + 0x10]
mov dword [ebp - 0x58], ecx
mov edx, dword [eax + 8]
imul edx, dword [ebp - 0x58]
add edx, 0x100
sar edx, 9
add edx, edi
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x58], 0
je 0x66c3a3
test edi, edi
je 0x66c3a3
xor edi, dword [ebp - 0x58]
jl 0x66c394
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x200
jne 0x66c3a3
dec dword [eax + 8]
jmp 0x66c3a3
mov edx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp edx, dword [ebp - 0xc]
jne 0x66c3a3
inc dword [eax + 8]
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
and ecx, 7
mov dword [eax + ecx*4 + 0x10], edi
add eax, 0x60
mov edx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test edx, edx
jne 0x66c353
jmp 0x66c440
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x14], eax
lea eax, [ebx + 0x8cc]
jmp 0x66c435
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4 + 0x10]
mov dword [ebp - 0x5c], ecx
mov edx, dword [eax + 8]
imul edx, dword [ebp - 0x5c]
add edx, 0x80
sar edx, 8
add edx, edi
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x5c], 0
je 0x66c423
test edi, edi
je 0x66c423
xor edi, dword [ebp - 0x5c]
jl 0x66c414
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x100
jne 0x66c423
dec dword [eax + 8]
jmp 0x66c423
mov edx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp edx, dword [ebp - 0xc]
jne 0x66c423
inc dword [eax + 8]
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
and ecx, 7
mov dword [eax + ecx*4 + 0x10], edi
add eax, 0x60
mov edx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test edx, edx
jne 0x66c3d3
mov eax, dword [ebp - 0x10]
inc eax
and eax, 7
mov dword [ebp - 0x10], eax
test byte [ebp - 8], 0x40
je 0x66c562
cmp dword [ebx + 0x8a0], 8
jl 0x66c4e1
cmp dword [ebx + 0x48], 0
je 0x66c472
dec dword [ebx + 0x48]
mov ecx, dword [ebx + 0x3c]
and ecx, 1
jmp 0x66c499
inc dword [ebx + 0x30]
mov ecx, dword [ebx + 0x30]
cmp ecx, dword [ebx + 0x2c]
jne 0x66c485
lea eax, [ebx + 0x24]
push eax
call dword [ebx + 0x24]
pop ecx
mov dword [ebx + 0x48], 7
mov edx, dword [ebx + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebx + 0x3c], ecx
and ecx, 1
test ecx, ecx
je 0x66c4a7
shr dword [ebx + 0x3c], 1
mov eax, 1
jmp 0x66c4ac
shr dword [ebx + 0x3c], 1
xor eax, eax
test eax, eax
jne 0x66c53d
jmp 0x66c4e1
inc dword [ebx + 0x30]
mov edx, dword [ebx + 0x30]
cmp edx, dword [ebx + 0x2c]
jne 0x66c4c9
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 4
jl 0x66c4b6
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x54], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66c50d
sub dword [ebx + 0x48], 4
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66c515
sub dword [ebx + 0x48], 4
shr dword [ebx + 0x3c], 4
and dword [ebp - 0x54], 0xf
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebx + 0x89c]
je 0x66c537
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x89c], eax
xor edx, edx
mov dword [ebx + 0x8a0], edx
jmp 0x66c53d
inc dword [ebx + 0x8a0]
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
shl edi, 4
add edi, dword [ebx + 0x89c]
mov dword [ebp - 0x54], edi
add ecx, edi
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66c57b
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
add ecx, edi
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
shl edi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edi
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66c300
jmp 0x66e603
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
lea esi, [ebp - 0x40]
mov eax, dword [esi]
imul dword [ebp - 0x110]
add eax, 0x80
sar eax, 8
add ecx, eax
add ecx, edi
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x110], 0
setge dl
and edx, 1
test edi, edi
setg cl
and ecx, 1
cmp edx, ecx
jne 0x66c60e
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
inc dword [ecx]
cmp eax, 0x100
jne 0x66c61f
lea edx, [ebp - 0x40]
dec dword [edx]
jmp 0x66c61f
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66c61f
lea edx, [ebp - 0x40]
inc dword [edx]
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0x60]
sub eax, dword [ecx]
mov dword [ebp - 0x110], eax
lea edx, [ebp - 0x114]
add dword [edx], eax
test byte [ebp - 8], 0x40
je 0x66c755
cmp dword [ebx + 0x8a0], 8
jl 0x66c6cf
cmp dword [ebx + 0x48], 0
je 0x66c660
dec dword [ebx + 0x48]
mov ecx, dword [ebx + 0x3c]
and ecx, 1
jmp 0x66c687
inc dword [ebx + 0x30]
mov ecx, dword [ebx + 0x30]
cmp ecx, dword [ebx + 0x2c]
jne 0x66c673
lea eax, [ebx + 0x24]
push eax
call dword [ebx + 0x24]
pop ecx
mov dword [ebx + 0x48], 7
mov edx, dword [ebx + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebx + 0x3c], ecx
and ecx, 1
test ecx, ecx
je 0x66c695
shr dword [ebx + 0x3c], 1
mov eax, 1
jmp 0x66c69a
shr dword [ebx + 0x3c], 1
xor eax, eax
test eax, eax
jne 0x66c72b
jmp 0x66c6cf
inc dword [ebx + 0x30]
mov edx, dword [ebx + 0x30]
cmp edx, dword [ebx + 0x2c]
jne 0x66c6b7
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 4
jl 0x66c6a4
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x60], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66c6fb
sub dword [ebx + 0x48], 4
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66c703
sub dword [ebx + 0x48], 4
shr dword [ebx + 0x3c], 4
and dword [ebp - 0x60], 0xf
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebx + 0x89c]
je 0x66c725
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0x89c], eax
xor edx, edx
mov dword [ebx + 0x8a0], edx
jmp 0x66c72b
inc dword [ebx + 0x8a0]
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
shl eax, 4
add eax, dword [ebx + 0x89c]
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add eax, edx
mov dword [ebp - 0x34], eax
add dword [ebp - 0x38], 4
jmp 0x66c77c
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
lea eax, [ebp - 0x114]
add ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x114]
mov eax, dword [edx]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66c5a6
jmp 0x66e603
cmp word [ebx + 8], 3
jne 0x66d848
cmp word [ebx + 0xa], 0
jne 0x66d848
test byte [ebp - 8], 1
jne 0x66d848
mov ecx, dword [ebx + 0x890]
mov dword [ebp - 0x64], ecx
mov eax, dword [ebx + 0x894]
mov dword [ebp - 0x68], eax
mov edx, dword [ebx + 0x88c]
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebx + 0x898]
mov dword [ebp - 0x70], ecx
test byte [ebp - 8], 2
je 0x66ca11
test byte [ebp - 8], 0x40
je 0x66c92e
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
xor edx, edx
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jae 0x66d81f
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66d81f
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov dword [ebp - 0x78], eax
and eax, 1
add edi, edi
or eax, edi
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
add edx, dword [ebp - 0x78]
sar edx, 1
add dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x114]
add dword [eax], ecx
mov edx, dword [ebp - 0x74]
sub edx, dword [ebp - 0x78]
sar edx, 1
add dword [ebp - 0x108], edx
mov ecx, dword [ebp - 0x108]
lea eax, [ebp - 0x10c]
add dword [eax], ecx
jmp 0x66c895
inc dword [ebx + 0x30]
mov edx, dword [ebx + 0x30]
cmp edx, dword [ebx + 0x2c]
jne 0x66c87d
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 8
jl 0x66c86a
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x7c], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66c8c1
sub dword [ebx + 0x48], 8
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66c8c9
sub dword [ebx + 0x48], 8
shr dword [ebx + 0x3c], 8
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
shl eax, 4
mov edx, dword [ebp - 0x7c]
sar edx, 4
and edx, 0xf
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
add eax, ecx
mov dword [ebp - 0x34], eax
add dword [ebp - 0x38], 4
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
shl eax, 4
mov edx, dword [ebp - 0x7c]
and edx, 0xf
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
add eax, ecx
mov dword [ebp - 0x34], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66c7ff
jmp 0x66d81f
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
xor edx, edx
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jae 0x66d81f
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66d81f
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov dword [ebp - 0x84], eax
and eax, 1
add edi, edi
or eax, edi
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x80]
add edx, dword [ebp - 0x84]
sar edx, 1
add dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x80]
sub ecx, dword [ebp - 0x84]
sar ecx, 1
add dword [ebp - 0x108], ecx
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0x110]
add dword [ecx], eax
mov edx, dword [ecx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add edx, eax
mov dword [ebp - 0x34], edx
lea edx, [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
add dword [edx], ecx
mov ecx, dword [edx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x10c]
mov eax, dword [edx]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66c945
jmp 0x66d81f
test byte [ebp - 8], 0x10
je 0x66d419
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jae 0x66d81f
test byte [ebp - 7], 0x10
je 0x66ca67
push 0
push ebx
call fcn.0066e95c
add esp, 8
mov esi, eax
cmp esi, 0x80000000
je 0x66d81f
push 1
push ebx
call fcn.0066e95c
add esp, 8
mov dword [ebp - 0x8c], eax
jmp 0x66cd04
test byte [ebp - 7], 4
je 0x66cbdf
push 0
push ebx
call fcn.0066e95c
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66d81f
push 1
push ebx
call fcn.0066e95c
add esp, 8
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x64]
jle 0x66cb41
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x70]
cmp ecx, edx
jge 0x66cadc
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x70]
jge 0x66cadc
mov dword [ebp - 0x8c], edi
mov esi, eax
add edi, eax
mov dword [ebp - 0x88], edi
mov edx, esi
sub edx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], edx
jmp 0x66cc7c
mov dword [ebp - 0x90], edi
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x64]
jge 0x66cb24
add eax, eax
mov edx, dword [ebp - 0x90]
and edx, 1
or eax, edx
mov dword [ebp - 0x88], eax
mov esi, dword [ebp - 0x88]
add esi, dword [ebp - 0x90]
sar esi, 1
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x90]
sar eax, 1
mov dword [ebp - 0x8c], eax
jmp 0x66cc7c
mov esi, eax
mov edx, eax
sub edx, dword [ebp - 0x90]
mov dword [ebp - 0x8c], edx
add eax, edx
mov dword [ebp - 0x88], eax
jmp 0x66cc7c
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x70]
cmp ecx, edx
jge 0x66cb7c
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x70]
jge 0x66cb7c
mov esi, edi
mov dword [ebp - 0x8c], eax
add edi, eax
mov dword [ebp - 0x88], edi
mov edx, esi
sub edx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], edx
jmp 0x66cc7c
mov dword [ebp - 0x90], edi
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x68]
jge 0x66cbc4
add eax, eax
mov edx, dword [ebp - 0x90]
and edx, 1
or eax, edx
mov dword [ebp - 0x88], eax
mov esi, dword [ebp - 0x88]
add esi, dword [ebp - 0x90]
sar esi, 1
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x90]
sar eax, 1
mov dword [ebp - 0x8c], eax
jmp 0x66cc7c
mov dword [ebp - 0x8c], eax
mov esi, eax
add esi, dword [ebp - 0x90]
add eax, esi
mov dword [ebp - 0x88], eax
jmp 0x66cc7c
push 0
push ebx
call fcn.0066ef33
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66d81f
push 1
push ebx
call fcn.0066ef33
add esp, 8
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x68]
jg 0x66cc3e
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x64]
jg 0x66cc3e
add eax, eax
mov edx, edi
and edx, 1
or eax, edx
mov dword [ebp - 0x88], eax
mov esi, dword [ebp - 0x88]
add esi, edi
sar esi, 1
mov eax, dword [ebp - 0x88]
sub eax, edi
sar eax, 1
mov dword [ebp - 0x8c], eax
jmp 0x66cc6e
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x68]
jg 0x66cc5c
mov esi, eax
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x8c], ecx
add eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x66cc6e
mov dword [ebp - 0x8c], eax
mov esi, eax
add esi, edi
add eax, esi
mov dword [ebp - 0x88], eax
mov eax, esi
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x88]
sar edx, 1
push edx
call fcn.0065d548
pop ecx
mov ecx, dword [ebp - 0x6c]
sar ecx, 8
mov edx, dword [ebp - 0x6c]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x6c], eax
push esi
call fcn.0065d548
pop ecx
mov ecx, dword [ebp - 0x64]
sar ecx, 8
mov edx, dword [ebp - 0x64]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x64], eax
push dword [ebp - 0x8c]
call fcn.0065d548
pop ecx
mov ecx, dword [ebp - 0x68]
sar ecx, 8
mov edx, dword [ebp - 0x68]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x68], eax
push dword [ebp - 0x90]
call fcn.0065d548
pop ecx
mov ecx, dword [ebp - 0x70]
sar ecx, 8
mov edx, dword [ebp - 0x70]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x70], eax
test byte [ebp - 7], 0x40
je 0x66cd04
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
sar eax, 1
mov dword [ebp - 0x8c], eax
test byte [ebp - 7], 0x80
je 0x66cfa9
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0x14], edx
lea eax, [ebx + 0x8cc]
jmp 0x66cf95
cmp dword [eax], 0
jle 0x66ce27
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4 + 0x10]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4 + 0x30]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [eax]
and edx, 7
mov dword [ebp - 0xa4], edx
mov edx, dword [eax + 8]
imul edx, dword [ebp - 0x9c]
add edx, 0x100
sar edx, 9
add edx, esi
mov ecx, dword [eax + 0xc]
imul ecx, dword [ebp - 0xa0]
add ecx, 0x100
sar ecx, 9
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x9c], 0
je 0x66cdbe
test esi, esi
je 0x66cdbe
xor esi, dword [ebp - 0x9c]
jl 0x66cdaf
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x200
jne 0x66cdbe
dec dword [eax + 8]
jmp 0x66cdbe
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66cdbe
inc dword [eax + 8]
cmp dword [ebp - 0xa0], 0
je 0x66ce00
cmp dword [ebp - 0x8c], 0
je 0x66ce00
mov ecx, dword [ebp - 0xa0]
xor ecx, dword [ebp - 0x8c]
jl 0x66cdf1
mov ecx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp ecx, 0x200
jne 0x66ce00
dec dword [eax + 0xc]
jmp 0x66ce00
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66ce00
inc dword [eax + 0xc]
mov esi, edx
mov ecx, dword [ebp - 0xa4]
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0xa4]
mov dword [eax + ecx*4 + 0x30], edx
jmp 0x66cf92
cmp dword [eax], 0xffffffff
jne 0x66cedd
mov edx, dword [eax + 8]
imul edx, dword [eax + 0x10]
add edx, 0x100
sar edx, 9
add edx, esi
cmp dword [eax + 0x10], 0
je 0x66ce73
test esi, esi
je 0x66ce73
xor esi, dword [eax + 0x10]
jl 0x66ce64
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x200
jne 0x66ce73
dec dword [eax + 8]
jmp 0x66ce73
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66ce73
inc dword [eax + 8]
mov esi, edx
mov edx, dword [eax + 0xc]
imul edx, esi
add edx, 0x100
sar edx, 9
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], edx
test esi, esi
je 0x66cec9
cmp dword [ebp - 0x8c], 0
je 0x66cec9
mov ecx, dword [ebp - 0x8c]
xor ecx, esi
jl 0x66ceba
mov edx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp edx, 0x200
jne 0x66cec9
dec dword [eax + 0xc]
jmp 0x66cec9
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66cec9
inc dword [eax + 0xc]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
mov dword [eax + 0x10], edx
jmp 0x66cf92
mov ecx, dword [eax + 8]
imul ecx, dword [eax + 0x10]
add ecx, 0x100
sar ecx, 9
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], ecx
cmp dword [eax + 0x10], 0
je 0x66cf35
cmp dword [ebp - 0x8c], 0
je 0x66cf35
mov edx, dword [eax + 0x10]
xor edx, dword [ebp - 0x8c]
jl 0x66cf26
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x200
jne 0x66cf35
dec dword [eax + 8]
jmp 0x66cf35
mov edx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp edx, dword [ebp - 0xc]
jne 0x66cf35
inc dword [eax + 8]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], ecx
mov edx, dword [eax + 0xc]
imul edx, dword [ebp - 0x8c]
add edx, 0x100
sar edx, 9
add edx, esi
cmp dword [ebp - 0x8c], 0
je 0x66cf8d
test esi, esi
je 0x66cf8d
xor esi, dword [ebp - 0x8c]
jl 0x66cf7e
mov ecx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp ecx, 0x200
jne 0x66cf8d
dec dword [eax + 0xc]
jmp 0x66cf8d
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66cf8d
inc dword [eax + 0xc]
mov esi, edx
mov dword [eax + 0x10], edx
add eax, 0x60
mov edx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test edx, edx
jne 0x66cd22
jmp 0x66d22c
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x14], eax
lea eax, [ebx + 0x8cc]
jmp 0x66d21d
cmp dword [eax], 0
jle 0x66d0af
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4 + 0x10]
mov edx, dword [ebp - 0x10]
mov edx, dword [eax + edx*4 + 0x30]
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x10]
add edx, dword [eax]
and edx, 7
mov dword [ebp - 0xac], edx
mov edx, dword [eax + 8]
imul edx, ecx
add edx, 0x80
sar edx, 8
add edx, esi
mov edi, dword [eax + 0xc]
imul edi, dword [ebp - 0xa8]
add edi, 0x80
sar edi, 8
add edi, dword [ebp - 0x8c]
mov dword [ebp - 0x94], edi
test ecx, ecx
je 0x66d046
test esi, esi
je 0x66d046
xor ecx, esi
jl 0x66d037
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x100
jne 0x66d046
dec dword [eax + 8]
jmp 0x66d046
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66d046
inc dword [eax + 8]
cmp dword [ebp - 0xa8], 0
je 0x66d088
cmp dword [ebp - 0x8c], 0
je 0x66d088
mov ecx, dword [ebp - 0xa8]
xor ecx, dword [ebp - 0x8c]
jl 0x66d079
mov ecx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp ecx, 0x100
jne 0x66d088
dec dword [eax + 0xc]
jmp 0x66d088
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66d088
inc dword [eax + 0xc]
mov esi, edx
mov ecx, dword [ebp - 0xac]
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0xac]
mov dword [eax + ecx*4 + 0x30], edx
jmp 0x66d21a
cmp dword [eax], 0xffffffff
jne 0x66d165
mov edx, dword [eax + 8]
imul edx, dword [eax + 0x10]
add edx, 0x80
sar edx, 8
add edx, esi
cmp dword [eax + 0x10], 0
je 0x66d0fb
test esi, esi
je 0x66d0fb
xor esi, dword [eax + 0x10]
jl 0x66d0ec
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x100
jne 0x66d0fb
dec dword [eax + 8]
jmp 0x66d0fb
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66d0fb
inc dword [eax + 8]
mov esi, edx
mov edx, dword [eax + 0xc]
imul edx, esi
add edx, 0x80
sar edx, 8
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], edx
test esi, esi
je 0x66d151
cmp dword [ebp - 0x8c], 0
je 0x66d151
mov ecx, dword [ebp - 0x8c]
xor ecx, esi
jl 0x66d142
mov edx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp edx, 0x100
jne 0x66d151
dec dword [eax + 0xc]
jmp 0x66d151
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66d151
inc dword [eax + 0xc]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
mov dword [eax + 0x10], edx
jmp 0x66d21a
mov ecx, dword [eax + 8]
imul ecx, dword [eax + 0x10]
add ecx, 0x80
sar ecx, 8
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], ecx
cmp dword [eax + 0x10], 0
je 0x66d1bd
cmp dword [ebp - 0x8c], 0
je 0x66d1bd
mov edx, dword [eax + 0x10]
xor edx, dword [ebp - 0x8c]
jl 0x66d1ae
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x100
jne 0x66d1bd
dec dword [eax + 8]
jmp 0x66d1bd
mov edx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp edx, dword [ebp - 0xc]
jne 0x66d1bd
inc dword [eax + 8]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], ecx
mov edx, dword [eax + 0xc]
imul edx, dword [ebp - 0x8c]
add edx, 0x80
sar edx, 8
add edx, esi
cmp dword [ebp - 0x8c], 0
je 0x66d215
test esi, esi
je 0x66d215
xor esi, dword [ebp - 0x8c]
jl 0x66d206
mov ecx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp ecx, 0x100
jne 0x66d215
dec dword [eax + 0xc]
jmp 0x66d215
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66d215
inc dword [eax + 0xc]
mov esi, edx
mov dword [eax + 0x10], edx
add eax, 0x60
mov edx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test edx, edx
jne 0x66cfbd
mov eax, dword [ebp - 0x10]
inc eax
and eax, 7
mov dword [ebp - 0x10], eax
test byte [ebp - 7], 0x40
je 0x66d277
mov ecx, dword [ebp - 0x8c]
add ecx, ecx
mov dword [ebp - 0x90], esi
and esi, 1
or ecx, esi
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x90]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov esi, dword [ebp - 0x88]
add esi, dword [ebp - 0x90]
sar esi, 1
test byte [ebp - 8], 0x40
je 0x66d3cf
cmp dword [ebx + 0x8a0], 8
jl 0x66d30e
cmp dword [ebx + 0x48], 0
je 0x66d29f
dec dword [ebx + 0x48]
mov eax, dword [ebx + 0x3c]
and eax, 1
jmp 0x66d2c6
inc dword [ebx + 0x30]
mov edx, dword [ebx + 0x30]
cmp edx, dword [ebx + 0x2c]
jne 0x66d2b2
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov dword [ebx + 0x48], 7
mov ecx, dword [ebx + 0x30]
xor eax, eax
mov al, byte [ecx]
mov dword [ebx + 0x3c], eax
and eax, 1
test eax, eax
je 0x66d2d4
shr dword [ebx + 0x3c], 1
mov edx, 1
jmp 0x66d2d9
shr dword [ebx + 0x3c], 1
xor edx, edx
test edx, edx
jne 0x66d379
jmp 0x66d30e
inc dword [ebx + 0x30]
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 0x2c]
jne 0x66d2f6
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 8
jl 0x66d2e3
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x98], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66d33d
sub dword [ebx + 0x48], 8
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66d345
sub dword [ebx + 0x48], 8
shr dword [ebx + 0x3c], 8
and dword [ebp - 0x98], 0xff
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebx + 0x89c]
je 0x66d373
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0x89c], eax
xor edx, edx
mov dword [ebx + 0x8a0], edx
jmp 0x66d379
inc dword [ebx + 0x8a0]
mov ecx, esi
shl ecx, 4
mov eax, dword [ebx + 0x89c]
sar eax, 4
add ecx, eax
mov esi, ecx
mov eax, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
add dword [ebp - 0x38], 4
mov edx, dword [ebp - 0x8c]
shl edx, 4
mov eax, dword [ebx + 0x89c]
and eax, 0xf
add edx, eax
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0x38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add edx, eax
mov dword [ebp - 0x34], edx
add dword [ebp - 0x38], 4
jmp 0x66d405
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*8]
lea edi, [esi + esi*2]
add ecx, edi
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
shl esi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], esi
add dword [ebp - 0x38], 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x8c]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66ca32
jmp 0x66d81f
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
xor edx, edx
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jae 0x66d81f
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66d81f
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x68]
jg 0x66d495
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x64]
jg 0x66d495
push 1
push ebx
call fcn.0066f40c
add esp, 8
add eax, eax
mov ecx, edi
and ecx, 1
or eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
add ecx, edi
sar ecx, 1
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xb0]
sub eax, edi
sar eax, 1
mov dword [ebp - 0xb8], eax
jmp 0x66d4f5
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x68]
jg 0x66d4ca
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov dword [ebp - 0xb4], eax
sub eax, edi
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xb4]
add edx, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], edx
jmp 0x66d4f5
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov dword [ebp - 0xb8], eax
add edi, eax
mov dword [ebp - 0xb4], edi
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebp - 0xb0]
sar ecx, 1
push ecx
call fcn.0065d548
pop ecx
mov edx, dword [ebp - 0x6c]
sar edx, 8
mov ecx, dword [ebp - 0x6c]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x6c], eax
push dword [ebp - 0xb4]
call fcn.0065d548
pop ecx
mov edx, dword [ebp - 0x64]
sar edx, 8
mov ecx, dword [ebp - 0x64]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x64], eax
push dword [ebp - 0xb8]
call fcn.0065d548
pop ecx
mov edx, dword [ebp - 0x68]
sar edx, 8
mov ecx, dword [ebp - 0x68]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x114]
mov ecx, dword [eax]
lea eax, [ebp - 0x40]
mov edx, dword [eax]
imul edx, dword [ebp - 0x110]
add edx, 0x80
sar edx, 8
add ecx, edx
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
mov edx, dword [edx]
imul edx, dword [ebp - 0x108]
add edx, 0x80
sar edx, 8
add eax, edx
add eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0x110], 0
setge al
and eax, 1
cmp dword [ebp - 0xb4], 0
setg cl
and ecx, 1
cmp eax, ecx
jne 0x66d5d5
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
inc dword [ecx]
cmp eax, 0x100
jne 0x66d5e6
lea edx, [ebp - 0x40]
dec dword [edx]
jmp 0x66d5e6
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66d5e6
lea edx, [ebp - 0x40]
inc dword [edx]
cmp dword [ebp - 0x108], 0
setge cl
and ecx, 1
cmp dword [ebp - 0xb8], 0
setg al
and eax, 1
cmp ecx, eax
jne 0x66d619
lea edx, [ebp - 0x3c]
mov eax, dword [edx]
inc dword [edx]
cmp eax, 0x100
jne 0x66d62a
lea edx, [ebp - 0x3c]
dec dword [edx]
jmp 0x66d62a
lea ecx, [ebp - 0x3c]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66d62a
lea edx, [ebp - 0x3c]
inc dword [edx]
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0xbc]
sub eax, dword [ecx]
mov dword [ebp - 0x110], eax
lea edx, [ebp - 0x114]
add dword [edx], eax
lea ecx, [ebp - 0x10c]
mov eax, dword [ebp - 0xc0]
sub eax, dword [ecx]
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x10c]
add dword [edx], eax
test byte [ebp - 8], 0x40
je 0x66d7c6
cmp dword [ebx + 0x8a0], 8
jl 0x66d6f9
cmp dword [ebx + 0x48], 0
je 0x66d68a
dec dword [ebx + 0x48]
mov ecx, dword [ebx + 0x3c]
and ecx, 1
jmp 0x66d6b1
inc dword [ebx + 0x30]
mov ecx, dword [ebx + 0x30]
cmp ecx, dword [ebx + 0x2c]
jne 0x66d69d
lea eax, [ebx + 0x24]
push eax
call dword [ebx + 0x24]
pop ecx
mov dword [ebx + 0x48], 7
mov edx, dword [ebx + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebx + 0x3c], ecx
and ecx, 1
test ecx, ecx
je 0x66d6bf
shr dword [ebx + 0x3c], 1
mov eax, 1
jmp 0x66d6c4
shr dword [ebx + 0x3c], 1
xor eax, eax
test eax, eax
jne 0x66d764
jmp 0x66d6f9
inc dword [ebx + 0x30]
mov edx, dword [ebx + 0x30]
cmp edx, dword [ebx + 0x2c]
jne 0x66d6e1
lea ecx, [ebx + 0x24]
push ecx
call dword [ebx + 0x24]
pop ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
shl edx, cl
or dword [ebx + 0x3c], edx
mov ecx, dword [ebx + 0x48]
add ecx, 8
mov dword [ebx + 0x48], ecx
cmp dword [ebx + 0x48], 8
jl 0x66d6ce
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0xc4], eax
cmp dword [ebx + 0x48], 0x20
jle 0x66d728
sub dword [ebx + 0x48], 8
mov ecx, 8
sub ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x30]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
mov dword [ebx + 0x3c], edx
jmp 0x66d730
sub dword [ebx + 0x48], 8
shr dword [ebx + 0x3c], 8
and dword [ebp - 0xc4], 0xff
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [ebx + 0x89c]
je 0x66d75e
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x89c], eax
xor edx, edx
mov dword [ebx + 0x8a0], edx
jmp 0x66d764
inc dword [ebx + 0x8a0]
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
shl eax, 4
mov edx, dword [ebx + 0x89c]
sar edx, 4
add eax, edx
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add eax, edx
mov dword [ebp - 0x34], eax
add dword [ebp - 0x38], 4
lea ecx, [ebp - 0x10c]
mov ecx, dword [ecx]
shl ecx, 4
mov eax, dword [ebx + 0x89c]
and eax, 0xf
add ecx, eax
mov dword [ebp - 0xc0], ecx
mov eax, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
add dword [ebp - 0x38], 4
jmp 0x66d810
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*8]
lea eax, [ebp - 0x114]
mov ecx, dword [eax]
lea ecx, [ecx + ecx*2]
add edx, ecx
lea eax, [ebp - 0x10c]
add edx, dword [eax]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x114]
mov eax, dword [edx]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
shl edx, cl
mov ecx, dword [ebp - 0x38]
mov dword [ecx], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66d430
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0x890], eax
mov edx, dword [ebp - 0x68]
mov dword [ebx + 0x894], edx
mov ecx, dword [ebp - 0x6c]
mov dword [ebx + 0x88c], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x898], eax
jmp 0x66e603
cmp word [ebx + 8], 3
jne 0x66dc47
cmp word [ebx + 0xa], 0
je 0x66dc47
test byte [ebp - 8], 1
je 0x66dc47
test byte [ebp - 8], 2
je 0x66d94e
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
add dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
add dword [ecx], edx
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66d8f5
lea eax, [ebp - 0x114]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66d8e7
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66d93a
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66d924
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66d916
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66d93a
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66d889
jmp 0x66e603
test dword [ebp - 8], 0x410
je 0x66dafb
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
test byte [ebp - 7], 4
je 0x66d98b
lea edx, [ebp - 0x30]
push edx
push 0
push ebx
call fcn.0066f6dc
add esp, 0xc
mov edi, eax
jmp 0x66d998
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66e603
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x14], eax
lea eax, [ebx + 0x8cc]
jmp 0x66da2a
mov edx, dword [ebp - 0x10]
mov edx, dword [eax + edx*4 + 0x10]
mov ecx, edx
and ecx, 0xffff
imul ecx, dword [eax + 8]
sar ecx, 7
mov esi, edx
and esi, 0xffff0000
sar esi, 7
imul esi, dword [eax + 8]
add ecx, esi
inc ecx
sar ecx, 1
add ecx, edi
mov dword [ebp - 0xc8], ecx
test edx, edx
je 0x66da15
test edi, edi
je 0x66da15
xor edx, edi
jl 0x66da06
mov edx, dword [eax + 8]
inc dword [eax + 8]
cmp edx, 0x100
jne 0x66da15
dec dword [eax + 8]
jmp 0x66da15
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66da15
inc dword [eax + 8]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x10]
add edx, dword [eax]
and edx, 7
mov dword [eax + edx*4 + 0x10], edi
add eax, 0x60
mov ecx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test ecx, ecx
jne 0x66d9b5
mov eax, dword [ebp - 0x10]
inc eax
and eax, 7
mov dword [ebp - 0x10], eax
test byte [ebp - 8], 0x80
je 0x66da8c
test byte [ebp - 7], 1
je 0x66da6e
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebx + 0x8a8]
add edi, ecx
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add eax, edi
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x30]
neg edx
mov dword [ebx + 0x8a8], edx
jmp 0x66da7c
add edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + ecx*2]
add ecx, edi
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 4]
shl edi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edi
add dword [ebp - 0x38], 4
jmp 0x66dae7
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add edx, edi
mov dword [ebp - 0x34], edx
cmp edi, dword [ebp - 0x1c]
jge 0x66daba
mov ecx, dword [ebp - 0x48]
neg ecx
cmp edi, ecx
jge 0x66daac
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66dae7
cmp edi, dword [ebp - 0x20]
jle 0x66dad9
cmp edi, dword [ebp - 0x48]
jle 0x66dacb
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [ebp - 0x38], 4
jmp 0x66dae7
mov ecx, dword [ebp - 4]
shl edi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edi
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66d972
jmp 0x66e603
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
lea esi, [ebp - 0x40]
mov eax, dword [esi]
imul dword [ebp - 0x110]
add eax, 0x80
sar eax, 8
add ecx, eax
add ecx, edi
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0x110], 0
setge dl
and edx, 1
test edi, edi
setg cl
and ecx, 1
cmp edx, ecx
jne 0x66db7d
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
inc dword [ecx]
cmp eax, 0x100
jne 0x66db8e
lea edx, [ebp - 0x40]
dec dword [edx]
jmp 0x66db8e
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66db8e
lea edx, [ebp - 0x40]
inc dword [edx]
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0xcc]
sub eax, dword [ecx]
mov dword [ebp - 0x110], eax
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0xcc]
mov dword [edx], eax
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add eax, edx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x114]
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66dbee
lea eax, [ebp - 0x114]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66dbe0
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66dc33
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66dc1d
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66dc0f
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66dc33
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66db12
jmp 0x66e603
cmp word [ebx + 8], 3
jne 0x66e36c
cmp word [ebx + 0xa], 0
je 0x66e36c
test byte [ebp - 8], 1
jne 0x66e36c
test byte [ebp - 8], 2
je 0x66ddf1
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
add dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
add dword [ecx], edx
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66dcf4
lea eax, [ebp - 0x114]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66dce6
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66dd39
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66dd23
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66dd15
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66dd39
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
push 1
push ebx
call fcn.0066f40c
add esp, 8
add dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x108]
lea ecx, [ebp - 0x10c]
add dword [ecx], edx
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*2]
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66dd98
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66dd8a
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66dddd
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66ddc7
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66ddb9
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66dddd
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66dc88
jmp 0x66e603
test dword [ebp - 8], 0x410
je 0x66e109
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
test byte [ebp - 7], 4
je 0x66de3f
lea edx, [ebp - 0x30]
push edx
push 0
push ebx
call fcn.0066f6dc
add esp, 0xc
mov esi, eax
lea eax, [ebp - 0x2c]
push eax
push 1
push ebx
call fcn.0066f6dc
add esp, 0xc
mov edx, eax
jmp 0x66de59
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov esi, eax
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov edx, eax
cmp esi, 0x80000000
je 0x66e603
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x14], eax
lea eax, [ebx + 0x8cc]
jmp 0x66df98
mov ecx, dword [ebp - 0x10]
mov ecx, dword [eax + ecx*4 + 0x10]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [eax + ecx*4 + 0x30]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax]
and ecx, 7
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0xe0]
and ecx, 0xffff
imul ecx, dword [eax + 8]
sar ecx, 7
mov edi, dword [ebp - 0xe0]
and edi, 0xffff0000
sar edi, 7
imul edi, dword [eax + 8]
add ecx, edi
inc ecx
sar ecx, 1
add ecx, esi
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xe0], 0
je 0x66df0b
test esi, esi
je 0x66df0b
xor esi, dword [ebp - 0xe0]
jl 0x66defc
mov ecx, dword [eax + 8]
inc dword [eax + 8]
cmp ecx, 0x100
jne 0x66df0b
dec dword [eax + 8]
jmp 0x66df0b
mov ecx, dword [eax + 8]
add dword [eax + 8], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66df0b
inc dword [eax + 8]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + ecx*4 + 0x10], esi
mov ecx, dword [ebp - 0xe4]
and ecx, 0xffff
imul ecx, dword [eax + 0xc]
sar ecx, 7
mov edi, dword [ebp - 0xe4]
and edi, 0xffff0000
sar edi, 7
imul edi, dword [eax + 0xc]
add ecx, edi
inc ecx
sar ecx, 1
add ecx, edx
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xe4], 0
je 0x66df85
test edx, edx
je 0x66df85
xor edx, dword [ebp - 0xe4]
jl 0x66df76
mov edx, dword [eax + 0xc]
inc dword [eax + 0xc]
cmp edx, 0x100
jne 0x66df85
dec dword [eax + 0xc]
jmp 0x66df85
mov ecx, dword [eax + 0xc]
add dword [eax + 0xc], 0xffffffff
cmp ecx, dword [ebp - 0xc]
jne 0x66df85
inc dword [eax + 0xc]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + ecx*4 + 0x30], edx
add eax, 0x60
mov ecx, dword [ebp - 0x14]
add dword [ebp - 0x14], 0xffffffff
test ecx, ecx
jne 0x66de79
mov eax, dword [ebp - 0x10]
inc eax
and eax, 7
mov dword [ebp - 0x10], eax
test byte [ebp - 8], 0x80
je 0x66dff1
test byte [ebp - 7], 1
je 0x66dfeb
mov eax, dword [ebp - 0x30]
add eax, dword [ebx + 0x8a8]
add esi, eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebx + 0x8ac]
add edx, ecx
mov eax, dword [ebp - 0x30]
neg eax
mov dword [ebx + 0x8a8], eax
mov ecx, dword [ebp - 0x2c]
neg ecx
mov dword [ebx + 0x8ac], ecx
jmp 0x66dff1
add esi, dword [ebp - 0x30]
add edx, dword [ebp - 0x2c]
test byte [ebp - 7], 0x40
je 0x66e01e
add edx, edx
mov eax, esi
and eax, 1
or edx, eax
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xdc], esi
sub edx, esi
sar edx, 1
mov esi, dword [ebp - 0xd8]
add esi, dword [ebp - 0xdc]
sar esi, 1
mov eax, dword [ebp - 0x34]
lea eax, [eax + eax*8]
lea ecx, [esi + esi*2]
add eax, ecx
add eax, edx
mov dword [ebp - 0x34], eax
test byte [ebp - 8], 0x80
je 0x66e055
mov ecx, dword [ebp - 4]
shl esi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], esi
add dword [ebp - 0x38], 4
mov ecx, dword [ebp - 4]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66e0f5
cmp esi, dword [ebp - 0x1c]
jge 0x66e078
mov eax, dword [ebp - 0x48]
neg eax
cmp esi, eax
jge 0x66e06a
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
add dword [ebp - 0x38], 4
jmp 0x66e0a5
cmp esi, dword [ebp - 0x20]
jle 0x66e097
cmp esi, dword [ebp - 0x48]
jle 0x66e089
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [ebp - 0x38], 4
jmp 0x66e0a5
mov ecx, dword [ebp - 4]
shl esi, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], esi
add dword [ebp - 0x38], 4
cmp edx, dword [ebp - 0x1c]
jge 0x66e0c8
mov ecx, dword [ebp - 0x48]
neg ecx
cmp edx, ecx
jge 0x66e0ba
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
add dword [ebp - 0x38], 4
jmp 0x66e0f5
cmp edx, dword [ebp - 0x20]
jle 0x66e0e7
cmp edx, dword [ebp - 0x48]
jle 0x66e0d9
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66e0f5
mov ecx, dword [ebp - 4]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66de15
jmp 0x66e603
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
lea esi, [ebp - 0x40]
mov eax, dword [esi]
imul dword [ebp - 0x110]
add eax, 0x80
sar eax, 8
add ecx, eax
add ecx, edi
mov dword [ebp - 0xec], ecx
cmp dword [ebp - 0x110], 0
setge dl
and edx, 1
test edi, edi
setg cl
and ecx, 1
cmp edx, ecx
jne 0x66e18b
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
inc dword [ecx]
cmp eax, 0x100
jne 0x66e19c
lea edx, [ebp - 0x40]
dec dword [edx]
jmp 0x66e19c
lea ecx, [ebp - 0x40]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66e19c
lea edx, [ebp - 0x40]
inc dword [edx]
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0xec]
sub eax, dword [ecx]
mov dword [ebp - 0x110], eax
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0xec]
mov dword [edx], eax
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add eax, edx
mov dword [ebp - 0x34], eax
push 1
push ebx
call fcn.0066f40c
add esp, 8
mov edi, eax
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
lea ecx, [ebp - 0x3c]
mov eax, dword [ecx]
imul eax, dword [ebp - 0x108]
add eax, 0x80
sar eax, 8
add edx, eax
add edx, edi
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0x108], 0
setge dl
and edx, 1
test edi, edi
setg cl
and ecx, 1
cmp edx, ecx
jne 0x66e22a
lea ecx, [ebp - 0x3c]
mov eax, dword [ecx]
inc dword [ecx]
cmp eax, 0x100
jne 0x66e23b
lea edx, [ebp - 0x3c]
dec dword [edx]
jmp 0x66e23b
lea ecx, [ebp - 0x3c]
mov eax, dword [ecx]
add dword [ecx], 0xffffffff
test eax, eax
jne 0x66e23b
lea edx, [ebp - 0x3c]
inc dword [edx]
lea ecx, [ebp - 0x10c]
mov eax, dword [ebp - 0xec]
sub eax, dword [ecx]
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0xec]
mov dword [edx], eax
mov edx, dword [ebp - 0x34]
lea edx, [edx + edx*2]
add eax, edx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x114]
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66e29b
lea eax, [ebp - 0x114]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66e28d
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov dword [edx], ecx
add dword [ebp - 0x38], 4
jmp 0x66e2e0
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66e2ca
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66e2bc
mov dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
add dword [ebp - 0x38], 4
jmp 0x66e2e0
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66e313
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x48]
neg edx
cmp eax, edx
jge 0x66e305
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
add dword [ebp - 0x38], 4
jmp 0x66e358
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x20]
jle 0x66e342
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
cmp edx, dword [ebp - 0x48]
jle 0x66e334
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [ebp - 0x38], 4
jmp 0x66e358
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jb 0x66e120
jmp 0x66e603
cmp word [ebx + 8], 2
jne 0x66e453
test byte [ebp - 8], 1
je 0x66e453
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f193
add esp, 8
mov edi, eax
cmp eax, 0x80000000
je 0x66e603
add dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
add dword [ecx], edx
cmp word [ebx + 0xa], 0
je 0x66e429
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1c]
jge 0x66e3fd
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
mov eax, dword [ebp - 0x48]
neg eax
cmp ecx, eax
jge 0x66e3f0
mov dword [ebp - 0x4c], 1
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
jmp 0x66e429
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x20]
jle 0x66e429
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x48]
jle 0x66e41e
mov dword [ebp - 0x4c], 1
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x114]
mov eax, dword [edx]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66e398
jmp 0x66e603
cmp word [ebx + 8], 3
jge 0x66e5fe
test byte [ebp - 8], 1
jne 0x66e5fe
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp + 0x10]
jae 0x66e603
push 0
push ebx
call fcn.0066f193
add esp, 8
mov edi, eax
cmp edi, 0x80000000
je 0x66e603
push 1
push ebx
call fcn.0066f193
add esp, 8
mov dword [ebp - 0xf4], eax
and eax, 1
add edi, edi
or eax, edi
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
add edx, dword [ebp - 0xf4]
sar edx, 1
add dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x114]
add dword [eax], ecx
mov edx, dword [ebp - 0xf0]
sub edx, dword [ebp - 0xf4]
sar edx, 1
add dword [ebp - 0x108], edx
mov ecx, dword [ebp - 0x108]
lea eax, [ebp - 0x10c]
add dword [eax], ecx
cmp word [ebx + 0xa], 0
je 0x66e5c1
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66e537
lea ecx, [ebp - 0x114]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x48]
neg edx
cmp eax, edx
jge 0x66e52a
mov dword [ebp - 0x4c], 1
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
mov dword [ecx], eax
jmp 0x66e563
lea edx, [ebp - 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x20]
jle 0x66e563
lea eax, [ebp - 0x114]
mov edx, dword [eax]
cmp edx, dword [ebp - 0x48]
jle 0x66e558
mov dword [ebp - 0x4c], 1
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x1c]
jge 0x66e595
lea eax, [ebp - 0x10c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
neg eax
cmp edx, eax
jge 0x66e588
mov dword [ebp - 0x4c], 1
lea edx, [ebp - 0x10c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ecx
jmp 0x66e5c1
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x20]
jle 0x66e5c1
lea edx, [ebp - 0x10c]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x48]
jle 0x66e5b6
mov dword [ebp - 0x4c], 1
lea eax, [ebp - 0x10c]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x114]
mov edx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
add dword [ebp - 0x38], 4
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x10c]
mov eax, dword [edx]
shl eax, cl
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ebp - 0x38], 4
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp + 0x10]
jb 0x66e47f
jmp 0x66e603
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp word [ebx + 0xa], 0
je 0x66e610
test byte [ebp - 8], 0x80
je 0x66e672
test byte [ebp - 8], 1
je 0x66e61d
mov eax, 1
jmp 0x66e622
mov eax, 2
imul dword [ebp + 0x10]
shl eax, 2
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0xf8]
jae 0x66e672
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x48]
jg 0x66e65a
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx]
mov eax, dword [ebp - 0x48]
neg eax
cmp ecx, eax
jge 0x66e663
mov dword [ebp - 0x4c], 1
jmp 0x66e672
add dword [ebp - 0x38], 0xc
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0xf8]
jb 0x66e642
cmp dword [ebp - 0x4c], 0
je 0x66e6a1
mov ecx, dword [ebp + 0x10]
shl ecx, 2
test byte [ebp - 8], 1
je 0x66e68b
mov eax, 1
jmp 0x66e690
mov eax, 2
imul ecx, eax
push ecx
push 0
push dword [ebp + 0xc]
call fcn.0065d42c
add esp, 0xc
cmp dword [ebp - 0x44], 0
je 0x66e88e
mov edx, dword [ebp - 0x44]
add dword [ebx + 0x7c], edx
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x8c]
jne 0x66e88e
cmp word [ebx + 8], 3
jne 0x66e6ec
mov edx, dword [ebp + 8]
cmp dword [edx + 0x98], 0
je 0x66e6db
mov ecx, dword [ebx + 0x18]
jmp 0x66e6de
mov ecx, dword [ebx + 0x14]
cmp ecx, dword [ebp - 0x34]
je 0x66e6ec
mov eax, dword [ebp + 8]
inc dword [eax + 0x90]
mov edx, dword [ebp + 8]
test byte [edx + 0x9c], 4
je 0x66e88e
push 0x400
call fcn.0065d4c0
pop ecx
mov dword [ebp - 0xfc], eax
lea ecx, [ebx + 0x24]
push ecx
call fcn.0066b60f
pop ecx
test eax, eax
je 0x66e77b
lea eax, [ebx + 0x24]
push eax
call fcn.0066b60f
pop ecx
mov edx, dword [ebp + 8]
add eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp + 8]
push dword [ecx + 0x5c]
call fcn.0065d4e0
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], eax
lea eax, [ebx + 0x24]
push eax
call fcn.0066b60f
pop ecx
push eax
lea ecx, [ebx + 0x24]
push ecx
call fcn.0066b62c
pop ecx
push eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x60]
push edx
call fcn.0065d3f4
add esp, 0xc
lea edx, [ebx + 0x24]
push edx
call fcn.0066b60f
pop ecx
mov ecx, dword [ebp + 8]
add dword [ecx + 0x60], eax
push 4
push dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x74]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x70]
call dword [edx]
add esp, 0xc
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x66e7f3
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x60]
add eax, dword [ebp - 0x100]
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0x5c]
call fcn.0065d4e0
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], eax
push dword [ebp - 0x100]
push dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
mov eax, dword [ebp + 8]
add ecx, dword [eax + 0x60]
push ecx
call fcn.0065d3f4
add esp, 0xc
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x100]
add dword [edx + 0x60], ecx
jmp 0x66e77b
push dword [ebp - 0xfc]
call fcn.0065d4d0
pop ecx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x60], 0x10
jbe 0x66e88e
xor eax, eax
mov dword [ebp - 0x104], eax
jmp 0x66e81c
inc dword [ebp - 0x104]
cmp dword [ebp - 0x104], 0x10
jge 0x66e83e
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5c]
mov eax, dword [ebp - 0x104]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0xff
je 0x66e816
cmp dword [ebp - 0x104], 0x10
jne 0x66e872
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x60]
sub eax, 0x10
push eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5c]
add ecx, 0x10
push ecx
mov eax, dword [ebp + 8]
push dword [eax + 0x5c]
call fcn.0065d3f4
add esp, 0xc
mov edx, dword [ebp + 8]
sub dword [edx + 0x60], 0x10
jmp 0x66e88e
mov ecx, dword [ebp + 8]
push dword [ecx + 0x5c]
call fcn.0065d4d0
pop ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x60], eax
push 0x10
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebx + 0x8b4]
push ecx
call fcn.0065d3f4
add esp, 0xc
push 8
lea eax, [ebp - 0x40]
push eax
lea edx, [ebx + 0x8c4]
push edx
call fcn.0065d3f4
add esp, 0xc
mov ecx, dword [ebp - 0x34]
mov dword [ebx + 0x8b0], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x8a4], eax
mov eax, dword [ebp - 0x44]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret