407572:	50                   	push   %eax
407573:	68 59 1b 00 00       	push   $0x1b59
407578:	ff 35 0c 19 41 00    	push   0x41190c
40757e:	ff 15 20 33 43 00    	call   *0x433320
407584:	85 c0                	test   %eax,%eax
407586:	74 40                	je     0x4075c8
407588:	66 39 9d fc fe ff ff 	cmp    %bx,-0x104(%ebp)
40758f:	74 37                	je     0x4075c8
407591:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
407597:	50                   	push   %eax
407598:	53                   	push   %ebx
407599:	68 43 01 00 00       	push   $0x143
40759e:	57                   	push   %edi
40759f:	ff 15 10 33 43 00    	call   *0x433310
4075a5:	8b f0                	mov    %eax,%esi
4075a7:	83 fe ff             	cmp    $0xffffffff,%esi
4075aa:	74 0e                	je     0x4075ba
4075ac:	53                   	push   %ebx
4075ad:	56                   	push   %esi
4075ae:	68 51 01 00 00       	push   $0x151
4075b3:	57                   	push   %edi
4075b4:	ff 15 10 33 43 00    	call   *0x433310
4075ba:	53                   	push   %ebx
4075bb:	56                   	push   %esi
4075bc:	68 4e 01 00 00       	push   $0x14e
4075c1:	57                   	push   %edi
4075c2:	ff 15 10 33 43 00    	call   *0x433310
4075c8:	8b 1d b4 26 43 00    	mov    0x4326b4,%ebx
4075ce:	8b 35 48 10 41 00    	mov    0x411048,%esi
4075d4:	85 db                	test   %ebx,%ebx
4075d6:	0f 8e a8 00 00 00    	jle    0x407684
4075dc:	83 c6 08             	add    $0x8,%esi
4075df:	8b 0e                	mov    (%esi),%ecx
4075e1:	ba b0 04 00 00       	mov    $0x4b0,%edx
4075e6:	66 8b 41 08          	mov    0x8(%ecx),%ax
4075ea:	66 03 c1             	add    %cx,%ax
4075ed:	0f b7 c0             	movzwl %ax,%eax
4075f0:	66 3b c2             	cmp    %dx,%ax
4075f3:	75 05                	jne    0x4075fa
4075f5:	33 c0                	xor    %eax,%eax
4075f7:	40                   	inc    %eax
4075f8:	eb 23                	jmp    0x40761d
4075fa:	8b 0d a8 16 41 00    	mov    0x4116a8,%ecx
407600:	85 c9                	test   %ecx,%ecx
407602:	7e 15                	jle    0x407619
407604:	8b d0                	mov    %eax,%edx
407606:	a1 ac 16 41 00       	mov    0x4116ac,%eax
40760b:	49                   	dec    %ecx
40760c:	39 14 88             	cmp    %edx,(%eax,%ecx,4)
40760f:	0f 84 81 00 00 00    	je     0x407696
407615:	85 c9                	test   %ecx,%ecx
407617:	7f ed                	jg     0x407606
407619:	33 c0                	xor    %eax,%eax
40761b:	8b 0e                	mov    (%esi),%ecx
40761d:	85 c0                	test   %eax,%eax
40761f:	74 57                	je     0x407678
407621:	8b 41 04             	mov    0x4(%ecx),%eax
407624:	03 c1                	add    %ecx,%eax
407626:	66 83 38 30          	cmpw   $0x30,(%eax)
40762a:	75 27                	jne    0x407653
40762c:	68 ff 00 00 00       	push   $0xff
407631:	8d 8d fc fc ff ff    	lea    -0x304(%ebp),%ecx
407637:	51                   	push   %ecx
407638:	50                   	push   %eax
407639:	ff 15 fc 33 43 00    	call   *0x4333fc
40763f:	59                   	pop    %ecx
407640:	50                   	push   %eax
407641:	ff 35 0c 19 41 00    	push   0x41190c
407647:	ff 15 20 33 43 00    	call   *0x433320
40764d:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
407653:	50                   	push   %eax
407654:	6a 00                	push   $0x0
407656:	68 43 01 00 00       	push   $0x143
40765b:	57                   	push   %edi
40765c:	ff 15 10 33 43 00    	call   *0x433310
407662:	83 f8 ff             	cmp    $0xffffffff,%eax
407665:	74 11                	je     0x407678
407667:	8d 4e f8             	lea    -0x8(%esi),%ecx
40766a:	51                   	push   %ecx
40766b:	50                   	push   %eax
40766c:	68 51 01 00 00       	push   $0x151
407671:	57                   	push   %edi
407672:	ff 15 10 33 43 00    	call   *0x433310
407678:	83 c6 0c             	add    $0xc,%esi
40767b:	83 eb 01             	sub    $0x1,%ebx
40767e:	0f 85 5b ff ff ff    	jne    0x4075df
407684:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407687:	33 c0                	xor    %eax,%eax
407689:	5f                   	pop    %edi
40768a:	5e                   	pop    %esi
40768b:	33 cd                	xor    %ebp,%ecx
40768d:	40                   	inc    %eax
40768e:	5b                   	pop    %ebx
40768f:	e8 9c 8d 00 00       	call   0x410430
407694:	c9                   	leave
407695:	c3                   	ret
407696:	33 c0                	xor    %eax,%eax
407698:	40                   	inc    %eax
407699:	eb 80                	jmp    0x40761b
40769b:	8b ff                	mov    %edi,%edi
40769d:	53                   	push   %ebx
40769e:	56                   	push   %esi
40769f:	57                   	push   %edi
4076a0:	33 f6                	xor    %esi,%esi
4076a2:	8b fa                	mov    %edx,%edi
4076a4:	56                   	push   %esi
4076a5:	56                   	push   %esi
4076a6:	68 47 01 00 00       	push   $0x147
4076ab:	68 ca 00 00 00       	push   $0xca
4076b0:	57                   	push   %edi
4076b1:	8b d9                	mov    %ecx,%ebx
4076b3:	ff 15 18 33 43 00    	call   *0x433318
4076b9:	83 f8 ff             	cmp    $0xffffffff,%eax
4076bc:	74 16                	je     0x4076d4
4076be:	56                   	push   %esi
4076bf:	50                   	push   %eax
4076c0:	68 50 01 00 00       	push   $0x150
4076c5:	68 ca 00 00 00       	push   $0xca
4076ca:	57                   	push   %edi
4076cb:	ff 15 18 33 43 00    	call   *0x433318
4076d1:	89 03                	mov    %eax,(%ebx)
4076d3:	46                   	inc    %esi
4076d4:	5f                   	pop    %edi
4076d5:	8b c6                	mov    %esi,%eax
4076d7:	5e                   	pop    %esi
4076d8:	5b                   	pop    %ebx
4076d9:	c2 04 00             	ret    $0x4
4076dc:	8b ff                	mov    %edi,%edi
4076de:	55                   	push   %ebp
4076df:	8b ec                	mov    %esp,%ebp
4076e1:	51                   	push   %ecx
4076e2:	53                   	push   %ebx
4076e3:	56                   	push   %esi
4076e4:	57                   	push   %edi
4076e5:	8b f1                	mov    %ecx,%esi
4076e7:	33 ff                	xor    %edi,%edi
4076e9:	68 ca 00 00 00       	push   $0xca
4076ee:	56                   	push   %esi
4076ef:	89 7d fc             	mov    %edi,-0x4(%ebp)
4076f2:	ff 15 14 33 43 00    	call   *0x433314
4076f8:	85 c0                	test   %eax,%eax
4076fa:	74 7b                	je     0x407777
4076fc:	51                   	push   %ecx
4076fd:	8b d6                	mov    %esi,%edx
4076ff:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407702:	e8 94 ff ff ff       	call   0x40769b
407707:	85 c0                	test   %eax,%eax
407709:	74 4e                	je     0x407759
40770b:	8b 55 fc             	mov    -0x4(%ebp),%edx
40770e:	85 d2                	test   %edx,%edx
407710:	74 47                	je     0x407759
407712:	8b 42 08             	mov    0x8(%edx),%eax
407715:	ff 75 14             	push   0x14(%ebp)
407718:	66 39 78 0c          	cmp    %di,0xc(%eax)
40771c:	8b 7d 10             	mov    0x10(%ebp),%edi
40771f:	57                   	push   %edi
407720:	74 07                	je     0x407729
407722:	e8 fd f3 ff ff       	call   0x406b24
407727:	eb 08                	jmp    0x407731
407729:	51                   	push   %ecx
40772a:	8b ce                	mov    %esi,%ecx
40772c:	e8 3d df ff ff       	call   0x40566e
407731:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407734:	be 10 19 41 00       	mov    $0x411910,%esi
407739:	89 33                	mov    %esi,(%ebx)
40773b:	85 c0                	test   %eax,%eax
40773d:	75 15                	jne    0x407754
40773f:	8b 4d 08             	mov    0x8(%ebp),%ecx
407742:	8b d6                	mov    %esi,%edx
407744:	68 00 00 01 00       	push   $0x10000
407749:	e8 8f f6 ff ff       	call   0x406ddd
40774e:	89 07                	mov    %eax,(%edi)
407750:	89 33                	mov    %esi,(%ebx)
407752:	eb 23                	jmp    0x407777
407754:	33 c0                	xor    %eax,%eax
407756:	40                   	inc    %eax
407757:	eb 1e                	jmp    0x407777
407759:	8b 4d 08             	mov    0x8(%ebp),%ecx
40775c:	be 10 19 41 00       	mov    $0x411910,%esi
407761:	68 00 00 01 00       	push   $0x10000
407766:	8b d6                	mov    %esi,%edx
407768:	e8 70 f6 ff ff       	call   0x406ddd
40776d:	8b 4d 10             	mov    0x10(%ebp),%ecx
407770:	89 01                	mov    %eax,(%ecx)
407772:	8b 4d 0c             	mov    0xc(%ebp),%ecx
407775:	89 31                	mov    %esi,(%ecx)
407777:	5f                   	pop    %edi
407778:	5e                   	pop    %esi
407779:	5b                   	pop    %ebx
40777a:	c9                   	leave
40777b:	c2 10 00             	ret    $0x10
40777e:	8b ff                	mov    %edi,%edi
407780:	55                   	push   %ebp
407781:	8b ec                	mov    %esp,%ebp
407783:	83 ec 3c             	sub    $0x3c,%esp
407786:	a1 64 10 41 00       	mov    0x411064,%eax
40778b:	33 c5                	xor    %ebp,%eax
40778d:	89 45 fc             	mov    %eax,-0x4(%ebp)
407790:	53                   	push   %ebx
407791:	56                   	push   %esi
407792:	57                   	push   %edi
407793:	8b f9                	mov    %ecx,%edi
407795:	33 db                	xor    %ebx,%ebx
407797:	51                   	push   %ecx
407798:	8b d7                	mov    %edi,%edx
40779a:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40779d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4077a0:	e8 f6 fe ff ff       	call   0x40769b
4077a5:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4077a8:	85 c0                	test   %eax,%eax
4077aa:	0f 84 24 01 00 00    	je     0x4078d4
4077b0:	85 f6                	test   %esi,%esi
4077b2:	0f 84 1c 01 00 00    	je     0x4078d4
4077b8:	39 35 2c 26 43 00    	cmp    %esi,0x43262c
4077be:	75 26                	jne    0x4077e6
4077c0:	8b 46 08             	mov    0x8(%esi),%eax
4077c3:	66 39 58 0c          	cmp    %bx,0xc(%eax)
4077c7:	74 0a                	je     0x4077d3
4077c9:	33 c0                	xor    %eax,%eax
4077cb:	39 05 88 25 43 00    	cmp    %eax,0x432588
4077d1:	eb 08                	jmp    0x4077db
4077d3:	33 c0                	xor    %eax,%eax
4077d5:	39 05 90 25 43 00    	cmp    %eax,0x432590
4077db:	0f 95 c0             	setne  %al
4077de:	85 c0                	test   %eax,%eax
4077e0:	0f 85 09 01 00 00    	jne    0x4078ef
4077e6:	8b 5e 08             	mov    0x8(%esi),%ebx
4077e9:	68 60 15 40 00       	push   $0x401560
4077ee:	89 35 2c 26 43 00    	mov    %esi,0x43262c
4077f4:	8b 43 04             	mov    0x4(%ebx),%eax
4077f7:	03 c3                	add    %ebx,%eax
4077f9:	50                   	push   %eax
4077fa:	ff 15 54 31 43 00    	call   *0x433154
407800:	85 c0                	test   %eax,%eax
407802:	75 18                	jne    0x40781c
407804:	f7 05 18 19 43 00 00 	testl  $0x80000000,0x431918
40780b:	00 00 80
40780e:	75 40                	jne    0x407850
407810:	e8 2b d4 ff ff       	call   0x404c40
407815:	85 c0                	test   %eax,%eax
407817:	74 37                	je     0x407850
407819:	50                   	push   %eax
40781a:	eb 2d                	jmp    0x407849
40781c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40781f:	50                   	push   %eax
407820:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
407824:	50                   	push   %eax
407825:	ff 15 70 31 43 00    	call   *0x433170
40782b:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
40782f:	76 1f                	jbe    0x407850
407831:	6a 02                	push   $0x2
407833:	8d 45 c8             	lea    -0x38(%ebp),%eax
407836:	50                   	push   %eax
407837:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
40783b:	50                   	push   %eax
40783c:	ff 15 78 30 43 00    	call   *0x433078
407842:	85 c0                	test   %eax,%eax
407844:	74 0a                	je     0x407850
407846:	ff 75 c8             	push   -0x38(%ebp)
407849:	8b cf                	mov    %edi,%ecx
40784b:	e8 33 d2 ff ff       	call   0x404a83
407850:	51                   	push   %ecx
407851:	0f b7 4b 08          	movzwl 0x8(%ebx),%ecx
407855:	8b d7                	mov    %edi,%edx
407857:	e8 a7 c5 ff ff       	call   0x403e03
40785c:	85 c0                	test   %eax,%eax
40785e:	74 13                	je     0x407873
407860:	6a 00                	push   $0x0
407862:	68 82 00 01 00       	push   $0x10082
407867:	68 11 01 00 00       	push   $0x111
40786c:	57                   	push   %edi
40786d:	ff 15 54 32 43 00    	call   *0x433254
407873:	33 c0                	xor    %eax,%eax
407875:	66 39 43 0c          	cmp    %ax,0xc(%ebx)
407879:	74 1f                	je     0x40789a
40787b:	a1 90 25 43 00       	mov    0x432590,%eax
407880:	85 c0                	test   %eax,%eax
407882:	74 07                	je     0x40788b
407884:	50                   	push   %eax
407885:	ff 15 00 33 43 00    	call   *0x433300
40788b:	e8 4b ee ff ff       	call   0x4066db
407890:	56                   	push   %esi
407891:	8b cf                	mov    %edi,%ecx
407893:	e8 8a de ff ff       	call   0x405722
407898:	eb 1a                	jmp    0x4078b4
40789a:	e8 3c ee ff ff       	call   0x4066db
40789f:	8b 53 04             	mov    0x4(%ebx),%edx
4078a2:	8b cf                	mov    %edi,%ecx
4078a4:	03 d3                	add    %ebx,%edx
4078a6:	e8 f5 d7 ff ff       	call   0x4050a0
4078ab:	8b d6                	mov    %esi,%edx
4078ad:	8b cf                	mov    %edi,%ecx
4078af:	e8 bc dc ff ff       	call   0x405570
4078b4:	33 c0                	xor    %eax,%eax
4078b6:	50                   	push   %eax
4078b7:	68 82 00 00 00       	push   $0x82
4078bc:	ff 35 10 19 43 00    	push   0x431910
4078c2:	ff 15 14 33 43 00    	call   *0x433314
4078c8:	50                   	push   %eax
4078c9:	ff 15 14 32 43 00    	call   *0x433214
4078cf:	33 c0                	xor    %eax,%eax
4078d1:	40                   	inc    %eax
4078d2:	eb 1d                	jmp    0x4078f1
4078d4:	a1 90 25 43 00       	mov    0x432590,%eax
4078d9:	89 35 2c 26 43 00    	mov    %esi,0x43262c
4078df:	85 c0                	test   %eax,%eax
4078e1:	74 07                	je     0x4078ea
4078e3:	50                   	push   %eax
4078e4:	ff 15 00 33 43 00    	call   *0x433300
4078ea:	e8 ec ed ff ff       	call   0x4066db
4078ef:	33 c0                	xor    %eax,%eax
4078f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4078f4:	5f                   	pop    %edi
4078f5:	5e                   	pop    %esi
4078f6:	33 cd                	xor    %ebp,%ecx
4078f8:	5b                   	pop    %ebx
4078f9:	e8 32 8b 00 00       	call   0x410430
4078fe:	c9                   	leave
4078ff:	c3                   	ret
407900:	8b ff                	mov    %edi,%edi
407902:	55                   	push   %ebp
407903:	8b ec                	mov    %esp,%ebp
407905:	8b 45 0c             	mov    0xc(%ebp),%eax
407908:	56                   	push   %esi
407909:	8b 75 08             	mov    0x8(%ebp),%esi
40790c:	2b c6                	sub    %esi,%eax
40790e:	d1 f8                	sar    $1,%eax
407910:	57                   	push   %edi
407911:	74 2e                	je     0x407941
407913:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
407918:	77 27                	ja     0x407941
40791a:	8d 78 ff             	lea    -0x1(%eax),%edi
40791d:	8d 45 14             	lea    0x14(%ebp),%eax
407920:	50                   	push   %eax
407921:	ff 75 10             	push   0x10(%ebp)
407924:	57                   	push   %edi
407925:	56                   	push   %esi
407926:	ff 15 d0 33 43 00    	call   *0x4333d0
40792c:	83 c4 10             	add    $0x10,%esp
40792f:	85 c0                	test   %eax,%eax
407931:	78 06                	js     0x407939
407933:	3b c7                	cmp    %edi,%eax
407935:	77 02                	ja     0x407939
407937:	75 11                	jne    0x40794a
407939:	33 c0                	xor    %eax,%eax
40793b:	66 89 04 7e          	mov    %ax,(%esi,%edi,2)
40793f:	eb 09                	jmp    0x40794a
407941:	85 c0                	test   %eax,%eax
407943:	74 05                	je     0x40794a
407945:	33 c0                	xor    %eax,%eax