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
43ad28:	83 c4 0c             	add    $0xc,%esp
43ad2b:	83 f8 ff             	cmp    $0xffffffff,%eax
43ad2e:	74 36                	je     0x43ad66
43ad30:	99                   	cltd
43ad31:	2b f0                	sub    %eax,%esi
43ad33:	1b fa                	sbb    %edx,%edi
43ad35:	78 06                	js     0x43ad3d
43ad37:	7f d3                	jg     0x43ad0c
43ad39:	85 f6                	test   %esi,%esi
43ad3b:	75 cf                	jne    0x43ad0c
43ad3d:	8b 75 f0             	mov    -0x10(%ebp),%esi
43ad40:	ff 75 f8             	push   -0x8(%ebp)
43ad43:	ff 75 08             	push   0x8(%ebp)
43ad46:	e8 d4 01 00 00       	call   0x43af1f
43ad4b:	59                   	pop    %ecx
43ad4c:	59                   	pop    %ecx
43ad4d:	ff 75 fc             	push   -0x4(%ebp)
43ad50:	6a 00                	push   $0x0
43ad52:	ff 15 cc 34 47 00    	call   *0x4734cc
43ad58:	50                   	push   %eax
43ad59:	ff 15 c4 34 47 00    	call   *0x4734c4
43ad5f:	33 db                	xor    %ebx,%ebx
43ad61:	e9 86 00 00 00       	jmp    0x43adec
43ad66:	e8 50 9c ff ff       	call   0x4349bb
43ad6b:	83 38 05             	cmpl   $0x5,(%eax)
43ad6e:	75 0b                	jne    0x43ad7b
43ad70:	e8 33 9c ff ff       	call   0x4349a8
43ad75:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
43ad7b:	83 ce ff             	or     $0xffffffff,%esi
43ad7e:	89 75 f4             	mov    %esi,-0xc(%ebp)
43ad81:	eb bd                	jmp    0x43ad40
43ad83:	3b fb                	cmp    %ebx,%edi
43ad85:	7f 71                	jg     0x43adf8
43ad87:	7c 04                	jl     0x43ad8d
43ad89:	3b f3                	cmp    %ebx,%esi
43ad8b:	73 6b                	jae    0x43adf8
43ad8d:	53                   	push   %ebx
43ad8e:	ff 75 10             	push   0x10(%ebp)
43ad91:	ff 75 0c             	push   0xc(%ebp)
43ad94:	ff 75 08             	push   0x8(%ebp)
43ad97:	e8 12 fc ff ff       	call   0x43a9ae
43ad9c:	23 c2                	and    %edx,%eax
43ad9e:	83 c4 10             	add    $0x10,%esp
43ada1:	83 f8 ff             	cmp    $0xffffffff,%eax
43ada4:	0f 84 44 ff ff ff    	je     0x43acee
43adaa:	ff 75 08             	push   0x8(%ebp)
43adad:	e8 1e f8 ff ff       	call   0x43a5d0
43adb2:	59                   	pop    %ecx
43adb3:	50                   	push   %eax
43adb4:	ff 15 b0 35 47 00    	call   *0x4735b0
43adba:	f7 d8                	neg    %eax
43adbc:	1b c0                	sbb    %eax,%eax
43adbe:	f7 d8                	neg    %eax
43adc0:	48                   	dec    %eax
43adc1:	99                   	cltd
43adc2:	89 45 f0             	mov    %eax,-0x10(%ebp)
43adc5:	23 c2                	and    %edx,%eax
43adc7:	89 55 f4             	mov    %edx,-0xc(%ebp)
43adca:	83 f8 ff             	cmp    $0xffffffff,%eax
43adcd:	75 29                	jne    0x43adf8
43adcf:	e8 d4 9b ff ff       	call   0x4349a8
43add4:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
43adda:	e8 dc 9b ff ff       	call   0x4349bb
43addf:	8b f0                	mov    %eax,%esi
43ade1:	ff 15 24 34 47 00    	call   *0x473424
43ade7:	89 06                	mov    %eax,(%esi)
43ade9:	8b 75 f0             	mov    -0x10(%ebp),%esi
43adec:	23 75 f4             	and    -0xc(%ebp),%esi
43adef:	83 fe ff             	cmp    $0xffffffff,%esi
43adf2:	0f 84 f6 fe ff ff    	je     0x43acee
43adf8:	53                   	push   %ebx
43adf9:	ff 75 ec             	push   -0x14(%ebp)
43adfc:	ff 75 e8             	push   -0x18(%ebp)
43adff:	ff 75 08             	push   0x8(%ebp)
43ae02:	e8 a7 fb ff ff       	call   0x43a9ae
43ae07:	23 c2                	and    %edx,%eax
43ae09:	83 c4 10             	add    $0x10,%esp
43ae0c:	83 f8 ff             	cmp    $0xffffffff,%eax
43ae0f:	0f 84 d9 fe ff ff    	je     0x43acee
43ae15:	33 c0                	xor    %eax,%eax
43ae17:	e9 d9 fe ff ff       	jmp    0x43acf5
43ae1c:	6a 10                	push   $0x10
43ae1e:	68 30 e0 46 00       	push   $0x46e030
43ae23:	e8 58 9f ff ff       	call   0x434d80
43ae28:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ae2b:	83 fb fe             	cmp    $0xfffffffe,%ebx
43ae2e:	75 10                	jne    0x43ae40
43ae30:	e8 86 9b ff ff       	call   0x4349bb
43ae35:	83 20 00             	andl   $0x0,(%eax)
43ae38:	6a 09                	push   $0x9
43ae3a:	58                   	pop    %eax
43ae3b:	e9 b2 00 00 00       	jmp    0x43aef2
43ae40:	85 db                	test   %ebx,%ebx
43ae42:	78 08                	js     0x43ae4c
43ae44:	3b 1d 2c 17 47 00    	cmp    0x47172c,%ebx
43ae4a:	72 1e                	jb     0x43ae6a
43ae4c:	e8 6a 9b ff ff       	call   0x4349bb
43ae51:	83 20 00             	andl   $0x0,(%eax)
43ae54:	e8 4f 9b ff ff       	call   0x4349a8
43ae59:	6a 09                	push   $0x9
43ae5b:	5e                   	pop    %esi
43ae5c:	89 30                	mov    %esi,(%eax)
43ae5e:	e8 0b 95 ff ff       	call   0x43436e
43ae63:	8b c6                	mov    %esi,%eax
43ae65:	e9 88 00 00 00       	jmp    0x43aef2
43ae6a:	8b c3                	mov    %ebx,%eax
43ae6c:	c1 f8 05             	sar    $0x5,%eax
43ae6f:	8d 3c 85 80 17 47 00 	lea    0x471780(,%eax,4),%edi
43ae76:	8b f3                	mov    %ebx,%esi
43ae78:	83 e6 1f             	and    $0x1f,%esi
43ae7b:	c1 e6 06             	shl    $0x6,%esi
43ae7e:	8b 07                	mov    (%edi),%eax
43ae80:	0f be 44 30 04       	movsbl 0x4(%eax,%esi,1),%eax
43ae85:	83 e0 01             	and    $0x1,%eax
43ae88:	74 c2                	je     0x43ae4c
43ae8a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43ae8e:	7f 1e                	jg     0x43aeae
43ae90:	7c 06                	jl     0x43ae98
43ae92:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43ae96:	73 16                	jae    0x43aeae
43ae98:	e8 1e 9b ff ff       	call   0x4349bb
43ae9d:	83 20 00             	andl   $0x0,(%eax)
43aea0:	e8 03 9b ff ff       	call   0x4349a8
43aea5:	6a 16                	push   $0x16
43aea7:	59                   	pop    %ecx
43aea8:	89 08                	mov    %ecx,(%eax)
43aeaa:	8b f1                	mov    %ecx,%esi
43aeac:	eb b0                	jmp    0x43ae5e
43aeae:	53                   	push   %ebx
43aeaf:	e8 85 f7 ff ff       	call   0x43a639
43aeb4:	59                   	pop    %ecx
43aeb5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43aeb9:	8b 07                	mov    (%edi),%eax
43aebb:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
43aec0:	74 14                	je     0x43aed6
43aec2:	ff 75 10             	push   0x10(%ebp)
43aec5:	ff 75 0c             	push   0xc(%ebp)
43aec8:	53                   	push   %ebx
43aec9:	e8 98 fd ff ff       	call   0x43ac66
43aece:	83 c4 0c             	add    $0xc,%esp
43aed1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43aed4:	eb 0d                	jmp    0x43aee3
43aed6:	e8 cd 9a ff ff       	call   0x4349a8
43aedb:	6a 09                	push   $0x9
43aedd:	5e                   	pop    %esi
43aede:	89 30                	mov    %esi,(%eax)
43aee0:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43aee3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43aeea:	e8 0c 00 00 00       	call   0x43aefb
43aeef:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43aef2:	e8 ce 9e ff ff       	call   0x434dc5
43aef7:	c3                   	ret
43aef8:	8b 5d 08             	mov    0x8(%ebp),%ebx
43aefb:	53                   	push   %ebx
43aefc:	e8 d7 f7 ff ff       	call   0x43a6d8
43af01:	59                   	pop    %ecx
43af02:	c3                   	ret
43af03:	8b ff                	mov    %edi,%edi
43af05:	55                   	push   %ebp
43af06:	8b ec                	mov    %esp,%ebp
43af08:	8b 45 0c             	mov    0xc(%ebp),%eax
43af0b:	99                   	cltd
43af0c:	52                   	push   %edx
43af0d:	50                   	push   %eax
43af0e:	ff 75 08             	push   0x8(%ebp)
43af11:	e8 06 ff ff ff       	call   0x43ae1c
43af16:	83 c4 0c             	add    $0xc,%esp
43af19:	f7 d8                	neg    %eax
43af1b:	1b c0                	sbb    %eax,%eax
43af1d:	5d                   	pop    %ebp
43af1e:	c3                   	ret
43af1f:	8b ff                	mov    %edi,%edi
43af21:	55                   	push   %ebp
43af22:	8b ec                	mov    %esp,%ebp
43af24:	53                   	push   %ebx