418283:	8a 44 24 10          	mov    0x10(%esp),%al
418287:	8b 4c 83 3c          	mov    0x3c(%ebx,%eax,4),%ecx
41828b:	8b d7                	mov    %edi,%edx
41828d:	8b c3                	mov    %ebx,%eax
41828f:	e8 4c fb ff ff       	call   0x417de0
418294:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418298:	48                   	dec    %eax
418299:	3b 04 24             	cmp    (%esp),%eax
41829c:	7e 53                	jle    0x4182f1
41829e:	8b 43 20             	mov    0x20(%ebx),%eax
4182a1:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
4182a6:	74 31                	je     0x4182d9
4182a8:	8d 54 24 18          	lea    0x18(%esp),%edx
4182ac:	52                   	push   %edx
4182ad:	8d 54 24 20          	lea    0x20(%esp),%edx
4182b1:	52                   	push   %edx
4182b2:	8d 54 24 0c          	lea    0xc(%esp),%edx
4182b6:	52                   	push   %edx
4182b7:	8d 54 24 14          	lea    0x14(%esp),%edx
4182bb:	52                   	push   %edx
4182bc:	8d 54 24 30          	lea    0x30(%esp),%edx
4182c0:	52                   	push   %edx
4182c1:	8b e8                	mov    %eax,%ebp
4182c3:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4182c7:	41                   	inc    %ecx
4182c8:	8b d0                	mov    %eax,%edx
4182ca:	8b 45 2c             	mov    0x2c(%ebp),%eax
4182cd:	ff 55 28             	call   *0x28(%ebp)
4182d0:	80 7c 24 20 00       	cmpb   $0x0,0x20(%esp)
4182d5:	75 24                	jne    0x4182fb
4182d7:	eb 18                	jmp    0x4182f1
4182d9:	8b c3                	mov    %ebx,%eax
4182db:	e8 14 d7 ff ff       	call   0x4159f4
4182e0:	8b 80 5c 04 00 00    	mov    0x45c(%eax),%eax
4182e6:	29 44 24 04          	sub    %eax,0x4(%esp)
4182ea:	8b 43 28             	mov    0x28(%ebx),%eax
4182ed:	01 44 24 08          	add    %eax,0x8(%esp)
4182f1:	ff 04 24             	incl   (%esp)
4182f4:	4e                   	dec    %esi
4182f5:	0f 85 54 ff ff ff    	jne    0x41824f
4182fb:	8b d7                	mov    %edi,%edx
4182fd:	8b c3                	mov    %ebx,%eax
4182ff:	e8 24 fb ff ff       	call   0x417e28
418304:	83 c4 24             	add    $0x24,%esp
418307:	5d                   	pop    %ebp
418308:	5f                   	pop    %edi
418309:	5e                   	pop    %esi
41830a:	5b                   	pop    %ebx
41830b:	c3                   	ret
41830c:	55                   	push   %ebp
41830d:	8b ec                	mov    %esp,%ebp
41830f:	51                   	push   %ecx
418310:	53                   	push   %ebx
418311:	56                   	push   %esi
418312:	57                   	push   %edi
418313:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418316:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418319:	33 db                	xor    %ebx,%ebx
41831b:	8a da                	mov    %dl,%bl
41831d:	8b 34 9d 0c 86 42 00 	mov    0x42860c(,%ebx,4),%esi
418324:	8d 1c 76             	lea    (%esi,%esi,2),%ebx
418327:	03 5d fc             	add    -0x4(%ebp),%ebx
41832a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41832d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
418330:	83 c3 02             	add    $0x2,%ebx
418333:	0f b6 1b             	movzbl (%ebx),%ebx
418336:	8b 78 20             	mov    0x20(%eax),%edi
418339:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418340:	88 19                	mov    %bl,(%ecx)
418342:	41                   	inc    %ecx
418343:	8b 5d fc             	mov    -0x4(%ebp),%ebx
418346:	43                   	inc    %ebx
418347:	0f b6 1b             	movzbl (%ebx),%ebx
41834a:	8b 78 20             	mov    0x20(%eax),%edi
41834d:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418354:	88 19                	mov    %bl,(%ecx)
418356:	41                   	inc    %ecx
418357:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41835a:	0f b6 1b             	movzbl (%ebx),%ebx
41835d:	8b 78 20             	mov    0x20(%eax),%edi
418360:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418367:	88 19                	mov    %bl,(%ecx)
418369:	41                   	inc    %ecx
41836a:	33 db                	xor    %ebx,%ebx
41836c:	8a da                	mov    %dl,%bl
41836e:	8b 1c 9d 44 86 42 00 	mov    0x428644(,%ebx,4),%ebx
418375:	8d 3c 5b             	lea    (%ebx,%ebx,2),%edi
418378:	01 7d fc             	add    %edi,-0x4(%ebp)
41837b:	03 f3                	add    %ebx,%esi
41837d:	3b 70 28             	cmp    0x28(%eax),%esi
418380:	7c ab                	jl     0x41832d
418382:	5f                   	pop    %edi
418383:	5e                   	pop    %esi
418384:	5b                   	pop    %ebx
418385:	59                   	pop    %ecx
418386:	5d                   	pop    %ebp
418387:	c2 08 00             	ret    $0x8
41838a:	8b c0                	mov    %eax,%eax
41838c:	55                   	push   %ebp
41838d:	8b ec                	mov    %esp,%ebp
41838f:	51                   	push   %ecx
418390:	53                   	push   %ebx
418391:	56                   	push   %esi
418392:	57                   	push   %edi
418393:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418396:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418399:	33 db                	xor    %ebx,%ebx
41839b:	8a da                	mov    %dl,%bl
41839d:	8b 34 9d 0c 86 42 00 	mov    0x42860c(,%ebx,4),%esi
4183a4:	8d 1c 76             	lea    (%esi,%esi,2),%ebx
4183a7:	03 5d fc             	add    -0x4(%ebp),%ebx
4183aa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4183ad:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4183b0:	83 c3 02             	add    $0x2,%ebx
4183b3:	0f b6 1b             	movzbl (%ebx),%ebx
4183b6:	8b 78 20             	mov    0x20(%eax),%edi
4183b9:	0f b6 9c 1f 32 01 00 	movzbl 0x132(%edi,%ebx,1),%ebx
4183c0:	00
4183c1:	66 89 19             	mov    %bx,(%ecx)
4183c4:	83 c1 02             	add    $0x2,%ecx
4183c7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4183ca:	43                   	inc    %ebx
4183cb:	0f b6 1b             	movzbl (%ebx),%ebx
4183ce:	8b 78 20             	mov    0x20(%eax),%edi
4183d1:	0f b6 9c 1f 32 01 00 	movzbl 0x132(%edi,%ebx,1),%ebx
4183d8:	00
4183d9:	66 89 19             	mov    %bx,(%ecx)
4183dc:	83 c1 02             	add    $0x2,%ecx
4183df:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4183e2:	0f b6 1b             	movzbl (%ebx),%ebx
4183e5:	8b 78 20             	mov    0x20(%eax),%edi
4183e8:	0f b6 9c 1f 32 01 00 	movzbl 0x132(%edi,%ebx,1),%ebx
4183ef:	00
4183f0:	66 89 19             	mov    %bx,(%ecx)
4183f3:	83 c1 02             	add    $0x2,%ecx
4183f6:	33 db                	xor    %ebx,%ebx
4183f8:	8a da                	mov    %dl,%bl
4183fa:	8b 1c 9d 44 86 42 00 	mov    0x428644(,%ebx,4),%ebx
418401:	8d 3c 5b             	lea    (%ebx,%ebx,2),%edi
418404:	01 7d fc             	add    %edi,-0x4(%ebp)
418407:	03 f3                	add    %ebx,%esi
418409:	3b 70 28             	cmp    0x28(%eax),%esi
41840c:	7c 9f                	jl     0x4183ad
41840e:	5f                   	pop    %edi
41840f:	5e                   	pop    %esi
418410:	5b                   	pop    %ebx
418411:	59                   	pop    %ecx
418412:	5d                   	pop    %ebp
418413:	c2 08 00             	ret    $0x8
418416:	8b c0                	mov    %eax,%eax
418418:	55                   	push   %ebp
418419:	8b ec                	mov    %esp,%ebp
41841b:	83 c4 f0             	add    $0xfffffff0,%esp
41841e:	53                   	push   %ebx
41841f:	56                   	push   %esi
418420:	57                   	push   %edi
418421:	89 4d f4             	mov    %ecx,-0xc(%ebp)
418424:	88 55 fb             	mov    %dl,-0x5(%ebp)
418427:	89 45 fc             	mov    %eax,-0x4(%ebp)
41842a:	8b 55 fc             	mov    -0x4(%ebp),%edx
41842d:	8b 52 34             	mov    0x34(%edx),%edx
418430:	8b 45 0c             	mov    0xc(%ebp),%eax
418433:	33 c9                	xor    %ecx,%ecx
418435:	e8 5a a6 fe ff       	call   0x402a94
41843a:	33 c0                	xor    %eax,%eax
41843c:	8a 45 fb             	mov    -0x5(%ebp),%al
41843f:	8b 34 85 0c 86 42 00 	mov    0x42860c(,%eax,4),%esi
418446:	8b 45 fc             	mov    -0x4(%ebp),%eax
418449:	e8 a6 d5 ff ff       	call   0x4159f4
41844e:	8d 58 31             	lea    0x31(%eax),%ebx
418451:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
418455:	8b 3c 85 f0 86 42 00 	mov    0x4286f0(,%eax,4),%edi
41845c:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
418460:	f7 ee                	imul   %esi
418462:	85 c0                	test   %eax,%eax
418464:	79 03                	jns    0x418469
418466:	83 c0 07             	add    $0x7,%eax
418469:	c1 f8 03             	sar    $0x3,%eax
41846c:	03 45 f4             	add    -0xc(%ebp),%eax
41846f:	89 45 f0             	mov    %eax,-0x10(%ebp)
418472:	8b 45 fc             	mov    -0x4(%ebp),%eax
418475:	e8 7a d5 ff ff       	call   0x4159f4
41847a:	0f b6 80 70 04 00 00 	movzbl 0x470(%eax),%eax
418481:	8b 0c 85 f0 86 42 00 	mov    0x4286f0(,%eax,4),%ecx
418488:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
41848c:	f7 ee                	imul   %esi
41848e:	25 07 00 00 80       	and    $0x80000007,%eax
418493:	79 05                	jns    0x41849a
418495:	48                   	dec    %eax
418496:	83 c8 f8             	or     $0xfffffff8,%eax
418499:	40                   	inc    %eax
41849a:	2b c8                	sub    %eax,%ecx
41849c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41849f:	0f b6 00             	movzbl (%eax),%eax
4184a2:	d3 e8                	shr    %cl,%eax
4184a4:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
4184a8:	22 04 95 d0 86 42 00 	and    0x4286d0(,%edx,4),%al
4184af:	8b cf                	mov    %edi,%ecx
4184b1:	d2 e0                	shl    %cl,%al
4184b3:	8b 55 0c             	mov    0xc(%ebp),%edx
4184b6:	08 02                	or     %al,(%edx)
4184b8:	33 c0                	xor    %eax,%eax
4184ba:	8a 45 fb             	mov    -0x5(%ebp),%al
4184bd:	03 34 85 44 86 42 00 	add    0x428644(,%eax,4),%esi
4184c4:	0f b7 43 0e          	movzwl 0xe(%ebx),%eax
4184c8:	2b f8                	sub    %eax,%edi
4184ca:	85 ff                	test   %edi,%edi
4184cc:	7d 8e                	jge    0x41845c
4184ce:	ff 45 0c             	incl   0xc(%ebp)
4184d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4184d4:	3b 70 28             	cmp    0x28(%eax),%esi
4184d7:	0f 8c 74 ff ff ff    	jl     0x418451
4184dd:	5f                   	pop    %edi
4184de:	5e                   	pop    %esi
4184df:	5b                   	pop    %ebx
4184e0:	8b e5                	mov    %ebp,%esp
4184e2:	5d                   	pop    %ebp
4184e3:	c2 08 00             	ret    $0x8
4184e6:	8b c0                	mov    %eax,%eax
4184e8:	55                   	push   %ebp
4184e9:	8b ec                	mov    %esp,%ebp
4184eb:	51                   	push   %ecx
4184ec:	53                   	push   %ebx
4184ed:	56                   	push   %esi
4184ee:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4184f1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4184f4:	33 c9                	xor    %ecx,%ecx
4184f6:	8a ca                	mov    %dl,%cl
4184f8:	8b 0c 8d 0c 86 42 00 	mov    0x42860c(,%ecx,4),%ecx
4184ff:	8b 75 fc             	mov    -0x4(%ebp),%esi
418502:	03 f1                	add    %ecx,%esi
418504:	89 75 fc             	mov    %esi,-0x4(%ebp)
418507:	8b 75 fc             	mov    -0x4(%ebp),%esi
41850a:	0f b6 36             	movzbl (%esi),%esi
41850d:	66 89 33             	mov    %si,(%ebx)
418510:	83 c3 02             	add    $0x2,%ebx
418513:	8b f2                	mov    %edx,%esi
418515:	81 e6 ff 00 00 00    	and    $0xff,%esi
41851b:	8b 34 b5 44 86 42 00 	mov    0x428644(,%esi,4),%esi
418522:	01 75 fc             	add    %esi,-0x4(%ebp)
418525:	03 ce                	add    %esi,%ecx
418527:	3b 48 28             	cmp    0x28(%eax),%ecx
41852a:	7c db                	jl     0x418507
41852c:	5e                   	pop    %esi
41852d:	5b                   	pop    %ebx
41852e:	59                   	pop    %ecx
41852f:	5d                   	pop    %ebp
418530:	c2 08 00             	ret    $0x8
418533:	90                   	nop
418534:	55                   	push   %ebp
418535:	8b ec                	mov    %esp,%ebp
418537:	51                   	push   %ecx
418538:	53                   	push   %ebx
418539:	56                   	push   %esi
41853a:	57                   	push   %edi
41853b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41853e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418541:	33 db                	xor    %ebx,%ebx
418543:	8a da                	mov    %dl,%bl
418545:	8b 34 9d 0c 86 42 00 	mov    0x42860c(,%ebx,4),%esi
41854c:	8d 1c 76             	lea    (%esi,%esi,2),%ebx
41854f:	03 5d fc             	add    -0x4(%ebp),%ebx
418552:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418555:	8b 5d 08             	mov    0x8(%ebp),%ebx
418558:	03 de                	add    %esi,%ebx
41855a:	89 5d 08             	mov    %ebx,0x8(%ebp)
41855d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
418560:	83 c3 02             	add    $0x2,%ebx
418563:	0f b6 1b             	movzbl (%ebx),%ebx
418566:	8b 78 20             	mov    0x20(%eax),%edi
418569:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418570:	88 19                	mov    %bl,(%ecx)
418572:	41                   	inc    %ecx
418573:	8b 5d fc             	mov    -0x4(%ebp),%ebx
418576:	43                   	inc    %ebx
418577:	0f b6 1b             	movzbl (%ebx),%ebx
41857a:	8b 78 20             	mov    0x20(%eax),%edi
41857d:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418584:	88 19                	mov    %bl,(%ecx)
418586:	41                   	inc    %ecx
418587:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41858a:	0f b6 1b             	movzbl (%ebx),%ebx
41858d:	8b 78 20             	mov    0x20(%eax),%edi
418590:	8a 9c 1f 32 01 00 00 	mov    0x132(%edi,%ebx,1),%bl
418597:	88 19                	mov    %bl,(%ecx)
418599:	41                   	inc    %ecx
41859a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41859d:	8a 1b                	mov    (%ebx),%bl
41859f:	88 19                	mov    %bl,(%ecx)
4185a1:	41                   	inc    %ecx
4185a2:	33 db                	xor    %ebx,%ebx
4185a4:	8a da                	mov    %dl,%bl
4185a6:	8b 1c 9d 44 86 42 00 	mov    0x428644(,%ebx,4),%ebx
4185ad:	8d 3c 5b             	lea    (%ebx,%ebx,2),%edi
4185b0:	01 7d fc             	add    %edi,-0x4(%ebp)
4185b3:	01 5d 08             	add    %ebx,0x8(%ebp)
4185b6:	03 f3                	add    %ebx,%esi
4185b8:	3b 70 28             	cmp    0x28(%eax),%esi
4185bb:	7c a0                	jl     0x41855d
4185bd:	5f                   	pop    %edi
4185be:	5e                   	pop    %esi
4185bf:	5b                   	pop    %ebx
4185c0:	59                   	pop    %ecx
4185c1:	5d                   	pop    %ebp
4185c2:	c2 08 00             	ret    $0x8
4185c5:	8d 40 00             	lea    0x0(%eax),%eax
4185c8:	55                   	push   %ebp
4185c9:	8b ec                	mov    %esp,%ebp
4185cb:	83 c4 f8             	add    $0xfffffff8,%esp
4185ce:	53                   	push   %ebx
4185cf:	56                   	push   %esi
4185d0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4185d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4185d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4185d9:	33 c0                	xor    %eax,%eax
4185db:	8a c2                	mov    %dl,%al
4185dd:	8b 34 85 0c 86 42 00 	mov    0x42860c(,%eax,4),%esi
4185e4:	8d 04 76             	lea    (%esi,%esi,2),%eax
4185e7:	03 45 f8             	add    -0x8(%ebp),%eax
4185ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
4185ed:	8b 45 08             	mov    0x8(%ebp),%eax
4185f0:	03 c6                	add    %esi,%eax
4185f2:	89 45 08             	mov    %eax,0x8(%ebp)
4185f5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4185f8:	83 c0 02             	add    $0x2,%eax
4185fb:	0f b6 00             	movzbl (%eax),%eax
4185fe:	66 89 01             	mov    %ax,(%ecx)
418601:	83 c1 02             	add    $0x2,%ecx
418604:	8b 45 f8             	mov    -0x8(%ebp),%eax
418607:	40                   	inc    %eax
418608:	0f b6 00             	movzbl (%eax),%eax
41860b:	66 89 01             	mov    %ax,(%ecx)
41860e:	83 c1 02             	add    $0x2,%ecx
418611:	8b 45 f8             	mov    -0x8(%ebp),%eax
418614:	0f b6 00             	movzbl (%eax),%eax
418617:	66 89 01             	mov    %ax,(%ecx)
41861a:	83 c1 02             	add    $0x2,%ecx
41861d:	8b 45 08             	mov    0x8(%ebp),%eax
418620:	0f b6 00             	movzbl (%eax),%eax
418623:	66 89 01             	mov    %ax,(%ecx)
418626:	83 c1 02             	add    $0x2,%ecx
418629:	33 c0                	xor    %eax,%eax
41862b:	8a c2                	mov    %dl,%al
41862d:	8b 1c 85 44 86 42 00 	mov    0x428644(,%eax,4),%ebx
418634:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
418637:	01 45 f8             	add    %eax,-0x8(%ebp)
41863a:	01 5d 08             	add    %ebx,0x8(%ebp)
41863d:	03 f3                	add    %ebx,%esi
41863f:	8b 45 fc             	mov    -0x4(%ebp),%eax
418642:	3b 70 28             	cmp    0x28(%eax),%esi