4074a6:	ff 15 50 e2 49 00    	call   *0x49e250
4074ac:	85 c0                	test   %eax,%eax
4074ae:	74 44                	je     0x4074f4
4074b0:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
4074b6:	8d 51 02             	lea    0x2(%ecx),%edx
4074b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4074c0:	66 8b 01             	mov    (%ecx),%ax
4074c3:	83 c1 02             	add    $0x2,%ecx
4074c6:	66 85 c0             	test   %ax,%ax
4074c9:	75 f5                	jne    0x4074c0
4074cb:	2b ca                	sub    %edx,%ecx
4074cd:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4074d3:	d1 f9                	sar    $1,%ecx
4074d5:	51                   	push   %ecx
4074d6:	50                   	push   %eax
4074d7:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
4074dd:	e8 1e b9 ff ff       	call   0x402e00
4074e2:	6a 1b                	push   $0x1b
4074e4:	68 d4 45 4b 00       	push   $0x4b45d4
4074e9:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
4074ef:	e8 1c ba ff ff       	call   0x402f10
4074f4:	6a 04                	push   $0x4
4074f6:	68 00 03 4b 00       	push   $0x4b0300
4074fb:	8d 8d 54 fd ff ff    	lea    -0x2ac(%ebp),%ecx
407501:	c7 85 54 fd ff ff 00 	movl   $0x0,-0x2ac(%ebp)
407508:	00 00 00
40750b:	c7 85 64 fd ff ff 00 	movl   $0x0,-0x29c(%ebp)
407512:	00 00 00
407515:	c7 85 68 fd ff ff 00 	movl   $0x0,-0x298(%ebp)
40751c:	00 00 00
40751f:	e8 3c ab ff ff       	call   0x402060
407524:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
407528:	8b 8d b0 fd ff ff    	mov    -0x250(%ebp),%ecx
40752e:	85 c9                	test   %ecx,%ecx
407530:	0f 84 9f 00 00 00    	je     0x4075d5
407536:	8b 85 64 fd ff ff    	mov    -0x29c(%ebp),%eax
40753c:	85 c0                	test   %eax,%eax
40753e:	0f 84 91 00 00 00    	je     0x4075d5
407544:	8d 79 0b             	lea    0xb(%ecx),%edi
407547:	ba 02 00 00 00       	mov    $0x2,%edx
40754c:	03 f8                	add    %eax,%edi
40754e:	33 c9                	xor    %ecx,%ecx
407550:	8b c7                	mov    %edi,%eax
407552:	f7 e2                	mul    %edx
407554:	0f 90 c1             	seto   %cl
407557:	f7 d9                	neg    %ecx
407559:	0b c8                	or     %eax,%ecx
40755b:	51                   	push   %ecx
40755c:	e8 a0 21 07 00       	call   0x479701
407561:	8b f0                	mov    %eax,%esi
407563:	83 c4 04             	add    $0x4,%esp
407566:	85 f6                	test   %esi,%esi
407568:	74 6b                	je     0x4075d5
40756a:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
407571:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
407577:	0f 43 8d a0 fd ff ff 	cmovae -0x260(%ebp),%ecx
40757e:	51                   	push   %ecx
40757f:	57                   	push   %edi
407580:	56                   	push   %esi
407581:	e8 17 21 07 00       	call   0x47969d
407586:	83 c4 0c             	add    $0xc,%esp
407589:	8d 85 54 fd ff ff    	lea    -0x2ac(%ebp),%eax
40758f:	83 bd 68 fd ff ff 08 	cmpl   $0x8,-0x298(%ebp)
407596:	0f 43 85 54 fd ff ff 	cmovae -0x2ac(%ebp),%eax
40759d:	50                   	push   %eax
40759e:	56                   	push   %esi
40759f:	ff 15 68 e2 49 00    	call   *0x49e268
4075a5:	8b ce                	mov    %esi,%ecx
4075a7:	8d 51 02             	lea    0x2(%ecx),%edx
4075aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4075b0:	66 8b 01             	mov    (%ecx),%ax
4075b3:	83 c1 02             	add    $0x2,%ecx
4075b6:	66 85 c0             	test   %ax,%ax
4075b9:	75 f5                	jne    0x4075b0
4075bb:	2b ca                	sub    %edx,%ecx
4075bd:	d1 f9                	sar    $1,%ecx
4075bf:	51                   	push   %ecx
4075c0:	56                   	push   %esi
4075c1:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
4075c7:	e8 34 b8 ff ff       	call   0x402e00
4075cc:	56                   	push   %esi
4075cd:	e8 b0 20 07 00       	call   0x479682
4075d2:	83 c4 04             	add    $0x4,%esp
4075d5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4075d9:	8b 8d 68 fd ff ff    	mov    -0x298(%ebp),%ecx
4075df:	83 f9 08             	cmp    $0x8,%ecx
4075e2:	72 35                	jb     0x407619
4075e4:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
4075ea:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4075f1:	8b c2                	mov    %edx,%eax
4075f3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4075f9:	72 14                	jb     0x40760f
4075fb:	8b 50 fc             	mov    -0x4(%eax),%edx
4075fe:	83 c1 23             	add    $0x23,%ecx
407601:	2b c2                	sub    %edx,%eax
407603:	83 c0 fc             	add    $0xfffffffc,%eax
407606:	83 f8 1f             	cmp    $0x1f,%eax
407609:	0f 87 b3 05 00 00    	ja     0x407bc2
40760f:	51                   	push   %ecx
407610:	52                   	push   %edx
407611:	e8 f2 23 06 00       	call   0x469a08
407616:	83 c4 08             	add    $0x8,%esp
407619:	6a 04                	push   $0x4
40761b:	68 0c 03 4b 00       	push   $0x4b030c
407620:	8d 8d 54 fd ff ff    	lea    -0x2ac(%ebp),%ecx
407626:	c7 85 54 fd ff ff 00 	movl   $0x0,-0x2ac(%ebp)
40762d:	00 00 00
407630:	c7 85 64 fd ff ff 00 	movl   $0x0,-0x29c(%ebp)
407637:	00 00 00
40763a:	c7 85 68 fd ff ff 00 	movl   $0x0,-0x298(%ebp)
407641:	00 00 00
407644:	e8 17 aa ff ff       	call   0x402060
407649:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40764d:	8b 8d 98 fd ff ff    	mov    -0x268(%ebp),%ecx
407653:	85 c9                	test   %ecx,%ecx
407655:	0f 84 9a 00 00 00    	je     0x4076f5
40765b:	8b 85 64 fd ff ff    	mov    -0x29c(%ebp),%eax
407661:	85 c0                	test   %eax,%eax
407663:	0f 84 8c 00 00 00    	je     0x4076f5
407669:	8d 79 0b             	lea    0xb(%ecx),%edi
40766c:	ba 02 00 00 00       	mov    $0x2,%edx
407671:	03 f8                	add    %eax,%edi
407673:	33 c9                	xor    %ecx,%ecx
407675:	8b c7                	mov    %edi,%eax
407677:	f7 e2                	mul    %edx
407679:	0f 90 c1             	seto   %cl
40767c:	f7 d9                	neg    %ecx
40767e:	0b c8                	or     %eax,%ecx
407680:	51                   	push   %ecx
407681:	e8 7b 20 07 00       	call   0x479701
407686:	8b f0                	mov    %eax,%esi
407688:	83 c4 04             	add    $0x4,%esp
40768b:	85 f6                	test   %esi,%esi
40768d:	74 66                	je     0x4076f5
40768f:	83 bd 9c fd ff ff 08 	cmpl   $0x8,-0x264(%ebp)
407696:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx
40769c:	0f 43 8d 88 fd ff ff 	cmovae -0x278(%ebp),%ecx
4076a3:	51                   	push   %ecx
4076a4:	57                   	push   %edi
4076a5:	56                   	push   %esi
4076a6:	e8 f2 1f 07 00       	call   0x47969d
4076ab:	83 c4 0c             	add    $0xc,%esp
4076ae:	8d 85 54 fd ff ff    	lea    -0x2ac(%ebp),%eax
4076b4:	83 bd 68 fd ff ff 08 	cmpl   $0x8,-0x298(%ebp)
4076bb:	0f 43 85 54 fd ff ff 	cmovae -0x2ac(%ebp),%eax
4076c2:	50                   	push   %eax
4076c3:	56                   	push   %esi
4076c4:	ff 15 68 e2 49 00    	call   *0x49e268
4076ca:	8b ce                	mov    %esi,%ecx
4076cc:	8d 51 02             	lea    0x2(%ecx),%edx
4076cf:	90                   	nop
4076d0:	66 8b 01             	mov    (%ecx),%ax
4076d3:	83 c1 02             	add    $0x2,%ecx
4076d6:	66 85 c0             	test   %ax,%ax
4076d9:	75 f5                	jne    0x4076d0
4076db:	2b ca                	sub    %edx,%ecx
4076dd:	d1 f9                	sar    $1,%ecx
4076df:	51                   	push   %ecx
4076e0:	56                   	push   %esi
4076e1:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx
4076e7:	e8 14 b7 ff ff       	call   0x402e00
4076ec:	56                   	push   %esi
4076ed:	e8 90 1f 07 00       	call   0x479682
4076f2:	83 c4 04             	add    $0x4,%esp
4076f5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4076f9:	8b 8d 68 fd ff ff    	mov    -0x298(%ebp),%ecx
4076ff:	83 f9 08             	cmp    $0x8,%ecx
407702:	72 35                	jb     0x407739
407704:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
40770a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407711:	8b c2                	mov    %edx,%eax
407713:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407719:	72 14                	jb     0x40772f
40771b:	8b 50 fc             	mov    -0x4(%eax),%edx
40771e:	83 c1 23             	add    $0x23,%ecx
407721:	2b c2                	sub    %edx,%eax
407723:	83 c0 fc             	add    $0xfffffffc,%eax
407726:	83 f8 1f             	cmp    $0x1f,%eax
407729:	0f 87 98 04 00 00    	ja     0x407bc7
40772f:	51                   	push   %ecx
407730:	52                   	push   %edx
407731:	e8 d2 22 06 00       	call   0x469a08
407736:	83 c4 08             	add    $0x8,%esp
407739:	33 c0                	xor    %eax,%eax
40773b:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
407742:	00 00 00
407745:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
40774c:	00 00 00
40774f:	c7 85 e4 fd ff ff 07 	movl   $0x7,-0x21c(%ebp)
407756:	00 00 00
407759:	66 89 85 d0 fd ff ff 	mov    %ax,-0x230(%ebp)
407760:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
407766:	89 85 80 fd ff ff    	mov    %eax,-0x280(%ebp)
40776c:	c7 85 84 fd ff ff 07 	movl   $0x7,-0x27c(%ebp)
407773:	00 00 00
407776:	66 89 85 70 fd ff ff 	mov    %ax,-0x290(%ebp)
40777d:	8b 45 0c             	mov    0xc(%ebp),%eax
407780:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
407784:	85 c0                	test   %eax,%eax
407786:	75 2e                	jne    0x4077b6
407788:	6a 21                	push   $0x21
40778a:	68 18 03 4b 00       	push   $0x4b0318
40778f:	8d 8d 70 fd ff ff    	lea    -0x290(%ebp),%ecx
407795:	e8 66 b6 ff ff       	call   0x402e00
40779a:	83 bd 9c fd ff ff 08 	cmpl   $0x8,-0x264(%ebp)
4077a1:	8d 85 88 fd ff ff    	lea    -0x278(%ebp),%eax
4077a7:	ff b5 98 fd ff ff    	push   -0x268(%ebp)
4077ad:	0f 43 85 88 fd ff ff 	cmovae -0x278(%ebp),%eax
4077b4:	eb 31                	jmp    0x4077e7
4077b6:	83 f8 01             	cmp    $0x1,%eax
4077b9:	75 38                	jne    0x4077f3
4077bb:	6a 2e                	push   $0x2e
4077bd:	68 60 03 4b 00       	push   $0x4b0360
4077c2:	8d 8d 70 fd ff ff    	lea    -0x290(%ebp),%ecx
4077c8:	e8 33 b6 ff ff       	call   0x402e00
4077cd:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
4077d4:	8d 85 a0 fd ff ff    	lea    -0x260(%ebp),%eax
4077da:	ff b5 b0 fd ff ff    	push   -0x250(%ebp)
4077e0:	0f 43 85 a0 fd ff ff 	cmovae -0x260(%ebp),%eax
4077e7:	50                   	push   %eax
4077e8:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4077ee:	e8 0d b6 ff ff       	call   0x402e00
4077f3:	51                   	push   %ecx
4077f4:	8d 95 70 fd ff ff    	lea    -0x290(%ebp),%edx
4077fa:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
407800:	e8 9b f9 01 00       	call   0x4271a0
407805:	83 c4 04             	add    $0x4,%esp
407808:	84 c0                	test   %al,%al
40780a:	0f 84 03 01 00 00    	je     0x407913
407810:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
407817:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40781d:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
407824:	50                   	push   %eax
407825:	ff 15 5c e2 49 00    	call   *0x49e25c
40782b:	85 c0                	test   %eax,%eax
40782d:	0f 84 e0 00 00 00    	je     0x407913
407833:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40783a:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
407840:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
407847:	50                   	push   %eax
407848:	ff 15 60 e2 49 00    	call   *0x49e260
40784e:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
407855:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40785b:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
407862:	50                   	push   %eax
407863:	ff 15 5c e2 49 00    	call   *0x49e25c
407869:	85 c0                	test   %eax,%eax
40786b:	74 48                	je     0x4078b5
40786d:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
407874:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40787a:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
407881:	50                   	push   %eax
407882:	ff 15 60 e2 49 00    	call   *0x49e260
407888:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40788e:	3b d8                	cmp    %eax,%ebx
407890:	74 1c                	je     0x4078ae
407892:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
407899:	8b cb                	mov    %ebx,%ecx
40789b:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
4078a1:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
4078a8:	50                   	push   %eax
4078a9:	e8 52 b5 ff ff       	call   0x402e00
4078ae:	b3 01                	mov    $0x1,%bl
4078b0:	e9 d4 00 00 00       	jmp    0x407989
4078b5:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
4078ba:	85 c0                	test   %eax,%eax
4078bc:	75 36                	jne    0x4078f4
4078be:	68 84 00 00 00       	push   $0x84
4078c3:	e8 10 21 06 00       	call   0x4699d8
4078c8:	8b f0                	mov    %eax,%esi
4078ca:	89 b5 6c fd ff ff    	mov    %esi,-0x294(%ebp)
4078d0:	68 84 00 00 00       	push   $0x84
4078d5:	6a 00                	push   $0x0
4078d7:	56                   	push   %esi
4078d8:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4078dc:	e8 cf 42 06 00       	call   0x46bbb0
4078e1:	83 c4 10             	add    $0x10,%esp
4078e4:	8b ce                	mov    %esi,%ecx
4078e6:	e8 95 e3 ff ff       	call   0x405c80
4078eb:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4078ef:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
4078f4:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
4078fb:	8d 48 04             	lea    0x4(%eax),%ecx
4078fe:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
407904:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40790b:	50                   	push   %eax
40790c:	68 30 04 4b 00       	push   $0x4b0430
407911:	eb 5c                	jmp    0x40796f
407913:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
407918:	85 c0                	test   %eax,%eax
40791a:	75 36                	jne    0x407952
40791c:	68 84 00 00 00       	push   $0x84
407921:	e8 b2 20 06 00       	call   0x4699d8
407926:	8b f0                	mov    %eax,%esi
407928:	89 b5 6c fd ff ff    	mov    %esi,-0x294(%ebp)
40792e:	68 84 00 00 00       	push   $0x84
407933:	6a 00                	push   $0x0
407935:	56                   	push   %esi
407936:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
40793a:	e8 71 42 06 00       	call   0x46bbb0
40793f:	83 c4 10             	add    $0x10,%esp
407942:	8b ce                	mov    %esi,%ecx
407944:	e8 37 e3 ff ff       	call   0x405c80
407949:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40794d:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407952:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
407959:	8d 48 04             	lea    0x4(%eax),%ecx
40795c:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
407962:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
407969:	50                   	push   %eax
40796a:	68 c0 03 4b 00       	push   $0x4b03c0
40796f:	8b 31                	mov    (%ecx),%esi
407971:	68 60 ea 4a 00       	push   $0x4aea60
407976:	51                   	push   %ecx
407977:	8b 76 24             	mov    0x24(%esi),%esi
40797a:	8b ce                	mov    %esi,%ecx
40797c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407982:	ff d6                	call   *%esi
407984:	83 c4 10             	add    $0x10,%esp
407987:	32 db                	xor    %bl,%bl
407989:	8b 8d 84 fd ff ff    	mov    -0x27c(%ebp),%ecx
40798f:	83 f9 08             	cmp    $0x8,%ecx
407992:	72 35                	jb     0x4079c9
407994:	8b 95 70 fd ff ff    	mov    -0x290(%ebp),%edx
40799a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4079a1:	8b c2                	mov    %edx,%eax
4079a3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4079a9:	72 14                	jb     0x4079bf
4079ab:	8b 50 fc             	mov    -0x4(%eax),%edx
4079ae:	83 c1 23             	add    $0x23,%ecx
4079b1:	2b c2                	sub    %edx,%eax
4079b3:	83 c0 fc             	add    $0xfffffffc,%eax
4079b6:	83 f8 1f             	cmp    $0x1f,%eax
4079b9:	0f 87 0d 02 00 00    	ja     0x407bcc
4079bf:	51                   	push   %ecx
4079c0:	52                   	push   %edx
4079c1:	e8 42 20 06 00       	call   0x469a08
4079c6:	83 c4 08             	add    $0x8,%esp
4079c9:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
4079cf:	33 c0                	xor    %eax,%eax
4079d1:	c7 85 80 fd ff ff 00 	movl   $0x0,-0x280(%ebp)
4079d8:	00 00 00
4079db:	c7 85 84 fd ff ff 07 	movl   $0x7,-0x27c(%ebp)
4079e2:	00 00 00
4079e5:	66 89 85 70 fd ff ff 	mov    %ax,-0x290(%ebp)
4079ec:	83 f9 08             	cmp    $0x8,%ecx
4079ef:	72 35                	jb     0x407a26
4079f1:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
4079f7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4079fe:	8b c2                	mov    %edx,%eax