4277e5:	56                   	push   %esi
4277e6:	53                   	push   %ebx
4277e7:	e8 c4 f4 fd ff       	call   0x406cb0
4277ec:	8b 55 fc             	mov    -0x4(%ebp),%edx
4277ef:	89 42 60             	mov    %eax,0x60(%edx)
4277f2:	53                   	push   %ebx
4277f3:	e8 90 f4 fd ff       	call   0x406c88
4277f8:	eb 08                	jmp    0x427802
4277fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4277fd:	33 d2                	xor    %edx,%edx
4277ff:	89 50 60             	mov    %edx,0x60(%eax)
427802:	8b d3                	mov    %ebx,%edx
427804:	8b 45 fc             	mov    -0x4(%ebp),%eax
427807:	e8 28 c7 ff ff       	call   0x423f34
42780c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42780f:	a1 e8 0d 46 00       	mov    0x460de8,%eax
427814:	e8 3f 06 ff ff       	call   0x417e58
427819:	33 c0                	xor    %eax,%eax
42781b:	5a                   	pop    %edx
42781c:	59                   	pop    %ecx
42781d:	59                   	pop    %ecx
42781e:	64 89 10             	mov    %edx,%fs:(%eax)
427821:	68 36 78 42 00       	push   $0x427836
427826:	8b 45 fc             	mov    -0x4(%ebp),%eax
427829:	e8 72 c5 ff ff       	call   0x423da0
42782e:	c3                   	ret
42782f:	e9 54 c8 fd ff       	jmp    0x404088
427834:	eb f0                	jmp    0x427826
427836:	5e                   	pop    %esi
427837:	5b                   	pop    %ebx
427838:	59                   	pop    %ecx
427839:	5d                   	pop    %ebp
42783a:	c3                   	ret
42783b:	90                   	nop
42783c:	ff 40 04             	incl   0x4(%eax)
42783f:	c3                   	ret
427840:	53                   	push   %ebx
427841:	8b d8                	mov    %eax,%ebx
427843:	85 db                	test   %ebx,%ebx
427845:	74 16                	je     0x42785d
427847:	ff 4b 04             	decl   0x4(%ebx)
42784a:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
42784e:	75 0d                	jne    0x42785d
427850:	8b c3                	mov    %ebx,%eax
427852:	8b 10                	mov    (%eax),%edx
427854:	ff 12                	call   *(%edx)
427856:	8b c3                	mov    %ebx,%eax
427858:	e8 97 c0 fd ff       	call   0x4038f4
42785d:	5b                   	pop    %ebx
42785e:	c3                   	ret
42785f:	90                   	nop
427860:	53                   	push   %ebx
427861:	56                   	push   %esi
427862:	e8 59 c4 fd ff       	call   0x403cc0
427867:	8b da                	mov    %edx,%ebx
427869:	8b f0                	mov    %eax,%esi
42786b:	8b 46 14             	mov    0x14(%esi),%eax
42786e:	85 c0                	test   %eax,%eax
427870:	74 13                	je     0x427885
427872:	e8 55 fd ff ff       	call   0x4275cc
427877:	8b 46 14             	mov    0x14(%esi),%eax
42787a:	50                   	push   %eax
42787b:	e8 10 f3 fd ff       	call   0x406b90
427880:	33 c0                	xor    %eax,%eax
427882:	89 46 14             	mov    %eax,0x14(%esi)
427885:	8b c6                	mov    %esi,%eax
427887:	8b 10                	mov    (%eax),%edx
427889:	ff 12                	call   *(%edx)
42788b:	8b 46 64             	mov    0x64(%esi),%eax
42788e:	85 c0                	test   %eax,%eax
427890:	74 06                	je     0x427898
427892:	50                   	push   %eax
427893:	e8 78 f0 fd ff       	call   0x406910
427898:	8d 46 6c             	lea    0x6c(%esi),%eax
42789b:	e8 ac 64 fe ff       	call   0x40dd4c
4278a0:	8b d3                	mov    %ebx,%edx
4278a2:	80 e2 fc             	and    $0xfc,%dl
4278a5:	8b c6                	mov    %esi,%eax
4278a7:	e8 38 c0 fd ff       	call   0x4038e4
4278ac:	84 db                	test   %bl,%bl
4278ae:	7e 07                	jle    0x4278b7
4278b0:	8b c6                	mov    %esi,%eax
4278b2:	e8 b1 c3 fd ff       	call   0x403c68
4278b7:	5e                   	pop    %esi
4278b8:	5b                   	pop    %ebx
4278b9:	c3                   	ret
4278ba:	8b c0                	mov    %eax,%eax
4278bc:	53                   	push   %ebx
4278bd:	8b d8                	mov    %eax,%ebx
4278bf:	8b 43 08             	mov    0x8(%ebx),%eax
4278c2:	85 c0                	test   %eax,%eax
4278c4:	74 13                	je     0x4278d9
4278c6:	e8 01 fd ff ff       	call   0x4275cc
4278cb:	8b 43 08             	mov    0x8(%ebx),%eax
4278ce:	3b 43 14             	cmp    0x14(%ebx),%eax
4278d1:	74 06                	je     0x4278d9
4278d3:	50                   	push   %eax
4278d4:	e8 b7 f2 fd ff       	call   0x406b90
4278d9:	8b 43 0c             	mov    0xc(%ebx),%eax
4278dc:	85 c0                	test   %eax,%eax
4278de:	74 13                	je     0x4278f3
4278e0:	e8 e7 fc ff ff       	call   0x4275cc
4278e5:	8b 43 0c             	mov    0xc(%ebx),%eax
4278e8:	50                   	push   %eax
4278e9:	e8 a2 f2 fd ff       	call   0x406b90
4278ee:	33 c0                	xor    %eax,%eax
4278f0:	89 43 0c             	mov    %eax,0xc(%ebx)
4278f3:	8b 43 10             	mov    0x10(%ebx),%eax
4278f6:	e8 25 a8 ff ff       	call   0x422120
4278fb:	33 c0                	xor    %eax,%eax
4278fd:	89 43 08             	mov    %eax,0x8(%ebx)
427900:	33 c0                	xor    %eax,%eax
427902:	89 43 10             	mov    %eax,0x10(%ebx)
427905:	5b                   	pop    %ebx
427906:	c3                   	ret
427907:	90                   	nop
427908:	55                   	push   %ebp
427909:	8b ec                	mov    %esp,%ebp
42790b:	81 c4 f0 fb ff ff    	add    $0xfffffbf0,%esp
427911:	53                   	push   %ebx
427912:	56                   	push   %esi
427913:	89 55 fc             	mov    %edx,-0x4(%ebp)
427916:	8b f0                	mov    %eax,%esi
427918:	85 f6                	test   %esi,%esi
42791a:	0f 84 9e 00 00 00    	je     0x4279be
427920:	66 83 79 26 08       	cmpw   $0x8,0x26(%ecx)
427925:	0f 87 93 00 00 00    	ja     0x4279be
42792b:	8d 95 f0 fb ff ff    	lea    -0x410(%ebp),%edx
427931:	b9 ff 00 00 00       	mov    $0xff,%ecx
427936:	8b 45 fc             	mov    -0x4(%ebp),%eax
427939:	e8 0e d1 ff ff       	call   0x424a4c
42793e:	8b d8                	mov    %eax,%ebx
427940:	85 db                	test   %ebx,%ebx
427942:	74 7a                	je     0x4279be
427944:	6a 00                	push   $0x0
427946:	e8 6d f5 fd ff       	call   0x406eb8
42794b:	89 45 f8             	mov    %eax,-0x8(%ebp)
42794e:	8b 45 f8             	mov    -0x8(%ebp),%eax
427951:	50                   	push   %eax
427952:	e8 e1 f1 fd ff       	call   0x406b38
427957:	89 45 f4             	mov    %eax,-0xc(%ebp)
42795a:	56                   	push   %esi
42795b:	8b 45 f4             	mov    -0xc(%ebp),%eax
42795e:	50                   	push   %eax
42795f:	e8 44 f3 fd ff       	call   0x406ca8
427964:	89 45 f0             	mov    %eax,-0x10(%ebp)
427967:	33 c0                	xor    %eax,%eax
427969:	55                   	push   %ebp
42796a:	68 b7 79 42 00       	push   $0x4279b7
42796f:	64 ff 30             	push   %fs:(%eax)
427972:	64 89 20             	mov    %esp,%fs:(%eax)
427975:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
42797b:	50                   	push   %eax
42797c:	53                   	push   %ebx
42797d:	6a 00                	push   $0x0
42797f:	8b 45 f4             	mov    -0xc(%ebp),%eax
427982:	50                   	push   %eax
427983:	e8 48 f3 fd ff       	call   0x406cd0
427988:	33 c0                	xor    %eax,%eax
42798a:	5a                   	pop    %edx
42798b:	59                   	pop    %ecx
42798c:	59                   	pop    %ecx
42798d:	64 89 10             	mov    %edx,%fs:(%eax)
427990:	68 be 79 42 00       	push   $0x4279be
427995:	8b 45 f0             	mov    -0x10(%ebp),%eax
427998:	50                   	push   %eax
427999:	8b 45 f4             	mov    -0xc(%ebp),%eax
42799c:	50                   	push   %eax
42799d:	e8 06 f3 fd ff       	call   0x406ca8
4279a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4279a5:	50                   	push   %eax
4279a6:	e8 d5 f1 fd ff       	call   0x406b80
4279ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
4279ae:	50                   	push   %eax
4279af:	6a 00                	push   $0x0
4279b1:	e8 72 f7 fd ff       	call   0x407128
4279b6:	c3                   	ret
4279b7:	e9 cc c6 fd ff       	jmp    0x404088
4279bc:	eb d7                	jmp    0x427995
4279be:	5e                   	pop    %esi
4279bf:	5b                   	pop    %ebx
4279c0:	8b e5                	mov    %ebp,%esp
4279c2:	5d                   	pop    %ebp
4279c3:	c3                   	ret
4279c4:	f6 40 28 03          	testb  $0x3,0x28(%eax)
4279c8:	74 42                	je     0x427a0c
4279ca:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
4279ce:	75 3c                	jne    0x427a0c
4279d0:	0f b7 50 26          	movzwl 0x26(%eax),%edx
4279d4:	66 83 fa 10          	cmp    $0x10,%dx
4279d8:	75 17                	jne    0x4279f1
4279da:	c7 40 40 00 f8 00 00 	movl   $0xf800,0x40(%eax)
4279e1:	c7 40 44 e0 07 00 00 	movl   $0x7e0,0x44(%eax)
4279e8:	c7 40 48 1f 00 00 00 	movl   $0x1f,0x48(%eax)
4279ef:	eb 1b                	jmp    0x427a0c
4279f1:	66 83 fa 20          	cmp    $0x20,%dx
4279f5:	75 15                	jne    0x427a0c
4279f7:	c7 40 40 00 00 ff 00 	movl   $0xff0000,0x40(%eax)
4279fe:	c7 40 44 00 ff 00 00 	movl   $0xff00,0x44(%eax)
427a05:	c7 40 48 ff 00 00 00 	movl   $0xff,0x48(%eax)
427a0c:	c3                   	ret
427a0d:	8d 40 00             	lea    0x0(%eax),%eax
427a10:	55                   	push   %ebp
427a11:	8b ec                	mov    %esp,%ebp
427a13:	81 c4 68 ff ff ff    	add    $0xffffff68,%esp
427a19:	53                   	push   %ebx
427a1a:	56                   	push   %esi
427a1b:	57                   	push   %edi
427a1c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
427a1f:	89 55 f8             	mov    %edx,-0x8(%ebp)
427a22:	89 45 fc             	mov    %eax,-0x4(%ebp)
427a25:	33 c0                	xor    %eax,%eax
427a27:	89 45 f0             	mov    %eax,-0x10(%ebp)
427a2a:	8b 45 0c             	mov    0xc(%ebp),%eax
427a2d:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
427a31:	74 1a                	je     0x427a4d
427a33:	8b 45 0c             	mov    0xc(%ebp),%eax
427a36:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
427a3a:	0f 84 25 06 00 00    	je     0x428065
427a40:	8b 45 0c             	mov    0xc(%ebp),%eax
427a43:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
427a47:	0f 84 18 06 00 00    	je     0x428065
427a4d:	8b 45 0c             	mov    0xc(%ebp),%eax
427a50:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
427a54:	75 1a                	jne    0x427a70
427a56:	8b 45 0c             	mov    0xc(%ebp),%eax
427a59:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
427a5d:	0f 84 02 06 00 00    	je     0x428065
427a63:	8b 45 0c             	mov    0xc(%ebp),%eax
427a66:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
427a6a:	0f 84 f5 05 00 00    	je     0x428065
427a70:	8b 45 fc             	mov    -0x4(%ebp),%eax
427a73:	e8 54 fb ff ff       	call   0x4275cc
427a78:	33 c0                	xor    %eax,%eax
427a7a:	89 45 90             	mov    %eax,-0x70(%ebp)
427a7d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
427a81:	74 1c                	je     0x427a9f
427a83:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
427a89:	50                   	push   %eax
427a8a:	6a 54                	push   $0x54
427a8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
427a8f:	50                   	push   %eax
427a90:	e8 6b f1 fd ff       	call   0x406c00
427a95:	83 f8 18             	cmp    $0x18,%eax
427a98:	7d 05                	jge    0x427a9f
427a9a:	e8 f1 c6 ff ff       	call   0x424190
427a9f:	6a 00                	push   $0x0
427aa1:	e8 12 f4 fd ff       	call   0x406eb8
427aa6:	e8 05 c8 ff ff       	call   0x4242b0
427aab:	89 45 e8             	mov    %eax,-0x18(%ebp)
427aae:	8b 45 e8             	mov    -0x18(%ebp),%eax
427ab1:	50                   	push   %eax
427ab2:	e8 81 f0 fd ff       	call   0x406b38
427ab7:	e8 f4 c7 ff ff       	call   0x4242b0
427abc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
427abf:	33 d2                	xor    %edx,%edx
427ac1:	55                   	push   %ebp
427ac2:	68 5e 80 42 00       	push   $0x42805e
427ac7:	64 ff 32             	push   %fs:(%edx)
427aca:	64 89 22             	mov    %esp,%fs:(%edx)
427acd:	8b 45 0c             	mov    0xc(%ebp),%eax
427ad0:	83 78 18 28          	cmpl   $0x28,0x18(%eax)
427ad4:	73 5e                	jae    0x427b34
427ad6:	8b 45 0c             	mov    0xc(%ebp),%eax
427ad9:	0f b7 40 10          	movzwl 0x10(%eax),%eax
427add:	8b 55 0c             	mov    0xc(%ebp),%edx
427ae0:	66 0b 42 12          	or     0x12(%edx),%ax
427ae4:	66 83 f8 01          	cmp    $0x1,%ax
427ae8:	75 26                	jne    0x427b10
427aea:	6a 00                	push   $0x0
427aec:	6a 01                	push   $0x1
427aee:	6a 01                	push   $0x1
427af0:	8b 45 0c             	mov    0xc(%ebp),%eax
427af3:	8b 40 08             	mov    0x8(%eax),%eax
427af6:	50                   	push   %eax
427af7:	8b 45 0c             	mov    0xc(%ebp),%eax
427afa:	8b 40 04             	mov    0x4(%eax),%eax
427afd:	50                   	push   %eax
427afe:	e8 1d f0 fd ff       	call   0x406b20
427b03:	e8 a8 c7 ff ff       	call   0x4242b0
427b08:	89 45 f0             	mov    %eax,-0x10(%ebp)
427b0b:	e9 5f 02 00 00       	jmp    0x427d6f
427b10:	8b 45 0c             	mov    0xc(%ebp),%eax
427b13:	8b 40 08             	mov    0x8(%eax),%eax
427b16:	50                   	push   %eax
427b17:	8b 45 0c             	mov    0xc(%ebp),%eax
427b1a:	8b 40 04             	mov    0x4(%eax),%eax
427b1d:	50                   	push   %eax
427b1e:	8b 45 e8             	mov    -0x18(%ebp),%eax
427b21:	50                   	push   %eax
427b22:	e8 09 f0 fd ff       	call   0x406b30
427b27:	e8 84 c7 ff ff       	call   0x4242b0
427b2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
427b2f:	e9 3b 02 00 00       	jmp    0x427d6f
427b34:	b8 2c 04 00 00       	mov    $0x42c,%eax
427b39:	e8 ae b1 fd ff       	call   0x402cec
427b3e:	89 45 dc             	mov    %eax,-0x24(%ebp)
427b41:	33 d2                	xor    %edx,%edx
427b43:	55                   	push   %ebp
427b44:	68 68 7d 42 00       	push   $0x427d68
427b49:	64 ff 32             	push   %fs:(%edx)
427b4c:	64 89 22             	mov    %esp,%fs:(%edx)
427b4f:	8b 45 0c             	mov    0xc(%ebp),%eax
427b52:	c7 40 18 28 00 00 00 	movl   $0x28,0x18(%eax)
427b59:	8b 45 0c             	mov    0xc(%ebp),%eax
427b5c:	66 c7 40 24 01 00    	movw   $0x1,0x24(%eax)
427b62:	8b 45 0c             	mov    0xc(%ebp),%eax
427b65:	66 83 78 26 00       	cmpw   $0x0,0x26(%eax)
427b6a:	75 23                	jne    0x427b8f
427b6c:	6a 0c                	push   $0xc
427b6e:	8b 45 e8             	mov    -0x18(%ebp),%eax
427b71:	50                   	push   %eax
427b72:	e8 61 f0 fd ff       	call   0x406bd8
427b77:	8b d8                	mov    %eax,%ebx
427b79:	6a 0e                	push   $0xe
427b7b:	8b 45 e8             	mov    -0x18(%ebp),%eax
427b7e:	50                   	push   %eax
427b7f:	e8 54 f0 fd ff       	call   0x406bd8
427b84:	66 0f af d8          	imul   %ax,%bx
427b88:	8b 45 0c             	mov    0xc(%ebp),%eax
427b8b:	66 89 58 26          	mov    %bx,0x26(%eax)
427b8f:	8b 45 0c             	mov    0xc(%ebp),%eax
427b92:	8b 55 dc             	mov    -0x24(%ebp),%edx
427b95:	8d 70 18             	lea    0x18(%eax),%esi
427b98:	8b fa                	mov    %edx,%edi
427b9a:	b9 0a 00 00 00       	mov    $0xa,%ecx
427b9f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
427ba1:	8b 45 0c             	mov    0xc(%ebp),%eax
427ba4:	8b 40 1c             	mov    0x1c(%eax),%eax
427ba7:	8b 55 0c             	mov    0xc(%ebp),%edx
427baa:	89 42 04             	mov    %eax,0x4(%edx)
427bad:	8b 45 0c             	mov    0xc(%ebp),%eax
427bb0:	8b 40 20             	mov    0x20(%eax),%eax
427bb3:	8b 55 0c             	mov    0xc(%ebp),%edx
427bb6:	89 42 08             	mov    %eax,0x8(%edx)
427bb9:	8b 45 0c             	mov    0xc(%ebp),%eax
427bbc:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
427bc1:	0f 87 c7 00 00 00    	ja     0x427c8e
427bc7:	8b 45 0c             	mov    0xc(%ebp),%eax
427bca:	66 83 78 26 01       	cmpw   $0x1,0x26(%eax)
427bcf:	75 28                	jne    0x427bf9
427bd1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
427bd5:	74 06                	je     0x427bdd
427bd7:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
427bdb:	75 1c                	jne    0x427bf9
427bdd:	8b 45 dc             	mov    -0x24(%ebp),%eax
427be0:	33 d2                	xor    %edx,%edx
427be2:	89 50 28             	mov    %edx,0x28(%eax)
427be5:	8b 45 dc             	mov    -0x24(%ebp),%eax
427be8:	83 c0 28             	add    $0x28,%eax