41a8e9:	e8 2d fa ff ff       	call   0x41a31b
41a8ee:	8b fe                	mov    %esi,%edi
41a8f0:	33 d2                	xor    %edx,%edx
41a8f2:	8d 4f 02             	lea    0x2(%edi),%ecx
41a8f5:	66 8b 07             	mov    (%edi),%ax
41a8f8:	83 c7 02             	add    $0x2,%edi
41a8fb:	66 3b c2             	cmp    %dx,%ax
41a8fe:	75 f5                	jne    0x41a8f5
41a900:	2b f9                	sub    %ecx,%edi
41a902:	d1 ff                	sar    $1,%edi
41a904:	89 bd 18 fe ff ff    	mov    %edi,-0x1e8(%ebp)
41a90a:	81 ff 83 00 00 00    	cmp    $0x83,%edi
41a910:	73 72                	jae    0x41a984
41a912:	8b ce                	mov    %esi,%ecx
41a914:	8b c3                	mov    %ebx,%eax
41a916:	66 8b 10             	mov    (%eax),%dx
41a919:	66 3b 11             	cmp    (%ecx),%dx
41a91c:	75 1e                	jne    0x41a93c
41a91e:	66 85 d2             	test   %dx,%dx
41a921:	74 15                	je     0x41a938
41a923:	66 8b 50 02          	mov    0x2(%eax),%dx
41a927:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41a92b:	75 0f                	jne    0x41a93c
41a92d:	83 c0 04             	add    $0x4,%eax
41a930:	83 c1 04             	add    $0x4,%ecx
41a933:	66 85 d2             	test   %dx,%dx
41a936:	75 de                	jne    0x41a916
41a938:	33 c0                	xor    %eax,%eax
41a93a:	eb 05                	jmp    0x41a941
41a93c:	1b c0                	sbb    %eax,%eax
41a93e:	83 c8 01             	or     $0x1,%eax
41a941:	85 c0                	test   %eax,%eax
41a943:	0f 84 6e 02 00 00    	je     0x41abb7
41a949:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
41a94f:	8b ce                	mov    %esi,%ecx
41a951:	66 8b 10             	mov    (%eax),%dx
41a954:	66 3b 11             	cmp    (%ecx),%dx
41a957:	75 1e                	jne    0x41a977
41a959:	66 85 d2             	test   %dx,%dx
41a95c:	74 15                	je     0x41a973
41a95e:	66 8b 50 02          	mov    0x2(%eax),%dx
41a962:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41a966:	75 0f                	jne    0x41a977
41a968:	83 c0 04             	add    $0x4,%eax
41a96b:	83 c1 04             	add    $0x4,%ecx
41a96e:	66 85 d2             	test   %dx,%dx
41a971:	75 de                	jne    0x41a951
41a973:	33 c0                	xor    %eax,%eax
41a975:	eb 05                	jmp    0x41a97c
41a977:	1b c0                	sbb    %eax,%eax
41a979:	83 c8 01             	or     $0x1,%eax
41a97c:	85 c0                	test   %eax,%eax
41a97e:	0f 84 33 02 00 00    	je     0x41abb7
41a984:	e8 8f 3d 00 00       	call   0x41e718
41a989:	33 db                	xor    %ebx,%ebx
41a98b:	84 c0                	test   %al,%al
41a98d:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41a993:	56                   	push   %esi
41a994:	50                   	push   %eax
41a995:	0f 94 c3             	sete   %bl
41a998:	e8 db fc ff ff       	call   0x41a678
41a99d:	59                   	pop    %ecx
41a99e:	59                   	pop    %ecx
41a99f:	85 c0                	test   %eax,%eax
41a9a1:	75 79                	jne    0x41aa1c
41a9a3:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41a9a9:	85 db                	test   %ebx,%ebx
41a9ab:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
41a9b1:	50                   	push   %eax
41a9b2:	53                   	push   %ebx
41a9b3:	50                   	push   %eax
41a9b4:	74 07                	je     0x41a9bd
41a9b6:	e8 80 b0 00 00       	call   0x425a3b
41a9bb:	eb 05                	jmp    0x41a9c2
41a9bd:	e8 04 a7 00 00       	call   0x4250c6
41a9c2:	83 c4 0c             	add    $0xc,%esp
41a9c5:	85 c0                	test   %eax,%eax
41a9c7:	74 59                	je     0x41aa22
41a9c9:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
41a9cf:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41a9d5:	50                   	push   %eax
41a9d6:	68 83 00 00 00       	push   $0x83
41a9db:	53                   	push   %ebx
41a9dc:	e8 27 fc ff ff       	call   0x41a608
41a9e1:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41a9e7:	83 c4 0c             	add    $0xc,%esp
41a9ea:	8d 51 02             	lea    0x2(%ecx),%edx
41a9ed:	66 8b 01             	mov    (%ecx),%ax
41a9f0:	83 c1 02             	add    $0x2,%ecx
41a9f3:	66 3b 85 20 fe ff ff 	cmp    -0x1e0(%ebp),%ax
41a9fa:	75 f1                	jne    0x41a9ed
41a9fc:	2b ca                	sub    %edx,%ecx
41a9fe:	d1 f9                	sar    $1,%ecx
41aa00:	8d 41 01             	lea    0x1(%ecx),%eax
41aa03:	50                   	push   %eax
41aa04:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41aa0a:	50                   	push   %eax
41aa0b:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41aa11:	e8 2b fb ff ff       	call   0x41a541
41aa16:	47                   	inc    %edi
41aa17:	e9 65 01 00 00       	jmp    0x41ab81
41aa1c:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
41aa22:	56                   	push   %esi
41aa23:	e8 eb 3b 00 00       	call   0x41e613
41aa28:	56                   	push   %esi
41aa29:	85 c0                	test   %eax,%eax
41aa2b:	74 30                	je     0x41aa5d
41aa2d:	e8 e9 0a 00 00       	call   0x41b51b
41aa32:	47                   	inc    %edi
41aa33:	0f b7 c0             	movzwl %ax,%eax
41aa36:	57                   	push   %edi
41aa37:	56                   	push   %esi
41aa38:	89 03                	mov    %eax,(%ebx)
41aa3a:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
41aa40:	68 83 00 00 00       	push   $0x83
41aa45:	53                   	push   %ebx
41aa46:	e8 82 73 00 00       	call   0x421dcd
41aa4b:	83 c4 14             	add    $0x14,%esp
41aa4e:	85 c0                	test   %eax,%eax
41aa50:	0f 85 a9 01 00 00    	jne    0x41abff
41aa56:	57                   	push   %edi
41aa57:	56                   	push   %esi
41aa58:	e9 19 01 00 00       	jmp    0x41ab76
41aa5d:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41aa63:	50                   	push   %eax
41aa64:	e8 e1 0a 00 00       	call   0x41b54a
41aa69:	59                   	pop    %ecx
41aa6a:	59                   	pop    %ecx
41aa6b:	84 c0                	test   %al,%al
41aa6d:	0f 84 6c 01 00 00    	je     0x41abdf
41aa73:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41aa79:	50                   	push   %eax
41aa7a:	e8 94 3b 00 00       	call   0x41e613
41aa7f:	85 c0                	test   %eax,%eax
41aa81:	0f 84 58 01 00 00    	je     0x41abdf
41aa87:	66 8b 85 30 ff ff ff 	mov    -0xd0(%ebp),%ax
41aa8e:	66 85 c0             	test   %ax,%ax
41aa91:	0f 84 87 00 00 00    	je     0x41ab1e
41aa97:	0f b7 c8             	movzwl %ax,%ecx
41aa9a:	8d 41 bf             	lea    -0x41(%ecx),%eax
41aa9d:	83 f8 19             	cmp    $0x19,%eax
41aaa0:	77 03                	ja     0x41aaa5
41aaa2:	83 c1 20             	add    $0x20,%ecx
41aaa5:	6a 38                	push   $0x38
41aaa7:	5a                   	pop    %edx
41aaa8:	83 f9 75             	cmp    $0x75,%ecx
41aaab:	75 41                	jne    0x41aaee
41aaad:	0f b7 8d 32 ff ff ff 	movzwl -0xce(%ebp),%ecx
41aab4:	8d 41 bf             	lea    -0x41(%ecx),%eax
41aab7:	83 f8 19             	cmp    $0x19,%eax
41aaba:	77 03                	ja     0x41aabf
41aabc:	83 c1 20             	add    $0x20,%ecx
41aabf:	83 f9 74             	cmp    $0x74,%ecx
41aac2:	75 2a                	jne    0x41aaee
41aac4:	0f b7 8d 34 ff ff ff 	movzwl -0xcc(%ebp),%ecx
41aacb:	8d 41 bf             	lea    -0x41(%ecx),%eax
41aace:	83 f8 19             	cmp    $0x19,%eax
41aad1:	77 03                	ja     0x41aad6
41aad3:	83 c1 20             	add    $0x20,%ecx
41aad6:	83 f9 66             	cmp    $0x66,%ecx
41aad9:	75 13                	jne    0x41aaee
41aadb:	66 39 95 36 ff ff ff 	cmp    %dx,-0xca(%ebp)
41aae2:	75 0a                	jne    0x41aaee
41aae4:	66 83 bd 38 ff ff ff 	cmpw   $0x0,-0xc8(%ebp)
41aaeb:	00
41aaec:	74 29                	je     0x41ab17
41aaee:	66 83 bd 36 ff ff ff 	cmpw   $0x2d,-0xca(%ebp)
41aaf5:	2d
41aaf6:	0f 85 e3 00 00 00    	jne    0x41abdf
41aafc:	66 39 95 38 ff ff ff 	cmp    %dx,-0xc8(%ebp)
41ab03:	0f 85 d6 00 00 00    	jne    0x41abdf
41ab09:	66 83 bd 3a ff ff ff 	cmpw   $0x0,-0xc6(%ebp)
41ab10:	00
41ab11:	0f 85 c8 00 00 00    	jne    0x41abdf
41ab17:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
41ab1c:	eb 0d                	jmp    0x41ab2b
41ab1e:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41ab24:	50                   	push   %eax
41ab25:	e8 f1 09 00 00       	call   0x41b51b
41ab2a:	59                   	pop    %ecx
41ab2b:	47                   	inc    %edi
41ab2c:	0f b7 c0             	movzwl %ax,%eax
41ab2f:	57                   	push   %edi
41ab30:	56                   	push   %esi
41ab31:	89 03                	mov    %eax,(%ebx)
41ab33:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
41ab39:	68 83 00 00 00       	push   $0x83
41ab3e:	53                   	push   %ebx
41ab3f:	e8 89 72 00 00       	call   0x421dcd
41ab44:	83 c4 10             	add    $0x10,%esp
41ab47:	85 c0                	test   %eax,%eax
41ab49:	0f 85 b0 00 00 00    	jne    0x41abff
41ab4f:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41ab55:	8d 51 02             	lea    0x2(%ecx),%edx
41ab58:	66 8b 01             	mov    (%ecx),%ax
41ab5b:	83 c1 02             	add    $0x2,%ecx
41ab5e:	66 3b 85 20 fe ff ff 	cmp    -0x1e0(%ebp),%ax
41ab65:	75 f1                	jne    0x41ab58
41ab67:	2b ca                	sub    %edx,%ecx
41ab69:	d1 f9                	sar    $1,%ecx
41ab6b:	8d 41 01             	lea    0x1(%ecx),%eax
41ab6e:	50                   	push   %eax
41ab6f:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41ab75:	50                   	push   %eax
41ab76:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41ab7c:	e8 7c f9 ff ff       	call   0x41a4fd
41ab81:	33 c0                	xor    %eax,%eax
41ab83:	66 39 06             	cmp    %ax,(%esi)
41ab86:	74 24                	je     0x41abac
41ab88:	b8 83 00 00 00       	mov    $0x83,%eax
41ab8d:	39 85 18 fe ff ff    	cmp    %eax,-0x1e8(%ebp)
41ab93:	73 17                	jae    0x41abac
41ab95:	57                   	push   %edi
41ab96:	56                   	push   %esi
41ab97:	50                   	push   %eax
41ab98:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
41ab9e:	e8 2a 72 00 00       	call   0x421dcd
41aba3:	83 c4 10             	add    $0x10,%esp
41aba6:	85 c0                	test   %eax,%eax
41aba8:	75 55                	jne    0x41abff
41abaa:	eb 0b                	jmp    0x41abb7
41abac:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
41abb2:	33 c9                	xor    %ecx,%ecx
41abb4:	66 89 08             	mov    %cx,(%eax)
41abb7:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
41abbd:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
41abc3:	53                   	push   %ebx
41abc4:	ff 75 10             	push   0x10(%ebp)
41abc7:	8b 00                	mov    (%eax),%eax
41abc9:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
41abcf:	89 01                	mov    %eax,(%ecx)
41abd1:	e8 b2 7e ff ff       	call   0x412a88
41abd6:	83 c4 0c             	add    $0xc,%esp
41abd9:	85 c0                	test   %eax,%eax
41abdb:	75 22                	jne    0x41abff
41abdd:	eb 04                	jmp    0x41abe3
41abdf:	33 c0                	xor    %eax,%eax
41abe1:	8b d8                	mov    %eax,%ebx
41abe3:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41abe9:	e8 77 f7 ff ff       	call   0x41a365
41abee:	8b c3                	mov    %ebx,%eax
41abf0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41abf3:	5f                   	pop    %edi
41abf4:	5e                   	pop    %esi
41abf5:	33 cd                	xor    %ebp,%ecx
41abf7:	5b                   	pop    %ebx
41abf8:	e8 aa f0 fe ff       	call   0x409ca7
41abfd:	c9                   	leave
41abfe:	c3                   	ret
41abff:	33 c0                	xor    %eax,%eax
41ac01:	50                   	push   %eax
41ac02:	50                   	push   %eax
41ac03:	50                   	push   %eax
41ac04:	50                   	push   %eax
41ac05:	50                   	push   %eax
41ac06:	e8 10 28 ff ff       	call   0x40d41b
41ac0b:	cc                   	int3
41ac0c:	8b ff                	mov    %edi,%edi
41ac0e:	55                   	push   %ebp
41ac0f:	8b ec                	mov    %esp,%ebp
41ac11:	53                   	push   %ebx
41ac12:	33 db                	xor    %ebx,%ebx
41ac14:	56                   	push   %esi
41ac15:	8b f3                	mov    %ebx,%esi
41ac17:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41ac1a:	7e 22                	jle    0x41ac3e
41ac1c:	57                   	push   %edi
41ac1d:	8d 7d 10             	lea    0x10(%ebp),%edi
41ac20:	8d 7f 04             	lea    0x4(%edi),%edi
41ac23:	ff 37                	push   (%edi)
41ac25:	ff 75 0c             	push   0xc(%ebp)
41ac28:	ff 75 08             	push   0x8(%ebp)
41ac2b:	e8 60 70 00 00       	call   0x421c90
41ac30:	83 c4 0c             	add    $0xc,%esp
41ac33:	85 c0                	test   %eax,%eax
41ac35:	75 0b                	jne    0x41ac42
41ac37:	46                   	inc    %esi
41ac38:	3b 75 10             	cmp    0x10(%ebp),%esi
41ac3b:	7c e3                	jl     0x41ac20
41ac3d:	5f                   	pop    %edi
41ac3e:	5e                   	pop    %esi
41ac3f:	5b                   	pop    %ebx
41ac40:	5d                   	pop    %ebp
41ac41:	c3                   	ret
41ac42:	53                   	push   %ebx
41ac43:	53                   	push   %ebx
41ac44:	53                   	push   %ebx
41ac45:	53                   	push   %ebx
41ac46:	53                   	push   %ebx
41ac47:	e8 cf 27 ff ff       	call   0x40d41b
41ac4c:	cc                   	int3
41ac4d:	8b ff                	mov    %edi,%edi
41ac4f:	55                   	push   %ebp
41ac50:	8b ec                	mov    %esp,%ebp
41ac52:	83 ec 28             	sub    $0x28,%esp
41ac55:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41ac59:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41ac5d:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
41ac61:	76 14                	jbe    0x41ac77
41ac63:	e8 09 1a 00 00       	call   0x41c671
41ac68:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41ac6e:	e8 7b 27 ff ff       	call   0x40d3ee
41ac73:	33 c0                	xor    %eax,%eax
41ac75:	c9                   	leave
41ac76:	c3                   	ret
41ac77:	e8 6d 16 00 00       	call   0x41c2e9
41ac7c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ac7f:	e8 9f 3a 00 00       	call   0x41e723
41ac84:	e8 75 9c 00 00       	call   0x4248fe
41ac89:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ac8c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41ac8f:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
41ac96:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ac99:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ac9c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ac9f:	89 45 d8             	mov    %eax,-0x28(%ebp)
41aca2:	8d 45 f8             	lea    -0x8(%ebp),%eax
41aca5:	89 45 dc             	mov    %eax,-0x24(%ebp)
41aca8:	8d 45 f4             	lea    -0xc(%ebp),%eax
41acab:	89 45 e0             	mov    %eax,-0x20(%ebp)
41acae:	8d 45 08             	lea    0x8(%ebp),%eax
41acb1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41acb4:	8d 45 0c             	lea    0xc(%ebp),%eax
41acb7:	89 45 e8             	mov    %eax,-0x18(%ebp)
41acba:	8d 45 ec             	lea    -0x14(%ebp),%eax
41acbd:	50                   	push   %eax
41acbe:	8d 45 d8             	lea    -0x28(%ebp),%eax
41acc1:	50                   	push   %eax
41acc2:	8d 45 ff             	lea    -0x1(%ebp),%eax
41acc5:	50                   	push   %eax
41acc6:	e8 9d f5 ff ff       	call   0x41a268
41accb:	8b 45 f4             	mov    -0xc(%ebp),%eax
41acce:	c9                   	leave
41accf:	c3                   	ret
41acd0:	8b ff                	mov    %edi,%edi
41acd2:	55                   	push   %ebp
41acd3:	8b ec                	mov    %esp,%ebp
41acd5:	83 ec 10             	sub    $0x10,%esp
41acd8:	53                   	push   %ebx
41acd9:	56                   	push   %esi
41acda:	33 f6                	xor    %esi,%esi
41acdc:	46                   	inc    %esi
41acdd:	68 a6 06 00 00       	push   $0x6a6
41ace2:	89 75 f8             	mov    %esi,-0x8(%ebp)
41ace5:	e8 46 bf fe ff       	call   0x406c30
41acea:	8b d8                	mov    %eax,%ebx
41acec:	33 c0                	xor    %eax,%eax
41acee:	59                   	pop    %ecx
41acef:	85 db                	test   %ebx,%ebx
41acf1:	0f 84 17 01 00 00    	je     0x41ae0e