55ef94:	4e                   	dec    %esi
55ef95:	8b 03                	mov    (%ebx),%eax
55ef97:	f7 d6                	not    %esi
55ef99:	23 f0                	and    %eax,%esi
55ef9b:	eb 02                	jmp    0x55ef9f
55ef9d:	8b 33                	mov    (%ebx),%esi
55ef9f:	8b 43 14             	mov    0x14(%ebx),%eax
55efa2:	85 c0                	test   %eax,%eax
55efa4:	7e 14                	jle    0x55efba
55efa6:	8b 4b 14             	mov    0x14(%ebx),%ecx
55efa9:	bf 01 00 00 00       	mov    $0x1,%edi
55efae:	d3 e7                	shl    %cl,%edi
55efb0:	4f                   	dec    %edi
55efb1:	8b 43 04             	mov    0x4(%ebx),%eax
55efb4:	f7 d7                	not    %edi
55efb6:	23 f8                	and    %eax,%edi
55efb8:	eb 03                	jmp    0x55efbd
55efba:	8b 7b 04             	mov    0x4(%ebx),%edi
55efbd:	8b 43 10             	mov    0x10(%ebx),%eax
55efc0:	85 c0                	test   %eax,%eax
55efc2:	7e 3a                	jle    0x55effe
55efc4:	8b 53 10             	mov    0x10(%ebx),%edx
55efc7:	85 d2                	test   %edx,%edx
55efc9:	7e 21                	jle    0x55efec
55efcb:	8b 4b 10             	mov    0x10(%ebx),%ecx
55efce:	b8 01 00 00 00       	mov    $0x1,%eax
55efd3:	d3 e0                	shl    %cl,%eax
55efd5:	8b 53 08             	mov    0x8(%ebx),%edx
55efd8:	8b 4b 10             	mov    0x10(%ebx),%ecx
55efdb:	03 c2                	add    %edx,%eax
55efdd:	ba 01 00 00 00       	mov    $0x1,%edx
55efe2:	d3 e2                	shl    %cl,%edx
55efe4:	4a                   	dec    %edx
55efe5:	48                   	dec    %eax
55efe6:	f7 d2                	not    %edx
55efe8:	23 c2                	and    %edx,%eax
55efea:	eb 15                	jmp    0x55f001
55efec:	8b 4b 10             	mov    0x10(%ebx),%ecx
55efef:	b8 01 00 00 00       	mov    $0x1,%eax
55eff4:	d3 e0                	shl    %cl,%eax
55eff6:	8b 53 08             	mov    0x8(%ebx),%edx
55eff9:	03 c2                	add    %edx,%eax
55effb:	48                   	dec    %eax
55effc:	eb 03                	jmp    0x55f001
55effe:	8b 43 08             	mov    0x8(%ebx),%eax
55f001:	89 45 f8             	mov    %eax,-0x8(%ebp)
55f004:	8b 4b 14             	mov    0x14(%ebx),%ecx
55f007:	85 c9                	test   %ecx,%ecx
55f009:	7e 3a                	jle    0x55f045
55f00b:	8b 43 14             	mov    0x14(%ebx),%eax
55f00e:	85 c0                	test   %eax,%eax
55f010:	7e 21                	jle    0x55f033
55f012:	8b 4b 14             	mov    0x14(%ebx),%ecx
55f015:	ba 01 00 00 00       	mov    $0x1,%edx
55f01a:	d3 e2                	shl    %cl,%edx
55f01c:	8b 43 0c             	mov    0xc(%ebx),%eax
55f01f:	8b 4b 14             	mov    0x14(%ebx),%ecx
55f022:	03 d0                	add    %eax,%edx
55f024:	b8 01 00 00 00       	mov    $0x1,%eax
55f029:	d3 e0                	shl    %cl,%eax
55f02b:	48                   	dec    %eax
55f02c:	4a                   	dec    %edx
55f02d:	f7 d0                	not    %eax
55f02f:	23 d0                	and    %eax,%edx
55f031:	eb 15                	jmp    0x55f048
55f033:	8b 4b 14             	mov    0x14(%ebx),%ecx
55f036:	ba 01 00 00 00       	mov    $0x1,%edx
55f03b:	d3 e2                	shl    %cl,%edx
55f03d:	8b 43 0c             	mov    0xc(%ebx),%eax
55f040:	03 d0                	add    %eax,%edx
55f042:	4a                   	dec    %edx
55f043:	eb 03                	jmp    0x55f048
55f045:	8b 53 0c             	mov    0xc(%ebx),%edx
55f048:	89 55 f4             	mov    %edx,-0xc(%ebp)
55f04b:	8b 4b 10             	mov    0x10(%ebx),%ecx
55f04e:	85 c9                	test   %ecx,%ecx
55f050:	7f 17                	jg     0x55f069
55f052:	68 d2 08 00 00       	push   $0x8d2
55f057:	68 24 e3 69 00       	push   $0x69e324
55f05c:	68 f1 e2 69 00       	push   $0x69e2f1
55f061:	e8 da ba ff ff       	call   0x55ab40
55f066:	83 c4 0c             	add    $0xc,%esp
55f069:	8b 4b 10             	mov    0x10(%ebx),%ecx
55f06c:	8b 45 f8             	mov    -0x8(%ebp),%eax
55f06f:	2b c6                	sub    %esi,%eax
55f071:	d3 e8                	shr    %cl,%eax
55f073:	89 43 18             	mov    %eax,0x18(%ebx)
55f076:	8b 53 14             	mov    0x14(%ebx),%edx
55f079:	85 d2                	test   %edx,%edx
55f07b:	7f 17                	jg     0x55f094
55f07d:	68 d3 08 00 00       	push   $0x8d3
55f082:	68 62 e3 69 00       	push   $0x69e362
55f087:	68 2e e3 69 00       	push   $0x69e32e
55f08c:	e8 af ba ff ff       	call   0x55ab40
55f091:	83 c4 0c             	add    $0xc,%esp
55f094:	8b 4b 14             	mov    0x14(%ebx),%ecx
55f097:	8b 75 f4             	mov    -0xc(%ebp),%esi
55f09a:	2b f7                	sub    %edi,%esi
55f09c:	d3 ee                	shr    %cl,%esi
55f09e:	89 73 1c             	mov    %esi,0x1c(%ebx)
55f0a1:	8b 43 18             	mov    0x18(%ebx),%eax
55f0a4:	f7 ee                	imul   %esi
55f0a6:	89 43 20             	mov    %eax,0x20(%ebx)
55f0a9:	8b 43 30             	mov    0x30(%ebx),%eax
55f0ac:	c1 e0 02             	shl    $0x2,%eax
55f0af:	8d 04 c0             	lea    (%eax,%eax,8),%eax
55f0b2:	e8 c5 92 01 00       	call   0x57837c
55f0b7:	8b f0                	mov    %eax,%esi
55f0b9:	89 73 34             	mov    %esi,0x34(%ebx)
55f0bc:	85 f6                	test   %esi,%esi
55f0be:	74 4b                	je     0x55f10b
55f0c0:	33 ff                	xor    %edi,%edi
55f0c2:	eb 10                	jmp    0x55f0d4
55f0c4:	33 c0                	xor    %eax,%eax
55f0c6:	33 d2                	xor    %edx,%edx
55f0c8:	89 06                	mov    %eax,(%esi)
55f0ca:	89 56 04             	mov    %edx,0x4(%esi)
55f0cd:	89 5e 20             	mov    %ebx,0x20(%esi)
55f0d0:	47                   	inc    %edi
55f0d1:	83 c6 24             	add    $0x24,%esi
55f0d4:	0f b7 cf             	movzwl %di,%ecx
55f0d7:	8b 43 30             	mov    0x30(%ebx),%eax
55f0da:	3b c8                	cmp    %eax,%ecx
55f0dc:	7c e6                	jl     0x55f0c4
55f0de:	33 ff                	xor    %edi,%edi
55f0e0:	8b 73 34             	mov    0x34(%ebx),%esi
55f0e3:	eb 18                	jmp    0x55f0fd
55f0e5:	8b 45 08             	mov    0x8(%ebp),%eax
55f0e8:	8b cb                	mov    %ebx,%ecx
55f0ea:	50                   	push   %eax
55f0eb:	8b c6                	mov    %esi,%eax
55f0ed:	8b 55 fc             	mov    -0x4(%ebp),%edx
55f0f0:	e8 5f 00 00 00       	call   0x55f154
55f0f5:	85 c0                	test   %eax,%eax
55f0f7:	74 12                	je     0x55f10b
55f0f9:	47                   	inc    %edi
55f0fa:	83 c6 24             	add    $0x24,%esi
55f0fd:	0f b7 d7             	movzwl %di,%edx
55f100:	8b 4b 30             	mov    0x30(%ebx),%ecx
55f103:	3b d1                	cmp    %ecx,%edx
55f105:	7c de                	jl     0x55f0e5
55f107:	8b c3                	mov    %ebx,%eax
55f109:	eb 09                	jmp    0x55f114
55f10b:	8b c3                	mov    %ebx,%eax
55f10d:	e8 0e 00 00 00       	call   0x55f120
55f112:	33 c0                	xor    %eax,%eax
55f114:	5f                   	pop    %edi
55f115:	5e                   	pop    %esi
55f116:	5b                   	pop    %ebx
55f117:	8b e5                	mov    %ebp,%esp
55f119:	5d                   	pop    %ebp
55f11a:	c2 04 00             	ret    $0x4
55f11d:	90                   	nop
55f11e:	90                   	nop
55f11f:	90                   	nop
55f120:	53                   	push   %ebx
55f121:	56                   	push   %esi
55f122:	57                   	push   %edi
55f123:	8b f8                	mov    %eax,%edi
55f125:	8b 47 34             	mov    0x34(%edi),%eax
55f128:	85 c0                	test   %eax,%eax
55f12a:	74 23                	je     0x55f14f
55f12c:	33 f6                	xor    %esi,%esi
55f12e:	8b d8                	mov    %eax,%ebx
55f130:	eb 0b                	jmp    0x55f13d
55f132:	8b c3                	mov    %ebx,%eax
55f134:	e8 c7 01 00 00       	call   0x55f300
55f139:	46                   	inc    %esi
55f13a:	83 c3 24             	add    $0x24,%ebx
55f13d:	0f b7 d6             	movzwl %si,%edx
55f140:	8b 4f 30             	mov    0x30(%edi),%ecx
55f143:	3b d1                	cmp    %ecx,%edx
55f145:	7c eb                	jl     0x55f132
55f147:	8b 47 34             	mov    0x34(%edi),%eax
55f14a:	e8 35 92 01 00       	call   0x578384
55f14f:	5f                   	pop    %edi
55f150:	5e                   	pop    %esi
55f151:	5b                   	pop    %ebx
55f152:	c3                   	ret
55f153:	90                   	nop
55f154:	55                   	push   %ebp
55f155:	8b ec                	mov    %esp,%ebp
55f157:	83 c4 f0             	add    $0xfffffff0,%esp
55f15a:	53                   	push   %ebx
55f15b:	56                   	push   %esi
55f15c:	57                   	push   %edi
55f15d:	8b f9                	mov    %ecx,%edi
55f15f:	89 55 fc             	mov    %edx,-0x4(%ebp)
55f162:	8b d8                	mov    %eax,%ebx
55f164:	8b 47 38             	mov    0x38(%edi),%eax
55f167:	89 45 f4             	mov    %eax,-0xc(%ebp)
55f16a:	33 d2                	xor    %edx,%edx
55f16c:	89 53 04             	mov    %edx,0x4(%ebx)
55f16f:	33 c9                	xor    %ecx,%ecx
55f171:	89 0b                	mov    %ecx,(%ebx)
55f173:	89 7b 20             	mov    %edi,0x20(%ebx)
55f176:	8b 47 38             	mov    0x38(%edi),%eax
55f179:	ff 70 04             	push   0x4(%eax)
55f17c:	8b c7                	mov    %edi,%eax
55f17e:	5a                   	pop    %edx
55f17f:	2b c2                	sub    %edx,%eax
55f181:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55f186:	99                   	cltd
55f187:	f7 f9                	idiv   %ecx
55f189:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
55f18d:	8b c3                	mov    %ebx,%eax
55f18f:	8b 57 34             	mov    0x34(%edi),%edx
55f192:	2b c2                	sub    %edx,%eax
55f194:	b9 24 00 00 00       	mov    $0x24,%ecx
55f199:	99                   	cltd
55f19a:	f7 f9                	idiv   %ecx
55f19c:	66 83 7d fa 00       	cmpw   $0x0,-0x6(%ebp)
55f1a1:	75 04                	jne    0x55f1a7
55f1a3:	33 d2                	xor    %edx,%edx
55f1a5:	eb 0f                	jmp    0x55f1b6
55f1a7:	0f b7 4d fa          	movzwl -0x6(%ebp),%ecx
55f1ab:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
55f1ae:	66 03 d0             	add    %ax,%dx
55f1b1:	66 81 c2 fe ff       	add    $0xfffe,%dx
55f1b6:	8b c2                	mov    %edx,%eax
55f1b8:	0f b7 c0             	movzwl %ax,%eax
55f1bb:	8b f0                	mov    %eax,%esi
55f1bd:	c1 e6 03             	shl    $0x3,%esi
55f1c0:	8d 34 b6             	lea    (%esi,%esi,4),%esi
55f1c3:	8b 45 08             	mov    0x8(%ebp),%eax
55f1c6:	03 f0                	add    %eax,%esi
55f1c8:	8b 16                	mov    (%esi),%edx
55f1ca:	8b 4e 08             	mov    0x8(%esi),%ecx
55f1cd:	3b d1                	cmp    %ecx,%edx
55f1cf:	74 63                	je     0x55f234
55f1d1:	8b 46 04             	mov    0x4(%esi),%eax
55f1d4:	8b 56 0c             	mov    0xc(%esi),%edx
55f1d7:	3b c2                	cmp    %edx,%eax
55f1d9:	74 59                	je     0x55f234
55f1db:	6a 00                	push   $0x0
55f1dd:	33 c9                	xor    %ecx,%ecx
55f1df:	33 d2                	xor    %edx,%edx
55f1e1:	33 c0                	xor    %eax,%eax
55f1e3:	e8 70 8a 01 00       	call   0x577c58
55f1e8:	89 43 04             	mov    %eax,0x4(%ebx)
55f1eb:	85 c0                	test   %eax,%eax
55f1ed:	0f 84 fb 00 00 00    	je     0x55f2ee
55f1f3:	8b 56 18             	mov    0x18(%esi),%edx
55f1f6:	52                   	push   %edx
55f1f7:	8b 4e 1c             	mov    0x1c(%esi),%ecx
55f1fa:	51                   	push   %ecx
55f1fb:	8b 46 20             	mov    0x20(%esi),%eax
55f1fe:	50                   	push   %eax
55f1ff:	8b 4e 14             	mov    0x14(%esi),%ecx
55f202:	8b 55 f4             	mov    -0xc(%ebp),%edx
55f205:	8b 52 08             	mov    0x8(%edx),%edx
55f208:	8b 43 04             	mov    0x4(%ebx),%eax
55f20b:	e8 7c 8c 01 00       	call   0x577e8c
55f210:	8b 0e                	mov    (%esi),%ecx
55f212:	8b 43 04             	mov    0x4(%ebx),%eax
55f215:	89 48 04             	mov    %ecx,0x4(%eax)
55f218:	8b 56 04             	mov    0x4(%esi),%edx
55f21b:	89 50 08             	mov    %edx,0x8(%eax)
55f21e:	8b 48 04             	mov    0x4(%eax),%ecx
55f221:	8b 50 18             	mov    0x18(%eax),%edx
55f224:	03 ca                	add    %edx,%ecx
55f226:	89 48 0c             	mov    %ecx,0xc(%eax)
55f229:	8b 48 08             	mov    0x8(%eax),%ecx
55f22c:	8b 50 14             	mov    0x14(%eax),%edx
55f22f:	03 ca                	add    %edx,%ecx
55f231:	89 48 10             	mov    %ecx,0x10(%eax)
55f234:	8b 46 10             	mov    0x10(%esi),%eax
55f237:	89 43 08             	mov    %eax,0x8(%ebx)
55f23a:	8b 4b 08             	mov    0x8(%ebx),%ecx
55f23d:	51                   	push   %ecx
55f23e:	0f b7 4d fa          	movzwl -0x6(%ebp),%ecx
55f242:	8b 45 f4             	mov    -0xc(%ebp),%eax
55f245:	0f b7 10             	movzwl (%eax),%edx
55f248:	8b 45 fc             	mov    -0x4(%ebp),%eax
55f24b:	0f b6 40 4f          	movzbl 0x4f(%eax),%eax
55f24f:	e8 24 dc 00 00       	call   0x56ce78
55f254:	89 43 1c             	mov    %eax,0x1c(%ebx)
55f257:	33 d2                	xor    %edx,%edx
55f259:	89 53 0c             	mov    %edx,0xc(%ebx)
55f25c:	33 c9                	xor    %ecx,%ecx
55f25e:	89 4b 10             	mov    %ecx,0x10(%ebx)
55f261:	33 c0                	xor    %eax,%eax
55f263:	89 43 14             	mov    %eax,0x14(%ebx)
55f266:	8b 56 24             	mov    0x24(%esi),%edx
55f269:	89 53 18             	mov    %edx,0x18(%ebx)
55f26c:	8b 4b 04             	mov    0x4(%ebx),%ecx
55f26f:	85 c9                	test   %ecx,%ecx
55f271:	74 77                	je     0x55f2ea
55f273:	8b 47 20             	mov    0x20(%edi),%eax
55f276:	8b d0                	mov    %eax,%edx
55f278:	8d 04 42             	lea    (%edx,%eax,2),%eax
55f27b:	8d 04 82             	lea    (%edx,%eax,4),%eax
55f27e:	c1 e0 02             	shl    $0x2,%eax
55f281:	e8 f6 90 01 00       	call   0x57837c
55f286:	8b f0                	mov    %eax,%esi
55f288:	89 33                	mov    %esi,(%ebx)
55f28a:	85 f6                	test   %esi,%esi
55f28c:	74 60                	je     0x55f2ee
55f28e:	33 c0                	xor    %eax,%eax
55f290:	89 45 f0             	mov    %eax,-0x10(%ebp)
55f293:	eb 22                	jmp    0x55f2b7
55f295:	33 d2                	xor    %edx,%edx
55f297:	89 56 1c             	mov    %edx,0x1c(%esi)
55f29a:	33 c9                	xor    %ecx,%ecx
55f29c:	89 4e 20             	mov    %ecx,0x20(%esi)
55f29f:	33 c0                	xor    %eax,%eax
55f2a1:	89 46 24             	mov    %eax,0x24(%esi)
55f2a4:	33 d2                	xor    %edx,%edx
55f2a6:	89 56 2c             	mov    %edx,0x2c(%esi)
55f2a9:	33 c9                	xor    %ecx,%ecx
55f2ab:	89 4e 30             	mov    %ecx,0x30(%esi)
55f2ae:	89 5e 28             	mov    %ebx,0x28(%esi)
55f2b1:	ff 45 f0             	incl   -0x10(%ebp)
55f2b4:	83 c6 34             	add    $0x34,%esi
55f2b7:	8b 47 20             	mov    0x20(%edi),%eax
55f2ba:	8b 55 f0             	mov    -0x10(%ebp),%edx
55f2bd:	3b c2                	cmp    %edx,%eax
55f2bf:	77 d4                	ja     0x55f295
55f2c1:	33 c9                	xor    %ecx,%ecx
55f2c3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
55f2c6:	8b 33                	mov    (%ebx),%esi
55f2c8:	eb 16                	jmp    0x55f2e0
55f2ca:	8b cb                	mov    %ebx,%ecx
55f2cc:	8b 55 fc             	mov    -0x4(%ebp),%edx
55f2cf:	8b c6                	mov    %esi,%eax
55f2d1:	e8 6a 00 00 00       	call   0x55f340
55f2d6:	85 c0                	test   %eax,%eax
55f2d8:	74 14                	je     0x55f2ee
55f2da:	ff 45 f0             	incl   -0x10(%ebp)
55f2dd:	83 c6 34             	add    $0x34,%esi
55f2e0:	8b 47 20             	mov    0x20(%edi),%eax
55f2e3:	8b 55 f0             	mov    -0x10(%ebp),%edx
55f2e6:	3b c2                	cmp    %edx,%eax
55f2e8:	77 e0                	ja     0x55f2ca
55f2ea:	8b c3                	mov    %ebx,%eax
55f2ec:	eb 09                	jmp    0x55f2f7
55f2ee:	8b c3                	mov    %ebx,%eax
55f2f0:	e8 0b 00 00 00       	call   0x55f300
55f2f5:	33 c0                	xor    %eax,%eax
55f2f7:	5f                   	pop    %edi
55f2f8:	5e                   	pop    %esi
55f2f9:	5b                   	pop    %ebx
55f2fa:	8b e5                	mov    %ebp,%esp
55f2fc:	5d                   	pop    %ebp
55f2fd:	c2 04 00             	ret    $0x4
55f300:	53                   	push   %ebx
55f301:	56                   	push   %esi
55f302:	57                   	push   %edi
55f303:	8b f8                	mov    %eax,%edi
55f305:	55                   	push   %ebp