402114:	3b f0                	cmp    %eax,%esi
402116:	7e 7b                	jle    0x402193
402118:	89 73 08             	mov    %esi,0x8(%ebx)
40211b:	8b 5b 04             	mov    0x4(%ebx),%ebx
40211e:	3b 73 08             	cmp    0x8(%ebx),%esi
402121:	7f f8                	jg     0x40211b
402123:	8b 17                	mov    (%edi),%edx
402125:	89 42 08             	mov    %eax,0x8(%edx)
402128:	3b 1f                	cmp    (%edi),%ebx
40212a:	74 04                	je     0x402130
40212c:	89 1f                	mov    %ebx,(%edi)
40212e:	eb 63                	jmp    0x402193
402130:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
402136:	7f 0d                	jg     0x402145
402138:	8b c6                	mov    %esi,%eax
40213a:	e8 85 ff ff ff       	call   0x4020c4
40213f:	8b d8                	mov    %eax,%ebx
402141:	85 db                	test   %ebx,%ebx
402143:	75 4e                	jne    0x402193
402145:	8b c6                	mov    %esi,%eax
402147:	e8 18 ff ff ff       	call   0x402064
40214c:	84 c0                	test   %al,%al
40214e:	75 07                	jne    0x402157
402150:	33 c0                	xor    %eax,%eax
402152:	e9 88 00 00 00       	jmp    0x4021df
402157:	3b 75 00             	cmp    0x0(%ebp),%esi
40215a:	7f a4                	jg     0x402100
40215c:	29 75 00             	sub    %esi,0x0(%ebp)
40215f:	83 7d 00 0c          	cmpl   $0xc,0x0(%ebp)
402163:	7d 08                	jge    0x40216d
402165:	03 75 00             	add    0x0(%ebp),%esi
402168:	33 c0                	xor    %eax,%eax
40216a:	89 45 00             	mov    %eax,0x0(%ebp)
40216d:	a1 1c 86 6a 00       	mov    0x6a861c,%eax
402172:	01 35 1c 86 6a 00    	add    %esi,0x6a861c
402178:	8b d6                	mov    %esi,%edx
40217a:	83 ca 02             	or     $0x2,%edx
40217d:	89 10                	mov    %edx,(%eax)
40217f:	83 c0 04             	add    $0x4,%eax
402182:	ff 05 b4 85 6a 00    	incl   0x6a85b4
402188:	83 ee 04             	sub    $0x4,%esi
40218b:	01 35 b8 85 6a 00    	add    %esi,0x6a85b8
402191:	eb 4c                	jmp    0x4021df
402193:	8b c3                	mov    %ebx,%eax
402195:	e8 02 fb ff ff       	call   0x401c9c
40219a:	8b 53 08             	mov    0x8(%ebx),%edx
40219d:	8b c2                	mov    %edx,%eax
40219f:	2b c6                	sub    %esi,%eax
4021a1:	83 f8 0c             	cmp    $0xc,%eax
4021a4:	7c 0c                	jl     0x4021b2
4021a6:	8b d3                	mov    %ebx,%edx
4021a8:	03 d6                	add    %esi,%edx
4021aa:	92                   	xchg   %eax,%edx
4021ab:	e8 54 fd ff ff       	call   0x401f04
4021b0:	eb 12                	jmp    0x4021c4
4021b2:	8b f2                	mov    %edx,%esi
4021b4:	3b 1f                	cmp    (%edi),%ebx
4021b6:	75 05                	jne    0x4021bd
4021b8:	8b 43 04             	mov    0x4(%ebx),%eax
4021bb:	89 07                	mov    %eax,(%edi)
4021bd:	8b c3                	mov    %ebx,%eax
4021bf:	03 c6                	add    %esi,%eax
4021c1:	83 20 fe             	andl   $0xfffffffe,(%eax)
4021c4:	8b c3                	mov    %ebx,%eax
4021c6:	8b d6                	mov    %esi,%edx
4021c8:	83 ca 02             	or     $0x2,%edx
4021cb:	89 10                	mov    %edx,(%eax)
4021cd:	83 c0 04             	add    $0x4,%eax
4021d0:	ff 05 b4 85 6a 00    	incl   0x6a85b4
4021d6:	83 ee 04             	sub    $0x4,%esi
4021d9:	01 35 b8 85 6a 00    	add    %esi,0x6a85b8
4021df:	5d                   	pop    %ebp
4021e0:	5f                   	pop    %edi
4021e1:	5e                   	pop    %esi
4021e2:	5b                   	pop    %ebx
4021e3:	c3                   	ret
4021e4:	55                   	push   %ebp
4021e5:	8b ec                	mov    %esp,%ebp
4021e7:	83 c4 f8             	add    $0xfffffff8,%esp
4021ea:	53                   	push   %ebx
4021eb:	56                   	push   %esi
4021ec:	57                   	push   %edi
4021ed:	8b d8                	mov    %eax,%ebx
4021ef:	80 3d c0 85 6a 00 00 	cmpb   $0x0,0x6a85c0
4021f6:	75 09                	jne    0x402201
4021f8:	e8 fb f8 ff ff       	call   0x401af8
4021fd:	84 c0                	test   %al,%al
4021ff:	74 08                	je     0x402209
402201:	81 fb f8 ff ff 7f    	cmp    $0x7ffffff8,%ebx
402207:	7e 0a                	jle    0x402213
402209:	33 c0                	xor    %eax,%eax
40220b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40220e:	e9 54 01 00 00       	jmp    0x402367
402213:	33 c9                	xor    %ecx,%ecx
402215:	55                   	push   %ebp
402216:	68 60 23 40 00       	push   $0x402360
40221b:	64 ff 31             	push   %fs:(%ecx)
40221e:	64 89 21             	mov    %esp,%fs:(%ecx)
402221:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
402228:	74 0a                	je     0x402234
40222a:	68 c8 85 6a 00       	push   $0x6a85c8
40222f:	e8 20 f2 ff ff       	call   0x401454
402234:	83 c3 07             	add    $0x7,%ebx
402237:	83 e3 fc             	and    $0xfffffffc,%ebx
40223a:	83 fb 0c             	cmp    $0xc,%ebx
40223d:	7d 05                	jge    0x402244
40223f:	bb 0c 00 00 00       	mov    $0xc,%ebx
402244:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
40224a:	0f 8f 93 00 00 00    	jg     0x4022e3
402250:	8b c3                	mov    %ebx,%eax
402252:	85 c0                	test   %eax,%eax
402254:	79 03                	jns    0x402259
402256:	83 c0 03             	add    $0x3,%eax
402259:	c1 f8 02             	sar    $0x2,%eax
40225c:	8b 15 20 86 6a 00    	mov    0x6a8620,%edx
402262:	8b 54 82 f4          	mov    -0xc(%edx,%eax,4),%edx
402266:	85 d2                	test   %edx,%edx
402268:	74 79                	je     0x4022e3
40226a:	8b f2                	mov    %edx,%esi
40226c:	8b c6                	mov    %esi,%eax
40226e:	03 c3                	add    %ebx,%eax
402270:	83 20 fe             	andl   $0xfffffffe,(%eax)
402273:	8b 42 04             	mov    0x4(%edx),%eax
402276:	3b d0                	cmp    %eax,%edx
402278:	75 1a                	jne    0x402294
40227a:	8b c3                	mov    %ebx,%eax
40227c:	85 c0                	test   %eax,%eax
40227e:	79 03                	jns    0x402283
402280:	83 c0 03             	add    $0x3,%eax
402283:	c1 f8 02             	sar    $0x2,%eax
402286:	8b 0d 20 86 6a 00    	mov    0x6a8620,%ecx
40228c:	33 ff                	xor    %edi,%edi
40228e:	89 7c 81 f4          	mov    %edi,-0xc(%ecx,%eax,4)
402292:	eb 26                	jmp    0x4022ba
402294:	8b cb                	mov    %ebx,%ecx
402296:	85 c9                	test   %ecx,%ecx
402298:	79 03                	jns    0x40229d
40229a:	83 c1 03             	add    $0x3,%ecx
40229d:	c1 f9 02             	sar    $0x2,%ecx
4022a0:	8b 3d 20 86 6a 00    	mov    0x6a8620,%edi
4022a6:	89 44 8f f4          	mov    %eax,-0xc(%edi,%ecx,4)
4022aa:	8b 0a                	mov    (%edx),%ecx
4022ac:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4022af:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4022b2:	89 41 04             	mov    %eax,0x4(%ecx)
4022b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4022b8:	89 08                	mov    %ecx,(%eax)
4022ba:	8b c6                	mov    %esi,%eax
4022bc:	8b 52 08             	mov    0x8(%edx),%edx
4022bf:	83 ca 02             	or     $0x2,%edx
4022c2:	89 10                	mov    %edx,(%eax)
4022c4:	83 c0 04             	add    $0x4,%eax
4022c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4022ca:	ff 05 b4 85 6a 00    	incl   0x6a85b4
4022d0:	83 eb 04             	sub    $0x4,%ebx
4022d3:	01 1d b8 85 6a 00    	add    %ebx,0x6a85b8
4022d9:	e8 12 20 00 00       	call   0x4042f0
4022de:	e9 84 00 00 00       	jmp    0x402367
4022e3:	3b 1d 18 86 6a 00    	cmp    0x6a8618,%ebx
4022e9:	7f 4a                	jg     0x402335
4022eb:	29 1d 18 86 6a 00    	sub    %ebx,0x6a8618
4022f1:	83 3d 18 86 6a 00 0c 	cmpl   $0xc,0x6a8618
4022f8:	7d 0d                	jge    0x402307
4022fa:	03 1d 18 86 6a 00    	add    0x6a8618,%ebx
402300:	33 c0                	xor    %eax,%eax
402302:	a3 18 86 6a 00       	mov    %eax,0x6a8618
402307:	a1 1c 86 6a 00       	mov    0x6a861c,%eax
40230c:	01 1d 1c 86 6a 00    	add    %ebx,0x6a861c
402312:	8b d3                	mov    %ebx,%edx
402314:	83 ca 02             	or     $0x2,%edx
402317:	89 10                	mov    %edx,(%eax)
402319:	83 c0 04             	add    $0x4,%eax
40231c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40231f:	ff 05 b4 85 6a 00    	incl   0x6a85b4
402325:	83 eb 04             	sub    $0x4,%ebx
402328:	01 1d b8 85 6a 00    	add    %ebx,0x6a85b8
40232e:	e8 bd 1f 00 00       	call   0x4042f0
402333:	eb 32                	jmp    0x402367
402335:	8b c3                	mov    %ebx,%eax
402337:	e8 b4 fd ff ff       	call   0x4020f0
40233c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40233f:	33 c0                	xor    %eax,%eax
402341:	5a                   	pop    %edx
402342:	59                   	pop    %ecx
402343:	59                   	pop    %ecx
402344:	64 89 10             	mov    %edx,%fs:(%eax)
402347:	68 67 23 40 00       	push   $0x402367
40234c:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
402353:	74 0a                	je     0x40235f
402355:	68 c8 85 6a 00       	push   $0x6a85c8
40235a:	e8 fd f0 ff ff       	call   0x40145c
40235f:	c3                   	ret
402360:	e9 a7 1e 00 00       	jmp    0x40420c
402365:	eb e5                	jmp    0x40234c
402367:	8b 45 fc             	mov    -0x4(%ebp),%eax
40236a:	5f                   	pop    %edi
40236b:	5e                   	pop    %esi
40236c:	5b                   	pop    %ebx
40236d:	59                   	pop    %ecx
40236e:	59                   	pop    %ecx
40236f:	5d                   	pop    %ebp
402370:	c3                   	ret
402371:	8d 40 00             	lea    0x0(%eax),%eax
402374:	55                   	push   %ebp
402375:	8b ec                	mov    %esp,%ebp
402377:	51                   	push   %ecx
402378:	53                   	push   %ebx
402379:	56                   	push   %esi
40237a:	57                   	push   %edi
40237b:	8b d8                	mov    %eax,%ebx
40237d:	33 c0                	xor    %eax,%eax
40237f:	a3 c4 85 6a 00       	mov    %eax,0x6a85c4
402384:	80 3d c0 85 6a 00 00 	cmpb   $0x0,0x6a85c0
40238b:	75 1f                	jne    0x4023ac
40238d:	e8 66 f7 ff ff       	call   0x401af8
402392:	84 c0                	test   %al,%al
402394:	75 16                	jne    0x4023ac
402396:	c7 05 c4 85 6a 00 08 	movl   $0x8,0x6a85c4
40239d:	00 00 00
4023a0:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
4023a7:	e9 61 01 00 00       	jmp    0x40250d
4023ac:	33 c9                	xor    %ecx,%ecx
4023ae:	55                   	push   %ebp
4023af:	68 06 25 40 00       	push   $0x402506
4023b4:	64 ff 31             	push   %fs:(%ecx)
4023b7:	64 89 21             	mov    %esp,%fs:(%ecx)
4023ba:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
4023c1:	74 0a                	je     0x4023cd
4023c3:	68 c8 85 6a 00       	push   $0x6a85c8
4023c8:	e8 87 f0 ff ff       	call   0x401454
4023cd:	8b f3                	mov    %ebx,%esi
4023cf:	83 ee 04             	sub    $0x4,%esi
4023d2:	8b 1e                	mov    (%esi),%ebx
4023d4:	f6 c3 02             	test   $0x2,%bl
4023d7:	75 0f                	jne    0x4023e8
4023d9:	c7 05 c4 85 6a 00 09 	movl   $0x9,0x6a85c4
4023e0:	00 00 00
4023e3:	e9 f5 00 00 00       	jmp    0x4024dd
4023e8:	ff 0d b4 85 6a 00    	decl   0x6a85b4
4023ee:	8b c3                	mov    %ebx,%eax
4023f0:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
4023f5:	83 e8 04             	sub    $0x4,%eax
4023f8:	29 05 b8 85 6a 00    	sub    %eax,0x6a85b8
4023fe:	f6 c3 01             	test   $0x1,%bl
402401:	74 45                	je     0x402448
402403:	8b c6                	mov    %esi,%eax
402405:	83 e8 0c             	sub    $0xc,%eax
402408:	8b 50 08             	mov    0x8(%eax),%edx
40240b:	83 fa 0c             	cmp    $0xc,%edx
40240e:	7c 08                	jl     0x402418
402410:	f7 c2 03 00 00 80    	test   $0x80000003,%edx
402416:	74 0f                	je     0x402427
402418:	c7 05 c4 85 6a 00 0a 	movl   $0xa,0x6a85c4
40241f:	00 00 00
402422:	e9 b6 00 00 00       	jmp    0x4024dd
402427:	8b c6                	mov    %esi,%eax
402429:	2b c2                	sub    %edx,%eax
40242b:	3b 50 08             	cmp    0x8(%eax),%edx
40242e:	74 0f                	je     0x40243f
402430:	c7 05 c4 85 6a 00 0a 	movl   $0xa,0x6a85c4
402437:	00 00 00
40243a:	e9 9e 00 00 00       	jmp    0x4024dd
40243f:	03 da                	add    %edx,%ebx
402441:	8b f0                	mov    %eax,%esi
402443:	e8 54 f8 ff ff       	call   0x401c9c
402448:	81 e3 fc ff ff 7f    	and    $0x7ffffffc,%ebx
40244e:	8b c6                	mov    %esi,%eax
402450:	03 c3                	add    %ebx,%eax
402452:	8b f8                	mov    %eax,%edi
402454:	3b 3d 1c 86 6a 00    	cmp    0x6a861c,%edi
40245a:	75 2c                	jne    0x402488
40245c:	29 1d 1c 86 6a 00    	sub    %ebx,0x6a861c
402462:	01 1d 18 86 6a 00    	add    %ebx,0x6a8618
402468:	81 3d 18 86 6a 00 00 	cmpl   $0x3c00,0x6a8618
40246f:	3c 00 00
402472:	7e 05                	jle    0x402479
402474:	e8 13 fb ff ff       	call   0x401f8c
402479:	33 c0                	xor    %eax,%eax
40247b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40247e:	e8 6d 1e 00 00       	call   0x4042f0
402483:	e9 85 00 00 00       	jmp    0x40250d
402488:	8b 10                	mov    (%eax),%edx
40248a:	f6 c2 02             	test   $0x2,%dl
40248d:	74 1c                	je     0x4024ab
40248f:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
402495:	83 fa 04             	cmp    $0x4,%edx
402498:	7d 0c                	jge    0x4024a6
40249a:	c7 05 c4 85 6a 00 0b 	movl   $0xb,0x6a85c4
4024a1:	00 00 00
4024a4:	eb 37                	jmp    0x4024dd
4024a6:	83 08 01             	orl    $0x1,(%eax)
4024a9:	eb 29                	jmp    0x4024d4
4024ab:	8b c7                	mov    %edi,%eax
4024ad:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4024b1:	74 0b                	je     0x4024be
4024b3:	83 38 00             	cmpl   $0x0,(%eax)
4024b6:	74 06                	je     0x4024be
4024b8:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
4024bc:	7d 0c                	jge    0x4024ca
4024be:	c7 05 c4 85 6a 00 0b 	movl   $0xb,0x6a85c4
4024c5:	00 00 00
4024c8:	eb 13                	jmp    0x4024dd
4024ca:	8b 50 08             	mov    0x8(%eax),%edx
4024cd:	03 da                	add    %edx,%ebx
4024cf:	e8 c8 f7 ff ff       	call   0x401c9c
4024d4:	8b d3                	mov    %ebx,%edx
4024d6:	8b c6                	mov    %esi,%eax
4024d8:	e8 27 fa ff ff       	call   0x401f04
4024dd:	a1 c4 85 6a 00       	mov    0x6a85c4,%eax
4024e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4024e5:	33 c0                	xor    %eax,%eax
4024e7:	5a                   	pop    %edx
4024e8:	59                   	pop    %ecx
4024e9:	59                   	pop    %ecx
4024ea:	64 89 10             	mov    %edx,%fs:(%eax)
4024ed:	68 0d 25 40 00       	push   $0x40250d
4024f2:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
4024f9:	74 0a                	je     0x402505
4024fb:	68 c8 85 6a 00       	push   $0x6a85c8
402500:	e8 57 ef ff ff       	call   0x40145c
402505:	c3                   	ret
402506:	e9 01 1d 00 00       	jmp    0x40420c
40250b:	eb e5                	jmp    0x4024f2
40250d:	8b 45 fc             	mov    -0x4(%ebp),%eax
402510:	5f                   	pop    %edi
402511:	5e                   	pop    %esi
402512:	5b                   	pop    %ebx
402513:	59                   	pop    %ecx
402514:	5d                   	pop    %ebp
402515:	c3                   	ret
402516:	8b c0                	mov    %eax,%eax
402518:	53                   	push   %ebx
402519:	56                   	push   %esi
40251a:	57                   	push   %edi
40251b:	55                   	push   %ebp
40251c:	83 c4 f8             	add    $0xfffffff8,%esp
40251f:	8b f2                	mov    %edx,%esi
402521:	83 c6 07             	add    $0x7,%esi
402524:	83 e6 fc             	and    $0xfffffffc,%esi
402527:	83 fe 0c             	cmp    $0xc,%esi
40252a:	7d 05                	jge    0x402531
40252c:	be 0c 00 00 00       	mov    $0xc,%esi
402531:	8b e8                	mov    %eax,%ebp
402533:	83 ed 04             	sub    $0x4,%ebp
402536:	8b 7d 00             	mov    0x0(%ebp),%edi
402539:	81 e7 fc ff ff 7f    	and    $0x7ffffffc,%edi
40253f:	8b c5                	mov    %ebp,%eax
402541:	03 c7                	add    %edi,%eax
402543:	8b d8                	mov    %eax,%ebx
402545:	3b fe                	cmp    %esi,%edi