422432:	8b ff                	mov    %edi,%edi
422434:	55                   	push   %ebp
422435:	8b ec                	mov    %esp,%ebp
422437:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42243b:	74 1d                	je     0x42245a
42243d:	ff 75 08             	push   0x8(%ebp)
422440:	e8 87 fe ff ff       	call   0x4222cc
422445:	59                   	pop    %ecx
422446:	85 c0                	test   %eax,%eax
422448:	78 10                	js     0x42245a
42244a:	3d e4 00 00 00       	cmp    $0xe4,%eax
42244f:	73 09                	jae    0x42245a
422451:	8b 04 c5 e0 e6 42 00 	mov    0x42e6e0(,%eax,8),%eax
422458:	5d                   	pop    %ebp
422459:	c3                   	ret
42245a:	33 c0                	xor    %eax,%eax
42245c:	5d                   	pop    %ebp
42245d:	c3                   	ret
42245e:	8b ff                	mov    %edi,%edi
422460:	55                   	push   %ebp
422461:	8b ec                	mov    %esp,%ebp
422463:	56                   	push   %esi
422464:	8b 75 08             	mov    0x8(%ebp),%esi
422467:	85 f6                	test   %esi,%esi
422469:	75 15                	jne    0x422480
42246b:	e8 fb 25 ff ff       	call   0x414a6b
422470:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422476:	e8 67 98 fe ff       	call   0x40bce2
42247b:	83 c8 ff             	or     $0xffffffff,%eax
42247e:	eb 51                	jmp    0x4224d1
422480:	8b 46 0c             	mov    0xc(%esi),%eax
422483:	57                   	push   %edi
422484:	83 cf ff             	or     $0xffffffff,%edi
422487:	c1 e8 0d             	shr    $0xd,%eax
42248a:	a8 01                	test   $0x1,%al
42248c:	74 39                	je     0x4224c7
42248e:	56                   	push   %esi
42248f:	e8 94 70 ff ff       	call   0x419528
422494:	56                   	push   %esi
422495:	8b f8                	mov    %eax,%edi
422497:	e8 1a 72 ff ff       	call   0x4196b6
42249c:	56                   	push   %esi
42249d:	e8 dd 82 ff ff       	call   0x41a77f
4224a2:	50                   	push   %eax
4224a3:	e8 53 34 00 00       	call   0x4258fb
4224a8:	83 c4 10             	add    $0x10,%esp
4224ab:	85 c0                	test   %eax,%eax
4224ad:	79 05                	jns    0x4224b4
4224af:	83 cf ff             	or     $0xffffffff,%edi
4224b2:	eb 13                	jmp    0x4224c7
4224b4:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4224b8:	74 0d                	je     0x4224c7
4224ba:	ff 76 1c             	push   0x1c(%esi)
4224bd:	e8 4e 28 ff ff       	call   0x414d10
4224c2:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
4224c6:	59                   	pop    %ecx
4224c7:	56                   	push   %esi
4224c8:	e8 49 35 00 00       	call   0x425a16
4224cd:	59                   	pop    %ecx
4224ce:	8b c7                	mov    %edi,%eax
4224d0:	5f                   	pop    %edi
4224d1:	5e                   	pop    %esi
4224d2:	5d                   	pop    %ebp
4224d3:	c3                   	ret
4224d4:	6a 10                	push   $0x10
4224d6:	68 10 83 43 00       	push   $0x438310
4224db:	e8 40 51 fe ff       	call   0x407620
4224e0:	8b 75 08             	mov    0x8(%ebp),%esi
4224e3:	89 75 e0             	mov    %esi,-0x20(%ebp)
4224e6:	33 c0                	xor    %eax,%eax
4224e8:	85 f6                	test   %esi,%esi
4224ea:	0f 95 c0             	setne  %al
4224ed:	85 c0                	test   %eax,%eax
4224ef:	75 15                	jne    0x422506
4224f1:	e8 75 25 ff ff       	call   0x414a6b
4224f6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4224fc:	e8 e1 97 fe ff       	call   0x40bce2
422501:	83 c8 ff             	or     $0xffffffff,%eax
422504:	eb 3b                	jmp    0x422541
422506:	8b 46 0c             	mov    0xc(%esi),%eax
422509:	c1 e8 0c             	shr    $0xc,%eax
42250c:	56                   	push   %esi
42250d:	a8 01                	test   $0x1,%al
42250f:	74 08                	je     0x422519
422511:	e8 00 35 00 00       	call   0x425a16
422516:	59                   	pop    %ecx
422517:	eb e8                	jmp    0x422501
422519:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
42251d:	e8 5f 99 fe ff       	call   0x40be81
422522:	59                   	pop    %ecx
422523:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422527:	56                   	push   %esi
422528:	e8 31 ff ff ff       	call   0x42245e
42252d:	59                   	pop    %ecx
42252e:	8b f0                	mov    %eax,%esi
422530:	89 75 e4             	mov    %esi,-0x1c(%ebp)
422533:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42253a:	e8 0b 00 00 00       	call   0x42254a
42253f:	8b c6                	mov    %esi,%eax
422541:	e8 20 51 fe ff       	call   0x407666
422546:	c3                   	ret
422547:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42254a:	ff 75 e0             	push   -0x20(%ebp)
42254d:	e8 43 99 fe ff       	call   0x40be95
422552:	59                   	pop    %ecx
422553:	c3                   	ret
422554:	6a 0c                	push   $0xc
422556:	68 30 83 43 00       	push   $0x438330
42255b:	e8 c0 50 fe ff       	call   0x407620
422560:	33 f6                	xor    %esi,%esi
422562:	89 75 e4             	mov    %esi,-0x1c(%ebp)
422565:	8b 45 08             	mov    0x8(%ebp),%eax
422568:	ff 30                	push   (%eax)
42256a:	e8 00 d5 ff ff       	call   0x41fa6f
42256f:	59                   	pop    %ecx
422570:	89 75 fc             	mov    %esi,-0x4(%ebp)
422573:	8b 45 0c             	mov    0xc(%ebp),%eax
422576:	8b 00                	mov    (%eax),%eax
422578:	8b 38                	mov    (%eax),%edi
42257a:	8b d7                	mov    %edi,%edx
42257c:	c1 fa 06             	sar    $0x6,%edx
42257f:	8b c7                	mov    %edi,%eax
422581:	83 e0 3f             	and    $0x3f,%eax
422584:	6b c8 30             	imul   $0x30,%eax,%ecx
422587:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
42258e:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
422593:	74 21                	je     0x4225b6
422595:	57                   	push   %edi
422596:	e8 ab d5 ff ff       	call   0x41fb46
42259b:	59                   	pop    %ecx
42259c:	50                   	push   %eax
42259d:	ff 15 28 72 42 00    	call   *0x427228
4225a3:	85 c0                	test   %eax,%eax
4225a5:	75 1d                	jne    0x4225c4
4225a7:	e8 ac 24 ff ff       	call   0x414a58
4225ac:	8b f0                	mov    %eax,%esi
4225ae:	ff 15 c4 71 42 00    	call   *0x4271c4
4225b4:	89 06                	mov    %eax,(%esi)
4225b6:	e8 b0 24 ff ff       	call   0x414a6b
4225bb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4225c1:	83 ce ff             	or     $0xffffffff,%esi
4225c4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4225c7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4225ce:	e8 0d 00 00 00       	call   0x4225e0
4225d3:	8b c6                	mov    %esi,%eax
4225d5:	e8 8c 50 fe ff       	call   0x407666
4225da:	c2 0c 00             	ret    $0xc
4225dd:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4225e0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4225e3:	ff 31                	push   (%ecx)
4225e5:	e8 a8 d4 ff ff       	call   0x41fa92
4225ea:	59                   	pop    %ecx
4225eb:	c3                   	ret
4225ec:	8b ff                	mov    %edi,%edi
4225ee:	55                   	push   %ebp
4225ef:	8b ec                	mov    %esp,%ebp
4225f1:	83 ec 0c             	sub    $0xc,%esp
4225f4:	8b 45 08             	mov    0x8(%ebp),%eax
4225f7:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4225fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
4225fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
422600:	8d 45 f8             	lea    -0x8(%ebp),%eax
422603:	50                   	push   %eax
422604:	ff 75 0c             	push   0xc(%ebp)
422607:	8d 45 f4             	lea    -0xc(%ebp),%eax
42260a:	50                   	push   %eax
42260b:	e8 44 ff ff ff       	call   0x422554
422610:	8b e5                	mov    %ebp,%esp
422612:	5d                   	pop    %ebp
422613:	c3                   	ret
422614:	8b ff                	mov    %edi,%edi
422616:	55                   	push   %ebp
422617:	8b ec                	mov    %esp,%ebp
422619:	51                   	push   %ecx
42261a:	56                   	push   %esi
42261b:	8b 75 08             	mov    0x8(%ebp),%esi
42261e:	83 fe fe             	cmp    $0xfffffffe,%esi
422621:	75 0d                	jne    0x422630
422623:	e8 43 24 ff ff       	call   0x414a6b
422628:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42262e:	eb 4b                	jmp    0x42267b
422630:	85 f6                	test   %esi,%esi
422632:	78 37                	js     0x42266b
422634:	3b 35 c0 9f 83 02    	cmp    0x2839fc0,%esi
42263a:	73 2f                	jae    0x42266b
42263c:	8b c6                	mov    %esi,%eax
42263e:	8b d6                	mov    %esi,%edx
422640:	83 e0 3f             	and    $0x3f,%eax
422643:	c1 fa 06             	sar    $0x6,%edx
422646:	6b c8 30             	imul   $0x30,%eax,%ecx
422649:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
422650:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
422655:	74 14                	je     0x42266b
422657:	8d 45 08             	lea    0x8(%ebp),%eax
42265a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42265d:	8d 45 fc             	lea    -0x4(%ebp),%eax
422660:	50                   	push   %eax
422661:	56                   	push   %esi
422662:	e8 85 ff ff ff       	call   0x4225ec
422667:	59                   	pop    %ecx
422668:	59                   	pop    %ecx
422669:	eb 13                	jmp    0x42267e
42266b:	e8 fb 23 ff ff       	call   0x414a6b
422670:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
422676:	e8 67 96 fe ff       	call   0x40bce2
42267b:	83 c8 ff             	or     $0xffffffff,%eax
42267e:	5e                   	pop    %esi
42267f:	8b e5                	mov    %ebp,%esp
422681:	5d                   	pop    %ebp
422682:	c3                   	ret
422683:	8b ff                	mov    %edi,%edi
422685:	55                   	push   %ebp
422686:	8b ec                	mov    %esp,%ebp
422688:	83 ec 38             	sub    $0x38,%esp
42268b:	a1 28 ba 43 00       	mov    0x43ba28,%eax
422690:	33 c5                	xor    %ebp,%eax
422692:	89 45 fc             	mov    %eax,-0x4(%ebp)
422695:	8b 45 0c             	mov    0xc(%ebp),%eax
422698:	8b c8                	mov    %eax,%ecx
42269a:	83 e0 3f             	and    $0x3f,%eax
42269d:	c1 f9 06             	sar    $0x6,%ecx
4226a0:	53                   	push   %ebx
4226a1:	6b d8 30             	imul   $0x30,%eax,%ebx
4226a4:	56                   	push   %esi
4226a5:	8b 04 8d c0 9d 83 02 	mov    0x2839dc0(,%ecx,4),%eax
4226ac:	57                   	push   %edi
4226ad:	8b 7d 10             	mov    0x10(%ebp),%edi
4226b0:	89 7d d0             	mov    %edi,-0x30(%ebp)
4226b3:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4226b6:	8b 44 18 18          	mov    0x18(%eax,%ebx,1),%eax
4226ba:	89 45 d8             	mov    %eax,-0x28(%ebp)
4226bd:	8b 45 14             	mov    0x14(%ebp),%eax
4226c0:	03 c7                	add    %edi,%eax
4226c2:	89 45 dc             	mov    %eax,-0x24(%ebp)
4226c5:	ff 15 e0 70 42 00    	call   *0x4270e0
4226cb:	8b 75 08             	mov    0x8(%ebp),%esi
4226ce:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4226d1:	89 45 c8             	mov    %eax,-0x38(%ebp)
4226d4:	33 c0                	xor    %eax,%eax
4226d6:	89 06                	mov    %eax,(%esi)
4226d8:	89 46 04             	mov    %eax,0x4(%esi)
4226db:	89 46 08             	mov    %eax,0x8(%esi)
4226de:	3b f9                	cmp    %ecx,%edi
4226e0:	0f 83 3d 01 00 00    	jae    0x422823
4226e6:	8a 2f                	mov    (%edi),%ch
4226e8:	33 c0                	xor    %eax,%eax
4226ea:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
4226ee:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4226f1:	88 6d e5             	mov    %ch,-0x1b(%ebp)
4226f4:	8b 14 85 c0 9d 83 02 	mov    0x2839dc0(,%eax,4),%edx
4226fb:	8a 4c 1a 2d          	mov    0x2d(%edx,%ebx,1),%cl
4226ff:	f6 c1 04             	test   $0x4,%cl
422702:	74 19                	je     0x42271d
422704:	8a 44 1a 2e          	mov    0x2e(%edx,%ebx,1),%al
422708:	80 e1 fb             	and    $0xfb,%cl
42270b:	88 45 f4             	mov    %al,-0xc(%ebp)
42270e:	8d 45 f4             	lea    -0xc(%ebp),%eax
422711:	6a 02                	push   $0x2
422713:	88 6d f5             	mov    %ch,-0xb(%ebp)
422716:	88 4c 1a 2d          	mov    %cl,0x2d(%edx,%ebx,1)
42271a:	50                   	push   %eax
42271b:	eb 3a                	jmp    0x422757
42271d:	e8 6a 1d ff ff       	call   0x41448c
422722:	0f b6 0f             	movzbl (%edi),%ecx
422725:	ba 00 80 00 00       	mov    $0x8000,%edx
42272a:	66 85 14 48          	test   %dx,(%eax,%ecx,2)
42272e:	74 24                	je     0x422754
422730:	3b 7d dc             	cmp    -0x24(%ebp),%edi
422733:	0f 83 c1 00 00 00    	jae    0x4227fa
422739:	6a 02                	push   $0x2
42273b:	8d 45 e8             	lea    -0x18(%ebp),%eax
42273e:	57                   	push   %edi
42273f:	50                   	push   %eax
422740:	e8 1b 73 ff ff       	call   0x419a60
422745:	83 c4 0c             	add    $0xc,%esp
422748:	83 f8 ff             	cmp    $0xffffffff,%eax
42274b:	0f 84 d2 00 00 00    	je     0x422823
422751:	47                   	inc    %edi
422752:	eb 18                	jmp    0x42276c
422754:	6a 01                	push   $0x1
422756:	57                   	push   %edi
422757:	8d 45 e8             	lea    -0x18(%ebp),%eax
42275a:	50                   	push   %eax
42275b:	e8 00 73 ff ff       	call   0x419a60
422760:	83 c4 0c             	add    $0xc,%esp
422763:	83 f8 ff             	cmp    $0xffffffff,%eax
422766:	0f 84 b7 00 00 00    	je     0x422823
42276c:	33 c9                	xor    %ecx,%ecx
42276e:	8d 45 ec             	lea    -0x14(%ebp),%eax
422771:	51                   	push   %ecx
422772:	51                   	push   %ecx
422773:	6a 05                	push   $0x5
422775:	50                   	push   %eax
422776:	6a 01                	push   $0x1
422778:	8d 45 e8             	lea    -0x18(%ebp),%eax
42277b:	47                   	inc    %edi
42277c:	50                   	push   %eax
42277d:	51                   	push   %ecx
42277e:	ff 75 c8             	push   -0x38(%ebp)
422781:	ff 15 2c 71 42 00    	call   *0x42712c
422787:	89 45 cc             	mov    %eax,-0x34(%ebp)
42278a:	85 c0                	test   %eax,%eax
42278c:	0f 84 91 00 00 00    	je     0x422823
422792:	6a 00                	push   $0x0
422794:	8d 4d e0             	lea    -0x20(%ebp),%ecx
422797:	51                   	push   %ecx
422798:	50                   	push   %eax
422799:	8d 45 ec             	lea    -0x14(%ebp),%eax
42279c:	50                   	push   %eax
42279d:	ff 75 d8             	push   -0x28(%ebp)
4227a0:	ff 15 e8 71 42 00    	call   *0x4271e8
4227a6:	85 c0                	test   %eax,%eax
4227a8:	74 71                	je     0x42281b
4227aa:	8b 46 08             	mov    0x8(%esi),%eax
4227ad:	2b 45 d0             	sub    -0x30(%ebp),%eax
4227b0:	03 c7                	add    %edi,%eax
4227b2:	89 46 04             	mov    %eax,0x4(%esi)
4227b5:	8b 45 cc             	mov    -0x34(%ebp),%eax
4227b8:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4227bb:	72 66                	jb     0x422823
4227bd:	80 7d e5 0a          	cmpb   $0xa,-0x1b(%ebp)
4227c1:	75 2c                	jne    0x4227ef
4227c3:	6a 0d                	push   $0xd
4227c5:	58                   	pop    %eax
4227c6:	6a 00                	push   $0x0
4227c8:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
4227cc:	8d 45 e0             	lea    -0x20(%ebp),%eax
4227cf:	50                   	push   %eax
4227d0:	6a 01                	push   $0x1
4227d2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4227d5:	50                   	push   %eax
4227d6:	ff 75 d8             	push   -0x28(%ebp)
4227d9:	ff 15 e8 71 42 00    	call   *0x4271e8
4227df:	85 c0                	test   %eax,%eax
4227e1:	74 38                	je     0x42281b
4227e3:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
4227e7:	72 3a                	jb     0x422823
4227e9:	ff 46 08             	incl   0x8(%esi)
4227ec:	ff 46 04             	incl   0x4(%esi)
4227ef:	3b 7d dc             	cmp    -0x24(%ebp),%edi
4227f2:	0f 82 ee fe ff ff    	jb     0x4226e6
4227f8:	eb 29                	jmp    0x422823
4227fa:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4227fd:	8a 07                	mov    (%edi),%al
4227ff:	8b 0c 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%ecx
422806:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
42280a:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
422811:	80 4c 18 2d 04       	orb    $0x4,0x2d(%eax,%ebx,1)
422816:	ff 46 04             	incl   0x4(%esi)
422819:	eb 08                	jmp    0x422823