43ea92:	a3 d4 10 47 00       	mov    %eax,0x4710d4
43ea97:	a1 d4 10 47 00       	mov    0x4710d4,%eax
43ea9c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43ea9f:	8b 35 d4 34 47 00    	mov    0x4734d4,%esi
43eaa5:	3b c1                	cmp    %ecx,%eax
43eaa7:	74 47                	je     0x43eaf0
43eaa9:	39 0d d8 10 47 00    	cmp    %ecx,0x4710d8
43eaaf:	74 3f                	je     0x43eaf0
43eab1:	50                   	push   %eax
43eab2:	ff d6                	call   *%esi
43eab4:	ff 35 d8 10 47 00    	push   0x4710d8
43eaba:	8b f8                	mov    %eax,%edi
43eabc:	ff d6                	call   *%esi
43eabe:	8b d8                	mov    %eax,%ebx
43eac0:	85 ff                	test   %edi,%edi
43eac2:	74 2c                	je     0x43eaf0
43eac4:	85 db                	test   %ebx,%ebx
43eac6:	74 28                	je     0x43eaf0
43eac8:	ff d7                	call   *%edi
43eaca:	85 c0                	test   %eax,%eax
43eacc:	74 19                	je     0x43eae7
43eace:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43ead1:	51                   	push   %ecx
43ead2:	6a 0c                	push   $0xc
43ead4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43ead7:	51                   	push   %ecx
43ead8:	6a 01                	push   $0x1
43eada:	50                   	push   %eax
43eadb:	ff d3                	call   *%ebx
43eadd:	85 c0                	test   %eax,%eax
43eadf:	74 06                	je     0x43eae7
43eae1:	f6 45 f8 01          	testb  $0x1,-0x8(%ebp)
43eae5:	75 09                	jne    0x43eaf0
43eae7:	81 4d 10 00 00 20 00 	orl    $0x200000,0x10(%ebp)
43eaee:	eb 33                	jmp    0x43eb23
43eaf0:	a1 cc 10 47 00       	mov    0x4710cc,%eax
43eaf5:	3b 45 e8             	cmp    -0x18(%ebp),%eax
43eaf8:	74 29                	je     0x43eb23
43eafa:	50                   	push   %eax
43eafb:	ff d6                	call   *%esi
43eafd:	85 c0                	test   %eax,%eax
43eaff:	74 22                	je     0x43eb23
43eb01:	ff d0                	call   *%eax
43eb03:	89 45 ec             	mov    %eax,-0x14(%ebp)
43eb06:	85 c0                	test   %eax,%eax
43eb08:	74 19                	je     0x43eb23
43eb0a:	a1 d0 10 47 00       	mov    0x4710d0,%eax
43eb0f:	3b 45 e8             	cmp    -0x18(%ebp),%eax
43eb12:	74 0f                	je     0x43eb23
43eb14:	50                   	push   %eax
43eb15:	ff d6                	call   *%esi
43eb17:	85 c0                	test   %eax,%eax
43eb19:	74 08                	je     0x43eb23
43eb1b:	ff 75 ec             	push   -0x14(%ebp)
43eb1e:	ff d0                	call   *%eax
43eb20:	89 45 ec             	mov    %eax,-0x14(%ebp)
43eb23:	ff 35 c8 10 47 00    	push   0x4710c8
43eb29:	ff d6                	call   *%esi
43eb2b:	85 c0                	test   %eax,%eax
43eb2d:	74 10                	je     0x43eb3f
43eb2f:	ff 75 10             	push   0x10(%ebp)
43eb32:	ff 75 e4             	push   -0x1c(%ebp)
43eb35:	ff 75 e0             	push   -0x20(%ebp)
43eb38:	ff 75 ec             	push   -0x14(%ebp)
43eb3b:	ff d0                	call   *%eax
43eb3d:	eb 02                	jmp    0x43eb41
43eb3f:	33 c0                	xor    %eax,%eax
43eb41:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43eb44:	5f                   	pop    %edi
43eb45:	5e                   	pop    %esi
43eb46:	33 cd                	xor    %ebp,%ecx
43eb48:	5b                   	pop    %ebx
43eb49:	e8 43 fe ff ff       	call   0x43e991
43eb4e:	c9                   	leave
43eb4f:	c3                   	ret
43eb50:	8b ff                	mov    %edi,%edi
43eb52:	55                   	push   %ebp
43eb53:	8b ec                	mov    %esp,%ebp
43eb55:	56                   	push   %esi
43eb56:	8b 75 08             	mov    0x8(%ebp),%esi
43eb59:	57                   	push   %edi
43eb5a:	85 f6                	test   %esi,%esi
43eb5c:	74 07                	je     0x43eb65
43eb5e:	8b 7d 0c             	mov    0xc(%ebp),%edi
43eb61:	85 ff                	test   %edi,%edi
43eb63:	75 15                	jne    0x43eb7a
43eb65:	e8 3e 5e ff ff       	call   0x4349a8
43eb6a:	6a 16                	push   $0x16
43eb6c:	5e                   	pop    %esi
43eb6d:	89 30                	mov    %esi,(%eax)
43eb6f:	e8 fa 57 ff ff       	call   0x43436e
43eb74:	8b c6                	mov    %esi,%eax
43eb76:	5f                   	pop    %edi
43eb77:	5e                   	pop    %esi
43eb78:	5d                   	pop    %ebp
43eb79:	c3                   	ret
43eb7a:	8b 4d 10             	mov    0x10(%ebp),%ecx
43eb7d:	85 c9                	test   %ecx,%ecx
43eb7f:	75 07                	jne    0x43eb88
43eb81:	33 c0                	xor    %eax,%eax
43eb83:	66 89 06             	mov    %ax,(%esi)
43eb86:	eb dd                	jmp    0x43eb65
43eb88:	8b d6                	mov    %esi,%edx
43eb8a:	66 83 3a 00          	cmpw   $0x0,(%edx)
43eb8e:	74 06                	je     0x43eb96
43eb90:	83 c2 02             	add    $0x2,%edx
43eb93:	4f                   	dec    %edi
43eb94:	75 f4                	jne    0x43eb8a
43eb96:	85 ff                	test   %edi,%edi
43eb98:	74 e7                	je     0x43eb81
43eb9a:	2b d1                	sub    %ecx,%edx
43eb9c:	0f b7 01             	movzwl (%ecx),%eax
43eb9f:	66 89 04 0a          	mov    %ax,(%edx,%ecx,1)
43eba3:	83 c1 02             	add    $0x2,%ecx
43eba6:	66 85 c0             	test   %ax,%ax
43eba9:	74 03                	je     0x43ebae
43ebab:	4f                   	dec    %edi
43ebac:	75 ee                	jne    0x43eb9c
43ebae:	33 c0                	xor    %eax,%eax
43ebb0:	85 ff                	test   %edi,%edi
43ebb2:	75 c2                	jne    0x43eb76
43ebb4:	66 89 06             	mov    %ax,(%esi)
43ebb7:	e8 ec 5d ff ff       	call   0x4349a8
43ebbc:	6a 22                	push   $0x22
43ebbe:	59                   	pop    %ecx
43ebbf:	89 08                	mov    %ecx,(%eax)
43ebc1:	8b f1                	mov    %ecx,%esi
43ebc3:	eb aa                	jmp    0x43eb6f
43ebc5:	8b ff                	mov    %edi,%edi
43ebc7:	55                   	push   %ebp
43ebc8:	8b ec                	mov    %esp,%ebp
43ebca:	8b 55 08             	mov    0x8(%ebp),%edx
43ebcd:	53                   	push   %ebx
43ebce:	8b 5d 14             	mov    0x14(%ebp),%ebx
43ebd1:	56                   	push   %esi
43ebd2:	57                   	push   %edi
43ebd3:	85 db                	test   %ebx,%ebx
43ebd5:	75 10                	jne    0x43ebe7
43ebd7:	85 d2                	test   %edx,%edx
43ebd9:	75 10                	jne    0x43ebeb
43ebdb:	39 55 0c             	cmp    %edx,0xc(%ebp)
43ebde:	75 12                	jne    0x43ebf2
43ebe0:	33 c0                	xor    %eax,%eax
43ebe2:	5f                   	pop    %edi
43ebe3:	5e                   	pop    %esi
43ebe4:	5b                   	pop    %ebx
43ebe5:	5d                   	pop    %ebp
43ebe6:	c3                   	ret
43ebe7:	85 d2                	test   %edx,%edx
43ebe9:	74 07                	je     0x43ebf2
43ebeb:	8b 7d 0c             	mov    0xc(%ebp),%edi
43ebee:	85 ff                	test   %edi,%edi
43ebf0:	75 13                	jne    0x43ec05
43ebf2:	e8 b1 5d ff ff       	call   0x4349a8
43ebf7:	6a 16                	push   $0x16
43ebf9:	5e                   	pop    %esi
43ebfa:	89 30                	mov    %esi,(%eax)
43ebfc:	e8 6d 57 ff ff       	call   0x43436e
43ec01:	8b c6                	mov    %esi,%eax
43ec03:	eb dd                	jmp    0x43ebe2
43ec05:	85 db                	test   %ebx,%ebx
43ec07:	75 07                	jne    0x43ec10
43ec09:	33 c0                	xor    %eax,%eax
43ec0b:	66 89 02             	mov    %ax,(%edx)
43ec0e:	eb d0                	jmp    0x43ebe0
43ec10:	8b 4d 10             	mov    0x10(%ebp),%ecx
43ec13:	85 c9                	test   %ecx,%ecx
43ec15:	75 07                	jne    0x43ec1e
43ec17:	33 c0                	xor    %eax,%eax
43ec19:	66 89 02             	mov    %ax,(%edx)
43ec1c:	eb d4                	jmp    0x43ebf2
43ec1e:	8b c2                	mov    %edx,%eax
43ec20:	83 fb ff             	cmp    $0xffffffff,%ebx
43ec23:	75 18                	jne    0x43ec3d
43ec25:	8b f2                	mov    %edx,%esi
43ec27:	2b f1                	sub    %ecx,%esi
43ec29:	0f b7 01             	movzwl (%ecx),%eax
43ec2c:	66 89 04 0e          	mov    %ax,(%esi,%ecx,1)
43ec30:	83 c1 02             	add    $0x2,%ecx
43ec33:	66 85 c0             	test   %ax,%ax
43ec36:	74 27                	je     0x43ec5f
43ec38:	4f                   	dec    %edi
43ec39:	75 ee                	jne    0x43ec29
43ec3b:	eb 22                	jmp    0x43ec5f
43ec3d:	8b f1                	mov    %ecx,%esi
43ec3f:	2b f2                	sub    %edx,%esi
43ec41:	0f b7 0c 06          	movzwl (%esi,%eax,1),%ecx
43ec45:	66 89 08             	mov    %cx,(%eax)
43ec48:	83 c0 02             	add    $0x2,%eax
43ec4b:	66 85 c9             	test   %cx,%cx
43ec4e:	74 06                	je     0x43ec56
43ec50:	4f                   	dec    %edi
43ec51:	74 03                	je     0x43ec56
43ec53:	4b                   	dec    %ebx
43ec54:	75 eb                	jne    0x43ec41
43ec56:	85 db                	test   %ebx,%ebx
43ec58:	75 05                	jne    0x43ec5f
43ec5a:	33 c9                	xor    %ecx,%ecx
43ec5c:	66 89 08             	mov    %cx,(%eax)
43ec5f:	85 ff                	test   %edi,%edi
43ec61:	0f 85 79 ff ff ff    	jne    0x43ebe0
43ec67:	33 c0                	xor    %eax,%eax
43ec69:	83 fb ff             	cmp    $0xffffffff,%ebx
43ec6c:	75 10                	jne    0x43ec7e
43ec6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ec71:	6a 50                	push   $0x50
43ec73:	66 89 44 4a fe       	mov    %ax,-0x2(%edx,%ecx,2)
43ec78:	58                   	pop    %eax
43ec79:	e9 64 ff ff ff       	jmp    0x43ebe2
43ec7e:	66 89 02             	mov    %ax,(%edx)
43ec81:	e8 22 5d ff ff       	call   0x4349a8
43ec86:	6a 22                	push   $0x22
43ec88:	59                   	pop    %ecx
43ec89:	89 08                	mov    %ecx,(%eax)
43ec8b:	8b f1                	mov    %ecx,%esi
43ec8d:	e9 6a ff ff ff       	jmp    0x43ebfc
43ec92:	8b ff                	mov    %edi,%edi
43ec94:	55                   	push   %ebp
43ec95:	8b ec                	mov    %esp,%ebp
43ec97:	8b 45 08             	mov    0x8(%ebp),%eax
43ec9a:	66 8b 08             	mov    (%eax),%cx
43ec9d:	83 c0 02             	add    $0x2,%eax
43eca0:	66 85 c9             	test   %cx,%cx
43eca3:	75 f5                	jne    0x43ec9a
43eca5:	2b 45 08             	sub    0x8(%ebp),%eax
43eca8:	d1 f8                	sar    $1,%eax
43ecaa:	48                   	dec    %eax
43ecab:	5d                   	pop    %ebp
43ecac:	c3                   	ret
43ecad:	8b ff                	mov    %edi,%edi
43ecaf:	55                   	push   %ebp
43ecb0:	8b ec                	mov    %esp,%ebp
43ecb2:	56                   	push   %esi
43ecb3:	8b 75 08             	mov    0x8(%ebp),%esi
43ecb6:	57                   	push   %edi
43ecb7:	85 f6                	test   %esi,%esi
43ecb9:	74 07                	je     0x43ecc2
43ecbb:	8b 7d 0c             	mov    0xc(%ebp),%edi
43ecbe:	85 ff                	test   %edi,%edi
43ecc0:	75 15                	jne    0x43ecd7
43ecc2:	e8 e1 5c ff ff       	call   0x4349a8
43ecc7:	6a 16                	push   $0x16
43ecc9:	5e                   	pop    %esi
43ecca:	89 30                	mov    %esi,(%eax)
43eccc:	e8 9d 56 ff ff       	call   0x43436e
43ecd1:	8b c6                	mov    %esi,%eax
43ecd3:	5f                   	pop    %edi
43ecd4:	5e                   	pop    %esi
43ecd5:	5d                   	pop    %ebp
43ecd6:	c3                   	ret
43ecd7:	8b 45 10             	mov    0x10(%ebp),%eax
43ecda:	85 c0                	test   %eax,%eax
43ecdc:	75 05                	jne    0x43ece3
43ecde:	66 89 06             	mov    %ax,(%esi)
43ece1:	eb df                	jmp    0x43ecc2
43ece3:	8b d6                	mov    %esi,%edx
43ece5:	2b d0                	sub    %eax,%edx
43ece7:	0f b7 08             	movzwl (%eax),%ecx
43ecea:	66 89 0c 02          	mov    %cx,(%edx,%eax,1)
43ecee:	83 c0 02             	add    $0x2,%eax
43ecf1:	66 85 c9             	test   %cx,%cx
43ecf4:	74 03                	je     0x43ecf9
43ecf6:	4f                   	dec    %edi
43ecf7:	75 ee                	jne    0x43ece7
43ecf9:	33 c0                	xor    %eax,%eax
43ecfb:	85 ff                	test   %edi,%edi
43ecfd:	75 d4                	jne    0x43ecd3
43ecff:	66 89 06             	mov    %ax,(%esi)
43ed02:	e8 a1 5c ff ff       	call   0x4349a8
43ed07:	6a 22                	push   $0x22
43ed09:	59                   	pop    %ecx
43ed0a:	89 08                	mov    %ecx,(%eax)
43ed0c:	8b f1                	mov    %ecx,%esi
43ed0e:	eb bc                	jmp    0x43eccc
43ed10:	8b ff                	mov    %edi,%edi
43ed12:	55                   	push   %ebp
43ed13:	8b ec                	mov    %esp,%ebp
43ed15:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ed18:	85 c9                	test   %ecx,%ecx
43ed1a:	78 1e                	js     0x43ed3a
43ed1c:	83 f9 02             	cmp    $0x2,%ecx
43ed1f:	7e 0c                	jle    0x43ed2d
43ed21:	83 f9 03             	cmp    $0x3,%ecx
43ed24:	75 14                	jne    0x43ed3a
43ed26:	a1 d4 07 47 00       	mov    0x4707d4,%eax
43ed2b:	5d                   	pop    %ebp
43ed2c:	c3                   	ret
43ed2d:	a1 d4 07 47 00       	mov    0x4707d4,%eax
43ed32:	89 0d d4 07 47 00    	mov    %ecx,0x4707d4
43ed38:	5d                   	pop    %ebp
43ed39:	c3                   	ret
43ed3a:	e8 69 5c ff ff       	call   0x4349a8
43ed3f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43ed45:	e8 24 56 ff ff       	call   0x43436e
43ed4a:	83 c8 ff             	or     $0xffffffff,%eax
43ed4d:	5d                   	pop    %ebp
43ed4e:	c3                   	ret
43ed4f:	8b ff                	mov    %edi,%edi
43ed51:	55                   	push   %ebp
43ed52:	8b ec                	mov    %esp,%ebp
43ed54:	8b 45 08             	mov    0x8(%ebp),%eax
43ed57:	a3 98 f2 46 00       	mov    %eax,0x46f298
43ed5c:	5d                   	pop    %ebp
43ed5d:	c3                   	ret
43ed5e:	8b ff                	mov    %edi,%edi
43ed60:	55                   	push   %ebp
43ed61:	8b ec                	mov    %esp,%ebp
43ed63:	8b 45 08             	mov    0x8(%ebp),%eax
43ed66:	83 f8 fe             	cmp    $0xfffffffe,%eax
43ed69:	75 0f                	jne    0x43ed7a
43ed6b:	e8 38 5c ff ff       	call   0x4349a8
43ed70:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43ed76:	33 c0                	xor    %eax,%eax
43ed78:	5d                   	pop    %ebp
43ed79:	c3                   	ret
43ed7a:	85 c0                	test   %eax,%eax
43ed7c:	78 08                	js     0x43ed86
43ed7e:	3b 05 2c 17 47 00    	cmp    0x47172c,%eax
43ed84:	72 12                	jb     0x43ed98
43ed86:	e8 1d 5c ff ff       	call   0x4349a8
43ed8b:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43ed91:	e8 d8 55 ff ff       	call   0x43436e
43ed96:	eb de                	jmp    0x43ed76
43ed98:	8b c8                	mov    %eax,%ecx
43ed9a:	83 e0 1f             	and    $0x1f,%eax
43ed9d:	c1 f9 05             	sar    $0x5,%ecx
43eda0:	8b 0c 8d 80 17 47 00 	mov    0x471780(,%ecx,4),%ecx
43eda7:	c1 e0 06             	shl    $0x6,%eax
43edaa:	0f be 44 01 04       	movsbl 0x4(%ecx,%eax,1),%eax
43edaf:	83 e0 40             	and    $0x40,%eax
43edb2:	5d                   	pop    %ebp
43edb3:	c3                   	ret
43edb4:	8b ff                	mov    %edi,%edi
43edb6:	55                   	push   %ebp
43edb7:	8b ec                	mov    %esp,%ebp
43edb9:	83 ec 10             	sub    $0x10,%esp
43edbc:	53                   	push   %ebx
43edbd:	56                   	push   %esi
43edbe:	8b 75 0c             	mov    0xc(%ebp),%esi
43edc1:	33 db                	xor    %ebx,%ebx
43edc3:	57                   	push   %edi
43edc4:	8b 7d 10             	mov    0x10(%ebp),%edi
43edc7:	3b f3                	cmp    %ebx,%esi
43edc9:	75 11                	jne    0x43eddc
43edcb:	3b fb                	cmp    %ebx,%edi
43edcd:	76 0d                	jbe    0x43eddc
43edcf:	8b 45 08             	mov    0x8(%ebp),%eax
43edd2:	3b c3                	cmp    %ebx,%eax
43edd4:	74 02                	je     0x43edd8
43edd6:	89 18                	mov    %ebx,(%eax)