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

Disassembly:
jmp 0x6ec850
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
sub esp, 0x114
xor edx, edx
cmp eax, edx
push esi
je 0x6ec877
mov eax, dword [eax + 0x14]
mov esi, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp eax, dword [esi + 0x1c]
jne 0x72c683
mov eax, dword [ecx + 0x14]
mov ecx, 1
cmp dword [eax + 0x20], ecx
je 0x72c683
cmp dword [eax + 0x28], ecx
je 0x72c683
mov eax, dword [esp + 0x124]
mov esi, dword [eax]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0x108], esi
mov esi, dword [eax + 4]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0xf4], esi
mov esi, dword [eax + 8]
shl esi, 0x12
mov dword [esp + 0xe4], esi
mov esi, dword [eax + 0xc]
shl esi, 0x12
mov dword [esp + 0xd4], esi
mov esi, dword [eax + 0x10]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0x10c], esi
mov esi, dword [eax + 0x14]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0xf8], esi
mov esi, dword [eax + 0x18]
shl esi, 0x12
mov dword [esp + 0xe8], esi
mov esi, dword [eax + 0x1c]
shl esi, 0x12
mov dword [esp + 0xd8], esi
mov esi, dword [eax + 0x20]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0x110], esi
mov esi, dword [eax + 0x24]
shl esi, 0x12
add esi, 0x20000
mov dword [esp + 0xfc], esi
mov esi, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
shl eax, 0x12
push ebx
mov dword [esp + 0xe0], eax
mov eax, 2
shl esi, 0x12
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd0], eax
mov ebx, 4
lea ecx, [esp + 0xbc]
push ebp
xor eax, eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0xc0], edx
mov dword [esp + 0xcc], edx
sub ebx, ecx
push edi
lea esp, [esp]
lea ecx, [eax + 1]
cmp ecx, 3
mov dword [esp + 0x110], ecx
jge 0x6eca13
lea esi, [esp + eax*4 + 0xc4]
lea edi, [esp + eax*4 + 0xd0]
lea eax, [ebx + esi]
mov edx, dword [esi]
mov ecx, dword [esp + eax + 0xc4]
mov ebp, dword [esp + edx*4 + 0x114]
cmp ebp, dword [esp + ecx*4 + 0x114]
jle 0x6ec9e2
mov dword [esp + eax + 0xc4], edx
mov dword [esi], ecx
mov edx, dword [edi]
mov ecx, dword [esp + eax + 0xd0]
mov ebp, dword [esp + edx*4 + 0x100]
cmp ebp, dword [esp + ecx*4 + 0x100]
jle 0x6eca04
mov dword [esp + eax + 0xd0], edx
mov dword [edi], ecx
add eax, 4
cmp eax, 0xc
jl 0x6ec9c0
mov ecx, dword [esp + 0x110]
mov eax, ecx
cmp eax, 3
jl 0x6ec9a0
mov esi, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + ebx*4 + 0x114]
mov eax, dword [esp + esi*4 + 0x114]
sub eax, edi
cdq
mov ebp, dword [esp + ebx*4 + 0xf0]
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + esi*4 + 0xf0]
sub eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0xc8]
sar eax, 0x12
mov dword [esp + 0x5c], eax
mov eax, dword [esp + edx*4 + 0x114]
sub eax, edi
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + eax*4 + 0xf0]
sub eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + ebx*4 + 0x100]
mov ebx, dword [esp + ebx*4 + 0xe0]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x4c], edi
mov edi, eax
mov eax, dword [esp + esi*4 + 0x100]
sub eax, edx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dword [esp + 0x58], eax
mov eax, dword [esp + esi*4 + 0xe0]
sub eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x94], ebp
mov ebp, eax
mov eax, dword [esp + edx*4 + 0x100]
sub eax, dword [esp + 0xb8]
mov dword [esp + 0x88], ebx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + eax*4 + 0xe0]
sub eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
imul edx, dword [esp + 0x60]
mov ebx, eax
sar esi, 0x12
sar ecx, 0x12
mov eax, esi
imul eax, ecx
sar edi, 0x12
sar ebp, 0x12
sar ebx, 0x12
sub eax, edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x110], eax
je case.0x72b8e0.5
mov ecx, dword [esp + 0x58]
fild dword [esp + 0x110]
mov edx, esi
imul ecx, edi
fst qword [esp + 0xc4]
imul edx, dword [esp + 0x5c]
sub edx, ecx
mov dword [esp + 0x110], edx
sub esp, 8
fild dword [esp + 0x118]
fmul qword [0x88aeb8]
fdivrp st(1)
fstp qword [esp]
call fcn.0057e119
imul edi, dword [esp + 0xb4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
imul eax, dword [esp + 0x64]
sub edi, eax
mov dword [esp + 0x64], edi
fild dword [esp + 0x64]
fmul qword [0x88aeb8]
fdiv qword [esp + 0xcc]
fstp qword [esp]
call fcn.0057e119
imul esi, ebp
mov ecx, ebx
imul ecx, dword [esp + 0x60]
sub esi, ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x88], eax
fild dword [esp + 0x60]
fmul qword [0x88aeb8]
fdiv qword [esp + 0xcc]
fstp qword [esp]
call fcn.0057e119
imul ebp, dword [esp + 0x68]
imul ebx, dword [esp + 0xb4]
sub ebx, ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x50], eax
fild dword [esp + 0x60]
fmul qword [0x88aeb8]
fdiv qword [esp + 0xcc]
fstp qword [esp]
call fcn.0057e119
mov ebx, dword [esp + 0xd8]
mov ecx, dword [esp + ebx*4 + 0x108]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xc0]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + edx*4 + 0x108]
sar eax, 0x12
add esp, 8
cmp ecx, esi
mov dword [esp + 0x8c], eax
jne 0x6ecdaa
mov eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + eax*4 + 0x100]
sub esi, edi
mov dword [esp + 0x58], esi
fild dword [esp + 0x58]
sub ecx, edi
fld qword [0x88aea8]
mov dword [esp + 0x58], ecx
fmul st(1), st(0)
fild dword [esp + 0x58]
fmulp st(1)
fldz
fld st(0)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x72c669
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x72b8e0.5
mov ecx, dword [esp + ebx*4 + 0x114]
cmp ecx, dword [esp + edx*4 + 0x114]
jle 0x6eccff
mov eax, ebx
jmp 0x6ecd03
mov eax, edx
mov edx, ebx
mov ecx, dword [esp + eax*4 + 0x114]
mov ebx, dword [esp + edx*4 + 0x114]
mov ebp, dword [esp + eax*4 + 0x100]
mov edx, dword [esp + edx*4 + 0x100]
mov eax, edi
sub eax, edx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xc0], eax
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xb4], ecx
je case.0x72b8e0.5
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + edx*4 + 0x114]
mov eax, ecx
sub eax, ebx
cdq
idiv esi
sub edi, ebp
mov dword [esp + 0xd4], eax
mov eax, edi
mov dword [esp + 0x104], eax
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
sar edi, 0x12
mov dword [esp + 0x60], edi
je case.0x72b8e0.5
mov eax, ecx
sub eax, dword [esp + 0xb4]
cdq
idiv edi
mov dword [esp + 0xc8], eax
jmp 0x6ed111
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + eax*4 + 0x100]
cmp esi, edi
jne 0x6ececd
sub esi, ecx
mov dword [esp + 0x58], esi
fild dword [esp + 0x58]
sub edi, ecx
fld qword [0x88aea8]
mov dword [esp + 0x58], edi
mov eax, 1
fmul st(1), st(0)
mov dword [esp + 0x34], eax
fild dword [esp + 0x58]
mov dword [esp + 0x30], eax
fmulp st(1)
fldz
fld st(0)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x72c669
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x72b8e0.5
mov ebp, dword [esp + ebx*4 + 0x114]
mov esi, dword [esp + edx*4 + 0x114]
mov eax, dword [esp + 0xd8]
cmp esi, dword [esp + eax*4 + 0x114]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xf4], ecx
jle 0x6ece46
mov ebx, eax
mov dword [esp + 0x58], edx
jmp 0x6ece4c
mov ebx, edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + ebx*4 + 0x100]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + edx*4 + 0x100]
sub eax, ecx
mov dword [esp + 0xc0], eax
cdq
and edx, 0x3ffff
add eax, edx
sub edi, ecx
mov esi, eax
sar esi, 0x12
mov dword [esp + 0x104], edi
je case.0x72b8e0.5
mov eax, dword [esp + ebx*4 + 0x114]
sub eax, ebp
cdq
idiv esi
mov dword [esp + 0xd4], eax
mov eax, edi
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
sar ecx, 0x12
mov dword [esp + 0x60], ecx
je case.0x72b8e0.5
mov eax, dword [esp + 0x58]
mov eax, dword [esp + eax*4 + 0x114]
sub eax, ebp
cdq
idiv ecx
mov dword [esp + 0xc8], eax
jmp 0x6ed111
mov eax, esi
sub eax, ecx
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fld qword [0x88aea8]
fmul st(1), st(0)
fld st(1)
fldz
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jnp 0x72c678
mov eax, edi
sub eax, ecx
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fmulp st(3)
fld st(2)
fld st(1)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x72c663
fld st(1)
fucomp st(5)
fnstsw ax
fstp st(4)
test ah, 0x44
jnp 0x72c678
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x72c67c
mov ebp, dword [esp + edx*4 + 0x114]
mov edx, dword [esp + ebx*4 + 0x114]
mov eax, dword [esp + 0xd8]
mov eax, dword [esp + eax*4 + 0x114]
mov ebx, ebp
sub ebx, edx
mov dword [esp + 0x60], ebx
fild dword [esp + 0x60]
mov dword [esp + 0x58], eax
sub eax, edx
mov dword [esp + 0x60], eax
fdivrp st(1)
fild dword [esp + 0x60]
fdivrp st(2)
fcompp
fnstsw ax
test ah, 5
mov eax, esi
jp 0x6ed04b
sub eax, ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xbc], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 1
mov dword [esp + 0xf0], ecx
je case.0x72b8e0.5
mov eax, ebp
sub eax, dword [esp + 0xb4]
mov dword [esp + 0xf4], esi
cdq
idiv ebx
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xd0], eax
mov eax, edi
sub eax, esi
mov dword [esp + 0xc0], eax
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
je case.0x72b8e0.5
mov ebx, dword [esp + 0x58]
mov eax, ebx
sub eax, ebp
cdq
idiv esi
sub edi, ecx
mov dword [esp + 0x104], edi
mov dword [esp + 0xd4], eax
mov eax, edi
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
sar ecx, 0x12
mov dword [esp + 0x60], ecx
je case.0x72b8e0.5
mov eax, ebx
sub eax, dword [esp + 0xb4]
cdq
idiv ecx
mov dword [esp + 0xc8], eax
jmp 0x6ed111
sub eax, ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0x100], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0xf4], ecx
je case.0x72b8e0.5
mov eax, ebp
sub eax, dword [esp + 0xb0]
add ebp, 1
cdq
idiv ebx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xc4], eax
mov eax, edi
sub eax, esi
mov dword [esp + 0x104], eax
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
mov dword [esp + 0x60], esi
je case.0x72b8e0.5
mov ebx, dword [esp + 0x58]
mov eax, ebx
sub eax, ebp
cdq
idiv esi
sub edi, ecx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc8], eax
mov eax, edi
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
je case.0x72b8e0.5
mov eax, ebx
sub eax, dword [esp + 0xb0]
cdq
idiv esi
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x12c]
test ecx, ecx
je 0x6ed133
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x90], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x128]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x138]
test eax, eax
mov dword [esp + 0x78], edx
je 0x6ed171
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xac], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xb8], edx
test ecx, ecx
je 0x6ed188
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
jmp 0x6ed190
mov dword [esp + 0x54], 0
movzx eax, byte [0xb160d6]
shl eax, 0xa
add eax, 0xc02d28
mov dword [esp + 0xa0], eax
mov ecx, dword [0xb160d4]
mov edi, dword [esp + 0x34]
mov ebp, dword [0xb160b8]
movzx eax, ch
shl eax, 0xa
add eax, 0xc02d28
mov dword [esp + 0xa4], eax
movzx eax, cl
mov ecx, dword [esp + 0x30]
shl eax, 0xa
add eax, 0xc02d28
mov dword [esp + 0xa8], eax
mov eax, dword [esp + ecx*4 + 0xe0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + edi*4 + 0xb0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + edi*4 + 0xc4]
mov dword [esp + 0x3c], eax
mov eax, dword [0xb15f84]
mov dword [esp + 0x70], eax
mov eax, dword [0xb15f88]
mov dword [esp + 0x68], eax
mov edx, dword [esp + ecx*4 + 0xf0]
mov ebx, ebp
shl ebx, 0xa
shl ebp, 0xb
add ebx, 0xc02d28
add ebp, 0xc43128
mov eax, ecx
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], edx
mov edx, dword [esp + ecx*4 + 0xd0]
mov dword [esp + 0x38], edx
mov edx, dword [0xb15f8c]
mov eax, edi
neg eax
sbb eax, eax
not eax
and eax, dword [esp + 0x60]
mov dword [esp + 0x40], edx
mov edx, dword [0xb15f90]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + ecx*4 + 0xbc]
mov dword [esp + 0x6c], edx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dword [esp + 0x28], eax
mov eax, dword [esp + edi*4 + 0x100]
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x24]
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0x20]
cdq
and edx, 0x3ffff
sar edi, 0x12
sar ecx, 0x12
mov dword [esp + 0x50], ebx
mov dword [esp + 0xdc], ebp
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
cmp dword [esp + 0x12c], 0
je 0x72ab54
mov edx, dword [esp + 0x12c]
mov eax, dword [edx + 4]
shl eax, 0x12
mov dword [esp + 0x100], eax
mov eax, dword [edx + 8]
shl eax, 0x12
mov dword [esp + 0xbc], eax
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 0x1c]
sub edx, 0
je 0x70af1e
mov ebp, 1
sub edx, ebp
jne case.0x72b8e0.5
cmp dword [eax + 0x20], ebp
jne 0x6f6f8b
mov eax, dword [0xb160b4]
cmp eax, 0xb
ja case.0x72b8e0.5
jmp dword [eax*4 + 0x72c68c]
mov eax, dword [0xb160b8]
cmp eax, 0xff
jne 0x6ee829
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6edf23
cmp eax, 0xffffff
jne 0x6ed935
cmp dword [esp + 0x134], 0
je 0x6ed665
jmp 0x6ed390
mov eax, dword [esp + 0x70]
mov edx, edi
imul edx, dword [esp + 0x74]
add edx, dword [esp + 0x78]
cmp ecx, eax
lea edx, [edx + ecx*4]
mov dword [esp + 0x10], edx
jge 0x6ed3bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ed56e
cmp edi, dword [esp + 0x6c]
jge 0x6ed56e
cmp ecx, dword [esp + 0x40]
jge 0x6ed56e
test esi, esi
jle 0x6ed56e
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6ed547
cmp eax, dword [esp + 0xbc]
jae 0x6ed547
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6ed547
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 8
mov byte [eax], bl
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 8
mov byte [eax + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx eax, byte [eax + 2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ed56e
cmp ecx, dword [esp + 0x40]
jl 0x6ed430
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ed614
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ed390
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ed390
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6ed68b
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6ed83e
cmp edi, dword [esp + 0x6c]
jge 0x6ed83e
cmp ecx, dword [esp + 0x40]
jge 0x6ed83e
test esi, esi
jle 0x6ed83e
jmp 0x6ed710
cmp edx, dword [esp + 0x100]
jae 0x6ed815
cmp ebx, dword [esp + 0xbc]
jae 0x6ed815
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
sar ebx, 8
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
sar ebx, 8
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6ed83e
cmp ecx, dword [esp + 0x40]
jl 0x6ed710
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ed8e4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ed665
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ed665
cmp dword [esp + 0x134], 0
je 0x6edc40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6ed969
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6edb46
cmp edi, dword [esp + 0x6c]
jge 0x6edb46
cmp ecx, dword [esp + 0x40]
jge 0x6edb46
test esi, esi
jle 0x6edb46
jmp 0x6ed9f0
cmp edx, dword [esp + 0x100]
jae 0x6edb1d
cmp eax, dword [esp + 0xbc]
jae 0x6edb1d
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6edb19
movzx ebx, byte [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6edb46
cmp ecx, dword [esp + 0x40]
jl 0x6ed9f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6edbec
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ed943
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ed943
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6edc66
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6ede2c
cmp edi, dword [esp + 0x6c]
jge 0x6ede2c
cmp ecx, dword [esp + 0x40]
jge 0x6ede2c
test esi, esi
jle 0x6ede2c
nop
cmp edx, dword [esp + 0x100]
jae 0x6ede03
cmp ebx, dword [esp + 0xbc]
jae 0x6ede03
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6ede2c
cmp ecx, dword [esp + 0x40]
jl 0x6edce0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6eded2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6edc40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6edc40
cmp eax, 0xffffff
jne 0x6ee348
cmp dword [esp + 0x134], 0
je 0x6ee150
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6edf6d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ee058
cmp edi, dword [esp + 0x6c]
jge 0x6ee058
cmp ecx, dword [esp + 0x40]
jge 0x6ee058
test esi, esi
jle 0x6ee058
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x6ee039
cmp eax, dword [esp + 0xbc]
jae 0x6ee039
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add eax, ebp
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x6ee035
mov edx, dword [esp + 0x54]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ee058
cmp ecx, dword [esp + 0x40]
jl 0x6edfe0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ee0fe
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6edf40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6edf40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ee17d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ee251
cmp edi, dword [esp + 0x6c]
jge 0x6ee251
cmp ecx, dword [esp + 0x40]
jge 0x6ee251
test esi, esi
jle 0x6ee251
cmp ebx, dword [esp + 0x100]
jae 0x6ee232
cmp eax, dword [esp + 0xbc]
jae 0x6ee232
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add ebp, dword [esp + 0x90]
movzx edx, byte [eax + ebp]
mov eax, dword [esp + 0x54]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
mov dword [eax], edx
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ee251
cmp ecx, dword [esp + 0x40]
jl 0x6ee1e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ee2f7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ee150
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ee150
cmp dword [esp + 0x134], 0
je 0x6ee5d0
jmp 0x6ee360
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ee38d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ee4d3
cmp edi, dword [esp + 0x6c]
jge 0x6ee4d3
cmp ecx, dword [esp + 0x40]
jge 0x6ee4d3
test esi, esi
jle 0x6ee4d3
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x6ee4b0
cmp eax, dword [esp + 0xbc]
jae 0x6ee4b0
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x90]
sar ebp, 0x12
add ebp, eax
movzx eax, byte [ebp]
cmp eax, dword [esp + 0x58]
je 0x6ee4ac
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov al, byte [edx + eax*4]
mov edx, dword [esp + 0x10]
mov byte [edx], al
movzx eax, byte [ebp]
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4 + 1]
mov edx, dword [esp + 0xa4]
movzx edx, byte [edx + eax*4]
mov eax, dword [esp + 0x10]
mov byte [eax + 1], dl
movzx edx, byte [ebp]
mov ebp, dword [esp + 0x54]
movzx edx, byte [ebp + edx*4 + 2]
mov ebp, dword [esp + 0xa0]
movzx edx, byte [ebp + edx*4]
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ee4d3
cmp ecx, dword [esp + 0x40]
jl 0x6ee400
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ee579
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ee360
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ee360
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ee5fd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ee732
cmp edi, dword [esp + 0x6c]
jge 0x6ee732
cmp ecx, dword [esp + 0x40]
jge 0x6ee732
test esi, esi
jle 0x6ee732
mov edx, dword [esp + 0x10]
cmp ebp, dword [esp + 0x100]
jae 0x6ee70d
cmp eax, dword [esp + 0xbc]
jae 0x6ee70d
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [eax + ebx]
add eax, ebx
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0xa8]
mov dl, byte [ebx + edx*4]
mov ebx, dword [esp + 0x10]
mov byte [ebx], dl
movzx edx, byte [eax]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 1]
mov ebx, dword [esp + 0xa4]
mov bl, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov byte [edx + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
mov ebx, dword [esp + 0xa0]
mov al, byte [ebx + eax*4]
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add edx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
je 0x6ee732
cmp ecx, dword [esp + 0x40]
jl 0x6ee670
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ee7d8
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ee5d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ee5d0
test eax, eax
je case.0x72b8e0.5
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6ef43a
cmp eax, 0xffffff
jne 0x6eee2a
cmp dword [esp + 0x134], 0
je 0x6eeb50
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ee88f
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6eea53
cmp edi, dword [esp + 0x6c]
jge 0x6eea53
cmp ecx, dword [esp + 0x40]
jge 0x6eea53
test esi, esi
jle 0x6eea53
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6eea2c
cmp eax, dword [esp + 0xbc]
jae 0x6eea2c
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6eea2c
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax], bl
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx eax, byte [eax + 2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6eea53
cmp ecx, dword [esp + 0x40]
jl 0x6ee900
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6eeaf9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ee862
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ee862
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6eeb76
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6eed33
cmp edi, dword [esp + 0x6c]
jge 0x6eed33
cmp ecx, dword [esp + 0x40]
jge 0x6eed33
test esi, esi
jle 0x6eed33
nop
cmp edx, dword [esp + 0x100]
jae 0x6eed0a
cmp ebx, dword [esp + 0xbc]
jae 0x6eed0a
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6eed33
cmp ecx, dword [esp + 0x40]
jl 0x6eebf0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6eedd9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6eeb50
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6eeb50
cmp dword [esp + 0x134], 0
je 0x6ef143
jmp 0x6eee40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6eee66
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6ef04c
cmp edi, dword [esp + 0x6c]
jge 0x6ef04c
cmp ecx, dword [esp + 0x40]
jge 0x6ef04c
test esi, esi
jle 0x6ef04c
cmp edx, dword [esp + 0x100]
jae 0x6ef023
cmp eax, dword [esp + 0xbc]
jae 0x6ef023
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6ef01f
movzx ebx, byte [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6ef04c
cmp ecx, dword [esp + 0x40]
jl 0x6eeee1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ef0f2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6eee40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6eee40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6ef169
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6ef343
cmp edi, dword [esp + 0x6c]
jge 0x6ef343
cmp ecx, dword [esp + 0x40]
jge 0x6ef343
test esi, esi
jle 0x6ef343
cmp edx, dword [esp + 0x100]
jae 0x6ef31a
cmp ebx, dword [esp + 0xbc]
jae 0x6ef31a
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6ef343
cmp ecx, dword [esp + 0x40]
jl 0x6ef1e2
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ef3e9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ef143
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ef143
cmp eax, 0xffffff
jne 0x6ef97c
cmp dword [esp + 0x134], 0
je 0x6ef6f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ef480
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ef5f2
cmp edi, dword [esp + 0x6c]
jge 0x6ef5f2
cmp ecx, dword [esp + 0x40]
jge 0x6ef5f2
test esi, esi
jle 0x6ef5f2
nop
cmp ebp, dword [esp + 0x100]
jae 0x6ef5cf
cmp eax, dword [esp + 0xbc]
jae 0x6ef5cf
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [eax + ebx]
add eax, ebx
cmp edx, dword [esp + 0x58]
je 0x6ef5cb
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx], bl
movzx edx, byte [edx + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4 + 1]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx + 1], bl
movzx eax, byte [eax]
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
mov edx, dword [esp + 0x10]
sar eax, 8
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ef5f2
cmp ecx, dword [esp + 0x40]
jl 0x6ef4f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ef698
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ef453
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ef453
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6ef716
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6ef885
cmp edi, dword [esp + 0x6c]
jge 0x6ef885
cmp ecx, dword [esp + 0x40]
jge 0x6ef885
test esi, esi
jle 0x6ef885
nop
cmp ebx, dword [esp + 0x100]
jae 0x6ef860
cmp eax, dword [esp + 0xbc]
jae 0x6ef860
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4 + 1]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0x1c]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6ef885
cmp ecx, dword [esp + 0x40]
jl 0x6ef790
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ef92b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ef6f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ef6f0
cmp dword [esp + 0x134], 0
je 0x6efc50
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6ef9b5
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6efb51
cmp edi, dword [esp + 0x6c]
jge 0x6efb51
cmp ecx, dword [esp + 0x40]
jge 0x6efb51
test esi, esi
jle 0x6efb51
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6efb2c
cmp eax, dword [esp + 0xbc]
jae 0x6efb2c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x90]
sar ebp, 0x12
add ebp, eax
movzx eax, byte [ebp]
cmp eax, dword [esp + 0x58]
je 0x6efb24
movzx edx, byte [ebx]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x4c]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx], dl
movzx eax, byte [ebx + 1]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4 + 1]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x4c]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx + 1], dl
movzx edx, byte [ebp]
mov ebp, dword [esp + 0x54]
movzx edx, byte [ebp + edx*4 + 2]
movzx eax, byte [ebx + 2]
mov ebp, dword [esp + 0xa0]
mov edx, dword [ebp + edx*4]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx + 2], dl
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6efb51
cmp ecx, dword [esp + 0x40]
jl 0x6efa30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6efbf7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ef990
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ef990
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6efc76
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6efe03
cmp edi, dword [esp + 0x6c]
jge 0x6efe03
cmp ecx, dword [esp + 0x40]
jge 0x6efe03
test esi, esi
jle 0x6efe03
nop
cmp ebx, dword [esp + 0x100]
jae 0x6efdde
cmp eax, dword [esp + 0xbc]
jae 0x6efdde
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
mov ebx, dword [esp + 0x1c]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6efe03
cmp ecx, dword [esp + 0x40]
jl 0x6efcf0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6efea9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6efc50
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6efc50
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f0a70
cmp eax, 0xffffff
jne 0x6f04ab
cmp dword [esp + 0x134], 0
je 0x6f0200
jmp 0x6eff40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6eff6d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f0106
cmp edi, dword [esp + 0x6c]
jge 0x6f0106
cmp ecx, dword [esp + 0x40]
jge 0x6f0106
test esi, esi
jle 0x6f0106
cmp ebp, dword [esp + 0x100]
jae 0x6f00df
cmp eax, dword [esp + 0xbc]
jae 0x6f00df
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x6f00db
movzx edx, byte [ebx]
movzx ebp, byte [edx + 0xcc2d28]
mov edx, dword [esp + 0x54]
movzx ebx, byte [edx + eax*4]
mov edx, dword [0xb160b8]
imul ebx, ebp
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x50], bl
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4 + 1]
imul ebx, ebp
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
imul eax, ebp
imul eax, edx
mov edx, dword [esp + 0x10]
sar eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f0106
cmp ecx, dword [esp + 0x40]
jl 0x6effe0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f01ac
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6eff40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6eff40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f022d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f03b4
cmp edi, dword [esp + 0x6c]
jge 0x6f03b4
cmp ecx, dword [esp + 0x40]
jge 0x6f03b4
test esi, esi
jle 0x6f03b4
cmp ebp, dword [esp + 0x100]
jae 0x6f038d
cmp eax, dword [esp + 0xbc]
jae 0x6f038d
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
lea eax, [eax + edx*4]
movzx edx, byte [ebx]
movzx ebx, byte [eax]
movzx ebp, byte [edx + 0xcc2d28]
mov edx, dword [0xb160b8]
imul ebx, ebp
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
imul ebx, ebp
imul eax, ebp
imul ebx, edx
imul eax, edx
mov edx, dword [esp + 0x10]
sar eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f03b4
cmp ecx, dword [esp + 0x40]
jl 0x6f02a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f045a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f0200
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f0200
cmp dword [esp + 0x134], 0
je 0x6f07a3
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f04ed
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f06ac
cmp edi, dword [esp + 0x6c]
jge 0x6f06ac
cmp ecx, dword [esp + 0x40]
jge 0x6f06ac
test esi, esi
jle 0x6f06ac
cmp ebp, dword [esp + 0x100]
jae 0x6f0681
cmp eax, dword [esp + 0xbc]
jae 0x6f0681
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x6f0681
movzx edx, byte [ebx]
movzx ebp, byte [edx + 0xcc2d28]
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + eax*4]
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + eax*4 + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [0xb160b8]
imul ebx, ebp
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, edx
mov edx, dword [esp + 0x10]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f06ac
cmp ecx, dword [esp + 0x40]
jl 0x6f0560
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f0752
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f04c0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f04c0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f07d0
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f0979
cmp edi, dword [esp + 0x6c]
jge 0x6f0979
cmp ecx, dword [esp + 0x40]
jge 0x6f0979
test esi, esi
jle 0x6f0979
cmp ebp, dword [esp + 0x100]
jae 0x6f0952
cmp eax, dword [esp + 0xbc]
jae 0x6f0952
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
add ebx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
lea eax, [eax + edx*4]
movzx edx, byte [ebx]
movzx ebp, byte [edx + 0xcc2d28]
movzx edx, byte [eax]
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [0xb160b8]
imul ebx, ebp
movzx eax, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, edx
mov edx, dword [esp + 0x10]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f0979
cmp ecx, dword [esp + 0x40]
jl 0x6f0843
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f0a1f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f07a3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f07a3
cmp eax, 0xffffff
jne 0x6f0fc7
cmp dword [esp + 0x134], 0
je 0x6f0d30
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f0abd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6f0c33
cmp edi, dword [esp + 0x6c]
jge 0x6f0c33
cmp ecx, dword [esp + 0x40]
jge 0x6f0c33
test esi, esi
jle 0x6f0c33
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f0c0c
cmp eax, dword [esp + 0xbc]
jae 0x6f0c0c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, byte [eax + edx]
add eax, edx
cmp ebp, dword [esp + 0x58]
je 0x6f0c04
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + ebp*4]
movzx edx, byte [ebx + edx*4]
mov byte [esp + 0x50], dl
movzx edx, byte [eax + ebp*4 + 1]
movzx eax, byte [eax + ebp*4 + 2]
movzx edx, byte [ebx + edx*4]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f0c33
cmp ecx, dword [esp + 0x40]
jl 0x6f0b40
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f0cdc
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f0a90
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f0a90
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f0d5d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f0ecd
cmp edi, dword [esp + 0x6c]
jge 0x6f0ecd
cmp ecx, dword [esp + 0x40]
jge 0x6f0ecd
test esi, esi
jle 0x6f0ecd
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f0ea6
cmp eax, dword [esp + 0xbc]
jae 0x6f0ea6
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
lea ebp, [eax + edx*4]
movzx edx, byte [ebp]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
mov edx, dword [esp + 0x50]
mov dword [esp + 0x5c], ebp
mov eax, edx
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x10100
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f0ecd
cmp ecx, dword [esp + 0x40]
jl 0x6f0de0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f0f76
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f0d30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f0d30
cmp dword [esp + 0x134], 0
je 0x6f12a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f1002
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6f119f
cmp edi, dword [esp + 0x6c]
jge 0x6f119f
cmp ecx, dword [esp + 0x40]
jge 0x6f119f
test esi, esi
jle 0x6f119f
cmp ebp, dword [esp + 0x100]
jae 0x6f1178
cmp eax, dword [esp + 0xbc]
jae 0x6f1178
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, byte [eax + edx]
add eax, edx
cmp ebp, dword [esp + 0x58]
je 0x6f1170
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + ebp*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x54]
mov byte [esp + 0x50], dl
movzx edx, byte [eax + ebp*4 + 1]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
mov al, byte [ebx + edx*4]
mov edx, dword [esp + 0x54]
mov byte [esp + 0x51], al
movzx eax, byte [edx + ebp*4 + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f119f
cmp ecx, dword [esp + 0x40]
jl 0x6f1083
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f1248
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f0fd5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f0fd5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f12cd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f145b
cmp edi, dword [esp + 0x6c]
jge 0x6f145b
cmp ecx, dword [esp + 0x40]
jge 0x6f145b
test esi, esi
jle 0x6f145b
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f1434
cmp eax, dword [esp + 0xbc]
jae 0x6f1434
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
lea ebp, [eax + edx*4]
movzx edx, byte [ebp]
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
mov edx, dword [esp + 0x50]
mov dword [esp + 0x5c], ebp
mov eax, edx
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x10100
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f145b
cmp ecx, dword [esp + 0x40]
jl 0x6f1350
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f1504
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f12a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f12a0
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f2080
cmp eax, 0xffffff
jne 0x6f1ade
cmp dword [esp + 0x134], 0
je 0x6f1843
jmp 0x6f1590
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f15bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f174c
cmp edi, dword [esp + 0x6c]
jge 0x6f174c
cmp ecx, dword [esp + 0x40]
jge 0x6f174c
test esi, esi
jle 0x6f174c
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f1725
cmp eax, dword [esp + 0xbc]
jae 0x6f1725
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x6f1725
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x54]
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + eax*4 + 1]
imul ebx, dword [esp + 0x2c]
mov edx, dword [0xb160b8]
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
imul eax, dword [esp + 0x2c]
imul eax, edx
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
sar eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f174c
cmp ecx, dword [esp + 0x40]
jl 0x6f1630
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f17f2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f1590
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f1590
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f1870
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f19e7
cmp edi, dword [esp + 0x6c]
jge 0x6f19e7
cmp ecx, dword [esp + 0x40]
jge 0x6f19e7
test esi, esi
jle 0x6f19e7
cmp ebx, dword [esp + 0x100]
jae 0x6f19bc
cmp eax, dword [esp + 0xbc]
jae 0x6f19bc
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
lea eax, [eax + edx*4]
movzx edx, byte [ebx]
movzx ebx, byte [eax]
movzx ebp, byte [edx + 0xcc2d28]
mov edx, dword [0xb160b8]
imul ebx, ebp
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
imul ebx, ebp
imul eax, ebp
imul ebx, edx
imul eax, edx
sar eax, 0x10
sar ebx, 0x10
mov byte [esp + 0x52], al
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f19e7
cmp ecx, dword [esp + 0x40]
jl 0x6f18e3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f1a8d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f1843
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f1843
cmp dword [esp + 0x134], 0
je 0x6f1dc3
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f1b1d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f1ccc
cmp edi, dword [esp + 0x6c]
jge 0x6f1ccc
cmp ecx, dword [esp + 0x40]
jge 0x6f1ccc
test esi, esi
jle 0x6f1ccc
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f1ca5
cmp eax, dword [esp + 0xbc]
jae 0x6f1ca5
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x6f1ca5
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + eax*4]
mov edx, dword [ebx + edx*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + eax*4 + 1]
mov ebx, dword [ebx + edx*4]
imul ebx, dword [esp + 0x2c]
mov edx, dword [0xb160b8]
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, edx
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f1ccc
cmp ecx, dword [esp + 0x40]
jl 0x6f1b90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f1d72
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f1af0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f1af0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f1df0
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f1f89
cmp edi, dword [esp + 0x6c]
jge 0x6f1f89
cmp ecx, dword [esp + 0x40]
jge 0x6f1f89
test esi, esi
jle 0x6f1f89
cmp ebx, dword [esp + 0x100]
jae 0x6f1f5e
cmp eax, dword [esp + 0xbc]
jae 0x6f1f5e
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
add ebx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
lea eax, [eax + edx*4]
movzx edx, byte [ebx]
movzx ebp, byte [edx + 0xcc2d28]
movzx edx, byte [eax]
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [0xb160b8]
imul ebx, ebp
movzx eax, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
mov ebx, dword [esp + 0x10]
imul eax, ebp
imul eax, edx
mov edx, dword [ebx]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f1f89
cmp ecx, dword [esp + 0x40]
jl 0x6f1e63
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f202f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f1dc3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f1dc3
cmp eax, 0xffffff
jne 0x6f25b1
cmp dword [esp + 0x134], 0
je 0x6f2330
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f20cd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6f222d
cmp edi, dword [esp + 0x6c]
jge 0x6f222d
cmp ecx, dword [esp + 0x40]
jge 0x6f222d
test esi, esi
jle 0x6f222d
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f2206
cmp eax, dword [esp + 0xbc]
jae 0x6f2206
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, byte [eax + edx]
add eax, edx
cmp ebp, dword [esp + 0x58]
je 0x6f21fe
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + ebp*4]
movzx edx, byte [ebx + edx*4]
mov byte [esp + 0x50], dl
movzx edx, byte [eax + ebp*4 + 1]
movzx eax, byte [eax + ebp*4 + 2]
movzx edx, byte [ebx + edx*4]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f222d
cmp ecx, dword [esp + 0x40]
jl 0x6f2150
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f22d6
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f20a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f20a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f235d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f24b7
cmp edi, dword [esp + 0x6c]
jge 0x6f24b7
cmp ecx, dword [esp + 0x40]
jge 0x6f24b7
test esi, esi
jle 0x6f24b7
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f2490
cmp eax, dword [esp + 0xbc]
jae 0x6f2490
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
lea ebp, [eax + edx*4]
movzx edx, byte [ebp]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f24b7
cmp ecx, dword [esp + 0x40]
jl 0x6f23e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f2560
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f2330
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f2330
cmp dword [esp + 0x134], 0
je 0x6f2870
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f25ed
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6f2776
cmp edi, dword [esp + 0x6c]
jge 0x6f2776
cmp ecx, dword [esp + 0x40]
jge 0x6f2776
test esi, esi
jle 0x6f2776
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f274f
cmp eax, dword [esp + 0xbc]
jae 0x6f274f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, byte [eax + edx]
add eax, edx
cmp ebp, dword [esp + 0x58]
je 0x6f2747
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + ebp*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x54]
mov byte [esp + 0x50], dl
movzx edx, byte [eax + ebp*4 + 1]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
mov al, byte [ebx + edx*4]
mov edx, dword [esp + 0x54]
mov byte [esp + 0x51], al
movzx eax, byte [edx + ebp*4 + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f2776
cmp ecx, dword [esp + 0x40]
jl 0x6f2670
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f281f
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f25c0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f25c0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f289d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f2a15
cmp edi, dword [esp + 0x6c]
jge 0x6f2a15
cmp ecx, dword [esp + 0x40]
jge 0x6f2a15
test esi, esi
jle 0x6f2a15
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f29ee
cmp eax, dword [esp + 0xbc]
jae 0x6f29ee
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
lea ebp, [eax + edx*4]
movzx edx, byte [ebp]
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f2a15
cmp ecx, dword [esp + 0x40]
jl 0x6f2920
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f2abe
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6f2870
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f2870
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f3654
cmp eax, 0xffffff
jne 0x6f30a5
cmp dword [esp + 0x134], 0
je 0x6f2df5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f2b6d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f2cfe
cmp edi, dword [esp + 0x6c]
jge 0x6f2cfe
cmp ecx, dword [esp + 0x40]
jge 0x6f2cfe
test esi, esi
jle 0x6f2cfe
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f2cd7
cmp eax, dword [esp + 0xbc]
jae 0x6f2cd7
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f2cd7
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0x10
mov byte [ebx], al
movzx eax, byte [edx]
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4 + 1]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 1]
imul ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul edx, ebx
movzx ebx, byte [eax + 2]
imul edx, ebx
sar edx, 0x10
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f2cfe
cmp ecx, dword [esp + 0x40]
jl 0x6f2be0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f2da4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f2b40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f2b40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f2e1b
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f2fae
cmp edi, dword [esp + 0x6c]
jge 0x6f2fae
cmp ecx, dword [esp + 0x40]
jge 0x6f2fae
test esi, esi
jle 0x6f2fae
jmp 0x6f2ea0
cmp edx, dword [esp + 0x100]
jae 0x6f2f85
cmp ebx, dword [esp + 0xbc]
jae 0x6f2f85
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
mov dword [esp + 0x2c], ebx
movzx eax, byte [edx]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul eax, ebx
movzx ebx, byte [ebp]
imul eax, ebx
mov ebx, dword [esp + 0x54]
sar eax, 0x10
mov byte [ebp], al
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul eax, ebx
movzx ebx, byte [ebp + 1]
imul eax, ebx
sar eax, 0x10
mov byte [ebp + 1], al
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4 + 2]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul edx, eax
movzx eax, byte [ebp + 2]
imul edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f2fae
cmp ecx, dword [esp + 0x40]
jl 0x6f2ea0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3054
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f2df5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f2df5
cmp dword [esp + 0x134], 0
je 0x6f3381
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f30e0
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f328a
cmp edi, dword [esp + 0x6c]
jge 0x6f328a
cmp ecx, dword [esp + 0x40]
jge 0x6f328a
test esi, esi
jle 0x6f328a
cmp ebp, dword [esp + 0x100]
jae 0x6f325f
cmp eax, dword [esp + 0xbc]
jae 0x6f325f
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f325f
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0x54]
movzx eax, byte [ebp + eax*4]
mov ebp, dword [esp + 0xa8]
imul ebx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp]
imul ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [edx]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
imul ebx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp + 1]
imul ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
movzx edx, byte [eax + edx*4 + 2]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
mov ebx, dword [esp + 0xa0]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp + 2]
imul eax, edx
shr eax, 0x10
mov byte [ebp + 2], al
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f328a
cmp ecx, dword [esp + 0x40]
jl 0x6f3153
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3330
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f30b3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f30b3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x6f33af
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6f355d
cmp edi, dword [esp + 0x6c]
jge 0x6f355d
cmp ecx, dword [esp + 0x40]
jge 0x6f355d
test esi, esi
jle 0x6f355d
lea ebx, [ebx]
cmp edx, dword [esp + 0x100]
jae 0x6f3534
cmp eax, dword [esp + 0xbc]
jae 0x6f3534
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
mov ebp, dword [esp + 0x54]
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, byte [edx]
movzx eax, byte [ebp + eax*4]
mov ebp, dword [esp + 0xa8]
imul ebx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp]
imul ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [edx]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
imul ebx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp + 1]
imul ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
movzx edx, byte [eax + edx*4 + 2]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
mov ebx, dword [esp + 0xa0]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp + 2]
imul eax, edx
mov edx, dword [esp + 0x1c]
shr eax, 0x10
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x6f355d
cmp ecx, dword [esp + 0x40]
jl 0x6f3430
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3603
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f3381
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f3381
cmp eax, 0xffffff
jne 0x6f3b5f
cmp dword [esp + 0x134], 0
je 0x6f38f0
lea ecx, [ecx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f369d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f37ef
cmp edi, dword [esp + 0x6c]
jge 0x6f37ef
cmp ecx, dword [esp + 0x40]
jge 0x6f37ef
test esi, esi
jle 0x6f37ef
mov edx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x6f37ca
cmp eax, dword [esp + 0xbc]
jae 0x6f37ca
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x90]
sar ebp, 0x12
add ebp, eax
movzx eax, byte [ebp]
cmp eax, dword [esp + 0x58]
je 0x6f37c2
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, byte [edx]
imul eax, edx
mov edx, dword [esp + 0x10]
sar eax, 8
mov byte [edx], al
movzx eax, byte [ebp]
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4 + 1]
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + 1]
imul eax, edx
mov edx, dword [esp + 0x10]
sar eax, 8
mov byte [edx + 1], al
movzx eax, byte [ebp]
mov ebp, dword [esp + 0x54]
movzx eax, byte [ebp + eax*4 + 2]
movzx ebp, byte [edx + 2]
imul eax, ebp
sar eax, 8
mov byte [edx + 2], al
jmp 0x6f37c6
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add edx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
je 0x6f37ef
cmp ecx, dword [esp + 0x40]
jl 0x6f3710
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3895
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f3670
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f3670
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f391d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f3a68
cmp edi, dword [esp + 0x6c]
jge 0x6f3a68
cmp ecx, dword [esp + 0x40]
jge 0x6f3a68
test esi, esi
jle 0x6f3a68
mov ebx, dword [esp + 0x10]
jmp 0x6f39a0
cmp ebp, dword [esp + 0x100]
jae 0x6f3a43
cmp eax, dword [esp + 0xbc]
jae 0x6f3a43
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x90]
sar ebp, 0x12
movzx edx, byte [ebp + eax]
add ebp, eax
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4]
movzx eax, byte [ebx]
imul edx, eax
mov eax, dword [esp + 0x54]
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [ebp]
movzx edx, byte [eax + edx*4 + 1]
movzx eax, byte [ebx + 1]
imul edx, eax
mov eax, dword [esp + 0x54]
sar edx, 8
mov byte [ebx + 1], dl
movzx edx, byte [ebp]
movzx edx, byte [eax + edx*4 + 2]
movzx eax, byte [ebx + 2]
mov ebp, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x14]
sar edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f3a68
cmp ecx, dword [esp + 0x40]
jl 0x6f39a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3b0e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f38f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f38f0
cmp dword [esp + 0x134], 0
je 0x6f3e00
lea ecx, [ecx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f3b9d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f3d04
cmp edi, dword [esp + 0x6c]
jge 0x6f3d04
cmp ecx, dword [esp + 0x40]
jge 0x6f3d04
test esi, esi
jle 0x6f3d04
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x6f3ce1
cmp eax, dword [esp + 0xbc]
jae 0x6f3ce1
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add eax, ebp
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x6f3cdd
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, byte [edx]
mov ebp, dword [esp + 0xa8]
imul edx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
shr edx, 8
mov byte [ebp], dl
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4 + 1]
movzx eax, byte [ebp + 1]
mov ebp, dword [esp + 0xa4]
imul eax, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
shr eax, 8
mov byte [ebp + 1], al
movzx eax, byte [edx]
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
imul edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x10]
shr edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f3d04
cmp ecx, dword [esp + 0x40]
jl 0x6f3c10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f3daa
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f3b70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f3b70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f3e2d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f3f9a
cmp edi, dword [esp + 0x6c]
jge 0x6f3f9a
cmp ecx, dword [esp + 0x40]
jge 0x6f3f9a
test esi, esi
jle 0x6f3f9a
mov ebp, dword [esp + 0x10]
jmp 0x6f3eb0
cmp ebx, dword [esp + 0x100]
jae 0x6f3f71
cmp eax, dword [esp + 0xbc]
jae 0x6f3f71
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4]
movzx ebx, byte [ebp]
mov ebp, dword [esp + 0xa8]
imul ebx, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
shr ebx, 8
mov byte [ebp], bl
movzx edx, byte [eax]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 1]
movzx ebx, byte [ebp + 1]
mov ebp, dword [esp + 0xa4]
imul ebx, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
shr ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
movzx eax, byte [edx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
imul edx, dword [ebx + eax*4]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
shr edx, 8
mov byte [ebp + 2], dl
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x6f3f9a
cmp ecx, dword [esp + 0x40]
jl 0x6f3eb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f4040
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f3e00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f3e00
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f4d18
cmp eax, 0xffffff
jne 0x6f46c9
cmp dword [esp + 0x134], 0
je 0x6f43d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f40ef
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f42d2
cmp edi, dword [esp + 0x6c]
jge 0x6f42d2
cmp ecx, dword [esp + 0x40]
jge 0x6f42d2
test esi, esi
jle 0x6f42d2
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f42ab
cmp eax, dword [esp + 0xbc]
jae 0x6f42ab
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f42ab
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax], bl
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
mov eax, dword [esp + 0x4c]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
movzx edx, byte [edx]
movzx eax, byte [eax + 2]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f42d2
cmp ecx, dword [esp + 0x40]
jl 0x6f4160
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f4378
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f40c2
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f40c2
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f43f6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f45d2
cmp edi, dword [esp + 0x6c]
jge 0x6f45d2
cmp ecx, dword [esp + 0x40]
jge 0x6f45d2
test esi, esi
jle 0x6f45d2
nop
cmp edx, dword [esp + 0x100]
jae 0x6f45a9
cmp ebx, dword [esp + 0xbc]
jae 0x6f45a9
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx ebx, byte [ebx + eax*4 + 1]
mov eax, dword [esp + 0x4c]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f45d2
cmp ecx, dword [esp + 0x40]
jl 0x6f4470
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f4678
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f43d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f43d0
cmp dword [esp + 0x134], 0
je 0x6f4a02
jmp 0x6f46e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f4706
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6f490b
cmp edi, dword [esp + 0x6c]
jge 0x6f490b
cmp ecx, dword [esp + 0x40]
jge 0x6f490b
test esi, esi
jle 0x6f490b
cmp edx, dword [esp + 0x100]
jae 0x6f48e2
cmp eax, dword [esp + 0xbc]
jae 0x6f48e2
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f48de
movzx ebx, byte [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6f490b
cmp ecx, dword [esp + 0x40]
jl 0x6f4781
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f49b1
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f46e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f46e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f4a28
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f4c21
cmp edi, dword [esp + 0x6c]
jge 0x6f4c21
cmp ecx, dword [esp + 0x40]
jge 0x6f4c21
test esi, esi
jle 0x6f4c21
cmp edx, dword [esp + 0x100]
jae 0x6f4bf8
cmp ebx, dword [esp + 0xbc]
jae 0x6f4bf8
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4 + 2]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f4c21
cmp ecx, dword [esp + 0x40]
jl 0x6f4aa1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f4cc7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f4a02
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f4a02
cmp eax, 0xffffff
jne 0x6f528a
cmp dword [esp + 0x134], 0
je 0x6f4fe4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f4d5e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f4eed
cmp edi, dword [esp + 0x6c]
jge 0x6f4eed
cmp ecx, dword [esp + 0x40]
jge 0x6f4eed
test esi, esi
jle 0x6f4eed
lea ecx, [ecx]
cmp ebp, dword [esp + 0x100]
jae 0x6f4eca
cmp eax, dword [esp + 0xbc]
jae 0x6f4eca
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [eax + ebx]
add eax, ebx
cmp edx, dword [esp + 0x58]
je 0x6f4ec6
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx], bl
movzx edx, byte [edx + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4 + 1]
mov edx, dword [esp + 0x4c]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx + 1], bl
movzx eax, byte [eax]
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
imul eax, edx
sar eax, 8
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
mov edx, dword [esp + 0x10]
sar eax, 8
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f4eed
cmp ecx, dword [esp + 0x40]
jl 0x6f4dd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f4f93
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f4d31
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f4d31
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f500a
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f5193
cmp edi, dword [esp + 0x6c]
jge 0x6f5193
cmp ecx, dword [esp + 0x40]
jge 0x6f5193
test esi, esi
jle 0x6f5193
cmp ebx, dword [esp + 0x100]
jae 0x6f516e
cmp eax, dword [esp + 0xbc]
jae 0x6f516e
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
mov ebx, dword [esp + 0x54]
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx ebx, byte [ebx + edx*4 + 1]
mov edx, dword [esp + 0x4c]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
imul eax, edx
mov ebx, dword [esp + 0x1c]
sar eax, 8
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f5193
cmp ecx, dword [esp + 0x40]
jl 0x6f5083
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f5239
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f4fe4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f4fe4
cmp dword [esp + 0x134], 0
je 0x6f5570
jmp 0x6f52a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f52c5
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f5472
cmp edi, dword [esp + 0x6c]
jge 0x6f5472
cmp ecx, dword [esp + 0x40]
jge 0x6f5472
test esi, esi
jle 0x6f5472
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f544d
cmp eax, dword [esp + 0xbc]
jae 0x6f544d
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x6f5445
movzx ebp, byte [ebx]
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
imul eax, ebp
shr eax, 8
movzx edx, al
sub edx, ebp
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x5c]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4 + 1]
movzx ebp, byte [ebx + 1]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
imul edx, ebp
shr edx, 8
movzx eax, dl
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
sar eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx]
mov edx, dword [esp + 0x54]
movzx eax, byte [edx + eax*4 + 2]
movzx ebp, byte [ebx + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
imul eax, ebp
shr eax, 8
movzx edx, al
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx + 2], dl
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f5472
cmp ecx, dword [esp + 0x40]
jl 0x6f5340
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f5518
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f52a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f52a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f5596
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f573e
cmp edi, dword [esp + 0x6c]
jge 0x6f573e
cmp ecx, dword [esp + 0x40]
jge 0x6f573e
test esi, esi
jle 0x6f573e
nop
cmp ebx, dword [esp + 0x100]
jae 0x6f5719
cmp eax, dword [esp + 0xbc]
jae 0x6f5719
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
mov ebx, dword [esp + 0x54]
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4 + 1]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, edx
mov ebx, dword [esp + 0x1c]
shr eax, 8
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f573e
cmp ecx, dword [esp + 0x40]
jl 0x6f5610
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f57e4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f5570
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f5570
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f648c
cmp eax, 0xffffff
jne 0x6f5e58
cmp dword [esp + 0x134], 0
je 0x6f5b70
jmp 0x6f5870
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f589d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f5a71
cmp edi, dword [esp + 0x6c]
jge 0x6f5a71
cmp ecx, dword [esp + 0x40]
jge 0x6f5a71
test esi, esi
jle 0x6f5a71
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f5a4a
cmp eax, dword [esp + 0xbc]
jae 0x6f5a4a
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f5a4a
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
not al
movzx ebx, al
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax], bl
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
not al
movzx ebx, al
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
mov dl, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx eax, byte [eax + 2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f5a71
cmp ecx, dword [esp + 0x40]
jl 0x6f5910
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f5b17
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f5870
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f5870
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f5b96
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f5d61
cmp edi, dword [esp + 0x6c]
jge 0x6f5d61
cmp ecx, dword [esp + 0x40]
jge 0x6f5d61
test esi, esi
jle 0x6f5d61
nop
cmp edx, dword [esp + 0x100]
jae 0x6f5d38
cmp ebx, dword [esp + 0xbc]
jae 0x6f5d38
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
not al
movzx ebx, al
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
not al
movzx ebx, al
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
mov dl, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f5d61
cmp ecx, dword [esp + 0x40]
jl 0x6f5c10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f5e07
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f5b70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f5b70
cmp dword [esp + 0x134], 0
je 0x6f6184
jmp 0x6f5e70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f5e96
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6f608d
cmp edi, dword [esp + 0x6c]
jge 0x6f608d
cmp ecx, dword [esp + 0x40]
jge 0x6f608d
test esi, esi
jle 0x6f608d
cmp edx, dword [esp + 0x100]
jae 0x6f6064
cmp eax, dword [esp + 0xbc]
jae 0x6f6064
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
je 0x6f6060
movzx ebx, byte [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
mov dl, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6f608d
cmp ecx, dword [esp + 0x40]
jl 0x6f5f11
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f6133
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f5e70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f5e70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f61aa
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f6395
cmp edi, dword [esp + 0x6c]
jge 0x6f6395
cmp ecx, dword [esp + 0x40]
jge 0x6f6395
test esi, esi
jle 0x6f6395
cmp edx, dword [esp + 0x100]
jae 0x6f636c
cmp ebx, dword [esp + 0xbc]
jae 0x6f636c
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
movzx eax, byte [ebx + eax*4 + 1]
mov ebx, dword [esp + 0xa4]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx]
mov ebx, dword [esp + 0x54]
mov dl, byte [ebx + edx*4 + 2]
mov ebx, dword [esp + 0xa0]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f6395
cmp ecx, dword [esp + 0x40]
jl 0x6f6223
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f643b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f6184
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f6184
cmp eax, 0xffffff
jne 0x6f69ea
cmp dword [esp + 0x134], 0
je 0x6f6750
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f64d2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f6651
cmp edi, dword [esp + 0x6c]
jge 0x6f6651
cmp ecx, dword [esp + 0x40]
jge 0x6f6651
test esi, esi
jle 0x6f6651
cmp ebp, dword [esp + 0x100]
jae 0x6f662e
cmp eax, dword [esp + 0xbc]
jae 0x6f662e
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [eax + ebx]
add eax, ebx
cmp edx, dword [esp + 0x58]
je 0x6f662a
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
movzx edx, byte [ebx + edx*4]
not dl
movzx ebx, dl
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx], bl
movzx edx, byte [edx + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4 + 1]
not dl
movzx ebx, dl
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x10]
sar ebx, 8
mov byte [edx + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
mov al, byte [ebx + eax*4 + 2]
movzx edx, byte [edx + 2]
not al
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
mov edx, dword [esp + 0x10]
sar eax, 8
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f6651
cmp ecx, dword [esp + 0x40]
jl 0x6f6541
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f66f7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f64a5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f64a5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f6776
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f68f3
cmp edi, dword [esp + 0x6c]
jge 0x6f68f3
cmp ecx, dword [esp + 0x40]
jge 0x6f68f3
test esi, esi
jle 0x6f68f3
nop
cmp ebx, dword [esp + 0x100]
jae 0x6f68ce
cmp eax, dword [esp + 0xbc]
jae 0x6f68ce
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4]
not dl
movzx ebx, dl
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4 + 1]
not dl
movzx ebx, dl
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
mov al, byte [ebx + eax*4 + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0x1c]
not al
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f68f3
cmp ecx, dword [esp + 0x40]
jl 0x6f67f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f6999
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f6750
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f6750
cmp dword [esp + 0x134], 0
je 0x6f6cd0
jmp 0x6f6a00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f6a25
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f6bd2
cmp edi, dword [esp + 0x6c]
jge 0x6f6bd2
cmp ecx, dword [esp + 0x40]
jge 0x6f6bd2
test esi, esi
jle 0x6f6bd2
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f6bad
cmp eax, dword [esp + 0xbc]
jae 0x6f6bad
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x90]
sar ebp, 0x12
add ebp, eax
movzx eax, byte [ebp]
cmp eax, dword [esp + 0x58]
je 0x6f6ba5
movzx edx, byte [ebx]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
mov al, byte [edx + eax*4]
not al
movzx edx, al
mov eax, dword [esp + 0xa8]
movzx edx, byte [eax + edx*4]
mov eax, dword [esp + 0x4c]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebx], dl
movzx eax, byte [ebx + 1]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + edx*4 + 1]
not dl
movzx eax, dl
mov edx, dword [esp + 0xa4]
movzx edx, byte [edx + eax*4]
mov eax, dword [esp + 0x4c]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebx + 1], dl
movzx edx, byte [ebp]
mov ebp, dword [esp + 0x54]
movzx edx, byte [ebp + edx*4 + 2]
movzx eax, byte [ebx + 2]
mov ebp, dword [esp + 0xa0]
not dl
movzx edx, dl
movzx edx, byte [ebp + edx*4]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebx + 2], dl
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f6bd2
cmp ecx, dword [esp + 0x40]
jl 0x6f6aa0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f6c78
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f6a00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f6a00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f6cf6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f6e94
cmp edi, dword [esp + 0x6c]
jge 0x6f6e94
cmp ecx, dword [esp + 0x40]
jge 0x6f6e94
test esi, esi
jle 0x6f6e94
nop
cmp ebx, dword [esp + 0x100]
jae 0x6f6e6f
cmp eax, dword [esp + 0xbc]
jae 0x6f6e6f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x54]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0xa8]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
movzx edx, byte [ebx + edx*4 + 1]
mov ebx, dword [esp + 0xa4]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax]
mov ebx, dword [esp + 0x54]
mov al, byte [ebx + eax*4 + 2]
mov ebx, dword [esp + 0xa0]
movzx edx, byte [ebp + 2]
not al
movzx eax, al
movzx eax, byte [ebx + eax*4]
mov ebx, dword [esp + 0x1c]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f6e94
cmp ecx, dword [esp + 0x40]
jl 0x6f6d70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f6f3a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f6cd0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f6cd0
mov edx, dword [0xb160b4]
cmp edx, 0xb
ja case.0x72b8e0.5
jmp dword [edx*4 + 0x72c6bc]
mov edx, dword [0xb160b8]
cmp edx, 0xff
jne 0x6f9b17
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6f8774
cmp edx, 0xffffff
jne 0x6f7b35
cmp dword [eax + 0x28], ebp
jne 0x6f75d6
cmp dword [esp + 0x134], 0
je 0x6f7320
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f701d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f7229
cmp edi, dword [esp + 0x6c]
jge 0x6f7229
cmp ecx, dword [esp + 0x40]
jge 0x6f7229
test esi, esi
jle 0x6f7229
jmp 0x6f7096
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x6f7202
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x6f7202
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
sar ebx, 0x12
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
mov dword [esp + 0x2c], ebx
je 0x6f7202
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebp]
cmp al, 0xff
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
jne 0x6f7186
sub ebx, eax
imul edx, ebx
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx ebx, byte [edx + 0xcc2d28]
movzx eax, byte [eax + 1]
movzx edx, byte [ebp + 1]
sub edx, eax
imul ebx, edx
mov edx, dword [esp + 0x10]
shl eax, 8
add ebx, eax
sar ebx, 8
mov byte [edx + 1], bl
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [edx + 2]
movzx ebx, byte [ebx + 0xcc2d28]
movzx ebp, byte [ebp + 2]
sub ebp, eax
imul ebx, ebp
shl eax, 8
add ebx, eax
sar ebx, 8
mov byte [edx + 2], bl
jmp 0x6f7202
sub ebx, eax
imul edx, ebx
movzx ebx, byte [ebp + 3]
imul edx, ebx
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax], dl
movzx eax, byte [eax + 1]
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebp + 1]
sub ebx, eax
imul edx, ebx
movzx ebx, byte [ebp + 3]
imul edx, ebx
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx eax, byte [eax + 2]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebp + 2]
sub ebx, eax
imul edx, ebx
movzx ebx, byte [ebp + 3]
imul edx, ebx
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 2], dl
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
je 0x6f7229
cmp ecx, dword [esp + 0x40]
jl 0x6f7092
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f72cf
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f6ff0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f6ff0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f734d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f74df
cmp edi, dword [esp + 0x6c]
jge 0x6f74df
cmp ecx, dword [esp + 0x40]
jge 0x6f74df
test esi, esi
jle 0x6f74df
cmp ebp, dword [esp + 0x100]
jae 0x6f74b8
cmp eax, dword [esp + 0xbc]
jae 0x6f74b8
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, byte [eax]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
sub ebx, ebp
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
shl ebp, 0x10
add eax, ebp
mov ebp, dword [esp + 0x10]
sar eax, 0x10
mov byte [ebp], al
movzx ebp, byte [ebp + 1]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 1]
sub ebx, ebp
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
shl ebp, 0x10
add eax, ebp
mov ebp, dword [esp + 0x10]
sar eax, 0x10
mov byte [ebp + 1], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx ebp, byte [ebp + 2]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 2]
movzx edx, byte [edx + 3]
sub ebx, ebp
imul eax, ebx
imul eax, edx
mov edx, dword [esp + 0x10]
shl ebp, 0x10
add eax, ebp
mov ebp, dword [esp + 0x1c]
sar eax, 0x10
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f74df
cmp ecx, dword [esp + 0x40]
jl 0x6f73c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f7585
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f7320
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f7320
cmp dword [esp + 0x134], 0
je 0x6f7894
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f7611
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f779d
cmp edi, dword [esp + 0x6c]
jge 0x6f779d
cmp ecx, dword [esp + 0x40]
jge 0x6f779d
test esi, esi
jle 0x6f779d
cmp ebp, dword [esp + 0x100]
jae 0x6f7776
cmp eax, dword [esp + 0xbc]
jae 0x6f7776
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x6f7776
movzx edx, byte [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
sub edx, eax
imul ebx, edx
mov edx, dword [esp + 0x2c]
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 8
mov byte [eax], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
mov ebx, dword [esp + 0x5c]
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx eax, byte [eax + 2]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebx + 2]
sub ebx, eax
imul edx, ebx
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f779d
cmp ecx, dword [esp + 0x40]
jl 0x6f7680
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f7843
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f75e4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f75e4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f78ba
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f7a3e
cmp edi, dword [esp + 0x6c]
jge 0x6f7a3e
cmp ecx, dword [esp + 0x40]
jge 0x6f7a3e
test esi, esi
jle 0x6f7a3e
cmp edx, dword [esp + 0x100]
jae 0x6f7a15
cmp ebx, dword [esp + 0xbc]
jae 0x6f7a15
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul ebx, edx
mov edx, dword [esp + 0x2c]
shl eax, 8
add ebx, eax
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
mov ebx, dword [esp + 0x5c]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx eax, byte [ebp + 2]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebx + 2]
sub ebx, eax
imul edx, ebx
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f7a3e
cmp ecx, dword [esp + 0x40]
jl 0x6f7933
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f7ae4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f7894
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f7894
cmp dword [eax + 0x28], ebp
jne 0x6f81bb
cmp dword [esp + 0x134], 0
je 0x6f7ed0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f7b76
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f7dd9
cmp edi, dword [esp + 0x6c]
jge 0x6f7dd9
cmp ecx, dword [esp + 0x40]
jge 0x6f7dd9
test esi, esi
jle 0x6f7dd9
jmp 0x6f7bf5
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x6f7db4
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xbc]
jae 0x6f7db4
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
mov dword [esp + 0x2c], ebx
je 0x6f7db4
mov ebx, dword [esp + 0xa8]
cmp al, 0xff
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
jne 0x6f7d15
sub ebx, dword [esp + 0x4c]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
shr ebx, 8
mov byte [ebp + 1], bl
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp + 2], dl
jmp 0x6f7db4
sub ebx, dword [esp + 0x4c]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
sub ebx, dword [esp + 0x60]
movzx edx, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 2], bl
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 4
add ecx, 1
sub esi, 1
je 0x6f7dd9
cmp ecx, dword [esp + 0x40]
jl 0x6f7bf1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f7e7f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f7b50
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f7b50
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f7ef6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f80c4
cmp edi, dword [esp + 0x6c]
jge 0x6f80c4
cmp ecx, dword [esp + 0x40]
jge 0x6f80c4
test esi, esi
jle 0x6f80c4
nop
cmp edx, dword [esp + 0x100]
jae 0x6f809b
cmp ebx, dword [esp + 0xbc]
jae 0x6f809b
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
sub ebx, dword [esp + 0x60]
movzx edx, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
mov edx, dword [esp + 0x1c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f80c4
cmp ecx, dword [esp + 0x40]
jl 0x6f7f70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f816a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f7ed0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f7ed0
cmp dword [esp + 0x134], 0
je 0x6f84b0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f81fd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f83b7
cmp edi, dword [esp + 0x6c]
jge 0x6f83b7
cmp ecx, dword [esp + 0x40]
jge 0x6f83b7
test esi, esi
jle 0x6f83b7
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6f8390
cmp eax, dword [esp + 0xbc]
jae 0x6f8390
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x2c], ebx
je 0x6f8390
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x10]
shr ebx, 8
mov byte [eax], bl
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x10]
shr ebx, 8
mov byte [eax + 1], bl
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx eax, byte [eax + 2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
shr edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f83b7
cmp ecx, dword [esp + 0x40]
jl 0x6f8270
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f845d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f81d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f81d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f84d6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6f867d
cmp edi, dword [esp + 0x6c]
jge 0x6f867d
cmp ecx, dword [esp + 0x40]
jge 0x6f867d
test esi, esi
jle 0x6f867d
nop
cmp edx, dword [esp + 0x100]
jae 0x6f8654
cmp ebx, dword [esp + 0xbc]
jae 0x6f8654
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebp]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
mov ebx, dword [esp + 0xa4]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, byte [ebp + 1]
sub edx, eax
imul edx, ebx
mov ebx, dword [esp + 0xa0]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6f867d
cmp ecx, dword [esp + 0x40]
jl 0x6f8550
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f8723
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f84b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f84b0
cmp edx, 0xffffff
jne 0x6f90d1
cmp dword [eax + 0x28], ebp
jne 0x6f8cc6
cmp dword [esp + 0x134], 0
je 0x6f8a51
jmp 0x6f87a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f87cd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add edx, dword [esp + 0x88]
add ebx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov edx, eax
mov dword [esp + 0x14], eax
jl 0x6f895a
cmp edi, dword [esp + 0x6c]
jge 0x6f895a
cmp ecx, dword [esp + 0x40]
jge 0x6f895a
test esi, esi
jle 0x6f895a
mov eax, dword [esp + 0x10]
cmp ebp, dword [esp + 0x100]
jae 0x6f8931
cmp edx, dword [esp + 0xbc]
jae 0x6f8931
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebx + eax*4]
mov al, byte [edx + 3]
test al, al
mov dword [esp + 0x5c], edx
je 0x6f892d
cmp al, 0xff
mov eax, dword [esp + 0x10]
jne 0x6f88ac
mov edx, dword [edx]
mov dword [eax], edx
jmp 0x6f8931
movzx ebx, byte [eax]
mov dword [esp + 0x4c], ebx
movzx ebx, byte [edx]
sub ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [eax], bl
movzx edx, byte [eax + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [eax + 1], bl
movzx edx, byte [eax + 2]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 2]
sub ebx, edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 3]
imul ebx, edx
mov edx, dword [esp + 0x60]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [eax + 2], bl
jmp 0x6f8931
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
je 0x6f895a
cmp ecx, dword [esp + 0x40]
jl 0x6f8842
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f8a00
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f87a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f87a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f8a77
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f8bcf
cmp edi, dword [esp + 0x6c]
jge 0x6f8bcf
cmp ecx, dword [esp + 0x40]
jge 0x6f8bcf
test esi, esi
jle 0x6f8bcf
cmp ebx, dword [esp + 0x100]
jae 0x6f8baa
cmp eax, dword [esp + 0xbc]
jae 0x6f8baa
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
movzx ebx, byte [eax + 1]
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx ebx, byte [eax + 2]
movzx edx, byte [ebp + 2]
movzx eax, byte [eax + 3]
sub ebx, edx
imul ebx, eax
mov eax, dword [esp + 0x14]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f8bcf
cmp ecx, dword [esp + 0x40]
jl 0x6f8af0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f8c75
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f8a51
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f8a51
cmp dword [esp + 0x134], 0
je 0x6f8ee0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f8d01
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f8de2
cmp edi, dword [esp + 0x6c]
jge 0x6f8de2
cmp ecx, dword [esp + 0x40]
jge 0x6f8de2
test esi, esi
jle 0x6f8de2
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x6f8dc3
cmp eax, dword [esp + 0xbc]
jae 0x6f8dc3
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea eax, [ebp + eax*4]
mov eax, dword [eax]
cmp eax, dword [esp + 0x58]
je 0x6f8dbf
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f8de2
cmp ecx, dword [esp + 0x40]
jl 0x6f8d70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f8e88
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f8cd4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f8cd4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f8f0d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f8fda
cmp edi, dword [esp + 0x6c]
jge 0x6f8fda
cmp ecx, dword [esp + 0x40]
jge 0x6f8fda
test esi, esi
jle 0x6f8fda
cmp ebx, dword [esp + 0x100]
jae 0x6f8fbb
cmp eax, dword [esp + 0xbc]
jae 0x6f8fbb
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add ebp, dword [esp + 0x90]
mov edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x10]
mov dword [eax], edx
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f8fda
cmp ecx, dword [esp + 0x40]
jl 0x6f8f70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f9080
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f8ee0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f8ee0
cmp dword [eax + 0x28], ebp
jne 0x6f9670
cmp dword [esp + 0x134], 0
je 0x6f93d2
jmp 0x6f90f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f9115
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6f92db
cmp edi, dword [esp + 0x6c]
jge 0x6f92db
cmp ecx, dword [esp + 0x40]
jge 0x6f92db
test esi, esi
jle 0x6f92db
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6f92b2
cmp eax, dword [esp + 0xbc]
jae 0x6f92b2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
je 0x6f92ae
cmp al, 0xff
movzx eax, byte [ebp]
jne 0x6f9226
mov edx, dword [esp + 0xa8]
movzx eax, byte [edx + eax*4]
mov byte [ebx], al
movzx edx, byte [ebp + 1]
mov eax, dword [esp + 0xa4]
mov dl, byte [eax + edx*4]
mov byte [ebx + 1], dl
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0xa0]
movzx eax, byte [edx + eax*4]
mov byte [ebx + 2], al
jmp 0x6f92ae
movzx edx, byte [ebx]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x4c]
movzx eax, byte [ebp + 3]
imul edx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx], dl
movzx edx, byte [ebx + 1]
movzx eax, byte [ebp + 1]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x4c]
movzx eax, byte [ebp + 3]
imul edx, eax
mov eax, dword [esp + 0x4c]
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx + 1], dl
movzx edx, byte [ebx + 2]
movzx eax, byte [ebp + 2]
movzx ebp, byte [ebp + 3]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa0]
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x60]
sub edx, eax
imul edx, ebp
shl eax, 8
add edx, eax
shr edx, 8
mov byte [ebx + 2], dl
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6f92db
cmp ecx, dword [esp + 0x40]
jl 0x6f9190
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f9381
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f90f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f90f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f93f8
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f9579
cmp edi, dword [esp + 0x6c]
jge 0x6f9579
cmp ecx, dword [esp + 0x40]
jge 0x6f9579
test esi, esi
jle 0x6f9579
cmp ebx, dword [esp + 0x100]
jae 0x6f9554
cmp eax, dword [esp + 0xbc]
jae 0x6f9554
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
mov ebx, dword [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
mov ebx, dword [ebx + edx*4]
movzx eax, byte [eax + 3]
mov edx, dword [esp + 0x60]
sub ebx, edx
imul ebx, eax
mov eax, dword [esp + 0x14]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6f9579
cmp ecx, dword [esp + 0x40]
jl 0x6f9471
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f961f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f93d2
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f93d2
cmp dword [esp + 0x134], 0
je 0x6f98d0
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f96ad
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f97d7
cmp edi, dword [esp + 0x6c]
jge 0x6f97d7
cmp ecx, dword [esp + 0x40]
jge 0x6f97d7
test esi, esi
jle 0x6f97d7
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x6f97b4
cmp eax, dword [esp + 0xbc]
jae 0x6f97b4
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0x12
cmp dword [ebp + eax*4], edx
lea ebp, [ebp + eax*4]
je 0x6f97b0
movzx eax, byte [ebp]
mov edx, dword [esp + 0xa8]
mov al, byte [edx + eax*4]
mov edx, dword [esp + 0x10]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0xa4]
movzx edx, byte [edx + eax*4]
mov eax, dword [esp + 0x10]
mov byte [eax + 1], dl
movzx edx, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
movzx edx, byte [ebp + edx*4]
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6f97d7
cmp ecx, dword [esp + 0x40]
jl 0x6f9720
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f987d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f9680
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f9680
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f98fd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6f9a20
cmp edi, dword [esp + 0x6c]
jge 0x6f9a20
cmp ecx, dword [esp + 0x40]
jge 0x6f9a20
test esi, esi
jle 0x6f9a20
mov edx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x6f99fb
cmp eax, dword [esp + 0xbc]
jae 0x6f99fb
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add ebp, dword [esp + 0x90]
movzx edx, byte [ebp + eax*4]
lea ebp, [ebp + eax*4]
mov eax, dword [esp + 0xa8]
mov dl, byte [eax + edx*4]
mov eax, dword [esp + 0x10]
mov byte [eax], dl
movzx edx, byte [ebp + 1]
mov eax, dword [esp + 0xa4]
movzx eax, byte [eax + edx*4]
mov edx, dword [esp + 0x10]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
movzx eax, byte [ebp + eax*4]
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add edx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
je 0x6f9a20
cmp ecx, dword [esp + 0x40]
jl 0x6f9970
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f9ac6
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f98d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f98d0
test edx, edx
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6fb3c9
cmp edx, 0xffffff
jne 0x6fa727
cmp dword [eax + 0x28], ebp
jne 0x6fa18e
cmp dword [esp + 0x134], 0
je 0x6f9ec3
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6f9b86
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6f9dcc
cmp edi, dword [esp + 0x6c]
jge 0x6f9dcc
cmp ecx, dword [esp + 0x40]
jge 0x6f9dcc
test esi, esi
jle 0x6f9dcc
jmp 0x6f9c05
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x6f9da7
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xbc]
jae 0x6f9da7
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x6f9da7
movzx ebx, byte [ebx]
movzx edx, byte [edx]
movzx ebx, byte [ebx + 0xcc2d28]
cmp al, 0xff
movzx eax, byte [ebp]
jne 0x6f9d0d
sub edx, eax
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x2c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x5c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx eax, byte [ebp + 2]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebx + 2]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
jmp 0x6f9da4
sub edx, eax
imul ebx, edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x2c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 3]
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x5c]
shl eax, 0x18
add edx, eax
sar edx, 0x18
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebx + 2]
movzx eax, byte [ebp + 2]
sub ebx, eax
imul edx, ebx
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 3]
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x18
add edx, eax
sar edx, 0x18
mov byte [ebp + 2], dl
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 4
add ecx, 1
sub esi, 1
je 0x6f9dcc
cmp ecx, dword [esp + 0x40]
jl 0x6f9c01
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6f9e72
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f9b60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f9b60
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6f9ef0
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fa097
cmp edi, dword [esp + 0x6c]
jge 0x6fa097
cmp ecx, dword [esp + 0x40]
jge 0x6fa097
test esi, esi
jle 0x6fa097
cmp ebp, dword [esp + 0x100]
jae 0x6fa070
cmp eax, dword [esp + 0xbc]
jae 0x6fa070
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, byte [eax]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
sub ebx, ebp
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
imul eax, dword [0xb160b8]
shl ebp, 0x18
add eax, ebp
mov ebp, dword [esp + 0x10]
sar eax, 0x18
mov byte [ebp], al
movzx ebp, byte [ebp + 1]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 1]
sub ebx, ebp
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
imul eax, dword [0xb160b8]
shl ebp, 0x18
add eax, ebp
mov ebp, dword [esp + 0x10]
sar eax, 0x18
mov byte [ebp + 1], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebp, byte [ebp + 2]
movzx ebx, byte [edx + 2]
movzx edx, byte [edx + 3]
sub ebx, ebp
imul eax, ebx
imul eax, edx
imul eax, dword [0xb160b8]
mov edx, dword [esp + 0x10]
shl ebp, 0x18
add eax, ebp
mov ebp, dword [esp + 0x1c]
sar eax, 0x18
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fa097
cmp ecx, dword [esp + 0x40]
jl 0x6f9f63
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fa13d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6f9ec3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6f9ec3
cmp dword [esp + 0x134], 0
je 0x6fa470
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fa1cd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6fa372
cmp edi, dword [esp + 0x6c]
jge 0x6fa372
cmp ecx, dword [esp + 0x40]
jge 0x6fa372
test esi, esi
jle 0x6fa372
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6fa34b
cmp eax, dword [esp + 0xbc]
jae 0x6fa34b
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x6fa34b
movzx edx, byte [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
sub edx, eax
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x2c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [eax + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x5c]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx eax, byte [eax + 2]
movzx edx, byte [edx + 0xcc2d28]
movzx ebx, byte [ebx + 2]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6fa372
cmp ecx, dword [esp + 0x40]
jl 0x6fa240
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fa418
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fa1a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fa1a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fa496
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6fa630
cmp edi, dword [esp + 0x6c]
jge 0x6fa630
cmp ecx, dword [esp + 0x40]
jge 0x6fa630
test esi, esi
jle 0x6fa630
nop
cmp edx, dword [esp + 0x100]
jae 0x6fa607
cmp ebx, dword [esp + 0xbc]
jae 0x6fa607
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x2c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x5c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 2]
sub ebx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6fa630
cmp ecx, dword [esp + 0x40]
jl 0x6fa510
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fa6d6
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fa470
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fa470
cmp dword [eax + 0x28], ebp
jne 0x6fadf0
cmp dword [esp + 0x134], 0
je 0x6faaf0
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fa766
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6fa9f3
cmp edi, dword [esp + 0x6c]
jge 0x6fa9f3
cmp ecx, dword [esp + 0x40]
jge 0x6fa9f3
test esi, esi
jle 0x6fa9f3
cmp edx, dword [esp + 0x100]
jae 0x6fa9ca
cmp eax, dword [esp + 0xbc]
jae 0x6fa9ca
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
mov dword [esp + 0x2c], ebx
je 0x6fa9c6
mov ebx, dword [esp + 0xa8]
cmp al, 0xff
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
jne 0x6fa912
sub ebx, dword [esp + 0x4c]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 2], dl
jmp 0x6fa9c6
sub ebx, dword [esp + 0x4c]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
sub ebx, dword [esp + 0x60]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp + 2], bl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6fa9f3
cmp ecx, dword [esp + 0x40]
jl 0x6fa7e1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6faa99
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fa740
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fa740
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fab16
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6facf9
cmp edi, dword [esp + 0x6c]
jge 0x6facf9
cmp ecx, dword [esp + 0x40]
jge 0x6facf9
test esi, esi
jle 0x6facf9
nop
cmp edx, dword [esp + 0x100]
jae 0x6facd0
cmp ebx, dword [esp + 0xbc]
jae 0x6facd0
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
sub ebx, dword [esp + 0x60]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x1c]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6facf9
cmp ecx, dword [esp + 0x40]
jl 0x6fab90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fad9f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6faaf0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6faaf0
cmp dword [esp + 0x134], 0
je 0x6fb0f0
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fae26
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x6faff7
cmp edi, dword [esp + 0x6c]
jge 0x6faff7
cmp ecx, dword [esp + 0x40]
jge 0x6faff7
test esi, esi
jle 0x6faff7
cmp edx, dword [esp + 0x100]
jae 0x6fafce
cmp eax, dword [esp + 0xbc]
jae 0x6fafce
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x2c], ebx
je 0x6fafca
movzx eax, byte [ebp]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x6faff7
cmp ecx, dword [esp + 0x40]
jl 0x6faea1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fb09d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fae00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fae00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fb116
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x6fb2d2
cmp edi, dword [esp + 0x6c]
jge 0x6fb2d2
cmp ecx, dword [esp + 0x40]
jge 0x6fb2d2
test esi, esi
jle 0x6fb2d2
nop
cmp edx, dword [esp + 0x100]
jae 0x6fb2a9
cmp ebx, dword [esp + 0xbc]
jae 0x6fb2a9
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, byte [ebp + 1]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
shr edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x6fb2d2
cmp ecx, dword [esp + 0x40]
jl 0x6fb190
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fb378
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fb0f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fb0f0
cmp edx, 0xffffff
jne 0x6fbe55
cmp dword [eax + 0x28], ebp
jne 0x6fb96b
cmp dword [esp + 0x134], 0
je 0x6fb6e0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fb416
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6fb5e1
cmp edi, dword [esp + 0x6c]
jge 0x6fb5e1
cmp ecx, dword [esp + 0x40]
jge 0x6fb5e1
test esi, esi
jle 0x6fb5e1
nop
cmp ebx, dword [esp + 0x100]
jae 0x6fb5b8
cmp eax, dword [esp + 0xbc]
jae 0x6fb5b8
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 3]
test dl, dl
je 0x6fb5b4
movzx ebx, byte [eax]
cmp dl, 0xff
movzx edx, byte [ebp]
jne 0x6fb543
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax + 2]
movzx edx, byte [ebp + 2]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x6fb5b4
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
movzx ebx, byte [eax + 1]
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6fb5e1
cmp ecx, dword [esp + 0x40]
jl 0x6fb490
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fb687
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fb3f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fb3f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fb706
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6fb874
cmp edi, dword [esp + 0x6c]
jge 0x6fb874
cmp ecx, dword [esp + 0x40]
jge 0x6fb874
test esi, esi
jle 0x6fb874
nop
cmp ebx, dword [esp + 0x100]
jae 0x6fb84f
cmp eax, dword [esp + 0xbc]
jae 0x6fb84f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
movzx ebx, byte [eax + 1]
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx ebx, byte [eax + 2]
movzx edx, byte [ebp + 2]
movzx eax, byte [eax + 3]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6fb874
cmp ecx, dword [esp + 0x40]
jl 0x6fb780
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fb91a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fb6e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fb6e0
cmp dword [esp + 0x134], 0
je 0x6fbbf4
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fb9ad
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6fbafd
cmp edi, dword [esp + 0x6c]
jge 0x6fbafd
cmp ecx, dword [esp + 0x40]
jge 0x6fbafd
test esi, esi
jle 0x6fbafd
mov ebp, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x6fbad8
cmp eax, dword [esp + 0xbc]
jae 0x6fbad8
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebp + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
je 0x6fbad4
movzx edx, byte [edx]
movzx eax, byte [ebp]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp], dl
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 1], dl
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x6fbafd
cmp ecx, dword [esp + 0x40]
jl 0x6fba20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fbba3
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fb980
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fb980
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fbc19
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fbd5e
cmp edi, dword [esp + 0x6c]
jge 0x6fbd5e
cmp ecx, dword [esp + 0x40]
jge 0x6fbd5e
test esi, esi
jle 0x6fbd5e
cmp ebp, dword [esp + 0x100]
jae 0x6fbd39
cmp eax, dword [esp + 0xbc]
jae 0x6fbd39
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
movzx ebp, byte [ebx]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [eax]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx ebp, byte [ebx + 1]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx + 1], dl
movzx eax, byte [eax + 2]
movzx ebp, byte [ebx + 2]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
mov ebp, dword [esp + 0x1c]
sar eax, 8
mov byte [ebx + 2], al
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fbd5e
cmp ecx, dword [esp + 0x40]
jl 0x6fbc92
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fbe04
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fbbf4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fbbf4
cmp dword [eax + 0x28], ebp
jne 0x6fc464
cmp dword [esp + 0x134], 0
je 0x6fc1a5
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fbe96
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6fc0ae
cmp edi, dword [esp + 0x6c]
jge 0x6fc0ae
cmp ecx, dword [esp + 0x40]
jge 0x6fc0ae
test esi, esi
jle 0x6fc0ae
nop
cmp ebx, dword [esp + 0x100]
jae 0x6fc085
cmp eax, dword [esp + 0xbc]
jae 0x6fc085
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 3]
test dl, dl
je 0x6fc081
mov ebx, dword [esp + 0xa8]
cmp dl, 0xff
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
mov ebx, dword [ebx + edx*4]
jne 0x6fbff4
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
shr ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
shr eax, 8
mov byte [ebp + 2], al
jmp 0x6fc081
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x60]
movzx eax, byte [eax + 3]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6fc0ae
cmp ecx, dword [esp + 0x40]
jl 0x6fbf10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fc154
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fbe70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fbe70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fc1cb
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6fc36d
cmp edi, dword [esp + 0x6c]
jge 0x6fc36d
cmp ecx, dword [esp + 0x40]
jge 0x6fc36d
test esi, esi
jle 0x6fc36d
jmp 0x6fc250
cmp ebx, dword [esp + 0x100]
jae 0x6fc348
cmp eax, dword [esp + 0xbc]
jae 0x6fc348
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
mov ebx, dword [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
mov ebx, dword [ebx + edx*4]
movzx eax, byte [eax + 3]
mov edx, dword [esp + 0x60]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
shr ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6fc36d
cmp ecx, dword [esp + 0x40]
jl 0x6fc250
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fc413
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fc1a5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fc1a5
cmp dword [esp + 0x134], 0
je 0x6fc711
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fc49f
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6fc61a
cmp edi, dword [esp + 0x6c]
jge 0x6fc61a
cmp ecx, dword [esp + 0x40]
jge 0x6fc61a
test esi, esi
jle 0x6fc61a
mov edi, edi
cmp ebx, dword [esp + 0x100]
jae 0x6fc5f7
cmp eax, dword [esp + 0xbc]
jae 0x6fc5f7
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0x12
cmp dword [ebp + eax*4], edx
lea eax, [ebp + eax*4]
mov dword [esp + 0x5c], eax
je 0x6fc5f3
movzx eax, byte [eax]
mov edx, dword [esp + 0x10]
movzx ebp, byte [edx]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
sub eax, ebp
imul eax, dword [0xb160b8]
mov edx, dword [esp + 0x5c]
shl ebp, 8
add eax, ebp
mov ebp, dword [esp + 0x10]
shr eax, 8
mov byte [ebp], al
movzx eax, byte [edx + 1]
movzx ebp, byte [ebp + 1]
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
mov ebp, dword [esp + 0x10]
shr eax, 8
mov byte [ebp + 1], al
movzx eax, byte [edx + 2]
movzx ebp, byte [ebp + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
shr eax, 8
mov byte [edx + 2], al
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6fc61a
cmp ecx, dword [esp + 0x40]
jl 0x6fc510
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fc6c0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fc472
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fc472
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x6fc736
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fc8a6
cmp edi, dword [esp + 0x6c]
jge 0x6fc8a6
cmp ecx, dword [esp + 0x40]
jge 0x6fc8a6
test esi, esi
jle 0x6fc8a6
nop
cmp ebp, dword [esp + 0x100]
jae 0x6fc881
cmp eax, dword [esp + 0xbc]
jae 0x6fc881
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
movzx ebp, byte [ebx]
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
mov eax, dword [edx + eax*4]
sub eax, ebp
imul eax, dword [0xb160b8]
mov edx, dword [esp + 0x5c]
shl ebp, 8
add eax, ebp
shr eax, 8
mov byte [ebx], al
movzx eax, byte [edx + 1]
movzx ebp, byte [ebx + 1]
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
shr eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
movzx ebp, byte [ebx + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
mov ebp, dword [esp + 0x1c]
shr eax, 8
mov byte [ebx + 2], al
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fc8a6
cmp ecx, dword [esp + 0x40]
jl 0x6fc7b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fc94c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fc711
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fc711
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x6fe0e6
cmp edx, 0xffffff
jne 0x6fd4f1
cmp dword [eax + 0x28], ebp
jne 0x6fcf8b
cmp dword [esp + 0x134], 0
je 0x6fcce1
jmp 0x6fc9f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fca1d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fcbea
cmp edi, dword [esp + 0x6c]
jge 0x6fcbea
cmp ecx, dword [esp + 0x40]
jge 0x6fcbea
test esi, esi
jle 0x6fcbea
cmp ebp, dword [esp + 0x100]
jae 0x6fcbbf
cmp eax, dword [esp + 0xbc]
jae 0x6fcbbf
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
je 0x6fcbbf
cmp al, 0xff
jne 0x6fcb35
movzx eax, byte [ebx]
movzx ebx, byte [edx]
movzx ebp, byte [eax + 0xcc2d28]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
sar ebx, 0x10
sar edx, 0x10
jmp 0x6fcb74
movzx ebx, byte [ebx]
movzx ebp, byte [ebx + 0xcc2d28]
movzx ebx, byte [edx]
movzx eax, al
imul ebp, eax
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x18
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
sar ebx, 0x18
sar edx, 0x18
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov byte [esp + 0x52], dl
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fcbea
cmp ecx, dword [esp + 0x40]
jl 0x6fca90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fcc90
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fc9f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fc9f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fcd0e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fce94
cmp edi, dword [esp + 0x6c]
jge 0x6fce94
cmp ecx, dword [esp + 0x40]
jge 0x6fce94
test esi, esi
jle 0x6fce94
cmp ebp, dword [esp + 0x100]
jae 0x6fce6d
cmp eax, dword [esp + 0xbc]
jae 0x6fce6d
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [ebp + 3]
movzx ebx, byte [ebp]
imul eax, edx
mov edx, dword [0xb160b8]
imul ebx, eax
imul ebx, edx
sar ebx, 0x18
mov byte [esp + 0x50], bl
movzx ebx, byte [ebp + 1]
imul ebx, eax
imul ebx, edx
sar ebx, 0x18
mov byte [esp + 0x51], bl
movzx ebx, byte [ebp + 2]
imul ebx, eax
mov eax, dword [esp + 0x10]
imul ebx, edx
mov eax, dword [eax]
sar ebx, 0x18
mov byte [esp + 0x52], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fce94
cmp ecx, dword [esp + 0x40]
jl 0x6fcd81
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fcf3a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fcce1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fcce1
cmp dword [esp + 0x134], 0
je 0x6fd250
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fcfcd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fd156
cmp edi, dword [esp + 0x6c]
jge 0x6fd156
cmp ecx, dword [esp + 0x40]
jge 0x6fd156
test esi, esi
jle 0x6fd156
cmp ebp, dword [esp + 0x100]
jae 0x6fd12f
cmp eax, dword [esp + 0xbc]
jae 0x6fd12f
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
je 0x6fd12b
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx ebx, byte [edx]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
sar edx, 0x10
sar ebx, 0x10
mov byte [esp + 0x52], dl
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fd156
cmp ecx, dword [esp + 0x40]
jl 0x6fd040
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fd1fc
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fcfa0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fcfa0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fd27d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fd3fa
cmp edi, dword [esp + 0x6c]
jge 0x6fd3fa
cmp ecx, dword [esp + 0x40]
jge 0x6fd3fa
test esi, esi
jle 0x6fd3fa
cmp ebp, dword [esp + 0x100]
jae 0x6fd3d3
cmp eax, dword [esp + 0xbc]
jae 0x6fd3d3
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx ebx, byte [edx]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
sar edx, 0x10
sar ebx, 0x10
mov byte [esp + 0x52], dl
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fd3fa
cmp ecx, dword [esp + 0x40]
jl 0x6fd2f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fd4a0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fd250
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fd250
cmp dword [eax + 0x28], ebp
jne 0x6fdb3a
cmp dword [esp + 0x134], 0
je 0x6fd860
jmp 0x6fd510
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fd53d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fd769
cmp edi, dword [esp + 0x6c]
jge 0x6fd769
cmp ecx, dword [esp + 0x40]
jge 0x6fd769
test esi, esi
jle 0x6fd769
cmp ebp, dword [esp + 0x100]
jae 0x6fd73e
cmp eax, dword [esp + 0xbc]
jae 0x6fd73e
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
je 0x6fd73e
cmp al, 0xff
jne 0x6fd682
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx + eax*4]
mov ebx, dword [esp + 0xa4]
imul eax, ebp
imul eax, dword [0xb160b8]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, eax
shr edx, 0x10
jmp 0x6fd6f7
movzx ebx, byte [ebx]
movzx ebp, byte [ebx + 0xcc2d28]
mov ebx, dword [esp + 0xa8]
movzx eax, al
mov dword [esp + 0x58], eax
movzx eax, byte [edx]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [esp + 0x58]
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x18
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, dword [esp + 0x58]
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x18
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [esp + 0x58]
imul edx, eax
shr edx, 0x18
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov byte [esp + 0x52], dl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fd769
cmp ecx, dword [esp + 0x40]
jl 0x6fd5b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fd80f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fd510
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fd510
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fd88d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fda43
cmp edi, dword [esp + 0x6c]
jge 0x6fda43
cmp ecx, dword [esp + 0x40]
jge 0x6fda43
test esi, esi
jle 0x6fda43
cmp ebp, dword [esp + 0x100]
jae 0x6fda1c
cmp eax, dword [esp + 0xbc]
jae 0x6fda1c
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx + 3]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
movzx eax, byte [edx]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [esp + 0x58]
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x18
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, dword [esp + 0x58]
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x18
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [esp + 0x58]
imul edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
shr edx, 0x18
mov byte [esp + 0x52], dl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fda43
cmp ecx, dword [esp + 0x40]
jl 0x6fd900
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fdae9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fd860
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fd860
cmp dword [esp + 0x134], 0
je 0x6fde23
jmp 0x6fdb50
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fdb7d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fdd2c
cmp edi, dword [esp + 0x6c]
jge 0x6fdd2c
cmp ecx, dword [esp + 0x40]
jge 0x6fdd2c
test esi, esi
jle 0x6fdd2c
cmp ebp, dword [esp + 0x100]
jae 0x6fdd01
cmp eax, dword [esp + 0xbc]
jae 0x6fdd01
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
je 0x6fdd01
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
shr edx, 0x10
mov byte [esp + 0x52], dl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fdd2c
cmp ecx, dword [esp + 0x40]
jl 0x6fdbf0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fddd2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fdb50
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fdb50
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fde50
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fdfef
cmp edi, dword [esp + 0x6c]
jge 0x6fdfef
cmp ecx, dword [esp + 0x40]
jge 0x6fdfef
test esi, esi
jle 0x6fdfef
cmp ebp, dword [esp + 0x100]
jae 0x6fdfc8
cmp eax, dword [esp + 0xbc]
jae 0x6fdfc8
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
shr edx, 0x10
mov byte [esp + 0x52], dl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and ebx, 0x10100
or eax, ebx
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fdfef
cmp ecx, dword [esp + 0x40]
jl 0x6fdec3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fe095
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fde23
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fde23
cmp edx, 0xffffff
jne 0x6febce
cmp dword [eax + 0x28], ebp
jne 0x6fe68c
cmp dword [esp + 0x134], 0
je 0x6fe400
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fe13d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6fe2fc
cmp edi, dword [esp + 0x6c]
jge 0x6fe2fc
cmp ecx, dword [esp + 0x40]
jge 0x6fe2fc
test esi, esi
jle 0x6fe2fc
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6fe2d1
cmp eax, dword [esp + 0xbc]
jae 0x6fe2d1
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
je 0x6fe2cd
cmp al, 0xff
movzx edx, byte [ebp]
jne 0x6fe249
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
jmp 0x6fe290
movzx eax, al
imul edx, eax
imul edx, dword [0xb160b8]
sar edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [ebp + 1]
imul edx, eax
mov dword [esp + 0x58], eax
mov eax, dword [0xb160b8]
imul edx, eax
sar edx, 0x10
mov byte [esp + 0x51], dl
movzx edx, byte [ebp + 2]
imul edx, dword [esp + 0x58]
imul edx, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
sar edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fe2fc
cmp ecx, dword [esp + 0x40]
jl 0x6fe1c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fe3a5
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6fe110
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fe110
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fe42d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6fe595
cmp edi, dword [esp + 0x6c]
jge 0x6fe595
cmp ecx, dword [esp + 0x40]
jge 0x6fe595
test esi, esi
jle 0x6fe595
cmp ebx, dword [esp + 0x100]
jae 0x6fe56e
cmp eax, dword [esp + 0xbc]
jae 0x6fe56e
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, ebx
cdq
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
and edx, 0x3ffff
add eax, edx
mov edx, dword [0xb160b8]
sar eax, 0x12
movzx ebx, byte [ebp + eax*4]
lea eax, [ebp + eax*4]
movzx ebp, byte [eax + 3]
imul ebx, ebp
imul ebx, edx
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
imul ebx, ebp
imul eax, ebp
imul ebx, edx
imul eax, edx
mov edx, dword [esp + 0x10]
sar eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and ebx, 0x10100
or eax, ebx
mov ebx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6fe595
cmp ecx, dword [esp + 0x40]
jl 0x6fe4a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fe63b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fe400
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fe400
cmp dword [esp + 0x134], 0
je 0x6fe940
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fe6cd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6fe83d
cmp edi, dword [esp + 0x6c]
jge 0x6fe83d
cmp ecx, dword [esp + 0x40]
jge 0x6fe83d
test esi, esi
jle 0x6fe83d
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6fe816
cmp eax, dword [esp + 0xbc]
jae 0x6fe816
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov edx, dword [esp + 0x58]
cmp dword [ebp], edx
je 0x6fe80e
movzx eax, byte [ebp]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 1]
mov byte [esp + 0x50], dl
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 2]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fe83d
cmp ecx, dword [esp + 0x40]
jl 0x6fe750
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fe8e6
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6fe6a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fe6a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fe96d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6fead4
cmp edi, dword [esp + 0x6c]
jge 0x6fead4
cmp ecx, dword [esp + 0x40]
jge 0x6fead4
test esi, esi
jle 0x6fead4
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6feaad
cmp eax, dword [esp + 0xbc]
jae 0x6feaad
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
movzx edx, byte [ebp]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
mov edx, dword [esp + 0x50]
mov dword [esp + 0x5c], ebp
mov eax, edx
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x10100
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fead4
cmp ecx, dword [esp + 0x40]
jl 0x6fe9f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6feb7d
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6fe940
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fe940
cmp dword [eax + 0x28], ebp
jne 0x6ff1be
cmp dword [esp + 0x134], 0
je 0x6fef10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fec12
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6fee13
cmp edi, dword [esp + 0x6c]
jge 0x6fee13
cmp ecx, dword [esp + 0x40]
jge 0x6fee13
test esi, esi
jle 0x6fee13
cmp ebp, dword [esp + 0x100]
jae 0x6fede8
cmp eax, dword [esp + 0xbc]
jae 0x6fede8
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
je 0x6fede4
cmp al, 0xff
movzx edx, byte [ebp]
jne 0x6fed3d
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
jmp 0x6feda7
movzx eax, al
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
imul edx, dword [esp + 0x58]
imul edx, dword [0xb160b8]
movzx eax, byte [ebp + 1]
shr edx, 0x10
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + eax*4]
imul edx, dword [esp + 0x58]
mov eax, dword [0xb160b8]
imul edx, eax
shr edx, 0x10
mov byte [esp + 0x51], dl
movzx edx, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
mov edx, dword [ebp + edx*4]
imul edx, dword [esp + 0x58]
imul edx, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
shr edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6fee13
cmp ecx, dword [esp + 0x40]
jl 0x6fec93
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6feebc
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6febe5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6febe5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fef3d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6ff0c7
cmp edi, dword [esp + 0x6c]
jge 0x6ff0c7
cmp ecx, dword [esp + 0x40]
jge 0x6ff0c7
test esi, esi
jle 0x6ff0c7
cmp ebx, dword [esp + 0x100]
jae 0x6ff0a0
cmp eax, dword [esp + 0xbc]
jae 0x6ff0a0
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebp + eax*4]
mov edx, dword [ebx + edx*4]
lea eax, [ebp + eax*4]
movzx ebp, byte [eax + 3]
imul edx, ebp
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [0xb160b8]
imul ebx, ebp
movzx eax, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, edx
mov edx, dword [esp + 0x10]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [edx]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
and eax, 0xfefeff
mov edx, ebx
or ebx, dword [esp + 0x5c]
and edx, 0xfefeff
add edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and ebx, 0x10100
or eax, ebx
mov ebx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6ff0c7
cmp ecx, dword [esp + 0x40]
jl 0x6fefb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ff16d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fef10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fef10
cmp dword [esp + 0x134], 0
je 0x6ff490
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ff1fd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x6ff38f
cmp edi, dword [esp + 0x6c]
jge 0x6ff38f
cmp ecx, dword [esp + 0x40]
jge 0x6ff38f
test esi, esi
jle 0x6ff38f
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x6ff368
cmp eax, dword [esp + 0xbc]
jae 0x6ff368
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov edx, dword [esp + 0x58]
cmp dword [ebp], edx
je 0x6ff360
movzx eax, byte [ebp]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 1]
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 2]
mov byte [esp + 0x51], dl
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov eax, edx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
and edx, 0x10100
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6ff38f
cmp ecx, dword [esp + 0x40]
jl 0x6ff280
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ff438
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6ff1d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ff1d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ff4bd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x6ff642
cmp edi, dword [esp + 0x6c]
jge 0x6ff642
cmp ecx, dword [esp + 0x40]
jge 0x6ff642
test esi, esi
jle 0x6ff642
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6ff61b
cmp eax, dword [esp + 0xbc]
jae 0x6ff61b
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
movzx edx, byte [ebp]
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov byte [esp + 0x52], al
mov edx, dword [esp + 0x50]
mov dword [esp + 0x5c], ebp
mov eax, edx
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
and ebp, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x10100
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x6ff642
cmp ecx, dword [esp + 0x40]
jl 0x6ff540
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ff6eb
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x6ff490
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ff490
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x700e06
cmp edx, 0xffffff
jne 0x700252
cmp dword [eax + 0x28], ebp
jne 0x6ffd0b
cmp dword [esp + 0x134], 0
je 0x6ffa71
jmp 0x6ff790
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ff7bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6ff97a
cmp edi, dword [esp + 0x6c]
jge 0x6ff97a
cmp ecx, dword [esp + 0x40]
jge 0x6ff97a
test esi, esi
jle 0x6ff97a
jmp 0x6ff836
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x6ff953
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x6ff953
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
je 0x6ff953
cmp al, 0xff
jne 0x6ff8e3
movzx eax, byte [ebx]
movzx ebx, byte [edx]
movzx ebp, byte [eax + 0xcc2d28]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
sar ebx, 0x10
sar edx, 0x10
jmp 0x6ff922
movzx ebx, byte [ebx]
movzx ebp, byte [ebx + 0xcc2d28]
movzx ebx, byte [edx]
movzx eax, al
imul ebp, eax
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x18
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
sar ebx, 0x18
sar edx, 0x18
mov byte [esp + 0x52], dl
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
je 0x6ff97a
cmp ecx, dword [esp + 0x40]
jl 0x6ff832
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ffa20
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ff790
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ff790
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ffa9e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x6ffc14
cmp edi, dword [esp + 0x6c]
jge 0x6ffc14
cmp ecx, dword [esp + 0x40]
jge 0x6ffc14
test esi, esi
jle 0x6ffc14
cmp ebx, dword [esp + 0x100]
jae 0x6ffbe9
cmp eax, dword [esp + 0xbc]
jae 0x6ffbe9
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [ebp + 3]
movzx ebx, byte [ebp]
imul eax, edx
mov edx, dword [0xb160b8]
imul ebx, eax
imul ebx, edx
sar ebx, 0x18
mov byte [esp + 0x50], bl
movzx ebx, byte [ebp + 1]
imul ebx, eax
imul ebx, edx
sar ebx, 0x18
mov byte [esp + 0x51], bl
movzx ebx, byte [ebp + 2]
imul ebx, eax
imul ebx, edx
sar ebx, 0x18
mov byte [esp + 0x52], bl
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x6ffc14
cmp ecx, dword [esp + 0x40]
jl 0x6ffb11
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6ffcba
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ffa71
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ffa71
cmp dword [esp + 0x134], 0
je 0x6fffc1
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6ffd4d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x6ffeca
cmp edi, dword [esp + 0x6c]
jge 0x6ffeca
cmp ecx, dword [esp + 0x40]
jge 0x6ffeca
test esi, esi
jle 0x6ffeca
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x6ffea3
cmp eax, dword [esp + 0xbc]
jae 0x6ffea3
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
je 0x6ffea3
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx]
imul ebx, eax
imul ebx, dword [0xb160b8]
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, eax
mov dword [esp + 0x2c], eax
imul edx, dword [esp + 0x2c]
mov eax, dword [0xb160b8]
imul edx, eax
imul ebx, eax
sar edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x6ffeca
cmp ecx, dword [esp + 0x40]
jl 0x6ffdc0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x6fff70
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6ffd20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6ffd20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x6fffee
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70015b
cmp edi, dword [esp + 0x6c]
jge 0x70015b
cmp ecx, dword [esp + 0x40]
jge 0x70015b
test esi, esi
jle 0x70015b
cmp ebx, dword [esp + 0x100]
jae 0x700130
cmp eax, dword [esp + 0xbc]
jae 0x700130
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx ebx, byte [edx]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, eax
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 1]
movzx edx, byte [edx + 2]
imul ebx, ebp
imul edx, ebp
imul ebx, eax
imul edx, eax
sar ebx, 0x10
sar edx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x52], dl
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70015b
cmp ecx, dword [esp + 0x40]
jl 0x700061
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x700201
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x6fffc1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x6fffc1
cmp dword [eax + 0x28], ebp
jne 0x70087a
cmp dword [esp + 0x134], 0
je 0x7005b0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70029d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7004b5
cmp edi, dword [esp + 0x6c]
jge 0x7004b5
cmp ecx, dword [esp + 0x40]
jge 0x7004b5
test esi, esi
jle 0x7004b5
jmp 0x700316
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x70048e
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x70048e
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
test al, al
je 0x70048e
cmp al, 0xff
jne 0x7003ec
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx + eax*4]
mov ebx, dword [esp + 0xa4]
imul eax, ebp
imul eax, dword [0xb160b8]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, eax
shr edx, 0x10
jmp 0x700461
movzx ebx, byte [ebx]
movzx ebp, byte [ebx + 0xcc2d28]
mov ebx, dword [esp + 0xa8]
movzx eax, al
mov dword [esp + 0x58], eax
movzx eax, byte [edx]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [esp + 0x58]
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x18
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, dword [esp + 0x58]
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x18
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [esp + 0x58]
imul edx, eax
shr edx, 0x18
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x52], dl
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
je 0x7004b5
cmp ecx, dword [esp + 0x40]
jl 0x700312
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70055b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x700270
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x700270
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7005dd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x700783
cmp edi, dword [esp + 0x6c]
jge 0x700783
cmp ecx, dword [esp + 0x40]
jge 0x700783
test esi, esi
jle 0x700783
cmp ebx, dword [esp + 0x100]
jae 0x700758
cmp eax, dword [esp + 0xbc]
jae 0x700758
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx + 3]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
movzx eax, byte [edx]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [esp + 0x58]
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x18
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
imul ebx, dword [esp + 0x58]
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x18
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, ebp
imul edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x10]
imul edx, eax
shr edx, 0x18
mov byte [esp + 0x52], dl
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x700783
cmp ecx, dword [esp + 0x40]
jl 0x700650
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x700829
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7005b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7005b0
cmp dword [esp + 0x134], 0
je 0x700b53
jmp 0x700890
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7008bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x700a5c
cmp edi, dword [esp + 0x6c]
jge 0x700a5c
cmp ecx, dword [esp + 0x40]
jge 0x700a5c
test esi, esi
jle 0x700a5c
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x700a35
cmp eax, dword [esp + 0xbc]
jae 0x700a35
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
je 0x700a35
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
movzx eax, byte [edx]
mov eax, dword [ebx + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
imul ebx, dword [esp + 0x2c]
mov eax, dword [0xb160b8]
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
imul edx, dword [esp + 0x2c]
imul edx, eax
shr edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x700a5c
cmp ecx, dword [esp + 0x40]
jl 0x700930
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x700b02
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x700890
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x700890
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x700b80
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x700d0f
cmp edi, dword [esp + 0x6c]
jge 0x700d0f
cmp ecx, dword [esp + 0x40]
jge 0x700d0f
test esi, esi
jle 0x700d0f
cmp ebx, dword [esp + 0x100]
jae 0x700ce4
cmp eax, dword [esp + 0xbc]
jae 0x700ce4
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, byte [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx + eax*4]
imul eax, ebp
imul eax, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr eax, 0x10
mov byte [esp + 0x50], al
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0xb160b8]
imul ebx, ebp
movzx edx, byte [edx + 2]
imul ebx, eax
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x10]
imul edx, ebp
imul edx, eax
shr edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [ebx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov dword [ebx], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x700d0f
cmp ecx, dword [esp + 0x40]
jl 0x700bf3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x700db5
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x700b53
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x700b53
cmp edx, 0xffffff
jne 0x701888
cmp dword [eax + 0x28], ebp
jne 0x70137a
cmp dword [esp + 0x134], 0
je 0x701100
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x700e5d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x701000
cmp edi, dword [esp + 0x6c]
jge 0x701000
cmp ecx, dword [esp + 0x40]
jge 0x701000
test esi, esi
jle 0x701000
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x700fd5
cmp eax, dword [esp + 0xbc]
jae 0x700fd5
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
je 0x700fd1
cmp al, 0xff
movzx edx, byte [ebp]
jne 0x700f63
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov byte [esp + 0x52], al
jmp 0x700fa4
movzx eax, al
imul edx, eax
imul edx, dword [0xb160b8]
sar edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [ebp + 1]
imul edx, eax
mov dword [esp + 0x58], eax
mov eax, dword [0xb160b8]
imul edx, eax
sar edx, 0x10
mov byte [esp + 0x51], dl
movzx edx, byte [ebp + 2]
imul edx, dword [esp + 0x58]
imul edx, eax
sar edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x701000
cmp ecx, dword [esp + 0x40]
jl 0x700ee0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7010a9
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x700e30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x700e30
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70112d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x701283
cmp edi, dword [esp + 0x6c]
jge 0x701283
cmp ecx, dword [esp + 0x40]
jge 0x701283
test esi, esi
jle 0x701283
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x701260
cmp eax, dword [esp + 0xbc]
jae 0x701260
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebx + eax*4 + 3]
lea eax, [ebx + eax*4]
movzx ebx, byte [eax]
imul ebx, edx
imul ebx, dword [0xb160b8]
sar ebx, 0x10
mov byte [esp + 0x50], bl
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
imul ebx, edx
mov dword [esp + 0x58], edx
imul eax, dword [esp + 0x58]
mov edx, dword [0xb160b8]
imul eax, edx
imul ebx, edx
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
sar eax, 0x10
mov byte [esp + 0x52], al
sar ebx, 0x10
mov byte [esp + 0x51], bl
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x701283
cmp ecx, dword [esp + 0x40]
jl 0x7011a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x701329
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x701100
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x701100
cmp dword [esp + 0x134], 0
je 0x701611
jmp 0x701390
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7013bd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x701517
cmp edi, dword [esp + 0x6c]
jge 0x701517
cmp ecx, dword [esp + 0x40]
jge 0x701517
test esi, esi
jle 0x701517
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x7014f0
cmp eax, dword [esp + 0xbc]
jae 0x7014f0
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov edx, dword [esp + 0x58]
cmp dword [ebp], edx
je 0x7014e8
movzx eax, byte [ebp]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 1]
mov byte [esp + 0x50], dl
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 2]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x701517
cmp ecx, dword [esp + 0x40]
jl 0x701440
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7015c0
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x701390
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x701390
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70163e
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70178e
cmp edi, dword [esp + 0x6c]
jge 0x70178e
cmp ecx, dword [esp + 0x40]
jge 0x70178e
test esi, esi
jle 0x70178e
lea ecx, [ecx]
cmp ebp, dword [esp + 0x100]
jae 0x701767
cmp eax, dword [esp + 0xbc]
jae 0x701767
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
movzx edx, byte [ebp]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70178e
cmp ecx, dword [esp + 0x40]
jl 0x7016c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x701837
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x701611
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x701611
cmp dword [eax + 0x28], ebp
jne 0x701e4c
cmp dword [esp + 0x134], 0
je 0x701bb0
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7018cd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x701ab1
cmp edi, dword [esp + 0x6c]
jge 0x701ab1
cmp ecx, dword [esp + 0x40]
jge 0x701ab1
test esi, esi
jle 0x701ab1
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x701a86
cmp eax, dword [esp + 0xbc]
jae 0x701a86
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 3]
test al, al
je 0x701a82
cmp al, 0xff
movzx edx, byte [ebp]
jne 0x7019f1
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov byte [esp + 0x52], al
jmp 0x701a55
movzx eax, al
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
imul edx, dword [esp + 0x58]
imul edx, dword [0xb160b8]
movzx eax, byte [ebp + 1]
shr edx, 0x10
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + eax*4]
imul edx, dword [esp + 0x58]
mov eax, dword [0xb160b8]
imul edx, eax
shr edx, 0x10
mov byte [esp + 0x51], dl
movzx edx, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
mov edx, dword [ebp + edx*4]
imul edx, dword [esp + 0x58]
imul edx, eax
shr edx, 0x10
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x701ab1
cmp ecx, dword [esp + 0x40]
jl 0x701950
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x701b5a
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x7018a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7018a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x701bdd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x701d55
cmp edi, dword [esp + 0x6c]
jge 0x701d55
cmp ecx, dword [esp + 0x40]
jge 0x701d55
test esi, esi
jle 0x701d55
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x701d32
cmp eax, dword [esp + 0xbc]
jae 0x701d32
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebx + eax*4 + 3]
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], edx
movzx edx, byte [eax]
mov edx, dword [ebx + edx*4]
imul edx, dword [esp + 0x58]
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shr edx, 0x10
mov byte [esp + 0x50], dl
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
imul ebx, dword [esp + 0x58]
mov edx, dword [0xb160b8]
movzx eax, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [esp + 0x51], bl
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, dword [esp + 0x58]
imul eax, edx
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
shr eax, 0x10
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebx, eax
shr ebx, 8
sub eax, ebx
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x701d55
cmp ecx, dword [esp + 0x40]
jl 0x701c50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x701dfb
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x701bb0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x701bb0
cmp dword [esp + 0x134], 0
je 0x702103
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x701e8d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x702009
cmp edi, dword [esp + 0x6c]
jge 0x702009
cmp ecx, dword [esp + 0x40]
jge 0x702009
test esi, esi
jle 0x702009
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x701fe2
cmp eax, dword [esp + 0xbc]
jae 0x701fe2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov edx, dword [esp + 0x58]
cmp dword [ebp], edx
je 0x701fda
movzx eax, byte [ebp]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 1]
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [ebp + 2]
mov byte [esp + 0x51], dl
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x702009
cmp ecx, dword [esp + 0x40]
jl 0x701f10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7020b2
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x701e60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x701e60
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x702130
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70229c
cmp edi, dword [esp + 0x6c]
jge 0x70229c
cmp ecx, dword [esp + 0x40]
jge 0x70229c
test esi, esi
jle 0x70229c
nop
cmp ebp, dword [esp + 0x100]
jae 0x702275
cmp eax, dword [esp + 0xbc]
jae 0x702275
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
movzx edx, byte [ebp]
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 1]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov byte [esp + 0x51], al
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
movzx eax, byte [ebx + edx*4]
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
mov byte [esp + 0x52], al
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70229c
cmp ecx, dword [esp + 0x40]
jl 0x7021b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x702345
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x702103
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x702103
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x703a5e
cmp edx, 0xffffff
jne 0x702eba
cmp dword [eax + 0x28], ebp
jne 0x70297f
cmp dword [esp + 0x134], 0
je 0x7026e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x702400
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x7025e7
cmp edi, dword [esp + 0x6c]
jge 0x7025e7
cmp ecx, dword [esp + 0x40]
jge 0x7025e7
test esi, esi
jle 0x7025e7
nop
cmp ebp, dword [esp + 0x100]
jae 0x7025c4
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x7025c4
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
imul eax, ebx
cmp byte [edx + 3], 0xff
jne 0x70254c
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0x10
mov byte [ebx], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx ebx, byte [eax + 0xcc2d28]
movzx eax, byte [edx + 1]
imul ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 1]
imul ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, byte [edx + 2]
imul ebx, edx
movzx edx, byte [eax + 2]
imul ebx, edx
sar ebx, 0x10
jmp 0x7025c1
movzx ebx, byte [edx + 3]
imul eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0x18
mov byte [ebx], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 1]
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + 1]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0x18
mov byte [ebx + 1], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx ebx, byte [eax + 0xcc2d28]
movzx eax, byte [edx + 2]
movzx edx, byte [edx + 3]
imul ebx, eax
mov eax, dword [esp + 0x10]
imul ebx, edx
movzx edx, byte [eax + 2]
imul ebx, edx
sar ebx, 0x18
mov byte [eax + 2], bl
mov eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x14], eax
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
je 0x7025e7
cmp ecx, dword [esp + 0x40]
jl 0x702470
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70268d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7023d3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7023d3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x702706
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x702888
cmp edi, dword [esp + 0x6c]
jge 0x702888
cmp ecx, dword [esp + 0x40]
jge 0x702888
test esi, esi
jle 0x702888
nop
cmp edx, dword [esp + 0x100]
jae 0x70285f
cmp ebx, dword [esp + 0xbc]
jae 0x70285f
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
movzx ebx, byte [edx]
imul eax, ebx
movzx ebx, byte [ebp]
imul eax, ebx
sar eax, 0x18
mov byte [ebp], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 1]
imul eax, ebx
movzx ebx, byte [edx + 3]
imul eax, ebx
movzx ebx, byte [ebp + 1]
imul eax, ebx
sar eax, 0x18
mov byte [ebp + 1], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 2]
movzx edx, byte [edx + 3]
imul eax, ebx
imul eax, edx
movzx edx, byte [ebp + 2]
imul eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 0x18
mov byte [ebp + 2], al
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x702888
cmp ecx, dword [esp + 0x40]
jl 0x702780
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70292e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7026e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7026e0
cmp dword [esp + 0x134], 0
je 0x702c30
lea ecx, [ecx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7029bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x702b35
cmp edi, dword [esp + 0x6c]
jge 0x702b35
cmp ecx, dword [esp + 0x40]
jge 0x702b35
test esi, esi
jle 0x702b35
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x702b0e
cmp eax, dword [esp + 0xbc]
jae 0x702b0e
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x2c], ebx
je 0x702b0e
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx]
imul eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0x10
mov byte [ebx], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx ebx, byte [eax + 0xcc2d28]
movzx eax, byte [edx + 1]
imul ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 1]
imul ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, byte [edx + 2]
imul ebx, edx
movzx edx, byte [eax + 2]
imul ebx, edx
sar ebx, 0x10
mov byte [eax + 2], bl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x702b35
cmp ecx, dword [esp + 0x40]
jl 0x702a30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x702bdb
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x702990
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x702990
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x702c56
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x702dc3
cmp edi, dword [esp + 0x6c]
jge 0x702dc3
cmp ecx, dword [esp + 0x40]
jge 0x702dc3
test esi, esi
jle 0x702dc3
nop
cmp edx, dword [esp + 0x100]
jae 0x702d9a
cmp ebx, dword [esp + 0xbc]
jae 0x702d9a
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
sar eax, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
imul eax, ebx
movzx ebx, byte [ebp]
imul eax, ebx
sar eax, 0x10
mov byte [ebp], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, byte [edx + 1]
imul eax, ebx
movzx ebx, byte [ebp + 1]
imul eax, ebx
sar eax, 0x10
mov byte [ebp + 1], al
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [edx + 2]
imul eax, edx
movzx edx, byte [ebp + 2]
imul eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 0x10
mov byte [ebp + 2], al
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x702dc3
cmp ecx, dword [esp + 0x40]
jl 0x702cd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x702e69
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x702c30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x702c30
cmp dword [eax + 0x28], ebp
jne 0x7034e4
cmp dword [esp + 0x134], 0
je 0x703210
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x702efe
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x703119
cmp edi, dword [esp + 0x6c]
jge 0x703119
cmp ecx, dword [esp + 0x40]
jge 0x703119
test esi, esi
jle 0x703119
jmp 0x702f77
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x7030f2
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x7030f2
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx eax, byte [ebx]
movzx edx, byte [eax + 0xcc2d28]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
imul edx, dword [ebx + eax*4]
cmp byte [ebp + 3], 0xff
jne 0x703070
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax]
imul edx, ebx
shr edx, 0x10
mov byte [eax], dl
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [ebp + 1]
mov ebx, eax
mov eax, dword [esp + 0xa4]
imul ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
movzx edx, byte [eax + 1]
imul ebx, edx
shr ebx, 0x10
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx edx, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa0]
imul ebx, dword [ebp + edx*4]
movzx edx, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [eax + 2], bl
jmp 0x7030f2
movzx eax, byte [ebp + 3]
imul edx, eax
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax]
imul edx, ebx
shr edx, 0x18
mov byte [eax], dl
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [ebp + 1]
mov ebx, eax
mov eax, dword [esp + 0xa4]
imul ebx, dword [eax + edx*4]
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x10]
imul ebx, edx
movzx edx, byte [eax + 1]
imul ebx, edx
mov edx, dword [esp + 0x2c]
shr ebx, 0x18
mov byte [eax + 1], bl
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
imul edx, dword [ebx + eax*4]
movzx eax, byte [ebp + 3]
imul edx, eax
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax + 2]
imul edx, ebx
shr edx, 0x18
mov byte [eax + 2], dl
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
je 0x703119
cmp ecx, dword [esp + 0x40]
jl 0x702f73
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7031bf
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x702ed1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x702ed1
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70323d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7033ed
cmp edi, dword [esp + 0x6c]
jge 0x7033ed
cmp ecx, dword [esp + 0x40]
jge 0x7033ed
test esi, esi
jle 0x7033ed
mov edx, dword [esp + 0x10]
jmp 0x7032c0
cmp ebp, dword [esp + 0x100]
jae 0x7033c4
cmp eax, dword [esp + 0xbc]
jae 0x7033c4
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xa8]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
imul eax, dword [ebp + ebx*4]
movzx ebx, byte [edx + 3]
mov ebp, dword [esp + 0x10]
imul eax, ebx
movzx ebx, byte [ebp]
imul eax, ebx
mov ebx, dword [esp + 0x2c]
shr eax, 0x18
mov byte [ebp], al
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, byte [edx + 1]
mov ebp, dword [esp + 0xa4]
imul ebx, dword [ebp + eax*4]
movzx eax, byte [edx + 3]
mov ebp, dword [esp + 0x10]
imul ebx, eax
movzx eax, byte [ebp + 1]
imul ebx, eax
shr ebx, 0x18
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [edx + 2]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa0]
imul ebx, dword [ebp + eax*4]
movzx edx, byte [edx + 3]
mov ebp, dword [esp + 0x1c]
imul ebx, edx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 2]
imul ebx, eax
mov eax, dword [esp + 0x14]
shr ebx, 0x18
mov byte [edx + 2], bl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add edx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
je 0x7033ed
cmp ecx, dword [esp + 0x40]
jl 0x7032c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x703493
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x703210
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x703210
cmp dword [esp + 0x134], 0
je 0x7037b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70351f
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x7036b9
cmp edi, dword [esp + 0x6c]
jge 0x7036b9
cmp ecx, dword [esp + 0x40]
jge 0x7036b9
test esi, esi
jle 0x7036b9
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x703692
cmp eax, dword [esp + 0xbc]
jae 0x703692
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x703692
movzx eax, byte [ebx]
movzx ebx, byte [eax + 0xcc2d28]
movzx edx, byte [edx]
mov eax, dword [esp + 0xa8]
imul ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
movzx edx, byte [eax]
imul ebx, edx
shr ebx, 0x10
mov byte [eax], bl
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 1]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
mov ebx, eax
mov eax, dword [esp + 0xa4]
imul ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
movzx edx, byte [eax + 1]
imul ebx, edx
shr ebx, 0x10
mov byte [eax + 1], bl
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 2]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
mov ebx, eax
mov eax, dword [esp + 0xa0]
imul ebx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
movzx edx, byte [eax + 2]
imul ebx, edx
shr ebx, 0x10
mov byte [eax + 2], bl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x7036b9
cmp ecx, dword [esp + 0x40]
jl 0x703590
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70375f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7034f2
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7034f2
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7037d6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x703967
cmp edi, dword [esp + 0x6c]
jge 0x703967
cmp ecx, dword [esp + 0x40]
jge 0x703967
test esi, esi
jle 0x703967
nop
cmp edx, dword [esp + 0x100]
jae 0x70393e
cmp ebx, dword [esp + 0xbc]
jae 0x70393e
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp]
imul eax, edx
mov ebx, dword [esp + 0xa4]
shr eax, 0x10
mov byte [ebp], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 1]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp + 1]
imul eax, edx
mov ebx, dword [esp + 0xa0]
shr eax, 0x10
mov byte [ebp + 1], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 2]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp + 2]
imul eax, edx
mov edx, dword [esp + 0x1c]
shr eax, 0x10
mov byte [ebp + 2], al
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x703967
cmp ecx, dword [esp + 0x40]
jl 0x703850
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x703a0d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7037b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7037b0
cmp edx, 0xffffff
jne 0x704451
cmp dword [eax + 0x28], ebp
jne 0x703f92
cmp dword [esp + 0x134], 0
je 0x703d30
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x703aae
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x703c2b
cmp edi, dword [esp + 0x6c]
jge 0x703c2b
cmp ecx, dword [esp + 0x40]
jge 0x703c2b
test esi, esi
jle 0x703c2b
mov edx, dword [esp + 0x10]
cmp ebp, dword [esp + 0x100]
jae 0x703c06
cmp eax, dword [esp + 0xbc]
jae 0x703c06
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebx + eax*4]
mov al, byte [edx + 3]
cmp al, 0xff
mov dword [esp + 0x5c], edx
jne 0x703bb2
movzx eax, byte [edx]
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx]
imul eax, ebx
sar eax, 8
mov byte [edx], al
movzx ebx, byte [edx + 1]
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + 1]
imul eax, ebx
sar eax, 8
mov byte [edx + 1], al
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + 2]
movzx ebx, byte [edx + 2]
imul eax, ebx
sar eax, 8
mov byte [edx + 2], al
jmp 0x703c02
movzx ebx, byte [edx]
movzx edx, al
imul ebx, edx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx]
imul ebx, eax
mov eax, dword [esp + 0x5c]
sar ebx, 0x10
mov byte [edx], bl
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 3]
imul ebx, eax
movzx eax, byte [edx + 1]
imul ebx, eax
mov eax, dword [esp + 0x5c]
sar ebx, 0x10
mov byte [edx + 1], bl
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
imul ebx, eax
movzx eax, byte [edx + 2]
imul ebx, eax
sar ebx, 0x10
mov byte [edx + 2], bl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add edx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
je 0x703c2b
cmp ecx, dword [esp + 0x40]
jl 0x703b21
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x703cd5
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x703a81
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x703a81
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x703d5d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x703e9b
cmp edi, dword [esp + 0x6c]
jge 0x703e9b
cmp ecx, dword [esp + 0x40]
jge 0x703e9b
test esi, esi
jle 0x703e9b
mov ebp, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x703e76
cmp eax, dword [esp + 0xbc]
jae 0x703e76
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebp + eax*4 + 3]
lea ebp, [ebp + eax*4]
movzx eax, byte [ebp]
imul edx, eax
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp]
imul edx, eax
mov eax, dword [esp + 0x5c]
sar edx, 0x10
mov byte [ebp], dl
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 3]
imul edx, eax
movzx eax, byte [ebp + 1]
imul edx, eax
mov eax, dword [esp + 0x5c]
sar edx, 0x10
mov byte [ebp + 1], dl
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
imul edx, eax
movzx eax, byte [ebp + 2]
imul edx, eax
mov eax, dword [esp + 0x14]
sar edx, 0x10
mov byte [ebp + 2], dl
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x703e9b
cmp ecx, dword [esp + 0x40]
jl 0x703dd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x703f41
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x703d30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x703d30
cmp dword [esp + 0x134], 0
je 0x704200
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x703fcd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x704105
cmp edi, dword [esp + 0x6c]
jge 0x704105
cmp ecx, dword [esp + 0x40]
jge 0x704105
test esi, esi
jle 0x704105
mov ebp, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x7040e0
cmp eax, dword [esp + 0xbc]
jae 0x7040e0
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0x12
cmp dword [ebp + eax*4], edx
lea ebp, [ebp + eax*4]
mov dword [esp + 0x5c], ebp
je 0x7040d8
movzx eax, byte [ebp]
mov ebp, dword [esp + 0x10]
movzx edx, byte [ebp]
imul eax, edx
sar eax, 8
mov byte [ebp], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 1]
movzx eax, byte [ebp + 1]
imul edx, eax
sar edx, 8
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx eax, byte [edx + 2]
movzx edx, byte [ebp + 2]
imul eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x7040dc
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x704105
cmp ecx, dword [esp + 0x40]
jl 0x704040
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7041af
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x703fa0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x703fa0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70422d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x704356
cmp edi, dword [esp + 0x6c]
jge 0x704356
cmp ecx, dword [esp + 0x40]
jge 0x704356
test esi, esi
jle 0x704356
mov ebp, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x704331
cmp eax, dword [esp + 0xbc]
jae 0x704331
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebp + eax*4]
lea ebp, [ebp + eax*4]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp]
imul edx, eax
sar edx, 8
mov byte [ebp], dl
mov edx, dword [esp + 0x5c]
movzx eax, byte [edx + 1]
movzx edx, byte [ebp + 1]
imul eax, edx
sar eax, 8
mov byte [ebp + 1], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 2]
movzx eax, byte [ebp + 2]
imul edx, eax
mov eax, dword [esp + 0x14]
sar edx, 8
mov byte [ebp + 2], dl
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x704356
cmp ecx, dword [esp + 0x40]
jl 0x7042a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x704400
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x704200
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x704200
cmp dword [eax + 0x28], ebp
jne 0x7049cd
cmp dword [esp + 0x134], 0
je 0x704745
jmp 0x704470
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x704495
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70464e
cmp edi, dword [esp + 0x6c]
jge 0x70464e
cmp ecx, dword [esp + 0x40]
jge 0x70464e
test esi, esi
jle 0x70464e
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x704629
cmp eax, dword [esp + 0xbc]
jae 0x704629
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
mov ebp, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov al, byte [edx + 3]
cmp al, 0xff
mov dword [esp + 0x5c], edx
jne 0x7045c1
movzx eax, byte [edx]
movzx edx, byte [ebx]
imul edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa4]
shr edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx eax, byte [ebx + 1]
imul eax, dword [ebp + edx*4]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa0]
shr eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
movzx edx, byte [ebx + 2]
imul edx, dword [ebp + eax*4]
shr edx, 8
mov byte [ebx + 2], dl
jmp 0x704621
movzx edx, byte [edx]
movzx eax, al
imul eax, dword [ebp + edx*4]
movzx edx, byte [ebx]
imul eax, edx
mov ebp, dword [esp + 0xa4]
shr eax, 0x10
mov byte [ebx], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 3]
imul eax, dword [ebp + edx*4]
movzx edx, byte [ebx + 1]
mov ebp, dword [esp + 0xa0]
imul eax, edx
shr eax, 0x10
mov byte [ebx + 1], al
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
imul eax, dword [ebp + edx*4]
movzx edx, byte [ebx + 2]
imul eax, edx
shr eax, 0x10
mov byte [ebx + 2], al
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70464e
cmp ecx, dword [esp + 0x40]
jl 0x704510
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7046f4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x704470
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x704470
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x704772
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7048d6
cmp edi, dword [esp + 0x6c]
jge 0x7048d6
cmp ecx, dword [esp + 0x40]
jge 0x7048d6
test esi, esi
jle 0x7048d6
mov ebp, dword [esp + 0x10]
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7048ad
cmp eax, dword [esp + 0xbc]
jae 0x7048ad
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [ebp + eax*4]
movzx ebx, byte [ebp + eax*4 + 3]
lea eax, [ebp + eax*4]
mov ebp, dword [esp + 0xa8]
imul ebx, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
movzx edx, byte [ebp]
imul ebx, edx
shr ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [eax + 1]
movzx ebx, byte [eax + 3]
mov ebp, dword [esp + 0xa4]
imul ebx, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
movzx edx, byte [ebp + 1]
imul ebx, edx
shr ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
mov ebx, dword [esp + 0xa0]
imul eax, dword [ebx + edx*4]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0x1c]
imul eax, edx
shr eax, 0x10
mov byte [ebp + 2], al
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7048d6
cmp ecx, dword [esp + 0x40]
jl 0x7047f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70497c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x704745
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x704745
cmp dword [esp + 0x134], 0
je 0x704c60
jmp 0x7049e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x704a0d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x704b66
cmp edi, dword [esp + 0x6c]
jge 0x704b66
cmp ecx, dword [esp + 0x40]
jge 0x704b66
test esi, esi
jle 0x704b66
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x704b43
cmp eax, dword [esp + 0xbc]
jae 0x704b43
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0x12
cmp dword [ebp + eax*4], edx
lea eax, [ebp + eax*4]
mov dword [esp + 0x5c], eax
je 0x704b3f
movzx eax, byte [eax]
mov edx, dword [esp + 0x10]
movzx edx, byte [edx]
mov ebp, dword [esp + 0xa8]
imul edx, dword [ebp + eax*4]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
shr edx, 8
mov byte [ebp], dl
movzx edx, byte [eax + 1]
movzx eax, byte [ebp + 1]
mov ebp, dword [esp + 0xa4]
imul eax, dword [ebp + edx*4]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
shr eax, 8
mov byte [ebp + 1], al
movzx eax, byte [edx + 2]
movzx edx, byte [ebp + 2]
mov ebp, dword [esp + 0xa0]
imul edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x10]
shr edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x704b66
cmp ecx, dword [esp + 0x40]
jl 0x704a80
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x704c0c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7049e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7049e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x704c85
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov edx, eax
imul eax, dword [esp + 0x9c]
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add edx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x704dd2
cmp edi, dword [esp + 0x6c]
jge 0x704dd2
cmp ecx, dword [esp + 0x40]
jge 0x704dd2
test esi, esi
jle 0x704dd2
cmp ebp, dword [esp + 0x100]
jae 0x704dad
cmp eax, dword [esp + 0xbc]
jae 0x704dad
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
mov ebp, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebx]
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
imul edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa4]
shr edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx eax, byte [ebx + 1]
imul eax, dword [ebp + edx*4]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa0]
shr eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
movzx edx, byte [ebx + 2]
imul edx, dword [ebp + eax*4]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
shr edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x704dd2
cmp ecx, dword [esp + 0x40]
jl 0x704d00
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x704e78
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x704c60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x704c60
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x706884
cmp edx, 0xffffff
jne 0x705b72
cmp dword [eax + 0x28], ebp
jne 0x705597
cmp dword [esp + 0x134], 0
je 0x7052a0
jmp 0x704f10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x704f36
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7051a6
cmp edi, dword [esp + 0x6c]
jge 0x7051a6
cmp ecx, dword [esp + 0x40]
jge 0x7051a6
test esi, esi
jle 0x7051a6
jmp 0x704fb5
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x705181
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xbc]
jae 0x705181
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
cmp byte [edx + 3], 0xff
jne 0x7050da
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx ebx, byte [edx + 1]
movzx eax, byte [ebp + 1]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx + 2]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
jmp 0x705181
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
movzx ebx, byte [edx + 1]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
movzx ebx, byte [edx + 2]
imul ebx, eax
movzx edx, byte [edx + 3]
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 4
add ecx, 1
sub esi, 1
je 0x7051a6
cmp ecx, dword [esp + 0x40]
jl 0x704fb1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70524c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x704f10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x704f10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7052c6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x7054a0
cmp edi, dword [esp + 0x6c]
jge 0x7054a0
cmp ecx, dword [esp + 0x40]
jge 0x7054a0
test esi, esi
jle 0x7054a0
nop
cmp edx, dword [esp + 0x100]
jae 0x705477
cmp ebx, dword [esp + 0xbc]
jae 0x705477
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
movzx ebx, byte [edx + 1]
imul ebx, eax
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
movzx ebx, byte [edx + 2]
imul ebx, eax
movzx edx, byte [edx + 3]
sar ebx, 8
movzx ebx, bl
sub ebx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x1c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x7054a0
cmp ecx, dword [esp + 0x40]
jl 0x705340
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x705546
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7052a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7052a0
cmp dword [esp + 0x134], 0
je 0x7058a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7055d2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x7057a0
cmp edi, dword [esp + 0x6c]
jge 0x7057a0
cmp ecx, dword [esp + 0x40]
jge 0x7057a0
test esi, esi
jle 0x7057a0
cmp ebp, dword [esp + 0x100]
jae 0x705779
cmp eax, dword [esp + 0xbc]
jae 0x705779
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x705779
movzx edx, byte [edx]
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax]
imul edx, ebx
mov dword [esp + 0x4c], ebx
sar edx, 8
movzx edx, dl
sub edx, ebx
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, edx
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [eax], bl
movzx edx, byte [eax + 1]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [eax + 1], bl
movzx edx, byte [eax + 2]
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 2]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x60]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [eax + 2], bl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x7057a0
cmp ecx, dword [esp + 0x40]
jl 0x705641
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x705846
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7055a5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7055a5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7058c6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x705a7b
cmp edi, dword [esp + 0x6c]
jge 0x705a7b
cmp ecx, dword [esp + 0x40]
jge 0x705a7b
test esi, esi
jle 0x705a7b
nop
cmp edx, dword [esp + 0x100]
jae 0x705a52
cmp ebx, dword [esp + 0xbc]
jae 0x705a52
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
add ebx, eax
movzx eax, byte [ebp]
add ebx, dword [esp + 0xac]
imul edx, eax
sar edx, 8
movzx edx, dl
sub edx, eax
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x2c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp], dl
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
movzx ebx, byte [ebx]
imul edx, eax
movzx ebx, byte [ebx + 0xcc2d28]
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x2c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
movzx ebx, byte [ebx]
imul edx, eax
movzx ebx, byte [ebx + 0xcc2d28]
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x705a7b
cmp ecx, dword [esp + 0x40]
jl 0x705940
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x705b21
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7058a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7058a0
cmp dword [eax + 0x28], ebp
jne 0x706281
cmp dword [esp + 0x134], 0
je 0x705f60
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x705bb6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x705e68
cmp edi, dword [esp + 0x6c]
jge 0x705e68
cmp ecx, dword [esp + 0x40]
jge 0x705e68
test esi, esi
jle 0x705e68
cmp edx, dword [esp + 0x100]
jae 0x705e43
cmp eax, dword [esp + 0xbc]
jae 0x705e43
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
cmp byte [edx + 3], 0xff
jne 0x705d78
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [edx + 2]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
jmp 0x705e3b
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
movzx edx, byte [edx + 3]
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x705e68
cmp ecx, dword [esp + 0x40]
jl 0x705c31
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x705f0e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x705b90
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x705b90
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x705f86
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x70618a
cmp edi, dword [esp + 0x6c]
jge 0x70618a
cmp ecx, dword [esp + 0x40]
jge 0x70618a
test esi, esi
jle 0x70618a
nop
cmp edx, dword [esp + 0x100]
jae 0x706161
cmp ebx, dword [esp + 0xbc]
jae 0x706161
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x4c]
imul ebx, eax
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
movzx edx, byte [edx + 3]
shr ebx, 8
movzx ebx, bl
sub ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x1c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x70618a
cmp ecx, dword [esp + 0x40]
jl 0x706000
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x706230
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x705f60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x705f60
cmp dword [esp + 0x134], 0
je 0x706591
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7062b6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70649a
cmp edi, dword [esp + 0x6c]
jge 0x70649a
cmp ecx, dword [esp + 0x40]
jge 0x70649a
test esi, esi
jle 0x70649a
cmp edx, dword [esp + 0x100]
jae 0x706471
cmp eax, dword [esp + 0xbc]
jae 0x706471
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x70646d
movzx edx, byte [edx]
movzx eax, byte [ebp]
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, eax
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp], dl
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
mov edx, dword [ebx + edx*4]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x70649a
cmp ecx, dword [esp + 0x40]
jl 0x706331
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x706540
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x706290
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x706290
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7065b7
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x70678d
cmp edi, dword [esp + 0x6c]
jge 0x70678d
cmp ecx, dword [esp + 0x40]
jge 0x70678d
test esi, esi
jle 0x70678d
cmp edx, dword [esp + 0x100]
jae 0x706764
cmp ebx, dword [esp + 0xbc]
jae 0x706764
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, eax
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp], dl
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
mov edx, dword [ebx + edx*4]
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0x2c]
imul edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x70678d
cmp ecx, dword [esp + 0x40]
jl 0x706630
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x706833
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x706591
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x706591
cmp edx, 0xffffff
jne 0x70738f
cmp dword [eax + 0x28], ebp
jne 0x706e66
cmp dword [esp + 0x134], 0
je 0x706bc0
jmp 0x7068b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7068d6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x706ac6
cmp edi, dword [esp + 0x6c]
jge 0x706ac6
cmp ecx, dword [esp + 0x40]
jge 0x706ac6
test esi, esi
jle 0x706ac6
nop
cmp ebx, dword [esp + 0x100]
jae 0x706aa1
cmp eax, dword [esp + 0xbc]
jae 0x706aa1
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
cmp byte [eax + 3], 0xff
jne 0x706a18
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax + 2]
movzx edx, byte [ebp + 2]
imul eax, edx
sar eax, 8
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x706a99
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
movzx ebx, byte [eax + 1]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x706ac6
cmp ecx, dword [esp + 0x40]
jl 0x706950
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x706b6c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7068b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7068b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x706be6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x706d6f
cmp edi, dword [esp + 0x6c]
jge 0x706d6f
cmp ecx, dword [esp + 0x40]
jge 0x706d6f
test esi, esi
jle 0x706d6f
nop
cmp ebx, dword [esp + 0x100]
jae 0x706d4a
cmp eax, dword [esp + 0xbc]
jae 0x706d4a
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
movzx ebx, byte [eax + 1]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
imul ebx, edx
sar ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x706d6f
cmp ecx, dword [esp + 0x40]
jl 0x706c60
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x706e15
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x706bc0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x706bc0
cmp dword [esp + 0x134], 0
je 0x707113
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x706ea1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x70701c
cmp edi, dword [esp + 0x6c]
jge 0x70701c
cmp ecx, dword [esp + 0x40]
jge 0x70701c
test esi, esi
jle 0x70701c
mov ebp, dword [esp + 0x10]
jmp 0x706f20
cmp ebx, dword [esp + 0x100]
jae 0x706ff7
cmp eax, dword [esp + 0xbc]
jae 0x706ff7
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebp + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
je 0x706ff3
movzx edx, byte [edx]
movzx eax, byte [ebp]
imul edx, eax
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp], dl
movzx eax, byte [ebp + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
imul edx, eax
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 1], dl
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
imul edx, eax
sar edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x70701c
cmp ecx, dword [esp + 0x40]
jl 0x706f20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7070c2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x706e74
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x706e74
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x707138
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x707298
cmp edi, dword [esp + 0x6c]
jge 0x707298
cmp ecx, dword [esp + 0x40]
jge 0x707298
test esi, esi
jle 0x707298
cmp ebp, dword [esp + 0x100]
jae 0x707273
cmp eax, dword [esp + 0xbc]
jae 0x707273
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
movzx ebp, byte [ebx]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [eax]
imul edx, ebp
sar edx, 8
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx ebp, byte [ebx + 1]
imul edx, ebp
sar edx, 8
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx + 1], dl
movzx ebp, byte [ebx + 2]
movzx eax, byte [eax + 2]
imul eax, ebp
sar eax, 8
movzx edx, al
mov eax, dword [esp + 0x14]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
mov ebp, dword [esp + 0x1c]
sar edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x707298
cmp ecx, dword [esp + 0x40]
jl 0x7071b1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70733e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x707113
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x707113
cmp dword [eax + 0x28], ebp
jne 0x7079e3
cmp dword [esp + 0x134], 0
je 0x707710
jmp 0x7073b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7073d6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x707613
cmp edi, dword [esp + 0x6c]
jge 0x707613
cmp ecx, dword [esp + 0x40]
jge 0x707613
test esi, esi
jle 0x707613
nop
cmp ebx, dword [esp + 0x100]
jae 0x7075ee
cmp eax, dword [esp + 0xbc]
jae 0x7075ee
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
cmp byte [eax + 3], 0xff
jne 0x707549
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
movzx eax, byte [eax + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + eax*4]
imul eax, edx
shr eax, 8
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x7075e6
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x60]
movzx eax, byte [eax + 3]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x707613
cmp ecx, dword [esp + 0x40]
jl 0x707450
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7076b9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7073b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7073b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x707736
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7078ec
cmp edi, dword [esp + 0x6c]
jge 0x7078ec
cmp ecx, dword [esp + 0x40]
jge 0x7078ec
test esi, esi
jle 0x7078ec
nop
cmp ebx, dword [esp + 0x100]
jae 0x7078c7
cmp eax, dword [esp + 0xbc]
jae 0x7078c7
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x4c]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x60]
movzx eax, byte [eax + 3]
imul ebx, edx
shr ebx, 8
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x7078ec
cmp ecx, dword [esp + 0x40]
jl 0x7077b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x707992
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x707710
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x707710
cmp dword [esp + 0x134], 0
je 0x707cb0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x707a1e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x707bb1
cmp edi, dword [esp + 0x6c]
jge 0x707bb1
cmp ecx, dword [esp + 0x40]
jge 0x707bb1
test esi, esi
jle 0x707bb1
lea ecx, [ecx]
cmp ebp, dword [esp + 0x100]
jae 0x707b8e
cmp eax, dword [esp + 0xbc]
jae 0x707b8e
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
imul ebx, dword [esp + 0x98]
add ebx, dword [esp + 0x90]
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
je 0x707b8a
movzx edx, byte [edx]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov ebx, dword [esp + 0xa8]
mov edx, dword [ebx + edx*4]
imul edx, eax
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax], dl
movzx eax, byte [eax + 1]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
mov edx, dword [ebx + edx*4]
imul edx, eax
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax + 1], dl
movzx eax, byte [eax + 2]
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
mov edx, dword [ebx + edx*4]
imul edx, eax
shr edx, 8
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x707bb1
cmp ecx, dword [esp + 0x40]
jl 0x707a90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x707c57
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7079f1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7079f1
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x707cd5
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x707e61
cmp edi, dword [esp + 0x6c]
jge 0x707e61
cmp ecx, dword [esp + 0x40]
jge 0x707e61
test esi, esi
jle 0x707e61
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x707e3c
cmp eax, dword [esp + 0xbc]
jae 0x707e3c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
movzx ebp, byte [ebx]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
mov eax, dword [edx + eax*4]
imul eax, ebp
shr eax, 8
movzx edx, al
sub edx, ebp
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x5c]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx ebp, byte [ebx + 1]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + edx*4]
imul edx, ebp
shr edx, 8
movzx eax, dl
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
sar eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
movzx ebp, byte [ebx + 2]
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + eax*4]
imul eax, ebp
shr eax, 8
movzx edx, al
mov eax, dword [esp + 0x14]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
mov ebp, dword [esp + 0x1c]
sar edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x707e61
cmp ecx, dword [esp + 0x40]
jl 0x707d50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x707f07
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x707cb0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x707cb0
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x7098bb
cmp edx, 0xffffff
jne 0x708bd6
cmp dword [eax + 0x28], ebp
jne 0x708619
cmp dword [esp + 0x134], 0
je 0x708331
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x707fbb
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70823a
cmp edi, dword [esp + 0x6c]
jge 0x70823a
cmp ecx, dword [esp + 0x40]
jge 0x70823a
test esi, esi
jle 0x70823a
jmp 0x708044
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x100]
jae 0x708215
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xbc]
jae 0x708215
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
cmp byte [edx + eax*4 + 3], 0xff
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
jne 0x708156
movzx edx, byte [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x5c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [edx + 1]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 1]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x2c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
jmp 0x708215
mov dl, byte [edx]
not dl
mov dword [esp + 0x4c], eax
movzx eax, byte [ebx]
movzx ebx, byte [eax + 0xcc2d28]
movzx eax, dl
sub eax, dword [esp + 0x4c]
imul ebx, eax
mov eax, dword [esp + 0x5c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x18
add ebx, edx
sar ebx, 0x18
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x18
add ebx, edx
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx ebx, byte [eax + 2]
movzx edx, byte [ebp + 2]
movzx eax, byte [eax + 3]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x60]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add ebp, 4
add ecx, 1
sub esi, 1
je 0x70823a
cmp ecx, dword [esp + 0x40]
jl 0x708040
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7082e0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x707f95
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x707f95
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70835e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x708522
cmp edi, dword [esp + 0x6c]
jge 0x708522
cmp ecx, dword [esp + 0x40]
jge 0x708522
test esi, esi
jle 0x708522
cmp ebx, dword [esp + 0x100]
jae 0x7084f7
cmp eax, dword [esp + 0xbc]
jae 0x7084f7
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebp]
not bl
movzx ebx, bl
sub ebx, eax
imul edx, ebx
movzx ebx, byte [ebp + 3]
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x18
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0x18
mov byte [eax], dl
movzx ebx, byte [ebp + 1]
movzx edx, byte [eax + 1]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
movzx edx, byte [ebp + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x18
add ebx, edx
sar ebx, 0x18
mov byte [eax + 1], bl
movzx ebx, byte [ebp + 2]
movzx edx, byte [eax + 2]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
movzx edx, byte [ebp + 3]
mov ebp, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
shl ebp, 0x18
add ebx, ebp
sar ebx, 0x18
mov byte [eax + 2], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x708522
cmp ecx, dword [esp + 0x40]
jl 0x7083d1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7085c8
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x708331
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x708331
cmp dword [esp + 0x134], 0
je 0x708910
jmp 0x708630
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70865d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add eax, edx
add ebp, ebx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x708818
cmp edi, dword [esp + 0x6c]
jge 0x708818
cmp ecx, dword [esp + 0x40]
jge 0x708818
test esi, esi
jle 0x708818
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x7087f1
cmp eax, dword [esp + 0xbc]
jae 0x7087f1
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x2c], ebx
je 0x7087f1
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov dl, byte [edx]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
not dl
movzx edx, dl
sub edx, eax
imul ebx, edx
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x10]
sar ebx, 0x10
mov byte [eax], bl
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 1]
movzx edx, byte [eax + 1]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx + 2]
movzx edx, byte [eax + 2]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x60]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [eax + 2], bl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x708818
cmp ecx, dword [esp + 0x40]
jl 0x7086d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7088be
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x708630
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x708630
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x708936
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x708adf
cmp edi, dword [esp + 0x6c]
jge 0x708adf
cmp ecx, dword [esp + 0x40]
jge 0x708adf
test esi, esi
jle 0x708adf
nop
cmp edx, dword [esp + 0x100]
jae 0x708ab6
cmp ebx, dword [esp + 0xbc]
jae 0x708ab6
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebp]
not dl
movzx edx, dl
sub edx, eax
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x5c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [edx + 1]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 1]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x2c]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
movzx ebx, byte [ebx]
movzx eax, byte [ebp + 2]
movzx ebx, byte [ebx + 0xcc2d28]
not dl
movzx edx, dl
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x708adf
cmp ecx, dword [esp + 0x40]
jl 0x7089b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x708b85
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x708910
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x708910
cmp dword [eax + 0x28], ebp
jne 0x7092c2
cmp dword [esp + 0x134], 0
je 0x708fb0
lea ecx, [ecx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x708c16
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x708eb0
cmp edi, dword [esp + 0x6c]
jge 0x708eb0
cmp ecx, dword [esp + 0x40]
jge 0x708eb0
test esi, esi
jle 0x708eb0
cmp edx, dword [esp + 0x100]
jae 0x708e8b
cmp eax, dword [esp + 0xbc]
jae 0x708e8b
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
not al
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
movzx eax, al
movzx ebx, byte [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
sub ebx, dword [esp + 0x4c]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
cmp byte [edx + 3], 0xff
jne 0x708dca
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
mov dl, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
jmp 0x708e83
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
movzx edx, byte [edx + 3]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
sub ebx, dword [esp + 0x60]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x708eb0
cmp ecx, dword [esp + 0x40]
jl 0x708c91
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x708f56
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x708bf0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x708bf0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x708fd6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x7091cb
cmp edi, dword [esp + 0x6c]
jge 0x7091cb
cmp ecx, dword [esp + 0x40]
jge 0x7091cb
test esi, esi
jle 0x7091cb
nop
cmp edx, dword [esp + 0x100]
jae 0x7091a2
cmp ebx, dword [esp + 0xbc]
jae 0x7091a2
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
not al
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
movzx eax, byte [edx + 3]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 1], bl
movzx eax, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 2]
movzx edx, byte [edx + 3]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
sub ebx, dword [esp + 0x60]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
mov eax, dword [esp + 0x60]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x1c]
shl eax, 0x18
add ebx, eax
sar ebx, 0x18
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x7091cb
cmp ecx, dword [esp + 0x40]
jl 0x709050
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x709271
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x708fb0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x708fb0
cmp dword [esp + 0x134], 0
je 0x7095d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7092f6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x7094d8
cmp edi, dword [esp + 0x6c]
jge 0x7094d8
cmp ecx, dword [esp + 0x40]
jge 0x7094d8
test esi, esi
jle 0x7094d8
cmp edx, dword [esp + 0x100]
jae 0x7094af
cmp eax, dword [esp + 0xbc]
jae 0x7094af
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov dword [esp + 0x2c], ebx
je 0x7094ab
movzx eax, byte [ebp]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp], bl
movzx eax, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
not al
movzx eax, al
movzx ebx, byte [ebx + eax*4]
sub ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0xcc2d28]
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
sar ebx, 0x10
mov byte [ebp + 1], bl
mov dl, byte [edx + 2]
mov ebx, dword [esp + 0xa0]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x7094d8
cmp ecx, dword [esp + 0x40]
jl 0x709371
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70957e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7092d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7092d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x7095f6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov ebx, eax
imul eax, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, dword [esp + 0x48]
add ebx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jl 0x7097c4
cmp edi, dword [esp + 0x6c]
jge 0x7097c4
cmp ecx, dword [esp + 0x40]
jge 0x7097c4
test esi, esi
jle 0x7097c4
nop
cmp edx, dword [esp + 0x100]
jae 0x70979b
cmp ebx, dword [esp + 0xbc]
jae 0x70979b
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
movzx edx, byte [edx]
not dl
movzx edx, dl
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xa8]
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa4]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
movzx eax, byte [ebp + 1]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
movzx edx, byte [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
sub edx, eax
imul edx, ebx
imul edx, dword [0xb160b8]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
je 0x7097c4
cmp ecx, dword [esp + 0x40]
jl 0x709670
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70986a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7095d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7095d0
cmp edx, 0xffffff
jne 0x70a391
cmp dword [eax + 0x28], ebp
jne 0x709e7a
cmp dword [esp + 0x134], 0
je 0x709be0
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x709906
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x709ae1
cmp edi, dword [esp + 0x6c]
jge 0x709ae1
cmp ecx, dword [esp + 0x40]
jge 0x709ae1
test esi, esi
jle 0x709ae1
nop
cmp ebx, dword [esp + 0x100]
jae 0x709abc
cmp eax, dword [esp + 0xbc]
jae 0x709abc
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
not bl
movzx ebx, bl
sub ebx, edx
cmp byte [eax + 3], 0xff
jne 0x709a3b
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
not bl
movzx ebx, bl
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
mov al, byte [eax + 2]
movzx edx, byte [ebp + 2]
not al
movzx eax, al
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x709ab4
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx ebx, byte [eax + 2]
movzx edx, byte [ebp + 2]
movzx eax, byte [eax + 3]
not bl
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x709ae1
cmp ecx, dword [esp + 0x40]
jl 0x709980
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x709b87
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7098e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7098e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x709c06
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x709d83
cmp edi, dword [esp + 0x6c]
jge 0x709d83
cmp ecx, dword [esp + 0x40]
jge 0x709d83
test esi, esi
jle 0x709d83
nop
cmp ebx, dword [esp + 0x100]
jae 0x709d5e
cmp eax, dword [esp + 0xbc]
jae 0x709d5e
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebx, byte [edx + eax*4]
not bl
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx ebx, byte [eax + 1]
movzx edx, byte [ebp + 1]
not bl
movzx ebx, bl
sub ebx, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx ebx, byte [eax + 2]
movzx edx, byte [ebp + 2]
movzx eax, byte [eax + 3]
not bl
movzx ebx, bl
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x709d83
cmp ecx, dword [esp + 0x40]
jl 0x709c80
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x709e29
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x709be0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x709be0
cmp dword [esp + 0x134], 0
je 0x70a120
jmp 0x709e90
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x709ebd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x70a020
cmp edi, dword [esp + 0x6c]
jge 0x70a020
cmp ecx, dword [esp + 0x40]
jge 0x70a020
test esi, esi
jle 0x70a020
mov ebp, dword [esp + 0x10]
cmp ebx, dword [esp + 0x100]
jae 0x709ffb
cmp eax, dword [esp + 0xbc]
jae 0x709ffb
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea edx, [ebp + eax*4]
mov eax, dword [esp + 0x58]
cmp dword [edx], eax
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
je 0x709ff7
movzx edx, byte [edx]
movzx eax, byte [ebp]
not dl
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 1]
movzx eax, byte [ebp + 1]
not dl
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 1], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + 2]
movzx eax, byte [ebp + 2]
not dl
movzx edx, dl
sub edx, eax
imul edx, dword [0xb160b8]
shl eax, 8
add edx, eax
sar edx, 8
mov byte [ebp + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x70a020
cmp ecx, dword [esp + 0x40]
jl 0x709f30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70a0c6
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x709e90
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x709e90
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x70a145
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70a29a
cmp edi, dword [esp + 0x6c]
jge 0x70a29a
cmp ecx, dword [esp + 0x40]
jge 0x70a29a
test esi, esi
jle 0x70a29a
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x70a275
cmp eax, dword [esp + 0xbc]
jae 0x70a275
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
movzx ebp, byte [ebx]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [eax]
not dl
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
movzx edx, byte [eax + 1]
movzx ebp, byte [ebx + 1]
not dl
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx + 1], dl
mov al, byte [eax + 2]
movzx ebp, byte [ebx + 2]
not al
movzx edx, al
mov eax, dword [esp + 0x14]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
mov ebp, dword [esp + 0x1c]
sar edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70a29a
cmp ecx, dword [esp + 0x40]
jl 0x70a1c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70a340
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70a120
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70a120
cmp dword [eax + 0x28], ebp
jne 0x70a9c6
cmp dword [esp + 0x134], 0
je 0x70a700
jmp 0x70a3b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x70a3d6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70a606
cmp edi, dword [esp + 0x6c]
jge 0x70a606
cmp ecx, dword [esp + 0x40]
jge 0x70a606
test esi, esi
jle 0x70a606
nop
cmp ebx, dword [esp + 0x100]
jae 0x70a5e1
cmp eax, dword [esp + 0xbc]
jae 0x70a5e1
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
cmp byte [edx + eax*4 + 3], 0xff
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
jne 0x70a540
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x4c]
sub ebx, edx
imul ebx, dword [0xb160b8]
shl edx, 8
add ebx, edx
sar ebx, 8
mov byte [ebp + 1], bl
mov al, byte [eax + 2]
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
not al
movzx eax, al
movzx eax, byte [ebx + eax*4]
sub eax, edx
imul eax, dword [0xb160b8]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ebp + 2], al
jmp 0x70a5d9
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x60]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70a606
cmp ecx, dword [esp + 0x40]
jl 0x70a450
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70a6ac
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70a3b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70a3b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x70a726
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70a8cf
cmp edi, dword [esp + 0x6c]
jge 0x70a8cf
cmp ecx, dword [esp + 0x40]
jge 0x70a8cf
test esi, esi
jle 0x70a8cf
nop
cmp ebx, dword [esp + 0x100]
jae 0x70a8aa
cmp eax, dword [esp + 0xbc]
jae 0x70a8aa
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0xa8]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, byte [ebp]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp], bl
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 1]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
sub ebx, dword [esp + 0x4c]
movzx edx, byte [eax + 3]
imul ebx, edx
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x4c]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 1], bl
movzx edx, byte [ebp + 2]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
not dl
movzx edx, dl
movzx ebx, byte [ebx + edx*4]
mov edx, dword [esp + 0x60]
sub ebx, edx
imul ebx, eax
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x14]
shl edx, 0x10
add ebx, edx
sar ebx, 0x10
mov byte [ebp + 2], bl
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70a8cf
cmp ecx, dword [esp + 0x40]
jl 0x70a7a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70a975
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70a700
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70a700
cmp dword [esp + 0x134], 0
je 0x70ac82
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70aa01
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x70ab8b
cmp edi, dword [esp + 0x6c]
jge 0x70ab8b
cmp ecx, dword [esp + 0x40]
jge 0x70ab8b
test esi, esi
jle 0x70ab8b
cmp ebx, dword [esp + 0x100]
jae 0x70ab68
cmp eax, dword [esp + 0xbc]
jae 0x70ab68
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
sar eax, 0x12
cmp dword [ebp + eax*4], edx
lea eax, [ebp + eax*4]
mov dword [esp + 0x5c], eax
je 0x70ab64
movzx eax, byte [eax]
mov edx, dword [esp + 0x10]
movzx ebp, byte [edx]
not al
movzx edx, al
mov eax, dword [esp + 0xa8]
movzx edx, byte [eax + edx*4]
sub edx, ebp
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x5c]
shl ebp, 8
add edx, ebp
mov ebp, dword [esp + 0x10]
sar edx, 8
mov byte [ebp], dl
mov dl, byte [eax + 1]
movzx ebp, byte [ebp + 1]
not dl
movzx eax, dl
mov edx, dword [esp + 0xa4]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
mov ebp, dword [esp + 0x10]
sar eax, 8
mov byte [ebp + 1], al
movzx eax, byte [edx + 2]
movzx ebp, byte [ebp + 2]
not al
movzx edx, al
mov eax, dword [esp + 0xa0]
movzx edx, byte [eax + edx*4]
mov eax, dword [esp + 0x10]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [eax + 2], dl
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x70ab8b
cmp ecx, dword [esp + 0x40]
jl 0x70aa70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70ac31
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70a9d4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70a9d4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jge 0x70aca7
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*4]
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70ae27
cmp edi, dword [esp + 0x6c]
jge 0x70ae27
cmp ecx, dword [esp + 0x40]
jge 0x70ae27
test esi, esi
jle 0x70ae27
cmp ebp, dword [esp + 0x100]
jae 0x70ae02
cmp eax, dword [esp + 0xbc]
jae 0x70ae02
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
movzx ebp, byte [ebx]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dword [esp + 0x5c], eax
movzx eax, byte [eax]
not al
movzx edx, al
mov eax, dword [esp + 0xa8]
movzx edx, byte [eax + edx*4]
sub edx, ebp
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x5c]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [ebx], dl
mov dl, byte [eax + 1]
movzx ebp, byte [ebx + 1]
not dl
movzx eax, dl
mov edx, dword [esp + 0xa4]
movzx eax, byte [edx + eax*4]
mov edx, dword [esp + 0x5c]
sub eax, ebp
imul eax, dword [0xb160b8]
shl ebp, 8
add eax, ebp
sar eax, 8
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
movzx ebp, byte [ebx + 2]
not al
movzx edx, al
mov eax, dword [esp + 0xa0]
movzx edx, byte [eax + edx*4]
mov eax, dword [esp + 0x14]
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
mov ebp, dword [esp + 0x1c]
sar edx, 8
mov byte [ebx + 2], dl
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70ae27
cmp ecx, dword [esp + 0x40]
jl 0x70ad20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70aecd
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70ac82
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70ac82
cmp dword [eax + 0x20], 1
jne 0x715003
mov eax, dword [0xb160b4]
cmp eax, 0xb
ja case.0x72b8e0.5
jmp dword [eax*4 + 0x72c6ec]
mov eax, dword [0xb160b8]
cmp eax, 0xff
jne 0x70c49b
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x70bb9b
cmp eax, 0xffffff
jne 0x70b53e
cmp dword [esp + 0x134], 0
je 0x70b264
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70afad
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70b16d
cmp edi, dword [esp + 0x6c]
jge 0x70b16d
cmp ecx, dword [esp + 0x40]
jge 0x70b16d
test esi, esi
jle 0x70b16d
cmp ebp, dword [esp + 0x100]
jae 0x70b142
cmp eax, dword [esp + 0xbc]
jae 0x70b142
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
sar ebx, 0x12
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx]
cmp ebx, dword [esp + 0x58]
je 0x70b142
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov eax, edx
shl eax, 8
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x54]
movzx eax, word [eax + ebx*2]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov dword [esp + 0x2c], ebx
mov ebp, edx
and ebp, 0xf800
mov ebx, eax
and ebx, 0xf800
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x60]
and ebp, 0xfff80000
add ebx, ebp
mov ebp, eax
mov dword [esp + 0x50], edx
and edx, 0x7e0
and ebp, 0x7e0
sub ebp, edx
imul ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0xffffe000
add ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
shr ebx, 8
shr ebp, 8
and edx, 0x1f00
and ebp, 0x7e0
add eax, edx
and ebx, 0xf800
or ebx, ebp
mov ebp, dword [esp + 0x1c]
shr eax, 8
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70b16d
cmp ecx, dword [esp + 0x40]
jl 0x70b020
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70b213
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70af80
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70af80
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70b291
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70b447
cmp edi, dword [esp + 0x6c]
jge 0x70b447
cmp ecx, dword [esp + 0x40]
jge 0x70b447
test esi, esi
jle 0x70b447
jmp 0x70b310
cmp ebp, dword [esp + 0x100]
jae 0x70b420
cmp eax, dword [esp + 0xbc]
jae 0x70b420
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
mov eax, dword [esp + 0x10]
movzx ebp, word [eax]
add ebx, dword [esp + 0xac]
mov eax, ebp
shl eax, 8
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
mov ebx, eax
and ebx, 0xf800
mov edx, ebp
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0xfff80000
add ebx, edx
mov edx, eax
and edx, 0x7e0
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
sub edx, ebp
imul edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x60]
and ebp, 0xffffe000
add edx, ebp
shr edx, 8
and edx, 0x7e0
shr ebx, 8
mov ebp, dword [esp + 0x1c]
and ebx, 0xf800
or ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0x1f00
add eax, edx
shr eax, 8
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70b447
cmp ecx, dword [esp + 0x40]
jl 0x70b310
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70b4ed
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70b264
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70b264
cmp dword [esp + 0x134], 0
je 0x70b880
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x70b57d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70b783
cmp edi, dword [esp + 0x6c]
jge 0x70b783
cmp ecx, dword [esp + 0x40]
jge 0x70b783
test esi, esi
jle 0x70b783
jmp 0x70b600
cmp edx, dword [esp + 0x100]
jae 0x70b756
cmp eax, dword [esp + 0xbc]
jae 0x70b756
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70b752
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx ebx, dx
movzx edx, byte [ebp]
mov dl, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov byte [esp + 0xdc], dl
movzx edx, dl
mov dword [esp + 0x2c], edx
mov edx, ebx
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebx
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x50]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov bx, word [esp + 0x5c]
mov dword [esp + 0x4c], eax
shr eax, 0xb
and edx, 0xffffffe0
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0xa0]
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
and edx, 0x7e0
and bp, 0xf800
shr ebx, 8
or dx, bp
or dx, bx
mov ebx, dword [esp + 0x10]
mov word [ebx], dx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x70b783
cmp ecx, dword [esp + 0x40]
jl 0x70b600
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70b829
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70b550
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70b550
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x70b8ae
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70baa4
cmp edi, dword [esp + 0x6c]
jge 0x70baa4
cmp ecx, dword [esp + 0x40]
jge 0x70baa4
test esi, esi
jle 0x70baa4
jmp 0x70b930
cmp ebx, dword [esp + 0x100]
jae 0x70ba7b
cmp eax, dword [esp + 0xbc]
jae 0x70ba7b
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
add ebx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, word [ebp]
mov dword [esp + 0x5c], edx
movzx ebp, dx
movzx edx, byte [ebx]
mov dl, byte [edx + 0xcc2d28]
mov ebx, dword [esp + 0xa4]
mov byte [esp + 0xdc], dl
movzx edx, dl
mov dword [esp + 0x2c], edx
mov edx, ebp
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebp
shr ebp, 5
shr edx, 5
and ebp, 0x3f
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x50]
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x4c], eax
shr eax, 0xb
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
and edx, 0xffffffe0
lea edx, [ebx + edx*8]
mov bx, word [esp + 0x5c]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x14]
and bp, 0xf800
and edx, 0x7e0
or dx, bp
mov ebp, dword [esp + 0x10]
shr ebx, 8
or dx, bx
mov ebx, dword [esp + 0x1c]
mov word [ebp], dx
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x70baa4
cmp ecx, dword [esp + 0x40]
jl 0x70b930
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70bb4a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70b880
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70b880
cmp eax, 0xffffff
jne 0x70bfca
cmp dword [esp + 0x134], 0
je 0x70bdc1
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70bbe1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x70bcca
cmp edi, dword [esp + 0x6c]
jge 0x70bcca
cmp ecx, dword [esp + 0x40]
jge 0x70bcca
test esi, esi
jle 0x70bcca
cmp ebx, dword [esp + 0x100]
jae 0x70bcab
cmp eax, dword [esp + 0xbc]
jae 0x70bcab
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add eax, ebp
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70bca7
mov edx, dword [esp + 0x54]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x70bcca
cmp ecx, dword [esp + 0x40]
jl 0x70bc50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70bd70
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70bbb4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70bbb4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70bdee
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x70bed3
cmp edi, dword [esp + 0x6c]
jge 0x70bed3
cmp ecx, dword [esp + 0x40]
jge 0x70bed3
test esi, esi
jle 0x70bed3
lea ecx, [ecx]
cmp ebx, dword [esp + 0x100]
jae 0x70beb4
cmp eax, dword [esp + 0xbc]
jae 0x70beb4
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add ebp, dword [esp + 0x90]
movzx edx, byte [eax + ebp]
mov eax, dword [esp + 0x54]
mov dx, word [eax + edx*2]
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x70bed3
cmp ecx, dword [esp + 0x40]
jl 0x70be60
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70bf79
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70bdc1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70bdc1
cmp dword [esp + 0x134], 0
je 0x70c240
jmp 0x70bfe0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70c00d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70c149
cmp edi, dword [esp + 0x6c]
jge 0x70c149
cmp ecx, dword [esp + 0x40]
jge 0x70c149
test esi, esi
jle 0x70c149
cmp ebx, dword [esp + 0x100]
jae 0x70c122
cmp eax, dword [esp + 0xbc]
jae 0x70c122
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add eax, ebp
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70c11e
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
shr ebx, 0xb
mov bx, word [ebp + ebx*4]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
shl bx, 6
and edx, 0x3f
or bx, word [ebp + edx*4]
mov edx, dword [esp + 0xa8]
shl bx, 5
and eax, 0x1f
or bx, word [edx + eax*4]
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70c149
cmp ecx, dword [esp + 0x40]
jl 0x70c080
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70c1ef
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70bfe0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70bfe0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70c26d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70c3a4
cmp edi, dword [esp + 0x6c]
jge 0x70c3a4
cmp ecx, dword [esp + 0x40]
jge 0x70c3a4
test esi, esi
jle 0x70c3a4
cmp ebx, dword [esp + 0x100]
jae 0x70c37d
cmp eax, dword [esp + 0xbc]
jae 0x70c37d
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
movzx edx, byte [eax + ebp]
add eax, ebp
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
shr ebx, 0xb
mov bx, word [ebp + ebx*4]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
shl bx, 6
and edx, 0x3f
or bx, word [ebp + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
shl bx, 5
or bx, word [edx + eax*4]
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70c3a4
cmp ecx, dword [esp + 0x40]
jl 0x70c2e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70c44a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70c240
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70c240
test eax, eax
je case.0x72b8e0.5
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x70d0fc
cmp eax, 0xffffff
jne 0x70caaa
cmp dword [esp + 0x134], 0
je 0x70c7d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70c501
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70c6d1
cmp edi, dword [esp + 0x6c]
jge 0x70c6d1
cmp ecx, dword [esp + 0x40]
jge 0x70c6d1
test esi, esi
jle 0x70c6d1
jmp 0x70c580
cmp ebp, dword [esp + 0x100]
jae 0x70c6a6
cmp eax, dword [esp + 0xbc]
jae 0x70c6a6
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70c6a6
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
mov ebp, edx
and ebp, 0xf800
and ebx, 0xf800
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, edx
and ebp, 0xfffff800
shl ebp, 0x10
add ebx, ebp
mov ebp, eax
and ebp, 0x7e0
mov dword [esp + 0x50], edx
and edx, 0x7e0
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xffffffe0
shl edx, 0x10
add ebp, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebx, 0x10
shr ebp, 0x10
shl edx, 0x10
and ebp, 0x7e0
add eax, edx
and ebx, 0xf800
or ebx, ebp
mov ebp, dword [esp + 0x1c]
shr eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70c6d1
cmp ecx, dword [esp + 0x40]
jl 0x70c580
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70c777
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70c4d4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70c4d4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70c7fd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70c9b3
cmp edi, dword [esp + 0x6c]
jge 0x70c9b3
cmp ecx, dword [esp + 0x40]
jge 0x70c9b3
test esi, esi
jle 0x70c9b3
cmp ebp, dword [esp + 0x100]
jae 0x70c98c
cmp eax, dword [esp + 0xbc]
jae 0x70c98c
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
add edx, dword [esp + 0x90]
movzx ebx, byte [ebx]
movzx edx, byte [edx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
mov ebp, edx
and ebp, 0xf800
and ebx, 0xf800
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, edx
and ebp, 0xfffff800
shl ebp, 0x10
add ebx, ebp
mov ebp, eax
and ebp, 0x7e0
mov dword [esp + 0x50], edx
and edx, 0x7e0
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xffffffe0
and eax, 0x1f
shl edx, 0x10
add ebp, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebx, 0x10
shr ebp, 0x10
shl edx, 0x10
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
shr eax, 0x10
or ebx, ebp
mov ebp, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70c9b3
cmp ecx, dword [esp + 0x40]
jl 0x70c870
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70ca59
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70c7d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70c7d0
cmp dword [esp + 0x134], 0
je 0x70cde0
jmp 0x70cac0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x70caed
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70cce1
cmp edi, dword [esp + 0x6c]
jge 0x70cce1
cmp ecx, dword [esp + 0x40]
jge 0x70cce1
test esi, esi
jle 0x70cce1
jmp 0x70cb70
cmp edx, dword [esp + 0x100]
jae 0x70ccb4
cmp eax, dword [esp + 0xbc]
jae 0x70ccb4
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70ccb0
mov edx, dword [esp + 0x54]
movzx edx, word [edx + eax*2]
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x4c]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x70cce1
cmp ecx, dword [esp + 0x40]
jl 0x70cb70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70cd87
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70cac0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70cac0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x70ce0e
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70d005
cmp edi, dword [esp + 0x6c]
jge 0x70d005
cmp ecx, dword [esp + 0x40]
jge 0x70d005
test esi, esi
jle 0x70d005
jmp 0x70ce90
cmp ebx, dword [esp + 0x100]
jae 0x70cfdc
cmp eax, dword [esp + 0xbc]
jae 0x70cfdc
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
add edx, dword [esp + 0x90]
mov eax, dword [esp + 0x54]
movzx edx, byte [edx]
movzx edx, word [eax + edx*2]
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edx
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0xb
add edx, ebx
mov ebx, dword [esp + 0x4c]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shr edx, 0xb
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 5
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0x10]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x10
and ebx, 0x1f
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebp], ax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x70d005
cmp ecx, dword [esp + 0x40]
jl 0x70ce90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70d0ab
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70cde0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70cde0
cmp eax, 0xffffff
jne 0x70d6a1
cmp dword [esp + 0x134], 0
je 0x70d3e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70d142
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70d2e2
cmp edi, dword [esp + 0x6c]
jge 0x70d2e2
cmp ecx, dword [esp + 0x40]
jge 0x70d2e2
test esi, esi
jle 0x70d2e2
cmp ebx, dword [esp + 0x100]
jae 0x70d2b7
cmp eax, dword [esp + 0xbc]
jae 0x70d2b7
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70d2b3
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 5
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x4c]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70d2e2
cmp ecx, dword [esp + 0x40]
jl 0x70d1c1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70d38b
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70d115
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70d115
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70d40d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70d5a7
cmp edi, dword [esp + 0x6c]
jge 0x70d5a7
cmp ecx, dword [esp + 0x40]
jge 0x70d5a7
test esi, esi
jle 0x70d5a7
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x70d580
cmp eax, dword [esp + 0xbc]
jae 0x70d580
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr ebx, 5
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x4c]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70d5a7
cmp ecx, dword [esp + 0x40]
jl 0x70d490
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70d650
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70d3e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70d3e0
cmp dword [esp + 0x134], 0
je 0x70d9a0
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70d6dd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70d89d
cmp edi, dword [esp + 0x6c]
jge 0x70d89d
cmp ecx, dword [esp + 0x40]
jge 0x70d89d
test esi, esi
jle 0x70d89d
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x70d872
cmp eax, dword [esp + 0xbc]
jae 0x70d872
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70d86e
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x4c], eax
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
shr ebx, 0xb
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x4c]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70d89d
cmp ecx, dword [esp + 0x40]
jl 0x70d760
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70d946
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70d6b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70d6b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70d9cd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x70db83
cmp edi, dword [esp + 0x6c]
jge 0x70db83
cmp ecx, dword [esp + 0x40]
jge 0x70db83
test esi, esi
jle 0x70db83
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x70db5c
cmp eax, dword [esp + 0xbc]
jae 0x70db5c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], edx
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
shr ebx, 0xb
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x4c]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x70db83
cmp ecx, dword [esp + 0x40]
jl 0x70da50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70dc2c
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x70d9a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70d9a0
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x70e876
cmp eax, 0xffffff
jne 0x70e26e
cmp dword [esp + 0x134], 0
je 0x70dfa0
jmp 0x70dcc0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70dced
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x70dea2
cmp edi, dword [esp + 0x6c]
jge 0x70dea2
cmp ecx, dword [esp + 0x40]
jge 0x70dea2
test esi, esi
jle 0x70dea2
lea esp, [esp]
cmp eax, dword [esp + 0x100]
jae 0x70de77
cmp ebp, dword [esp + 0xbc]
jae 0x70de77
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70de73
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
mov dword [esp + 0x4c], eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
movzx ebp, bp
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x70dea2
cmp ecx, dword [esp + 0x40]
jl 0x70dd70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70df4b
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70dcc0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70dcc0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70dfcd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70e174
cmp edi, dword [esp + 0x6c]
jge 0x70e174
cmp ecx, dword [esp + 0x40]
jge 0x70e174
test esi, esi
jle 0x70e174
lea esp, [esp]
cmp edx, dword [esp + 0x100]
jae 0x70e14d
cmp eax, dword [esp + 0xbc]
jae 0x70e14d
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
add ebp, dword [esp + 0xac]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
mov dword [esp + 0x4c], eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
movzx ebp, bp
movzx eax, dx
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x70e174
cmp ecx, dword [esp + 0x40]
jl 0x70e050
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70e21d
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70dfa0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70dfa0
cmp dword [esp + 0x134], 0
je 0x70e584
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70e2ad
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x70e48a
cmp edi, dword [esp + 0x6c]
jge 0x70e48a
cmp ecx, dword [esp + 0x40]
jge 0x70e48a
test esi, esi
jle 0x70e48a
lea esp, [esp]
cmp eax, dword [esp + 0x100]
jae 0x70e45f
cmp ebp, dword [esp + 0xbc]
jae 0x70e45f
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70e45b
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
mov dword [esp + 0x4c], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x70e48a
cmp ecx, dword [esp + 0x40]
jl 0x70e330
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70e533
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70e280
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70e280
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70e5b1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70e77c
cmp edi, dword [esp + 0x6c]
jge 0x70e77c
cmp ecx, dword [esp + 0x40]
jge 0x70e77c
test esi, esi
jle 0x70e77c
cmp edx, dword [esp + 0x100]
jae 0x70e755
cmp eax, dword [esp + 0xbc]
jae 0x70e755
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx edx, byte [edx]
add ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
mov dword [esp + 0x4c], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x70e77c
cmp ecx, dword [esp + 0x40]
jl 0x70e630
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70e825
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70e584
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70e584
cmp eax, 0xffffff
jne 0x70edca
cmp dword [esp + 0x134], 0
je 0x70eb34
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70e8bd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x70ea3a
cmp edi, dword [esp + 0x6c]
jge 0x70ea3a
cmp ecx, dword [esp + 0x40]
jge 0x70ea3a
test esi, esi
jle 0x70ea3a
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x70ea13
cmp eax, dword [esp + 0xbc]
jae 0x70ea13
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70ea0b
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70ea3a
cmp ecx, dword [esp + 0x40]
jl 0x70e940
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70eae3
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70e890
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70e890
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70eb61
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70ecd0
cmp edi, dword [esp + 0x6c]
jge 0x70ecd0
cmp ecx, dword [esp + 0x40]
jge 0x70ecd0
test esi, esi
jle 0x70ecd0
cmp ebp, dword [esp + 0x100]
jae 0x70eca9
cmp eax, dword [esp + 0xbc]
jae 0x70eca9
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, eax
mov ebp, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
shr ebp, 5
shl dx, 6
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70ecd0
cmp ecx, dword [esp + 0x40]
jl 0x70ebe0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70ed79
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70eb34
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70eb34
cmp dword [esp + 0x134], 0
je 0x70f0b0
jmp 0x70ede0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70ee0d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x70efb0
cmp edi, dword [esp + 0x6c]
jge 0x70efb0
cmp ecx, dword [esp + 0x40]
jge 0x70efb0
test esi, esi
jle 0x70efb0
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x70ef89
cmp eax, dword [esp + 0xbc]
jae 0x70ef89
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x70ef81
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
mov dword [esp + 0x4c], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70efb0
cmp ecx, dword [esp + 0x40]
jl 0x70ee90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70f059
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70ede0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70ede0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70f0dd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x70f276
cmp edi, dword [esp + 0x6c]
jge 0x70f276
cmp ecx, dword [esp + 0x40]
jge 0x70f276
test esi, esi
jle 0x70f276
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x70f24f
cmp eax, dword [esp + 0xbc]
jae 0x70f24f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xa4]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, eax
mov dword [esp + 0x4c], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x70f276
cmp ecx, dword [esp + 0x40]
jl 0x70f160
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70f31f
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70f0b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70f0b0
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x70feff
cmp eax, 0xffffff
jne 0x70f918
cmp dword [esp + 0x134], 0
je 0x70f665
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70f3ce
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x70f56b
cmp edi, dword [esp + 0x6c]
jge 0x70f56b
cmp ecx, dword [esp + 0x40]
jge 0x70f56b
test esi, esi
jle 0x70f56b
lea ecx, [ecx]
cmp eax, dword [esp + 0x100]
jae 0x70f540
cmp ebp, dword [esp + 0xbc]
jae 0x70f540
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70f53c
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
mov dword [esp + 0x4c], eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x70f56b
cmp ecx, dword [esp + 0x40]
jl 0x70f450
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70f614
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70f3a1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70f3a1
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70f692
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70f81e
cmp edi, dword [esp + 0x6c]
jge 0x70f81e
cmp ecx, dword [esp + 0x40]
jge 0x70f81e
test esi, esi
jle 0x70f81e
cmp edx, dword [esp + 0x100]
jae 0x70f7f7
cmp eax, dword [esp + 0xbc]
jae 0x70f7f7
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
add ebp, dword [esp + 0xac]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
mov dword [esp + 0x4c], eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x70f81e
cmp ecx, dword [esp + 0x40]
jl 0x70f711
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70f8c7
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70f665
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70f665
cmp dword [esp + 0x134], 0
je 0x70fc20
jmp 0x70f930
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70f95d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x70fb23
cmp edi, dword [esp + 0x6c]
jge 0x70fb23
cmp ecx, dword [esp + 0x40]
jge 0x70fb23
test esi, esi
jle 0x70fb23
lea esp, [esp]
cmp eax, dword [esp + 0x100]
jae 0x70faf8
cmp ebp, dword [esp + 0xbc]
jae 0x70faf8
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x70faf4
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
mov dword [esp + 0x4c], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x70fb23
cmp ecx, dword [esp + 0x40]
jl 0x70f9e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70fbcc
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70f930
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70f930
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70fc4d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x70fe05
cmp edi, dword [esp + 0x6c]
jge 0x70fe05
cmp ecx, dword [esp + 0x40]
jge 0x70fe05
test esi, esi
jle 0x70fe05
lea esp, [esp]
cmp edx, dword [esp + 0x100]
jae 0x70fdde
cmp eax, dword [esp + 0xbc]
jae 0x70fdde
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx edx, byte [edx]
add ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
mov dword [esp + 0x4c], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shr edx, 8
and eax, 0x1f
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x70fe05
cmp ecx, dword [esp + 0x40]
jl 0x70fcd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x70feae
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70fc20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70fc20
cmp eax, 0xffffff
jne 0x710433
cmp dword [esp + 0x134], 0
je 0x7101b0
jmp 0x70ff20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x70ff4d
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x7100af
cmp edi, dword [esp + 0x6c]
jge 0x7100af
cmp ecx, dword [esp + 0x40]
jge 0x7100af
test esi, esi
jle 0x7100af
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x710088
cmp eax, dword [esp + 0xbc]
jae 0x710088
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x710080
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7100af
cmp ecx, dword [esp + 0x40]
jl 0x70ffd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x710158
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x70ff20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x70ff20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7101dd
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x710339
cmp edi, dword [esp + 0x6c]
jge 0x710339
cmp ecx, dword [esp + 0x40]
jge 0x710339
test esi, esi
jle 0x710339
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x710312
cmp eax, dword [esp + 0xbc]
jae 0x710312
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x710339
cmp ecx, dword [esp + 0x40]
jl 0x710260
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7103e2
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x7101b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7101b0
cmp dword [esp + 0x134], 0
je 0x7106f3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71046e
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x7105f9
cmp edi, dword [esp + 0x6c]
jge 0x7105f9
cmp ecx, dword [esp + 0x40]
jge 0x7105f9
test esi, esi
jle 0x7105f9
nop
cmp ebp, dword [esp + 0x100]
jae 0x7105d2
cmp eax, dword [esp + 0xbc]
jae 0x7105d2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x7105ca
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
mov dword [esp + 0x4c], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7105f9
cmp ecx, dword [esp + 0x40]
jl 0x7104f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7106a2
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x710441
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x710441
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x710720
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71089f
cmp edi, dword [esp + 0x6c]
jge 0x71089f
cmp ecx, dword [esp + 0x40]
jge 0x71089f
test esi, esi
jle 0x71089f
nop
cmp ebp, dword [esp + 0x100]
jae 0x710878
cmp eax, dword [esp + 0xbc]
jae 0x710878
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xa4]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, eax
shr edx, 5
mov dword [esp + 0x4c], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71089f
cmp ecx, dword [esp + 0x40]
jl 0x7107a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x710948
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x7106f3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7106f3
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x7114ea
cmp eax, 0xffffff
jne 0x710f20
cmp dword [esp + 0x134], 0
je 0x710c80
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7109fd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x710b87
cmp edi, dword [esp + 0x6c]
jge 0x710b87
cmp ecx, dword [esp + 0x40]
jge 0x710b87
test esi, esi
jle 0x710b87
cmp ebp, dword [esp + 0x100]
jae 0x710b5c
cmp eax, dword [esp + 0xbc]
jae 0x710b5c
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x710b5c
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, edx
mov ebp, eax
shr ebp, 5
shr ebx, 5
and ebp, 0x3f
and ebx, 0x3f
imul ebp, ebx
imul ebp, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 0xb
shr ebx, 0xb
imul ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x2c]
imul edx, ebx
sar ebp, 9
sar edx, 2
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
imul eax, ebx
sar eax, 0xd
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x710b87
cmp ecx, dword [esp + 0x40]
jl 0x710a70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x710c2d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7109d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7109d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x710cad
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x710e29
cmp edi, dword [esp + 0x6c]
jge 0x710e29
cmp ecx, dword [esp + 0x40]
jge 0x710e29
test esi, esi
jle 0x710e29
cmp ebp, dword [esp + 0x100]
jae 0x710e02
cmp eax, dword [esp + 0xbc]
jae 0x710e02
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
add ebx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, edx
mov ebp, eax
shr ebp, 5
shr ebx, 5
and ebp, 0x3f
and ebx, 0x3f
imul ebp, ebx
imul ebp, dword [esp + 0x2c]
mov ebx, eax
mov dword [esp + 0x50], edx
shr edx, 0xb
shr ebx, 0xb
imul ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x2c]
imul edx, ebx
sar ebp, 9
sar edx, 2
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
imul eax, ebx
sar eax, 0xd
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x710e29
cmp ecx, dword [esp + 0x40]
jl 0x710d20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x710ecf
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x710c80
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x710c80
cmp dword [esp + 0x134], 0
je 0x711210
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x710f5d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x711118
cmp edi, dword [esp + 0x6c]
jge 0x711118
cmp ecx, dword [esp + 0x40]
jge 0x711118
test esi, esi
jle 0x711118
jmp 0x710fe0
cmp edx, dword [esp + 0x100]
jae 0x7110eb
cmp eax, dword [esp + 0xbc]
jae 0x7110eb
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x7110e7
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, word [ebx]
mov dword [esp + 0x50], edx
shr edx, 5
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov edx, dword [esp + 0x50]
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa0]
shr edx, 0xb
mov dword [esp + 0x4c], eax
shr eax, 0xb
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa8]
shr edx, 2
and edx, 0xf800
shr ebp, 9
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
shr edx, 0xd
or ebp, edx
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x711118
cmp ecx, dword [esp + 0x40]
jl 0x710fe0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7111be
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x710f30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x710f30
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x71123e
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7113f3
cmp edi, dword [esp + 0x6c]
jge 0x7113f3
cmp ecx, dword [esp + 0x40]
jge 0x7113f3
test esi, esi
jle 0x7113f3
jmp 0x7112c0
cmp ebx, dword [esp + 0x100]
jae 0x7113ca
cmp eax, dword [esp + 0xbc]
jae 0x7113ca
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx edx, byte [edx]
add ebx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x50], edx
shr edx, 5
and edx, 0x3f
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul edx, dword [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
imul edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
shr ebx, 0xb
mov dword [esp + 0x4c], eax
shr eax, 0xb
imul ebx, dword [ebp + eax*4]
imul ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
shr edx, 9
and edx, 0x7e0
shr ebx, 2
and ebx, 0xf800
or edx, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
shr edx, 0xd
or ebx, edx
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7113f3
cmp ecx, dword [esp + 0x40]
jl 0x7112c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x711499
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711210
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711210
cmp eax, 0xffffff
jne 0x711a0a
cmp dword [esp + 0x134], 0
je 0x711781
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x711530
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71168a
cmp edi, dword [esp + 0x6c]
jge 0x71168a
cmp ecx, dword [esp + 0x40]
jge 0x71168a
test esi, esi
jle 0x71168a
cmp ebx, dword [esp + 0x100]
jae 0x711663
cmp eax, dword [esp + 0xbc]
jae 0x711663
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add eax, ebp
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x71165f
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, eax
and ebx, 0x7e0
mov ebp, edx
and ebp, 0x7e0
imul ebx, ebp
mov ebp, eax
mov dword [esp + 0x50], edx
and ebp, 0xf800
and edx, 0xf800
imul ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr ebx, 0xb
shr ebp, 0x10
and ebx, 0x7e0
and ebp, 0xf800
or ebx, ebp
shr eax, 5
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71168a
cmp ecx, dword [esp + 0x40]
jl 0x7115a3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x711730
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711503
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711503
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7117ae
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x711913
cmp edi, dword [esp + 0x6c]
jge 0x711913
cmp ecx, dword [esp + 0x40]
jge 0x711913
test esi, esi
jle 0x711913
mov ebp, dword [esp + 0x10]
jmp 0x711830
cmp ebx, dword [esp + 0x100]
jae 0x7118ea
cmp eax, dword [esp + 0xbc]
jae 0x7118ea
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
movzx edx, word [ebp]
mov ebx, eax
and ebx, 0x7e0
mov ebp, edx
and ebp, 0x7e0
imul ebx, ebp
mov ebp, eax
and ebp, 0xf800
mov dword [esp + 0x50], edx
and edx, 0xf800
imul ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr ebx, 0xb
shr ebp, 0x10
and ebx, 0x7e0
and ebp, 0xf800
or ebx, ebp
mov ebp, dword [esp + 0x10]
shr eax, 5
or ebx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x711913
cmp ecx, dword [esp + 0x40]
jl 0x711830
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7119b9
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711781
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711781
cmp dword [esp + 0x134], 0
je 0x711ce0
jmp 0x711a20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x711a4d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x711be2
cmp edi, dword [esp + 0x6c]
jge 0x711be2
cmp ecx, dword [esp + 0x40]
jge 0x711be2
test esi, esi
jle 0x711be2
jmp 0x711ad0
cmp ebp, dword [esp + 0x100]
jae 0x711bb9
cmp eax, dword [esp + 0xbc]
jae 0x711bb9
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x711bb1
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
shr ebx, 5
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov ebx, dword [esp + 0xa0]
mov edx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
shr eax, 5
shr edx, 0xb
and eax, 0x7c0
imul ax, word [ebx + edx*4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa8]
shr ebp, 1
and ax, 0xf800
and ebp, 0x7e0
or bp, ax
mov eax, dword [esp + 0x4c]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
mov ebx, dword [esp + 0x10]
shr edx, 5
or bp, dx
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x711be2
cmp ecx, dword [esp + 0x40]
jl 0x711ad0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x711c88
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711a20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711a20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x711d0d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x711e98
cmp edi, dword [esp + 0x6c]
jge 0x711e98
cmp ecx, dword [esp + 0x40]
jge 0x711e98
test esi, esi
jle 0x711e98
jmp 0x711d90
cmp ebp, dword [esp + 0x100]
jae 0x711e6f
cmp eax, dword [esp + 0xbc]
jae 0x711e6f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
shr ebx, 5
mov dword [esp + 0x4c], eax
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov ebx, dword [esp + 0xa0]
mov edx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
shr edx, 0xb
and eax, 0x7c0
imul ax, word [ebx + edx*4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa8]
shr ebp, 1
and ax, 0xf800
and ebp, 0x7e0
or bp, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
and edx, 0x1f
imul edx, dword [ebx + eax*4]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
shr edx, 5
or bp, dx
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x711e98
cmp ecx, dword [esp + 0x40]
jl 0x711d90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x711f3e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711ce0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711ce0
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x712c2b
cmp eax, 0xffffff
jne 0x7125c7
cmp dword [esp + 0x134], 0
je 0x7122c5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x711fed
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7121ce
cmp edi, dword [esp + 0x6c]
jge 0x7121ce
cmp ecx, dword [esp + 0x40]
jge 0x7121ce
test esi, esi
jle 0x7121ce
cmp ebp, dword [esp + 0x100]
jae 0x7121a3
cmp eax, dword [esp + 0xbc]
jae 0x7121a3
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x7121a3
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx ebp, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov edx, ebp
mov ebx, eax
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
shl ebp, 0xb
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
sar ebx, 0xb
sar ebp, 5
shl edx, 0x10
and ebp, 0xf800
add eax, edx
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0x1c]
sar eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7121ce
cmp ecx, dword [esp + 0x40]
jl 0x712060
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x712274
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x711fc0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x711fc0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7122f2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7124d0
cmp edi, dword [esp + 0x6c]
jge 0x7124d0
cmp ecx, dword [esp + 0x40]
jge 0x7124d0
test esi, esi
jle 0x7124d0
jmp 0x712370
cmp ebp, dword [esp + 0x100]
jae 0x7124a9
cmp eax, dword [esp + 0xbc]
jae 0x7124a9
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
movzx ebx, byte [ebx]
add edx, dword [esp + 0x90]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx ebp, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov edx, ebp
mov ebx, eax
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
shl ebp, 0xb
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
sar ebx, 0xb
sar ebp, 5
shl edx, 0x10
add eax, edx
and ebp, 0xf800
and ebx, 0x7e0
sar eax, 0x10
or ebx, ebp
mov ebp, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7124d0
cmp ecx, dword [esp + 0x40]
jl 0x712370
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x712576
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7122c5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7122c5
cmp dword [esp + 0x134], 0
je 0x712910
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x712602
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x712812
cmp edi, dword [esp + 0x6c]
jge 0x712812
cmp ecx, dword [esp + 0x40]
jge 0x712812
test esi, esi
jle 0x712812
jmp 0x712680
cmp ebp, dword [esp + 0x100]
jae 0x7127e7
cmp eax, dword [esp + 0xbc]
jae 0x7127e7
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x7127e7
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x54]
movzx ebp, word [edx + eax*2]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], ebp
shr ebp, 5
and ebp, 0x3f
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + ebp*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x4c]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x4c]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
mov eax, dword [esp + 0x10]
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x712812
cmp ecx, dword [esp + 0x40]
jl 0x712680
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7128b8
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7125d5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7125d5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71293d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x712b34
cmp edi, dword [esp + 0x6c]
jge 0x712b34
cmp ecx, dword [esp + 0x40]
jge 0x712b34
test esi, esi
jle 0x712b34
cmp ebp, dword [esp + 0x100]
jae 0x712b0d
cmp eax, dword [esp + 0xbc]
jae 0x712b0d
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx edx, byte [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x54]
movzx ebp, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx eax, word [edx]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], ebp
shr ebp, 5
and ebp, 0x3f
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + ebp*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x4c]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x4c]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
shr ebp, 0x10
and ebp, 0x1f
mov eax, dword [esp + 0x10]
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x712b34
cmp ecx, dword [esp + 0x40]
jl 0x7129b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x712bda
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x712910
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x712910
cmp eax, 0xffffff
jne 0x7131f9
cmp dword [esp + 0x134], 0
je 0x712f23
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x712c71
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x712e29
cmp edi, dword [esp + 0x6c]
jge 0x712e29
cmp ecx, dword [esp + 0x40]
jge 0x712e29
test esi, esi
jle 0x712e29
cmp ebx, dword [esp + 0x100]
jae 0x712dfe
cmp eax, dword [esp + 0xbc]
jae 0x712dfe
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x712dfa
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
mov dword [esp + 0x50], edx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
sar edx, 6
sub edx, ebx
mov ebx, dword [esp + 0x5c]
shr ebx, 5
mov dword [esp + 0x4c], eax
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, eax
mov eax, dword [esp + 0xdc]
shr edx, 0xb
imul edx, eax
sar edx, 5
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
or bx, dx
mov edx, dword [esp + 0x10]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x712e29
cmp ecx, dword [esp + 0x40]
jl 0x712cf0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x712ed2
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x712c44
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x712c44
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x712f50
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7130ff
cmp edi, dword [esp + 0x6c]
jge 0x7130ff
cmp ecx, dword [esp + 0x40]
jge 0x7130ff
test esi, esi
jle 0x7130ff
nop
cmp ebx, dword [esp + 0x100]
jae 0x7130d8
cmp eax, dword [esp + 0xbc]
jae 0x7130d8
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
mov dword [esp + 0x50], edx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
sar edx, 6
sub edx, ebx
mov ebx, dword [esp + 0x5c]
shr ebx, 5
mov dword [esp + 0x4c], eax
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, eax
mov eax, dword [esp + 0xdc]
shr edx, 0xb
imul edx, eax
sar edx, 5
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x14]
or bx, dx
mov edx, dword [esp + 0x10]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x7130ff
cmp ecx, dword [esp + 0x40]
jl 0x712fd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7131a8
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x712f23
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x712f23
cmp dword [esp + 0x134], 0
je 0x713520
jmp 0x713210
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71323d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71341d
cmp edi, dword [esp + 0x6c]
jge 0x71341d
cmp ecx, dword [esp + 0x40]
jge 0x71341d
test esi, esi
jle 0x71341d
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7133f2
cmp eax, dword [esp + 0xbc]
jae 0x7133f2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x7133ee
mov edx, dword [esp + 0x54]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
shr ebx, 5
and ebx, 0x3f
mov dword [esp + 0xac], ebx
mov ebx, edx
shr ebx, 0xb
and edx, 0x1f
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
shr eax, 0xb
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0xdc]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa8]
shl ax, 0xb
shl dx, 5
or dx, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71341d
cmp ecx, dword [esp + 0x40]
jl 0x7132c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7134c6
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x713210
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x713210
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71354d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x713725
cmp edi, dword [esp + 0x6c]
jge 0x713725
cmp ecx, dword [esp + 0x40]
jge 0x713725
test esi, esi
jle 0x713725
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7136fe
cmp eax, dword [esp + 0xbc]
jae 0x7136fe
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx ebx, dx
mov dword [esp + 0x5c], edx
mov edx, ebx
shr edx, 5
and edx, 0x3f
mov dword [esp + 0xac], edx
mov edx, ebx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, ebx
mov ebx, dword [esp + 0xa4]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
shr eax, 0xb
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0xdc]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa8]
shl ax, 0xb
shl dx, 5
or dx, ax
mov eax, dword [esp + 0x4c]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x713725
cmp ecx, dword [esp + 0x40]
jl 0x7135d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7137ce
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x713520
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x713520
mov eax, dword [0xb160d4]
and eax, 0xffffff
cmp dword [esp + 0x138], 0
je 0x714472
cmp eax, 0xffffff
jne 0x713e20
cmp dword [esp + 0x134], 0
je 0x713b40
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71387d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x713a47
cmp edi, dword [esp + 0x6c]
jge 0x713a47
cmp ecx, dword [esp + 0x40]
jge 0x713a47
test esi, esi
jle 0x713a47
cmp ebp, dword [esp + 0x100]
jae 0x713a1c
cmp eax, dword [esp + 0xbc]
jae 0x713a1c
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
movzx eax, byte [edx]
add ebx, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x713a1c
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x54]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
not ax
movzx eax, ax
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0xf800
and ebx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
and eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
and ebp, 0x7e0
add eax, edx
and ebx, 0xf800
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x713a47
cmp ecx, dword [esp + 0x40]
jl 0x7138f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x713aed
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x713850
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x713850
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x713b6d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x713d29
cmp edi, dword [esp + 0x6c]
jge 0x713d29
cmp ecx, dword [esp + 0x40]
jge 0x713d29
test esi, esi
jle 0x713d29
cmp ebp, dword [esp + 0x100]
jae 0x713d02
cmp eax, dword [esp + 0xbc]
jae 0x713d02
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx edx, byte [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x54]
mov dx, word [eax + edx*2]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0xf800
and ebx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
shr eax, 0x10
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x713d29
cmp ecx, dword [esp + 0x40]
jl 0x713be0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x713dcf
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x713b40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x713b40
cmp dword [esp + 0x134], 0
je 0x714150
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x713e5d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x714057
cmp edi, dword [esp + 0x6c]
jge 0x714057
cmp ecx, dword [esp + 0x40]
jge 0x714057
test esi, esi
jle 0x714057
jmp 0x713ee0
cmp edx, dword [esp + 0x100]
jae 0x71402a
cmp eax, dword [esp + 0xbc]
jae 0x71402a
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add edx, eax
add edx, dword [esp + 0x90]
add ebp, eax
movzx eax, byte [edx]
add ebp, dword [esp + 0xac]
cmp eax, dword [esp + 0x58]
je 0x714026
mov edx, dword [esp + 0x54]
mov ax, word [edx + eax*2]
not ax
movzx edx, ax
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x60], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x60]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x714057
cmp ecx, dword [esp + 0x40]
jl 0x713ee0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7140fd
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x713e30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x713e30
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x71417e
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71437b
cmp edi, dword [esp + 0x6c]
jge 0x71437b
cmp ecx, dword [esp + 0x40]
jge 0x71437b
test esi, esi
jle 0x71437b
jmp 0x714200
cmp ebx, dword [esp + 0x100]
jae 0x714352
cmp eax, dword [esp + 0xbc]
jae 0x714352
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
add edx, eax
movzx ebx, byte [ebx]
add edx, dword [esp + 0x90]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, byte [edx]
mov eax, dword [esp + 0x54]
mov dx, word [eax + edx*2]
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
not dx
movzx edx, dx
mov dword [esp + 0x60], edx
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0xb
add edx, ebx
mov ebx, dword [esp + 0x60]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shr edx, 0xb
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 5
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0x10]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x10
and ebx, 0x1f
or eax, ebx
mov word [ebp], ax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x71437b
cmp ecx, dword [esp + 0x40]
jl 0x714200
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x714421
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x714150
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x714150
cmp eax, 0xffffff
jne 0x714a27
cmp dword [esp + 0x134], 0
je 0x714761
jmp 0x714490
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7144bd
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x714667
cmp edi, dword [esp + 0x6c]
jge 0x714667
cmp ecx, dword [esp + 0x40]
jge 0x714667
test esi, esi
jle 0x714667
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x71463c
cmp eax, dword [esp + 0xbc]
jae 0x71463c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x714638
mov edx, dword [esp + 0x54]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
not ax
movzx edx, dx
movzx eax, ax
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x60], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x60]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x714667
cmp ecx, dword [esp + 0x40]
jl 0x714540
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x714710
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x714490
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x714490
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71478e
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71492d
cmp edi, dword [esp + 0x6c]
jge 0x71492d
cmp ecx, dword [esp + 0x40]
jge 0x71492d
test esi, esi
jle 0x71492d
lea ecx, [ecx]
cmp ebx, dword [esp + 0x100]
jae 0x714906
cmp eax, dword [esp + 0xbc]
jae 0x714906
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
mov dx, word [eax + edx*2]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 5
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x60], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
and eax, 0x1f
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x60]
movzx ebx, word [esp + 0xdc]
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71492d
cmp ecx, dword [esp + 0x40]
jl 0x714810
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7149d6
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x714761
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x714761
cmp dword [esp + 0x134], 0
je 0x714d20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x714a62
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x714c24
cmp edi, dword [esp + 0x6c]
jge 0x714c24
cmp ecx, dword [esp + 0x40]
jge 0x714c24
test esi, esi
jle 0x714c24
cmp ebx, dword [esp + 0x100]
jae 0x714bf9
cmp eax, dword [esp + 0xbc]
jae 0x714bf9
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x58]
je 0x714bf5
mov edx, dword [esp + 0x54]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, dword [esp + 0xa4]
not ax
movzx eax, ax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
shr ebx, 0xb
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x60]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x714c24
cmp ecx, dword [esp + 0x40]
jl 0x714ae1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x714ccd
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x714a35
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x714a35
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x714d4d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x714f09
cmp edi, dword [esp + 0x6c]
jge 0x714f09
cmp ecx, dword [esp + 0x40]
jge 0x714f09
test esi, esi
jle 0x714f09
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x714ee2
cmp eax, dword [esp + 0xbc]
jae 0x714ee2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
add eax, edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x54]
mov dx, word [eax + edx*2]
mov ebx, dword [esp + 0xa4]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
shr ebx, 0xb
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x60]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x714f09
cmp ecx, dword [esp + 0x40]
jl 0x714dd0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x714fb2
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x714d20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x714d20
mov edx, dword [0xb160b4]
cmp edx, 0xb
ja case.0x72b8e0.5
jmp dword [edx*4 + 0x72c71c]
mov edx, dword [0xb160b8]
cmp edx, 0xff
jne 0x717f7c
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x716a48
cmp edx, 0xffffff
jne 0x715cb8
cmp dword [eax + 0x28], 1
jne 0x715702
cmp dword [esp + 0x134], 0
je 0x715423
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x71509e
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71532c
cmp edi, dword [esp + 0x6c]
jge 0x71532c
cmp ecx, dword [esp + 0x40]
jge 0x71532c
test esi, esi
jle 0x71532c
jmp 0x715124
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x100]
jae 0x715303
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xbc]
jae 0x715303
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebx
imul ebx, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
add ebx, edx
add ebx, dword [esp + 0xac]
lea eax, [eax + edx*4]
mov dword [esp + 0x2c], ebx
mov bl, byte [eax + 2]
test bl, bl
je 0x715303
cmp bl, 0xff
movzx eax, word [eax]
jne 0x715248
movzx edx, word [ebp]
mov ebx, edx
shl ebx, 8
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0xf800
mov ebp, eax
and ebp, 0xf800
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x60]
and ebx, 0xfff80000
add ebp, ebx
mov dword [esp + 0x50], edx
and edx, 0x7e0
mov ebx, eax
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0xffffe000
add ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
shr ebp, 8
shr ebx, 8
and edx, 0x1f00
and ebx, 0x7e0
and ebp, 0xf800
add eax, edx
or ebp, ebx
shr eax, 8
or ebp, eax
mov dword [esp + 0x58], ebp
mov ebx, ebp
jmp 0x7152fb
movzx ebp, word [ebp]
mov edx, ebp
shl edx, 0x10
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, bl
mov dword [esp + 0x4c], edx
mov ebx, eax
and ebx, 0xf800
mov edx, ebp
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
and edx, 0xf8000000
add ebx, edx
mov edx, eax
and edx, 0x7e0
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
sub edx, ebp
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x60]
and ebp, 0xffe00000
add edx, ebp
shr edx, 0x10
and edx, 0x7e0
shr ebx, 0x10
and ebx, 0xf800
or ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
and edx, 0x1f0000
add eax, edx
shr eax, 0x10
or ebx, eax
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebp
je 0x71532c
cmp ecx, dword [esp + 0x40]
jl 0x715120
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7153d2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x715070
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x715070
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x715450
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71560b
cmp edi, dword [esp + 0x6c]
jge 0x71560b
cmp ecx, dword [esp + 0x40]
jge 0x71560b
test esi, esi
jle 0x71560b
cmp ebp, dword [esp + 0x100]
jae 0x7155e4
cmp eax, dword [esp + 0xbc]
jae 0x7155e4
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebp + 2]
mov eax, edx
shl eax, 0x10
mov dword [esp + 0x60], eax
movzx eax, word [ebp]
mov dword [esp + 0x4c], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0xf800
and ebp, 0xf800
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x60]
and ebx, 0xf8000000
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0x7e0
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
and edx, 0xffe00000
add ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
shr ebp, 0x10
shr ebx, 0x10
and edx, 0x1f0000
add eax, edx
and ebp, 0xf800
and ebx, 0x7e0
shr eax, 0x10
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71560b
cmp ecx, dword [esp + 0x40]
jl 0x7154c3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7156b1
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x715423
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x715423
cmp dword [esp + 0x134], 0
je 0x7159e5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71573d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7158ee
cmp edi, dword [esp + 0x6c]
jge 0x7158ee
cmp ecx, dword [esp + 0x40]
jge 0x7158ee
test esi, esi
jle 0x7158ee
cmp ebp, dword [esp + 0x100]
jae 0x7158c3
cmp eax, dword [esp + 0xbc]
jae 0x7158c3
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
je 0x7158c3
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebp, edx
shl ebp, 8
mov dword [esp + 0x60], ebp
mov ebx, edx
and ebx, 0xf800
mov ebp, eax
and ebp, 0xf800
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x60]
and ebx, 0xfff80000
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0x7e0
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0xffffe000
add ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
shr ebp, 8
shr ebx, 8
and edx, 0x1f00
and ebp, 0xf800
add eax, edx
and ebx, 0x7e0
or ebp, ebx
shr eax, 8
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7158ee
cmp ecx, dword [esp + 0x40]
jl 0x7157b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x715994
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x715710
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x715710
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x715a12
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x715bc1
cmp edi, dword [esp + 0x6c]
jge 0x715bc1
cmp ecx, dword [esp + 0x40]
jge 0x715bc1
test esi, esi
jle 0x715bc1
jmp 0x715a90
cmp ebp, dword [esp + 0x100]
jae 0x715b9a
cmp eax, dword [esp + 0xbc]
jae 0x715b9a
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
mov eax, edx
shl eax, 8
mov dword [esp + 0x60], eax
movzx eax, word [ebp]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0xf800
mov ebp, eax
and ebp, 0xf800
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x60]
and ebx, 0xfff80000
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0x7e0
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
and edx, 0xffffe000
add ebx, edx
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
shr ebp, 8
shr ebx, 8
and edx, 0x1f00
add eax, edx
and ebp, 0xf800
and ebx, 0x7e0
shr eax, 8
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x715bc1
cmp ecx, dword [esp + 0x40]
jl 0x715a90
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x715c67
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7159e5
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7159e5
cmp dword [eax + 0x28], 1
jne 0x7163ec
cmp dword [esp + 0x134], 0
je 0x7160d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x715cfd
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x715fd6
cmp edi, dword [esp + 0x6c]
jge 0x715fd6
cmp ecx, dword [esp + 0x40]
jge 0x715fd6
test esi, esi
jle 0x715fd6
jmp 0x715d80
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x715fad
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x715fad
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebp
imul ebp, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
add ebp, edx
add ebp, dword [esp + 0xac]
lea eax, [eax + edx*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x715fad
cmp dl, 0xff
movzx eax, word [eax]
mov dword [esp + 0x54], eax
jne 0x715ee0
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx ebx, dx
movzx edx, byte [ebp]
mov dl, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov byte [esp + 0xdc], dl
movzx edx, dl
mov dword [esp + 0x2c], edx
mov edx, ebx
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebx
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x50]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov bx, word [esp + 0x5c]
shr eax, 0xb
and edx, 0xffffffe0
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0xa0]
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
and edx, 0x7e0
and bp, 0xf800
shr ebx, 8
or dx, bp
or dx, bx
mov ebx, dword [esp + 0x10]
mov word [ebx], dx
jmp 0x715fad
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
movzx edx, dl
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x54]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x2c]
sub ebx, eax
mov eax, dword [esp + 0x50]
imul ebx, edx
imul ebx, dword [esp + 0x4c]
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, edx
imul ebx, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebx
je 0x715fd6
cmp ecx, dword [esp + 0x40]
jl 0x715d80
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71607c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x715cd0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x715cd0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x7160fe
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7162f5
cmp edi, dword [esp + 0x6c]
jge 0x7162f5
cmp ecx, dword [esp + 0x40]
jge 0x7162f5
test esi, esi
jle 0x7162f5
jmp 0x716180
cmp ebx, dword [esp + 0x100]
jae 0x7162cc
cmp eax, dword [esp + 0xbc]
jae 0x7162cc
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, word [edx]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, byte [edx + 2]
mov dword [esp + 0x54], eax
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x54]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0xb
add edx, ebx
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
mov eax, dword [esp + 0x50]
shr edx, 0xb
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
imul ebx, edx
imul ebx, dword [esp + 0x4c]
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 5
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
mov ebp, dword [esp + 0x10]
imul ebx, edx
imul ebx, dword [esp + 0x4c]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x10
or eax, ebx
mov word [ebp], ax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7162f5
cmp ecx, dword [esp + 0x40]
jl 0x716180
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71639b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7160d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7160d0
cmp dword [esp + 0x134], 0
je 0x716730
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x71642d
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x716635
cmp edi, dword [esp + 0x6c]
jge 0x716635
cmp ecx, dword [esp + 0x40]
jge 0x716635
test esi, esi
jle 0x716635
jmp 0x7164b0
cmp edx, dword [esp + 0x100]
jae 0x716604
cmp eax, dword [esp + 0xbc]
jae 0x716604
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x5c]
mov edx, ebp
movzx ebp, word [eax]
cmp ebp, dword [esp + 0x58]
mov dword [esp + 0x54], ebp
je 0x716600
movzx eax, word [ebx]
movzx edx, byte [edx]
mov dl, byte [edx + 0xcc2d28]
mov byte [esp + 0xdc], dl
movzx ebx, ax
mov dword [esp + 0x50], ebx
movzx edx, dl
mov dword [esp + 0x2c], edx
mov edx, ebx
shr ebx, 5
and ebx, 0x3f
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa4]
shr ebp, 5
and ebp, 0x3f
mov ebp, dword [edx + ebp*4]
mov edx, dword [esp + 0x50]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov dword [esp + 0x5c], eax
and edx, 0xffffffe0
shr ax, 0xb
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0xa0]
mov bx, word [ebp + ebx*4]
sub bx, ax
movzx ax, byte [esp + 0xdc]
imul bx, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bx, ax
mov eax, dword [esp + 0x54]
add bx, bx
add bx, bx
add bx, bx
and bx, 0xf800
shr edx, 3
and edx, 0x7e0
or dx, bx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
shl eax, 8
add ebx, eax
shr ebx, 8
or dx, bx
mov ebx, dword [esp + 0x10]
mov word [ebx], dx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x716635
cmp ecx, dword [esp + 0x40]
jl 0x7164b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7166db
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x716400
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x716400
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x716762
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x716951
cmp edi, dword [esp + 0x6c]
jge 0x716951
cmp ecx, dword [esp + 0x40]
jge 0x716951
test esi, esi
jle 0x716951
jmp 0x7167e0
cmp ebx, dword [esp + 0x100]
jae 0x716924
cmp eax, dword [esp + 0xbc]
jae 0x716924
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
add ebx, eax
movzx eax, word [edx]
movzx edx, word [ebp]
add ebx, dword [esp + 0xac]
mov dword [esp + 0x5c], edx
movzx ebp, dx
movzx edx, byte [ebx]
mov dl, byte [edx + 0xcc2d28]
mov ebx, dword [esp + 0xa4]
mov byte [esp + 0xdc], dl
movzx edx, dl
mov dword [esp + 0x2c], edx
mov edx, ebp
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebp
shr ebp, 5
shr edx, 5
and ebp, 0x3f
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0x50]
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
shr eax, 0xb
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
and edx, 0xffffffe0
lea edx, [ebx + edx*8]
mov bx, word [esp + 0x5c]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x14]
and bp, 0xf800
and edx, 0x7e0
or dx, bp
mov ebp, dword [esp + 0x10]
shr ebx, 8
or dx, bx
mov ebx, dword [esp + 0x1c]
mov word [ebp], dx
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x716951
cmp ecx, dword [esp + 0x40]
jl 0x7167e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7169f7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x716730
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x716730
cmp edx, 0xffffff
jne 0x717437
cmp dword [eax + 0x28], 1
jne 0x717001
cmp dword [esp + 0x134], 0
je 0x716d40
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x716a9d
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x716c48
cmp edi, dword [esp + 0x6c]
jge 0x716c48
cmp ecx, dword [esp + 0x40]
jge 0x716c48
test esi, esi
jle 0x716c48
cmp ebx, dword [esp + 0x100]
jae 0x716c19
cmp eax, dword [esp + 0xbc]
jae 0x716c19
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
mov dl, byte [ebp + eax*4 + 2]
test dl, dl
lea eax, [ebp + eax*4]
je 0x716c19
cmp dl, 0xff
jne 0x716b7d
mov dx, word [eax]
mov eax, dword [esp + 0x10]
mov word [eax], dx
jmp 0x716c19
movzx eax, word [eax]
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx]
movzx edx, dl
mov dword [esp + 0x4c], edx
mov edx, ebp
and edx, 0x1f
mov dword [esp + 0x60], edx
mov ebx, eax
mov edx, ebp
and edx, 0x7e0
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x4c]
mov edx, ebp
and edx, 0xffffffe0
shl edx, 8
add ebx, edx
mov edx, eax
and edx, 0xf800
mov dword [esp + 0x50], ebp
and ebp, 0xf800
sub edx, ebp
imul edx, dword [esp + 0x4c]
mov ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 8
add ebp, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x4c]
shr ebx, 8
shr ebp, 8
shl edx, 8
and ebx, 0x7e0
add eax, edx
and ebp, 0xf800
or ebx, ebp
shr eax, 8
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x716c48
cmp ecx, dword [esp + 0x40]
jl 0x716b10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x716cee
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x716a70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x716a70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x716d71
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x716f0a
cmp edi, dword [esp + 0x6c]
jge 0x716f0a
cmp ecx, dword [esp + 0x40]
jge 0x716f0a
test esi, esi
jle 0x716f0a
mov ebp, dword [esp + 0x10]
jmp 0x716df0
cmp ebx, dword [esp + 0x100]
jae 0x716edd
cmp eax, dword [esp + 0xbc]
jae 0x716edd
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
movzx eax, word [ebx]
movzx ebx, byte [ebx + 2]
movzx edx, word [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, edx
and ebx, 0x7e0
mov ebp, eax
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x4c]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 8
add ebp, ebx
mov ebx, eax
and ebx, 0xf800
mov dword [esp + 0x50], edx
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 8
add ebx, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x4c]
shr ebp, 8
shr ebx, 8
and ebx, 0xf800
shl edx, 8
and ebp, 0x7e0
add eax, edx
or ebp, ebx
shr eax, 8
or ebp, eax
mov eax, dword [esp + 0x14]
mov ebx, ebp
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x716f0a
cmp ecx, dword [esp + 0x40]
jl 0x716df0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x716fb0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], eax
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x716d40
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x716d40
cmp dword [esp + 0x134], 0
je 0x717230
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x717041
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x71712f
cmp edi, dword [esp + 0x6c]
jge 0x71712f
cmp ecx, dword [esp + 0x40]
jge 0x71712f
test esi, esi
jle 0x71712f
cmp ebx, dword [esp + 0x100]
jae 0x71710c
cmp eax, dword [esp + 0xbc]
jae 0x71710c
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea eax, [ebp + eax*2]
movzx eax, word [eax]
movzx edx, ax
cmp edx, dword [esp + 0x58]
je 0x717108
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x71712f
cmp ecx, dword [esp + 0x40]
jl 0x7170b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7171d5
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717010
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717010
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x717261
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x717340
cmp edi, dword [esp + 0x6c]
jge 0x717340
cmp ecx, dword [esp + 0x40]
jge 0x717340
test esi, esi
jle 0x717340
cmp ebx, dword [esp + 0x100]
jae 0x71731d
cmp eax, dword [esp + 0xbc]
jae 0x71731d
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
add ebp, dword [esp + 0x90]
mov dx, word [ebp + eax*2]
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x717340
cmp ecx, dword [esp + 0x40]
jl 0x7172d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7173e6
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717230
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717230
cmp dword [eax + 0x28], 1
jne 0x717aa3
cmp dword [esp + 0x134], 0
je 0x7177a4
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x717481
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7176ad
cmp edi, dword [esp + 0x6c]
jge 0x7176ad
cmp ecx, dword [esp + 0x40]
jge 0x7176ad
test esi, esi
jle 0x7176ad
lea ebx, [ebx]
cmp ebp, dword [esp + 0x100]
jae 0x71767c
cmp eax, dword [esp + 0xbc]
jae 0x71767c
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
test dl, dl
mov byte [esp + 0xdc], dl
je 0x717678
cmp dl, 0xff
movzx eax, word [eax]
mov dword [esp + 0x54], eax
jne 0x7175b0
mov ebp, dword [esp + 0xa0]
mov edx, eax
shr eax, 0xb
mov bp, word [ebp + eax*4]
mov eax, dword [esp + 0xa4]
shr edx, 5
and edx, 0x3f
shl bp, 6
or bp, word [eax + edx*4]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xa8]
shl bp, 5
and eax, 0x1f
or bp, word [edx + eax*4]
mov word [ebx], bp
jmp 0x717678
movzx ebx, word [ebx]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x5c], ebx
movzx edx, dl
movzx ebx, bx
mov dword [esp + 0x4c], edx
mov edx, ebx
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebx
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x50]
sub ebp, ebx
imul ebp, dword [esp + 0x4c]
mov bx, word [esp + 0x5c]
shr eax, 0xb
and edx, 0xffffffe0
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0xa0]
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x4c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
and edx, 0x7e0
and bp, 0xf800
shr ebx, 8
or dx, bp
or dx, bx
mov ebx, dword [esp + 0x10]
mov word [ebx], dx
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x7176ad
cmp ecx, dword [esp + 0x40]
jl 0x717500
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x717753
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717450
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717450
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x7177d5
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7179ac
cmp edi, dword [esp + 0x6c]
jge 0x7179ac
cmp ecx, dword [esp + 0x40]
jge 0x7179ac
test esi, esi
jle 0x7179ac
mov edi, edi
cmp ebp, dword [esp + 0x100]
jae 0x71797f
cmp eax, dword [esp + 0xbc]
jae 0x71797f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
movzx ebx, word [ebx]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
movzx eax, word [edx]
mov dl, byte [edx + 2]
mov ebp, dword [esp + 0xa4]
mov byte [esp + 0xdc], dl
mov dword [esp + 0x5c], ebx
movzx edx, dl
movzx ebx, bx
mov dword [esp + 0x4c], edx
mov edx, ebx
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x50], ebx
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x50]
sub ebp, ebx
imul ebp, dword [esp + 0x4c]
mov bx, word [esp + 0x5c]
mov dword [esp + 0x54], eax
shr eax, 0xb
and edx, 0xffffffe0
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0xa0]
mov bp, word [ebp + eax*4]
movzx ax, byte [esp + 0xdc]
shr bx, 0xb
sub bp, bx
mov ebx, dword [esp + 0xa8]
imul bp, ax
mov eax, dword [esp + 0x5c]
shr eax, 3
and eax, 0x1f00
add bp, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
sub ebx, eax
imul ebx, dword [esp + 0x4c]
add bp, bp
add bp, bp
shr edx, 3
add bp, bp
shl eax, 8
add ebx, eax
mov eax, dword [esp + 0x14]
and bp, 0xf800
and edx, 0x7e0
or dx, bp
mov ebp, dword [esp + 0x1c]
shr ebx, 8
or dx, bx
mov ebx, dword [esp + 0x10]
mov word [ebx], dx
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x7179ac
cmp ecx, dword [esp + 0x40]
jl 0x717850
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x717a52
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7177a4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7177a4
cmp dword [esp + 0x134], 0
je 0x717d10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x717ae2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x717c15
cmp edi, dword [esp + 0x6c]
jge 0x717c15
cmp ecx, dword [esp + 0x40]
jge 0x717c15
test esi, esi
jle 0x717c15
cmp ebx, dword [esp + 0x100]
jae 0x717bee
cmp eax, dword [esp + 0xbc]
jae 0x717bee
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea eax, [ebp + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x717bea
mov ebp, dword [esp + 0xa0]
mov edx, eax
shr eax, 0xb
mov bp, word [ebp + eax*4]
mov eax, dword [esp + 0xa4]
shr edx, 5
and edx, 0x3f
shl bp, 6
or bp, word [eax + edx*4]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
shl bp, 5
or bp, word [edx + eax*4]
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x717c15
cmp ecx, dword [esp + 0x40]
jl 0x717b51
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x717cbb
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717ab1
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717ab1
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x717d41
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x717e81
cmp edi, dword [esp + 0x6c]
jge 0x717e81
cmp ecx, dword [esp + 0x40]
jge 0x717e81
test esi, esi
jle 0x717e81
jmp 0x717dc0
cmp ebx, dword [esp + 0x100]
jae 0x717e56
cmp eax, dword [esp + 0xbc]
jae 0x717e56
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea eax, [ebp + eax*2]
movzx eax, word [eax]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
shr ebx, 0xb
mov bx, word [ebp + ebx*4]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
shl bx, 6
and edx, 0x3f
or bx, word [ebp + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
shl bx, 5
or bx, word [edx + eax*4]
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x717e81
cmp ecx, dword [esp + 0x40]
jl 0x717dc0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x717f2b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717d10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717d10
test edx, edx
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x719a1d
cmp edx, 0xffffff
jne 0x718c8b
cmp dword [eax + 0x28], 1
jne 0x71868d
cmp dword [esp + 0x134], 0
je 0x718391
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x717ff4
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x718296
cmp edi, dword [esp + 0x6c]
jge 0x718296
cmp ecx, dword [esp + 0x40]
jge 0x718296
test esi, esi
jle 0x718296
nop
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x718269
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x718269
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
sar ebx, 0x12
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov dword [esp + 0x2c], ebx
mov bl, byte [edx + 2]
test bl, bl
je 0x718269
cmp bl, 0xff
movzx eax, word [edx]
jne 0x7181a6
movzx edx, word [ebp]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, edx
and ebx, 0x7e0
mov ebp, eax
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
and ebx, 0xf800
mov dword [esp + 0x50], edx
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
and ebx, 0xf800
and ebp, 0x7e0
add eax, edx
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov dword [esp + 0x58], ebp
mov ebx, ebp
jmp 0x718261
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
movzx ebp, word [ebp]
mov dword [esp + 0x2c], edx
movzx edx, bl
mov dword [esp + 0x4c], edx
mov edx, ebp
and edx, 0x1f
mov dword [esp + 0x60], edx
mov ebx, eax
shr ebx, 5
mov edx, ebp
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, ebp
and edx, 0xffffffe0
shl edx, 0x13
add ebx, edx
mov edx, eax
shr edx, 0xb
mov dword [esp + 0x50], ebp
shr ebp, 0xb
sub edx, ebp
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0xd
and eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x13
shr ebp, 0xd
shl edx, 0x18
and ebx, 0x7e0
and ebp, 0xf800
add eax, edx
or ebx, ebp
shr eax, 0x18
or ebx, eax
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebp
je 0x718296
cmp ecx, dword [esp + 0x40]
jl 0x718070
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x718340
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x717fc2
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x717fc2
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7183c2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x718592
cmp edi, dword [esp + 0x6c]
jge 0x718592
cmp ecx, dword [esp + 0x40]
jge 0x718592
test esi, esi
jle 0x718592
jmp 0x718440
cmp ebp, dword [esp + 0x100]
jae 0x718567
cmp eax, dword [esp + 0xbc]
jae 0x718567
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, word [ebp]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebp + 2]
mov dword [esp + 0x4c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
shr ebp, 5
mov ebx, edx
shr ebx, 5
and ebx, 0x3f
and ebp, 0x3f
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x13
add ebp, ebx
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0x50], edx
shr edx, 0xb
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0xd
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebp, 0x13
shr ebx, 0xd
shl edx, 0x18
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
shr eax, 0x18
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x718592
cmp ecx, dword [esp + 0x40]
jl 0x718440
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71863c
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x718391
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x718391
cmp dword [esp + 0x134], 0
je 0x7189a0
jmp 0x7186a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7186d1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71889e
cmp edi, dword [esp + 0x6c]
jge 0x71889e
cmp ecx, dword [esp + 0x40]
jge 0x71889e
test esi, esi
jle 0x71889e
jmp 0x718750
cmp ebp, dword [esp + 0x100]
jae 0x71886f
cmp eax, dword [esp + 0xbc]
jae 0x71886f
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
je 0x71886f
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0xf800
and ebx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
and eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
and ebp, 0x7e0
add eax, edx
and ebx, 0xf800
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71889e
cmp ecx, dword [esp + 0x40]
jl 0x718750
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x718948
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7186a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7186a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7189d1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x718b90
cmp edi, dword [esp + 0x6c]
jge 0x718b90
cmp ecx, dword [esp + 0x40]
jge 0x718b90
test esi, esi
jle 0x718b90
jmp 0x718a50
cmp ebp, dword [esp + 0x100]
jae 0x718b65
cmp eax, dword [esp + 0xbc]
jae 0x718b65
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, word [edx]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and edx, 0xf800
and ebx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
shr eax, 0x10
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x718b90
cmp ecx, dword [esp + 0x40]
jl 0x718a50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x718c3a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7189a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7189a0
cmp dword [eax + 0x28], 1
jne 0x7193d8
cmp dword [esp + 0x134], 0
je 0x7190a2
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x718cd4
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x718fa7
cmp edi, dword [esp + 0x6c]
jge 0x718fa7
cmp ecx, dword [esp + 0x40]
jge 0x718fa7
test esi, esi
jle 0x718fa7
nop
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x718f7a
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x718f7a
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebp
imul ebp, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
add ebp, edx
add ebp, dword [esp + 0xac]
lea eax, [eax + edx*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x718f7a
cmp dl, 0xff
jne 0x718e92
movzx edx, word [eax]
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
jmp 0x718f6e
movzx eax, word [eax]
mov dword [esp + 0x54], eax
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
movzx edx, dl
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0x13
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 0xd
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 0xd
and ebx, 0xf800
shr ebp, 0x13
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebx
je 0x718fa7
cmp ecx, dword [esp + 0x40]
jl 0x718d50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x719051
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x718ca3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x718ca3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x7190d4
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7192dd
cmp edi, dword [esp + 0x6c]
jge 0x7192dd
cmp ecx, dword [esp + 0x40]
jge 0x7192dd
test esi, esi
jle 0x7192dd
lea ecx, [ecx]
cmp ebx, dword [esp + 0x100]
jae 0x7192b0
cmp eax, dword [esp + 0xbc]
jae 0x7192b0
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, word [edx]
movzx edx, byte [edx + 2]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], eax
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0x13
add edx, ebx
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
shr edx, 0x13
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 0xd
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0xd
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x18
and ebx, 0x1f
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebp], ax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7192dd
cmp ecx, dword [esp + 0x40]
jl 0x719150
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x719387
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7190a2
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7190a2
cmp dword [esp + 0x134], 0
je 0x719705
jmp 0x7193f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x719421
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71960e
cmp edi, dword [esp + 0x6c]
jge 0x71960e
cmp ecx, dword [esp + 0x40]
jge 0x71960e
test esi, esi
jle 0x71960e
lea esp, [esp]
cmp edx, dword [esp + 0x100]
jae 0x7195dd
cmp eax, dword [esp + 0xbc]
jae 0x7195dd
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
movzx edx, word [edx]
add ebp, eax
add ebp, dword [esp + 0xac]
cmp edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
je 0x7195d9
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x71960e
cmp ecx, dword [esp + 0x40]
jl 0x7194a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7196b4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7193f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7193f0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x719737
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x719922
cmp edi, dword [esp + 0x6c]
jge 0x719922
cmp ecx, dword [esp + 0x40]
jge 0x719922
test esi, esi
jle 0x719922
cmp ebx, dword [esp + 0x100]
jae 0x7198f5
cmp eax, dword [esp + 0xbc]
jae 0x7198f5
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx edx, word [edx]
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], edx
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0xb
add edx, ebx
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shr edx, 0xb
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 5
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0x10]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x10
and ebx, 0x1f
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebp], ax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x719922
cmp ecx, dword [esp + 0x40]
jl 0x7197b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7199cc
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x719705
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x719705
cmp edx, 0xffffff
jne 0x71a642
cmp dword [eax + 0x28], 1
jne 0x71a0aa
cmp dword [esp + 0x134], 0
je 0x719dd0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x719a72
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x719cca
cmp edi, dword [esp + 0x6c]
jge 0x719cca
cmp ecx, dword [esp + 0x40]
jge 0x719cca
test esi, esi
jle 0x719cca
cmp ebx, dword [esp + 0x100]
jae 0x719c9b
cmp eax, dword [esp + 0xbc]
jae 0x719c9b
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x719c97
cmp dl, 0xff
jne 0x719be4
movzx eax, word [eax]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
shr ebx, 0xb
shr eax, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x54]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
jmp 0x719c90
movzx ebx, word [eax]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
movzx edx, dl
mov dword [esp + 0x4c], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
and edx, 0x7e0
mov dword [esp + 0x54], ebx
and ebx, 0x7e0
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
and eax, 0xf800
and edx, 0xf800
sub edx, eax
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
and eax, 0xfffff800
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
sub eax, dword [esp + 0x60]
shr edx, 0x10
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x10
and edx, 0xf800
and ebx, 0x7e0
or ebx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x10
add eax, edx
shr eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x719cca
cmp ecx, dword [esp + 0x40]
jl 0x719af1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x719d77
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x719a41
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x719a41
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x719e01
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x719faf
cmp edi, dword [esp + 0x6c]
jge 0x719faf
cmp ecx, dword [esp + 0x40]
jge 0x719faf
test esi, esi
jle 0x719faf
mov ebp, dword [esp + 0x10]
jmp 0x719e80
cmp ebx, dword [esp + 0x100]
jae 0x719f82
cmp eax, dword [esp + 0xbc]
jae 0x719f82
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
movzx eax, word [ebx]
movzx ebx, byte [ebx + 2]
movzx edx, word [ebp]
mov dword [esp + 0x4c], ebx
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
and ebx, 0xf800
mov dword [esp + 0x50], edx
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
and ebx, 0xf800
shl edx, 0x10
and ebp, 0x7e0
add eax, edx
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x14]
mov ebx, ebp
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x719faf
cmp ecx, dword [esp + 0x40]
jl 0x719e80
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71a059
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], eax
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x719dd0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x719dd0
cmp dword [esp + 0x134], 0
je 0x71a380
jmp 0x71a0c0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71a0f1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71a27e
cmp edi, dword [esp + 0x6c]
jge 0x71a27e
cmp ecx, dword [esp + 0x40]
jge 0x71a27e
test esi, esi
jle 0x71a27e
cmp ebx, dword [esp + 0x100]
jae 0x71a24f
cmp eax, dword [esp + 0xbc]
jae 0x71a24f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx edx, word [eax]
cmp edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
je 0x71a24b
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x5c], eax
movzx eax, ax
mov ebx, eax
shr edx, 5
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub edx, ebx
mov ebx, dword [esp + 0x5c]
shr ebx, 5
mov dword [esp + 0x50], eax
shr eax, 0xb
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, dword [esp + 0x54]
shr edx, 0xb
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x54]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x10]
or bx, ax
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71a27e
cmp ecx, dword [esp + 0x40]
jl 0x71a170
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71a32b
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71a0c0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71a0c0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71a3b1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71a544
cmp edi, dword [esp + 0x6c]
jge 0x71a544
cmp ecx, dword [esp + 0x40]
jge 0x71a544
test esi, esi
jle 0x71a544
cmp ebx, dword [esp + 0x100]
jae 0x71a519
cmp eax, dword [esp + 0xbc]
jae 0x71a519
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 5
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
and eax, 0x1f
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x54]
movzx ebx, word [esp + 0xdc]
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71a544
cmp ecx, dword [esp + 0x40]
jl 0x71a430
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71a5f1
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71a380
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71a380
cmp dword [eax + 0x28], 1
jne 0x71ad15
cmp dword [esp + 0x134], 0
je 0x71aa22
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71a691
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71a924
cmp edi, dword [esp + 0x6c]
jge 0x71a924
cmp ecx, dword [esp + 0x40]
jge 0x71a924
test esi, esi
jle 0x71a924
cmp ebx, dword [esp + 0x100]
jae 0x71a8f5
cmp eax, dword [esp + 0xbc]
jae 0x71a8f5
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x71a8f1
cmp dl, 0xff
mov ebx, dword [esp + 0xa4]
jne 0x71a826
movzx eax, word [eax]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
shr ebx, 0xb
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
jmp 0x71a8f1
movzx ebp, word [eax]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x54], ebp
shr ebp, 5
movzx edx, dl
and ebp, 0x3f
mov ebx, dword [ebx + ebp*4]
mov dword [esp + 0x4c], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
sub ebp, eax
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebp, eax
mov eax, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and eax, 0x1f
mov ebp, dword [ebp + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x10]
shl eax, 0x10
add ebp, eax
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0xdc]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71a924
cmp ecx, dword [esp + 0x40]
jl 0x71a710
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71a9d1
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71a660
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71a660
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x71aa53
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71ac1a
cmp edi, dword [esp + 0x6c]
jge 0x71ac1a
cmp ecx, dword [esp + 0x40]
jge 0x71ac1a
test esi, esi
jle 0x71ac1a
lea esp, [esp]
cmp ebp, dword [esp + 0x100]
jae 0x71abed
cmp eax, dword [esp + 0xbc]
jae 0x71abed
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, word [edx + eax*4]
lea edx, [edx + eax*4]
movzx eax, word [ebx]
movzx edx, byte [edx + 2]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], edx
shr ebp, 5
mov edx, eax
and ebp, 0x3f
mov ebp, dword [ebx + ebp*4]
shr edx, 5
and edx, 0x3f
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x14]
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x71ac1a
cmp ecx, dword [esp + 0x40]
jl 0x71aad0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71acc4
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71aa22
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71aa22
cmp dword [esp + 0x134], 0
je 0x71b010
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71ad54
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71af0f
cmp edi, dword [esp + 0x6c]
jge 0x71af0f
cmp ecx, dword [esp + 0x40]
jge 0x71af0f
test esi, esi
jle 0x71af0f
cmp ebx, dword [esp + 0x100]
jae 0x71aee0
cmp eax, dword [esp + 0xbc]
jae 0x71aee0
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx edx, word [eax]
cmp edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
je 0x71aedc
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x5c], eax
shr edx, 5
movzx eax, ax
and edx, 0x3f
mov edx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
shr eax, 5
and eax, 0x3f
sub edx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
shr eax, 0xb
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
mov eax, dword [ebp + eax*4]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0xdc]
shr edx, 0xb
sub eax, edx
mov dx, word [esp + 0x5c]
shr dx, 0xb
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl dx, 0xb
shl bx, 5
or bx, dx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + eax*4]
sub edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71af0f
cmp ecx, dword [esp + 0x40]
jl 0x71add3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71afbc
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71ad23
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71ad23
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71b041
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x71b1f0
cmp edi, dword [esp + 0x6c]
jge 0x71b1f0
cmp ecx, dword [esp + 0x40]
jge 0x71b1f0
test esi, esi
jle 0x71b1f0
cmp ebx, dword [esp + 0x100]
jae 0x71b1c5
cmp eax, dword [esp + 0xbc]
jae 0x71b1c5
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
mov ebx, dword [esp + 0xa4]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], edx
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
shr ebx, 0xb
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x71b1f0
cmp ecx, dword [esp + 0x40]
jl 0x71b0c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71b29d
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x71b010
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71b010
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x71cc47
cmp edx, 0xffffff
jne 0x71bf4f
cmp dword [eax + 0x28], 1
jne 0x71b98d
cmp dword [esp + 0x134], 0
je 0x71b6a0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71b371
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71b599
cmp edi, dword [esp + 0x6c]
jge 0x71b599
cmp ecx, dword [esp + 0x40]
jge 0x71b599
test esi, esi
jle 0x71b599
jmp 0x71b3f9
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x71b56e
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x71b56e
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebp
imul ebp, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
add ebp, edx
add ebp, dword [esp + 0xac]
lea eax, [eax + edx*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x71b56e
cmp dl, 0xff
movzx eax, word [eax]
mov dword [esp + 0x54], eax
jne 0x71b4cb
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
shl bp, 5
shr eax, 8
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
movzx ebp, bp
jmp 0x71b533
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
and eax, 0xf800
imul eax, ebp
movzx edx, dl
imul eax, edx
shr eax, 0x1b
mov dword [esp + 0x4c], edx
mov dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x7e0
imul eax, ebp
imul eax, dword [esp + 0x4c]
shr eax, 0x15
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, ebp
imul eax, dword [esp + 0x4c]
shl dx, 5
shr eax, 0x10
add dx, word [ebx + eax*4]
mov dword [esp + 0x2c], ebp
movzx ebp, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
je 0x71b599
cmp ecx, dword [esp + 0x40]
jl 0x71b3f5
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71b646
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71b340
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71b340
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71b6d1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71b88f
cmp edi, dword [esp + 0x6c]
jge 0x71b88f
cmp ecx, dword [esp + 0x40]
jge 0x71b88f
test esi, esi
jle 0x71b88f
cmp edx, dword [esp + 0x100]
jae 0x71b864
cmp eax, dword [esp + 0xbc]
jae 0x71b864
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
movzx eax, byte [eax + 0xcc2d28]
movzx ebp, word [edx]
movzx edx, byte [edx + 2]
mov dword [esp + 0x54], ebp
and ebp, 0xf800
imul ebp, eax
imul ebp, edx
mov dword [esp + 0x4c], edx
shr ebp, 0x1b
mov dx, word [ebx + ebp*4]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x2c], eax
and ebp, 0x7e0
imul ebp, eax
mov eax, dword [esp + 0x54]
imul ebp, dword [esp + 0x4c]
and eax, 0x1f
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shl dx, 6
shr ebp, 0x15
add dx, word [ebx + ebp*4]
shr eax, 0x10
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71b88f
cmp ecx, dword [esp + 0x40]
jl 0x71b750
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71b93c
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71b6a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71b6a0
cmp dword [esp + 0x134], 0
je 0x71bc80
jmp 0x71b9a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71b9d1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71bb7f
cmp edi, dword [esp + 0x6c]
jge 0x71bb7f
cmp ecx, dword [esp + 0x40]
jge 0x71bb7f
test esi, esi
jle 0x71bb7f
cmp eax, dword [esp + 0x100]
jae 0x71bb50
cmp ebp, dword [esp + 0xbc]
jae 0x71bb50
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x71bb4c
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx edx, word [eax]
movzx ebp, bp
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x71bb7f
cmp ecx, dword [esp + 0x40]
jl 0x71ba50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71bc2c
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71b9a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71b9a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71bcb1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71be51
cmp edi, dword [esp + 0x6c]
jge 0x71be51
cmp ecx, dword [esp + 0x40]
jge 0x71be51
test esi, esi
jle 0x71be51
cmp edx, dword [esp + 0x100]
jae 0x71be26
cmp eax, dword [esp + 0xbc]
jae 0x71be26
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
sar eax, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, byte [ebp]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, word [edx]
mov edx, eax
mov dword [esp + 0x54], eax
and edx, 0xf800
imul edx, ebp
and eax, 0x7e0
imul eax, ebp
shr edx, 0x13
mov dx, word [ebx + edx*4]
shr eax, 0xd
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, ebp
shr eax, 8
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71be51
cmp ecx, dword [esp + 0x40]
jl 0x71bd30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71befe
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71bc80
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71bc80
cmp dword [eax + 0x28], 1
jne 0x71c62e
cmp dword [esp + 0x134], 0
je 0x71c314
jmp 0x71bf70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71bfa1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71c216
cmp edi, dword [esp + 0x6c]
jge 0x71c216
cmp ecx, dword [esp + 0x40]
jge 0x71c216
test esi, esi
jle 0x71c216
jmp 0x71c029
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x71c1eb
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x71c1eb
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 2]
test al, al
je 0x71c1eb
cmp al, 0xff
jne 0x71c11b
movzx eax, word [edx]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
shr edx, 5
mov dword [esp + 0x54], eax
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
shr edx, 8
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
shl bp, 5
shr eax, 8
add bp, word [ebx + eax*4]
movzx ebp, bp
jmp 0x71c1a9
movzx edx, word [edx]
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
movzx eax, al
mov dword [esp + 0x4c], eax
mov eax, edx
shr eax, 5
and eax, 0x3f
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xa4]
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xa0]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shr edx, 0xb
mov edx, dword [ebp + edx*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa8]
shr edx, 0x10
mov dx, word [ebx + edx*4]
shr eax, 0x10
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shl dx, 5
shr eax, 0x10
add dx, word [ebx + eax*4]
movzx ebp, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
je 0x71c216
cmp ecx, dword [esp + 0x40]
jl 0x71c025
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71c2c3
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71bf70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71bf70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71c345
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71c530
cmp edi, dword [esp + 0x6c]
jge 0x71c530
cmp ecx, dword [esp + 0x40]
jge 0x71c530
test esi, esi
jle 0x71c530
jmp 0x71c3d0
cmp edx, dword [esp + 0x100]
jae 0x71c505
cmp eax, dword [esp + 0xbc]
jae 0x71c505
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, word [edx]
movzx edx, byte [edx + 2]
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
mov dword [esp + 0x4c], edx
mov edx, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xa4]
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul edx, dword [esp + 0x4c]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shr eax, 0x10
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 0x10
and eax, 0x1f
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 0x10
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71c530
cmp ecx, dword [esp + 0x40]
jl 0x71c3d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71c5dd
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71c314
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71c314
cmp dword [esp + 0x134], 0
je 0x71c945
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71c671
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71c847
cmp edi, dword [esp + 0x6c]
jge 0x71c847
cmp ecx, dword [esp + 0x40]
jge 0x71c847
test esi, esi
jle 0x71c847
cmp eax, dword [esp + 0x100]
jae 0x71c818
cmp ebp, dword [esp + 0xbc]
jae 0x71c818
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x71c814
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x71c847
cmp ecx, dword [esp + 0x40]
jl 0x71c6f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71c8f4
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71c640
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71c640
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71c976
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71cb49
cmp edi, dword [esp + 0x6c]
jge 0x71cb49
cmp ecx, dword [esp + 0x40]
jge 0x71cb49
test esi, esi
jle 0x71cb49
jmp 0x71ca00
cmp edx, dword [esp + 0x100]
jae 0x71cb1e
cmp eax, dword [esp + 0xbc]
jae 0x71cb1e
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
add ebp, eax
movzx eax, word [edx]
add ebp, dword [esp + 0xac]
mov dword [esp + 0x54], eax
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71cb49
cmp ecx, dword [esp + 0x40]
jl 0x71ca00
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71cbf6
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71c945
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71c945
cmp edx, 0xffffff
jne 0x71d7bb
cmp dword [eax + 0x28], 1
jne 0x71d25a
cmp dword [esp + 0x134], 0
je 0x71cf85
jmp 0x71cc70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71cca1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x71ce87
cmp edi, dword [esp + 0x6c]
jge 0x71ce87
cmp ecx, dword [esp + 0x40]
jge 0x71ce87
test esi, esi
jle 0x71ce87
cmp ebp, dword [esp + 0x100]
jae 0x71ce58
cmp eax, dword [esp + 0xbc]
jae 0x71ce58
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 2]
test al, al
je 0x71ce54
cmp al, 0xff
jne 0x71cdba
movzx eax, word [ebp]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shr ebp, 5
shl dx, 6
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
jmp 0x71ce19
movzx ebp, word [ebp]
movzx edx, al
mov eax, ebp
and eax, 0xf800
imul eax, edx
mov dword [esp + 0x54], ebp
and ebp, 0x7e0
imul ebp, edx
shr eax, 0x13
mov ax, word [ebx + eax*4]
shl ax, 6
shr ebp, 0xd
add ax, word [ebx + ebp*4]
shl ax, 5
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
mov dx, word [esp + 0xdc]
shr eax, 8
add dx, word [ebx + eax*4]
movzx ebp, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71ce87
cmp ecx, dword [esp + 0x40]
jl 0x71cd22
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71cf34
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71cc70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71cc70
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71cfb6
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71d15c
cmp edi, dword [esp + 0x6c]
jge 0x71d15c
cmp ecx, dword [esp + 0x40]
jge 0x71d15c
test esi, esi
jle 0x71d15c
jmp 0x71d040
cmp ebp, dword [esp + 0x100]
jae 0x71d131
cmp eax, dword [esp + 0xbc]
jae 0x71d131
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, word [edx + eax*4]
lea eax, [edx + eax*4]
movzx edx, byte [eax + 2]
mov eax, ebp
and eax, 0xf800
imul eax, edx
mov dword [esp + 0x54], ebp
and ebp, 0x7e0
imul ebp, edx
shr eax, 0x13
mov ax, word [ebx + eax*4]
shl ax, 6
shr ebp, 0xd
add ax, word [ebx + ebp*4]
shl ax, 5
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
mov dx, word [esp + 0xdc]
shr eax, 8
add dx, word [ebx + eax*4]
movzx ebp, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71d15c
cmp ecx, dword [esp + 0x40]
jl 0x71d040
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71d209
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71cf85
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71cf85
cmp dword [esp + 0x134], 0
je 0x71d520
jmp 0x71d270
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71d2a1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x71d419
cmp edi, dword [esp + 0x6c]
jge 0x71d419
cmp ecx, dword [esp + 0x40]
jge 0x71d419
test esi, esi
jle 0x71d419
cmp ebp, dword [esp + 0x100]
jae 0x71d3ee
cmp eax, dword [esp + 0xbc]
jae 0x71d3ee
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
je 0x71d3e6
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71d419
cmp ecx, dword [esp + 0x40]
jl 0x71d322
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71d4c6
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71d270
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71d270
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71d551
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71d6bd
cmp edi, dword [esp + 0x6c]
jge 0x71d6bd
cmp ecx, dword [esp + 0x40]
jge 0x71d6bd
test esi, esi
jle 0x71d6bd
cmp ebp, dword [esp + 0x100]
jae 0x71d692
cmp eax, dword [esp + 0xbc]
jae 0x71d692
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, eax
mov ebp, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
shr ebp, 5
shl dx, 6
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71d6bd
cmp ecx, dword [esp + 0x40]
jl 0x71d5d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71d76a
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71d520
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71d520
cmp dword [eax + 0x28], 1
jne 0x71de10
cmp dword [esp + 0x134], 0
je 0x71db30
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71d804
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x71da2c
cmp edi, dword [esp + 0x6c]
jge 0x71da2c
cmp ecx, dword [esp + 0x40]
jge 0x71da2c
test esi, esi
jle 0x71da2c
jmp 0x71d890
cmp ebp, dword [esp + 0x100]
jae 0x71d9fd
cmp eax, dword [esp + 0xbc]
jae 0x71d9fd
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 2]
test al, al
je 0x71d9f9
cmp al, 0xff
jne 0x71d947
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
mov dword [esp + 0x54], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
shl bp, 5
add bp, word [ebx + eax*4]
movzx ebp, bp
jmp 0x71d9b7
movzx ebp, word [ebp]
movzx eax, al
mov edx, ebp
and edx, 0xf800
imul edx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], ebp
and ebp, 0x7e0
imul ebp, dword [esp + 0x4c]
shr edx, 0x13
mov edx, dword [eax + edx*4]
mov dx, word [ebx + edx*4]
mov eax, dword [esp + 0xa4]
shr ebp, 0xd
mov eax, dword [eax + ebp*4]
mov ebp, dword [esp + 0xa8]
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, dword [esp + 0x4c]
shr eax, 8
mov eax, dword [ebp + eax*4]
shl dx, 5
add dx, word [ebx + eax*4]
movzx ebp, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, dx
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71da2c
cmp ecx, dword [esp + 0x40]
jl 0x71d890
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71dad9
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71d7d3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71d7d3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71db61
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71dd12
cmp edi, dword [esp + 0x6c]
jge 0x71dd12
cmp ecx, dword [esp + 0x40]
jge 0x71dd12
test esi, esi
jle 0x71dd12
cmp ebp, dword [esp + 0x100]
jae 0x71dce7
cmp eax, dword [esp + 0xbc]
jae 0x71dce7
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, word [eax]
movzx eax, byte [eax + 2]
mov ebp, edx
and ebp, 0xf800
imul ebp, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], edx
and edx, 0x7e0
imul edx, dword [esp + 0x4c]
shr ebp, 0x13
mov eax, dword [eax + ebp*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0xa4]
shr edx, 0xd
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
shr eax, 8
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71dd12
cmp ecx, dword [esp + 0x40]
jl 0x71dbe0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71ddbf
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71db30
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71db30
cmp dword [esp + 0x134], 0
je 0x71e0f0
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71de51
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x71dfef
cmp edi, dword [esp + 0x6c]
jge 0x71dfef
cmp ecx, dword [esp + 0x40]
jge 0x71dfef
test esi, esi
jle 0x71dfef
cmp ebp, dword [esp + 0x100]
jae 0x71dfc4
cmp eax, dword [esp + 0xbc]
jae 0x71dfc4
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x71dfbc
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71dfef
cmp ecx, dword [esp + 0x40]
jl 0x71ded2
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71e09c
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71de20
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71de20
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71e121
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x71e2b3
cmp edi, dword [esp + 0x6c]
jge 0x71e2b3
cmp ecx, dword [esp + 0x40]
jge 0x71e2b3
test esi, esi
jle 0x71e2b3
cmp ebp, dword [esp + 0x100]
jae 0x71e288
cmp eax, dword [esp + 0xbc]
jae 0x71e288
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
mov ebp, dword [esp + 0xa4]
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, eax
mov dword [esp + 0x54], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, dx
movzx ebp, bp
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and eax, 0xf7def7df
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and edx, 0x820
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71e2b3
cmp ecx, dword [esp + 0x40]
jl 0x71e1a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71e360
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71e0f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71e0f0
cmp dword [0xb160b8], 0
je case.0x72b8e0.5
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x71fc40
cmp edx, 0xffffff
jne 0x71efb8
cmp dword [eax + 0x28], 1
jne 0x71ea16
cmp dword [esp + 0x134], 0
je 0x71e735
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71e431
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71e637
cmp edi, dword [esp + 0x6c]
jge 0x71e637
cmp ecx, dword [esp + 0x40]
jge 0x71e637
test esi, esi
jle 0x71e637
jmp 0x71e4b9
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x71e60c
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x71e60c
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 2]
test al, al
je 0x71e60c
cmp al, 0xff
jne 0x71e578
movzx eax, byte [ebp]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, word [edx]
mov edx, eax
and edx, 0xf800
mov dword [esp + 0x54], eax
imul edx, ebp
and eax, 0x7e0
imul eax, ebp
shr edx, 0x13
mov dx, word [ebx + edx*4]
shr eax, 0xd
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, ebp
shr eax, 8
jmp 0x71e5d6
movzx edx, word [edx]
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
mov dword [esp + 0x54], edx
and edx, 0xf800
imul edx, ebp
movzx eax, al
imul edx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
and eax, 0x7e0
imul eax, ebp
imul eax, dword [esp + 0x4c]
shr edx, 0x1b
mov dx, word [ebx + edx*4]
shr eax, 0x15
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, ebp
imul eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], ebp
shr eax, 0x10
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
je 0x71e637
cmp ecx, dword [esp + 0x40]
jl 0x71e4b5
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71e6e4
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71e400
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71e400
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71e766
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71e918
cmp edi, dword [esp + 0x6c]
jge 0x71e918
cmp ecx, dword [esp + 0x40]
jge 0x71e918
test esi, esi
jle 0x71e918
jmp 0x71e7f0
cmp edx, dword [esp + 0x100]
jae 0x71e8ed
cmp eax, dword [esp + 0xbc]
jae 0x71e8ed
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, byte [ebp]
movzx ebp, word [edx]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, byte [edx + 2]
mov dword [esp + 0x54], ebp
and ebp, 0xf800
imul ebp, eax
imul ebp, edx
mov dword [esp + 0x4c], edx
shr ebp, 0x1b
mov dx, word [ebx + ebp*4]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x2c], eax
and ebp, 0x7e0
imul ebp, eax
mov eax, dword [esp + 0x54]
imul ebp, dword [esp + 0x4c]
and eax, 0x1f
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shl dx, 6
shr ebp, 0x15
add dx, word [ebx + ebp*4]
shr eax, 0x10
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71e918
cmp ecx, dword [esp + 0x40]
jl 0x71e7f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71e9c5
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71e735
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71e735
cmp dword [esp + 0x134], 0
je 0x71ed00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71ea55
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71ebf8
cmp edi, dword [esp + 0x6c]
jge 0x71ebf8
cmp ecx, dword [esp + 0x40]
jge 0x71ebf8
test esi, esi
jle 0x71ebf8
jmp 0x71eae0
cmp eax, dword [esp + 0x100]
jae 0x71ebc9
cmp ebp, dword [esp + 0xbc]
jae 0x71ebc9
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x71ebc5
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x71ebf8
cmp ecx, dword [esp + 0x40]
jl 0x71eae0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71eca5
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71ea24
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71ea24
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71ed31
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71eeba
cmp edi, dword [esp + 0x6c]
jge 0x71eeba
cmp ecx, dword [esp + 0x40]
jge 0x71eeba
test esi, esi
jle 0x71eeba
cmp edx, dword [esp + 0x100]
jae 0x71ee8f
cmp eax, dword [esp + 0xbc]
jae 0x71ee8f
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
sar eax, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, byte [ebp]
movzx ebp, byte [eax + 0xcc2d28]
movzx eax, word [edx]
mov edx, eax
and edx, 0xf800
imul edx, ebp
mov dword [esp + 0x54], eax
and eax, 0x7e0
imul eax, ebp
shr edx, 0x13
mov dx, word [ebx + edx*4]
shr eax, 0xd
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, ebp
shl dx, 5
shr eax, 8
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71eeba
cmp ecx, dword [esp + 0x40]
jl 0x71edb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71ef67
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71ed00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71ed00
cmp dword [eax + 0x28], 1
jne 0x71f657
cmp dword [esp + 0x134], 0
je 0x71f360
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71f001
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71f25f
cmp edi, dword [esp + 0x6c]
jge 0x71f25f
cmp ecx, dword [esp + 0x40]
jge 0x71f25f
test esi, esi
jle 0x71f25f
jmp 0x71f089
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x71f234
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x71f234
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov al, byte [edx + 2]
test al, al
je 0x71f234
cmp al, 0xff
jne 0x71f17b
movzx eax, word [edx]
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
mov dword [esp + 0x54], eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, bp
jmp 0x71f209
movzx edx, word [edx]
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
movzx eax, al
mov dword [esp + 0x4c], eax
mov eax, edx
shr eax, 5
and eax, 0x3f
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xa4]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
imul eax, dword [esp + 0x4c]
shr edx, 0xb
mov edx, dword [ebp + edx*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa8]
shr eax, 0x10
shr edx, 0x10
mov dx, word [ebx + edx*4]
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shr eax, 0x10
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
je 0x71f25f
cmp ecx, dword [esp + 0x40]
jl 0x71f085
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71f30c
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71efd0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71efd0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71f391
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71f559
cmp edi, dword [esp + 0x6c]
jge 0x71f559
cmp ecx, dword [esp + 0x40]
jge 0x71f559
test esi, esi
jle 0x71f559
cmp edx, dword [esp + 0x100]
jae 0x71f52e
cmp eax, dword [esp + 0xbc]
jae 0x71f52e
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
add ebp, eax
movzx eax, word [edx]
movzx edx, byte [edx + 2]
add ebp, dword [esp + 0xac]
mov dword [esp + 0x4c], edx
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
mov edx, eax
mov dword [esp + 0x54], eax
shr edx, 5
shr eax, 0xb
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xa4]
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul edx, dword [esp + 0x4c]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
shr eax, 0x10
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 0x10
and eax, 0x1f
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 0x10
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71f559
cmp ecx, dword [esp + 0x40]
jl 0x71f410
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71f606
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71f360
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71f360
cmp dword [esp + 0x134], 0
je 0x71f960
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71f696
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add ebp, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jl 0x71f860
cmp edi, dword [esp + 0x6c]
jge 0x71f860
cmp ecx, dword [esp + 0x40]
jge 0x71f860
test esi, esi
jle 0x71f860
jmp 0x71f720
cmp eax, dword [esp + 0x100]
jae 0x71f831
cmp ebp, dword [esp + 0xbc]
jae 0x71f831
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebp, eax
add ebp, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x71f82d
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 8
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add eax, dword [esp + 0x44]
add ebp, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
je 0x71f860
cmp ecx, dword [esp + 0x40]
jl 0x71f720
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71f90d
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71f665
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71f665
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71f991
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov edx, ecx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
mov dword [esp + 0x14], edx
imul edx, dword [esp + 0x44]
add edx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x71fb42
cmp edi, dword [esp + 0x6c]
jge 0x71fb42
cmp ecx, dword [esp + 0x40]
jge 0x71fb42
test esi, esi
jle 0x71fb42
cmp edx, dword [esp + 0x100]
jae 0x71fb17
cmp eax, dword [esp + 0xbc]
jae 0x71fb17
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
add ebp, eax
movzx eax, word [edx]
add ebp, dword [esp + 0xac]
mov dword [esp + 0x54], eax
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], edx
mov edx, eax
shr edx, 5
shr eax, 0xb
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
imul edx, dword [esp + 0x2c]
mov eax, dword [ebp + eax*4]
imul eax, dword [esp + 0x2c]
shr eax, 8
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shr edx, 8
and eax, 0x1f
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + eax*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
je 0x71fb42
cmp ecx, dword [esp + 0x40]
jl 0x71fa10
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71fbef
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71f960
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71f960
cmp edx, 0xffffff
jne 0x720724
cmp dword [eax + 0x28], 1
jne 0x720202
cmp dword [esp + 0x134], 0
je 0x71ff60
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71fc95
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x71fe60
cmp edi, dword [esp + 0x6c]
jge 0x71fe60
cmp ecx, dword [esp + 0x40]
jge 0x71fe60
test esi, esi
jle 0x71fe60
jmp 0x71fd20
cmp ebp, dword [esp + 0x100]
jae 0x71fe31
cmp eax, dword [esp + 0xbc]
jae 0x71fe31
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 2]
test al, al
je 0x71fe2d
cmp al, 0xff
jne 0x71fdaa
movzx eax, word [ebp]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shr ebp, 5
shl dx, 6
and ebp, 0x3f
add dx, word [ebx + ebp*4]
shl dx, 5
and eax, 0x1f
jmp 0x71fdfb
movzx ebp, word [ebp]
movzx edx, al
mov eax, ebp
and eax, 0xf800
imul eax, edx
mov dword [esp + 0x54], ebp
and ebp, 0x7e0
imul ebp, edx
shr eax, 0x13
mov ax, word [ebx + eax*4]
shl ax, 6
shr ebp, 0xd
add ax, word [ebx + ebp*4]
shl ax, 5
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
mov dx, word [esp + 0xdc]
shr eax, 8
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x71fe60
cmp ecx, dword [esp + 0x40]
jl 0x71fd20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x71ff0d
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71fc64
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71fc64
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x71ff91
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x720104
cmp edi, dword [esp + 0x6c]
jge 0x720104
cmp ecx, dword [esp + 0x40]
jge 0x720104
test esi, esi
jle 0x720104
cmp ebp, dword [esp + 0x100]
jae 0x7200d9
cmp eax, dword [esp + 0xbc]
jae 0x7200d9
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
movzx eax, word [edx]
movzx edx, byte [edx + 2]
mov ebp, eax
mov dword [esp + 0x54], eax
and ebp, 0xf800
imul ebp, edx
and eax, 0x7e0
imul eax, edx
shr ebp, 0x13
mov bp, word [ebx + ebp*4]
shr eax, 0xd
shl bp, 6
add bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shr eax, 8
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x720104
cmp ecx, dword [esp + 0x40]
jl 0x720010
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7201b1
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x71ff60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x71ff60
cmp dword [esp + 0x134], 0
je 0x7204a0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x720241
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x7203a2
cmp edi, dword [esp + 0x6c]
jge 0x7203a2
cmp ecx, dword [esp + 0x40]
jge 0x7203a2
test esi, esi
jle 0x7203a2
cmp ebp, dword [esp + 0x100]
jae 0x720377
cmp eax, dword [esp + 0xbc]
jae 0x720377
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
je 0x72036f
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7203a2
cmp ecx, dword [esp + 0x40]
jl 0x7202c2
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72044f
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x720210
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x720210
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7204d1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x720626
cmp edi, dword [esp + 0x6c]
jge 0x720626
cmp ecx, dword [esp + 0x40]
jge 0x720626
test esi, esi
jle 0x720626
cmp ebp, dword [esp + 0x100]
jae 0x7205fb
cmp eax, dword [esp + 0xbc]
jae 0x7205fb
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x720626
cmp ecx, dword [esp + 0x40]
jl 0x720550
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7206d3
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x7204a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7204a0
cmp dword [eax + 0x28], 1
jne 0x720d49
cmp dword [esp + 0x134], 0
je 0x720a75
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x720771
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x720977
cmp edi, dword [esp + 0x6c]
jge 0x720977
cmp ecx, dword [esp + 0x40]
jge 0x720977
test esi, esi
jle 0x720977
cmp ebp, dword [esp + 0x100]
jae 0x720948
cmp eax, dword [esp + 0xbc]
jae 0x720948
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov al, byte [ebp + 2]
test al, al
je 0x720944
cmp al, 0xff
jne 0x7208a9
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
mov dword [esp + 0x54], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
shl bp, 5
add bp, word [ebx + eax*4]
movzx eax, bp
jmp 0x720919
movzx ebp, word [ebp]
movzx eax, al
mov edx, ebp
and edx, 0xf800
imul edx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], ebp
and ebp, 0x7e0
imul ebp, dword [esp + 0x4c]
shr edx, 0x13
mov edx, dword [eax + edx*4]
mov dx, word [ebx + edx*4]
mov eax, dword [esp + 0xa4]
shr ebp, 0xd
mov eax, dword [eax + ebp*4]
mov ebp, dword [esp + 0xa8]
shl dx, 6
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, dword [esp + 0x4c]
shr eax, 8
mov eax, dword [ebp + eax*4]
shl dx, 5
add dx, word [ebx + eax*4]
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x720977
cmp ecx, dword [esp + 0x40]
jl 0x7207f2
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x720a24
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x720740
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x720740
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x720aa6
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x720c4b
cmp edi, dword [esp + 0x6c]
jge 0x720c4b
cmp ecx, dword [esp + 0x40]
jge 0x720c4b
test esi, esi
jle 0x720c4b
jmp 0x720b30
cmp ebp, dword [esp + 0x100]
jae 0x720c20
cmp eax, dword [esp + 0xbc]
jae 0x720c20
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
movzx edx, word [eax]
movzx eax, byte [eax + 2]
mov ebp, edx
mov dword [esp + 0x4c], eax
and ebp, 0xf800
imul ebp, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], edx
and edx, 0x7e0
imul edx, dword [esp + 0x4c]
shr ebp, 0x13
mov eax, dword [eax + ebp*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0xa4]
shr edx, 0xd
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, dword [esp + 0x4c]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
shr eax, 8
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x720c4b
cmp ecx, dword [esp + 0x40]
jl 0x720b30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x720cf8
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x720a75
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x720a75
cmp dword [esp + 0x134], 0
je 0x721020
jmp 0x720d60
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x720d91
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x48]
add ebp, eax
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x9c]
add eax, dword [esp + 0x88]
add esi, 1
add edx, eax
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov eax, edx
mov dword [esp + 0x14], edx
jl 0x720f18
cmp edi, dword [esp + 0x6c]
jge 0x720f18
cmp ecx, dword [esp + 0x40]
jge 0x720f18
test esi, esi
jle 0x720f18
cmp ebp, dword [esp + 0x100]
jae 0x720eed
cmp eax, dword [esp + 0xbc]
jae 0x720eed
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x720ee5
mov ebp, dword [esp + 0xa4]
mov edx, eax
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x720f18
cmp ecx, dword [esp + 0x40]
jl 0x720e12
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x720fc5
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x720d60
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x720d60
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x721051
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebp, ecx
sub ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
imul ebp, dword [esp + 0x44]
add ebp, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7211cc
cmp edi, dword [esp + 0x6c]
jge 0x7211cc
cmp ecx, dword [esp + 0x40]
jge 0x7211cc
test esi, esi
jle 0x7211cc
cmp ebp, dword [esp + 0x100]
jae 0x7211a1
cmp eax, dword [esp + 0xbc]
jae 0x7211a1
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
mov ebp, dword [esp + 0xa4]
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
mov edx, eax
shr edx, 5
mov dword [esp + 0x54], eax
and edx, 0x3f
mov edx, dword [ebp + edx*4]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov bp, word [ebx + eax*4]
mov eax, dword [esp + 0x54]
shl bp, 6
add bp, word [ebx + edx*4]
mov edx, dword [esp + 0xa8]
and eax, 0x1f
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
shl bp, 5
add bp, word [ebx + eax*4]
or edx, 0x8210820
movzx eax, bp
and eax, 0xf7def7df
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
mov ebp, dword [esp + 0x1c]
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7211cc
cmp ecx, dword [esp + 0x40]
jl 0x7210d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x721279
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x721020
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721020
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x722adb
cmp edx, 0xffffff
jne 0x721e81
cmp dword [eax + 0x28], 1
jne 0x721906
cmp dword [esp + 0x134], 0
je 0x721644
jmp 0x721310
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x721342
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x721549
cmp edi, dword [esp + 0x6c]
jge 0x721549
cmp ecx, dword [esp + 0x40]
jge 0x721549
test esi, esi
jle 0x721549
lea ecx, [ecx]
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x100]
jae 0x72151c
cmp eax, dword [esp + 0xbc]
jae 0x72151c
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov eax, ebx
movzx eax, byte [eax]
mov bl, byte [edx + 2]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, word [edx]
mov dword [esp + 0x2c], eax
movzx eax, word [ebp]
mov ebp, edx
shr ebp, 5
mov dword [esp + 0x54], edx
shr edx, 0xb
and ebp, 0x3f
cmp bl, 0xff
jne 0x7214a8
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul ebx, ebp
imul ebx, dword [esp + 0x2c]
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebx, 9
and ebx, 0x7e0
mov edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebp, ebx
sar ebp, 2
and ebp, 0xf800
or edx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
mov edx, dword [esp + 0x58]
imul eax, ebx
sar eax, 0xd
jmp 0x72150e
movzx ebx, bl
mov dword [esp + 0x4c], ebx
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul ebx, ebp
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
imul ebp, dword [esp + 0x2c]
sar ebx, 0x11
and ebx, 0x7e0
mov edx, ebx
mov ebx, dword [esp + 0x4c]
imul ebp, ebx
sar ebp, 0xa
and ebp, 0xf800
or edx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
imul eax, ebx
sar eax, 0x15
mov ebp, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], dx
mov edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x721549
cmp ecx, dword [esp + 0x40]
jl 0x7213c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7215f3
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x721310
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721310
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x721675
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x72180b
cmp edi, dword [esp + 0x6c]
jge 0x72180b
cmp ecx, dword [esp + 0x40]
jge 0x72180b
test esi, esi
jle 0x72180b
jmp 0x7216f0
cmp ebp, dword [esp + 0x100]
jae 0x7217e0
cmp eax, dword [esp + 0xbc]
jae 0x7217e0
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
add ebx, eax
add ebx, dword [esp + 0xac]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx ebx, word [edx]
movzx edx, byte [edx + 2]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x4c], edx
mov ebp, eax
shr ebp, 5
and ebp, 0x3f
mov edx, ebx
shr edx, 5
and edx, 0x3f
imul ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
mov edx, eax
shr edx, 0xb
mov dword [esp + 0x54], ebx
shr ebx, 0xb
imul edx, ebx
imul edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
imul edx, ebx
sar ebp, 0x11
sar edx, 0xa
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
imul eax, dword [esp + 0x2c]
imul eax, ebx
sar eax, 0x15
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x72180b
cmp ecx, dword [esp + 0x40]
jl 0x7216f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7218b5
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x721644
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721644
cmp dword [esp + 0x134], 0
je 0x721bd0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x721945
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x721ad4
cmp edi, dword [esp + 0x6c]
jge 0x721ad4
cmp ecx, dword [esp + 0x40]
jge 0x721ad4
test esi, esi
jle 0x721ad4
jmp 0x7219c0
cmp ebp, dword [esp + 0x100]
jae 0x721aa5
cmp eax, dword [esp + 0xbc]
jae 0x721aa5
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
movzx edx, word [edx]
add ebx, eax
add ebx, dword [esp + 0xac]
cmp edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
je 0x721aa5
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov ebx, edx
mov ebp, eax
shr ebp, 5
shr ebx, 5
and ebp, 0x3f
and ebx, 0x3f
imul ebp, ebx
imul ebp, dword [esp + 0x2c]
shr edx, 0xb
mov ebx, eax
shr ebx, 0xb
imul ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x2c]
imul edx, ebx
sar edx, 2
sar ebp, 9
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
imul eax, ebx
sar eax, 0xd
or ebp, eax
mov word [edx], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x721ad4
cmp ecx, dword [esp + 0x40]
jl 0x7219c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x721b7e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x721914
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721914
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x721c01
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x721d86
cmp edi, dword [esp + 0x6c]
jge 0x721d86
cmp ecx, dword [esp + 0x40]
jge 0x721d86
test esi, esi
jle 0x721d86
jmp 0x721c80
cmp ebp, dword [esp + 0x100]
jae 0x721d5b
cmp eax, dword [esp + 0xbc]
jae 0x721d5b
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0xcc2d28]
movzx edx, word [edx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov ebx, edx
mov ebp, eax
shr ebp, 5
shr ebx, 5
and ebp, 0x3f
and ebx, 0x3f
imul ebp, ebx
imul ebp, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
shr edx, 0xb
mov ebx, eax
shr ebx, 0xb
imul ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x2c]
imul edx, ebx
sar edx, 2
sar ebp, 9
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
mov edx, dword [esp + 0x10]
imul eax, ebx
sar eax, 0xd
or ebp, eax
mov eax, dword [esp + 0x14]
mov word [edx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x721d86
cmp ecx, dword [esp + 0x40]
jl 0x721c80
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x721e30
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x721bd0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721bd0
cmp dword [eax + 0x28], 1
jne 0x72250b
cmp dword [esp + 0x134], 0
je 0x722220
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x721ed1
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x722123
cmp edi, dword [esp + 0x6c]
jge 0x722123
cmp ecx, dword [esp + 0x40]
jge 0x722123
test esi, esi
jle 0x722123
lea esp, [esp]
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x100]
jae 0x7220f2
cmp eax, dword [esp + 0xbc]
jae 0x7220f2
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebp
imul ebp, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
lea eax, [eax + edx*4]
add ebp, edx
mov dl, byte [eax + 2]
movzx eax, word [eax]
add ebp, dword [esp + 0xac]
cmp dl, 0xff
mov dword [esp + 0x54], eax
jne 0x72204e
movzx edx, byte [ebp]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, word [ebx]
mov dword [esp + 0x50], edx
shr edx, 5
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov edx, dword [esp + 0x50]
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa0]
shr edx, 0xb
shr eax, 0xb
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
shr edx, 2
and edx, 0xf800
shr ebp, 9
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
shr edx, 0xd
jmp 0x7220e9
movzx ebp, byte [ebp]
movzx ebx, word [ebx]
movzx ebp, byte [ebp + 0xcc2d28]
movzx edx, dl
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x2c], ebp
shr ebx, 5
mov edx, eax
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
mov ebp, ebx
mov ebx, dword [esp + 0xa4]
imul ebp, dword [ebx + edx*4]
mov edx, dword [esp + 0x50]
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa0]
imul ebp, dword [esp + 0x4c]
shr edx, 0xb
shr eax, 0xb
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
shr edx, 0xa
and edx, 0xf800
shr ebp, 0x11
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
shr edx, 0x15
mov ebx, dword [esp + 0x10]
or ebp, edx
mov word [ebx], bp
mov eax, dword [esp + 0x44]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x722123
cmp ecx, dword [esp + 0x40]
jl 0x721f50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7221cd
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x721ea0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x721ea0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x722252
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x722410
cmp edi, dword [esp + 0x6c]
jge 0x722410
cmp ecx, dword [esp + 0x40]
jge 0x722410
test esi, esi
jle 0x722410
jmp 0x7222d0
cmp ebx, dword [esp + 0x100]
jae 0x7223e3
cmp eax, dword [esp + 0xbc]
jae 0x7223e3
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, word [edx]
movzx ebx, byte [ebx]
movzx edx, byte [edx + 2]
movzx ebx, byte [ebx + 0xcc2d28]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], ebx
movzx ebx, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x50], ebx
shr ebx, 5
mov edx, eax
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
imul ebx, dword [ebp + edx*4]
mov edx, dword [esp + 0x50]
imul ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
imul ebx, dword [esp + 0x4c]
shr edx, 0xb
mov dword [esp + 0x54], eax
shr eax, 0xb
imul edx, dword [ebp + eax*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa8]
shr edx, 0xa
and edx, 0xf800
shr ebx, 0x11
and ebx, 0x7e0
or ebx, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebp + eax*4]
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
shr edx, 0x15
or ebx, edx
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x722410
cmp ecx, dword [esp + 0x40]
jl 0x7222d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7224ba
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x722220
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x722220
cmp dword [esp + 0x134], 0
je 0x722800
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x722551
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x722704
cmp edi, dword [esp + 0x6c]
jge 0x722704
cmp ecx, dword [esp + 0x40]
jge 0x722704
test esi, esi
jle 0x722704
lea esp, [esp]
cmp edx, dword [esp + 0x100]
jae 0x7226d3
cmp eax, dword [esp + 0xbc]
jae 0x7226d3
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
movzx edx, word [edx]
add ebp, eax
add ebp, dword [esp + 0xac]
cmp edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
je 0x7226cf
movzx eax, byte [ebp]
movzx eax, byte [eax + 0xcc2d28]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx]
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
mov dword [esp + 0x50], eax
and edx, 0x3f
mov ebp, ebx
mov ebx, dword [esp + 0xa4]
imul ebp, dword [ebx + edx*4]
mov edx, dword [esp + 0x54]
imul ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa0]
shr eax, 0xb
shr edx, 0xb
imul eax, dword [ebx + edx*4]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
shr eax, 2
and eax, 0xf800
shr ebp, 9
and ebp, 0x7e0
or ebp, eax
mov eax, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, dword [ebx + edx*4]
imul eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
shr eax, 0xd
or ebp, eax
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x722704
cmp ecx, dword [esp + 0x40]
jl 0x7225d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7227ae
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x722520
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x722520
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x722832
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7229e0
cmp edi, dword [esp + 0x6c]
jge 0x7229e0
cmp ecx, dword [esp + 0x40]
jge 0x7229e0
test esi, esi
jle 0x7229e0
jmp 0x7228b0
cmp ebx, dword [esp + 0x100]
jae 0x7229b3
cmp eax, dword [esp + 0xbc]
jae 0x7229b3
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
movzx edx, byte [ebx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x50], edx
shr edx, 5
and edx, 0x3f
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
imul edx, dword [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
imul edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa0]
shr ebx, 0xb
mov dword [esp + 0x54], eax
shr eax, 0xb
imul ebx, dword [ebp + eax*4]
imul ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x54]
shr edx, 9
and edx, 0x7e0
shr ebx, 2
and ebx, 0xf800
or edx, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
shr edx, 0xd
or ebx, edx
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7229e0
cmp ecx, dword [esp + 0x40]
jl 0x7228b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x722a8a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x722800
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x722800
cmp edx, 0xffffff
jne 0x7235db
cmp dword [eax + 0x28], 1
jne 0x7230b6
cmp dword [esp + 0x134], 0
je 0x722e10
nop
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x722b31
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x722d13
cmp edi, dword [esp + 0x6c]
jge 0x722d13
cmp ecx, dword [esp + 0x40]
jge 0x722d13
test esi, esi
jle 0x722d13
mov ebx, dword [esp + 0x10]
jmp 0x722bb0
cmp ebp, dword [esp + 0x100]
jae 0x722ce6
cmp eax, dword [esp + 0xbc]
jae 0x722ce6
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
mov dl, byte [ebp + 2]
cmp dl, 0xff
movzx eax, word [ebx]
jne 0x722c6b
movzx edx, word [ebp]
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
imul ebp, ebx
mov ebx, eax
and ebx, 0xf800
mov dword [esp + 0x54], edx
and edx, 0xf800
imul ebx, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr ebp, 0xb
shr ebx, 0x10
and ebx, 0xf800
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0x10]
shr eax, 5
or ebp, eax
mov word [ebx], bp
jmp 0x722cde
movzx ebp, word [ebp]
movzx edx, dl
mov dword [esp + 0x4c], edx
mov ebx, ebp
mov edx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
imul edx, dword [esp + 0x4c]
mov dword [esp + 0x54], ebp
mov ebx, eax
shr ebp, 0xb
shr ebx, 0xb
imul ebx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x4c]
imul ebp, ebx
sar edx, 9
and edx, 0x7e0
sar ebp, 2
and ebp, 0xf800
or edx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
mov edx, dword [esp + 0x58]
imul eax, ebx
mov ebx, dword [esp + 0x10]
sar eax, 0xd
or edx, eax
mov word [ebx], dx
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x722d13
cmp ecx, dword [esp + 0x40]
jl 0x722bb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x722dbd
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x722b00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x722b00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x722e41
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x722fbb
cmp edi, dword [esp + 0x6c]
jge 0x722fbb
cmp ecx, dword [esp + 0x40]
jge 0x722fbb
test esi, esi
jle 0x722fbb
mov ebp, dword [esp + 0x10]
jmp 0x722ec0
cmp ebx, dword [esp + 0x100]
jae 0x722f8e
cmp eax, dword [esp + 0xbc]
jae 0x722f8e
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
movzx edx, word [ebx]
movzx eax, word [ebp]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x4c], ebx
mov ebp, edx
shr ebp, 5
mov ebx, eax
shr ebx, 5
and ebp, 0x3f
and ebx, 0x3f
imul ebx, ebp
imul ebx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
mov ebp, eax
shr edx, 0xb
shr ebp, 0xb
imul ebp, edx
sar ebx, 9
and ebx, 0x7e0
mov edx, ebx
mov ebx, dword [esp + 0x4c]
imul ebp, ebx
sar ebp, 2
and ebp, 0xf800
or edx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x10]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
mov edx, dword [esp + 0x58]
imul eax, ebx
mov ebx, dword [esp + 0x1c]
sar eax, 0xd
or edx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], dx
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x722fbb
cmp ecx, dword [esp + 0x40]
jl 0x722ec0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x723065
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], eax
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x722e10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x722e10
cmp dword [esp + 0x134], 0
je 0x723351
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7230f5
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add eax, edx
add ebx, ebp
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x723256
cmp edi, dword [esp + 0x6c]
jge 0x723256
cmp ecx, dword [esp + 0x40]
jge 0x723256
test esi, esi
jle 0x723256
jmp 0x723170
cmp ebx, dword [esp + 0x100]
jae 0x72322f
cmp eax, dword [esp + 0xbc]
jae 0x72322f
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
sar ebp, 0x12
imul ebp, dword [esp + 0x98]
add ebp, dword [esp + 0x90]
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
lea eax, [ebp + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x72322b
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x50], edx
mov ebp, edx
mov edx, eax
and edx, 0x7e0
and ebp, 0x7e0
imul ebp, edx
mov edx, dword [esp + 0x50]
and eax, 0xf800
and edx, 0xf800
imul edx, eax
mov eax, dword [esp + 0x50]
shr edx, 0x10
shr ebp, 0xb
and edx, 0xf800
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr eax, 5
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x48]
add ebx, dword [esp + 0x44]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x14], eax
je 0x723256
cmp ecx, dword [esp + 0x40]
jl 0x723170
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x723300
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7230c4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7230c4
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x723382
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7234e0
cmp edi, dword [esp + 0x6c]
jge 0x7234e0
cmp ecx, dword [esp + 0x40]
jge 0x7234e0
test esi, esi
jle 0x7234e0
mov ebp, dword [esp + 0x10]
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7234b3
cmp eax, dword [esp + 0xbc]
jae 0x7234b3
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx edx, word [eax]
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0x7e0
mov ebp, edx
and ebp, 0x7e0
imul ebx, ebp
mov ebp, eax
and ebp, 0xf800
mov dword [esp + 0x54], edx
and edx, 0xf800
imul ebp, edx
mov edx, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr ebx, 0xb
shr ebp, 0x10
and ebx, 0x7e0
and ebp, 0xf800
or ebx, ebp
mov ebp, dword [esp + 0x10]
shr eax, 5
or ebx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7234e0
cmp ecx, dword [esp + 0x40]
jl 0x723400
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72358a
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], eax
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x723351
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x723351
cmp dword [eax + 0x28], 1
jne 0x723bec
cmp dword [esp + 0x134], 0
je 0x723931
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x723624
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x723836
cmp edi, dword [esp + 0x6c]
jge 0x723836
cmp ecx, dword [esp + 0x40]
jge 0x723836
test esi, esi
jle 0x723836
lea ecx, [ecx]
cmp ebp, dword [esp + 0x100]
jae 0x723805
cmp eax, dword [esp + 0xbc]
jae 0x723805
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebp, [edx + eax*4]
movzx eax, word [ebp]
mov dl, byte [ebp + 2]
cmp dl, 0xff
mov dword [esp + 0x54], eax
jne 0x72377b
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
shr ebx, 5
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov ebx, dword [esp + 0xa0]
mov edx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
shr edx, 0xb
and eax, 0x7c0
imul ax, word [ebx + edx*4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa8]
shr ebp, 1
and ax, 0xf800
and ebp, 0x7e0
or bp, ax
mov eax, dword [esp + 0x54]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
shr edx, 5
or bp, dx
jmp 0x7237fa
movzx ebx, word [ebx]
movzx edx, dl
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
shr ebx, 5
mov edx, eax
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
mov ebp, ebx
mov ebx, dword [esp + 0xa4]
imul ebp, dword [ebx + edx*4]
mov edx, dword [esp + 0x50]
imul ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa0]
shr edx, 0xb
shr eax, 0xb
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
shr edx, 2
and edx, 0xf800
shr ebp, 9
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x4c]
shr edx, 0xd
or ebp, edx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x723836
cmp ecx, dword [esp + 0x40]
jl 0x7236a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7238e0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7235f3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7235f3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x723962
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x723af1
cmp edi, dword [esp + 0x6c]
jge 0x723af1
cmp ecx, dword [esp + 0x40]
jge 0x723af1
test esi, esi
jle 0x723af1
jmp 0x7239e0
cmp ebp, dword [esp + 0x100]
jae 0x723ac4
cmp eax, dword [esp + 0xbc]
jae 0x723ac4
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
movzx ebx, word [ebx]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
movzx eax, word [edx]
movzx edx, byte [edx + 2]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
shr ebx, 5
mov edx, eax
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
mov ebp, ebx
mov ebx, dword [esp + 0xa4]
imul ebp, dword [ebx + edx*4]
mov edx, dword [esp + 0x50]
imul ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa0]
shr edx, 0xb
mov dword [esp + 0x54], eax
shr eax, 0xb
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
shr edx, 2
and edx, 0xf800
shr ebp, 9
and ebp, 0x7e0
or ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
and eax, 0x1f
imul edx, dword [ebx + eax*4]
imul edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
shr edx, 0xd
or ebp, edx
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x723af1
cmp ecx, dword [esp + 0x40]
jl 0x7239e0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x723b9b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x723931
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x723931
cmp dword [esp + 0x134], 0
je 0x723ec0
lea ebx, [ebx]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x723c31
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x723dbf
cmp edi, dword [esp + 0x6c]
jge 0x723dbf
cmp ecx, dword [esp + 0x40]
jge 0x723dbf
test esi, esi
jle 0x723dbf
lea ebx, [ebx]
cmp ebp, dword [esp + 0x100]
jae 0x723d92
cmp eax, dword [esp + 0xbc]
jae 0x723d92
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x723d8a
movzx edx, word [ebx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
mov ebp, edx
mov edx, dword [esp + 0xa4]
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov ebx, dword [esp + 0xa0]
mov edx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
and eax, 0x7c0
shr edx, 0xb
imul ax, word [ebx + edx*4]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa8]
and ax, 0xf800
shr ebp, 1
and ebp, 0x7e0
or bp, ax
mov eax, dword [esp + 0x50]
and eax, 0x1f
and edx, 0x1f
imul eax, dword [ebx + edx*4]
mov ebx, dword [esp + 0x10]
shr eax, 5
or bp, ax
mov word [ebx], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x723dbf
cmp ecx, dword [esp + 0x40]
jl 0x723cb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x723e69
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x723c00
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x723c00
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x723ef1
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x724075
cmp edi, dword [esp + 0x6c]
jge 0x724075
cmp ecx, dword [esp + 0x40]
jge 0x724075
test esi, esi
jle 0x724075
lea ebx, [ebx]
cmp ebp, dword [esp + 0x100]
jae 0x724048
cmp eax, dword [esp + 0xbc]
jae 0x724048
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx edx, word [ebx]
movzx eax, word [eax]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
and edx, 0x3f
mov ebp, edx
mov edx, dword [esp + 0xa4]
shr ebx, 5
mov dword [esp + 0x54], eax
and ebx, 0x3f
imul ebp, dword [edx + ebx*4]
mov ebx, dword [esp + 0xa0]
mov edx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
shr edx, 0xb
and eax, 0x7c0
imul ax, word [ebx + edx*4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa8]
shr ebp, 1
and ax, 0xf800
and ebp, 0x7e0
or bp, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
and edx, 0x1f
imul edx, dword [ebx + eax*4]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
shr edx, 5
or bp, dx
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x724075
cmp ecx, dword [esp + 0x40]
jl 0x723f70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72411f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x723ec0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x723ec0
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x725d1d
cmp edx, 0xffffff
jne 0x724ef8
cmp dword [eax + 0x28], 1
jne 0x7248ba
cmp dword [esp + 0x134], 0
je 0x724590
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x7241e2
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x724491
cmp edi, dword [esp + 0x6c]
jge 0x724491
cmp ecx, dword [esp + 0x40]
jge 0x724491
test esi, esi
jle 0x724491
lea ecx, [ecx]
cmp edx, dword [esp + 0x100]
jae 0x724464
cmp eax, dword [esp + 0xbc]
jae 0x724464
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
movzx ebp, word [ebp]
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx ebx, byte [ebx]
mov al, byte [edx + 2]
movzx ebx, byte [ebx + 0xcc2d28]
mov byte [esp + 0xdc], al
cmp al, 0xff
movzx eax, word [edx]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x2c], ebx
mov edx, ebp
jne 0x72438f
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
shr ebx, 5
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
and ebp, 0x7e0
shl ebp, 0xb
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 5
and eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shl edx, 0x10
sar ebx, 0xb
add eax, edx
and ebx, 0x7e0
sar ebp, 5
sar eax, 0x10
jmp 0x72444a
movzx ebx, byte [esp + 0xdc]
mov dword [esp + 0x4c], ebx
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
and ebp, 0x7e0
shl ebp, 0x13
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0xd
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shl edx, 0x18
sar ebx, 0x13
add eax, edx
and ebx, 0x7e0
sar ebp, 0xd
sar eax, 0x18
mov edx, dword [esp + 0x1c]
and ebp, 0xf800
or ebx, ebp
mov ebp, dword [esp + 0x10]
or ebx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], bx
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x724491
cmp ecx, dword [esp + 0x40]
jl 0x724260
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72453b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7241b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7241b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7245c1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7247bf
cmp edi, dword [esp + 0x6c]
jge 0x7247bf
cmp ecx, dword [esp + 0x40]
jge 0x7247bf
test esi, esi
jle 0x7247bf
jmp 0x724640
cmp ebp, dword [esp + 0x100]
jae 0x724794
cmp eax, dword [esp + 0xbc]
jae 0x724794
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx eax, word [edx]
mov ebp, ebx
movzx ebp, byte [ebp]
movzx ebp, byte [ebp + 0xcc2d28]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x10]
movzx ebx, word [edx]
mov ebp, dword [esp + 0x5c]
movzx ebp, byte [ebp + 2]
mov dword [esp + 0x4c], ebp
mov ebp, ebx
shr ebp, 0xb
mov dword [esp + 0xdc], ebp
mov ebp, ebx
and ebp, 0x1f
mov dword [esp + 0x60], ebp
mov edx, ebx
mov ebp, eax
shr ebp, 5
and ebp, 0x3f
shr edx, 5
and edx, 0x3f
imul ebp, edx
sar ebp, 6
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ebx
and ebx, 0x7e0
shl ebx, 0x13
add ebp, ebx
mov ebx, eax
shr ebx, 0xb
imul ebx, edx
sar ebx, 5
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0xfffff800
shl edx, 0xd
add ebx, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
sar ebp, 0x13
sar ebx, 0xd
shl edx, 0x18
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
sar eax, 0x18
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7247bf
cmp ecx, dword [esp + 0x40]
jl 0x724640
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x724869
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x724590
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x724590
cmp dword [esp + 0x134], 0
je 0x724bf0
jmp 0x7248d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x724901
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x724aeb
cmp edi, dword [esp + 0x6c]
jge 0x724aeb
cmp ecx, dword [esp + 0x40]
jge 0x724aeb
test esi, esi
jle 0x724aeb
jmp 0x724980
cmp ebp, dword [esp + 0x100]
jae 0x724abc
cmp eax, dword [esp + 0xbc]
jae 0x724abc
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
je 0x724abc
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x10]
movzx ebp, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov edx, ebp
mov ebx, eax
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
shl ebp, 0xb
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
sar ebx, 0xb
sar ebp, 5
shl edx, 0x10
and ebp, 0xf800
add eax, edx
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0x1c]
sar eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x724aeb
cmp ecx, dword [esp + 0x40]
jl 0x724980
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x724b95
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7248d0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7248d0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x724c21
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x724dfd
cmp edi, dword [esp + 0x6c]
jge 0x724dfd
cmp ecx, dword [esp + 0x40]
jge 0x724dfd
test esi, esi
jle 0x724dfd
jmp 0x724ca0
cmp ebp, dword [esp + 0x100]
jae 0x724dd2
cmp eax, dword [esp + 0xbc]
jae 0x724dd2
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
movzx eax, word [edx]
mov edx, dword [esp + 0x10]
movzx ebp, word [edx]
mov dword [esp + 0x2c], ebx
mov ebx, ebp
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, ebp
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov edx, ebp
mov ebx, eax
shr ebx, 5
shr edx, 5
and ebx, 0x3f
and edx, 0x3f
imul ebx, edx
sar ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ebp
and ebp, 0x7e0
shl ebp, 0xb
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
imul ebp, edx
sar ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and eax, 0x1f
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
sar eax, 5
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
sar ebx, 0xb
sar ebp, 5
shl edx, 0x10
add eax, edx
and ebp, 0xf800
and ebx, 0x7e0
sar eax, 0x10
or ebx, ebp
mov ebp, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x724dfd
cmp ecx, dword [esp + 0x40]
jl 0x724ca0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x724ea7
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x724bf0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x724bf0
cmp dword [eax + 0x28], 1
jne 0x725699
cmp dword [esp + 0x134], 0
je 0x725350
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x724f42
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x9c]
add ebx, dword [esp + 0x88]
add esi, 1
add eax, ebx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x725250
cmp edi, dword [esp + 0x6c]
jge 0x725250
cmp ecx, dword [esp + 0x40]
jge 0x725250
test esi, esi
jle 0x725250
lea ecx, [ecx]
cmp edx, dword [esp + 0x100]
jae 0x725223
cmp eax, dword [esp + 0xbc]
jae 0x725223
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebx, 0x12
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx ebx, byte [ebx]
mov al, byte [edx + 2]
cmp al, 0xff
movzx ebx, byte [ebx + 0xcc2d28]
mov byte [esp + 0xdc], al
mov dword [esp + 0x2c], ebx
jne 0x72511d
movzx eax, word [edx]
mov dword [esp + 0x54], eax
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x54]
shr ebx, 5
and ebx, 0x3f
mov ebx, dword [ebp + ebx*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
shr ebp, 0x10
jmp 0x72520e
movzx eax, word [ebp]
movzx edx, word [edx]
movzx ebx, byte [esp + 0xdc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], edx
shr edx, 5
and edx, 0x3f
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + edx*4]
mov ebp, eax
shr ebp, 5
and ebp, 0x3f
imul ebx, ebp
shr ebx, 6
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0x13
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 0xd
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 0xd
and ebp, 0xf800
shr ebx, 0x13
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
shl eax, 0x18
add ebp, eax
shr ebp, 0x18
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x725250
cmp ecx, dword [esp + 0x40]
jl 0x724fc0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7252fa
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x724f10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x724f10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x725381
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x72559e
cmp edi, dword [esp + 0x6c]
jge 0x72559e
cmp ecx, dword [esp + 0x40]
jge 0x72559e
test esi, esi
jle 0x72559e
jmp 0x725400
cmp ebp, dword [esp + 0x100]
jae 0x725573
cmp eax, dword [esp + 0xbc]
jae 0x725573
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx ebx, byte [ebx]
movzx eax, word [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebp + 2]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x54], eax
movzx eax, word [edx]
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x54]
shr ebx, 5
and ebx, 0x3f
mov ebx, dword [ebp + ebx*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0x13
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 0xd
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 0xd
and ebp, 0xf800
shr ebx, 0x13
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
shl eax, 0x18
add ebp, eax
mov eax, dword [esp + 0x10]
shr ebp, 0x18
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x72559e
cmp ecx, dword [esp + 0x40]
jl 0x725400
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x725648
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x725350
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x725350
cmp dword [esp + 0x134], 0
je 0x7259f0
jmp 0x7256b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7256e1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x7258f4
cmp edi, dword [esp + 0x6c]
jge 0x7258f4
cmp ecx, dword [esp + 0x40]
jge 0x7258f4
test esi, esi
jle 0x7258f4
jmp 0x725760
cmp ebp, dword [esp + 0x100]
jae 0x7258c5
cmp eax, dword [esp + 0xbc]
jae 0x7258c5
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx eax, word [edx]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x7258c5
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
shr ebx, 5
mov ebp, eax
shr ebp, 0xb
mov dword [esp + 0xdc], ebp
and ebx, 0x3f
mov ebp, eax
and ebp, 0x1f
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + 0xa4]
mov ebx, dword [ebp + ebx*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
mov eax, dword [esp + 0x10]
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x7258f4
cmp ecx, dword [esp + 0x40]
jl 0x725760
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72599e
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7256b0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7256b0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x725a21
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x725c22
cmp edi, dword [esp + 0x6c]
jge 0x725c22
cmp ecx, dword [esp + 0x40]
jge 0x725c22
test esi, esi
jle 0x725c22
jmp 0x725aa0
cmp ebp, dword [esp + 0x100]
jae 0x725bf7
cmp eax, dword [esp + 0xbc]
jae 0x725bf7
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
movzx ebp, word [edx + eax*2]
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], ebp
shr ebp, 5
and ebp, 0x3f
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + ebp*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
mov eax, dword [esp + 0x10]
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x725c22
cmp ecx, dword [esp + 0x40]
jl 0x725aa0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x725ccc
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7259f0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7259f0
cmp edx, 0xffffff
jne 0x7269db
cmp dword [eax + 0x28], 1
jne 0x726407
cmp dword [esp + 0x134], 0
je 0x726111
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x725d72
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x726013
cmp edi, dword [esp + 0x6c]
jge 0x726013
cmp ecx, dword [esp + 0x40]
jge 0x726013
test esi, esi
jle 0x726013
cmp ebx, dword [esp + 0x100]
jae 0x725fe4
cmp eax, dword [esp + 0xbc]
jae 0x725fe4
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
cmp dl, 0xff
mov byte [esp + 0xdc], dl
jne 0x725f02
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, word [eax]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
mov dword [esp + 0x50], edx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
sar edx, 6
sub edx, ebx
mov ebx, dword [esp + 0x5c]
shr ebx, 5
mov dword [esp + 0x54], eax
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, eax
mov eax, dword [esp + 0xdc]
shr edx, 0xb
imul edx, eax
sar edx, 5
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
or bx, dx
mov edx, dword [esp + 0x10]
mov word [edx], bx
jmp 0x725fe0
movzx ebx, word [eax]
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov edx, eax
and edx, 0x7e0
mov dword [esp + 0x58], edx
movzx edx, byte [esp + 0xdc]
mov dword [esp + 0x4c], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
mov dword [esp + 0x54], ebx
and ebx, 0xf800
and edx, 0xf800
imul edx, ebx
mov ebx, eax
shr ebx, 0xb
shr edx, 0x1b
sub edx, ebx
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
and eax, 0xfffff800
shl eax, 5
add edx, eax
mov eax, dword [esp + 0x58]
and ebx, 0x7e0
imul ebx, eax
shr ebx, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
and eax, 0xffffffe0
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x54]
shr edx, 5
and edx, 0xf800
shr ebx, 0x10
and eax, 0x1f
and ebx, 0x7e0
or edx, ebx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x60]
imul eax, edx
shr eax, 5
sub eax, edx
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shl edx, 0x10
add eax, edx
mov edx, dword [esp + 0x58]
shr eax, 0x10
or edx, eax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x726013
cmp ecx, dword [esp + 0x40]
jl 0x725df1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7260c0
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x725d41
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x725d41
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x726142
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x72630c
cmp edi, dword [esp + 0x6c]
jge 0x72630c
cmp ecx, dword [esp + 0x40]
jge 0x72630c
test esi, esi
jle 0x72630c
mov ebp, dword [esp + 0x10]
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7262df
cmp eax, dword [esp + 0xbc]
jae 0x7262df
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
movzx eax, word [ebx]
movzx edx, word [ebp]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x4c], ebx
mov ebp, edx
and ebp, 0x7e0
mov dword [esp + 0x58], ebp
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
and ebp, 0xf800
mov ebx, edx
and ebx, 0xf800
imul ebx, ebp
mov ebp, edx
shr ebp, 0xb
shr ebx, 0x1b
sub ebx, ebp
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov dword [esp + 0x50], edx
and edx, 0xfffff800
mov ebp, eax
shl edx, 5
add ebx, edx
mov edx, dword [esp + 0x58]
and ebp, 0x7e0
imul ebp, edx
shr ebp, 0xb
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xffffffe0
and eax, 0x1f
shl edx, 0x10
add ebp, edx
mov edx, dword [esp + 0x60]
imul eax, edx
shr eax, 5
sub eax, edx
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 5
shr ebp, 0x10
shl edx, 0x10
and ebx, 0xf800
and ebp, 0x7e0
add eax, edx
or ebx, ebp
mov ebp, dword [esp + 0x10]
shr eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x72630c
cmp ecx, dword [esp + 0x40]
jl 0x7261c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7263b6
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], eax
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x726111
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x726111
cmp dword [esp + 0x134], 0
je 0x726701
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x726446
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x726603
cmp edi, dword [esp + 0x6c]
jge 0x726603
cmp ecx, dword [esp + 0x40]
jge 0x726603
test esi, esi
jle 0x726603
jmp 0x7264d0
cmp ebx, dword [esp + 0x100]
jae 0x7265d4
cmp eax, dword [esp + 0xbc]
jae 0x7265d4
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x7265d0
mov edx, dword [esp + 0x10]
movzx eax, word [edx]
movzx edx, ax
mov ebx, edx
shr edx, 0xb
mov dword [esp + 0xdc], edx
movzx edx, ax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x54]
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
sar edx, 6
sub edx, ebx
mov ebx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xdc]
shr ebx, 5
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, dword [esp + 0x54]
shr edx, 0xb
imul edx, eax
sar edx, 5
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
or bx, dx
mov edx, dword [esp + 0x10]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x726603
cmp ecx, dword [esp + 0x40]
jl 0x7264d0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7266b0
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x726415
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x726415
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x726732
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7268dd
cmp edi, dword [esp + 0x6c]
jge 0x7268dd
cmp ecx, dword [esp + 0x40]
jge 0x7268dd
test esi, esi
jle 0x7268dd
cmp ebx, dword [esp + 0x100]
jae 0x7268b2
cmp eax, dword [esp + 0xbc]
jae 0x7268b2
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, word [eax]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
mov dword [esp + 0x50], edx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x50]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
imul edx, ebx
sar edx, 6
sub edx, ebx
mov ebx, dword [esp + 0x5c]
shr ebx, 5
mov dword [esp + 0x54], eax
and ebx, 0x3f
add bx, word [ebp + edx*4]
mov edx, eax
mov eax, dword [esp + 0xdc]
shr edx, 0xb
imul edx, eax
sar edx, 5
sub edx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl ax, 0xb
shl bx, 5
or bx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x14]
or bx, dx
mov edx, dword [esp + 0x10]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x7268dd
cmp ecx, dword [esp + 0x40]
jl 0x7267b1
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72698a
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x726701
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x726701
cmp dword [eax + 0x28], 1
jne 0x72712e
cmp dword [esp + 0x134], 0
je 0x726e10
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x726a24
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x726d0b
cmp edi, dword [esp + 0x6c]
jge 0x726d0b
cmp ecx, dword [esp + 0x40]
jge 0x726d0b
test esi, esi
jle 0x726d0b
cmp ebx, dword [esp + 0x100]
jae 0x726cdc
cmp eax, dword [esp + 0xbc]
jae 0x726cdc
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
mov byte [esp + 0xdc], dl
cmp dl, 0xff
mov edx, dword [esp + 0x10]
jne 0x726bd8
movzx edx, word [edx]
movzx eax, word [eax]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov ebx, edx
shr ebx, 5
and ebx, 0x3f
mov dword [esp + 0xac], ebx
mov ebx, edx
shr ebx, 0xb
and edx, 0x1f
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0xdc]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa8]
shl ax, 0xb
shl dx, 5
or dx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
jmp 0x726cd8
movzx ebx, word [eax]
movzx eax, word [edx]
mov edx, eax
shr edx, 5
and edx, 0x3f
mov dword [esp + 0xac], edx
movzx edx, byte [esp + 0xdc]
mov dword [esp + 0x4c], edx
mov edx, eax
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x54], ebx
shr ebx, 5
and ebx, 0x3f
mov ebx, dword [edx + ebx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
and eax, 0xffffffe0
shl eax, 0xb
add ebx, eax
mov eax, dword [esp + 0x54]
shr eax, 0xb
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0xdc]
imul edx, eax
shr edx, 5
sub edx, eax
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
and eax, 0xfffff800
shl eax, 5
add edx, eax
mov eax, dword [esp + 0x54]
shr edx, 5
and edx, 0xf800
shr ebx, 0xb
and eax, 0x1f
and ebx, 0x7e0
or ebx, edx
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x60]
imul edx, eax
shr edx, 5
sub edx, eax
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x10]
shr edx, 0x10
and edx, 0x1f
or ebx, edx
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x726d0b
cmp ecx, dword [esp + 0x40]
jl 0x726aa3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x726db8
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7269f3
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7269f3
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x726e41
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x727033
cmp edi, dword [esp + 0x6c]
jge 0x727033
cmp ecx, dword [esp + 0x40]
jge 0x727033
test esi, esi
jle 0x727033
mov ebp, dword [esp + 0x10]
jmp 0x726ec0
cmp ebx, dword [esp + 0x100]
jae 0x727006
cmp eax, dword [esp + 0xbc]
jae 0x727006
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
movzx eax, word [ebp]
movzx edx, word [ebx]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x54], edx
mov ebx, eax
shr ebx, 0xb
mov dword [esp + 0xdc], ebx
mov ebx, eax
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x54]
shr ebx, 5
and ebx, 0x3f
mov ebx, dword [ebp + ebx*4]
mov edx, eax
shr edx, 5
and edx, 0x3f
imul ebx, edx
shr ebx, 6
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0xdc]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 5
add ebp, edx
mov edx, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and edx, 0x1f
mov ebp, dword [ebp + edx*4]
mov edx, dword [esp + 0x60]
imul ebp, edx
shr ebp, 5
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
shl eax, 0x10
add ebp, eax
mov eax, dword [esp + 0x14]
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x727033
cmp ecx, dword [esp + 0x40]
jl 0x726ec0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7270dd
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x726e10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x726e10
cmp dword [esp + 0x134], 0
je 0x727450
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x727171
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x727350
cmp edi, dword [esp + 0x6c]
jge 0x727350
cmp ecx, dword [esp + 0x40]
jge 0x727350
test esi, esi
jle 0x727350
cmp ebx, dword [esp + 0x100]
jae 0x727321
cmp eax, dword [esp + 0xbc]
jae 0x727321
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
je 0x72731d
mov edx, dword [esp + 0x10]
movzx eax, word [edx]
movzx ebx, ax
mov edx, ebx
shr edx, 5
and edx, 0x3f
mov dword [esp + 0xac], edx
mov edx, ebx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, ebx
mov ebx, dword [esp + 0xa4]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x54]
shr edx, 5
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
mov edx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
shr eax, 0xb
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0xdc]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa8]
shl ax, 0xb
shl dx, 5
or dx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x727350
cmp ecx, dword [esp + 0x40]
jl 0x7271f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7273fd
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x727140
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x727140
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x727481
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x727652
cmp edi, dword [esp + 0x6c]
jge 0x727652
cmp ecx, dword [esp + 0x40]
jge 0x727652
test esi, esi
jle 0x727652
cmp ebx, dword [esp + 0x100]
jae 0x727627
cmp eax, dword [esp + 0xbc]
jae 0x727627
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
movzx eax, word [eax]
movzx ebx, dx
mov dword [esp + 0x5c], edx
mov edx, ebx
shr edx, 5
and edx, 0x3f
mov dword [esp + 0xac], edx
mov edx, ebx
shr edx, 0xb
mov dword [esp + 0xdc], edx
mov edx, ebx
mov ebx, dword [esp + 0xa4]
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xac]
imul ebx, edx
shr ebx, 6
sub ebx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0xdc]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov ax, word [esp + 0x5c]
shr ax, 0xb
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0xa8]
shl ax, 0xb
shl dx, 5
or dx, ax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
imul ebx, eax
shr ebx, 5
sub ebx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x727652
cmp ecx, dword [esp + 0x40]
jl 0x727500
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7276ff
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x727450
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x727450
mov edx, dword [0xb160d4]
and edx, 0xffffff
cmp dword [esp + 0x138], 0
je 0x729233
cmp edx, 0xffffff
jne 0x728471
cmp dword [eax + 0x28], 1
jne 0x727e73
cmp dword [esp + 0x134], 0
je 0x727b70
mov edi, edi
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x7277c2
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x727a75
cmp edi, dword [esp + 0x6c]
jge 0x727a75
cmp ecx, dword [esp + 0x40]
jge 0x727a75
test esi, esi
jle 0x727a75
lea ecx, [ecx]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x727a48
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x727a48
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
sar ebx, 0x12
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
mov dword [esp + 0x2c], ebx
mov bl, byte [edx + 2]
test bl, bl
je 0x727a48
cmp bl, 0xff
jne 0x72797c
mov ax, word [edx]
movzx edx, word [ebp]
mov ebx, dword [esp + 0x2c]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov dword [esp + 0x2c], ebx
not ax
movzx eax, ax
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, edx
and ebx, 0x7e0
mov ebp, eax
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
and ebx, 0xf800
mov dword [esp + 0x50], edx
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
and ebx, 0xf800
and ebp, 0x7e0
add eax, edx
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov dword [esp + 0x58], ebp
mov ebx, ebp
jmp 0x727a40
mov dx, word [edx]
movzx ebp, word [ebp]
not dx
movzx eax, dx
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
movzx edx, byte [edx + 0xcc2d28]
mov dword [esp + 0x2c], edx
movzx edx, bl
mov dword [esp + 0x4c], edx
mov edx, ebp
and edx, 0x1f
mov dword [esp + 0x60], edx
mov ebx, eax
shr ebx, 5
mov edx, ebp
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, ebp
and edx, 0xffffffe0
shl edx, 0x13
add ebx, edx
mov edx, eax
shr edx, 0xb
mov dword [esp + 0x50], ebp
shr ebp, 0xb
sub edx, ebp
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov ebp, edx
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0xd
and eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x13
shr ebp, 0xd
shl edx, 0x18
and ebx, 0x7e0
and ebp, 0xf800
add eax, edx
or ebx, ebp
shr eax, 0x18
or ebx, eax
mov ebp, dword [esp + 0x10]
mov word [ebp], bx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x14], edx
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebp
je 0x727a75
cmp ecx, dword [esp + 0x40]
jl 0x727840
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x727b1f
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x727790
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x727790
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x727ba1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x727d78
cmp edi, dword [esp + 0x6c]
jge 0x727d78
cmp ecx, dword [esp + 0x40]
jge 0x727d78
test esi, esi
jle 0x727d78
jmp 0x727c20
cmp ebp, dword [esp + 0x100]
jae 0x727d4d
cmp eax, dword [esp + 0xbc]
jae 0x727d4d
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea ebp, [edx + eax*4]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ax, word [ebp]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [ebp + 2]
mov dword [esp + 0x4c], ebx
not ax
movzx eax, ax
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
shr ebx, 5
mov ebp, edx
shr ebp, 5
and ebp, 0x3f
and ebx, 0x3f
sub ebx, ebp
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, edx
and ebp, 0xffffffe0
shl ebp, 0x13
add ebx, ebp
mov ebp, eax
shr ebp, 0xb
mov dword [esp + 0x50], edx
shr edx, 0xb
sub ebp, edx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0xd
add ebp, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x13
shr ebp, 0xd
shl edx, 0x18
add eax, edx
and ebp, 0xf800
and ebx, 0x7e0
shr eax, 0x18
or ebx, ebp
mov ebp, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x727d78
cmp ecx, dword [esp + 0x40]
jl 0x727c20
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x727e22
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x727b70
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x727b70
cmp dword [esp + 0x134], 0
je 0x728181
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x727eb2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x728086
cmp edi, dword [esp + 0x6c]
jge 0x728086
cmp ecx, dword [esp + 0x40]
jge 0x728086
test esi, esi
jle 0x728086
jmp 0x727f30
cmp ebp, dword [esp + 0x100]
jae 0x728057
cmp eax, dword [esp + 0xbc]
jae 0x728057
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
sar ebx, 0x12
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
add ebx, eax
movzx eax, word [edx]
add ebx, dword [esp + 0xac]
movzx edx, ax
cmp edx, dword [esp + 0x58]
je 0x728057
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
not eax
movzx eax, ax
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and ebx, 0xf800
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
shl edx, 0x10
and eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
and ebp, 0x7e0
add eax, edx
and ebx, 0xf800
or ebp, ebx
shr eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x728086
cmp ecx, dword [esp + 0x40]
jl 0x727f30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x728130
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x727e81
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x727e81
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x7281b2
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebx, edx
imul edx, dword [esp + 0x9c]
imul ebx, dword [esp + 0x80]
add ebx, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, ebx
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x728376
cmp edi, dword [esp + 0x6c]
jge 0x728376
cmp ecx, dword [esp + 0x40]
jge 0x728376
test esi, esi
jle 0x728376
jmp 0x728230
cmp ebp, dword [esp + 0x100]
jae 0x72834b
cmp eax, dword [esp + 0xbc]
jae 0x72834b
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
sar ebx, 0x12
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ax, word [edx]
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x2c], ebx
not ax
movzx eax, ax
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebp, eax
mov ebx, edx
and ebx, 0x7e0
and ebp, 0x7e0
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, edx
and ebx, 0xffffffe0
shl ebx, 0x10
add ebp, ebx
mov ebx, eax
mov dword [esp + 0x50], edx
and ebx, 0xf800
and edx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xfffff800
and eax, 0x1f
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, dword [esp + 0x2c]
imul eax, dword [0xb160b8]
shr ebp, 0x10
shr ebx, 0x10
shl edx, 0x10
add eax, edx
and ebp, 0x7e0
and ebx, 0xf800
shr eax, 0x10
or ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x10]
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x728376
cmp ecx, dword [esp + 0x40]
jl 0x728230
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x728420
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x728181
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x728181
cmp dword [eax + 0x28], 1
jne 0x728bde
cmp dword [esp + 0x134], 0
je 0x7288a0
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x7284c1
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jl 0x7287a3
cmp edi, dword [esp + 0x6c]
jge 0x7287a3
cmp ecx, dword [esp + 0x40]
jge 0x7287a3
test esi, esi
jle 0x7287a3
lea esp, [esp]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x100]
jae 0x728776
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xbc]
jae 0x728776
mov eax, edx
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
sar ebp, 0x12
and edx, 0x3ffff
add edx, eax
mov eax, ebp
imul ebp, dword [esp + 0xb8]
imul eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
sar edx, 0x12
add ebp, edx
add ebp, dword [esp + 0xac]
lea eax, [eax + edx*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x728776
cmp dl, 0xff
jne 0x728688
mov dx, word [eax]
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
not dx
movzx edx, dx
mov dword [esp + 0x54], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
jmp 0x72876a
mov ax, word [eax]
not ax
movzx eax, ax
mov dword [esp + 0x54], eax
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
movzx edx, dl
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0x13
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 0xd
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 0xd
and ebx, 0xf800
shr ebp, 0x13
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
shl eax, 0x18
add ebx, eax
shr ebx, 0x18
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], edx
add dword [esp + 0x14], eax
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebx
je 0x7287a3
cmp ecx, dword [esp + 0x40]
jl 0x728540
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72884d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x728490
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x728490
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x7288d2
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x728ae3
cmp edi, dword [esp + 0x6c]
jge 0x728ae3
cmp ecx, dword [esp + 0x40]
jge 0x728ae3
test esi, esi
jle 0x728ae3
jmp 0x728950
cmp ebx, dword [esp + 0x100]
jae 0x728ab6
cmp eax, dword [esp + 0xbc]
jae 0x728ab6
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*4]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ax, word [edx]
movzx edx, byte [edx + 2]
mov dword [esp + 0x2c], ebx
not ax
movzx eax, ax
mov dword [esp + 0x54], eax
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0x13
add edx, ebx
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
shr edx, 0x13
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 0xd
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0xd
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
shl eax, 0x18
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x18
and ebx, 0x1f
mov ebp, dword [esp + 0x10]
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebp], ax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x728ae3
cmp ecx, dword [esp + 0x40]
jl 0x728950
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x728b8d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7288a0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7288a0
cmp dword [esp + 0x134], 0
je 0x728f11
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x728c21
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, eax
imul eax, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
imul ebp, dword [esp + 0x9c]
add ebp, dword [esp + 0x88]
add esi, 1
add eax, ebp
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jl 0x728e16
cmp edi, dword [esp + 0x6c]
jge 0x728e16
cmp ecx, dword [esp + 0x40]
jge 0x728e16
test esi, esi
jle 0x728e16
lea esp, [esp]
cmp edx, dword [esp + 0x100]
jae 0x728de5
cmp eax, dword [esp + 0xbc]
jae 0x728de5
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x1c]
cdq
and edx, 0x3ffff
add eax, edx
sar ebp, 0x12
mov edx, ebp
imul ebp, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*2]
add ebp, eax
movzx eax, word [edx]
add ebp, dword [esp + 0xac]
movzx edx, ax
cmp edx, dword [esp + 0x58]
je 0x728de1
not eax
movzx edx, ax
movzx eax, word [ebx]
movzx ebx, byte [ebp]
movzx ebx, byte [ebx + 0xcc2d28]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
and edx, 0x3f
mov ebp, dword [ebp + edx*4]
sub ebp, ebx
imul ebp, dword [esp + 0x2c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add edx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x728e16
cmp ecx, dword [esp + 0x40]
jl 0x728ca0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x728ec0
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x728bf0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x728bf0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x728f43
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*2]
mov dword [esp + 0x10], ebp
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov eax, edx
imul edx, dword [esp + 0x9c]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x729138
cmp edi, dword [esp + 0x6c]
jge 0x729138
cmp ecx, dword [esp + 0x40]
jge 0x729138
test esi, esi
jle 0x729138
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x72910b
cmp eax, dword [esp + 0xbc]
jae 0x72910b
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
sar ebx, 0x12
cdq
and edx, 0x3ffff
add eax, edx
mov edx, ebx
imul ebx, dword [esp + 0xb8]
imul edx, dword [esp + 0x98]
add edx, dword [esp + 0x90]
sar eax, 0x12
add ebx, eax
add ebx, dword [esp + 0xac]
lea edx, [edx + eax*2]
movzx ebx, byte [ebx]
movzx ebx, byte [ebx + 0xcc2d28]
mov ax, word [edx]
mov dword [esp + 0x2c], ebx
not ax
movzx edx, ax
movzx eax, word [ebp]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x54], edx
mov ebx, eax
shr ebx, 5
and ebx, 0x3f
shr edx, 5
and edx, 0x3f
mov edx, dword [ebp + edx*4]
sub edx, ebx
imul edx, dword [esp + 0x2c]
imul edx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov ebx, eax
and ebx, 0xffffffe0
shl ebx, 0xb
add edx, ebx
mov ebx, dword [esp + 0x54]
shr ebx, 0xb
mov ebx, dword [ebp + ebx*4]
mov dword [esp + 0x50], eax
shr eax, 0xb
sub ebx, eax
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
shr edx, 0xb
and edx, 0x7e0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 5
and ebx, 0xf800
or eax, ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x2c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0x10]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x58]
shr ebx, 0x10
and ebx, 0x1f
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebp], ax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x729138
cmp ecx, dword [esp + 0x40]
jl 0x728fc0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7291e2
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x728f11
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x728f11
cmp edx, 0xffffff
jne 0x729e88
cmp dword [eax + 0x28], 1
jne 0x7298ce
cmp dword [esp + 0x134], 0
je 0x7295f4
jmp 0x729260
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x729291
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7294f6
cmp edi, dword [esp + 0x6c]
jge 0x7294f6
cmp ecx, dword [esp + 0x40]
jge 0x7294f6
test esi, esi
jle 0x7294f6
cmp ebx, dword [esp + 0x100]
jae 0x7294c7
cmp eax, dword [esp + 0xbc]
jae 0x7294c7
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x7294c3
cmp dl, 0xff
jne 0x729409
mov dx, word [eax]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
shr edx, 5
mov ebx, eax
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x54]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
jmp 0x7294bc
mov ax, word [eax]
not ax
movzx edx, dl
movzx ebx, ax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x4c], edx
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, eax
and edx, 0xf800
mov dword [esp + 0x54], ebx
and ebx, 0xf800
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, eax
and edx, 0xfffff800
shl edx, 0x10
add ebx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
and eax, 0x7e0
and edx, 0x7e0
sub edx, eax
imul edx, dword [esp + 0x4c]
imul edx, dword [0xb160b8]
mov eax, dword [esp + 0x50]
and eax, 0xffffffe0
shl eax, 0x10
add edx, eax
mov eax, dword [esp + 0x54]
and eax, 0x1f
sub eax, dword [esp + 0x60]
shr edx, 0x10
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x10
and edx, 0x7e0
and ebx, 0xf800
or ebx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x10
add eax, edx
shr eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x7294f6
cmp ecx, dword [esp + 0x40]
jl 0x729310
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x7295a3
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x729260
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x729260
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x729625
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov ebp, edx
imul edx, dword [esp + 0x9c]
imul ebp, dword [esp + 0x80]
add ebp, dword [esp + 0x94]
add edx, dword [esp + 0x88]
mov ebx, eax
imul eax, dword [esp + 0x48]
imul ebx, dword [esp + 0x44]
add ebx, ebp
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x7297d3
cmp edi, dword [esp + 0x6c]
jge 0x7297d3
cmp ecx, dword [esp + 0x40]
jge 0x7297d3
test esi, esi
jle 0x7297d3
mov ebp, dword [esp + 0x10]
lea esp, [esp]
cmp ebx, dword [esp + 0x100]
jae 0x7297a6
cmp eax, dword [esp + 0xbc]
jae 0x7297a6
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea ebx, [edx + eax*4]
mov dx, word [ebx]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x4c], ebx
not dx
movzx eax, dx
movzx edx, word [ebp]
mov ebx, edx
and ebx, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, eax
and ebx, 0xf800
mov ebp, edx
and ebp, 0xf800
sub ebx, ebp
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, edx
and ebp, 0xfffff800
shl ebp, 0x10
add ebx, ebp
mov ebp, eax
and ebp, 0x7e0
mov dword [esp + 0x50], edx
and edx, 0x7e0
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
and edx, 0xffffffe0
shl edx, 0x10
add ebp, edx
mov edx, dword [esp + 0x60]
and eax, 0x1f
sub eax, edx
imul eax, dword [esp + 0x4c]
imul eax, dword [0xb160b8]
shr ebx, 0x10
shr ebp, 0x10
shl edx, 0x10
and ebx, 0xf800
and ebp, 0x7e0
add eax, edx
or ebx, ebp
mov ebp, dword [esp + 0x10]
shr eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x14]
mov word [ebp], bx
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebp, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
je 0x7297d3
cmp ecx, dword [esp + 0x40]
jl 0x7296a0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72987d
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7295f4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7295f4
cmp dword [esp + 0x134], 0
je 0x729bb4
lea esp, [esp]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x729911
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x729ab6
cmp edi, dword [esp + 0x6c]
jge 0x729ab6
cmp ecx, dword [esp + 0x40]
jge 0x729ab6
test esi, esi
jle 0x729ab6
cmp ebx, dword [esp + 0x100]
jae 0x729a87
cmp eax, dword [esp + 0xbc]
jae 0x729a87
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
movzx edx, ax
cmp edx, dword [esp + 0x58]
je 0x729a83
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
not eax
movzx edx, dx
movzx eax, ax
mov dword [esp + 0x50], edx
mov ebx, eax
shr edx, 5
shr ebx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x54]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x729ab6
cmp ecx, dword [esp + 0x40]
jl 0x729990
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x729b63
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x7298e0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x7298e0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x729be5
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x729d8a
cmp edi, dword [esp + 0x6c]
jge 0x729d8a
cmp ecx, dword [esp + 0x40]
jge 0x729d8a
test esi, esi
jle 0x729d8a
jmp 0x729c70
cmp ebx, dword [esp + 0x100]
jae 0x729d5f
cmp eax, dword [esp + 0xbc]
jae 0x729d5f
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
mov dx, word [eax]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
movzx edx, dx
mov dword [esp + 0x50], edx
mov ebx, eax
shr ebx, 5
shr edx, 5
and edx, 0x3f
and ebx, 0x3f
sub ebx, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
shr eax, 0xb
shr ebx, 0xb
sub eax, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x50]
shl dx, 5
shl bx, 0xb
or dx, bx
mov word [esp + 0xdc], dx
mov edx, dword [esp + 0x54]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x729d8a
cmp ecx, dword [esp + 0x40]
jl 0x729c70
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x729e37
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x729bb4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x729bb4
cmp dword [eax + 0x28], 1
jne 0x72a56a
cmp dword [esp + 0x134], 0
je 0x72a270
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x729ed1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x72a170
cmp edi, dword [esp + 0x6c]
jge 0x72a170
cmp ecx, dword [esp + 0x40]
jge 0x72a170
test esi, esi
jle 0x72a170
cmp ebx, dword [esp + 0x100]
jae 0x72a141
cmp eax, dword [esp + 0xbc]
jae 0x72a141
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*4]
mov dl, byte [eax + 2]
test dl, dl
je 0x72a13d
cmp dl, 0xff
mov ebx, dword [esp + 0xa4]
jne 0x72a06c
mov dx, word [eax]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
shr ebx, 0xb
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
jmp 0x72a13d
mov ax, word [eax]
not ax
movzx ebp, ax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov dword [esp + 0x54], ebp
shr ebp, 5
movzx edx, dl
and ebp, 0x3f
mov ebx, dword [ebx + ebp*4]
mov dword [esp + 0x4c], edx
mov edx, eax
shr edx, 5
and edx, 0x3f
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov ebp, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebp, dword [ebp + edx*4]
sub ebp, eax
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebp, eax
mov eax, dword [esp + 0x54]
shr ebp, 5
and ebp, 0xf800
shr ebx, 0xb
and ebx, 0x7e0
or ebx, ebp
mov ebp, dword [esp + 0xa8]
and eax, 0x1f
mov ebp, dword [ebp + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov edx, dword [esp + 0x10]
shl eax, 0x10
add ebp, eax
shr ebp, 0x10
and ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0xdc]
mov word [edx], bx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x72a170
cmp ecx, dword [esp + 0x40]
jl 0x729f50
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72a21d
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x729ea0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x729ea0
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebx
jge 0x72a2a1
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebx, [ebx + edx*2]
mov dword [esp + 0x10], ebx
mov ecx, eax
mov edx, edi
sub edx, dword [esp + 0x8c]
mov eax, ecx
sub eax, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x80]
add edx, dword [esp + 0x94]
mov ebp, eax
imul eax, dword [esp + 0x48]
imul ebp, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
add esi, 1
add eax, edx
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
jl 0x72a46f
cmp edi, dword [esp + 0x6c]
jge 0x72a46f
cmp ecx, dword [esp + 0x40]
jge 0x72a46f
test esi, esi
jle 0x72a46f
lea ebx, [ebx]
cmp ebp, dword [esp + 0x100]
jae 0x72a442
cmp eax, dword [esp + 0xbc]
jae 0x72a442
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebp
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea edx, [edx + eax*4]
mov ax, word [edx]
movzx edx, byte [edx + 2]
not ax
movzx ebp, ax
movzx eax, word [ebx]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], edx
shr ebp, 5
mov edx, eax
and ebp, 0x3f
mov ebp, dword [ebx + ebp*4]
shr edx, 5
and edx, 0x3f
sub ebp, edx
imul ebp, dword [esp + 0x4c]
imul ebp, dword [0xb160b8]
mov ebx, dword [esp + 0xa0]
mov edx, eax
and edx, 0xffffffe0
shl edx, 0xb
add ebp, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
shr eax, 0xb
shr edx, 0xb
mov ebx, dword [ebx + edx*4]
sub ebx, eax
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
mov edx, dword [esp + 0x50]
mov eax, edx
and eax, 0xfffff800
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x54]
shr ebx, 5
and ebx, 0xf800
shr ebp, 0xb
and ebp, 0x7e0
or ebp, ebx
mov ebx, dword [esp + 0xa8]
and eax, 0x1f
mov ebx, dword [ebx + eax*4]
mov eax, dword [esp + 0x50]
and edx, 0x1f
sub ebx, edx
imul ebx, dword [esp + 0x4c]
imul ebx, dword [0xb160b8]
shl eax, 0x10
add ebx, eax
mov eax, dword [esp + 0x14]
shr ebx, 0x10
and ebx, 0x1f
or ebp, ebx
mov ebx, dword [esp + 0x10]
mov word [ebx], bp
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add ebx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
je 0x72a46f
cmp ecx, dword [esp + 0x40]
jl 0x72a320
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72a519
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x72a270
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72a270
cmp dword [esp + 0x134], 0
je 0x72a870
jmp 0x72a580
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x72a5b1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x72a772
cmp edi, dword [esp + 0x6c]
jge 0x72a772
cmp ecx, dword [esp + 0x40]
jge 0x72a772
test esi, esi
jle 0x72a772
cmp ebx, dword [esp + 0x100]
jae 0x72a743
cmp eax, dword [esp + 0xbc]
jae 0x72a743
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x60], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
movzx eax, word [eax]
movzx edx, ax
cmp edx, dword [esp + 0x58]
je 0x72a73f
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ebx, dword [esp + 0xa4]
not eax
movzx eax, ax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
shr ebx, 0xb
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x72a772
cmp ecx, dword [esp + 0x40]
jl 0x72a630
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72a81f
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x72a580
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72a580
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x72a8a1
mov ebx, ecx
sub ebx, eax
add esi, ebx
mov ebx, eax
sub ebx, ecx
lea ecx, [edx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ebx, ecx
sub ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
imul edx, dword [esp + 0x9c]
add edx, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
imul ebx, dword [esp + 0x44]
add ebx, eax
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x48]
add eax, edx
add esi, 1
cmp edi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
jl 0x72aa56
cmp edi, dword [esp + 0x6c]
jge 0x72aa56
cmp ecx, dword [esp + 0x40]
jge 0x72aa56
test esi, esi
jle 0x72aa56
cmp ebx, dword [esp + 0x100]
jae 0x72aa2b
cmp eax, dword [esp + 0xbc]
jae 0x72aa2b
cdq
and edx, 0x3ffff
add eax, edx
sar eax, 0x12
imul eax, dword [esp + 0x98]
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x90]
sar eax, 0x12
lea eax, [edx + eax*2]
mov dx, word [eax]
mov ebx, dword [esp + 0xa4]
not dx
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], edx
shr eax, 5
movzx edx, dx
and eax, 0x3f
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x50], edx
mov ebx, edx
shr edx, 5
and edx, 0x3f
sub eax, edx
mov edx, dword [esp + 0x5c]
shr edx, 5
shr ebx, 0xb
and edx, 0x3f
add dx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa0]
shr eax, 0xb
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0xdc]
sub eax, ebx
mov bx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + eax*4]
mov eax, dword [esp + 0x54]
shl bx, 0xb
shl dx, 5
or dx, bx
mov ebx, dword [esp + 0x50]
and ebx, 0x1f
and eax, 0x1f
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + eax*4]
sub ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x1c]
or dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x44]
add eax, dword [esp + 0x48]
add dword [esp + 0x10], 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
je 0x72aa56
cmp ecx, dword [esp + 0x40]
jl 0x72a920
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72ab03
cmp dword [esp + 0x30], 1
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x72a870
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72a870
mov eax, dword [esp + 0x4c]
cmp dword [eax + 0x1c], 0
mov eax, dword [esp + 0x13c]
jne 0x72abb2
mov edx, dword [esp + 0xa0]
mov ebx, eax
sar eax, 0xb
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0xa4]
sar ebx, 5
and ebx, 0x3f
shl edx, 6
or edx, dword [eax + ebx*4]
mov eax, dword [esp + 0x13c]
mov ebx, dword [esp + 0xa8]
shl edx, 5
and eax, 0x1f
or edx, dword [ebx + eax*4]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x110], edx
jmp 0x72ac01
mov dword [esp + 0x110], eax
movzx edx, al
mov eax, dword [esp + 0xa0]
movzx edx, byte [eax + edx*4]
movzx eax, byte [esp + 0x111]
mov byte [esp + 0x110], dl
mov edx, dword [esp + 0xa4]
mov al, byte [edx + eax*4]
movzx edx, byte [esp + 0x112]
mov byte [esp + 0x111], al
mov eax, dword [esp + 0xa8]
movzx edx, byte [eax + edx*4]
mov byte [esp + 0x112], dl
mov eax, dword [esp + 0x128]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
sub eax, 0
mov edx, dword [0xb160b8]
je 0x72b8d2
sub eax, 1
jne case.0x72b8e0.5
mov eax, dword [0xb160b4]
cmp eax, 0xb
ja case.0x72b8e0.5
jmp dword [eax*4 + 0x72c74c]
cmp edx, 0xff
jne 0x72adc7
jmp case.0x72ac34.0
mov edx, edi
imul edx, dword [esp + 0x74]
add edx, dword [esp + 0x78]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x70]
cmp ecx, edx
jge 0x72ac79
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72accc
cmp edi, dword [esp + 0x6c]
jge 0x72accc
cmp ecx, dword [esp + 0x40]
jge 0x72accc
test esi, esi
jle 0x72accc
mov edx, dword [esp + 0x40]
jmp 0x72acb0
mov ebx, dword [esp + 0x110]
mov dword [eax], ebx
add eax, 4
add ecx, 1
sub esi, 1
je 0x72accc
cmp ecx, edx
jl 0x72acb0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72ad76
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72ac34.0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72ac34.0
test edx, edx
je case.0x72b8e0.5
nop
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*4]
jge 0x72adf9
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72aea1
cmp edi, dword [esp + 0x6c]
jge 0x72aea1
cmp ecx, dword [esp + 0x40]
jge 0x72aea1
test esi, esi
jle 0x72aea1
mov edx, dword [esp + 0x40]
jmp 0x72ae30
movzx ebp, byte [eax]
movzx ebx, byte [esp + 0x110]
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax], bl
movzx ebp, byte [eax + 1]
movzx ebx, byte [esp + 0x111]
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax + 1], bl
movzx ebp, byte [eax + 2]
movzx ebx, byte [esp + 0x112]
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax + 2], bl
add eax, 4
add ecx, 1
sub esi, 1
je 0x72aea1
cmp ecx, edx
jl 0x72ae30
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72af4b
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x72add0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72add0
test edx, edx
je case.0x72b8e0.5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x72afd6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov dword [esp + 0x10], ebp
mov ecx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b08e
cmp edi, dword [esp + 0x6c]
jge 0x72b08e
cmp ecx, dword [esp + 0x40]
jge 0x72b08e
test esi, esi
jle 0x72b08e
nop
movzx eax, byte [esp + 0x110]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [esp + 0x111]
mov ebp, dword [ebp]
mov byte [esp + 0x50], dl
movzx edx, byte [ebx + eax*4]
movzx eax, byte [esp + 0x112]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [esp + 0x50]
mov dword [esp + 0x5c], ebp
and ebp, 0xfefeff
mov eax, edx
or edx, dword [esp + 0x5c]
and eax, 0xfefeff
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x10]
and edx, 0x10100
or eax, edx
or eax, dword [esp + 0x60]
add ebp, 4
mov dword [ebp - 4], eax
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebp
je 0x72b08e
cmp ecx, dword [esp + 0x40]
jl 0x72b000
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72b13b
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x72afa4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72afa4
test edx, edx
je case.0x72b8e0.5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea ebp, [eax + ecx*4]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], ebp
jge 0x72b1c6
mov edx, ecx
sub edx, eax
add esi, edx
mov edx, eax
sub edx, ecx
lea ebp, [ebp + edx*4]
mov dword [esp + 0x10], ebp
mov ecx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b264
cmp edi, dword [esp + 0x6c]
jge 0x72b264
cmp ecx, dword [esp + 0x40]
jge 0x72b264
test esi, esi
jle 0x72b264
nop
movzx eax, byte [esp + 0x110]
movzx edx, byte [ebx + eax*4]
movzx eax, byte [esp + 0x111]
mov byte [esp + 0x50], dl
movzx edx, byte [ebx + eax*4]
movzx eax, byte [esp + 0x112]
mov byte [esp + 0x51], dl
movzx edx, byte [ebx + eax*4]
mov byte [esp + 0x52], dl
mov edx, dword [ebp]
mov eax, dword [esp + 0x50]
and eax, 0xfefefeff
or edx, 0x1010100
sub edx, eax
mov eax, edx
and eax, 0x1010100
mov ebp, eax
shr ebp, 8
sub eax, ebp
mov ebp, dword [esp + 0x10]
and eax, edx
mov dword [ebp], eax
add ebp, 4
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], ebp
je 0x72b264
cmp ecx, dword [esp + 0x40]
jl 0x72b1f0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72b311
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x72b194
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72b194
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*4]
jge 0x72b38b
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b410
cmp edi, dword [esp + 0x6c]
jge 0x72b410
cmp ecx, dword [esp + 0x40]
jge 0x72b410
test esi, esi
jle 0x72b410
mov ebp, dword [esp + 0x40]
jmp 0x72b3c0
movzx ebx, byte [eax]
movzx edx, byte [esp + 0x110]
imul edx, ebx
sar edx, 8
mov byte [eax], dl
movzx edx, byte [eax + 1]
movzx ebx, byte [esp + 0x111]
imul edx, ebx
sar edx, 8
mov byte [eax + 1], dl
movzx edx, byte [eax + 2]
movzx ebx, byte [esp + 0x112]
imul edx, ebx
sar edx, 8
mov byte [eax + 2], dl
add eax, 4
add ecx, 1
sub esi, 1
je 0x72b410
cmp ecx, ebp
jl 0x72b3c0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72b4ba
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72ac34.4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72ac34.4
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*4]
jge 0x72b539
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b600
cmp edi, dword [esp + 0x6c]
jge 0x72b600
cmp ecx, dword [esp + 0x40]
jge 0x72b600
test esi, esi
jle 0x72b600
mov edx, dword [esp + 0x40]
jmp 0x72b570
movzx ebp, byte [eax]
movzx ebx, byte [esp + 0x110]
imul ebx, ebp
sar ebx, 8
movzx ebx, bl
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax], bl
movzx ebp, byte [eax + 1]
movzx ebx, byte [esp + 0x111]
imul ebx, ebp
sar ebx, 8
movzx ebx, bl
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax + 1], bl
movzx ebp, byte [eax + 2]
movzx ebx, byte [esp + 0x112]
imul ebx, ebp
sar ebx, 8
movzx ebx, bl
sub ebx, ebp
imul ebx, dword [0xb160b8]
shl ebp, 8
add ebx, ebp
sar ebx, 8
mov byte [eax + 2], bl
add eax, 4
add ecx, 1
sub esi, 1
je 0x72b600
cmp ecx, edx
jl 0x72b570
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72b6aa
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72ac34.11
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72ac34.11
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*4]
jge 0x72b729
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b7d7
cmp edi, dword [esp + 0x6c]
jge 0x72b7d7
cmp ecx, dword [esp + 0x40]
jge 0x72b7d7
test esi, esi
jle 0x72b7d7
mov dl, byte [esp + 0x110]
movzx ebp, byte [eax]
not dl
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [eax], dl
movzx edx, byte [esp + 0x111]
movzx ebp, byte [eax + 1]
not dl
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [eax + 1], dl
movzx edx, byte [esp + 0x112]
movzx ebp, byte [eax + 2]
not dl
movzx edx, dl
sub edx, ebp
imul edx, dword [0xb160b8]
shl ebp, 8
add edx, ebp
sar edx, 8
mov byte [eax + 2], dl
add eax, 4
add ecx, 1
sub esi, 1
je 0x72b7d7
cmp ecx, dword [esp + 0x40]
jl 0x72b752
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72b881
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72ac34.10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72ac34.10
mov eax, dword [0xb160b4]
cmp eax, 0xb
ja case.0x72b8e0.5
jmp dword [eax*4 + 0x72c77c]
cmp edx, 0xff
jne 0x72ba69
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*2]
jge 0x72b91c
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*2]
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72b96e
cmp edi, dword [esp + 0x6c]
jge 0x72b96e
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x72b96e
test esi, esi
jle 0x72b96e
jmp 0x72b950
mov bx, word [esp + 0x110]
mov word [eax], bx
add eax, 2
add ecx, 1
sub esi, 1
je 0x72b96e
cmp ecx, edx
jl 0x72b950
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72ba18
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72b8e0.0
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72b8e0.0
test edx, edx
je case.0x72b8e0.5
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0x10], eax
jge 0x72baa2
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*2]
mov dword [esp + 0x10], eax
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72bb81
cmp edi, dword [esp + 0x6c]
jge 0x72bb81
cmp ecx, dword [esp + 0x40]
jge 0x72bb81
test esi, esi
jle 0x72bb81
jmp 0x72bad0
movzx eax, word [eax]
movzx edx, word [esp + 0x110]
mov dword [esp + 0x5c], eax
movzx eax, ax
mov dword [esp + 0x50], eax
shr eax, 5
and eax, 0x3f
mov ebx, edx
shr ebx, 5
and ebx, 0x3f
sub ebx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
and eax, 0x3f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
shr ebx, 0xb
mov dword [esp + 0x58], edx
shr edx, 0xb
sub edx, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + edx*4]
mov edx, dword [esp + 0x58]
shl ax, 5
shl bx, 0xb
or ax, bx
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x50]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
add ecx, 1
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
add eax, 2
sub esi, 1
mov dword [esp + 0x10], eax
je 0x72bb81
cmp ecx, dword [esp + 0x40]
jl 0x72bad0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72bc2e
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne 0x72ba71
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72ba71
test edx, edx
je case.0x72b8e0.5
jmp 0x72bc90
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x72bcc1
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72bd7e
cmp edi, dword [esp + 0x6c]
jge 0x72bd7e
cmp ecx, dword [esp + 0x40]
jge 0x72bd7e
test esi, esi
jle 0x72bd7e
lea ebx, [ebx]
movzx eax, word [esp + 0x110]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, dx
movzx edx, word [eax]
movzx eax, dx
and eax, 0xf7def7df
mov dword [esp + 0x5c], ebp
or edx, dword [esp + 0x5c]
and ebp, 0xf7def7df
add eax, ebp
mov dword [esp + 0x60], eax
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
and edx, 0x820
sub eax, ebp
or eax, edx
or eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov word [edx], ax
add edx, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], edx
je 0x72bd7e
cmp ecx, dword [esp + 0x40]
jl 0x72bcf0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72be2b
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x72bc90
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72bc90
test edx, edx
je case.0x72b8e0.5
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov dword [esp + 0x10], edx
jge 0x72beb5
mov ebp, ecx
sub ebp, eax
add esi, ebp
mov ebp, eax
sub ebp, ecx
lea ecx, [edx + ebp*2]
mov dword [esp + 0x10], ecx
mov ecx, eax
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72bf53
cmp edi, dword [esp + 0x6c]
jge 0x72bf53
cmp ecx, dword [esp + 0x40]
jge 0x72bf53
test esi, esi
jle 0x72bf53
mov edi, edi
movzx eax, word [esp + 0x110]
mov edx, eax
shr edx, 0xb
mov dx, word [ebx + edx*4]
mov ebp, eax
shl dx, 6
shr ebp, 5
and ebp, 0x3f
add dx, word [ebx + ebp*4]
and eax, 0x1f
shl dx, 5
add dx, word [ebx + eax*4]
add ecx, 1
movzx eax, dx
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
and eax, 0xf7def7df
or edx, 0x8210820
sub edx, eax
mov eax, edx
and eax, 0x8210820
mov ebp, eax
shr ebp, 5
sub eax, ebp
and eax, edx
mov edx, dword [esp + 0x10]
mov word [edx], ax
add edx, 2
sub esi, 1
mov dword [esp + 0x10], edx
je 0x72bf53
cmp ecx, dword [esp + 0x40]
jl 0x72bee0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x28]
sar ebp, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebp
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72c000
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebp, ecx
mov dword [esp + 0x28], edx
mov esi, ebp
cmp dword [esp + 0x18], 0
jne 0x72be84
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp 0x72be84
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0x10], eax
jge 0x72c082
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*2]
mov dword [esp + 0x10], eax
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72c129
cmp edi, dword [esp + 0x6c]
jge 0x72c129
cmp ecx, dword [esp + 0x40]
jge 0x72c129
test esi, esi
jle 0x72c129
jmp 0x72c0b0
movzx eax, word [eax]
movzx edx, word [esp + 0x110]
mov ebx, eax
and ebx, 0x7e0
mov ebp, edx
and ebp, 0x7e0
imul ebx, ebp
mov ebp, eax
mov dword [esp + 0x58], edx
and ebp, 0xf800
and edx, 0xf800
imul ebp, edx
mov edx, dword [esp + 0x58]
and eax, 0x1f
and edx, 0x1f
imul eax, edx
shr ebx, 0xb
shr ebp, 0x10
and ebx, 0x7e0
and ebp, 0xf800
shr eax, 5
or ebx, ebp
or ebx, eax
mov eax, dword [esp + 0x10]
mov word [eax], bx
add eax, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], eax
je 0x72c129
cmp ecx, dword [esp + 0x40]
jl 0x72c0b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov edx, 1
sub dword [esp + 0x18], edx
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, edx
sub esi, ecx
add edi, edx
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72c1d3
cmp dword [esp + 0x30], edx
je case.0x72b8e0.5
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72b8e0.4
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72b8e0.4
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0x10], eax
jge 0x72c255
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*2]
mov dword [esp + 0x10], eax
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72c34c
cmp edi, dword [esp + 0x6c]
jge 0x72c34c
cmp ecx, dword [esp + 0x40]
jge 0x72c34c
test esi, esi
jle 0x72c34c
mov edi, edi
movzx eax, word [eax]
movzx edx, word [esp + 0x110]
mov dword [esp + 0x58], edx
movzx edx, ax
mov dword [esp + 0x5c], eax
mov eax, edx
mov ebx, edx
and edx, 0x1f
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x58]
shr eax, 5
and eax, 0x3f
shr edx, 5
and edx, 0x3f
imul edx, eax
sar edx, 6
sub edx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
and eax, 0x3f
add ax, word [ebp + edx*4]
mov edx, dword [esp + 0x58]
shr edx, 0xb
shr ebx, 0xb
imul edx, ebx
sar edx, 5
sub edx, ebx
mov bx, word [esp + 0x5c]
shl ax, 5
shr bx, 0xb
add bx, word [ebp + edx*4]
mov edx, dword [esp + 0x60]
shl bx, 0xb
or ax, bx
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x58]
and eax, 0x1f
imul eax, edx
sar eax, 5
sub eax, edx
mov edx, dword [esp + 0x5c]
and edx, 0x1f
add dx, word [ebp + eax*4]
mov ax, word [esp + 0xdc]
or ax, dx
mov dx, ax
mov eax, dword [esp + 0x10]
mov word [eax], dx
add eax, 2
add ecx, 1
sub esi, 1
mov dword [esp + 0x10], eax
je 0x72c34c
cmp ecx, dword [esp + 0x40]
jl 0x72c280
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72c3f9
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72b8e0.11
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72b8e0.11
mov edx, dword [esp + 0x70]
mov eax, edi
imul eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0x10], eax
jge 0x72c481
mov ebx, ecx
sub ebx, edx
add esi, ebx
mov ebx, edx
sub ebx, ecx
lea eax, [eax + ebx*2]
mov dword [esp + 0x10], eax
mov ecx, edx
add esi, 1
cmp edi, dword [esp + 0x68]
jl 0x72c565
cmp edi, dword [esp + 0x6c]
jge 0x72c565
cmp ecx, dword [esp + 0x40]
jge 0x72c565
test esi, esi
jle 0x72c565
lea ebx, [ebx]
movzx eax, word [eax]
mov edx, dword [esp + 0x110]
mov dword [esp + 0x5c], eax
movzx eax, ax
mov dword [esp + 0x50], eax
shr eax, 5
not edx
movzx edx, dx
and eax, 0x3f
mov ebx, edx
shr ebx, 5
and ebx, 0x3f
sub ebx, eax
mov eax, dword [esp + 0x5c]
shr eax, 5
and eax, 0x3f
add ax, word [ebp + ebx*4]
mov ebx, dword [esp + 0x50]
shr ebx, 0xb
mov dword [esp + 0x58], edx
shr edx, 0xb
sub edx, ebx
movzx ebx, word [esp + 0x5c]
shr bx, 0xb
add bx, word [ebp + edx*4]
mov edx, dword [esp + 0x58]
shl ax, 5
shl bx, 0xb
or ax, bx
mov word [esp + 0xdc], ax
mov eax, dword [esp + 0x50]
movzx ebx, word [esp + 0xdc]
and eax, 0x1f
and edx, 0x1f
sub edx, eax
mov eax, dword [esp + 0x5c]
and eax, 0x1f
add ax, word [ebp + edx*4]
add ecx, 1
or bx, ax
mov eax, dword [esp + 0x10]
mov word [eax], bx
add eax, 2
sub esi, 1
mov dword [esp + 0x10], eax
je 0x72c565
cmp ecx, dword [esp + 0x40]
jl 0x72c4b0
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x3c]
sub dword [esp + 0x18], 1
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3ffff
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x28]
sar ebx, 0x12
mov dword [esp + 0x20], esi
sar ecx, 0x12
mov esi, ebx
sub eax, 1
sub esi, ecx
add edi, 1
test eax, eax
mov dword [esp + 0x28], eax
jne 0x72c612
mov eax, 1
cmp dword [esp + 0x30], eax
je case.0x72b8e0.5
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
cdq
and edx, 0x3ffff
add eax, edx
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 0x3ffff
add eax, edx
mov edx, dword [esp + 0x64]
mov edi, eax
sar ecx, 0x12
sar edi, 0x12
sub ebx, ecx
mov dword [esp + 0x28], edx
mov esi, ebx
cmp dword [esp + 0x18], 0
jne case.0x72b8e0.10
mov eax, 1
cmp dword [esp + 0x34], eax
je case.0x72b8e0.5
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
cdq
and edx, 0x3ffff
add eax, edx
mov esi, eax
sar esi, 0x12
sub esi, ecx
jmp case.0x72b8e0.10
fstp st(1)
fstp st(2)
fstp st(2)
pop edi
fstp st(0)
pop ebp
fstp st(0)
pop ebx
pop esi
add esp, 0x114
ret
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x114
ret