40354a:	8b 4e 08             	mov    0x8(%esi),%ecx
40354d:	5e                   	pop    %esi
40354e:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
403552:	c3                   	ret
403553:	56                   	push   %esi
403554:	8b f1                	mov    %ecx,%esi
403556:	57                   	push   %edi
403557:	33 ff                	xor    %edi,%edi
403559:	39 7e 08             	cmp    %edi,0x8(%esi)
40355c:	0f 87 3f 9d 03 00    	ja     0x43d2a1
403562:	83 66 08 00          	andl   $0x0,0x8(%esi)
403566:	5f                   	pop    %edi
403567:	5e                   	pop    %esi
403568:	c3                   	ret
403569:	56                   	push   %esi
40356a:	8b f1                	mov    %ecx,%esi
40356c:	c7 06 18 f9 48 00    	movl   $0x48f918,(%esi)
403572:	e8 dc ff ff ff       	call   0x403553
403577:	ff 76 04             	push   0x4(%esi)
40357a:	e8 ed da 01 00       	call   0x42106c
40357f:	59                   	pop    %ecx
403580:	5e                   	pop    %esi
403581:	c3                   	ret
403582:	55                   	push   %ebp
403583:	8b ec                	mov    %esp,%ebp
403585:	51                   	push   %ecx
403586:	51                   	push   %ecx
403587:	8d 45 f8             	lea    -0x8(%ebp),%eax
40358a:	ba 1c f9 48 00       	mov    $0x48f91c,%edx
40358f:	50                   	push   %eax
403590:	6a 04                	push   $0x4
403592:	68 44 f9 48 00       	push   $0x48f944
403597:	b9 01 00 00 80       	mov    $0x80000001,%ecx
40359c:	e8 0f 00 00 00       	call   0x4035b0
4035a1:	83 c4 0c             	add    $0xc,%esp
4035a4:	66 83 7d f8 31       	cmpw   $0x31,-0x8(%ebp)
4035a9:	0f 94 c0             	sete   %al
4035ac:	8b e5                	mov    %ebp,%esp
4035ae:	5d                   	pop    %ebp
4035af:	c3                   	ret
4035b0:	55                   	push   %ebp
4035b1:	8b ec                	mov    %esp,%ebp
4035b3:	51                   	push   %ecx
4035b4:	51                   	push   %ecx
4035b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4035b9:	53                   	push   %ebx
4035ba:	56                   	push   %esi
4035bb:	74 72                	je     0x40362f
4035bd:	8b 75 10             	mov    0x10(%ebp),%esi
4035c0:	85 f6                	test   %esi,%esi
4035c2:	74 6b                	je     0x40362f
4035c4:	33 c0                	xor    %eax,%eax
4035c6:	33 db                	xor    %ebx,%ebx
4035c8:	66 89 06             	mov    %ax,(%esi)
4035cb:	8d 45 f8             	lea    -0x8(%ebp),%eax
4035ce:	50                   	push   %eax
4035cf:	6a 01                	push   $0x1
4035d1:	53                   	push   %ebx
4035d2:	52                   	push   %edx
4035d3:	51                   	push   %ecx
4035d4:	ff 15 18 f0 48 00    	call   *0x48f018
4035da:	85 c0                	test   %eax,%eax
4035dc:	75 51                	jne    0x40362f
4035de:	8b 45 0c             	mov    0xc(%ebp),%eax
4035e1:	57                   	push   %edi
4035e2:	8d 3c 00             	lea    (%eax,%eax,1),%edi
4035e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4035e8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4035eb:	50                   	push   %eax
4035ec:	56                   	push   %esi
4035ed:	53                   	push   %ebx
4035ee:	53                   	push   %ebx
4035ef:	ff 75 08             	push   0x8(%ebp)
4035f2:	ff 75 f8             	push   -0x8(%ebp)
4035f5:	ff 15 20 f0 48 00    	call   *0x48f020
4035fb:	85 c0                	test   %eax,%eax
4035fd:	75 15                	jne    0x403614
4035ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
403602:	d1 e8                	shr    $1,%eax
403604:	89 45 fc             	mov    %eax,-0x4(%ebp)
403607:	3b 45 0c             	cmp    0xc(%ebp),%eax
40360a:	73 1a                	jae    0x403626
40360c:	33 c9                	xor    %ecx,%ecx
40360e:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
403612:	b3 01                	mov    $0x1,%bl
403614:	ff 75 f8             	push   -0x8(%ebp)
403617:	ff 15 1c f0 48 00    	call   *0x48f01c
40361d:	8a c3                	mov    %bl,%al
40361f:	5f                   	pop    %edi
403620:	5e                   	pop    %esi
403621:	5b                   	pop    %ebx
403622:	8b e5                	mov    %ebp,%esp
403624:	5d                   	pop    %ebp
403625:	c3                   	ret
403626:	33 c0                	xor    %eax,%eax
403628:	66 89 44 37 fe       	mov    %ax,-0x2(%edi,%esi,1)
40362d:	eb e3                	jmp    0x403612
40362f:	32 c0                	xor    %al,%al
403631:	eb ed                	jmp    0x403620
403633:	55                   	push   %ebp
403634:	8b ec                	mov    %esp,%ebp
403636:	5d                   	pop    %ebp
403637:	e9 2e 00 00 00       	jmp    0x40366a
40363c:	a1 c4 62 4c 00       	mov    0x4c62c4,%eax
403641:	85 c0                	test   %eax,%eax
403643:	74 07                	je     0x40364c
403645:	50                   	push   %eax
403646:	ff 15 3c f7 48 00    	call   *0x48f73c
40364c:	b9 f8 62 4c 00       	mov    $0x4c62f8,%ecx
403651:	e8 0e 24 00 00       	call   0x405a64
403656:	b9 e8 62 4c 00       	mov    $0x4c62e8,%ecx
40365b:	e8 04 24 00 00       	call   0x405a64
403660:	b9 d0 62 4c 00       	mov    $0x4c62d0,%ecx
403665:	e9 fa 23 00 00       	jmp    0x405a64
40366a:	55                   	push   %ebp
40366b:	8b ec                	mov    %esp,%ebp
40366d:	83 e4 f8             	and    $0xfffffff8,%esp
403670:	51                   	push   %ecx
403671:	a1 ac 62 4c 00       	mov    0x4c62ac,%eax
403676:	53                   	push   %ebx
403677:	56                   	push   %esi
403678:	8b 75 08             	mov    0x8(%ebp),%esi
40367b:	57                   	push   %edi
40367c:	8b 7d 0c             	mov    0xc(%ebp),%edi
40367f:	3b f0                	cmp    %eax,%esi
403681:	75 5e                	jne    0x4036e1
403683:	83 ff 11             	cmp    $0x11,%edi
403686:	76 5f                	jbe    0x4036e7
403688:	8b c7                	mov    %edi,%eax
40368a:	2d 82 00 00 00       	sub    $0x82,%eax
40368f:	0f 84 c8 00 00 00    	je     0x40375d
403695:	2d 8f 00 00 00       	sub    $0x8f,%eax
40369a:	0f 84 ef 9c 03 00    	je     0x43d38f
4036a0:	48                   	dec    %eax
4036a1:	48                   	dec    %eax
4036a2:	0f 84 bf 00 00 00    	je     0x403767
4036a8:	2d ff 01 00 00       	sub    $0x1ff,%eax
4036ad:	0f 84 c1 9c 03 00    	je     0x43d374
4036b3:	2d ef 00 00 00       	sub    $0xef,%eax
4036b8:	0f 84 8d 00 00 00    	je     0x40374b
4036be:	3b 3d 24 74 4c 00    	cmp    0x4c7424,%edi
4036c4:	0f 84 85 9c 03 00    	je     0x43d34f
4036ca:	ff 75 14             	push   0x14(%ebp)
4036cd:	ff 75 10             	push   0x10(%ebp)
4036d0:	57                   	push   %edi
4036d1:	56                   	push   %esi
4036d2:	ff 15 bc f6 48 00    	call   *0x48f6bc
4036d8:	5f                   	pop    %edi
4036d9:	5e                   	pop    %esi
4036da:	5b                   	pop    %ebx
4036db:	8b e5                	mov    %ebp,%esp
4036dd:	5d                   	pop    %ebp
4036de:	c2 10 00             	ret    $0x10
4036e1:	85 c0                	test   %eax,%eax
4036e3:	74 9e                	je     0x403683
4036e5:	eb e3                	jmp    0x4036ca
4036e7:	0f 84 2f 9c 03 00    	je     0x43d31c
4036ed:	8b c7                	mov    %edi,%eax
4036ef:	48                   	dec    %eax
4036f0:	74 23                	je     0x403715
4036f2:	48                   	dec    %eax
4036f3:	0f 85 c6 9b 03 00    	jne    0x43d2bf
4036f9:	6a 01                	push   $0x1
4036fb:	56                   	push   %esi
4036fc:	ff 15 0c f7 48 00    	call   *0x48f70c
403702:	b9 90 68 4c 00       	mov    $0x4c6890,%ecx
403707:	e8 bf 0d 00 00       	call   0x4044cb
40370c:	e8 03 fa ff ff       	call   0x403114
403711:	33 c0                	xor    %eax,%eax
403713:	eb c3                	jmp    0x4036d8
403715:	6a 00                	push   $0x0
403717:	68 ee 02 00 00       	push   $0x2ee
40371c:	6a 01                	push   $0x1
40371e:	56                   	push   %esi
40371f:	ff 15 18 f7 48 00    	call   *0x48f718
403725:	68 80 f9 48 00       	push   $0x48f980
40372a:	ff 15 14 f7 48 00    	call   *0x48f714
403730:	83 3d 90 68 4c 00 00 	cmpl   $0x0,0x4c6890
403737:	a3 24 74 4c 00       	mov    %eax,0x4c7424
40373c:	75 d3                	jne    0x403711
40373e:	ff 15 10 f7 48 00    	call   *0x48f710
403744:	a3 90 68 4c 00       	mov    %eax,0x4c6890
403749:	eb c6                	jmp    0x403711
40374b:	ff 75 14             	push   0x14(%ebp)
40374e:	51                   	push   %ecx
40374f:	51                   	push   %ecx
403750:	56                   	push   %esi
403751:	b9 90 68 4c 00       	mov    $0x4c6890,%ecx
403756:	e8 84 0e 00 00       	call   0x4045df
40375b:	eb b4                	jmp    0x403711
40375d:	6a 00                	push   $0x0
40375f:	ff 15 08 f7 48 00    	call   *0x48f708
403765:	eb aa                	jmp    0x403711
403767:	51                   	push   %ecx
403768:	ff 75 10             	push   0x10(%ebp)
40376b:	b9 90 68 4c 00       	mov    $0x4c6890,%ecx
403770:	56                   	push   %esi
403771:	e8 bb 0d 00 00       	call   0x404531
403776:	eb 99                	jmp    0x403711
403778:	55                   	push   %ebp
403779:	8b ec                	mov    %esp,%ebp
40377b:	83 ec 64             	sub    $0x64,%esp
40377e:	53                   	push   %ebx
40377f:	56                   	push   %esi
403780:	33 db                	xor    %ebx,%ebx
403782:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
403785:	57                   	push   %edi
403786:	89 5d a0             	mov    %ebx,-0x60(%ebp)
403789:	e8 39 40 00 00       	call   0x4077c7
40378e:	ff 75 08             	push   0x8(%ebp)
403791:	8d 4d a0             	lea    -0x60(%ebp),%ecx
403794:	c7 45 b4 68 f9 48 00 	movl   $0x48f968,-0x4c(%ebp)
40379b:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40379e:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4037a1:	89 5d c0             	mov    %ebx,-0x40(%ebp)
4037a4:	88 5d c4             	mov    %bl,-0x3c(%ebp)
4037a7:	e8 97 05 00 00       	call   0x403d43
4037ac:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4037af:	be f8 62 4c 00       	mov    $0x4c62f8,%esi
4037b4:	8a 45 c4             	mov    -0x3c(%ebp),%al
4037b7:	88 01                	mov    %al,(%ecx)
4037b9:	8b ce                	mov    %esi,%ecx
4037bb:	e8 a4 10 00 00       	call   0x404864
4037c0:	68 88 fa 48 00       	push   $0x48fa88
4037c5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4037c8:	e8 74 47 00 00       	call   0x407f41
4037cd:	6a 01                	push   $0x1
4037cf:	ff 35 f8 62 4c 00    	push   0x4c62f8
4037d5:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4037d8:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4037db:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4037de:	88 5d dc             	mov    %bl,-0x24(%ebp)
4037e1:	e8 57 17 00 00       	call   0x404f3d
4037e6:	85 c0                	test   %eax,%eax
4037e8:	0f 84 c0 9b 03 00    	je     0x43d3ae
4037ee:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4037f1:	e8 6e 22 00 00       	call   0x405a64
4037f6:	56                   	push   %esi
4037f7:	b9 d0 62 4c 00       	mov    $0x4c62d0,%ecx
4037fc:	e8 a6 49 00 00       	call   0x4081a7
403801:	8d 45 a4             	lea    -0x5c(%ebp),%eax
403804:	50                   	push   %eax
403805:	8d 4d d0             	lea    -0x30(%ebp),%ecx
403808:	e8 dd 5b 00 00       	call   0x4093ea
40380d:	68 70 fa 48 00       	push   $0x48fa70
403812:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403815:	e8 27 47 00 00       	call   0x407f41
40381a:	33 f6                	xor    %esi,%esi
40381c:	8d 45 d0             	lea    -0x30(%ebp),%eax
40381f:	56                   	push   %esi
403820:	6a 01                	push   $0x1
403822:	50                   	push   %eax
403823:	8d 45 e0             	lea    -0x20(%ebp),%eax
403826:	50                   	push   %eax
403827:	e8 f4 4d 00 00       	call   0x408620
40382c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40382f:	e8 30 22 00 00       	call   0x405a64
403834:	68 60 fa 48 00       	push   $0x48fa60
403839:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40383c:	c7 45 f0 00 01 00 00 	movl   $0x100,-0x10(%ebp)
403843:	89 75 f8             	mov    %esi,-0x8(%ebp)
403846:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40384d:	e8 ef 46 00 00       	call   0x407f41
403852:	56                   	push   %esi
403853:	56                   	push   %esi
403854:	8d 45 f0             	lea    -0x10(%ebp),%eax
403857:	50                   	push   %eax
403858:	8d 45 e0             	lea    -0x20(%ebp),%eax
40385b:	50                   	push   %eax
40385c:	e8 bf 4d 00 00       	call   0x408620
403861:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403864:	89 45 08             	mov    %eax,0x8(%ebp)
403867:	e8 f8 21 00 00       	call   0x405a64
40386c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40386f:	e8 ac 61 00 00       	call   0x409a20
403874:	8b 75 bc             	mov    -0x44(%ebp),%esi
403877:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40387a:	e8 48 3f 00 00       	call   0x4077c7
40387f:	8d 45 f0             	lea    -0x10(%ebp),%eax
403882:	50                   	push   %eax
403883:	8d 4d a0             	lea    -0x60(%ebp),%ecx
403886:	e8 57 06 00 00       	call   0x403ee2
40388b:	8b 7d f0             	mov    -0x10(%ebp),%edi
40388e:	57                   	push   %edi
40388f:	68 44 fa 48 00       	push   $0x48fa44
403894:	e8 a4 f8 01 00       	call   0x42313d
403899:	59                   	pop    %ecx
40389a:	59                   	pop    %ecx
40389b:	85 c0                	test   %eax,%eax
40389d:	0f 84 47 9b 03 00    	je     0x43d3ea
4038a3:	57                   	push   %edi
4038a4:	68 1c fa 48 00       	push   $0x48fa1c
4038a9:	e8 8f f8 01 00       	call   0x42313d
4038ae:	59                   	pop    %ecx
4038af:	59                   	pop    %ecx
4038b0:	85 c0                	test   %eax,%eax
4038b2:	0f 84 4e 9b 03 00    	je     0x43d406
4038b8:	57                   	push   %edi
4038b9:	68 f4 f9 48 00       	push   $0x48f9f4
4038be:	e8 7a f8 01 00       	call   0x42313d
4038c3:	59                   	pop    %ecx
4038c4:	59                   	pop    %ecx
4038c5:	85 c0                	test   %eax,%eax
4038c7:	0f 84 55 9b 03 00    	je     0x43d422
4038cd:	57                   	push   %edi
4038ce:	68 c8 f9 48 00       	push   $0x48f9c8
4038d3:	e8 65 f8 01 00       	call   0x42313d
4038d8:	59                   	pop    %ecx
4038d9:	59                   	pop    %ecx
4038da:	85 c0                	test   %eax,%eax
4038dc:	75 3b                	jne    0x403919
4038de:	84 db                	test   %bl,%bl
4038e0:	0f 85 8a 9b 03 00    	jne    0x43d470
4038e6:	c7 05 e0 62 4c 00 03 	movl   $0x3,0x4c62e0
4038ed:	00 00 00
4038f0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4038f3:	50                   	push   %eax
4038f4:	8d 4d a0             	lea    -0x60(%ebp),%ecx
4038f7:	e8 e6 05 00 00       	call   0x403ee2
4038fc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4038ff:	b9 f8 62 4c 00       	mov    $0x4c62f8,%ecx
403904:	50                   	push   %eax
403905:	e8 9d 48 00 00       	call   0x4081a7
40390a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40390d:	83 ee 02             	sub    $0x2,%esi
403910:	50                   	push   %eax
403911:	8d 4d a0             	lea    -0x60(%ebp),%ecx
403914:	e8 c9 05 00 00       	call   0x403ee2
403919:	83 3d fc 62 4c 00 00 	cmpl   $0x0,0x4c62fc
403920:	0f 84 56 9b 03 00    	je     0x43d47c
403926:	85 f6                	test   %esi,%esi
403928:	0f 88 b2 00 00 00    	js     0x4039e0
40392e:	8b 4d 08             	mov    0x8(%ebp),%ecx
403931:	e8 f8 5a 00 00       	call   0x40942e
403936:	8d 4e 01             	lea    0x1(%esi),%ecx
403939:	8b d8                	mov    %eax,%ebx
40393b:	51                   	push   %ecx
40393c:	6a 01                	push   $0x1
40393e:	53                   	push   %ebx
40393f:	e8 6c 58 00 00       	call   0x4091b0
403944:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
403948:	83 c4 0c             	add    $0xc,%esp
40394b:	33 c0                	xor    %eax,%eax
40394d:	89 75 e0             	mov    %esi,-0x20(%ebp)
403950:	40                   	inc    %eax
403951:	89 45 ec             	mov    %eax,-0x14(%ebp)
403954:	6a 00                	push   $0x0
403956:	50                   	push   %eax
403957:	8d 45 e0             	lea    -0x20(%ebp),%eax
40395a:	50                   	push   %eax