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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x96c
mov eax, dword [eax + 0x1804]
mov dword [esp + 0xd0], ecx
mov ecx, dword [ebp + 0x98]
mov dword [esp + 0xd4], edx
mov esi, dword [ebp + 0x1814]
sar dword [ebp + 0x174c], 1
sar dword [ebp + 0x1750], 1
mov ebx, ecx
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0xb0]
imul ebx, dword [ebp + 0x1818]
shl dword [ebp + 0x17dc], 1
shl dword [ebp + 0x17e0], 1
lea edx, [eax + eax]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0xd4]
add ebx, esi
mov dword [esp + 0xf0], ebx
shl edx, 4
lea ebx, [edx + ebp]
mov edi, edx
lea esi, [edx + ebp + 0x10]
mov edx, dword [ebx + 0x179c]
add edx, eax
add eax, dword [ebp + 0x175c]
test byte [ebp + 0x1730], 2
mov dword [esi + 0x179c], edx
mov dword [ebp + 0x176c], eax
je 0x8b83af
mov edx, dword [ebp + 0xb4]
mov eax, dword [ebx + 0x17a0]
add eax, edx
mov dword [esi + 0x17a0], eax
mov eax, dword [ebx + 0x17a4]
add eax, edx
mov dword [esi + 0x17a4], eax
mov eax, dword [ebp + 0x1760]
add eax, edx
add edx, dword [ebp + 0x1764]
mov dword [ebp + 0x1770], eax
mov dword [ebp + 0x1774], edx
mov eax, dword [esp + 0xf0]
lea edi, [ebp + edi + 0x179c]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe8], 1
shl eax, 2
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x988]
mov dword [esp + 0x8c4], edx
mov dword [esp + 0x8cc], 0
mov dword [esp + 0x2c], edi
shr eax, 0x1f
add eax, dword [esp + 0x988]
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xf0]
sub eax, ecx
shl eax, 2
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xf4], 0
shl eax, 4
mov dword [esp + 0x34], eax
add eax, 0x1750
mov dword [esp + 0x8bc], esi
mov dword [esp + 0x8c0], edi
mov dword [esp + 0xf8], 0x7fffffff
mov dword [esp + 0xfc], 0xffffffff
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x8c4]
mov esi, dword [esp + 0x98c]
mov ecx, dword [ebx + ecx*4]
test esi, esi
mov dword [esp + 0x100], ecx
je 0x8b8614
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x980]
mov edi, dword [esp + 0xf0]
mov eax, dword [esi + ebx*4]
movzx eax, byte [eax + edi]
cmp al, 1
ja 0x8c4bde
movzx eax, al
cmp eax, dword [esp + 0xf4]
je 0x8b8614
add dword [esp + 0xf4], 1
add dword [esp + 0x8bc], 1
add dword [esp + 0x8c0], 0x10
cmp dword [esp + 0xf4], 2
jne 0x8b8478
mov ecx, dword [esp + 0x8c4]
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x980]
add edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0xf0]
movsx eax, word [edx]
cmp eax, dword [esp + 0x984]
movsx edx, word [edx + 2]
setne al
movzx eax, al
sub eax, 1
and dword [esp + 0xe8], eax
mov eax, edx
and eax, 1
cmp eax, 1
sbb eax, eax
add edx, edx
and dword [esp + 0xe8], eax
xor eax, eax
cmp edx, dword [esp + 0x988]
movzx edx, byte [esp + 0xfc]
setne al
sub eax, 1
and dword [esp + 0xe8], eax
xor eax, eax
cmp dword [esp + 0xfc], ebx
setne al
sub eax, 1
and dword [esp + 0xe8], eax
mov eax, dword [esi + ebx*4]
mov byte [eax + ecx], dl
mov ebx, dword [esp + 0xf8]
add dword [esp + 0xe0], 1
add dword [esp + 0x8cc], ebx
add dword [esp + 0x8c4], 8
cmp dword [esp + 0xe0], 2
jne 0x8b8427
mov eax, dword [esp + 0xe8]
shl dword [ebp + 0x174c], 1
shl dword [ebp + 0x1750], 1
sar dword [ebp + 0x17dc], 1
sar dword [ebp + 0x17e0], 1
test eax, eax
jne 0x8becd7
mov eax, dword [ebp + 0x16b4]
cmp byte [eax + 0x1d8], 6
je 0x8b8602
mov eax, dword [ebp + 0x172c]
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
add dword [esp + 0x8cc], edx
mov eax, dword [esp + 0x8cc]
add esp, 0x96c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x100]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [ebp + 0x1748]
lea eax, [edx + ecx - 4]
movsx edx, word [eax]
mov ecx, ebx
movsx eax, word [eax + 2]
add ecx, ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x910], ecx
cmp ecx, edx
mov dword [esp + 0x82c], eax
jle 0x8b8657
mov dword [esp + 0x910], edx
mov ebx, dword [ebp + 0x20dc]
mov esi, dword [esp + 0x910]
mov edi, dword [esp + 0x82c]
test ebx, ebx
mov dword [ebp + 0x1754], esi
mov dword [ebp + 0x1758], edi
jne 0x8b8780
mov eax, dword [esp + 0xdc]
add eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x100]
mov esi, dword [esp + 0xdc]
movsx edx, word [eax]
mov dword [esp + 0x828], edx
movsx edx, word [eax + 2]
lea eax, [ebx + esi + 4]
movsx esi, word [eax]
movsx edi, word [eax + 2]
mov eax, dword [ebp + 0x1750]
mov ebx, eax
add ebx, ebx
cmp ebx, edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0x824], ebx
jg 0x8b9180
mov edx, dword [ebp + 0x1744]
mov eax, edx
add eax, eax
cmp eax, esi
mov dword [esp + 0xc4], edx
jl 0x8b91e0
cmp eax, ecx
mov dword [esp + 0x820], eax
jg 0x8b91c6
cmp ebx, edi
mov dword [esp + 0x81c], ebx
jg 0x8b91f3
mov ecx, dword [esp + 0x910]
cmp dword [esp + 0x828], ecx
jge 0x8b9190
mov ebx, dword [esp + 0x820]
cmp dword [esp + 0x828], ebx
jl 0x8bbe7c
mov eax, dword [esp + 0x828]
mov dword [esp + 0x818], eax
mov edx, dword [esp + 0x824]
cmp dword [esp + 0x82c], edx
jle 0x8bbe03
mov ecx, dword [esp + 0x81c]
cmp edx, ecx
jge 0x8bbe13
mov ebx, dword [esp + 0x82c]
mov dword [esp + 0x814], ecx
cmp ecx, ebx
jle 0x8b879a
mov dword [esp + 0x814], ebx
jmp 0x8b879a
mov edx, dword [ebp + 0x1750]
mov ecx, dword [ebp + 0x1744]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x95c], 0
mov eax, dword [ebp + 0x1718]
mov dword [esp + 0x960], 0
mov ebx, dword [ebp + 0x1724]
mov esi, dword [ebp + 0x98]
mov edi, dword [ebp + 0x1814]
mov edx, dword [ebp + 0x174c]
mov dword [esp + 0x104], ebx
mov ebx, dword [ebp + 0x1754]
mov dword [esp + 0x760], esi
mov ecx, dword [ebp + 0x1804]
imul esi, dword [ebp + 0x1818]
mov dword [esp + 0x758], eax
mov eax, dword [ebp + 0x1714]
mov dword [esp + 0x74c], ebx
mov ebx, dword [ebp + 0x171c]
mov dword [esp + 0x754], edx
mov edx, dword [ebp + 0x9bc]
add esi, edi
mov edi, dword [ebp + 0x1730]
mov dword [esp + 0x75c], esi
mov esi, dword [ebp + 0x1758]
mov dword [esp + 0x750], ecx
mov ecx, dword [ebp + 0x9c0]
add ebx, 0x400000
mov dword [esp + 0x744], eax
mov dword [esp + 0x164], edi
and edi, 1
mov dword [esp + 0x740], edi
add edi, 1
test ebx, ebx
mov dword [esp + 0x748], esi
mov dword [esp + 0x73c], edi
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0xc8], ebx
mov dword [ebp + 0x171c], ebx
je 0x8bbe26
mov ecx, dword [ebp + 0x20dc]
test ecx, ecx
je 0x8b8d00
mov ebx, dword [esp + 0x910]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x80c], ebx
jg 0x8c4c16
cmp dword [esp + 0xc0], ebx
jl 0x8c4bfa
mov ebx, dword [esp + 0x82c]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x810], ebx
jg 0x8c4c86
cmp dword [esp + 0xbc], ebx
jl 0x8c4cda
mov edx, dword [esp + 0x80c]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x808], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x804], eax
mov ecx, dword [esp + 0x804]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x800], edx
cmp dword [ecx], edx
je 0x8bb4b0
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x700], ebx
mov ebx, dword [esp + 0x80c]
mov dword [esp + 0x704], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x6e4], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x6e8], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x708], ebx
mov dword [esp + 0x70c], edi
je 0x8bcfc6
mov eax, dword [esp + 0x80c]
cmp eax, dword [ebp + 0x1744]
jl 0x8c45c0
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x6e4], eax
jg 0x8c45c0
mov ebx, dword [esp + 0x810]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c45c0
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x6e8], eax
jg 0x8c45c0
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x710], ebx
mov dword [esp + 0x714], eax
je 0x8c010a
mov eax, dword [esp + 0x6e4]
mov ebx, dword [esp + 0x6e4]
mov esi, dword [esp + 0x6e8]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8bbf3b
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x728], edi
mov edi, dword [esp + 0x6e8]
test edi, edi
je 0x8bbf6d
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x72c], edx
mov eax, dword [esp + 0x714]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x714]
mov edi, dword [esp + 0x728]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x730], eax
mov eax, dword [esp + 0x72c]
and eax, dword [esp + 0x714]
and dword [esp + 0x714], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x714]
test ecx, ecx
mov dword [esp + 0x734], eax
jne 0x8c13fa
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x6f4], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c528a
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c526e
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x6f8], esi
jg 0x8c5252
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5236
mov edi, dword [esp + 0x728]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c521a
mov ebx, dword [esp + 0x72c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c51fe
cmp dword [esp + 0x6f8], ecx
jl 0x8c51e2
cmp esi, edx
jl 0x8c51c6
mov ecx, dword [esp + 0x700]
mov esi, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x6f4], esi
add eax, dword [esp + 0x6f4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x730]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x700]
mov esi, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x734]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x700]
mov edx, dword [esp + 0x70c]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x764], eax
mov eax, dword [esp + 0x800]
mov edi, dword [esp + 0x804]
mov ebx, dword [esp + 0x764]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x808]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x6e8], esi
mov dword [edi], eax
mov edi, dword [esp + 0x6e8]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x6e4], ecx
mov ebx, dword [esp + 0x6e4]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add eax, dword [esp + 0x764]
cmp eax, 0xf423f
mov dword [esp + 0x8c8], eax
jg 0x8bb4b0
mov esi, dword [esp + 0x80c]
mov edi, dword [esp + 0x810]
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
jmp 0x8bb4bb
mov ebx, dword [esp + 0x984]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x91c], ebx
jg 0x8c4c6a
cmp dword [esp + 0xc0], ebx
jl 0x8c4c4e
mov ebx, dword [esp + 0xcc]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x920], ebx
jg 0x8c4c32
cmp dword [esp + 0xbc], ebx
jl 0x8c4cbe
mov edx, dword [esp + 0x91c]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7dc], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7d8], eax
mov ecx, dword [esp + 0x7d8]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7d4], edx
cmp dword [ecx], edx
je 0x8b9210
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x5f0], ebx
mov ebx, dword [esp + 0x91c]
mov dword [esp + 0x5f4], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x5d4], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x5d8], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x5f8], ebx
mov dword [esp + 0x5fc], edi
je 0x8bd14c
mov eax, dword [esp + 0x91c]
cmp eax, dword [ebp + 0x1744]
jl 0x8c45dc
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x5d4], eax
jg 0x8c45dc
mov ebx, dword [esp + 0x920]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c45dc
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x5d8], eax
jg 0x8c45dc
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x600], ebx
mov dword [esp + 0x604], eax
je 0x8bfe0b
mov eax, dword [esp + 0x5d4]
mov ebx, dword [esp + 0x5d4]
mov esi, dword [esp + 0x5d8]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8bbef5
mov edx, ecx
mov edi, dword [esp + 0x5d8]
sub edx, dword [esp + 0x600]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x600]
test edi, edi
mov dword [esp + 0x618], eax
je 0x8bbf13
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x61c], edx
mov eax, dword [esp + 0x604]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x604]
mov edi, dword [esp + 0x618]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x620], eax
mov eax, dword [esp + 0x61c]
and eax, dword [esp + 0x604]
and dword [esp + 0x604], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x604]
test ecx, ecx
mov dword [esp + 0x624], eax
jne 0x8c1661
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x5e4], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c51aa
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c518e
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x5e8], esi
jg 0x8c5172
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5156
mov edi, dword [esp + 0x618]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c513a
mov ebx, dword [esp + 0x61c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c511e
cmp dword [esp + 0x5e8], ecx
jl 0x8c5102
cmp esi, edx
jl 0x8c50e6
mov ecx, dword [esp + 0x5f0]
mov esi, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x5e4], esi
add eax, dword [esp + 0x5e4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x620]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x5f0]
mov esi, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x624]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x5f0]
mov edx, dword [esp + 0x5fc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x93c], eax
mov eax, dword [esp + 0x7d4]
mov edi, dword [esp + 0x7d8]
mov ebx, dword [esp + 0x93c]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7dc]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x5d8], esi
mov dword [edi], eax
mov edi, dword [esp + 0x5d8]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x5d4], ecx
mov ebx, dword [esp + 0x5d4]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add eax, dword [esp + 0x93c]
cmp eax, 0xf423f
mov dword [esp + 0x8c8], eax
jg 0x8b9210
mov esi, dword [esp + 0x91c]
mov edi, dword [esp + 0x920]
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
jmp 0x8b921b
mov dword [esp + 0x824], edx
jmp 0x8b86d4
mov esi, dword [esp + 0x820]
cmp dword [esp + 0x828], esi
jle 0x8b8733
mov edi, dword [esp + 0x910]
mov dword [esp + 0x818], esi
cmp esi, edi
jge 0x8b8741
mov dword [esp + 0x818], edi
jmp 0x8b8741
cmp ebx, edi
mov dword [esp + 0x820], ecx
mov dword [esp + 0x81c], ebx
jle 0x8b870b
jmp 0x8b91f3
mov eax, esi
cmp eax, ecx
mov dword [esp + 0x820], eax
jle 0x8b86fc
jmp 0x8b91c6
mov ecx, dword [esp + 0x910]
cmp dword [esp + 0x828], ecx
mov dword [esp + 0x81c], edi
jge 0x8b9190
jmp 0x8b871f
mov dword [esp + 0x8c8], 0xf4240
mov ebx, dword [esp + 0x818]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x7cc], ebx
jg 0x8c4d12
cmp dword [esp + 0xc0], ebx
jl 0x8c4d2e
mov ebx, dword [esp + 0x814]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x7d0], ebx
jg 0x8c4d4a
cmp dword [esp + 0xbc], ebx
jl 0x8c4d9e
mov edx, dword [esp + 0x7cc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7c8], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7c4], eax
mov ecx, dword [esp + 0x7c4]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7c0], edx
cmp dword [ecx], edx
je 0x8b967c
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x598], ebx
mov ebx, dword [esp + 0x7cc]
mov dword [esp + 0x59c], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x57c], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x580], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x5a0], ebx
mov dword [esp + 0x5a4], edi
je 0x8beaf3
mov eax, dword [esp + 0x7cc]
cmp eax, dword [ebp + 0x1744]
jl 0x8c4614
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x57c], eax
jg 0x8c4614
mov ebx, dword [esp + 0x7d0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c4614
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x580], eax
jg 0x8c4614
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x5a8], ebx
mov dword [esp + 0x5ac], eax
je 0x8bc190
mov eax, dword [esp + 0x57c]
mov ebx, dword [esp + 0x57c]
mov esi, dword [esp + 0x580]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8bf947
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x5c0], edi
mov edi, dword [esp + 0x580]
test edi, edi
je 0x8bf91f
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x5c4], edx
mov eax, dword [esp + 0x5ac]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x5ac]
mov edi, dword [esp + 0x5c0]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0x5c4]
and eax, dword [esp + 0x5ac]
and dword [esp + 0x5ac], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x5ac]
test ecx, ecx
mov dword [esp + 0x5cc], eax
jne 0x8c18c8
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x58c], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5856
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c583a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x590], esi
jg 0x8c581e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5802
mov edi, dword [esp + 0x5c0]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c57e6
mov ebx, dword [esp + 0x5c4]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c57ca
cmp dword [esp + 0x590], ecx
jl 0x8c57ae
cmp esi, edx
jl 0x8c5792
mov ecx, dword [esp + 0x598]
mov esi, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x58c], esi
add eax, dword [esp + 0x58c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5c8]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x598]
mov esi, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x5cc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x598]
mov edx, dword [esp + 0x5a4]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x940], eax
mov eax, dword [esp + 0x7c0]
mov edi, dword [esp + 0x7c4]
mov ebx, dword [esp + 0x940]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7c8]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x580], esi
mov dword [edi], eax
mov edi, dword [esp + 0x580]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x57c], ecx
mov ebx, dword [esp + 0x57c]
mov ecx, dword [esp + 0x940]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8b967c
mov esi, dword [esp + 0x7cc]
mov edi, dword [esp + 0x7d0]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov ebx, dword [esp + 0x910]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x914], ebx
jg 0x8c4df2
cmp dword [esp + 0xc0], ebx
jl 0x8c4e0e
mov ebx, dword [esp + 0x82c]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x918], ebx
jg 0x8c4e2a
cmp dword [esp + 0xbc], ebx
jl 0x8c4e46
mov edx, dword [esp + 0x914]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7bc], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7b8], eax
mov ecx, dword [esp + 0x7b8]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7b4], edx
cmp dword [ecx], edx
je 0x8b9add
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x540], ebx
mov ebx, dword [esp + 0x914]
mov dword [esp + 0x544], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x524], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x528], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x548], ebx
mov dword [esp + 0x54c], edi
je 0x8bf118
mov eax, dword [esp + 0x914]
cmp eax, dword [ebp + 0x1744]
jl 0x8c48cf
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x524], eax
jg 0x8c48cf
mov ebx, dword [esp + 0x918]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c48cf
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x528], eax
jg 0x8c48cf
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x550], ebx
mov dword [esp + 0x554], eax
je 0x8bc53a
mov eax, dword [esp + 0x524]
mov ebx, dword [esp + 0x524]
mov esi, dword [esp + 0x528]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8bfde3
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x568], edi
mov edi, dword [esp + 0x528]
test edi, edi
je 0x8bfdbb
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x56c], edx
mov eax, dword [esp + 0x554]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x554]
mov edi, dword [esp + 0x568]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x570], eax
mov eax, dword [esp + 0x56c]
and eax, dword [esp + 0x554]
and dword [esp + 0x554], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x554]
test ecx, ecx
mov dword [esp + 0x574], eax
jne 0x8c287e
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x534], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5696
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c567a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x538], esi
jg 0x8c565e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5642
mov edi, dword [esp + 0x568]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5626
mov ebx, dword [esp + 0x56c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c560a
cmp dword [esp + 0x538], ecx
jl 0x8c55ee
cmp esi, edx
jl 0x8c55d2
mov ecx, dword [esp + 0x540]
mov esi, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x534], esi
add eax, dword [esp + 0x534]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x570]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x540]
mov esi, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x574]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x540]
mov edx, dword [esp + 0x54c]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x944], eax
mov eax, dword [esp + 0x7b4]
mov edi, dword [esp + 0x7b8]
mov ebx, dword [esp + 0x944]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7bc]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x528], esi
mov dword [edi], eax
mov edi, dword [esp + 0x528]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x524], ecx
mov ebx, dword [esp + 0x524]
mov ecx, dword [esp + 0x944]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8b9add
mov esi, dword [esp + 0x914]
mov edi, dword [esp + 0x918]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov ebx, dword [esp + 0x828]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x7ac], ebx
jg 0x8c4eee
cmp dword [esp + 0xc0], ebx
jl 0x8c4f0a
mov ebx, dword [esp + 0x824]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x7b0], ebx
jg 0x8c4eb6
cmp dword [esp + 0xbc], ebx
jl 0x8c4ed2
mov edx, dword [esp + 0x7ac]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7a8], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7a4], eax
mov ecx, dword [esp + 0x7a4]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7a0], edx
cmp dword [ecx], edx
je 0x8b9f3e
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x4e8], ebx
mov ebx, dword [esp + 0x7ac]
mov dword [esp + 0x4ec], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x4cc], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x4d0], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x4f0], ebx
mov dword [esp + 0x4f4], edi
je 0x8bf799
mov eax, dword [esp + 0x7ac]
cmp eax, dword [ebp + 0x1744]
jl 0x8c493f
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x4cc], eax
jg 0x8c493f
mov ebx, dword [esp + 0x7b0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c493f
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x4d0], eax
jg 0x8c493f
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x4f8], ebx
mov dword [esp + 0x4fc], eax
je 0x8bc70c
mov eax, dword [esp + 0x4cc]
mov ebx, dword [esp + 0x4cc]
mov esi, dword [esp + 0x4d0]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c0657
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x510], edi
mov edi, dword [esp + 0x4d0]
test edi, edi
je 0x8c062f
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x514], edx
mov eax, dword [esp + 0x4fc]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x4fc]
mov edi, dword [esp + 0x510]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x518], eax
mov eax, dword [esp + 0x514]
and eax, dword [esp + 0x4fc]
and dword [esp + 0x4fc], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x4fc]
test ecx, ecx
mov dword [esp + 0x51c], eax
jne 0x8c3460
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x4dc], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c58e2
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c5a32
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x4e0], esi
jg 0x8c5a16
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5952
mov edi, dword [esp + 0x510]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5936
mov ebx, dword [esp + 0x514]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c591a
cmp dword [esp + 0x4e0], ecx
jl 0x8c58fe
cmp esi, edx
jl 0x8c5af6
mov ecx, dword [esp + 0x4e8]
mov esi, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x4dc], esi
add eax, dword [esp + 0x4dc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x518]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x4e8]
mov esi, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x51c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x4e8]
mov edx, dword [esp + 0x4f4]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x948], eax
mov eax, dword [esp + 0x7a0]
mov edi, dword [esp + 0x7a4]
mov ebx, dword [esp + 0x948]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7a8]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x4d0], esi
mov dword [edi], eax
mov edi, dword [esp + 0x4d0]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x4cc], ecx
mov ebx, dword [esp + 0x4cc]
mov ecx, dword [esp + 0x948]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8b9f3e
mov esi, dword [esp + 0x7ac]
mov edi, dword [esp + 0x7b0]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov ebx, dword [esp + 0x820]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x798], ebx
jg 0x8c4f5e
cmp dword [esp + 0xc0], ebx
jl 0x8c4f26
mov ebx, dword [esp + 0x81c]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x79c], ebx
jg 0x8c4f42
cmp dword [esp + 0xbc], ebx
jl 0x8c5006
mov edx, dword [esp + 0x798]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x794], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x790], eax
mov ecx, dword [esp + 0x790]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x78c], edx
cmp dword [ecx], edx
je 0x8ba39f
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x490], ebx
mov ebx, dword [esp + 0x798]
mov dword [esp + 0x494], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x474], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x478], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x498], ebx
mov dword [esp + 0x49c], edi
je 0x8bf9bf
mov eax, dword [esp + 0x798]
cmp eax, dword [ebp + 0x1744]
jl 0x8c495b
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x474], eax
jg 0x8c495b
mov ebx, dword [esp + 0x79c]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c495b
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x478], eax
jg 0x8c495b
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x4a0], ebx
mov dword [esp + 0x4a4], eax
je 0x8bc8de
mov eax, dword [esp + 0x474]
mov ebx, dword [esp + 0x474]
mov esi, dword [esp + 0x478]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c09b2
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x4b8], edi
mov edi, dword [esp + 0x478]
test edi, edi
je 0x8c098a
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x4bc], edx
mov eax, dword [esp + 0x4a4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x4a4]
mov edi, dword [esp + 0x4b8]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x4bc]
and eax, dword [esp + 0x4a4]
and dword [esp + 0x4a4], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x4a4]
test ecx, ecx
mov dword [esp + 0x4c4], eax
jne 0x8c36c7
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x484], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c598a
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c596e
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x488], esi
jg 0x8c5ada
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5abe
mov edi, dword [esp + 0x4b8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5aa2
mov ebx, dword [esp + 0x4bc]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5a86
cmp dword [esp + 0x488], ecx
jl 0x8c5a6a
cmp esi, edx
jl 0x8c5a4e
mov ecx, dword [esp + 0x490]
mov esi, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x484], esi
add eax, dword [esp + 0x484]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4c0]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x490]
mov esi, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x4c4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x490]
mov edx, dword [esp + 0x49c]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x94c], eax
mov eax, dword [esp + 0x78c]
mov edi, dword [esp + 0x790]
mov ebx, dword [esp + 0x94c]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x794]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x478], esi
mov dword [edi], eax
mov edi, dword [esp + 0x478]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x474], ecx
mov ebx, dword [esp + 0x474]
mov ecx, dword [esp + 0x94c]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8ba39f
mov esi, dword [esp + 0x798]
mov edi, dword [esp + 0x79c]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov eax, dword [esp + 0x75c]
mov ecx, dword [esp + 0xc0]
shl eax, 2
mov dword [esp + 0x830], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x830]
movzx edx, word [eax + 2]
movsx eax, word [eax]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x46c], eax
jle 0x8ba3e9
mov dword [esp + 0x46c], ecx
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0x46c], ebx
jge 0x8ba400
mov dword [esp + 0x46c], ebx
mov esi, dword [esp + 0x46c]
cmp dword [esp + 0xc4], esi
jg 0x8c505a
cmp dword [esp + 0xc0], esi
jl 0x8c5076
movsx eax, dx
mov edx, dword [esp + 0xbc]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x470], eax
jle 0x8ba448
mov dword [esp + 0x470], edx
mov ecx, dword [esp + 0x754]
cmp dword [esp + 0x470], ecx
jge 0x8ba45f
mov dword [esp + 0x470], ecx
mov ebx, dword [esp + 0x470]
cmp dword [esp + 0x754], ebx
jg 0x8c5022
cmp dword [esp + 0xbc], ebx
jl 0x8c503e
mov edx, dword [esp + 0x46c]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x788], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x784], eax
mov ecx, dword [esp + 0x784]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x780], edx
cmp dword [ecx], edx
je 0x8ba880
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x430], ebx
mov ebx, dword [esp + 0x46c]
mov dword [esp + 0x434], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x414], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x418], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x438], ebx
mov dword [esp + 0x43c], edi
je 0x8c0459
mov eax, dword [esp + 0x46c]
cmp eax, dword [ebp + 0x1744]
jl 0x8c3426
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x414], eax
jg 0x8c3426
mov ebx, dword [esp + 0x470]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c3426
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x418], eax
jg 0x8c3426
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x440], ebx
mov dword [esp + 0x444], eax
je 0x8c2310
mov eax, dword [esp + 0x414]
mov ebx, dword [esp + 0x414]
mov esi, dword [esp + 0x418]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c13aa
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x458], edi
mov edi, dword [esp + 0x418]
test edi, edi
je 0x8c13d2
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x45c], edx
mov eax, dword [esp + 0x444]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x444]
mov edi, dword [esp + 0x458]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0x45c]
and eax, dword [esp + 0x444]
and dword [esp + 0x444], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x444]
test ecx, ecx
mov dword [esp + 0x464], eax
jne 0x8c3d25
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x424], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5c46
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c5c2a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x428], esi
jg 0x8c5c0e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5bf2
mov edi, dword [esp + 0x458]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5cb6
mov ebx, dword [esp + 0x45c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5c9a
cmp dword [esp + 0x428], ecx
jl 0x8c5c7e
cmp esi, edx
jl 0x8c5c62
mov ecx, dword [esp + 0x430]
mov esi, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x424], esi
add eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x460]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x430]
mov esi, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x464]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x430]
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x950], eax
mov eax, dword [esp + 0x780]
mov edi, dword [esp + 0x784]
mov ebx, dword [esp + 0x950]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x788]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x418], esi
mov dword [edi], eax
mov edi, dword [esp + 0x418]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x414], ecx
mov ebx, dword [esp + 0x414]
mov ecx, dword [esp + 0x950]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8ba880
mov esi, dword [esp + 0x46c]
mov edi, dword [esp + 0x470]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
lea esi, [esi]
cmp dword [esp + 0x8c8], 0x100
jle 0x8bb270
mov edx, dword [esp + 0x830]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xc0]
lea eax, [edx + ecx + 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, ebx
mov dword [esp + 0x40c], eax
jle 0x8ba8ce
mov dword [esp + 0x40c], ebx
mov esi, dword [esp + 0xc4]
cmp dword [esp + 0x40c], esi
jge 0x8ba8e5
mov dword [esp + 0x40c], esi
mov edi, dword [esp + 0x40c]
cmp dword [esp + 0xc4], edi
jg 0x8c4fce
cmp dword [esp + 0xc0], edi
jl 0x8c4fea
movsx eax, dx
mov edx, dword [esp + 0xbc]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x410], eax
jle 0x8ba92d
mov dword [esp + 0x410], edx
mov ecx, dword [esp + 0x754]
cmp dword [esp + 0x410], ecx
jge 0x8ba944
mov dword [esp + 0x410], ecx
mov ebx, dword [esp + 0x410]
cmp dword [esp + 0x754], ebx
jg 0x8c4f96
cmp dword [esp + 0xbc], ebx
jl 0x8c4fb2
mov edx, dword [esp + 0x40c]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x77c], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x778], eax
mov ecx, dword [esp + 0x778]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x774], edx
cmp dword [ecx], edx
je 0x8bad62
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x3d0], ebx
mov ebx, dword [esp + 0x40c]
mov dword [esp + 0x3d4], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x3b4], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x3b8], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3dc], edi
je 0x8bfb95
mov eax, dword [esp + 0x40c]
cmp eax, dword [ebp + 0x1744]
jl 0x8c340a
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x3b4], eax
jg 0x8c340a
mov ebx, dword [esp + 0x410]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c340a
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x3b8], eax
jg 0x8c340a
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e4], eax
je 0x8c1d96
mov eax, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x3b4]
mov esi, dword [esp + 0x3b8]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c1074
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x3f8], edi
mov edi, dword [esp + 0x3b8]
test edi, edi
je 0x8c104c
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x3e4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3f8]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3fc]
and eax, dword [esp + 0x3e4]
and dword [esp + 0x3e4], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x3e4]
test ecx, ecx
mov dword [esp + 0x404], eax
jne 0x8c392e
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x3c4], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5b66
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c5b4a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x3c8], esi
jg 0x8c5b2e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5b12
mov edi, dword [esp + 0x3f8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c59fa
mov ebx, dword [esp + 0x3fc]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5cd2
cmp dword [esp + 0x3c8], ecx
jl 0x8c5d0a
cmp esi, edx
jl 0x8c5cee
mov ecx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x3c4], esi
add eax, dword [esp + 0x3c4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x400]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x404]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x954], eax
mov eax, dword [esp + 0x774]
mov edi, dword [esp + 0x778]
mov ebx, dword [esp + 0x954]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x77c]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x3b8], esi
mov dword [edi], eax
mov edi, dword [esp + 0x3b8]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x3b4], ecx
mov ebx, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x954]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8bad62
mov esi, dword [esp + 0x40c]
mov edi, dword [esp + 0x410]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov edi, dword [ebp + 0x1818]
lea eax, [edi + 1]
cmp eax, dword [ebp + 0xc8]
jge 0x8bb270
mov edx, dword [esp + 0x100]
mov eax, dword [esp + 0x75c]
add eax, dword [esp + 0x760]
mov ecx, dword [esp + 0xc0]
lea eax, [edx + eax*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x3a4], eax
jg 0x8bbfa1
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0x3a4], ebx
jl 0x8bbf95
mov esi, dword [esp + 0x3a4]
cmp dword [esp + 0xc4], esi
jg 0x8c5092
cmp dword [esp + 0xc0], esi
jl 0x8c3442
movsx eax, dx
mov edx, dword [esp + 0xbc]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x3a8], eax
jle 0x8bae13
mov dword [esp + 0x3a8], edx
mov ecx, dword [esp + 0x754]
cmp dword [esp + 0x3a8], ecx
jge 0x8bae2a
mov dword [esp + 0x3a8], ecx
mov ebx, dword [esp + 0x3a8]
cmp dword [esp + 0x754], ebx
jg 0x8c50ae
cmp dword [esp + 0xbc], ebx
jl 0x8c50ca
mov ecx, dword [esp + 0x3a4]
lea eax, [ecx + ebx*8]
mov edx, ecx
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x770], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0x3a8]
mov ebx, dword [esp + 0x76c]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x768], edx
je 0x8bb270
mov eax, dword [ebp + 0x17e0]
mov ebx, ecx
movzx ecx, byte [esp + 0x73c]
mov esi, dword [ebp + 0x17dc]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x8bc]
shl ebx, cl
mov dword [esp + 0x348], ebx
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 0x368], esi
shl eax, 4
lea edx, [ebp + eax + 0x1790]
mov eax, dword [esp + 0x30]
shl ebx, cl
test byte [esp + 0x164], 4
mov dword [esp + 0x34c], ebx
lea esi, [edx + 0xc]
lea ecx, [ebp + eax]
lea ebx, [ecx + 0xc]
mov dword [esp + 0x370], esi
mov dword [esp + 0x374], ebx
je 0x8c3b95
mov esi, dword [esp + 0x3a4]
cmp esi, dword [ebp + 0x1744]
jl 0x8c4ca2
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x348], eax
jg 0x8c4ca2
mov ebx, dword [esp + 0x3a8]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c4ca2
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x34c], eax
jg 0x8c4ca2
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x378], ebx
mov dword [esp + 0x37c], eax
je 0x8c4269
mov eax, dword [esp + 0x348]
mov ebx, dword [esp + 0x348]
mov esi, dword [esp + 0x34c]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c321e
mov edx, ecx
sub edx, dword [esp + 0x378]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x378]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x34c]
test eax, eax
je 0x8c40bb
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x394], edx
mov eax, dword [esp + 0x37c]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x37c]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov edx, dword [esp + 0x390]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x394]
and eax, dword [esp + 0x37c]
and dword [esp + 0x37c], edx
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x37c]
test ecx, ecx
mov dword [esp + 0x39c], eax
jne 0x8c4630
mov edx, dword [ebp + 0x1814]
sar ebx, 1
mov dword [esp + 0x358], ebx
shl edx, 4
add ebx, edx
cmp ebx, 0xfffffff0
jl 0x8c5d7a
mov eax, edi
sar esi, 1
shl eax, 4
lea ecx, [esi + eax]
cmp ecx, 0xfffffff0
jl 0x8c5d5e
mov edi, dword [ebp + 4]
cmp ebx, edi
mov dword [esp + 0x35c], edi
jg 0x8c5dea
mov ebx, dword [ebp + 8]
cmp ecx, ebx
mov dword [esp + 0x360], ebx
jg 0x8c5dce
mov edi, dword [esp + 0x390]
sar edi, 1
lea edx, [edi + edx]
cmp edx, 0xfffffff0
jl 0x8c5db2
mov ebx, dword [esp + 0x394]
sar ebx, 1
lea eax, [ebx + eax]
cmp eax, 0xfffffff0
jl 0x8c5d96
cmp dword [esp + 0x35c], edx
jl 0x8c5d42
cmp dword [esp + 0x360], eax
jl 0x8c5d26
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x370]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
imul esi, eax
mov ecx, dword [ecx]
add dword [esp + 0x358], ecx
mov eax, dword [esp + 0x358]
add eax, esi
mov esi, dword [esp + 0x398]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x370]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, eax
mov dword [esp + 8], eax
add edi, dword [ecx + 0x20]
lea eax, [edi + ebx]
mov ebx, dword [esp + 0x39c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + ebx*4]
mov esi, dword [esp + 0x368]
mov edi, dword [esp + 0x374]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], esi
mov eax, dword [edi]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x958], eax
mov eax, dword [esp + 0x768]
mov edi, dword [esp + 0x76c]
mov ebx, dword [esp + 0x958]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x770]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x34c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x34c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x348], ecx
mov ebx, dword [esp + 0x348]
mov ecx, dword [esp + 0x958]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8bb270
mov esi, dword [esp + 0x3a4]
mov edi, dword [esp + 0x3a8]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
lea esi, [esi]
mov eax, dword [ebp + 0x1740]
cmp eax, 0xffffffff
je 0x8bec79
jl 0x8c09da
cmp eax, 1
jle 0x8bd2dd
cmp eax, 0x300
jg 0x8bcd22
cmp eax, 0x200
nop
jg 0x8bf732
cmp eax, 0x100
nop
lea esi, [esi]
jg 0x8bbe97
mov eax, dword [esp + 0xe0]
lea edx, [esp + 0x95c]
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x104]
mov edi, dword [esp + 0x8bc]
mov ecx, dword [esp + 0x8c8]
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
call fcn.00883f30
mov dword [esp + 0x8c8], eax
mov ebx, eax
nop
mov eax, dword [esp + 0x95c]
lea esi, [esp + 0x964]
mov edx, dword [esp + 0x8bc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x968], eax
mov eax, dword [esp + 0x960]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], 8
mov dword [esp + 0x964], eax
lea eax, [esp + 0x968]
mov dword [esp + 0x18], 0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call dword [ebp + 0x1808]
mov ebx, dword [esp + 0x968]
mov ecx, dword [esp + 0x964]
mov edx, eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0xd8]
mov word [eax], bx
mov word [eax + 2], cx
mov eax, dword [ebp + 0x9d0]
cmp eax, dword [ebp + 0x9e4]
je 0x8bd2d2
mov edi, dword [esp + 0x8c0]
mov eax, ecx
mov edx, ebx
sar eax, 1
and ecx, 1
imul eax, dword [esp + 0xec]
add ecx, ecx
sar edx, 1
and ebx, 1
add edx, dword [edi]
or ecx, ebx
lea eax, [edx + eax]
mov edx, dword [ebp + 0x180c]
test edx, edx
je 0x8bcab0
mov edx, dword [esp + 0xec]
mov dword [esp + 0xc], 8
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x16fc]
mov dword [esp], eax
call dword [ebp + ecx*4 + 0xaa4]
mov esi, dword [esp + 0xec]
mov dword [esp + 0x10], 8
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x16fc]
mov dword [esp + 8], eax
mov eax, dword [edi + ebp + 0x175c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [ebp + 0x9e4]
mov ebx, dword [esp + 0xe4]
mov edx, dword [esp + 0x968]
sub edx, dword [ebp + 0x1754]
movzx ecx, byte [edx + ebx]
mov edx, dword [esp + 0x964]
sub edx, dword [ebp + 0x1758]
movzx edx, byte [edx + ebx]
lea ecx, [ecx + edx + 1]
imul ecx, dword [ebp + 0x172c]
lea edx, [eax + ecx]
mov esi, dword [esp + 0xe0]
xor eax, eax
cmp dword [esp + 0xf4], esi
setne al
lea eax, [edx + eax]
cmp dword [esp + 0xf8], eax
jle 0x8b84d3
mov edi, dword [esp + 0xf4]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edi
jmp 0x8b84d3
mov dword [esp + 0x8c8], 0xf4240
mov eax, dword [esp + 0x75c]
mov ecx, dword [esp + 0xc0]
shl eax, 2
mov dword [esp + 0x830], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x830]
movzx edx, word [eax + 2]
movsx eax, word [eax]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x6dc], eax
jle 0x8bb505
mov dword [esp + 0x6dc], ecx
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0x6dc], ebx
jge 0x8bb51c
mov dword [esp + 0x6dc], ebx
mov esi, dword [esp + 0x6dc]
cmp dword [esp + 0xc4], esi
jg 0x8c4d66
cmp dword [esp + 0xc0], esi
jl 0x8c4d82
movsx eax, dx
mov edx, dword [esp + 0xbc]
shl eax, 0xf
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x6e0], eax
jle 0x8bb564
mov dword [esp + 0x6e0], edx
mov ecx, dword [esp + 0x754]
cmp dword [esp + 0x6e0], ecx
jge 0x8bb57b
mov dword [esp + 0x6e0], ecx
mov ebx, dword [esp + 0x6e0]
cmp dword [esp + 0x754], ebx
jg 0x8c4cf6
cmp dword [esp + 0xbc], ebx
jl 0x8c4dba
mov edx, dword [esp + 0x6dc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7fc], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7f8], eax
mov ecx, dword [esp + 0x7f8]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7f4], edx
cmp dword [ecx], edx
je 0x8bb999
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x6a0], ebx
mov ebx, dword [esp + 0x6dc]
mov dword [esp + 0x6a4], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x684], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x688], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x6a8], ebx
mov dword [esp + 0x6ac], edi
je 0x8be96d
mov eax, dword [esp + 0x6dc]
cmp eax, dword [ebp + 0x1744]
jl 0x8c45f8
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x684], eax
jg 0x8c45f8
mov ebx, dword [esp + 0x6e0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c45f8
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x688], eax
jg 0x8c45f8
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x6b0], ebx
mov dword [esp + 0x6b4], eax
je 0x8bbfbe
mov eax, dword [esp + 0x684]
mov ebx, dword [esp + 0x684]
mov esi, dword [esp + 0x688]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8bf997
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x6c8], edi
mov edi, dword [esp + 0x688]
test edi, edi
je 0x8bf96f
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x6cc], edx
mov eax, dword [esp + 0x6b4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x6b4]
mov edi, dword [esp + 0x6c8]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x6d0], eax
mov eax, dword [esp + 0x6cc]
and eax, dword [esp + 0x6b4]
and dword [esp + 0x6b4], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x6b4]
test ecx, ecx
mov dword [esp + 0x6d4], eax
jne 0x8c1b2f
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x694], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c55b6
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c559a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x698], esi
jg 0x8c557e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5562
mov edi, dword [esp + 0x6c8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c58c6
mov ebx, dword [esp + 0x6cc]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c58aa
cmp dword [esp + 0x698], ecx
jl 0x8c588e
cmp esi, edx
jl 0x8c5872
mov ecx, dword [esp + 0x6a0]
mov esi, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x694], esi
add eax, dword [esp + 0x694]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6d0]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x6a0]
mov esi, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x6d4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x6a0]
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x934], eax
mov eax, dword [esp + 0x7f4]
mov edi, dword [esp + 0x7f8]
mov ebx, dword [esp + 0x934]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7fc]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x688], esi
mov dword [edi], eax
mov edi, dword [esp + 0x688]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x684], ecx
mov ebx, dword [esp + 0x684]
mov ecx, dword [esp + 0x934]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8bb999
mov esi, dword [esp + 0x6dc]
mov edi, dword [esp + 0x6e0]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov ebx, dword [esp + 0x984]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0xc4], ebx
mov dword [esp + 0x7ec], ebx
jg 0x8c4dd6
cmp dword [esp + 0xc0], ebx
jl 0x8c4e62
mov ebx, dword [esp + 0xcc]
movzx ecx, byte [esp + 0x73c]
sar ebx, cl
cmp dword [esp + 0x754], ebx
mov dword [esp + 0x7f0], ebx
jg 0x8c4e7e
cmp dword [esp + 0xbc], ebx
jl 0x8c4e9a
mov edx, dword [esp + 0x7ec]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7e8], eax
add eax, dword [esp + 0x744]
add edx, dword [esp + 0xc8]
mov dword [esp + 0x7e4], eax
mov ecx, dword [esp + 0x7e4]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7e0], edx
cmp dword [ecx], edx
je 0x8ba880
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
movzx ecx, byte [esp + 0x73c]
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x648], ebx
mov ebx, dword [esp + 0x7ec]
mov dword [esp + 0x64c], esi
mov esi, dword [esp + 0x30]
shl edi, cl
shl eax, 4
shl ebx, cl
test byte [esp + 0x164], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + esi]
mov dword [esp + 0x62c], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x630], edi
lea edi, [ecx + 0xc]
mov dword [esp + 0x650], ebx
mov dword [esp + 0x654], edi
je 0x8bf29e
mov eax, dword [esp + 0x7ec]
cmp eax, dword [ebp + 0x1744]
jl 0x8c48eb
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x62c], eax
jg 0x8c48eb
mov ebx, dword [esp + 0x7f0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c48eb
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x630], eax
jg 0x8c48eb
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x658], ebx
mov dword [esp + 0x65c], eax
je 0x8bc368
mov eax, dword [esp + 0x62c]
mov ebx, dword [esp + 0x62c]
mov esi, dword [esp + 0x630]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8bfd93
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x670], edi
mov edi, dword [esp + 0x630]
test edi, edi
je 0x8bfd6b
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x674], edx
mov eax, dword [esp + 0x65c]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x65c]
mov edi, dword [esp + 0x670]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x674]
and eax, dword [esp + 0x65c]
and dword [esp + 0x65c], edi
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, dword [esp + 0x65c]
test ecx, ecx
mov dword [esp + 0x67c], eax
jne 0x8c2ae5
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x63c], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5776
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c575a
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x640], esi
jg 0x8c573e
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5722
mov edi, dword [esp + 0x670]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5706
mov ebx, dword [esp + 0x674]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c56ea
cmp dword [esp + 0x640], ecx
jl 0x8c56ce
cmp esi, edx
jl 0x8c56b2
mov ecx, dword [esp + 0x648]
mov esi, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x63c], esi
add eax, dword [esp + 0x63c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x678]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x648]
mov esi, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x67c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x648]
mov edx, dword [esp + 0x654]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
mov dword [esp + 0x938], eax
mov eax, dword [esp + 0x7e0]
mov edi, dword [esp + 0x7e4]
mov ebx, dword [esp + 0x938]
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0x7e8]
mov esi, dword [esp + 0x748]
sub dword [esp + 0x630], esi
mov dword [edi], eax
mov edi, dword [esp + 0x630]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x750]
mov ecx, dword [esp + 0x74c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x62c], ecx
mov ebx, dword [esp + 0x62c]
mov ecx, dword [esp + 0x938]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8ba880
mov esi, dword [esp + 0x7ec]
mov edi, dword [esp + 0x7f0]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
jmp 0x8ba880
mov esi, dword [esp + 0x81c]
cmp dword [esp + 0x824], esi
jg 0x8bbe5a
mov eax, dword [esp + 0x824]
mov dword [esp + 0x814], eax
jmp 0x8b879a
mov dword [ebp + 0x171c], 0x400000
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov esi, dword [ebp + 0x171c]
mov dword [esp + 0xc8], esi
jmp 0x8b888a
mov edi, dword [esp + 0x82c]
mov dword [esp + 0x814], esi
cmp esi, edi
jge 0x8b879a
mov dword [esp + 0x814], edi
jmp 0x8b879a
cmp ebx, ecx
mov dword [esp + 0x818], ebx
jle 0x8b8741
mov dword [esp + 0x818], ecx
jmp 0x8b8741
mov ecx, dword [esp + 0xe0]
lea edx, [esp + 0x95c]
mov eax, dword [esp + 0x8bc]
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x104]
mov dword [esp], ecx
mov ecx, dword [esp + 0x8c8]
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call fcn.008876f0
mov ebx, eax
mov dword [esp + 0x8c8], eax
jmp 0x8bb310
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x618], edi
mov edi, dword [esp + 0x5d8]
test edi, edi
jne 0x8b8f0d
sub ecx, dword [esp + 0x600]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x600]
mov dword [esp + 0x61c], eax
jmp 0x8b8f1c
mov edx, ecx
mov edi, dword [esp + 0x6e8]
sub edx, dword [esp + 0x710]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x710]
test edi, edi
mov dword [esp + 0x728], eax
jne 0x8b8a91
sub ecx, dword [esp + 0x710]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x710]
mov dword [esp + 0x72c], eax
jmp 0x8b8aa0
mov dword [esp + 0x3a4], ebx
jmp 0x8badcb
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x3a4], ecx
cmp dword [esp + 0x3a4], ebx
jge 0x8badcb
jmp 0x8bbf95
mov esi, dword [esp + 0x6a0]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x8b0], edx
mov dword [esp + 0x6b8], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x8ac], esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x6b8]
mov edx, dword [esp + 0x684]
mov esi, dword [esp + 0x684]
mov edi, dword [esp + 0x688]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bcbbd
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d8], eax
mov dword [esp + 0x6bc], edx
mov eax, dword [esp + 0x688]
test eax, eax
je 0x8bcb78
mov edx, dword [esp + 0x6b8]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x6c0], ecx
mov eax, dword [esp + 0x6b4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x6b4]
imul ebx, dword [esp + 0x8ac]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x6bc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x6c0]
and eax, dword [esp + 0x6b4]
and edx, dword [esp + 0x6b4]
shl eax, cl
add eax, edx
mov dword [esp + 0x6c4], eax
mov eax, dword [esp + 0x8d8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8bcadc
mov ecx, dword [esp + 0x6a0]
sar edi, 2
mov eax, dword [esp + 0x6a8]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x6a0]
sar dword [esp + 0x6c0], 2
mov eax, dword [esp + 0x6c0]
mov edi, dword [esp + 0x8b0]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x6bc], 2
imul eax, esi
mov ecx, dword [esp + 0x6c4]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x6bc], edi
mov dword [esp + 0x6c0], eax
mov eax, dword [esp + 0x6bc]
add eax, dword [esp + 0x6c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x6b8], 1
cmp dword [esp + 0x6b8], 4
jne 0x8bbff8
jmp 0x8bb8be
mov esi, dword [esp + 0x598]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x898], edx
mov dword [esp + 0x5b0], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x894], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ecx
lea esi, [esi]
mov eax, dword [esp + 0x5b0]
mov edx, dword [esp + 0x57c]
mov esi, dword [esp + 0x57c]
mov edi, dword [esp + 0x580]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bcce0
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8e8], eax
mov dword [esp + 0x5b4], edx
mov eax, dword [esp + 0x580]
test eax, eax
je 0x8bcc9b
mov edx, dword [esp + 0x5b0]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x5b8], ecx
mov eax, dword [esp + 0x5ac]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x5ac]
imul ebx, dword [esp + 0x894]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x5b4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x5b8]
and eax, dword [esp + 0x5ac]
and edx, dword [esp + 0x5ac]
shl eax, cl
add eax, edx
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x8e8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8bcbff
mov ecx, dword [esp + 0x598]
sar edi, 2
mov eax, dword [esp + 0x5a0]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x598]
sar dword [esp + 0x5b8], 2
mov eax, dword [esp + 0x5b8]
mov edi, dword [esp + 0x898]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x5b4], 2
imul eax, esi
mov ecx, dword [esp + 0x5bc]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x5b4], edi
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x5b4]
add eax, dword [esp + 0x5b8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x5b0], 1
cmp dword [esp + 0x5b0], 4
jne 0x8bc1d0
jmp 0x8b95a1
mov esi, dword [esp + 0x648]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x8a8], edx
mov dword [esp + 0x660], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x8a4], esi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x660]
mov edx, dword [esp + 0x62c]
mov esi, dword [esp + 0x62c]
mov edi, dword [esp + 0x630]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bcf84
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8e0], eax
mov dword [esp + 0x664], edx
mov eax, dword [esp + 0x630]
test eax, eax
je 0x8bcf3f
mov edx, dword [esp + 0x660]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x668], ecx
mov eax, dword [esp + 0x65c]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x65c]
imul ebx, dword [esp + 0x8a4]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x664]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x668]
and eax, dword [esp + 0x65c]
and edx, dword [esp + 0x65c]
shl eax, cl
add eax, edx
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x8e0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8bcea3
mov ecx, dword [esp + 0x648]
sar edi, 2
mov eax, dword [esp + 0x650]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x648]
sar dword [esp + 0x668], 2
mov eax, dword [esp + 0x668]
mov edi, dword [esp + 0x8a8]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x664], 2
imul eax, esi
mov ecx, dword [esp + 0x66c]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x664], edi
mov dword [esp + 0x668], eax
mov eax, dword [esp + 0x664]
add eax, dword [esp + 0x668]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x660], 1
cmp dword [esp + 0x660], 4
jne 0x8bc3a2
jmp 0x8bbd1f
mov esi, dword [esp + 0x540]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x890], edx
mov dword [esp + 0x558], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x88c], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x558]
mov edx, dword [esp + 0x524]
mov esi, dword [esp + 0x524]
mov edi, dword [esp + 0x528]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bce61
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8ec], eax
mov dword [esp + 0x55c], edx
mov eax, dword [esp + 0x528]
test eax, eax
je 0x8bce1c
mov edx, dword [esp + 0x558]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x560], ecx
mov eax, dword [esp + 0x554]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x554]
imul ebx, dword [esp + 0x88c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x55c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x560]
and eax, dword [esp + 0x554]
and edx, dword [esp + 0x554]
shl eax, cl
add eax, edx
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x8ec]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8bcd80
mov ecx, dword [esp + 0x540]
sar edi, 2
mov eax, dword [esp + 0x548]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x540]
sar dword [esp + 0x560], 2
mov eax, dword [esp + 0x560]
mov edi, dword [esp + 0x890]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x55c], 2
imul eax, esi
mov ecx, dword [esp + 0x564]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x55c], edi
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x55c]
add eax, dword [esp + 0x560]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x558], 1
cmp dword [esp + 0x558], 4
jne 0x8bc574
jmp 0x8b9a02
mov esi, dword [esp + 0x4e8]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x888], edx
mov dword [esp + 0x500], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x884], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x500]
mov edx, dword [esp + 0x4cc]
mov esi, dword [esp + 0x4cc]
mov edi, dword [esp + 0x4d0]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8be911
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8f0], eax
mov dword [esp + 0x504], edx
mov eax, dword [esp + 0x4d0]
test eax, eax
je 0x8be8cc
mov edx, dword [esp + 0x500]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x508], ecx
mov eax, dword [esp + 0x4fc]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x4fc]
imul ebx, dword [esp + 0x884]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x504]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x508]
and eax, dword [esp + 0x4fc]
and edx, dword [esp + 0x4fc]
shl eax, cl
add eax, edx
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x8f0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8be830
mov ecx, dword [esp + 0x4e8]
sar edi, 2
mov eax, dword [esp + 0x4f0]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x4e8]
sar dword [esp + 0x508], 2
mov eax, dword [esp + 0x508]
mov edi, dword [esp + 0x888]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x504], 2
imul eax, esi
mov ecx, dword [esp + 0x50c]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x504], edi
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x504]
add eax, dword [esp + 0x508]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x500], 1
cmp dword [esp + 0x500], 4
jne 0x8bc746
jmp 0x8b9e63
mov esi, dword [esp + 0x490]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x880], edx
mov dword [esp + 0x4a8], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x87c], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x4a8]
mov edx, dword [esp + 0x474]
mov esi, dword [esp + 0x474]
mov edi, dword [esp + 0x478]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bedc8
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8f4], eax
mov dword [esp + 0x4ac], edx
mov eax, dword [esp + 0x478]
test eax, eax
je 0x8bed83
mov edx, dword [esp + 0x4a8]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x4b0], ecx
mov eax, dword [esp + 0x4a4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x4a4]
imul ebx, dword [esp + 0x87c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x4ac]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4b0]
and eax, dword [esp + 0x4a4]
and edx, dword [esp + 0x4a4]
shl eax, cl
add eax, edx
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x8f4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8bece7
mov ecx, dword [esp + 0x490]
sar edi, 2
mov eax, dword [esp + 0x498]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x490]
sar dword [esp + 0x4b0], 2
mov eax, dword [esp + 0x4b0]
mov edi, dword [esp + 0x880]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x4ac], 2
imul eax, esi
mov ecx, dword [esp + 0x4b4]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x4ac], edi
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x4ac]
add eax, dword [esp + 0x4b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x4a8], 1
cmp dword [esp + 0x4a8], 4
jne 0x8bc918
jmp 0x8ba2c4
mov ebx, dword [esp + 0xec]
mov dword [esp + 0xc], 8
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [ebp + 0x16fc]
mov dword [esp], eax
call dword [ebp + ecx*4 + 0xa24]
jmp 0x8bb407
mov eax, dword [esp + 0x6a0]
sar edi, 1
mov ecx, dword [esp + 0x6a8]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x6a0]
mov eax, dword [esp + 0x8b0]
sar dword [esp + 0x6c0], 1
mov ecx, dword [esp + 0x6c0]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x6bc], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x6bc], eax
mov eax, dword [esp + 0x6bc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x6c4]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bc175
mov ebx, dword [esp + 0x6b8]
movzx ecx, byte [esp + 0x74]
mov edx, dword [esp + 0x70]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x6b8]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6b0]
add eax, dword [esp + 0x28]
mov dword [esp + 0x6c0], eax
jmp 0x8bc06e
mov ecx, eax
mov eax, dword [esp + 0x6b8]
mov edx, dword [esp + 0x70]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d8], ecx
movzx ecx, byte [esp + 0x74]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6b0]
add ebx, eax
mov dword [esp + 0x6bc], ebx
jmp 0x8bc044
mov eax, dword [esp + 0x598]
sar edi, 1
mov ecx, dword [esp + 0x5a0]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x598]
mov eax, dword [esp + 0x898]
sar dword [esp + 0x5b8], 1
mov ecx, dword [esp + 0x5b8]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x5b4], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x5b4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x5bc]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bc34d
mov ebx, dword [esp + 0x5b0]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x40]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x5b0]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5a8]
add eax, dword [esp + 0x28]
mov dword [esp + 0x5b8], eax
jmp 0x8bc246
mov ecx, eax
mov eax, dword [esp + 0x5b0]
mov edx, dword [esp + 0x40]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8e8], ecx
movzx ecx, byte [esp + 0x44]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5a8]
add ebx, eax
mov dword [esp + 0x5b4], ebx
jmp 0x8bc21c
mov ecx, dword [esp + 0x104]
lea edx, [esp + 0x95c]
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x8bc]
mov esi, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x8c8]
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp], esi
call fcn.008905c0
mov ebx, eax
mov dword [esp + 0x8c8], eax
jmp 0x8bb310
mov eax, dword [esp + 0x540]
sar edi, 1
mov ecx, dword [esp + 0x548]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x540]
mov eax, dword [esp + 0x890]
sar dword [esp + 0x560], 1
mov ecx, dword [esp + 0x560]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x55c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x55c], eax
mov eax, dword [esp + 0x55c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x564]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bc6f1
mov ebx, dword [esp + 0x558]
movzx ecx, byte [esp + 0x4c]
mov edx, dword [esp + 0x48]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x558]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x550]
add eax, dword [esp + 0x28]
mov dword [esp + 0x560], eax
jmp 0x8bc5ea
mov ecx, eax
mov eax, dword [esp + 0x558]
mov edx, dword [esp + 0x48]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8ec], ecx
movzx ecx, byte [esp + 0x4c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x550]
add ebx, eax
mov dword [esp + 0x55c], ebx
jmp 0x8bc5c0
mov eax, dword [esp + 0x648]
sar edi, 1
mov ecx, dword [esp + 0x650]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x648]
mov eax, dword [esp + 0x8a8]
sar dword [esp + 0x668], 1
mov ecx, dword [esp + 0x668]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x664], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x664], eax
mov eax, dword [esp + 0x664]
mov dword [esp], ebx
mov ebx, dword [esp + 0x66c]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bc51f
mov ebx, dword [esp + 0x660]
movzx ecx, byte [esp + 0x7c]
mov edx, dword [esp + 0x78]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x660]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x658]
add eax, dword [esp + 0x28]
mov dword [esp + 0x668], eax
jmp 0x8bc418
mov ecx, eax
mov eax, dword [esp + 0x660]
mov edx, dword [esp + 0x78]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8e0], ecx
movzx ecx, byte [esp + 0x7c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x658]
add ebx, eax
mov dword [esp + 0x664], ebx
jmp 0x8bc3ee
mov ebx, dword [esp + 0x700]
mov eax, dword [esp + 0x80c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x810]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x764], eax
je 0x8b8c59
mov edx, dword [esp + 0x810]
mov edi, ebx
mov eax, dword [esp + 0x80c]
shl edi, 4
mov esi, dword [esp + 0x80c]
mov ebx, dword [esp + 0x810]
and edx, 1
mov ecx, dword [esp + 0x708]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x704]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x704]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x738], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x738]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x704]
mov dword [esp + 0x6fc], edx
mov edx, dword [esp + 0x708]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6fc]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x738]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x704]
mov edx, dword [esp + 0x70c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x70c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x6fc]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x764], eax
jmp 0x8b8c59
mov ebx, dword [esp + 0x5f0]
mov eax, dword [esp + 0x91c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x920]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x93c], eax
je 0x8b90d5
mov edx, dword [esp + 0x920]
mov edi, ebx
mov eax, dword [esp + 0x91c]
shl edi, 4
mov esi, dword [esp + 0x91c]
mov ebx, dword [esp + 0x920]
and edx, 1
mov ecx, dword [esp + 0x5f8]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x5f4]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x5f4]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x628], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x628]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x5f4]
mov dword [esp + 0x5ec], edx
mov edx, dword [esp + 0x5f8]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5ec]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x628]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x5f4]
mov edx, dword [esp + 0x5fc]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x5fc]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x5ec]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x93c], eax
jmp 0x8b90d5
add edx, dword [ebp + 0x172c]
jmp 0x8bb473
mov esi, dword [ebp + 0x1718]
mov edi, dword [ebp + 0x1744]
mov eax, dword [ebp + 0x174c]
mov edx, dword [ebp + 0x1748]
mov dword [esp + 0x2f8], esi
mov esi, dword [ebp + 0x1754]
mov dword [esp + 0x2f4], edi
mov edi, dword [ebp + 0x1758]
mov dword [esp + 0x2f0], eax
mov eax, dword [ebp + 0x1714]
mov dword [esp + 0x2ec], edx
mov edx, dword [ebp + 0x171c]
mov dword [esp + 0x2e0], esi
mov esi, dword [esp + 0x960]
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0x95c]
mov dword [esp + 0x2d8], eax
mov ecx, dword [ebp + 0x1750]
mov dword [esp + 0x2d4], edx
mov ebx, dword [ebp + 0x1804]
mov dword [esp + 0x908], esi
lea eax, [edi + esi*8]
mov edx, edi
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x344], eax
add eax, dword [esp + 0x2d8]
add edx, dword [esp + 0x2d4]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [ebp + 0x9bc]
mov dword [esp + 0x340], eax
mov eax, esi
shl eax, 0xb
add edx, eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x2e4], ebx
mov ebx, dword [ebp + 0x9c0]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x834], edi
cmp dword [eax], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x33c], edx
je 0x8bd72c
mov ecx, dword [ebp + 0x17e0]
mov eax, dword [esp + 0x8bc]
mov edx, dword [ebp + 0x17dc]
mov dword [esp + 0x290], ecx
movzx ecx, byte [esp + 0x73c]
shl eax, 4
mov dword [esp + 0x28c], edx
lea edx, [ebp + eax + 0x1790]
lea ebx, [edx + 0xc]
shl esi, cl
mov dword [esp + 0x274], esi
mov esi, dword [esp + 0x30]
shl edi, cl
test byte [esp + 0x164], 4
mov dword [esp + 0x270], edi
mov dword [esp + 0x294], ebx
lea ecx, [ebp + esi]
lea edi, [ecx + 0xc]
mov dword [esp + 0x298], edi
je 0x8c40e3
mov eax, dword [esp + 0x834]
cmp dword [esp + 0x2f4], eax
jg 0x8c4f7a
mov eax, dword [esp + 0x2ec]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x270], eax
jg 0x8c4f7a
mov ebx, dword [esp + 0x908]
cmp dword [esp + 0x2f0], ebx
jg 0x8c4f7a
mov eax, dword [esp + 0x2e8]
shl eax, cl
cmp dword [esp + 0x274], eax
jg 0x8c4f7a
mov eax, dword [esp + 0x740]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x2a4], eax
je 0x8c3232
mov eax, dword [esp + 0x270]
mov ebx, dword [esp + 0x270]
mov esi, dword [esp + 0x274]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c4598
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x2b8], edi
mov edi, dword [esp + 0x274]
test edi, edi
je 0x8c4570
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x2bc], edx
mov eax, dword [esp + 0x2a4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x2a4]
mov edi, dword [esp + 0x2b8]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov edx, dword [esp + 0x740]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x2bc]
and eax, dword [esp + 0x2a4]
and dword [esp + 0x2a4], edi
shl eax, cl
add eax, dword [esp + 0x2a4]
test edx, edx
mov dword [esp + 0x2c4], eax
jne 0x8c4977
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x280], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8c5e22
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c5eca
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x284], esi
jg 0x8c5eae
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5e92
mov edi, dword [esp + 0x2b8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5e76
mov ebx, dword [esp + 0x2bc]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5e5a
cmp dword [esp + 0x284], ecx
jl 0x8c5e3e
cmp esi, edx
jl 0x8c5e06
mov ecx, dword [esp + 0x28c]
mov esi, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x280], esi
add eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2c0]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x28c]
mov esi, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x28c]
mov edx, dword [esp + 0x298]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov dword [esp + 0x29c], eax
mov edi, dword [esp + 0x2f8]
mov edx, dword [esp + 0x29c]
mov eax, dword [esp + 0x344]
mov ebx, dword [esp + 0x33c]
mov ecx, dword [esp + 0x340]
mov dword [edi + eax], edx
mov dword [ecx], ebx
mov esi, dword [esp + 0x95c]
mov edi, dword [esp + 0x960]
mov dword [esp + 0x834], esi
mov dword [esp + 0x908], edi
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x164]
mov dword [esp + 0x2cc], 0xffffffff
and eax, 4
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x740]
and edx, 2
mov dword [esp + 0x238], edx
add eax, eax
add eax, 1
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x8bc]
shl eax, 4
add eax, 0x1790
mov dword [esp + 0x98], eax
jmp 0x8be802
mov edx, dword [esp + 0x908]
sub edi, 1
mov dword [esp + 0x338], edi
lea eax, [edi + edx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x334], eax
add eax, dword [esp + 0x2d8]
mov dword [esp + 0x330], eax
mov ecx, dword [esp + 0x330]
mov eax, edx
shl eax, 0xb
add eax, edi
add eax, dword [esp + 0x2d4]
cmp dword [ecx], eax
mov dword [esp + 0x32c], eax
je 0x8be820
movzx ecx, byte [esp + 0x73c]
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
shl edi, cl
mov dword [esp + 0x210], edi
mov edi, dword [esp + 0x30]
shl edx, cl
mov dword [esp + 0x230], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x214], edx
mov dword [esp + 0x234], esi
lea ecx, [ebp + edi]
lea eax, [ecx + 0xc]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x218]
lea edx, [ebp + ebx]
lea esi, [edx + 0xc]
mov dword [esp + 0x23c], esi
test eax, eax
je 0x8bee0a
mov ecx, dword [esp + 0x338]
cmp ecx, dword [ebp + 0x1744]
jl 0x8c4897
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x210], eax
jg 0x8c4897
mov ebx, dword [esp + 0x908]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c4897
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x214], eax
jg 0x8c4897
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x244], ebx
je 0x8c067f
mov eax, dword [esp + 0x210]
mov edi, dword [esp + 0x210]
mov ebx, dword [esp + 0x214]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8bfb6d
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x214]
test eax, eax
je 0x8bfb45
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x260], edx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x25c]
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x260]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, edx
mov dword [esp + 0x268], eax
test ecx, ecx
jne 0x8c20a7
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x224], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8c549e
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c54d6
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x228], edi
jg 0x8c54ba
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5546
mov edi, dword [esp + 0x25c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c552a
mov ebx, dword [esp + 0x260]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c550e
cmp dword [esp + 0x228], ecx
jl 0x8c54f2
cmp esi, edx
jl 0x8c52a6
mov ecx, dword [esp + 0x230]
mov esi, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x224], esi
add eax, dword [esp + 0x224]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x264]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x230]
mov esi, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x230]
mov edx, dword [esp + 0x240]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x32c]
mov edi, dword [esp + 0x330]
mov ebx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x334]
mov esi, dword [esp + 0x2e0]
sub dword [esp + 0x210], esi
mov dword [edi], eax
mov edi, dword [esp + 0x210]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2dc]
movzx eax, byte [edi + edx]
sub dword [esp + 0x214], ecx
mov ebx, dword [esp + 0x214]
mov ecx, dword [esp + 0x2d0]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8be820
mov esi, dword [esp + 0x338]
mov edi, dword [esp + 0x908]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x930], 0
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
cmp dword [esp + 0x2cc], 3
je 0x8bdf98
mov eax, dword [esp + 0x908]
cmp dword [esp + 0x2f0], eax
jge 0x8bdf98
mov edx, dword [esp + 0x834]
sub eax, 1
mov dword [esp + 0x328], eax
lea eax, [edx + eax*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x324], eax
add eax, dword [esp + 0x2d8]
add edx, dword [esp + 0x2d4]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x320]
shl eax, 0xb
add edx, eax
cmp dword [ecx], edx
mov dword [esp + 0x31c], edx
je 0x8bdf98
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x73c]
mov esi, dword [ebp + 0x17e0]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1d8], ebx
mov ebx, dword [esp + 0x834]
mov dword [esp + 0x1dc], esi
mov esi, dword [esp + 0x98]
shl ebx, cl
mov dword [esp + 0x1bc], ebx
mov ebx, dword [esp + 0x328]
lea edx, [ebp + esi]
lea edi, [edx + 0xc]
mov dword [esp + 0x1e0], edi
shl ebx, cl
lea ecx, [ebp + eax]
mov eax, dword [esp + 0x218]
mov dword [esp + 0x1c0], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x1e4], ebx
test eax, eax
je 0x8bef91
mov esi, dword [esp + 0x834]
cmp dword [ebp + 0x1744], esi
jg 0x8c48b3
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x1bc], eax
jg 0x8c48b3
mov ebx, dword [esp + 0x328]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c48b3
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x1c0], eax
jg 0x8c48b3
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x1e8], ebx
je 0x8c0a38
mov eax, dword [esp + 0x1bc]
mov edi, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1c0]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8bfd43
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x8bfd1b
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x200], edx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
mov esi, dword [esp + 0x740]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x200]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
test esi, esi
mov dword [esp + 0x208], eax
jne 0x8c2615
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x1cc], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8c5412
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c53f6
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x1d0], edi
jg 0x8c5482
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c5466
mov edi, dword [esp + 0x1fc]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c544a
mov ebx, dword [esp + 0x200]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c542e
cmp dword [esp + 0x1d0], ecx
jl 0x8c536a
cmp esi, edx
jl 0x8c534e
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x1cc], esi
add eax, dword [esp + 0x1cc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x204]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x208]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x31c]
mov edi, dword [esp + 0x320]
mov ebx, dword [esp + 0x924]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x324]
mov esi, dword [esp + 0x2dc]
sub dword [esp + 0x1c0], esi
mov dword [edi], eax
mov edi, dword [esp + 0x1c0]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e0]
movzx eax, byte [edi + edx]
sub dword [esp + 0x1bc], ecx
mov ebx, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x924]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8bdf98
mov esi, dword [esp + 0x834]
mov edi, dword [esp + 0x328]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x930], 1
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov edx, dword [esp + 0x2cc]
test edx, edx
je 0x8be3b3
mov eax, dword [esp + 0x834]
cmp dword [esp + 0x2ec], eax
jle 0x8be3b3
mov edx, dword [esp + 0x908]
add eax, 1
mov dword [esp + 0x318], eax
lea eax, [eax + edx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x314], eax
add eax, dword [esp + 0x2d8]
mov dword [esp + 0x310], eax
mov ecx, dword [esp + 0x310]
mov eax, edx
shl eax, 0xb
add eax, dword [esp + 0x318]
add eax, dword [esp + 0x2d4]
cmp dword [ecx], eax
mov dword [esp + 0x30c], eax
je 0x8be3b3
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x73c]
mov edi, dword [esp + 0x30]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x184], ebx
mov ebx, dword [esp + 0x318]
shl edx, cl
mov dword [esp + 0x16c], edx
mov dword [esp + 0x188], esi
shl ebx, cl
lea ecx, [ebp + edi]
lea eax, [ecx + 0xc]
mov dword [esp + 0x168], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x218]
lea edx, [ebp + ebx]
lea esi, [edx + 0xc]
test eax, eax
mov dword [esp + 0x18c], esi
je 0x8bf424
mov ecx, dword [esp + 0x318]
cmp ecx, dword [ebp + 0x1744]
jl 0x8c4907
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x168], eax
jg 0x8c4907
mov ebx, dword [esp + 0x908]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c4907
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x16c], eax
jg 0x8c4907
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x194], ebx
je 0x8c0d42
mov eax, dword [esp + 0x168]
mov edi, dword [esp + 0x168]
mov ebx, dword [esp + 0x16c]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8c0431
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x16c]
test eax, eax
je 0x8c0409
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x1ac], edx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1ac]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
mov ecx, dword [esp + 0x740]
add eax, edx
mov dword [esp + 0x1b4], eax
test ecx, ecx
jne 0x8c2d4c
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x178], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8c5332
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c53da
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x17c], edi
jg 0x8c53be
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c53a2
mov edi, dword [esp + 0x1a8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5386
mov ebx, dword [esp + 0x1ac]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5316
cmp dword [esp + 0x17c], ecx
jl 0x8c59c2
cmp esi, edx
jl 0x8c59de
mov ecx, dword [esp + 0x184]
mov esi, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x178], esi
add eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1b0]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x184]
mov esi, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x1b4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x190]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x30c]
mov edi, dword [esp + 0x310]
mov ebx, dword [esp + 0x928]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x314]
mov esi, dword [esp + 0x2e0]
sub dword [esp + 0x168], esi
mov dword [edi], eax
mov edi, dword [esp + 0x168]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2dc]
movzx eax, byte [edi + edx]
sub dword [esp + 0x16c], ecx
mov ebx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x928]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8be3b3
mov esi, dword [esp + 0x318]
mov edi, dword [esp + 0x908]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x930], 2
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
cmp dword [esp + 0x2cc], 1
je 0x8be953
mov eax, dword [esp + 0x908]
cmp dword [esp + 0x2e8], eax
jle 0x8be953
mov edx, dword [esp + 0x834]
add eax, 1
mov dword [esp + 0x308], eax
lea eax, [edx + eax*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x304], eax
add eax, dword [esp + 0x2d8]
add edx, dword [esp + 0x2d4]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x300]
shl eax, 0xb
add edx, eax
cmp dword [ecx], edx
mov dword [esp + 0x2fc], edx
je 0x8be953
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x73c]
mov esi, dword [ebp + 0x17e0]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 0x834]
mov dword [esp + 0x128], esi
mov esi, dword [esp + 0x98]
shl ebx, cl
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0x308]
lea edx, [ebp + esi]
lea edi, [edx + 0xc]
mov dword [esp + 0x12c], edi
shl ebx, cl
lea ecx, [ebp + eax]
mov eax, dword [esp + 0x218]
mov dword [esp + 0x10c], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x130], ebx
test eax, eax
je 0x8bf5ab
mov esi, dword [esp + 0x834]
cmp dword [ebp + 0x1744], esi
jg 0x8c4923
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x73c]
shl eax, cl
cmp dword [esp + 0x108], eax
jg 0x8c4923
mov ebx, dword [esp + 0x308]
cmp ebx, dword [ebp + 0x174c]
jl 0x8c4923
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x10c], eax
jg 0x8c4923
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x134], ebx
je 0x8c109c
mov eax, dword [esp + 0x108]
mov edi, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8c0607
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x8c05df
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x14c], edx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
mov esi, dword [esp + 0x740]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x14c]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
test esi, esi
mov dword [esp + 0x154], eax
jne 0x8c2fb5
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x118], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8c52fa
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8c52de
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x11c], edi
jg 0x8c52c2
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8c59a6
mov edi, dword [esp + 0x148]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8c5bd6
mov ebx, dword [esp + 0x14c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8c5bba
cmp dword [esp + 0x11c], ecx
jl 0x8c5b9e
cmp esi, edx
jl 0x8c5b82
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x118], esi
add eax, dword [esp + 0x118]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x150]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x2fc]
mov edi, dword [esp + 0x300]
mov ebx, dword [esp + 0x92c]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x304]
mov esi, dword [esp + 0x2dc]
sub dword [esp + 0x10c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x10c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e0]
movzx eax, byte [edi + edx]
sub dword [esp + 0x108], ecx
mov ebx, dword [esp + 0x108]
mov ecx, dword [esp + 0x92c]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x104]
add ecx, eax
cmp dword [esp + 0x8c8], ecx
jle 0x8be953
mov esi, dword [esp + 0x834]
mov edi, dword [esp + 0x308]
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x930], 3
mov dword [esp + 0x95c], esi
mov dword [esp + 0x960], edi
mov ecx, dword [esp + 0x95c]
mov ebx, dword [esp + 0x960]
mov esi, dword [esp + 0x930]
mov dword [esp + 0x834], ecx
mov dword [esp + 0x908], ebx
mov dword [esp + 0x2cc], esi
cmp dword [esp + 0x2cc], 2
je 0x8be820
mov edi, dword [esp + 0x834]
cmp dword [esp + 0x2f4], edi
jl 0x8bd787
mov dword [esp + 0x930], 0xffffffff
jmp 0x8bdb77
mov eax, dword [esp + 0x4e8]
sar edi, 1
mov ecx, dword [esp + 0x4f0]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x4e8]
mov eax, dword [esp + 0x888]
sar dword [esp + 0x508], 1
mov ecx, dword [esp + 0x508]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x504], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x504], eax
mov eax, dword [esp + 0x504]
mov dword [esp], ebx
mov ebx, dword [esp + 0x50c]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bc8c3
mov ebx, dword [esp + 0x500]
movzx ecx, byte [esp + 0x54]
mov edx, dword [esp + 0x50]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x500]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4f8]
add eax, dword [esp + 0x28]
mov dword [esp + 0x508], eax
jmp 0x8bc7bc
mov ecx, eax
mov eax, dword [esp + 0x500]
mov edx, dword [esp + 0x50]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8f0], ecx
movzx ecx, byte [esp + 0x54]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4f8]
add ebx, eax
mov dword [esp + 0x504], ebx
jmp 0x8bc792
cmp dword [esp + 0x930], 0xffffffff
jne 0x8be7d8
mov ebx, dword [esp + 0x8c8]
jmp 0x8bb310
mov ebx, dword [esp + 0x6a0]
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x6e0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x934], eax
je 0x8bb8f9
mov edx, dword [esp + 0x6e0]
mov edi, ebx
mov eax, dword [esp + 0x6dc]
shl edi, 4
mov esi, dword [esp + 0x6dc]
mov ebx, dword [esp + 0x6e0]
and edx, 1
mov ecx, dword [esp + 0x6a8]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x6a4]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x6a4]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x6d8], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6d8]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x6a4]
mov dword [esp + 0x69c], edx
mov edx, dword [esp + 0x6a8]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x69c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6d8]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x6a4]
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x6ac]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x69c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x934], eax
jmp 0x8bb8f9
mov ebx, dword [esp + 0x598]
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7d0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x940], eax
je 0x8b95dc
mov edx, dword [esp + 0x7d0]
mov edi, ebx
mov eax, dword [esp + 0x7cc]
shl edi, 4
mov esi, dword [esp + 0x7cc]
mov ebx, dword [esp + 0x7d0]
and edx, 1
mov ecx, dword [esp + 0x5a0]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x59c]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x59c]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x5d0], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5d0]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x59c]
mov dword [esp + 0x594], edx
mov edx, dword [esp + 0x5a0]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x594]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5d0]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x59c]
mov edx, dword [esp + 0x5a4]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x5a4]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x594]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x940], eax
jmp 0x8b95dc
mov ecx, dword [esp + 0x104]
lea edx, [esp + 0x95c]
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x8bc]
mov esi, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x8c8]
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp], esi
call fcn.00893e20
mov ebx, eax
mov dword [esp + 0x8c8], eax
jmp 0x8bb310
mov dword [esp + 0x8cc], 0x7fffffff
jmp 0x8b8602
mov eax, dword [esp + 0x490]
sar edi, 1
mov ecx, dword [esp + 0x498]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x490]
mov eax, dword [esp + 0x880]
sar dword [esp + 0x4b0], 1
mov ecx, dword [esp + 0x4b0]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x4ac], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x4ac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x4b4]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bca95
mov ebx, dword [esp + 0x4a8]
movzx ecx, byte [esp + 0x5c]
mov edx, dword [esp + 0x58]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x4a8]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
add eax, dword [esp + 0x28]
mov dword [esp + 0x4b0], eax
jmp 0x8bc98e
mov ecx, eax
mov eax, dword [esp + 0x4a8]
mov edx, dword [esp + 0x58]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8f4], ecx
movzx ecx, byte [esp + 0x5c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
add ebx, eax
mov dword [esp + 0x4ac], ebx
jmp 0x8bc964
mov ebx, dword [esp + 0x230]
mov eax, dword [esp + 0x338]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x908]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov edx, dword [esp + 0x238]
test edx, edx
mov dword [esp + 0x2d0], eax
je 0x8bdac8
mov edx, dword [esp + 0x908]
mov edi, ebx
mov eax, dword [esp + 0x338]
shl edi, 4
mov esi, dword [esp + 0x338]
mov ebx, dword [esp + 0x908]
and edx, 1
mov ecx, dword [esp + 0x23c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x234]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x234]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x26c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x26c]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x22c], edx
mov edx, dword [esp + 0x23c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x22c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x26c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
mov ecx, dword [esp + 0x240]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x22c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
lea eax, [ebx + eax]
add dword [esp + 0x2d0], eax
jmp 0x8bdac8
mov ebx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x834]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x328]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov ecx, dword [esp + 0x238]
test ecx, ecx
mov dword [esp + 0x924], eax
je 0x8bdeed
mov edx, dword [esp + 0x328]
mov edi, ebx
mov eax, dword [esp + 0x834]
shl edi, 4
mov esi, dword [esp + 0x834]
mov ebx, dword [esp + 0x328]
and edx, 1
mov ecx, dword [esp + 0x1e0]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x1dc]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x1dc]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x20c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20c]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0x1e0]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1d4]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1d4]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
lea eax, [ebx + eax]
add dword [esp + 0x924], eax
jmp 0x8bdeed
mov ebx, dword [esp + 0x540]
mov eax, dword [esp + 0x914]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x918]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x944], eax
je 0x8b9a3d
mov edx, dword [esp + 0x918]
mov edi, ebx
mov eax, dword [esp + 0x914]
shl edi, 4
mov esi, dword [esp + 0x914]
mov ebx, dword [esp + 0x918]
and edx, 1
mov ecx, dword [esp + 0x548]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x544]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x544]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x578], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x578]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x544]
mov dword [esp + 0x53c], edx
mov edx, dword [esp + 0x548]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x53c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x578]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x544]
mov edx, dword [esp + 0x54c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x54c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x53c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x944], eax
jmp 0x8b9a3d
mov ebx, dword [esp + 0x648]
mov eax, dword [esp + 0x7ec]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7f0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x938], eax
je 0x8bbd5a
mov edx, dword [esp + 0x7f0]
mov edi, ebx
mov eax, dword [esp + 0x7ec]
shl edi, 4
mov esi, dword [esp + 0x7ec]
mov ebx, dword [esp + 0x7f0]
and edx, 1
mov ecx, dword [esp + 0x650]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x64c]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x64c]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x680], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x680]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x64c]
mov dword [esp + 0x644], edx
mov edx, dword [esp + 0x650]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x644]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x680]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x64c]
mov edx, dword [esp + 0x654]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x654]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x644]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x938], eax
jmp 0x8bbd5a
mov ebx, dword [esp + 0x184]
mov eax, dword [esp + 0x318]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x908]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov edx, dword [esp + 0x238]
test edx, edx
mov dword [esp + 0x928], eax
je 0x8be308
mov edx, dword [esp + 0x908]
mov edi, ebx
mov eax, dword [esp + 0x318]
shl edi, 4
mov esi, dword [esp + 0x318]
mov ebx, dword [esp + 0x908]
and edx, 1
mov ecx, dword [esp + 0x18c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x188]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x188]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x1b8], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b8]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x180], edx
mov edx, dword [esp + 0x18c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x180]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x188]
mov edx, dword [esp + 0x190]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x180]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
lea eax, [ebx + eax]
add dword [esp + 0x928], eax
jmp 0x8be308
mov ebx, dword [esp + 0x124]
mov eax, dword [esp + 0x834]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x308]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
mov ecx, dword [esp + 0x238]
test ecx, ecx
mov dword [esp + 0x92c], eax
je 0x8be729
mov edx, dword [esp + 0x308]
mov edi, ebx
mov eax, dword [esp + 0x834]
shl edi, 4
mov esi, dword [esp + 0x834]
mov ebx, dword [esp + 0x308]
and edx, 1
mov ecx, dword [esp + 0x12c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x128]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x128]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x158], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x158]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x12c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x120]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x158]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x128]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
lea eax, [ebx + eax]
add dword [esp + 0x92c], eax
jmp 0x8be729
mov ecx, dword [esp + 0x8bc]
and eax, 0xff
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x104]
lea edx, [esp + 0x95c]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x164]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c8]
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
call fcn.0088b8f0
mov ebx, eax
mov dword [esp + 0x8c8], eax
jmp 0x8bb310
mov ebx, dword [esp + 0x4e8]
mov eax, dword [esp + 0x7ac]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7b0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x948], eax
je 0x8b9e9e
mov edx, dword [esp + 0x7b0]
mov edi, ebx
mov eax, dword [esp + 0x7ac]
shl edi, 4
mov esi, dword [esp + 0x7ac]
mov ebx, dword [esp + 0x7b0]
and edx, 1
mov ecx, dword [esp + 0x4f0]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x4ec]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x4ec]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x520], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x520]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x4ec]
mov dword [esp + 0x4e4], edx
mov edx, dword [esp + 0x4f0]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4e4]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x520]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x4ec]
mov edx, dword [esp + 0x4f4]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x4e4]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x948], eax
jmp 0x8b9e9e
sub ecx, dword [esp + 0x5a8]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x5a8]
mov dword [esp + 0x5c4], eax
jmp 0x8b9423
mov edx, ecx
sub edx, dword [esp + 0x5a8]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5a8]
mov dword [esp + 0x5c0], eax
jmp 0x8b9405
sub ecx, dword [esp + 0x6b0]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x6b0]
mov dword [esp + 0x6cc], eax
jmp 0x8bb740
mov edx, ecx
sub edx, dword [esp + 0x6b0]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6b0]
mov dword [esp + 0x6c8], eax
jmp 0x8bb722
mov ebx, dword [esp + 0x490]
mov eax, dword [esp + 0x798]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x79c]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x94c], eax
je 0x8ba2ff
mov edx, dword [esp + 0x79c]
mov edi, ebx
mov eax, dword [esp + 0x798]
shl edi, 4
mov esi, dword [esp + 0x798]
mov ebx, dword [esp + 0x79c]
and edx, 1
mov ecx, dword [esp + 0x498]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x494]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x494]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x4c8], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c8]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x494]
mov dword [esp + 0x48c], edx
mov edx, dword [esp + 0x498]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x4c8]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x494]
mov edx, dword [esp + 0x49c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x49c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x48c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x94c], eax
jmp 0x8ba2ff
sub esi, dword [esp + 0x244]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x244]
mov dword [esp + 0x260], eax
jmp 0x8bd914
mov edx, esi
sub edx, dword [esp + 0x244]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x244]
mov dword [esp + 0x25c], eax
jmp 0x8bd8f6
mov ebx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x410]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x954], eax
je 0x8bacc2
mov edx, dword [esp + 0x410]
mov edi, ebx
mov eax, dword [esp + 0x40c]
shl edi, 4
mov esi, dword [esp + 0x40c]
mov ebx, dword [esp + 0x410]
and edx, 1
mov ecx, dword [esp + 0x3d8]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x3d4]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x3d4]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x408], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x408]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3cc], edx
mov edx, dword [esp + 0x3d8]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3cc]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x408]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x3d4]
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x954], eax
jmp 0x8bacc2
sub esi, dword [esp + 0x1e8]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x1e8]
mov dword [esp + 0x200], eax
jmp 0x8bdd39
mov edx, esi
sub edx, dword [esp + 0x1e8]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1e8]
mov dword [esp + 0x1fc], eax
jmp 0x8bdd1b
sub ecx, dword [esp + 0x658]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x658]
mov dword [esp + 0x674], eax
jmp 0x8bbba1
mov edx, ecx
sub edx, dword [esp + 0x658]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x658]
mov dword [esp + 0x670], eax
jmp 0x8bbb83
sub ecx, dword [esp + 0x550]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x550]
mov dword [esp + 0x56c], eax
jmp 0x8b9884
mov edx, ecx
sub edx, dword [esp + 0x550]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x550]
mov dword [esp + 0x568], eax
jmp 0x8b9866
mov esi, dword [esp + 0x5f0]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x8a0], edx
mov dword [esp + 0x608], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x89c], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x608]
mov edx, dword [esp + 0x5d4]
mov esi, dword [esp + 0x5d4]
mov edi, dword [esp + 0x5d8]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8bffdd
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x60c], edx
test eax, eax
je 0x8c0029
mov edx, dword [esp + 0x608]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x610], ecx
mov eax, dword [esp + 0x604]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x604]
imul ebx, dword [esp + 0x89c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x60c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x610]
and eax, dword [esp + 0x604]
and edx, dword [esp + 0x604]
shl eax, cl
add eax, edx
mov dword [esp + 0x614], eax
mov eax, dword [esp + 0x8e4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c006e
mov ecx, dword [esp + 0x5f0]
sar edi, 2
mov eax, dword [esp + 0x5f8]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x5f0]
sar dword [esp + 0x610], 2
mov eax, dword [esp + 0x610]
mov edi, dword [esp + 0x8a0]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x60c], 2
imul eax, esi
mov ecx, dword [esp + 0x614]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x60c], edi
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x60c]
add eax, dword [esp + 0x610]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x608], 1
cmp dword [esp + 0x608], 4
jne 0x8bfe45
jmp 0x8b909a
mov ecx, eax
mov eax, dword [esp + 0x608]
mov edx, dword [esp + 0x38]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8e4], ecx
movzx ecx, byte [esp + 0x3c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x600]
add ebx, eax
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x60c], ebx
test eax, eax
jne 0x8bfea0
mov ebx, dword [esp + 0x608]
movzx ecx, byte [esp + 0x3c]
mov edx, dword [esp + 0x38]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x608]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x600]
add eax, dword [esp + 0x28]
mov dword [esp + 0x610], eax
jmp 0x8bfebb
mov eax, dword [esp + 0x5f0]
sar edi, 1
mov ecx, dword [esp + 0x5f8]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x5f0]
mov eax, dword [esp + 0x8a0]
sar dword [esp + 0x610], 1
mov ecx, dword [esp + 0x610]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x60c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x60c], eax
mov eax, dword [esp + 0x60c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x614]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8bffc2
mov esi, dword [esp + 0x700]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x8b8], edx
mov dword [esp + 0x718], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x8b4], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x718]
mov edx, dword [esp + 0x6e4]
mov esi, dword [esp + 0x6e4]
mov edi, dword [esp + 0x6e8]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8c02dc
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d4], eax
mov eax, dword [esp + 0x6e8]
mov dword [esp + 0x71c], edx
test eax, eax
je 0x8c0328
mov edx, dword [esp + 0x718]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x720], ecx
mov eax, dword [esp + 0x714]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x714]
imul ebx, dword [esp + 0x8b4]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x71c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x720]
and eax, dword [esp + 0x714]
and edx, dword [esp + 0x714]
shl eax, cl
add eax, edx
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0x8d4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c036d
mov ecx, dword [esp + 0x700]
sar edi, 2
mov eax, dword [esp + 0x708]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x700]
sar dword [esp + 0x720], 2
mov eax, dword [esp + 0x720]
mov edi, dword [esp + 0x8b8]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x71c], 2
imul eax, esi
mov ecx, dword [esp + 0x724]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x71c], edi
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x71c]
add eax, dword [esp + 0x720]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x718], 1
cmp dword [esp + 0x718], 4
jne 0x8c0144
jmp 0x8b8c1e
mov ecx, eax
mov eax, dword [esp + 0x718]
mov edx, dword [esp + 0x68]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d4], ecx
movzx ecx, byte [esp + 0x6c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x710]
add ebx, eax
mov eax, dword [esp + 0x6e8]
mov dword [esp + 0x71c], ebx
test eax, eax
jne 0x8c019f
mov ebx, dword [esp + 0x718]
movzx ecx, byte [esp + 0x6c]
mov edx, dword [esp + 0x68]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x718]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x710]
add eax, dword [esp + 0x28]
mov dword [esp + 0x720], eax
jmp 0x8c01ba
mov eax, dword [esp + 0x700]
sar edi, 1
mov ecx, dword [esp + 0x708]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x700]
mov eax, dword [esp + 0x8b8]
sar dword [esp + 0x720], 1
mov ecx, dword [esp + 0x720]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x71c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x71c], eax
mov eax, dword [esp + 0x71c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x724]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c02c1
sub esi, dword [esp + 0x194]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x194]
mov dword [esp + 0x1ac], eax
jmp 0x8be154
mov edx, esi
sub edx, dword [esp + 0x194]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x194]
mov dword [esp + 0x1a8], eax
jmp 0x8be136
mov ebx, dword [esp + 0x430]
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x470]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x950], eax
je 0x8ba7dd
mov edx, dword [esp + 0x470]
mov edi, ebx
mov eax, dword [esp + 0x46c]
shl edi, 4
mov esi, dword [esp + 0x46c]
mov ebx, dword [esp + 0x470]
and edx, 1
mov ecx, dword [esp + 0x438]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x434]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x434]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x468], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x468]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x434]
mov dword [esp + 0x42c], edx
mov edx, dword [esp + 0x438]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x42c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x468]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x434]
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x43c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x42c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x950], eax
jmp 0x8ba7dd
sub esi, dword [esp + 0x134]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x134]
mov dword [esp + 0x14c], eax
jmp 0x8be575
mov edx, esi
sub edx, dword [esp + 0x134]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x134]
mov dword [esp + 0x148], eax
jmp 0x8be557
sub ecx, dword [esp + 0x4f8]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x4f8]
mov dword [esp + 0x514], eax
jmp 0x8b9ce5
mov edx, ecx
sub edx, dword [esp + 0x4f8]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4f8]
mov dword [esp + 0x510], eax
jmp 0x8b9cc7
mov edi, dword [esp + 0x230]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x740]
mov dword [esp + 0x858], edx
mov dword [esp + 0x24c], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x854], edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], esi
nop
mov edx, dword [esp + 0x24c]
mov eax, dword [esp + 0x210]
mov esi, dword [esp + 0x210]
mov edi, dword [esp + 0x214]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8c0858
mov eax, dword [esp + 0x214]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x8fc], edx
test eax, eax
mov dword [esp + 0x250], ecx
je 0x8c08a3
mov edx, dword [esp + 0x24c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
imul ebx, dword [esp + 0x854]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x254]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x8fc]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c08ee
mov ecx, dword [esp + 0x230]
sar edi, 2
mov eax, dword [esp + 0x23c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x230]
sar dword [esp + 0x254], 2
mov eax, dword [esp + 0x254]
mov edi, dword [esp + 0x858]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x250], 2
imul eax, esi
mov ecx, dword [esp + 0x258]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x250], edi
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x250]
add eax, dword [esp + 0x254]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x24c], 1
cmp dword [esp + 0x24c], 4
jne 0x8c06c0
jmp 0x8bda8d
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0x9c]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xa0]
mov dword [esp + 0x8fc], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x244]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x250], ebx
test eax, eax
jne 0x8c071b
mov ebx, dword [esp + 0x24c]
movzx ecx, byte [esp + 0xa0]
mov edx, dword [esp + 0x9c]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x244]
add eax, dword [esp + 0x28]
mov dword [esp + 0x254], eax
jmp 0x8c0736
mov eax, dword [esp + 0x230]
sar edi, 1
mov ecx, dword [esp + 0x23c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x230]
mov eax, dword [esp + 0x858]
sar dword [esp + 0x254], 1
mov ecx, dword [esp + 0x254]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x250], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x250], eax
mov eax, dword [esp + 0x250]
mov dword [esp], ebx
mov ebx, dword [esp + 0x258]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c083d
sub ecx, dword [esp + 0x4a0]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
mov dword [esp + 0x4bc], eax
jmp 0x8ba146
mov edx, ecx
sub edx, dword [esp + 0x4a0]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
mov dword [esp + 0x4b8], eax
jmp 0x8ba128
mov ecx, dword [esp + 0x8bc]
lea edx, [esp + 0x95c]
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x164]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c8]
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
call fcn.008aba80
mov ebx, eax
mov dword [esp + 0x8c8], eax
jmp 0x8bb310
mov edi, dword [esp + 0x1d8]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x740]
mov dword [esp + 0x850], edx
mov dword [esp + 0x1ec], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x848], edi
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], esi
mov edx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1bc]
mov edi, dword [esp + 0x1c0]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8c0c10
mov eax, dword [esp + 0x1c0]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x900], edx
test eax, eax
mov dword [esp + 0x1f0], ecx
je 0x8c0c5b
mov edx, dword [esp + 0x1ec]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
imul ebx, dword [esp + 0x848]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1f4]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x900]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c0ca6
mov ecx, dword [esp + 0x1d8]
sar edi, 2
mov eax, dword [esp + 0x1e0]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x1d8]
sar dword [esp + 0x1f4], 2
mov eax, dword [esp + 0x1f4]
mov edi, dword [esp + 0x850]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x1f0], 2
imul eax, esi
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x1f0]
add eax, dword [esp + 0x1f4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x1ec], 1
cmp dword [esp + 0x1ec], 4
jne 0x8c0a78
jmp 0x8bdeb2
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0xa4]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xa8]
mov dword [esp + 0x900], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1e8]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1f0], ebx
test eax, eax
jne 0x8c0ad3
mov ebx, dword [esp + 0x1ec]
movzx ecx, byte [esp + 0xa8]
mov edx, dword [esp + 0xa4]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1e8]
add eax, dword [esp + 0x28]
mov dword [esp + 0x1f4], eax
jmp 0x8c0aee
mov eax, dword [esp + 0x1d8]
sar edi, 1
mov ecx, dword [esp + 0x1e0]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x850]
sar dword [esp + 0x1f4], 1
mov ecx, dword [esp + 0x1f4]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x1f0], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1f8]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c0bf5
mov edi, dword [esp + 0x184]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x740]
mov dword [esp + 0x844], edx
mov dword [esp + 0x198], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x840], edi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], esi
mov edx, dword [esp + 0x198]
mov eax, dword [esp + 0x168]
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8c0f1a
mov eax, dword [esp + 0x16c]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x904], edx
test eax, eax
mov dword [esp + 0x19c], ecx
je 0x8c0f65
mov edx, dword [esp + 0x198]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x1a0], ecx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
imul ebx, dword [esp + 0x840]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x19c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1a0]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x904]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c0fb0
mov ecx, dword [esp + 0x184]
sar edi, 2
mov eax, dword [esp + 0x18c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x184]
sar dword [esp + 0x1a0], 2
mov eax, dword [esp + 0x1a0]
mov edi, dword [esp + 0x844]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x19c], 2
imul eax, esi
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x19c], edi
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x19c]
add eax, dword [esp + 0x1a0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x198], 1
cmp dword [esp + 0x198], 4
jne 0x8c0d82
jmp 0x8be2cd
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0xac]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xb0]
mov dword [esp + 0x904], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x194]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x19c], ebx
test eax, eax
jne 0x8c0ddd
mov ebx, dword [esp + 0x198]
movzx ecx, byte [esp + 0xb0]
mov edx, dword [esp + 0xac]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x194]
add eax, dword [esp + 0x28]
mov dword [esp + 0x1a0], eax
jmp 0x8c0df8
mov eax, dword [esp + 0x184]
sar edi, 1
mov ecx, dword [esp + 0x18c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x184]
mov eax, dword [esp + 0x844]
sar dword [esp + 0x1a0], 1
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x19c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x19c], eax
mov eax, dword [esp + 0x19c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1a4]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c0eff
sub ecx, dword [esp + 0x3e0]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x3e0]
mov dword [esp + 0x3fc], eax
jmp 0x8bab09
mov edx, ecx
sub edx, dword [esp + 0x3e0]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3e0]
mov dword [esp + 0x3f8], eax
jmp 0x8baaeb
mov edi, dword [esp + 0x124]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x740]
mov dword [esp + 0x83c], edx
mov dword [esp + 0x138], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x838], edi
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], esi
lea esi, [esi]
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x108]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8c1278
mov eax, dword [esp + 0x10c]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x90c], edx
test eax, eax
mov dword [esp + 0x13c], ecx
je 0x8c12c3
mov edx, dword [esp + 0x138]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0x248]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x248]
imul ebx, dword [esp + 0x838]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x140]
and eax, dword [esp + 0x248]
and edx, dword [esp + 0x248]
shl eax, cl
add eax, edx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x90c]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c130e
mov ecx, dword [esp + 0x124]
sar edi, 2
mov eax, dword [esp + 0x12c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x124]
sar dword [esp + 0x140], 2
mov eax, dword [esp + 0x140]
mov edi, dword [esp + 0x83c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x13c], 2
imul eax, esi
mov ecx, dword [esp + 0x144]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x13c], edi
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x13c]
add eax, dword [esp + 0x140]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x138], 1
cmp dword [esp + 0x138], 4
jne 0x8c10e0
jmp 0x8be6ee
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0xb4]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xb8]
mov dword [esp + 0x90c], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x134]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x13c], ebx
test eax, eax
jne 0x8c113b
mov ebx, dword [esp + 0x138]
movzx ecx, byte [esp + 0xb8]
mov edx, dword [esp + 0xb4]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x134]
add eax, dword [esp + 0x28]
mov dword [esp + 0x140], eax
jmp 0x8c1156
mov eax, dword [esp + 0x124]
sar edi, 1
mov ecx, dword [esp + 0x12c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x124]
mov eax, dword [esp + 0x83c]
sar dword [esp + 0x140], 1
mov ecx, dword [esp + 0x140]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x13c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x13c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x144]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c125d
mov edx, ecx
sub edx, dword [esp + 0x440]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x440]
mov dword [esp + 0x458], eax
jmp 0x8ba606
sub ecx, dword [esp + 0x440]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x440]
mov dword [esp + 0x45c], eax
jmp 0x8ba624
sar ebx, 2
mov eax, dword [esp + 0x700]
mov dword [esp + 0x6ec], ebx
mov ebx, dword [esp + 0x700]
sar esi, 2
mov ecx, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6ec]
imul ebx, esi
mov edi, dword [esp + 0x730]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6ec]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x700]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x700]
mov eax, dword [esp + 0x6ec]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x730]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x708]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x6ec], ecx
mov esi, dword [esp + 0x6ec]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x730]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x728]
mov ecx, dword [esp + 0x700]
mov esi, dword [esp + 0x72c]
mov ebx, dword [esp + 0x700]
sar edx, 2
mov dword [esp + 0x6f0], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x708]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x6f0]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x734]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x700]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x6f0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x708]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x734]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x700]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x700]
mov eax, dword [esp + 0x6f0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x708]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x734]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x700]
mov ecx, dword [esp + 0x708]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x6f0], ecx
mov esi, dword [esp + 0x6f0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x734]
call dword [edx + edi*4 + 0x40]
jmp 0x8b8c1e
sar ebx, 2
mov eax, dword [esp + 0x5f0]
mov dword [esp + 0x5dc], ebx
mov ebx, dword [esp + 0x5f0]
sar esi, 2
mov ecx, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5dc]
imul ebx, esi
mov edi, dword [esp + 0x620]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5dc]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x5f0]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x5f0]
mov eax, dword [esp + 0x5dc]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x620]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x5dc], ecx
mov esi, dword [esp + 0x5dc]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x620]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x618]
mov ecx, dword [esp + 0x5f0]
mov esi, dword [esp + 0x61c]
mov ebx, dword [esp + 0x5f0]
sar edx, 2
mov dword [esp + 0x5e0], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5f8]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x5e0]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x624]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x5f0]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x5e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5f8]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x624]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x5f0]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x5f0]
mov eax, dword [esp + 0x5e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5f8]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x624]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f8]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x5e0], ecx
mov esi, dword [esp + 0x5e0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x624]
call dword [edx + edi*4 + 0x40]
jmp 0x8b909a
sar ebx, 2
mov eax, dword [esp + 0x598]
mov dword [esp + 0x584], ebx
mov ebx, dword [esp + 0x598]
sar esi, 2
mov ecx, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x584]
imul ebx, esi
mov edi, dword [esp + 0x5c8]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x598]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x584]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x598]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x598]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x598]
mov eax, dword [esp + 0x584]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x5c8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x598]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x584], ecx
mov esi, dword [esp + 0x584]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x5c8]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x5c0]
mov ecx, dword [esp + 0x598]
mov esi, dword [esp + 0x5c4]
mov ebx, dword [esp + 0x598]
sar edx, 2
mov dword [esp + 0x588], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5a0]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x588]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5cc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x598]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x588]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5a0]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x5cc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x598]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x598]
mov eax, dword [esp + 0x588]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5a0]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x5cc]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x598]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x588], ecx
mov esi, dword [esp + 0x588]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x5cc]
call dword [edx + edi*4 + 0x40]
jmp 0x8b95a1
sar ebx, 2
mov eax, dword [esp + 0x6a0]
mov dword [esp + 0x68c], ebx
mov ebx, dword [esp + 0x6a0]
sar esi, 2
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68c]
imul ebx, esi
mov edi, dword [esp + 0x6d0]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x6a0]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x6a0]
mov eax, dword [esp + 0x68c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x6d0]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x68c], ecx
mov esi, dword [esp + 0x68c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x6d0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x6c8]
mov ecx, dword [esp + 0x6a0]
mov esi, dword [esp + 0x6cc]
mov ebx, dword [esp + 0x6a0]
sar edx, 2
mov dword [esp + 0x690], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6a8]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x690]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6d4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x6a0]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x690]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6a8]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x6d4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x6a0]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x6a0]
mov eax, dword [esp + 0x690]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6a8]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x6d4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x690], ecx
mov esi, dword [esp + 0x690]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x6d4]
call dword [edx + edi*4 + 0x40]
jmp 0x8bb8be
mov esi, dword [esp + 0x3d0]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x870], edx
mov dword [esp + 0x3e8], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x86c], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3b4]
mov esi, dword [esp + 0x3b4]
mov edi, dword [esp + 0x3b8]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8c1f6e
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ec], edx
test eax, eax
je 0x8c1fc0
mov edx, dword [esp + 0x3e8]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x3f0], ecx
mov eax, dword [esp + 0x3e4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x3e4]
imul ebx, dword [esp + 0x86c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3f0]
and eax, dword [esp + 0x3e4]
and edx, dword [esp + 0x3e4]
shl eax, cl
add eax, edx
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x8d0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c200b
mov ecx, dword [esp + 0x3d0]
sar edi, 2
mov eax, dword [esp + 0x3d8]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x3d0]
sar dword [esp + 0x3f0], 2
mov eax, dword [esp + 0x3f0]
mov edi, dword [esp + 0x870]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x3ec], 2
imul eax, esi
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x3ec], edi
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
add eax, dword [esp + 0x3f0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x3e8], 1
cmp dword [esp + 0x3e8], 4
jne 0x8c1dd6
jmp 0x8bac87
mov ecx, eax
mov eax, dword [esp + 0x3e8]
mov edx, dword [esp + 0x80]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d0], ecx
movzx ecx, byte [esp + 0x84]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3e0]
add ebx, eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ec], ebx
test eax, eax
jne 0x8c1e31
mov ebx, dword [esp + 0x3e8]
movzx ecx, byte [esp + 0x84]
mov edx, dword [esp + 0x80]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3e0]
add eax, dword [esp + 0x28]
mov dword [esp + 0x3f0], eax
jmp 0x8c1e4c
mov eax, dword [esp + 0x3d0]
sar edi, 1
mov ecx, dword [esp + 0x3d8]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x870]
sar dword [esp + 0x3f0], 1
mov ecx, dword [esp + 0x3f0]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x3ec], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x3f4]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c1f53
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x21c], edi
mov ecx, dword [esp + 0x23c]
sar esi, 2
mov edi, dword [esp + 0x230]
mov eax, dword [esp + 0x21c]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x264]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x230]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x230]
mov eax, dword [esp + 0x21c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x264]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x21c], ecx
mov esi, dword [esp + 0x21c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x264]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x25c]
mov ecx, dword [esp + 0x230]
mov esi, dword [esp + 0x260]
mov ebx, dword [esp + 0x230]
sar edx, 2
mov dword [esp + 0x220], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x23c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x220]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x268]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x220]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x23c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x268]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x230]
mov eax, dword [esp + 0x220]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x23c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x268]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x23c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x220], ecx
mov esi, dword [esp + 0x220]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x268]
call dword [edx + edi*4 + 0x40]
jmp 0x8bda8d
mov esi, dword [esp + 0x430]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x878], edx
mov dword [esp + 0x448], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x874], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ecx
lea esi, [esi]
mov eax, dword [esp + 0x448]
mov edx, dword [esp + 0x414]
mov esi, dword [esp + 0x414]
mov edi, dword [esp + 0x418]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8c24e8
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x84c], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x44c], edx
test eax, eax
je 0x8c2534
mov edx, dword [esp + 0x448]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x450], ecx
mov eax, dword [esp + 0x444]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x444]
imul ebx, dword [esp + 0x874]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x44c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x450]
and eax, dword [esp + 0x444]
and edx, dword [esp + 0x444]
shl eax, cl
add eax, edx
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x84c]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c2579
mov ecx, dword [esp + 0x430]
sar edi, 2
mov eax, dword [esp + 0x438]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x430]
sar dword [esp + 0x450], 2
mov eax, dword [esp + 0x450]
mov edi, dword [esp + 0x878]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x44c], 2
imul eax, esi
mov ecx, dword [esp + 0x454]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x44c], edi
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x44c]
add eax, dword [esp + 0x450]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x448], 1
cmp dword [esp + 0x448], 4
jne 0x8c2350
jmp 0x8ba7a2
mov ecx, eax
mov eax, dword [esp + 0x448]
mov edx, dword [esp + 0x60]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x84c], ecx
movzx ecx, byte [esp + 0x64]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x440]
add ebx, eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x44c], ebx
test eax, eax
jne 0x8c23ab
mov ebx, dword [esp + 0x448]
movzx ecx, byte [esp + 0x64]
mov edx, dword [esp + 0x60]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x448]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x440]
add eax, dword [esp + 0x28]
mov dword [esp + 0x450], eax
jmp 0x8c23c6
mov eax, dword [esp + 0x430]
sar edi, 1
mov ecx, dword [esp + 0x438]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x430]
mov eax, dword [esp + 0x878]
sar dword [esp + 0x450], 1
mov ecx, dword [esp + 0x450]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x44c], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x44c], eax
mov eax, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x454]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c24cd
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x1c4], edi
mov ecx, dword [esp + 0x1e0]
sar esi, 2
mov edi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x1c4]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x204]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c4]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x1d8]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x1c4]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x204]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x1c4], ecx
mov esi, dword [esp + 0x1c4]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x204]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x200]
mov ebx, dword [esp + 0x1d8]
sar edx, 2
mov dword [esp + 0x1c8], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1e0]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x1c8]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x208]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x1c8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1e0]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x208]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x1c8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1e0]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x208]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x1c8], ecx
mov esi, dword [esp + 0x1c8]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x208]
call dword [edx + edi*4 + 0x40]
jmp 0x8bdeb2
sar ebx, 2
mov eax, dword [esp + 0x540]
mov dword [esp + 0x52c], ebx
mov ebx, dword [esp + 0x540]
sar esi, 2
mov ecx, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x52c]
imul ebx, esi
mov edi, dword [esp + 0x570]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x52c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x540]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x540]
mov eax, dword [esp + 0x52c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x570]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x548]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x52c], ecx
mov esi, dword [esp + 0x52c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x570]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x568]
mov ecx, dword [esp + 0x540]
mov esi, dword [esp + 0x56c]
mov ebx, dword [esp + 0x540]
sar edx, 2
mov dword [esp + 0x530], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x548]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x530]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x574]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x540]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x530]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x548]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x574]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x540]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x540]
mov eax, dword [esp + 0x530]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x548]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x574]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x548]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x530], ecx
mov esi, dword [esp + 0x530]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x574]
call dword [edx + edi*4 + 0x40]
jmp 0x8b9a02
sar ebx, 2
mov eax, dword [esp + 0x648]
mov dword [esp + 0x634], ebx
mov ebx, dword [esp + 0x648]
sar esi, 2
mov ecx, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x634]
imul ebx, esi
mov edi, dword [esp + 0x678]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x634]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x648]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x648]
mov eax, dword [esp + 0x634]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x678]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x650]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x634], ecx
mov esi, dword [esp + 0x634]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x678]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x670]
mov ecx, dword [esp + 0x648]
mov esi, dword [esp + 0x674]
mov ebx, dword [esp + 0x648]
sar edx, 2
mov dword [esp + 0x638], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x650]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x638]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x67c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x648]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x638]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x650]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x67c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x648]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x648]
mov eax, dword [esp + 0x638]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x650]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x67c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x650]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x638], ecx
mov esi, dword [esp + 0x638]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x67c]
call dword [edx + edi*4 + 0x40]
jmp 0x8bbd1f
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x170], edi
mov ecx, dword [esp + 0x18c]
sar esi, 2
mov edi, dword [esp + 0x184]
mov eax, dword [esp + 0x170]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x1b0]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x170]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x184]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x184]
mov eax, dword [esp + 0x170]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x170], ecx
mov esi, dword [esp + 0x170]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x1b0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x184]
mov esi, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x184]
sar edx, 2
mov dword [esp + 0x174], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x18c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x174]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1b4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x184]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x18c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x1b4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x184]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x184]
mov eax, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x18c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x1b4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x174], ecx
mov esi, dword [esp + 0x174]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x1b4]
call dword [edx + edi*4 + 0x40]
jmp 0x8be2cd
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 0x110], edi
mov ecx, dword [esp + 0x12c]
sar esi, 2
mov edi, dword [esp + 0x124]
mov eax, dword [esp + 0x110]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x150]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x110]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x124]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x124]
mov eax, dword [esp + 0x110]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x150]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x110], ecx
mov esi, dword [esp + 0x110]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x150]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x14c]
mov ebx, dword [esp + 0x124]
sar edx, 2
mov dword [esp + 0x114], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x12c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x114]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x124]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x114]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x12c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x154]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x124]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x124]
mov eax, dword [esp + 0x114]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x12c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x114], ecx
mov esi, dword [esp + 0x114]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x154]
call dword [edx + edi*4 + 0x40]
jmp 0x8be6ee
mov eax, ebx
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x390], eax
jmp 0x8bafec
mov esi, dword [esp + 0x28c]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x860], edx
mov dword [esp + 0x2a8], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x85c], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x2a8]
mov edx, dword [esp + 0x270]
mov esi, dword [esp + 0x270]
mov edi, dword [esp + 0x274]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8c4073
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8f8], eax
mov dword [esp + 0x2ac], edx
mov eax, dword [esp + 0x274]
test eax, eax
je 0x8c4028
mov edx, dword [esp + 0x2a8]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x2b0], ecx
mov eax, dword [esp + 0x2a4]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x2a4]
imul ebx, dword [esp + 0x85c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x2ac]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2b0]
and eax, dword [esp + 0x2a4]
and edx, dword [esp + 0x2a4]
shl eax, cl
add eax, edx
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x8f8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c3f8c
mov ecx, dword [esp + 0x28c]
sar edi, 2
mov eax, dword [esp + 0x294]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x28c]
sar dword [esp + 0x2b0], 2
mov eax, dword [esp + 0x2b0]
mov edi, dword [esp + 0x860]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x2ac], 2
imul eax, esi
mov ecx, dword [esp + 0x2b4]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x2ac], edi
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x2ac]
add eax, dword [esp + 0x2b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x2a8], 1
cmp dword [esp + 0x2a8], 4
jne 0x8c3272
jmp 0x8bd6ad
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
nop
sar ebx, 2
mov eax, dword [esp + 0x4e8]
mov dword [esp + 0x4d4], ebx
mov ebx, dword [esp + 0x4e8]
sar esi, 2
mov ecx, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4d4]
imul ebx, esi
mov edi, dword [esp + 0x518]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4d4]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x4e8]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x4e8]
mov eax, dword [esp + 0x4d4]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x518]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x4d4], ecx
mov esi, dword [esp + 0x4d4]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x518]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x510]
mov ecx, dword [esp + 0x4e8]
mov esi, dword [esp + 0x514]
mov ebx, dword [esp + 0x4e8]
sar edx, 2
mov dword [esp + 0x4d8], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4f0]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x4d8]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x51c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x4e8]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x4d8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4f0]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x51c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x4e8]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x4e8]
mov eax, dword [esp + 0x4d8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4f0]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x51c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4f0]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x4d8], ecx
mov esi, dword [esp + 0x4d8]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x51c]
call dword [edx + edi*4 + 0x40]
jmp 0x8b9e63
sar ebx, 2
mov eax, dword [esp + 0x490]
mov dword [esp + 0x47c], ebx
mov ebx, dword [esp + 0x490]
sar esi, 2
mov ecx, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x47c]
imul ebx, esi
mov edi, dword [esp + 0x4c0]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x47c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x490]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x490]
mov eax, dword [esp + 0x47c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x4c0]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x498]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x47c], ecx
mov esi, dword [esp + 0x47c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x4c0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x490]
mov esi, dword [esp + 0x4bc]
mov ebx, dword [esp + 0x490]
sar edx, 2
mov dword [esp + 0x480], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x498]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x480]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4c4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x490]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x480]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x498]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x4c4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x490]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x490]
mov eax, dword [esp + 0x480]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x498]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x4c4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x498]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x480], ecx
mov esi, dword [esp + 0x480]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x4c4]
call dword [edx + edi*4 + 0x40]
jmp 0x8ba2c4
sar ebx, 2
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3bc], ebx
mov ebx, dword [esp + 0x3d0]
sar esi, 2
mov ecx, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3bc]
imul ebx, esi
mov edi, dword [esp + 0x400]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3bc]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x3d0]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3bc]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x400]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x3bc], ecx
mov esi, dword [esp + 0x3bc]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x400]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3fc]
mov ebx, dword [esp + 0x3d0]
sar edx, 2
mov dword [esp + 0x3c0], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3d8]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x3c0]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x404]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x3d0]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x3c0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3d8]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x404]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x3d0]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3c0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3d8]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x404]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3d8]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x3c0], ecx
mov esi, dword [esp + 0x3c0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x404]
call dword [edx + edi*4 + 0x40]
jmp 0x8bac87
mov eax, dword [esp + 0x368]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3a4]
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x3a8]
imul edx, dword [esp + 0x368]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3ac]
test byte [esp + 0x164], 2
mov dword [esp + 0x958], eax
je 0x8bb1c9
mov edx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x36c]
mov edi, dword [esp + 0x368]
and edx, 1
mov esi, dword [esp + 0x3a4]
and eax, 1
mov ebx, dword [esp + 0x3a8]
lea edx, [eax + edx*2]
mov dword [esp + 0x3a0], edx
shl edi, 4
mov edx, dword [ebp + 0x17f0]
add edi, dword [ebp + 0x170c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x370]
sar esi, 1
sar ebx, 1
mov eax, esi
imul ebx, dword [esp + 0x36c]
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3a0]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x364], edx
mov edx, dword [esp + 0x370]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x364]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x3a0]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x36c]
mov edx, dword [esp + 0x374]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
mov ecx, dword [esp + 0x374]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x364]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3b0]
lea eax, [ebx + eax]
add dword [esp + 0x958], eax
jmp 0x8bb1c9
sar ebx, 2
mov eax, dword [esp + 0x430]
mov dword [esp + 0x41c], ebx
mov ebx, dword [esp + 0x430]
sar esi, 2
mov ecx, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x41c]
imul ebx, esi
mov edi, dword [esp + 0x460]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x41c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x430]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x430]
mov eax, dword [esp + 0x41c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x460]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x41c], ecx
mov esi, dword [esp + 0x41c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x460]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x458]
mov ecx, dword [esp + 0x430]
mov esi, dword [esp + 0x45c]
mov ebx, dword [esp + 0x430]
sar edx, 2
mov dword [esp + 0x420], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x438]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x420]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x464]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x430]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x420]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x438]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x464]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x430]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x430]
mov eax, dword [esp + 0x420]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x438]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x464]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x420], ecx
mov esi, dword [esp + 0x420]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x464]
call dword [edx + edi*4 + 0x40]
jmp 0x8ba7a2
mov eax, dword [esp + 0x28c]
sar edi, 1
mov ecx, dword [esp + 0x294]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x28c]
mov eax, dword [esp + 0x860]
sar dword [esp + 0x2b0], 1
mov ecx, dword [esp + 0x2b0]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x2ac], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2b4]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c33ef
mov ebx, dword [esp + 0x2a8]
movzx ecx, byte [esp + 0x94]
mov edx, dword [esp + 0x90]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2a0]
add eax, dword [esp + 0x28]
mov dword [esp + 0x2b0], eax
jmp 0x8c32e8
mov ecx, eax
mov eax, dword [esp + 0x2a8]
mov edx, dword [esp + 0x90]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8f8], ecx
movzx ecx, byte [esp + 0x94]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2a0]
add ebx, eax
mov dword [esp + 0x2ac], ebx
jmp 0x8c32be
sub ecx, dword [esp + 0x378]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x378]
mov dword [esp + 0x394], eax
jmp 0x8bb00a
mov ebx, dword [esp + 0x28c]
mov eax, dword [esp + 0x834]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, ebx
imul edx, dword [esp + 0x908]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x15c]
test byte [esp + 0x164], 2
mov dword [esp + 0x29c], eax
je 0x8bd6e8
mov edx, dword [esp + 0x908]
mov edi, ebx
mov eax, dword [esp + 0x834]
shl edi, 4
mov esi, dword [esp + 0x834]
mov ebx, dword [esp + 0x908]
and edx, 1
mov ecx, dword [esp + 0x294]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x290]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x290]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x2c8], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c8]
call dword [edx + eax*4 + 0x10]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x288], edx
mov edx, dword [esp + 0x294]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x288]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2c8]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x10]
mov esi, dword [esp + 0x290]
mov edx, dword [esp + 0x298]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
mov ecx, dword [esp + 0x298]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x288]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x160]
lea eax, [ebx + eax]
add dword [esp + 0x29c], eax
jmp 0x8bd6e8
mov esi, dword [esp + 0x368]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x740]
mov dword [esp + 0x868], edx
mov dword [esp + 0x380], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x864], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x380]
mov edx, dword [esp + 0x348]
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0x34c]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8c4441
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8dc], eax
mov dword [esp + 0x384], edx
mov eax, dword [esp + 0x34c]
test eax, eax
je 0x8c4525
mov edx, dword [esp + 0x380]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x388], ecx
mov eax, dword [esp + 0x37c]
movzx ecx, byte [esp + 0x73c]
mov edx, dword [esp + 0x37c]
imul ebx, dword [esp + 0x864]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x388]
and eax, dword [esp + 0x37c]
and edx, dword [esp + 0x37c]
shl eax, cl
add eax, edx
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x8dc]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x740]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8c4489
mov ecx, dword [esp + 0x368]
sar edi, 2
mov eax, dword [esp + 0x370]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x368]
sar dword [esp + 0x388], 2
mov eax, dword [esp + 0x388]
mov edi, dword [esp + 0x868]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x384], 2
imul eax, esi
mov ecx, dword [esp + 0x38c]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x384], edi
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x384]
add eax, dword [esp + 0x388]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x380], 1
cmp dword [esp + 0x380], 4
jne 0x8c42a9
jmp 0x8bb18e
mov ecx, eax
mov eax, dword [esp + 0x380]
mov edx, dword [esp + 0x88]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8dc], ecx
movzx ecx, byte [esp + 0x8c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x378]
add ebx, eax
mov dword [esp + 0x384], ebx
jmp 0x8c42f5
mov eax, dword [esp + 0x368]
sar edi, 1
mov ecx, dword [esp + 0x370]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x28]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x368]
mov eax, dword [esp + 0x868]
sar dword [esp + 0x388], 1
mov ecx, dword [esp + 0x388]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x384], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x384], eax
mov eax, dword [esp + 0x384]
mov dword [esp], ebx
mov ebx, dword [esp + 0x38c]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c4426
mov ebx, dword [esp + 0x380]
movzx ecx, byte [esp + 0x8c]
mov edx, dword [esp + 0x88]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x28], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x378]
add eax, dword [esp + 0x28]
mov dword [esp + 0x388], eax
jmp 0x8c431f
sub ecx, dword [esp + 0x2a0]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x2a0]
mov dword [esp + 0x2bc], eax
jmp 0x8bd52f
mov edx, ecx
sub edx, dword [esp + 0x2a0]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2a0]
mov dword [esp + 0x2b8], eax
jmp 0x8bd511
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
sar ebx, 2
mov edi, dword [esp + 0x370]
mov dword [esp + 0x350], ebx
mov ebx, dword [esp + 0x368]
sar esi, 2
mov ecx, dword [esp + 0x368]
mov eax, dword [esp + 0x350]
mov edx, dword [ebp + 0x17f8]
imul ebx, esi
add esi, 8
mov dword [esp + 8], ecx
add eax, dword [edi]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x398]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x368]
mov eax, dword [esp + 0x350]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], ecx
add eax, dword [edi]
mov edi, dword [esp + 0x398]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x370]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x368]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x368]
mov eax, dword [esp + 0x350]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x398]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x370]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x350], ecx
mov esi, dword [esp + 0x350]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x398]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x390]
mov ecx, dword [esp + 0x368]
mov esi, dword [esp + 0x394]
mov ebx, dword [esp + 0x368]
sar edx, 2
mov dword [esp + 0x354], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x370]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x354]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x39c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x368]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x354]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x370]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x39c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x368]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x368]
mov eax, dword [esp + 0x354]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x370]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x39c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x370]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x354], ecx
mov esi, dword [esp + 0x354]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x39c]
call dword [edx + edi*4 + 0x40]
jmp 0x8bb18e
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
sar ebx, 2
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x278], ebx
mov ebx, dword [esp + 0x28c]
sar esi, 2
mov ecx, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x278]
imul ebx, esi
mov edi, dword [esp + 0x2c0]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x278]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x28c]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x28c]
mov eax, dword [esp + 0x278]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x2c0]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x294]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x278], ecx
mov esi, dword [esp + 0x278]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x2c0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x28c]
mov esi, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x28c]
sar edx, 2
mov dword [esp + 0x27c], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x294]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x27c]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2c4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x28c]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x27c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x294]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x2c4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x28c]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x28c]
mov eax, dword [esp + 0x27c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x294]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x2c4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x294]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x27c], ecx
mov esi, dword [esp + 0x27c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x2c4]
call dword [edx + edi*4 + 0x40]
jmp 0x8bd6ad
mov dword [esp + 8], 0x39d
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbaee58
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c8
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef35
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c8
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef1c
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c8
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef03
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c8
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef4e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c5
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4ca
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef67
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4ca
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef80
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4ca
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef99
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c5
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c5
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4ca
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefb2
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c5
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef03
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cb
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cb
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cb
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cb
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef1c
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef35
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4c6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef4e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cc
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeffd
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cc
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf016
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cc
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefcb
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cc
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefe4
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cd
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf048
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cd
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf061
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cd
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf02f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d3
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cd
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf07a
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cf
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cf
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cf
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4cf
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x4d6
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
lea esi, [esi]
lea edi, [edi]