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
407947:	66 89 06             	mov    %ax,(%esi)
40794a:	39 75 0c             	cmp    %esi,0xc(%ebp)
40794d:	74 17                	je     0x407966
40794f:	8b ce                	mov    %esi,%ecx
407951:	8d 51 02             	lea    0x2(%ecx),%edx
407954:	66 8b 01             	mov    (%ecx),%ax
407957:	83 c1 02             	add    $0x2,%ecx
40795a:	66 85 c0             	test   %ax,%ax
40795d:	75 f5                	jne    0x407954
40795f:	2b ca                	sub    %edx,%ecx
407961:	d1 f9                	sar    $1,%ecx
407963:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
407966:	5f                   	pop    %edi
407967:	8b c6                	mov    %esi,%eax
407969:	5e                   	pop    %esi
40796a:	5d                   	pop    %ebp
40796b:	c3                   	ret
40796c:	8b ff                	mov    %edi,%edi
40796e:	55                   	push   %ebp
40796f:	8b ec                	mov    %esp,%ebp
407971:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
407977:	a1 64 10 41 00       	mov    0x411064,%eax
40797c:	33 c5                	xor    %ebp,%eax
40797e:	89 45 fc             	mov    %eax,-0x4(%ebp)
407981:	53                   	push   %ebx
407982:	8b c2                	mov    %edx,%eax
407984:	8b d9                	mov    %ecx,%ebx
407986:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40798c:	56                   	push   %esi
40798d:	8b 75 08             	mov    0x8(%ebp),%esi
407990:	85 c0                	test   %eax,%eax
407992:	0f 84 cd 01 00 00    	je     0x407b65
407998:	85 db                	test   %ebx,%ebx
40799a:	0f 84 c5 01 00 00    	je     0x407b65
4079a0:	57                   	push   %edi
4079a1:	8b 3d 28 26 43 00    	mov    0x432628,%edi
4079a7:	33 c9                	xor    %ecx,%ecx
4079a9:	66 89 0b             	mov    %cx,(%ebx)
4079ac:	85 ff                	test   %edi,%edi
4079ae:	74 21                	je     0x4079d1
4079b0:	38 0d 18 26 43 00    	cmp    %cl,0x432618
4079b6:	74 19                	je     0x4079d1
4079b8:	50                   	push   %eax
4079b9:	53                   	push   %ebx
4079ba:	56                   	push   %esi
4079bb:	8b cf                	mov    %edi,%ecx
4079bd:	ff 15 18 34 43 00    	call   *0x433418
4079c3:	ff d7                	call   *%edi
4079c5:	0f b7 03             	movzwl (%ebx),%eax
4079c8:	66 85 c0             	test   %ax,%ax
4079cb:	0f 85 93 01 00 00    	jne    0x407b64
4079d1:	8b 06                	mov    (%esi),%eax
4079d3:	33 c9                	xor    %ecx,%ecx
4079d5:	c7 85 f8 fd ff ff b0 	movl   $0x4019b0,-0x208(%ebp)
4079dc:	19 40 00
4079df:	2b c1                	sub    %ecx,%eax
4079e1:	74 33                	je     0x407a16
4079e3:	83 e8 01             	sub    $0x1,%eax
4079e6:	74 22                	je     0x407a0a
4079e8:	83 e8 01             	sub    $0x1,%eax
4079eb:	74 11                	je     0x4079fe
4079ed:	83 e8 01             	sub    $0x1,%eax
4079f0:	75 2e                	jne    0x407a20
4079f2:	c7 85 f8 fd ff ff 90 	movl   $0x401590,-0x208(%ebp)
4079f9:	15 40 00
4079fc:	eb 22                	jmp    0x407a20
4079fe:	c7 85 f8 fd ff ff 88 	movl   $0x401588,-0x208(%ebp)
407a05:	15 40 00
407a08:	eb 16                	jmp    0x407a20
407a0a:	c7 85 f8 fd ff ff 7c 	movl   $0x40157c,-0x208(%ebp)
407a11:	15 40 00
407a14:	eb 0a                	jmp    0x407a20
407a16:	c7 85 f8 fd ff ff 70 	movl   $0x401570,-0x208(%ebp)
407a1d:	15 40 00
407a20:	51                   	push   %ecx
407a21:	33 c0                	xor    %eax,%eax
407a23:	68 00 01 00 00       	push   $0x100
407a28:	66 89 85 fc fd ff ff 	mov    %ax,-0x204(%ebp)
407a2f:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
407a35:	50                   	push   %eax
407a36:	68 00 04 00 00       	push   $0x400
407a3b:	ff 76 04             	push   0x4(%esi)
407a3e:	51                   	push   %ecx
407a3f:	68 00 12 00 00       	push   $0x1200
407a44:	ff 15 30 31 43 00    	call   *0x433130
407a4a:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
407a4e:	8b 85 f4 fd ff ff    	mov    -0x20c(%ebp),%eax
407a54:	ff 76 48             	push   0x48(%esi)
407a57:	ff 76 44             	push   0x44(%esi)
407a5a:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
407a5d:	74 17                	je     0x407a76
407a5f:	ff 76 20             	push   0x20(%esi)
407a62:	ff 76 1c             	push   0x1c(%esi)
407a65:	68 9c 15 40 00       	push   $0x40159c
407a6a:	57                   	push   %edi
407a6b:	53                   	push   %ebx
407a6c:	e8 8f fe ff ff       	call   0x407900
407a71:	83 c4 1c             	add    $0x1c,%esp
407a74:	eb 0f                	jmp    0x407a85
407a76:	68 c0 15 40 00       	push   $0x4015c0
407a7b:	57                   	push   %edi
407a7c:	53                   	push   %ebx
407a7d:	e8 7e fe ff ff       	call   0x407900
407a82:	83 c4 14             	add    $0x14,%esp
407a85:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
407a89:	8b d8                	mov    %eax,%ebx
407a8b:	74 14                	je     0x407aa1
407a8d:	ff 76 4c             	push   0x4c(%esi)
407a90:	68 d4 15 40 00       	push   $0x4015d4
407a95:	57                   	push   %edi
407a96:	53                   	push   %ebx
407a97:	e8 64 fe ff ff       	call   0x407900
407a9c:	83 c4 10             	add    $0x10,%esp
407a9f:	8b d8                	mov    %eax,%ebx
407aa1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
407aa7:	50                   	push   %eax
407aa8:	ff 76 04             	push   0x4(%esi)
407aab:	ff 15 50 31 43 00    	call   *0x433150
407ab1:	50                   	push   %eax
407ab2:	ff 76 24             	push   0x24(%esi)
407ab5:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
407abb:	68 f0 15 40 00       	push   $0x4015f0
407ac0:	57                   	push   %edi
407ac1:	53                   	push   %ebx
407ac2:	e8 39 fe ff ff       	call   0x407900
407ac7:	33 c9                	xor    %ecx,%ecx
407ac9:	83 c4 20             	add    $0x20,%esp
407acc:	39 4e 0c             	cmp    %ecx,0xc(%esi)
407acf:	75 0e                	jne    0x407adf
407ad1:	39 4e 28             	cmp    %ecx,0x28(%esi)
407ad4:	75 09                	jne    0x407adf
407ad6:	39 4e 18             	cmp    %ecx,0x18(%esi)
407ad9:	0f 84 85 00 00 00    	je     0x407b64
407adf:	68 24 16 40 00       	push   $0x401624
407ae4:	57                   	push   %edi
407ae5:	50                   	push   %eax
407ae6:	e8 15 fe ff ff       	call   0x407900
407aeb:	83 c4 0c             	add    $0xc,%esp
407aee:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
407af2:	74 12                	je     0x407b06
407af4:	ff 76 0c             	push   0xc(%esi)
407af7:	68 30 16 40 00       	push   $0x401630
407afc:	57                   	push   %edi
407afd:	50                   	push   %eax
407afe:	e8 fd fd ff ff       	call   0x407900
407b03:	83 c4 10             	add    $0x10,%esp
407b06:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
407b0a:	74 12                	je     0x407b1e
407b0c:	ff 76 28             	push   0x28(%esi)
407b0f:	68 48 16 40 00       	push   $0x401648
407b14:	57                   	push   %edi
407b15:	50                   	push   %eax
407b16:	e8 e5 fd ff ff       	call   0x407900
407b1b:	83 c4 10             	add    $0x10,%esp
407b1e:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
407b22:	74 17                	je     0x407b3b
407b24:	ff 76 14             	push   0x14(%esi)
407b27:	ff 76 18             	push   0x18(%esi)
407b2a:	68 70 16 40 00       	push   $0x401670
407b2f:	57                   	push   %edi
407b30:	50                   	push   %eax
407b31:	e8 ca fd ff ff       	call   0x407900
407b36:	83 c4 14             	add    $0x14,%esp
407b39:	eb 29                	jmp    0x407b64
407b3b:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
407b3f:	74 14                	je     0x407b55
407b41:	ff 76 18             	push   0x18(%esi)
407b44:	68 88 16 40 00       	push   $0x401688
407b49:	57                   	push   %edi
407b4a:	50                   	push   %eax
407b4b:	e8 b0 fd ff ff       	call   0x407900
407b50:	83 c4 10             	add    $0x10,%esp
407b53:	eb 0f                	jmp    0x407b64
407b55:	68 98 16 40 00       	push   $0x401698
407b5a:	57                   	push   %edi