416806:	74 25                	je     0x41682d
416808:	83 f8 02             	cmp    $0x2,%eax
41680b:	74 20                	je     0x41682d
41680d:	83 f8 1b             	cmp    $0x1b,%eax
416810:	74 1b                	je     0x41682d
416812:	33 c0                	xor    %eax,%eax
416814:	5f                   	pop    %edi
416815:	5e                   	pop    %esi
416816:	5b                   	pop    %ebx
416817:	8b e5                	mov    %ebp,%esp
416819:	5d                   	pop    %ebp
41681a:	c3                   	ret
41681b:	8b 45 0c             	mov    0xc(%ebp),%eax
41681e:	40                   	inc    %eax
41681f:	50                   	push   %eax
416820:	e9 b2 ac 03 00       	jmp    0x4514d7
416825:	ff 75 0c             	push   0xc(%ebp)
416828:	e9 aa ac 03 00       	jmp    0x4514d7
41682d:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
416831:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
416834:	66 83 3b 77          	cmpw   $0x77,(%ebx)
416838:	0f 84 1f ff ff ff    	je     0x41675d
41683e:	33 c0                	xor    %eax,%eax
416840:	40                   	inc    %eax
416841:	eb d1                	jmp    0x416814
416843:	55                   	push   %ebp
416844:	8b ec                	mov    %esp,%ebp
416846:	b8 c4 11 00 00       	mov    $0x11c4,%eax
41684b:	e8 40 b3 01 00       	call   0x431b90
416850:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
416854:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
416858:	8b 45 0c             	mov    0xc(%ebp),%eax
41685b:	53                   	push   %ebx
41685c:	56                   	push   %esi
41685d:	8b da                	mov    %edx,%ebx
41685f:	33 d2                	xor    %edx,%edx
416861:	57                   	push   %edi
416862:	8b f9                	mov    %ecx,%edi
416864:	89 5d ec             	mov    %ebx,-0x14(%ebp)
416867:	33 c9                	xor    %ecx,%ecx
416869:	89 7d f0             	mov    %edi,-0x10(%ebp)
41686c:	42                   	inc    %edx
41686d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416870:	89 55 cc             	mov    %edx,-0x34(%ebp)
416873:	8b f1                	mov    %ecx,%esi
416875:	89 75 fc             	mov    %esi,-0x4(%ebp)
416878:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41687b:	89 7d d8             	mov    %edi,-0x28(%ebp)
41687e:	85 c0                	test   %eax,%eax
416880:	0f 84 2b 05 00 00    	je     0x416db1
416886:	89 08                	mov    %ecx,(%eax)
416888:	8b 45 10             	mov    0x10(%ebp),%eax
41688b:	85 c0                	test   %eax,%eax
41688d:	0f 84 ca 04 00 00    	je     0x416d5d
416893:	89 08                	mov    %ecx,(%eax)
416895:	c7 85 30 ff ff ff 10 	movl   $0x4a4710,-0xd0(%ebp)
41689c:	47 4a 00
41689f:	c7 85 34 ff ff ff 10 	movl   $0x4a4810,-0xcc(%ebp)
4168a6:	48 4a 00
4168a9:	c7 85 38 ff ff ff 10 	movl   $0x4a4910,-0xc8(%ebp)
4168b0:	49 4a 00
4168b3:	c7 85 3c ff ff ff 50 	movl   $0x4a4a50,-0xc4(%ebp)
4168ba:	4a 4a 00
4168bd:	f7 c3 80 85 00 d8    	test   $0xd8008580,%ebx
4168c3:	0f 85 9b 04 00 00    	jne    0x416d64
4168c9:	f7 c3 00 00 01 00    	test   $0x10000,%ebx
4168cf:	0f 85 9b 04 00 00    	jne    0x416d70
4168d5:	6a 28                	push   $0x28
4168d7:	5a                   	pop    %edx
4168d8:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
4168db:	66 39 17             	cmp    %dx,(%edi)
4168de:	0f 84 15 ac 03 00    	je     0x4514f9
4168e4:	f7 c3 00 08 00 00    	test   $0x800,%ebx
4168ea:	0f 84 8f 04 00 00    	je     0x416d7f
4168f0:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4168f4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4168fb:	0f 85 77 04 00 00    	jne    0x416d78
416901:	f7 c3 00 20 00 00    	test   $0x2000,%ebx
416907:	0f 84 aa ae 03 00    	je     0x4517b7
41690d:	b9 00 00 80 01       	mov    $0x1800000,%ecx
416912:	8b c3                	mov    %ebx,%eax
416914:	23 c1                	and    %ecx,%eax
416916:	3b c1                	cmp    %ecx,%eax
416918:	0f 84 69 04 00 00    	je     0x416d87
41691e:	8b c3                	mov    %ebx,%eax
416920:	6a 02                	push   $0x2
416922:	59                   	pop    %ecx
416923:	25 00 00 70 00       	and    $0x700000,%eax
416928:	0f 85 a5 ae 03 00    	jne    0x4517d3
41692e:	89 4d b0             	mov    %ecx,-0x50(%ebp)
416931:	33 d2                	xor    %edx,%edx
416933:	8d 85 40 ee ff ff    	lea    -0x11c0(%ebp),%eax
416939:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
41693f:	8b ca                	mov    %edx,%ecx
416941:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
416947:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
41694d:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
416953:	8d 85 40 fe ff ff    	lea    -0x1c0(%ebp),%eax
416959:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41695f:	8b c7                	mov    %edi,%eax
416961:	89 55 80             	mov    %edx,-0x80(%ebp)
416964:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
41696a:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
416970:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
416976:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
41697c:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
416982:	89 55 a8             	mov    %edx,-0x58(%ebp)
416985:	89 55 84             	mov    %edx,-0x7c(%ebp)
416988:	89 55 ac             	mov    %edx,-0x54(%ebp)
41698b:	c7 85 6c ff ff ff 00 	movl   $0x800,-0x94(%ebp)
416992:	08 00 00
416995:	c7 85 68 ff ff ff 14 	movl   $0x14,-0x98(%ebp)
41699c:	00 00 00
41699f:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
4169a5:	66 39 17             	cmp    %dx,(%edi)
4169a8:	74 09                	je     0x4169b3
4169aa:	8d 40 02             	lea    0x2(%eax),%eax
4169ad:	41                   	inc    %ecx
4169ae:	66 39 10             	cmp    %dx,(%eax)
4169b1:	75 f7                	jne    0x4169aa
4169b3:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
4169b6:	89 55 98             	mov    %edx,-0x68(%ebp)
4169b9:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
4169bf:	8b cb                	mov    %ebx,%ecx
4169c1:	8d 04 77             	lea    (%edi,%esi,2),%eax
4169c4:	89 55 88             	mov    %edx,-0x78(%ebp)
4169c7:	89 45 c8             	mov    %eax,-0x38(%ebp)
4169ca:	89 45 d8             	mov    %eax,-0x28(%ebp)
4169cd:	8d 85 40 ee ff ff    	lea    -0x11c0(%ebp),%eax
4169d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4169d6:	b8 83 00 00 00       	mov    $0x83,%eax
4169db:	66 89 85 40 ee ff ff 	mov    %ax,-0x11c0(%ebp)
4169e2:	8d 45 cc             	lea    -0x34(%ebp),%eax
4169e5:	50                   	push   %eax
4169e6:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
4169ec:	89 55 8c             	mov    %edx,-0x74(%ebp)
4169ef:	50                   	push   %eax
4169f0:	52                   	push   %edx
4169f1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4169f4:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
4169fa:	50                   	push   %eax
4169fb:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4169fe:	89 95 54 ff ff ff    	mov    %edx,-0xac(%ebp)
416a04:	50                   	push   %eax
416a05:	8d 45 f4             	lea    -0xc(%ebp),%eax
416a08:	89 5d 90             	mov    %ebx,-0x70(%ebp)
416a0b:	50                   	push   %eax
416a0c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
416a0f:	50                   	push   %eax
416a10:	52                   	push   %edx
416a11:	52                   	push   %edx
416a12:	52                   	push   %edx
416a13:	52                   	push   %edx
416a14:	8d 45 f8             	lea    -0x8(%ebp),%eax
416a17:	50                   	push   %eax
416a18:	8d 45 d8             	lea    -0x28(%ebp),%eax
416a1b:	50                   	push   %eax
416a1c:	8d 55 e8             	lea    -0x18(%ebp),%edx
416a1f:	e8 94 03 00 00       	call   0x416db8
416a24:	8b 75 f8             	mov    -0x8(%ebp),%esi
416a27:	83 c4 34             	add    $0x34,%esp
416a2a:	85 f6                	test   %esi,%esi
416a2c:	0f 85 b2 af 03 00    	jne    0x4519e4
416a32:	81 7d cc 00 00 01 00 	cmpl   $0x10000,-0x34(%ebp)
416a39:	0f 8f 4c 03 00 00    	jg     0x416d8b
416a3f:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
416a45:	0f af 85 60 ff ff ff 	imul   -0xa0(%ebp),%eax
416a4c:	03 45 cc             	add    -0x34(%ebp),%eax
416a4f:	8d 34 45 38 00 00 00 	lea    0x38(,%eax,2),%esi
416a56:	56                   	push   %esi
416a57:	ff 15 4c 57 4a 00    	call   *0x4a574c
416a5d:	8b d8                	mov    %eax,%ebx
416a5f:	59                   	pop    %ecx
416a60:	85 db                	test   %ebx,%ebx
416a62:	0f 84 00 03 00 00    	je     0x416d68
416a68:	89 73 04             	mov    %esi,0x4(%ebx)
416a6b:	33 f6                	xor    %esi,%esi
416a6d:	c7 03 45 52 43 50    	movl   $0x50435245,(%ebx)
416a73:	8b 45 90             	mov    -0x70(%ebp),%eax
416a76:	89 43 08             	mov    %eax,0x8(%ebx)
416a79:	8b 45 94             	mov    -0x6c(%ebp),%eax
416a7c:	89 43 0c             	mov    %eax,0xc(%ebx)
416a7f:	8b 45 dc             	mov    -0x24(%ebp),%eax
416a82:	89 43 10             	mov    %eax,0x10(%ebx)
416a85:	8b 45 e0             	mov    -0x20(%ebp),%eax
416a88:	89 43 14             	mov    %eax,0x14(%ebx)
416a8b:	33 c0                	xor    %eax,%eax
416a8d:	89 43 18             	mov    %eax,0x18(%ebx)
416a90:	6a 1c                	push   $0x1c
416a92:	58                   	pop    %eax
416a93:	66 89 43 22          	mov    %ax,0x22(%ebx)
416a97:	66 8b 85 64 ff ff ff 	mov    -0x9c(%ebp),%ax
416a9e:	66 89 43 24          	mov    %ax,0x24(%ebx)
416aa2:	66 8b 85 60 ff ff ff 	mov    -0xa0(%ebp),%ax
416aa9:	66 89 43 26          	mov    %ax,0x26(%ebx)
416aad:	33 c0                	xor    %eax,%eax
416aaf:	89 43 28             	mov    %eax,0x28(%ebx)
416ab2:	89 43 2c             	mov    %eax,0x2c(%ebx)
416ab5:	89 73 30             	mov    %esi,0x30(%ebx)
416ab8:	89 73 34             	mov    %esi,0x34(%ebx)
416abb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
416ac1:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
416ac7:	89 75 88             	mov    %esi,-0x78(%ebp)
416aca:	89 75 8c             	mov    %esi,-0x74(%ebp)
416acd:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
416ad3:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
416ad9:	0f b7 43 22          	movzwl 0x22(%ebx),%eax
416add:	8d 14 43             	lea    (%ebx,%eax,2),%edx
416ae0:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
416ae6:	0f b7 43 24          	movzwl 0x24(%ebx),%eax
416aea:	0f b7 4b 26          	movzwl 0x26(%ebx),%ecx
416aee:	0f af c8             	imul   %eax,%ecx
416af1:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
416af7:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
416afd:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
416b03:	89 75 ac             	mov    %esi,-0x54(%ebp)
416b06:	89 75 98             	mov    %esi,-0x68(%ebp)
416b09:	89 75 9c             	mov    %esi,-0x64(%ebp)
416b0c:	89 75 a0             	mov    %esi,-0x60(%ebp)
416b0f:	89 75 a4             	mov    %esi,-0x5c(%ebp)
416b12:	8d 3c 4a             	lea    (%edx,%ecx,2),%edi
416b15:	89 7d e0             	mov    %edi,-0x20(%ebp)
416b18:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
416b1e:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
416b24:	85 c0                	test   %eax,%eax
416b26:	0f 8f 16 ad 03 00    	jg     0x451842
416b2c:	8b 45 c8             	mov    -0x38(%ebp),%eax
416b2f:	8d 55 e8             	lea    -0x18(%ebp),%edx
416b32:	89 45 d8             	mov    %eax,-0x28(%ebp)
416b35:	b8 83 00 00 00       	mov    $0x83,%eax
416b3a:	56                   	push   %esi
416b3b:	66 89 07             	mov    %ax,(%edi)
416b3e:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416b44:	50                   	push   %eax
416b45:	56                   	push   %esi
416b46:	8b 4b 08             	mov    0x8(%ebx),%ecx
416b49:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416b4c:	50                   	push   %eax
416b4d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
416b50:	89 7d e8             	mov    %edi,-0x18(%ebp)
416b53:	50                   	push   %eax
416b54:	8d 45 f4             	lea    -0xc(%ebp),%eax
416b57:	50                   	push   %eax
416b58:	8d 45 c4             	lea    -0x3c(%ebp),%eax
416b5b:	50                   	push   %eax
416b5c:	56                   	push   %esi
416b5d:	56                   	push   %esi
416b5e:	56                   	push   %esi
416b5f:	56                   	push   %esi
416b60:	8d 45 f8             	lea    -0x8(%ebp),%eax
416b63:	50                   	push   %eax
416b64:	8d 45 d8             	lea    -0x28(%ebp),%eax
416b67:	50                   	push   %eax
416b68:	e8 4b 02 00 00       	call   0x416db8
416b6d:	66 8b 85 70 ff ff ff 	mov    -0x90(%ebp),%ax
416b74:	83 c4 34             	add    $0x34,%esp
416b77:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
416b7b:	66 8b 85 7c ff ff ff 	mov    -0x84(%ebp),%ax
416b82:	66 89 43 20          	mov    %ax,0x20(%ebx)
416b86:	66 8b 85 78 ff ff ff 	mov    -0x88(%ebp),%ax
416b8d:	66 89 43 1c          	mov    %ax,0x1c(%ebx)
416b91:	8b 45 94             	mov    -0x6c(%ebp),%eax
416b94:	83 c8 02             	or     $0x2,%eax
416b97:	89 43 0c             	mov    %eax,0xc(%ebx)
416b9a:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
416b9e:	0f 85 f0 ac 03 00    	jne    0x451894
416ba4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
416ba7:	89 45 dc             	mov    %eax,-0x24(%ebp)
416baa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416bad:	89 45 d0             	mov    %eax,-0x30(%ebp)
416bb0:	8b 75 f8             	mov    -0x8(%ebp),%esi
416bb3:	33 d2                	xor    %edx,%edx
416bb5:	89 75 f8             	mov    %esi,-0x8(%ebp)
416bb8:	85 f6                	test   %esi,%esi
416bba:	75 0c                	jne    0x416bc8
416bbc:	8b 45 d8             	mov    -0x28(%ebp),%eax
416bbf:	66 39 10             	cmp    %dx,(%eax)
416bc2:	0f 85 dc ac 03 00    	jne    0x4518a4
416bc8:	8b 45 e8             	mov    -0x18(%ebp),%eax
416bcb:	33 c9                	xor    %ecx,%ecx
416bcd:	66 89 08             	mov    %cx,(%eax)
416bd0:	83 c0 02             	add    $0x2,%eax
416bd3:	89 45 e8             	mov    %eax,-0x18(%ebp)
416bd6:	2b c7                	sub    %edi,%eax
416bd8:	d1 f8                	sar    $1,%eax
416bda:	3b 45 cc             	cmp    -0x34(%ebp),%eax
416bdd:	0f 8f cc ac 03 00    	jg     0x4518af
416be3:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
416be9:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
416bef:	3b c1                	cmp    %ecx,%eax
416bf1:	0f 87 c3 ac 03 00    	ja     0x4518ba
416bf7:	81 bd 6c ff ff ff 00 	cmpl   $0x800,-0x94(%ebp)
416bfe:	08 00 00
416c01:	0f 8f 27 ad 03 00    	jg     0x45192e
416c07:	33 c0                	xor    %eax,%eax
416c09:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
416c0f:	85 f6                	test   %esi,%esi
416c11:	75 0e                	jne    0x416c21
416c13:	66 8b 43 20          	mov    0x20(%ebx),%ax
416c17:	66 3b 43 1e          	cmp    0x1e(%ebx),%ax
416c1b:	0f 87 1a ad 03 00    	ja     0x45193b
416c21:	f7 45 ec 00 00 02 00 	testl  $0x20000,-0x14(%ebp)
416c28:	8b 75 fc             	mov    -0x4(%ebp),%esi
416c2b:	75 11                	jne    0x416c3e
416c2d:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416c33:	8b d6                	mov    %esi,%edx
416c35:	50                   	push   %eax
416c36:	8b cf                	mov    %edi,%ecx
416c38:	e8 51 1b 00 00       	call   0x41878e
416c3d:	59                   	pop    %ecx
416c3e:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
416c42:	0f 85 fe ac 03 00    	jne    0x451946
416c48:	8b 75 f8             	mov    -0x8(%ebp),%esi
416c4b:	85 f6                	test   %esi,%esi
416c4d:	0f 85 89 ad 03 00    	jne    0x4519dc
416c53:	8b 43 08             	mov    0x8(%ebx),%eax
416c56:	be 80 00 00 00       	mov    $0x80,%esi
416c5b:	89 45 c8             	mov    %eax,-0x38(%ebp)
416c5e:	89 75 0c             	mov    %esi,0xc(%ebp)
416c61:	8d 4e 7f             	lea    0x7f(%esi),%ecx
416c64:	a8 10                	test   $0x10,%al
416c66:	75 5c                	jne    0x416cc4
416c68:	33 f6                	xor    %esi,%esi
416c6a:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416c70:	56                   	push   %esi
416c71:	50                   	push   %eax
416c72:	33 d2                	xor    %edx,%edx
416c74:	8b cf                	mov    %edi,%ecx
416c76:	e8 d3 fa ff ff       	call   0x41674e
416c7b:	59                   	pop    %ecx
416c7c:	59                   	pop    %ecx
416c7d:	85 c0                	test   %eax,%eax
416c7f:	0f 85 8d ad 03 00    	jne    0x451a12
416c85:	8b 45 f4             	mov    -0xc(%ebp),%eax
416c88:	85 c0                	test   %eax,%eax
416c8a:	79 79                	jns    0x416d05
416c8c:	56                   	push   %esi
416c8d:	8d 55 f4             	lea    -0xc(%ebp),%edx
416c90:	8b cf                	mov    %edi,%ecx
416c92:	e8 1e 22 00 00       	call   0x418eb5
416c97:	8b d0                	mov    %eax,%edx
416c99:	8b 45 f4             	mov    -0xc(%ebp),%eax
416c9c:	59                   	pop    %ecx
416c9d:	85 c0                	test   %eax,%eax
416c9f:	79 67                	jns    0x416d08
416ca1:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416ca7:	33 d2                	xor    %edx,%edx
416ca9:	56                   	push   %esi
416caa:	50                   	push   %eax
416cab:	8b cf                	mov    %edi,%ecx