404485:	0f 85 d8 91 03 00    	jne    0x43d663
40448b:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
404491:	89 44 24 24          	mov    %eax,0x24(%esp)
404495:	89 07                	mov    %eax,(%edi)
404497:	80 3d 88 62 4c 00 01 	cmpb   $0x1,0x4c6288
40449e:	8d 44 24 10          	lea    0x10(%esp),%eax
4044a2:	50                   	push   %eax
4044a3:	74 1c                	je     0x4044c1
4044a5:	51                   	push   %ecx
4044a6:	ff 15 bc f4 48 00    	call   *0x48f4bc
4044ac:	c6 05 88 62 4c 00 01 	movb   $0x1,0x4c6288
4044b3:	8b ce                	mov    %esi,%ecx
4044b5:	e8 53 fc ff ff       	call   0x40410d
4044ba:	5f                   	pop    %edi
4044bb:	5e                   	pop    %esi
4044bc:	5b                   	pop    %ebx
4044bd:	8b e5                	mov    %ebp,%esp
4044bf:	5d                   	pop    %ebp
4044c0:	c3                   	ret
4044c1:	6a 01                	push   $0x1
4044c3:	ff 15 bc f4 48 00    	call   *0x48f4bc
4044c9:	eb e8                	jmp    0x4044b3
4044cb:	55                   	push   %ebp
4044cc:	8b ec                	mov    %esp,%ebp
4044ce:	81 ec b8 03 00 00    	sub    $0x3b8,%esp
4044d4:	80 3d 88 62 4c 00 00 	cmpb   $0x0,0x4c6288
4044db:	74 50                	je     0x40452d
4044dd:	33 c0                	xor    %eax,%eax
4044df:	68 b4 03 00 00       	push   $0x3b4
4044e4:	50                   	push   %eax
4044e5:	a2 88 62 4c 00       	mov    %al,0x4c6288
4044ea:	89 81 9c 01 00 00    	mov    %eax,0x19c(%ecx)
4044f0:	8d 85 4c fc ff ff    	lea    -0x3b4(%ebp),%eax
4044f6:	50                   	push   %eax
4044f7:	e8 24 eb 01 00       	call   0x423020
4044fc:	a1 ac 62 4c 00       	mov    0x4c62ac,%eax
404501:	83 c4 0c             	add    $0xc,%esp
404504:	89 85 4c fc ff ff    	mov    %eax,-0x3b4(%ebp)
40450a:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
404510:	c7 85 48 fc ff ff a8 	movl   $0x3a8,-0x3b8(%ebp)
404517:	03 00 00
40451a:	c7 85 50 fc ff ff 01 	movl   $0x1,-0x3b0(%ebp)
404521:	00 00 00
404524:	50                   	push   %eax
404525:	6a 02                	push   $0x2
404527:	ff 15 bc f4 48 00    	call   *0x48f4bc
40452d:	8b e5                	mov    %ebp,%esp
40452f:	5d                   	pop    %ebp
404530:	c3                   	ret
404531:	55                   	push   %ebp
404532:	8b ec                	mov    %esp,%ebp
404534:	81 ec c0 03 00 00    	sub    $0x3c0,%esp
40453a:	ff 4d 0c             	decl   0xc(%ebp)
40453d:	53                   	push   %ebx
40453e:	56                   	push   %esi
40453f:	57                   	push   %edi
404540:	8b f1                	mov    %ecx,%esi
404542:	0f 85 82 00 00 00    	jne    0x4045ca
404548:	68 b4 03 00 00       	push   $0x3b4
40454d:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
404553:	c7 85 44 fc ff ff a8 	movl   $0x3a8,-0x3bc(%ebp)
40455a:	03 00 00
40455d:	6a 00                	push   $0x0
40455f:	50                   	push   %eax
404560:	e8 bb ea 01 00       	call   0x423020
404565:	83 c4 0c             	add    $0xc,%esp
404568:	8b ce                	mov    %esi,%ecx
40456a:	e8 9e fb ff ff       	call   0x40410d
40456f:	8b 7d 08             	mov    0x8(%ebp),%edi
404572:	33 db                	xor    %ebx,%ebx
404574:	43                   	inc    %ebx
404575:	80 3d 88 62 4c 00 00 	cmpb   $0x0,0x4c6288
40457c:	74 35                	je     0x4045b3
40457e:	80 3d 87 62 4c 00 00 	cmpb   $0x0,0x4c6287
404585:	89 bd 48 fc ff ff    	mov    %edi,-0x3b8(%ebp)
40458b:	89 9d 4c fc ff ff    	mov    %ebx,-0x3b4(%ebp)
404591:	c7 85 50 fc ff ff 02 	movl   $0x2,-0x3b0(%ebp)
404598:	00 00 00
40459b:	0f 85 ee 90 03 00    	jne    0x43d68f
4045a1:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
4045a5:	0f 85 ff 90 03 00    	jne    0x43d6aa
4045ab:	38 9e 94 01 00 00    	cmp    %bl,0x194(%esi)
4045b1:	74 20                	je     0x4045d3
4045b3:	53                   	push   %ebx
4045b4:	57                   	push   %edi
4045b5:	ff 15 0c f7 48 00    	call   *0x48f70c
4045bb:	6a 00                	push   $0x0
4045bd:	68 ee 02 00 00       	push   $0x2ee
4045c2:	53                   	push   %ebx
4045c3:	57                   	push   %edi
4045c4:	ff 15 18 f7 48 00    	call   *0x48f718
4045ca:	5f                   	pop    %edi
4045cb:	5e                   	pop    %esi
4045cc:	5b                   	pop    %ebx
4045cd:	8b e5                	mov    %ebp,%esp
4045cf:	5d                   	pop    %ebp
4045d0:	c2 0c 00             	ret    $0xc
4045d3:	c6 86 94 01 00 00 00 	movb   $0x0,0x194(%esi)
4045da:	e9 db 90 03 00       	jmp    0x43d6ba
4045df:	55                   	push   %ebp
4045e0:	8b ec                	mov    %esp,%ebp
4045e2:	83 ec 3c             	sub    $0x3c,%esp
4045e5:	53                   	push   %ebx
4045e6:	56                   	push   %esi
4045e7:	57                   	push   %edi
4045e8:	6a 2c                	push   $0x2c
4045ea:	8d 45 c8             	lea    -0x38(%ebp),%eax
4045ed:	c7 45 c4 30 00 00 00 	movl   $0x30,-0x3c(%ebp)
4045f4:	6a 00                	push   $0x0
4045f6:	50                   	push   %eax
4045f7:	8b f9                	mov    %ecx,%edi
4045f9:	e8 22 ea 01 00       	call   0x423020
4045fe:	8b 45 14             	mov    0x14(%ebp),%eax
404601:	83 c4 0c             	add    $0xc,%esp
404604:	8b 8f d0 09 00 00    	mov    0x9d0(%edi),%ecx
40460a:	33 f6                	xor    %esi,%esi
40460c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40460f:	6a 08                	push   $0x8
404611:	5b                   	pop    %ebx
404612:	6a 01                	push   $0x1
404614:	5a                   	pop    %edx
404615:	2d 00 02 00 00       	sub    $0x200,%eax
40461a:	0f 85 c7 90 03 00    	jne    0x43d6e7
404620:	6a 40                	push   $0x40
404622:	5e                   	pop    %esi
404623:	6a f5                	push   $0xfffffff5
404625:	8b cf                	mov    %edi,%ecx
404627:	e8 43 fa ff ff       	call   0x40406f
40462c:	85 77 0c             	test   %esi,0xc(%edi)
40462f:	0f 85 6f 91 03 00    	jne    0x43d7a4
404635:	5f                   	pop    %edi
404636:	5e                   	pop    %esi
404637:	5b                   	pop    %ebx
404638:	8b e5                	mov    %ebp,%esp
40463a:	5d                   	pop    %ebp
40463b:	c2 10 00             	ret    $0x10
40463e:	55                   	push   %ebp
40463f:	8b ec                	mov    %esp,%ebp
404641:	56                   	push   %esi
404642:	8b 75 08             	mov    0x8(%ebp),%esi
404645:	57                   	push   %edi
404646:	8b f9                	mov    %ecx,%edi
404648:	85 f6                	test   %esi,%esi
40464a:	74 15                	je     0x404661
40464c:	8d 46 ff             	lea    -0x1(%esi),%eax
40464f:	50                   	push   %eax
404650:	52                   	push   %edx
404651:	57                   	push   %edi
404652:	e8 97 fc 01 00       	call   0x4242ee
404657:	83 c4 0c             	add    $0xc,%esp
40465a:	33 c0                	xor    %eax,%eax
40465c:	66 89 44 77 fe       	mov    %ax,-0x2(%edi,%esi,2)
404661:	5f                   	pop    %edi
404662:	5e                   	pop    %esi
404663:	5d                   	pop    %ebp
404664:	c3                   	ret
404665:	56                   	push   %esi
404666:	8b f1                	mov    %ecx,%esi
404668:	8d 4e 04             	lea    0x4(%esi),%ecx
40466b:	e8 f4 13 00 00       	call   0x405a64
404670:	56                   	push   %esi
404671:	e8 f6 c9 01 00       	call   0x42106c
404676:	59                   	pop    %ecx
404677:	8b c6                	mov    %esi,%eax
404679:	5e                   	pop    %esi
40467a:	c2 04 00             	ret    $0x4
40467d:	56                   	push   %esi
40467e:	57                   	push   %edi
40467f:	8b f9                	mov    %ecx,%edi
404681:	8b 47 04             	mov    0x4(%edi),%eax
404684:	50                   	push   %eax
404685:	8b 70 04             	mov    0x4(%eax),%esi
404688:	e8 df c9 01 00       	call   0x42106c
40468d:	ff 0f                	decl   (%edi)
40468f:	89 77 04             	mov    %esi,0x4(%edi)
404692:	59                   	pop    %ecx
404693:	85 f6                	test   %esi,%esi
404695:	75 03                	jne    0x40469a
404697:	21 77 08             	and    %esi,0x8(%edi)
40469a:	5f                   	pop    %edi
40469b:	5e                   	pop    %esi
40469c:	c3                   	ret
40469d:	55                   	push   %ebp
40469e:	8b ec                	mov    %esp,%ebp
4046a0:	56                   	push   %esi
4046a1:	6a 08                	push   $0x8
4046a3:	8b f1                	mov    %ecx,%esi
4046a5:	e8 4c c9 01 00       	call   0x420ff6
4046aa:	8b 55 08             	mov    0x8(%ebp),%edx
4046ad:	59                   	pop    %ecx
4046ae:	8b c8                	mov    %eax,%ecx
4046b0:	8b 12                	mov    (%edx),%edx
4046b2:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4046b6:	89 11                	mov    %edx,(%ecx)
4046b8:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4046bc:	75 0d                	jne    0x4046cb
4046be:	89 4e 04             	mov    %ecx,0x4(%esi)
4046c1:	ff 06                	incl   (%esi)
4046c3:	89 4e 08             	mov    %ecx,0x8(%esi)
4046c6:	5e                   	pop    %esi
4046c7:	5d                   	pop    %ebp
4046c8:	c2 04 00             	ret    $0x4
4046cb:	8b 46 08             	mov    0x8(%esi),%eax
4046ce:	89 48 04             	mov    %ecx,0x4(%eax)
4046d1:	eb ee                	jmp    0x4046c1
4046d3:	55                   	push   %ebp
4046d4:	8b ec                	mov    %esp,%ebp
4046d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4046d9:	56                   	push   %esi
4046da:	8b 75 10             	mov    0x10(%ebp),%esi
4046dd:	0f af c6             	imul   %esi,%eax
4046e0:	57                   	push   %edi
4046e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4046e4:	03 f8                	add    %eax,%edi
4046e6:	eb 08                	jmp    0x4046f0
4046e8:	2b 7d 0c             	sub    0xc(%ebp),%edi
4046eb:	8b cf                	mov    %edi,%ecx
4046ed:	ff 55 14             	call   *0x14(%ebp)
4046f0:	4e                   	dec    %esi
4046f1:	79 f5                	jns    0x4046e8
4046f3:	5f                   	pop    %edi
4046f4:	5e                   	pop    %esi
4046f5:	5d                   	pop    %ebp
4046f6:	c2 10 00             	ret    $0x10
4046f9:	55                   	push   %ebp
4046fa:	8b ec                	mov    %esp,%ebp
4046fc:	83 ec 58             	sub    $0x58,%esp
4046ff:	53                   	push   %ebx
404700:	56                   	push   %esi
404701:	8b f1                	mov    %ecx,%esi
404703:	89 55 f8             	mov    %edx,-0x8(%ebp)
404706:	57                   	push   %edi
404707:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40470a:	e8 b8 30 00 00       	call   0x4077c7
40470f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
404712:	e8 b0 30 00 00       	call   0x4077c7
404717:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40471a:	e8 a8 30 00 00       	call   0x4077c7
40471f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
404722:	e8 a0 30 00 00       	call   0x4077c7
404727:	8b 06                	mov    (%esi),%eax
404729:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40472c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40472f:	8b 46 04             	mov    0x4(%esi),%eax
404732:	89 45 ec             	mov    %eax,-0x14(%ebp)
404735:	8b 46 08             	mov    0x8(%esi),%eax
404738:	89 45 f0             	mov    %eax,-0x10(%ebp)
40473b:	8b 46 0c             	mov    0xc(%esi),%eax
40473e:	68 c0 fa 48 00       	push   $0x48fac0
404743:	89 45 f4             	mov    %eax,-0xc(%ebp)
404746:	ff 00                	incl   (%eax)
404748:	e8 e2 36 00 00       	call   0x407e2f
40474d:	83 cb ff             	or     $0xffffffff,%ebx
404750:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404753:	3b c3                	cmp    %ebx,%eax
404755:	0f 84 a0 91 03 00    	je     0x43d8fb
40475b:	8d 70 01             	lea    0x1(%eax),%esi
40475e:	53                   	push   %ebx
40475f:	56                   	push   %esi
404760:	8d 45 e8             	lea    -0x18(%ebp),%eax
404763:	50                   	push   %eax
404764:	e8 42 32 00 00       	call   0x4079ab
404769:	53                   	push   %ebx
40476a:	56                   	push   %esi
40476b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40476e:	e8 19 37 00 00       	call   0x407e8c
404773:	68 80 fb 48 00       	push   $0x48fb80
404778:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40477b:	e8 af 36 00 00       	call   0x407e2f
404780:	8b f0                	mov    %eax,%esi
404782:	3b f3                	cmp    %ebx,%esi
404784:	74 18                	je     0x40479e
404786:	53                   	push   %ebx
404787:	56                   	push   %esi
404788:	8d 45 c8             	lea    -0x38(%ebp),%eax
40478b:	50                   	push   %eax
40478c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40478f:	e8 17 32 00 00       	call   0x4079ab
404794:	53                   	push   %ebx
404795:	56                   	push   %esi
404796:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404799:	e8 ee 36 00 00       	call   0x407e8c
40479e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4047a1:	33 f6                	xor    %esi,%esi
4047a3:	83 fb 01             	cmp    $0x1,%ebx
4047a6:	76 38                	jbe    0x4047e0
4047a8:	56                   	push   %esi
4047a9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047ac:	e8 6f 33 00 00       	call   0x407b20
4047b1:	6a 5c                	push   $0x5c
4047b3:	5f                   	pop    %edi
4047b4:	66 39 38             	cmp    %di,(%eax)
4047b7:	0f 84 54 91 03 00    	je     0x43d911
4047bd:	6a 01                	push   $0x1
4047bf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047c2:	e8 8b 33 00 00       	call   0x407b52
4047c7:	66 83 38 3a          	cmpw   $0x3a,(%eax)
4047cb:	75 13                	jne    0x4047e0
4047cd:	6a 02                	push   $0x2
4047cf:	5f                   	pop    %edi
4047d0:	57                   	push   %edi
4047d1:	56                   	push   %esi
4047d2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4047d5:	50                   	push   %eax
4047d6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4047d9:	e8 cd 31 00 00       	call   0x4079ab
4047de:	8b f7                	mov    %edi,%esi
4047e0:	6a ff                	push   $0xffffffff
4047e2:	56                   	push   %esi
4047e3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4047e6:	50                   	push   %eax
4047e7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4047ea:	e8 bc 31 00 00       	call   0x4079ab
4047ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
4047f2:	85 c0                	test   %eax,%eax
4047f4:	74 0b                	je     0x404801
4047f6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4047f9:	51                   	push   %ecx
4047fa:	8b c8                	mov    %eax,%ecx
4047fc:	e8 a6 39 00 00       	call   0x4081a7
404801:	8b 4d 08             	mov    0x8(%ebp),%ecx
404804:	85 c9                	test   %ecx,%ecx
404806:	74 09                	je     0x404811
404808:	8d 45 a8             	lea    -0x58(%ebp),%eax
40480b:	50                   	push   %eax
40480c:	e8 96 39 00 00       	call   0x4081a7
404811:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404814:	85 c9                	test   %ecx,%ecx
404816:	75 36                	jne    0x40484e
404818:	8b 4d 10             	mov    0x10(%ebp),%ecx
40481b:	85 c9                	test   %ecx,%ecx
40481d:	75 3a                	jne    0x404859
40481f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404822:	e8 3d 12 00 00       	call   0x405a64
404827:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40482a:	e8 35 12 00 00       	call   0x405a64
40482f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404832:	e8 2d 12 00 00       	call   0x405a64
404837:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40483a:	e8 25 12 00 00       	call   0x405a64
40483f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404842:	e8 1d 12 00 00       	call   0x405a64
404847:	5f                   	pop    %edi
404848:	5e                   	pop    %esi
404849:	5b                   	pop    %ebx
40484a:	8b e5                	mov    %ebp,%esp
40484c:	5d                   	pop    %ebp
40484d:	c3                   	ret
40484e:	8d 45 c8             	lea    -0x38(%ebp),%eax
404851:	50                   	push   %eax