43a90d:	e8 96 a0 ff ff       	call   0x4349a8
43a912:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
43a918:	e8 9e a0 ff ff       	call   0x4349bb
43a91d:	89 38                	mov    %edi,(%eax)
43a91f:	eb c2                	jmp    0x43a8e3
43a921:	89 7d fc             	mov    %edi,-0x4(%ebp)
43a924:	ff 75 08             	push   0x8(%ebp)
43a927:	56                   	push   %esi
43a928:	e8 9c fb ff ff       	call   0x43a4c9
43a92d:	59                   	pop    %ecx
43a92e:	59                   	pop    %ecx
43a92f:	80 cb 01             	or     $0x1,%bl
43a932:	8b c6                	mov    %esi,%eax
43a934:	c1 f8 05             	sar    $0x5,%eax
43a937:	8d 0c 85 80 17 47 00 	lea    0x471780(,%eax,4),%ecx
43a93e:	8b c6                	mov    %esi,%eax
43a940:	83 e0 1f             	and    $0x1f,%eax
43a943:	c1 e0 06             	shl    $0x6,%eax
43a946:	8b 11                	mov    (%ecx),%edx
43a948:	88 5c 02 04          	mov    %bl,0x4(%edx,%eax,1)
43a94c:	8b 11                	mov    (%ecx),%edx
43a94e:	8d 54 02 24          	lea    0x24(%edx,%eax,1),%edx
43a952:	80 22 80             	andb   $0x80,(%edx)
43a955:	8b 09                	mov    (%ecx),%ecx
43a957:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
43a95b:	80 20 7f             	andb   $0x7f,(%eax)
43a95e:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
43a965:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a96c:	e8 15 00 00 00       	call   0x43a986
43a971:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
43a974:	0f 84 69 ff ff ff    	je     0x43a8e3
43a97a:	8b c6                	mov    %esi,%eax
43a97c:	e9 65 ff ff ff       	jmp    0x43a8e6
43a981:	8b 75 0c             	mov    0xc(%ebp),%esi
43a984:	33 ff                	xor    %edi,%edi
43a986:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
43a989:	75 1b                	jne    0x43a9a6
43a98b:	8b c6                	mov    %esi,%eax
43a98d:	c1 f8 05             	sar    $0x5,%eax
43a990:	8b ce                	mov    %esi,%ecx
43a992:	83 e1 1f             	and    $0x1f,%ecx
43a995:	c1 e1 06             	shl    $0x6,%ecx
43a998:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43a99f:	8d 44 08 04          	lea    0x4(%eax,%ecx,1),%eax
43a9a3:	80 20 fe             	andb   $0xfe,(%eax)
43a9a6:	56                   	push   %esi
43a9a7:	e8 2c fd ff ff       	call   0x43a6d8
43a9ac:	59                   	pop    %ecx
43a9ad:	c3                   	ret
43a9ae:	8b ff                	mov    %edi,%edi
43a9b0:	55                   	push   %ebp
43a9b1:	8b ec                	mov    %esp,%ebp
43a9b3:	51                   	push   %ecx
43a9b4:	51                   	push   %ecx
43a9b5:	8b 45 0c             	mov    0xc(%ebp),%eax
43a9b8:	56                   	push   %esi
43a9b9:	8b 75 08             	mov    0x8(%ebp),%esi
43a9bc:	89 45 f8             	mov    %eax,-0x8(%ebp)
43a9bf:	8b 45 10             	mov    0x10(%ebp),%eax
43a9c2:	57                   	push   %edi
43a9c3:	56                   	push   %esi
43a9c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a9c7:	e8 04 fc ff ff       	call   0x43a5d0
43a9cc:	83 cf ff             	or     $0xffffffff,%edi
43a9cf:	59                   	pop    %ecx
43a9d0:	3b c7                	cmp    %edi,%eax
43a9d2:	75 11                	jne    0x43a9e5
43a9d4:	e8 cf 9f ff ff       	call   0x4349a8
43a9d9:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43a9df:	8b c7                	mov    %edi,%eax
43a9e1:	8b d7                	mov    %edi,%edx
43a9e3:	eb 4a                	jmp    0x43aa2f
43a9e5:	ff 75 14             	push   0x14(%ebp)
43a9e8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43a9eb:	51                   	push   %ecx
43a9ec:	ff 75 f8             	push   -0x8(%ebp)
43a9ef:	50                   	push   %eax
43a9f0:	ff 15 ac 35 47 00    	call   *0x4735ac
43a9f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
43a9f9:	3b c7                	cmp    %edi,%eax
43a9fb:	75 13                	jne    0x43aa10
43a9fd:	ff 15 24 34 47 00    	call   *0x473424
43aa03:	85 c0                	test   %eax,%eax
43aa05:	74 09                	je     0x43aa10
43aa07:	50                   	push   %eax
43aa08:	e8 c1 9f ff ff       	call   0x4349ce
43aa0d:	59                   	pop    %ecx
43aa0e:	eb cf                	jmp    0x43a9df
43aa10:	8b c6                	mov    %esi,%eax
43aa12:	c1 f8 05             	sar    $0x5,%eax
43aa15:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43aa1c:	83 e6 1f             	and    $0x1f,%esi
43aa1f:	c1 e6 06             	shl    $0x6,%esi
43aa22:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
43aa26:	80 20 fd             	andb   $0xfd,(%eax)
43aa29:	8b 45 f8             	mov    -0x8(%ebp),%eax
43aa2c:	8b 55 fc             	mov    -0x4(%ebp),%edx
43aa2f:	5f                   	pop    %edi
43aa30:	5e                   	pop    %esi
43aa31:	c9                   	leave
43aa32:	c3                   	ret
43aa33:	6a 14                	push   $0x14
43aa35:	68 f0 df 46 00       	push   $0x46dff0
43aa3a:	e8 41 a3 ff ff       	call   0x434d80
43aa3f:	83 cb ff             	or     $0xffffffff,%ebx
43aa42:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43aa45:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43aa48:	8b 45 08             	mov    0x8(%ebp),%eax
43aa4b:	83 f8 fe             	cmp    $0xfffffffe,%eax
43aa4e:	75 1c                	jne    0x43aa6c
43aa50:	e8 66 9f ff ff       	call   0x4349bb
43aa55:	83 20 00             	andl   $0x0,(%eax)
43aa58:	e8 4b 9f ff ff       	call   0x4349a8
43aa5d:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43aa63:	8b c3                	mov    %ebx,%eax
43aa65:	8b d3                	mov    %ebx,%edx
43aa67:	e9 a1 00 00 00       	jmp    0x43ab0d
43aa6c:	85 c0                	test   %eax,%eax
43aa6e:	78 08                	js     0x43aa78
43aa70:	3b 05 2c 17 47 00    	cmp    0x47172c,%eax
43aa76:	72 1a                	jb     0x43aa92
43aa78:	e8 3e 9f ff ff       	call   0x4349bb
43aa7d:	83 20 00             	andl   $0x0,(%eax)
43aa80:	e8 23 9f ff ff       	call   0x4349a8
43aa85:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43aa8b:	e8 de 98 ff ff       	call   0x43436e
43aa90:	eb d1                	jmp    0x43aa63
43aa92:	8b c8                	mov    %eax,%ecx
43aa94:	c1 f9 05             	sar    $0x5,%ecx
43aa97:	8d 3c 8d 80 17 47 00 	lea    0x471780(,%ecx,4),%edi
43aa9e:	8b f0                	mov    %eax,%esi
43aaa0:	83 e6 1f             	and    $0x1f,%esi
43aaa3:	c1 e6 06             	shl    $0x6,%esi
43aaa6:	8b 0f                	mov    (%edi),%ecx
43aaa8:	0f be 4c 31 04       	movsbl 0x4(%ecx,%esi,1),%ecx
43aaad:	83 e1 01             	and    $0x1,%ecx
43aab0:	74 c6                	je     0x43aa78
43aab2:	50                   	push   %eax
43aab3:	e8 81 fb ff ff       	call   0x43a639
43aab8:	59                   	pop    %ecx
43aab9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43aabd:	8b 07                	mov    (%edi),%eax
43aabf:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
43aac4:	74 1c                	je     0x43aae2
43aac6:	ff 75 14             	push   0x14(%ebp)
43aac9:	ff 75 10             	push   0x10(%ebp)
43aacc:	ff 75 0c             	push   0xc(%ebp)
43aacf:	ff 75 08             	push   0x8(%ebp)
43aad2:	e8 d7 fe ff ff       	call   0x43a9ae
43aad7:	83 c4 10             	add    $0x10,%esp
43aada:	89 45 dc             	mov    %eax,-0x24(%ebp)
43aadd:	89 55 e0             	mov    %edx,-0x20(%ebp)
43aae0:	eb 19                	jmp    0x43aafb
43aae2:	e8 c1 9e ff ff       	call   0x4349a8
43aae7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43aaed:	e8 c9 9e ff ff       	call   0x4349bb
43aaf2:	83 20 00             	andl   $0x0,(%eax)
43aaf5:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43aaf8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43aafb:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43ab02:	e8 0c 00 00 00       	call   0x43ab13
43ab07:	8b 45 dc             	mov    -0x24(%ebp),%eax
43ab0a:	8b 55 e0             	mov    -0x20(%ebp),%edx
43ab0d:	e8 b3 a2 ff ff       	call   0x434dc5
43ab12:	c3                   	ret
43ab13:	ff 75 08             	push   0x8(%ebp)
43ab16:	e8 bd fb ff ff       	call   0x43a6d8
43ab1b:	59                   	pop    %ecx
43ab1c:	c3                   	ret
43ab1d:	8b ff                	mov    %edi,%edi
43ab1f:	55                   	push   %ebp
43ab20:	8b ec                	mov    %esp,%ebp
43ab22:	56                   	push   %esi
43ab23:	8b 75 08             	mov    0x8(%ebp),%esi
43ab26:	56                   	push   %esi
43ab27:	e8 a4 fa ff ff       	call   0x43a5d0
43ab2c:	59                   	pop    %ecx
43ab2d:	83 f8 ff             	cmp    $0xffffffff,%eax
43ab30:	75 10                	jne    0x43ab42
43ab32:	e8 71 9e ff ff       	call   0x4349a8
43ab37:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43ab3d:	83 c8 ff             	or     $0xffffffff,%eax
43ab40:	eb 4d                	jmp    0x43ab8f
43ab42:	57                   	push   %edi
43ab43:	ff 75 10             	push   0x10(%ebp)
43ab46:	6a 00                	push   $0x0
43ab48:	ff 75 0c             	push   0xc(%ebp)
43ab4b:	50                   	push   %eax
43ab4c:	ff 15 ac 35 47 00    	call   *0x4735ac
43ab52:	8b f8                	mov    %eax,%edi
43ab54:	83 ff ff             	cmp    $0xffffffff,%edi
43ab57:	75 08                	jne    0x43ab61
43ab59:	ff 15 24 34 47 00    	call   *0x473424
43ab5f:	eb 02                	jmp    0x43ab63
43ab61:	33 c0                	xor    %eax,%eax
43ab63:	85 c0                	test   %eax,%eax
43ab65:	74 0c                	je     0x43ab73
43ab67:	50                   	push   %eax
43ab68:	e8 61 9e ff ff       	call   0x4349ce
43ab6d:	59                   	pop    %ecx
43ab6e:	83 c8 ff             	or     $0xffffffff,%eax
43ab71:	eb 1b                	jmp    0x43ab8e
43ab73:	8b c6                	mov    %esi,%eax
43ab75:	c1 f8 05             	sar    $0x5,%eax
43ab78:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43ab7f:	83 e6 1f             	and    $0x1f,%esi
43ab82:	c1 e6 06             	shl    $0x6,%esi
43ab85:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
43ab89:	80 20 fd             	andb   $0xfd,(%eax)
43ab8c:	8b c7                	mov    %edi,%eax
43ab8e:	5f                   	pop    %edi
43ab8f:	5e                   	pop    %esi
43ab90:	5d                   	pop    %ebp
43ab91:	c3                   	ret
43ab92:	6a 10                	push   $0x10
43ab94:	68 10 e0 46 00       	push   $0x46e010
43ab99:	e8 e2 a1 ff ff       	call   0x434d80
43ab9e:	8b 5d 08             	mov    0x8(%ebp),%ebx
43aba1:	83 fb fe             	cmp    $0xfffffffe,%ebx
43aba4:	75 1b                	jne    0x43abc1
43aba6:	e8 10 9e ff ff       	call   0x4349bb
43abab:	83 20 00             	andl   $0x0,(%eax)
43abae:	e8 f5 9d ff ff       	call   0x4349a8
43abb3:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43abb9:	83 c8 ff             	or     $0xffffffff,%eax
43abbc:	e9 94 00 00 00       	jmp    0x43ac55
43abc1:	85 db                	test   %ebx,%ebx
43abc3:	78 08                	js     0x43abcd
43abc5:	3b 1d 2c 17 47 00    	cmp    0x47172c,%ebx
43abcb:	72 1a                	jb     0x43abe7
43abcd:	e8 e9 9d ff ff       	call   0x4349bb
43abd2:	83 20 00             	andl   $0x0,(%eax)
43abd5:	e8 ce 9d ff ff       	call   0x4349a8
43abda:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43abe0:	e8 89 97 ff ff       	call   0x43436e
43abe5:	eb d2                	jmp    0x43abb9
43abe7:	8b c3                	mov    %ebx,%eax
43abe9:	c1 f8 05             	sar    $0x5,%eax
43abec:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
43abf3:	8b f3                	mov    %ebx,%esi
43abf5:	83 e6 1f             	and    $0x1f,%esi
43abf8:	c1 e6 06             	shl    $0x6,%esi
43abfb:	8b 07                	mov    (%edi),%eax
43abfd:	0f be 44 30 04       	movsbl 0x4(%eax,%esi,1),%eax
43ac02:	83 e0 01             	and    $0x1,%eax
43ac05:	74 c6                	je     0x43abcd
43ac07:	53                   	push   %ebx
43ac08:	e8 2c fa ff ff       	call   0x43a639
43ac0d:	59                   	pop    %ecx
43ac0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43ac12:	8b 07                	mov    (%edi),%eax
43ac14:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
43ac19:	74 14                	je     0x43ac2f
43ac1b:	ff 75 10             	push   0x10(%ebp)
43ac1e:	ff 75 0c             	push   0xc(%ebp)
43ac21:	53                   	push   %ebx
43ac22:	e8 f6 fe ff ff       	call   0x43ab1d
43ac27:	83 c4 0c             	add    $0xc,%esp
43ac2a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43ac2d:	eb 17                	jmp    0x43ac46
43ac2f:	e8 74 9d ff ff       	call   0x4349a8
43ac34:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43ac3a:	e8 7c 9d ff ff       	call   0x4349bb
43ac3f:	83 20 00             	andl   $0x0,(%eax)
43ac42:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
43ac46:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43ac4d:	e8 0c 00 00 00       	call   0x43ac5e
43ac52:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43ac55:	e8 6b a1 ff ff       	call   0x434dc5
43ac5a:	c3                   	ret
43ac5b:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ac5e:	53                   	push   %ebx
43ac5f:	e8 74 fa ff ff       	call   0x43a6d8
43ac64:	59                   	pop    %ecx
43ac65:	c3                   	ret
43ac66:	8b ff                	mov    %edi,%edi
43ac68:	55                   	push   %ebp
43ac69:	8b ec                	mov    %esp,%ebp
43ac6b:	83 ec 18             	sub    $0x18,%esp
43ac6e:	53                   	push   %ebx
43ac6f:	56                   	push   %esi
43ac70:	57                   	push   %edi
43ac71:	33 db                	xor    %ebx,%ebx
43ac73:	6a 01                	push   $0x1
43ac75:	53                   	push   %ebx
43ac76:	53                   	push   %ebx
43ac77:	ff 75 08             	push   0x8(%ebp)
43ac7a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43ac7d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
43ac80:	e8 29 fd ff ff       	call   0x43a9ae
43ac85:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ac88:	23 c2                	and    %edx,%eax
43ac8a:	83 c4 10             	add    $0x10,%esp
43ac8d:	89 55 ec             	mov    %edx,-0x14(%ebp)
43ac90:	83 f8 ff             	cmp    $0xffffffff,%eax
43ac93:	74 59                	je     0x43acee
43ac95:	6a 02                	push   $0x2
43ac97:	53                   	push   %ebx
43ac98:	53                   	push   %ebx
43ac99:	ff 75 08             	push   0x8(%ebp)
43ac9c:	e8 0d fd ff ff       	call   0x43a9ae
43aca1:	8b c8                	mov    %eax,%ecx
43aca3:	23 ca                	and    %edx,%ecx
43aca5:	83 c4 10             	add    $0x10,%esp
43aca8:	83 f9 ff             	cmp    $0xffffffff,%ecx
43acab:	74 41                	je     0x43acee
43acad:	8b 75 0c             	mov    0xc(%ebp),%esi
43acb0:	8b 7d 10             	mov    0x10(%ebp),%edi
43acb3:	2b f0                	sub    %eax,%esi
43acb5:	1b fa                	sbb    %edx,%edi
43acb7:	0f 88 c6 00 00 00    	js     0x43ad83
43acbd:	7f 08                	jg     0x43acc7
43acbf:	3b f3                	cmp    %ebx,%esi
43acc1:	0f 86 bc 00 00 00    	jbe    0x43ad83
43acc7:	bb 00 10 00 00       	mov    $0x1000,%ebx
43accc:	53                   	push   %ebx
43accd:	6a 08                	push   $0x8
43accf:	ff 15 cc 34 47 00    	call   *0x4734cc
43acd5:	50                   	push   %eax
43acd6:	ff 15 c8 34 47 00    	call   *0x4734c8
43acdc:	89 45 fc             	mov    %eax,-0x4(%ebp)
43acdf:	85 c0                	test   %eax,%eax
43ace1:	75 17                	jne    0x43acfa
43ace3:	e8 c0 9c ff ff       	call   0x4349a8
43ace8:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
43acee:	e8 b5 9c ff ff       	call   0x4349a8
43acf3:	8b 00                	mov    (%eax),%eax
43acf5:	5f                   	pop    %edi
43acf6:	5e                   	pop    %esi
43acf7:	5b                   	pop    %ebx
43acf8:	c9                   	leave
43acf9:	c3                   	ret
43acfa:	68 00 80 00 00       	push   $0x8000
43acff:	ff 75 08             	push   0x8(%ebp)
43ad02:	e8 18 02 00 00       	call   0x43af1f
43ad07:	59                   	pop    %ecx
43ad08:	59                   	pop    %ecx
43ad09:	89 45 f8             	mov    %eax,-0x8(%ebp)
43ad0c:	85 ff                	test   %edi,%edi
43ad0e:	7c 0a                	jl     0x43ad1a
43ad10:	7f 04                	jg     0x43ad16
43ad12:	3b f3                	cmp    %ebx,%esi
43ad14:	72 04                	jb     0x43ad1a
43ad16:	8b c3                	mov    %ebx,%eax
43ad18:	eb 02                	jmp    0x43ad1c
43ad1a:	8b c6                	mov    %esi,%eax
43ad1c:	50                   	push   %eax
43ad1d:	ff 75 fc             	push   -0x4(%ebp)
43ad20:	ff 75 08             	push   0x8(%ebp)
43ad23:	e8 c0 e8 ff ff       	call   0x4395e8