43a8c5:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
43a8cb:	0b c1                	or     %ecx,%eax
43a8cd:	75 14                	jne    0x43a8e3
43a8cf:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
43a8d5:	68 3c 34 46 00       	push   $0x46343c
43a8da:	83 60 04 00          	andl   $0x0,0x4(%eax)
43a8de:	e9 d3 12 00 00       	jmp    0x43bbb6
43a8e3:	8d 45 08             	lea    0x8(%ebp),%eax
43a8e6:	50                   	push   %eax
43a8e7:	e8 00 c1 ff ff       	call   0x4369ec
43a8ec:	59                   	pop    %ecx
43a8ed:	85 c0                	test   %eax,%eax
43a8ef:	74 0d                	je     0x43a8fe
43a8f1:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
43a8f7:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
43a8fe:	83 e8 01             	sub    $0x1,%eax
43a901:	0f 84 aa 12 00 00    	je     0x43bbb1
43a907:	83 e8 01             	sub    $0x1,%eax
43a90a:	0f 84 9a 12 00 00    	je     0x43bbaa
43a910:	83 e8 01             	sub    $0x1,%eax
43a913:	0f 84 8a 12 00 00    	je     0x43bba3
43a919:	83 e8 01             	sub    $0x1,%eax
43a91c:	0f 84 7a 12 00 00    	je     0x43bb9c
43a922:	8b 45 10             	mov    0x10(%ebp),%eax
43a925:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
43a92b:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
43a932:	40                   	inc    %eax
43a933:	89 7d 08             	mov    %edi,0x8(%ebp)
43a936:	89 75 0c             	mov    %esi,0xc(%ebp)
43a939:	dd 45 08             	fldl   0x8(%ebp)
43a93c:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
43a942:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
43a948:	8b cf                	mov    %edi,%ecx
43a94a:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
43a950:	c1 e9 14             	shr    $0x14,%ecx
43a953:	8b c1                	mov    %ecx,%eax
43a955:	25 ff 07 00 00       	and    $0x7ff,%eax
43a95a:	83 c8 00             	or     $0x0,%eax
43a95d:	75 06                	jne    0x43a965
43a95f:	b2 01                	mov    $0x1,%dl
43a961:	33 f6                	xor    %esi,%esi
43a963:	eb 09                	jmp    0x43a96e
43a965:	32 d2                	xor    %dl,%dl
43a967:	be 00 00 10 00       	mov    $0x100000,%esi
43a96c:	33 c0                	xor    %eax,%eax
43a96e:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
43a974:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
43a97a:	03 d8                	add    %eax,%ebx
43a97c:	13 fe                	adc    %esi,%edi
43a97e:	33 c0                	xor    %eax,%eax
43a980:	84 d2                	test   %dl,%dl
43a982:	0f 95 c0             	setne  %al
43a985:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
43a98b:	40                   	inc    %eax
43a98c:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
43a992:	03 f0                	add    %eax,%esi
43a994:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
43a99a:	e8 f1 1d 00 00       	call   0x43c790
43a99f:	51                   	push   %ecx
43a9a0:	51                   	push   %ecx
43a9a1:	dd 1c 24             	fstpl  (%esp)
43a9a4:	e8 f7 1e 00 00       	call   0x43c8a0
43a9a9:	59                   	pop    %ecx
43a9aa:	59                   	pop    %ecx
43a9ab:	e8 90 f4 00 00       	call   0x449e40
43a9b0:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
43a9b6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
43a9bb:	74 07                	je     0x43a9c4
43a9bd:	3d 00 00 00 80       	cmp    $0x80000000,%eax
43a9c2:	75 08                	jne    0x43a9cc
43a9c4:	33 c0                	xor    %eax,%eax
43a9c6:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
43a9cc:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
43a9d2:	33 db                	xor    %ebx,%ebx
43a9d4:	85 ff                	test   %edi,%edi
43a9d6:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
43a9dc:	0f 95 c3             	setne  %bl
43a9df:	43                   	inc    %ebx
43a9e0:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
43a9e6:	85 f6                	test   %esi,%esi
43a9e8:	0f 88 ed 03 00 00    	js     0x43addb
43a9ee:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
43a9f5:	6a 02                	push   $0x2
43a9f7:	5e                   	pop    %esi
43a9f8:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
43a9ff:	00 10 00
43aa02:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
43aa08:	3b de                	cmp    %esi,%ebx
43aa0a:	0f 85 00 02 00 00    	jne    0x43ac10
43aa10:	33 c9                	xor    %ecx,%ecx
43aa12:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
43aa19:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
43aa20:	0f 85 ea 01 00 00    	jne    0x43ac10
43aa26:	83 c1 04             	add    $0x4,%ecx
43aa29:	83 f9 08             	cmp    $0x8,%ecx
43aa2c:	75 e4                	jne    0x43aa12
43aa2e:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
43aa34:	33 d2                	xor    %edx,%edx
43aa36:	83 c0 02             	add    $0x2,%eax
43aa39:	8b f0                	mov    %eax,%esi
43aa3b:	83 e0 1f             	and    $0x1f,%eax
43aa3e:	6a 20                	push   $0x20
43aa40:	59                   	pop    %ecx
43aa41:	2b c8                	sub    %eax,%ecx
43aa43:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
43aa49:	33 c0                	xor    %eax,%eax
43aa4b:	c1 ee 05             	shr    $0x5,%esi
43aa4e:	40                   	inc    %eax
43aa4f:	89 b5 b0 f8 ff ff    	mov    %esi,-0x750(%ebp)
43aa55:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
43aa5b:	e8 c0 f3 00 00       	call   0x449e20
43aa60:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
43aa67:	48                   	dec    %eax
43aa68:	0f bd cf             	bsr    %edi,%ecx
43aa6b:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
43aa71:	f7 d0                	not    %eax
43aa73:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
43aa79:	74 03                	je     0x43aa7e
43aa7b:	41                   	inc    %ecx
43aa7c:	eb 02                	jmp    0x43aa80
43aa7e:	33 c9                	xor    %ecx,%ecx
43aa80:	6a 20                	push   $0x20
43aa82:	58                   	pop    %eax
43aa83:	2b c1                	sub    %ecx,%eax
43aa85:	8d 56 02             	lea    0x2(%esi),%edx
43aa88:	39 85 a4 f8 ff ff    	cmp    %eax,-0x75c(%ebp)
43aa8e:	89 95 ac f8 ff ff    	mov    %edx,-0x754(%ebp)
43aa94:	0f 97 c0             	seta   %al
43aa97:	83 fa 73             	cmp    $0x73,%edx
43aa9a:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
43aaa0:	0f 97 c1             	seta   %cl
43aaa3:	83 fa 73             	cmp    $0x73,%edx
43aaa6:	75 08                	jne    0x43aab0
43aaa8:	84 c0                	test   %al,%al
43aaaa:	74 04                	je     0x43aab0
43aaac:	b0 01                	mov    $0x1,%al
43aaae:	eb 02                	jmp    0x43aab2
43aab0:	32 c0                	xor    %al,%al
43aab2:	84 c9                	test   %cl,%cl
43aab4:	0f 85 ef 00 00 00    	jne    0x43aba9
43aaba:	84 c0                	test   %al,%al
43aabc:	0f 85 e7 00 00 00    	jne    0x43aba9
43aac2:	6a 72                	push   $0x72
43aac4:	59                   	pop    %ecx
43aac5:	3b d1                	cmp    %ecx,%edx
43aac7:	72 08                	jb     0x43aad1
43aac9:	8b d1                	mov    %ecx,%edx
43aacb:	89 8d ac f8 ff ff    	mov    %ecx,-0x754(%ebp)
43aad1:	8b ca                	mov    %edx,%ecx
43aad3:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
43aad9:	83 fa ff             	cmp    $0xffffffff,%edx
43aadc:	0f 84 96 00 00 00    	je     0x43ab78
43aae2:	8b f2                	mov    %edx,%esi
43aae4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
43aaea:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
43aaf0:	2b f2                	sub    %edx,%esi
43aaf2:	8d 04 b0             	lea    (%eax,%esi,4),%eax
43aaf5:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
43aafb:	3b ca                	cmp    %edx,%ecx
43aafd:	72 6d                	jb     0x43ab6c
43aaff:	3b f3                	cmp    %ebx,%esi
43ab01:	73 04                	jae    0x43ab07
43ab03:	8b 38                	mov    (%eax),%edi
43ab05:	eb 02                	jmp    0x43ab09
43ab07:	33 ff                	xor    %edi,%edi
43ab09:	8d 46 ff             	lea    -0x1(%esi),%eax
43ab0c:	3b c3                	cmp    %ebx,%eax
43ab0e:	73 0b                	jae    0x43ab1b
43ab10:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
43ab16:	8b 40 fc             	mov    -0x4(%eax),%eax
43ab19:	eb 02                	jmp    0x43ab1d
43ab1b:	33 c0                	xor    %eax,%eax
43ab1d:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
43ab23:	23 bd a8 f8 ff ff    	and    -0x758(%ebp),%edi
43ab29:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
43ab2f:	d3 e8                	shr    %cl,%eax
43ab31:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
43ab37:	d3 e7                	shl    %cl,%edi
43ab39:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
43ab3f:	0b c7                	or     %edi,%eax
43ab41:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
43ab48:	49                   	dec    %ecx
43ab49:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
43ab4f:	4e                   	dec    %esi
43ab50:	83 e8 04             	sub    $0x4,%eax
43ab53:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
43ab59:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
43ab5f:	83 f9 ff             	cmp    $0xffffffff,%ecx
43ab62:	74 08                	je     0x43ab6c
43ab64:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
43ab6a:	eb 8f                	jmp    0x43aafb
43ab6c:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
43ab72:	8b b5 b0 f8 ff ff    	mov    -0x750(%ebp),%esi
43ab78:	85 f6                	test   %esi,%esi
43ab7a:	74 0c                	je     0x43ab88
43ab7c:	8b ce                	mov    %esi,%ecx
43ab7e:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
43ab84:	33 c0                	xor    %eax,%eax
43ab86:	f3 ab                	rep stos %eax,%es:(%edi)
43ab88:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
43ab8f:	bb cc 01 00 00       	mov    $0x1cc,%ebx
43ab94:	74 0b                	je     0x43aba1
43ab96:	8d 42 01             	lea    0x1(%edx),%eax
43ab99:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
43ab9f:	eb 33                	jmp    0x43abd4
43aba1:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
43aba7:	eb 2b                	jmp    0x43abd4
43aba9:	33 c0                	xor    %eax,%eax
43abab:	bb cc 01 00 00       	mov    $0x1cc,%ebx
43abb0:	50                   	push   %eax
43abb1:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
43abb7:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
43abbd:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43abc3:	50                   	push   %eax
43abc4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
43abca:	53                   	push   %ebx
43abcb:	50                   	push   %eax
43abcc:	e8 29 10 00 00       	call   0x43bbfa
43abd1:	83 c4 10             	add    $0x10,%esp
43abd4:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
43abdb:	33 c9                	xor    %ecx,%ecx
43abdd:	6a 04                	push   $0x4
43abdf:	58                   	pop    %eax
43abe0:	41                   	inc    %ecx
43abe1:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
43abe7:	89 8d 8c fa ff ff    	mov    %ecx,-0x574(%ebp)
43abed:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
43abf3:	50                   	push   %eax
43abf4:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43abfa:	50                   	push   %eax
43abfb:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
43ac01:	53                   	push   %ebx
43ac02:	50                   	push   %eax
43ac03:	e8 f2 0f 00 00       	call   0x43bbfa
43ac08:	83 c4 10             	add    $0x10,%esp
43ac0b:	e9 5c 04 00 00       	jmp    0x43b06c
43ac10:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
43ac16:	33 d2                	xor    %edx,%edx
43ac18:	40                   	inc    %eax
43ac19:	8b f8                	mov    %eax,%edi
43ac1b:	83 e0 1f             	and    $0x1f,%eax
43ac1e:	6a 20                	push   $0x20
43ac20:	59                   	pop    %ecx
43ac21:	2b c8                	sub    %eax,%ecx
43ac23:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
43ac29:	33 c0                	xor    %eax,%eax
43ac2b:	c1 ef 05             	shr    $0x5,%edi
43ac2e:	40                   	inc    %eax
43ac2f:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
43ac35:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
43ac3b:	e8 e0 f1 00 00       	call   0x449e20
43ac40:	8b 8c 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%ecx
43ac47:	48                   	dec    %eax
43ac48:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
43ac4f:	0f bd c9             	bsr    %ecx,%ecx
43ac52:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
43ac58:	f7 d0                	not    %eax
43ac5a:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
43ac60:	74 03                	je     0x43ac65
43ac62:	41                   	inc    %ecx
43ac63:	eb 02                	jmp    0x43ac67
43ac65:	33 c9                	xor    %ecx,%ecx
43ac67:	6a 20                	push   $0x20
43ac69:	58                   	pop    %eax
43ac6a:	2b c1                	sub    %ecx,%eax
43ac6c:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
43ac6f:	39 85 b0 f8 ff ff    	cmp    %eax,-0x750(%ebp)
43ac75:	89 95 a0 f8 ff ff    	mov    %edx,-0x760(%ebp)
43ac7b:	0f 97 c0             	seta   %al
43ac7e:	83 fa 73             	cmp    $0x73,%edx
43ac81:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
43ac87:	0f 97 c1             	seta   %cl
43ac8a:	83 fa 73             	cmp    $0x73,%edx
43ac8d:	75 08                	jne    0x43ac97
43ac8f:	84 c0                	test   %al,%al
43ac91:	74 04                	je     0x43ac97
43ac93:	b0 01                	mov    $0x1,%al
43ac95:	eb 02                	jmp    0x43ac99
43ac97:	32 c0                	xor    %al,%al
43ac99:	84 c9                	test   %cl,%cl
43ac9b:	0f 85 ec 00 00 00    	jne    0x43ad8d
43aca1:	84 c0                	test   %al,%al
43aca3:	0f 85 e4 00 00 00    	jne    0x43ad8d
43aca9:	6a 72                	push   $0x72
43acab:	59                   	pop    %ecx
43acac:	3b d1                	cmp    %ecx,%edx
43acae:	72 08                	jb     0x43acb8
43acb0:	8b d1                	mov    %ecx,%edx
43acb2:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
43acb8:	8b c2                	mov    %edx,%eax
43acba:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
43acc0:	83 fa ff             	cmp    $0xffffffff,%edx
43acc3:	0f 84 93 00 00 00    	je     0x43ad5c
43acc9:	8b f2                	mov    %edx,%esi
43accb:	8d 8d 30 fe ff ff    	lea    -0x1d0(%ebp),%ecx
43acd1:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
43acd7:	2b f2                	sub    %edx,%esi
43acd9:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
43acdc:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
43ace2:	3b c2                	cmp    %edx,%eax
43ace4:	72 67                	jb     0x43ad4d
43ace6:	3b f3                	cmp    %ebx,%esi
43ace8:	73 04                	jae    0x43acee
43acea:	8b 39                	mov    (%ecx),%edi
43acec:	eb 02                	jmp    0x43acf0
43acee:	33 ff                	xor    %edi,%edi
43acf0:	8d 46 ff             	lea    -0x1(%esi),%eax
43acf3:	3b c3                	cmp    %ebx,%eax
43acf5:	73 05                	jae    0x43acfc
43acf7:	8b 41 fc             	mov    -0x4(%ecx),%eax
43acfa:	eb 02                	jmp    0x43acfe
43acfc:	33 c0                	xor    %eax,%eax
43acfe:	23 bd a8 f8 ff ff    	and    -0x758(%ebp),%edi
43ad04:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
43ad0a:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
43ad10:	d3 e7                	shl    %cl,%edi
43ad12:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
43ad18:	d3 e8                	shr    %cl,%eax
43ad1a:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
43ad20:	0b f8                	or     %eax,%edi
43ad22:	8b 85 ac f8 ff ff    	mov    -0x754(%ebp),%eax
43ad28:	83 e9 04             	sub    $0x4,%ecx
43ad2b:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
43ad31:	89 bc 85 30 fe ff ff 	mov    %edi,-0x1d0(%ebp,%eax,4)
43ad38:	48                   	dec    %eax
43ad39:	4e                   	dec    %esi
43ad3a:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
43ad40:	83 f8 ff             	cmp    $0xffffffff,%eax
43ad43:	74 08                	je     0x43ad4d
43ad45:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
43ad4b:	eb 95                	jmp    0x43ace2
43ad4d:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
43ad53:	8b bd b4 f8 ff ff    	mov    -0x74c(%ebp),%edi
43ad59:	6a 02                	push   $0x2
43ad5b:	5e                   	pop    %esi
43ad5c:	85 ff                	test   %edi,%edi
43ad5e:	74 0c                	je     0x43ad6c
43ad60:	8b cf                	mov    %edi,%ecx
43ad62:	33 c0                	xor    %eax,%eax
43ad64:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
43ad6a:	f3 ab                	rep stos %eax,%es:(%edi)
43ad6c:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
43ad73:	bb cc 01 00 00       	mov    $0x1cc,%ebx
43ad78:	74 0b                	je     0x43ad85
43ad7a:	8d 42 01             	lea    0x1(%edx),%eax
43ad7d:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
43ad83:	eb 33                	jmp    0x43adb8
43ad85:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
43ad8b:	eb 2b                	jmp    0x43adb8
43ad8d:	33 c0                	xor    %eax,%eax