4ebf07:	c1 e1 02             	shl    $0x2,%ecx
4ebf0a:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4ebf0d:	03 ca                	add    %edx,%ecx
4ebf0f:	8b d1                	mov    %ecx,%edx
4ebf11:	8b 02                	mov    (%edx),%eax
4ebf13:	8d 4a 04             	lea    0x4(%edx),%ecx
4ebf16:	89 83 f4 00 00 00    	mov    %eax,0xf4(%ebx)
4ebf1c:	33 c0                	xor    %eax,%eax
4ebf1e:	eb 1d                	jmp    0x4ebf3d
4ebf20:	8b 39                	mov    (%ecx),%edi
4ebf22:	40                   	inc    %eax
4ebf23:	8b ef                	mov    %edi,%ebp
4ebf25:	8d 7c bd 00          	lea    0x0(%ebp,%edi,4),%edi
4ebf29:	8d 7c bd 00          	lea    0x0(%ebp,%edi,4),%edi
4ebf2d:	8b 6b 44             	mov    0x44(%ebx),%ebp
4ebf30:	c1 e7 02             	shl    $0x2,%edi
4ebf33:	03 fd                	add    %ebp,%edi
4ebf35:	89 3e                	mov    %edi,(%esi)
4ebf37:	83 c6 04             	add    $0x4,%esi
4ebf3a:	83 c1 04             	add    $0x4,%ecx
4ebf3d:	8b 3a                	mov    (%edx),%edi
4ebf3f:	3b c7                	cmp    %edi,%eax
4ebf41:	7c dd                	jl     0x4ebf20
4ebf43:	8b 42 14             	mov    0x14(%edx),%eax
4ebf46:	89 83 3c 01 00 00    	mov    %eax,0x13c(%ebx)
4ebf4c:	8b 4a 18             	mov    0x18(%edx),%ecx
4ebf4f:	89 8b 40 01 00 00    	mov    %ecx,0x140(%ebx)
4ebf55:	8b 42 1c             	mov    0x1c(%edx),%eax
4ebf58:	89 83 44 01 00 00    	mov    %eax,0x144(%ebx)
4ebf5e:	8b 52 20             	mov    0x20(%edx),%edx
4ebf61:	89 93 48 01 00 00    	mov    %edx,0x148(%ebx)
4ebf67:	eb 74                	jmp    0x4ebfdd
4ebf69:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4ebf6c:	83 f9 04             	cmp    $0x4,%ecx
4ebf6f:	7e 1c                	jle    0x4ebf8d
4ebf71:	8b 03                	mov    (%ebx),%eax
4ebf73:	c7 40 14 1a 00 00 00 	movl   $0x1a,0x14(%eax)
4ebf7a:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ebf7d:	89 50 18             	mov    %edx,0x18(%eax)
4ebf80:	c7 40 1c 04 00 00 00 	movl   $0x4,0x1c(%eax)
4ebf87:	8b c3                	mov    %ebx,%eax
4ebf89:	8b 10                	mov    (%eax),%edx
4ebf8b:	ff 12                	call   *(%edx)
4ebf8d:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4ebf90:	89 8b f4 00 00 00    	mov    %ecx,0xf4(%ebx)
4ebf96:	33 c0                	xor    %eax,%eax
4ebf98:	8d 93 f8 00 00 00    	lea    0xf8(%ebx),%edx
4ebf9e:	eb 14                	jmp    0x4ebfb4
4ebfa0:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4ebfa3:	8b 73 44             	mov    0x44(%ebx),%esi
4ebfa6:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4ebfa9:	40                   	inc    %eax
4ebfaa:	c1 e1 02             	shl    $0x2,%ecx
4ebfad:	03 ce                	add    %esi,%ecx
4ebfaf:	89 0a                	mov    %ecx,(%edx)
4ebfb1:	83 c2 04             	add    $0x4,%edx
4ebfb4:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4ebfb7:	3b c1                	cmp    %ecx,%eax
4ebfb9:	7c e5                	jl     0x4ebfa0
4ebfbb:	33 c0                	xor    %eax,%eax
4ebfbd:	33 d2                	xor    %edx,%edx
4ebfbf:	89 83 3c 01 00 00    	mov    %eax,0x13c(%ebx)
4ebfc5:	33 c0                	xor    %eax,%eax
4ebfc7:	c7 83 40 01 00 00 3f 	movl   $0x3f,0x140(%ebx)
4ebfce:	00 00 00
4ebfd1:	89 93 44 01 00 00    	mov    %edx,0x144(%ebx)
4ebfd7:	89 83 48 01 00 00    	mov    %eax,0x148(%ebx)
4ebfdd:	5d                   	pop    %ebp
4ebfde:	5f                   	pop    %edi
4ebfdf:	5e                   	pop    %esi
4ebfe0:	5b                   	pop    %ebx
4ebfe1:	c3                   	ret
4ebfe2:	90                   	nop
4ebfe3:	90                   	nop
4ebfe4:	53                   	push   %ebx
4ebfe5:	8b d8                	mov    %eax,%ebx
4ebfe7:	56                   	push   %esi
4ebfe8:	57                   	push   %edi
4ebfe9:	51                   	push   %ecx
4ebfea:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
4ebff0:	48                   	dec    %eax
4ebff1:	75 67                	jne    0x4ec05a
4ebff3:	8b 8b f8 00 00 00    	mov    0xf8(%ebx),%ecx
4ebff9:	8b 51 1c             	mov    0x1c(%ecx),%edx
4ebffc:	89 93 08 01 00 00    	mov    %edx,0x108(%ebx)
4ec002:	33 d2                	xor    %edx,%edx
4ec004:	8b 41 20             	mov    0x20(%ecx),%eax
4ec007:	89 83 0c 01 00 00    	mov    %eax,0x10c(%ebx)
4ec00d:	c7 41 34 01 00 00 00 	movl   $0x1,0x34(%ecx)
4ec014:	c7 41 38 01 00 00 00 	movl   $0x1,0x38(%ecx)
4ec01b:	c7 41 3c 01 00 00 00 	movl   $0x1,0x3c(%ecx)
4ec022:	c7 41 40 08 00 00 00 	movl   $0x8,0x40(%ecx)
4ec029:	c7 41 44 01 00 00 00 	movl   $0x1,0x44(%ecx)
4ec030:	8b 41 20             	mov    0x20(%ecx),%eax
4ec033:	8b 71 0c             	mov    0xc(%ecx),%esi
4ec036:	f7 f6                	div    %esi
4ec038:	8b c2                	mov    %edx,%eax
4ec03a:	85 c0                	test   %eax,%eax
4ec03c:	75 02                	jne    0x4ec040
4ec03e:	8b c6                	mov    %esi,%eax
4ec040:	89 41 48             	mov    %eax,0x48(%ecx)
4ec043:	33 d2                	xor    %edx,%edx
4ec045:	c7 83 10 01 00 00 01 	movl   $0x1,0x110(%ebx)
4ec04c:	00 00 00
4ec04f:	89 93 14 01 00 00    	mov    %edx,0x114(%ebx)
4ec055:	e9 11 01 00 00       	jmp    0x4ec16b
4ec05a:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
4ec060:	85 c0                	test   %eax,%eax
4ec062:	7e 05                	jle    0x4ec069
4ec064:	83 f8 04             	cmp    $0x4,%eax
4ec067:	7e 1f                	jle    0x4ec088
4ec069:	8b 03                	mov    (%ebx),%eax
4ec06b:	c7 40 14 1a 00 00 00 	movl   $0x1a,0x14(%eax)
4ec072:	8b 93 f4 00 00 00    	mov    0xf4(%ebx),%edx
4ec078:	89 50 18             	mov    %edx,0x18(%eax)
4ec07b:	c7 40 1c 04 00 00 00 	movl   $0x4,0x1c(%eax)
4ec082:	8b c3                	mov    %ebx,%eax
4ec084:	8b 10                	mov    (%eax),%edx
4ec086:	ff 12                	call   *(%edx)
4ec088:	8b 93 e8 00 00 00    	mov    0xe8(%ebx),%edx
4ec08e:	8b 43 1c             	mov    0x1c(%ebx),%eax
4ec091:	c1 e2 03             	shl    $0x3,%edx
4ec094:	e8 eb de ff ff       	call   0x4e9f84
4ec099:	89 83 08 01 00 00    	mov    %eax,0x108(%ebx)
4ec09f:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
4ec0a5:	8b 43 20             	mov    0x20(%ebx),%eax
4ec0a8:	c1 e2 03             	shl    $0x3,%edx
4ec0ab:	e8 d4 de ff ff       	call   0x4e9f84
4ec0b0:	89 83 0c 01 00 00    	mov    %eax,0x10c(%ebx)
4ec0b6:	33 c9                	xor    %ecx,%ecx
4ec0b8:	89 8b 10 01 00 00    	mov    %ecx,0x110(%ebx)
4ec0be:	33 f6                	xor    %esi,%esi
4ec0c0:	8d 83 f8 00 00 00    	lea    0xf8(%ebx),%eax
4ec0c6:	89 04 24             	mov    %eax,(%esp)
4ec0c9:	e9 8f 00 00 00       	jmp    0x4ec15d
4ec0ce:	8b 14 24             	mov    (%esp),%edx
4ec0d1:	8b 0a                	mov    (%edx),%ecx
4ec0d3:	8b 41 08             	mov    0x8(%ecx),%eax
4ec0d6:	89 41 34             	mov    %eax,0x34(%ecx)
4ec0d9:	8b 41 0c             	mov    0xc(%ecx),%eax
4ec0dc:	89 41 38             	mov    %eax,0x38(%ecx)
4ec0df:	8b 51 34             	mov    0x34(%ecx),%edx
4ec0e2:	0f af d0             	imul   %eax,%edx
4ec0e5:	89 51 3c             	mov    %edx,0x3c(%ecx)
4ec0e8:	33 d2                	xor    %edx,%edx
4ec0ea:	8b 41 34             	mov    0x34(%ecx),%eax
4ec0ed:	c1 e0 03             	shl    $0x3,%eax
4ec0f0:	89 41 40             	mov    %eax,0x40(%ecx)
4ec0f3:	8b 41 1c             	mov    0x1c(%ecx),%eax
4ec0f6:	8b 79 34             	mov    0x34(%ecx),%edi
4ec0f9:	f7 f7                	div    %edi
4ec0fb:	8b c2                	mov    %edx,%eax
4ec0fd:	85 c0                	test   %eax,%eax
4ec0ff:	75 02                	jne    0x4ec103
4ec101:	8b c7                	mov    %edi,%eax
4ec103:	89 41 44             	mov    %eax,0x44(%ecx)
4ec106:	33 d2                	xor    %edx,%edx
4ec108:	8b 41 20             	mov    0x20(%ecx),%eax
4ec10b:	8b 79 38             	mov    0x38(%ecx),%edi
4ec10e:	f7 f7                	div    %edi
4ec110:	8b c2                	mov    %edx,%eax
4ec112:	85 c0                	test   %eax,%eax
4ec114:	75 02                	jne    0x4ec118
4ec116:	8b c7                	mov    %edi,%eax
4ec118:	89 41 48             	mov    %eax,0x48(%ecx)
4ec11b:	8b 79 3c             	mov    0x3c(%ecx),%edi
4ec11e:	8b 83 10 01 00 00    	mov    0x110(%ebx),%eax
4ec124:	03 c7                	add    %edi,%eax
4ec126:	83 f8 0a             	cmp    $0xa,%eax
4ec129:	7e 24                	jle    0x4ec14f
4ec12b:	8b 13                	mov    (%ebx),%edx
4ec12d:	8b c3                	mov    %ebx,%eax
4ec12f:	c7 42 14 0d 00 00 00 	movl   $0xd,0x14(%edx)
4ec136:	8b 10                	mov    (%eax),%edx
4ec138:	ff 12                	call   *(%edx)
4ec13a:	eb 13                	jmp    0x4ec14f
4ec13c:	8b 8b 10 01 00 00    	mov    0x110(%ebx),%ecx
4ec142:	ff 83 10 01 00 00    	incl   0x110(%ebx)
4ec148:	89 b4 8b 14 01 00 00 	mov    %esi,0x114(%ebx,%ecx,4)
4ec14f:	8b c7                	mov    %edi,%eax
4ec151:	83 c7 ff             	add    $0xffffffff,%edi
4ec154:	85 c0                	test   %eax,%eax
4ec156:	7f e4                	jg     0x4ec13c
4ec158:	46                   	inc    %esi
4ec159:	83 04 24 04          	addl   $0x4,(%esp)
4ec15d:	8b 93 f4 00 00 00    	mov    0xf4(%ebx),%edx
4ec163:	3b f2                	cmp    %edx,%esi
4ec165:	0f 8c 63 ff ff ff    	jl     0x4ec0ce
4ec16b:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
4ec171:	85 c0                	test   %eax,%eax
4ec173:	7e 18                	jle    0x4ec18d
4ec175:	f7 ab 08 01 00 00    	imull  0x108(%ebx)
4ec17b:	3d ff ff 00 00       	cmp    $0xffff,%eax
4ec180:	7c 05                	jl     0x4ec187
4ec182:	b8 ff ff 00 00       	mov    $0xffff,%eax
4ec187:	89 83 c8 00 00 00    	mov    %eax,0xc8(%ebx)
4ec18d:	5a                   	pop    %edx
4ec18e:	5f                   	pop    %edi
4ec18f:	5e                   	pop    %esi
4ec190:	5b                   	pop    %ebx
4ec191:	c3                   	ret
4ec192:	90                   	nop
4ec193:	90                   	nop
4ec194:	53                   	push   %ebx
4ec195:	8b d8                	mov    %eax,%ebx
4ec197:	56                   	push   %esi
4ec198:	8b b3 4c 01 00 00    	mov    0x14c(%ebx),%esi
4ec19e:	8b 46 14             	mov    0x14(%esi),%eax
4ec1a1:	83 e8 01             	sub    $0x1,%eax
4ec1a4:	72 12                	jb     0x4ec1b8
4ec1a6:	0f 84 a3 00 00 00    	je     0x4ec24f
4ec1ac:	48                   	dec    %eax
4ec1ad:	0f 84 f7 00 00 00    	je     0x4ec2aa
4ec1b3:	e9 49 01 00 00       	jmp    0x4ec301
4ec1b8:	8b c3                	mov    %ebx,%eax
4ec1ba:	e8 29 fd ff ff       	call   0x4ebee8
4ec1bf:	8b c3                	mov    %ebx,%eax
4ec1c1:	e8 1e fe ff ff       	call   0x4ebfe4
4ec1c6:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
4ec1cc:	85 d2                	test   %edx,%edx
4ec1ce:	75 20                	jne    0x4ec1f0
4ec1d0:	8b c3                	mov    %ebx,%eax
4ec1d2:	8b 90 60 01 00 00    	mov    0x160(%eax),%edx
4ec1d8:	ff 12                	call   *(%edx)
4ec1da:	8b c3                	mov    %ebx,%eax
4ec1dc:	8b 90 64 01 00 00    	mov    0x164(%eax),%edx
4ec1e2:	ff 12                	call   *(%edx)
4ec1e4:	33 d2                	xor    %edx,%edx
4ec1e6:	8b c3                	mov    %ebx,%eax
4ec1e8:	8b 88 54 01 00 00    	mov    0x154(%eax),%ecx
4ec1ee:	ff 11                	call   *(%ecx)
4ec1f0:	8b c3                	mov    %ebx,%eax
4ec1f2:	8b 90 68 01 00 00    	mov    0x168(%eax),%edx
4ec1f8:	ff 12                	call   *(%edx)
4ec1fa:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
4ec200:	8b c3                	mov    %ebx,%eax
4ec202:	8b 88 6c 01 00 00    	mov    0x16c(%eax),%ecx
4ec208:	ff 11                	call   *(%ecx)
4ec20a:	8b 46 1c             	mov    0x1c(%esi),%eax
4ec20d:	48                   	dec    %eax
4ec20e:	7e 07                	jle    0x4ec217
4ec210:	ba 03 00 00 00       	mov    $0x3,%edx
4ec215:	eb 02                	jmp    0x4ec219
4ec217:	33 d2                	xor    %edx,%edx
4ec219:	8b c3                	mov    %ebx,%eax
4ec21b:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
4ec221:	ff 11                	call   *(%ecx)
4ec223:	33 d2                	xor    %edx,%edx
4ec225:	8b c3                	mov    %ebx,%eax
4ec227:	8b 88 50 01 00 00    	mov    0x150(%eax),%ecx
4ec22d:	ff 11                	call   *(%ecx)
4ec22f:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
4ec235:	85 c0                	test   %eax,%eax
4ec237:	74 0a                	je     0x4ec243
4ec239:	33 d2                	xor    %edx,%edx
4ec23b:	89 56 0c             	mov    %edx,0xc(%esi)
4ec23e:	e9 cd 00 00 00       	jmp    0x4ec310
4ec243:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4ec24a:	e9 c1 00 00 00       	jmp    0x4ec310
4ec24f:	8b c3                	mov    %ebx,%eax
4ec251:	e8 92 fc ff ff       	call   0x4ebee8
4ec256:	8b c3                	mov    %ebx,%eax
4ec258:	e8 87 fd ff ff       	call   0x4ebfe4
4ec25d:	8b 93 3c 01 00 00    	mov    0x13c(%ebx),%edx
4ec263:	85 d2                	test   %edx,%edx
4ec265:	75 14                	jne    0x4ec27b
4ec267:	8b 8b 44 01 00 00    	mov    0x144(%ebx),%ecx
4ec26d:	85 c9                	test   %ecx,%ecx
4ec26f:	74 0a                	je     0x4ec27b
4ec271:	8b 83 b4 00 00 00    	mov    0xb4(%ebx),%eax
4ec277:	85 c0                	test   %eax,%eax
4ec279:	74 25                	je     0x4ec2a0
4ec27b:	ba 01 00 00 00       	mov    $0x1,%edx
4ec280:	8b c3                	mov    %ebx,%eax
4ec282:	8b 88 6c 01 00 00    	mov    0x16c(%eax),%ecx
4ec288:	ff 11                	call   *(%ecx)
4ec28a:	ba 02 00 00 00       	mov    $0x2,%edx
4ec28f:	8b c3                	mov    %ebx,%eax
4ec291:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
4ec297:	ff 11                	call   *(%ecx)
4ec299:	33 d2                	xor    %edx,%edx
4ec29b:	89 56 0c             	mov    %edx,0xc(%esi)
4ec29e:	eb 70                	jmp    0x4ec310
4ec2a0:	c7 46 14 02 00 00 00 	movl   $0x2,0x14(%esi)
4ec2a7:	ff 46 18             	incl   0x18(%esi)
4ec2aa:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
4ec2b0:	85 c0                	test   %eax,%eax
4ec2b2:	75 0e                	jne    0x4ec2c2
4ec2b4:	8b c3                	mov    %ebx,%eax
4ec2b6:	e8 2d fc ff ff       	call   0x4ebee8
4ec2bb:	8b c3                	mov    %ebx,%eax
4ec2bd:	e8 22 fd ff ff       	call   0x4ebfe4
4ec2c2:	33 d2                	xor    %edx,%edx
4ec2c4:	8b c3                	mov    %ebx,%eax
4ec2c6:	8b 88 6c 01 00 00    	mov    0x16c(%eax),%ecx
4ec2cc:	ff 11                	call   *(%ecx)
4ec2ce:	ba 02 00 00 00       	mov    $0x2,%edx
4ec2d3:	8b c3                	mov    %ebx,%eax
4ec2d5:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
4ec2db:	ff 11                	call   *(%ecx)
4ec2dd:	8b 56 20             	mov    0x20(%esi),%edx
4ec2e0:	85 d2                	test   %edx,%edx
4ec2e2:	75 0b                	jne    0x4ec2ef
4ec2e4:	8b c3                	mov    %ebx,%eax
4ec2e6:	8b 90 5c 01 00 00    	mov    0x15c(%eax),%edx
4ec2ec:	ff 52 04             	call   *0x4(%edx)
4ec2ef:	8b c3                	mov    %ebx,%eax
4ec2f1:	8b 90 5c 01 00 00    	mov    0x15c(%eax),%edx
4ec2f7:	ff 52 08             	call   *0x8(%edx)
4ec2fa:	33 c9                	xor    %ecx,%ecx
4ec2fc:	89 4e 0c             	mov    %ecx,0xc(%esi)
4ec2ff:	eb 0f                	jmp    0x4ec310
4ec301:	8b 03                	mov    (%ebx),%eax
4ec303:	c7 40 14 30 00 00 00 	movl   $0x30,0x14(%eax)
4ec30a:	8b c3                	mov    %ebx,%eax
4ec30c:	8b 10                	mov    (%eax),%edx
4ec30e:	ff 12                	call   *(%edx)
4ec310:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4ec313:	49                   	dec    %ecx
4ec314:	8b 46 18             	mov    0x18(%esi),%eax
4ec317:	3b c8                	cmp    %eax,%ecx
4ec319:	0f 94 c2             	sete   %dl
4ec31c:	83 e2 01             	and    $0x1,%edx
4ec31f:	89 56 10             	mov    %edx,0x10(%esi)
4ec322:	8b 43 08             	mov    0x8(%ebx),%eax
4ec325:	85 c0                	test   %eax,%eax
4ec327:	74 0c                	je     0x4ec335
4ec329:	8b 56 18             	mov    0x18(%esi),%edx
4ec32c:	89 50 0c             	mov    %edx,0xc(%eax)
4ec32f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4ec332:	89 48 10             	mov    %ecx,0x10(%eax)
4ec335:	5e                   	pop    %esi
4ec336:	5b                   	pop    %ebx
4ec337:	c3                   	ret
4ec338:	53                   	push   %ebx
4ec339:	8b d8                	mov    %eax,%ebx
4ec33b:	8b 83 4c 01 00 00    	mov    0x14c(%ebx),%eax
4ec341:	33 d2                	xor    %edx,%edx
4ec343:	89 50 0c             	mov    %edx,0xc(%eax)
4ec346:	8b c3                	mov    %ebx,%eax
4ec348:	8b 90 5c 01 00 00    	mov    0x15c(%eax),%edx
4ec34e:	ff 52 04             	call   *0x4(%edx)
4ec351:	8b c3                	mov    %ebx,%eax
4ec353:	8b 90 5c 01 00 00    	mov    0x15c(%eax),%edx
4ec359:	ff 52 08             	call   *0x8(%edx)
4ec35c:	5b                   	pop    %ebx
4ec35d:	c3                   	ret
4ec35e:	90                   	nop
4ec35f:	90                   	nop
4ec360:	53                   	push   %ebx