4148fc:	74 25                	je     0x414923
4148fe:	8b 07                	mov    (%edi),%eax
414900:	90                   	nop
414901:	c1 e8 06             	shr    $0x6,%eax
414904:	a8 01                	test   $0x1,%al
414906:	74 1b                	je     0x414923
414908:	ff 76 04             	push   0x4(%esi)
41490b:	e8 33 a4 ff ff       	call   0x40ed43
414910:	59                   	pop    %ecx
414911:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
414916:	f0 21 07             	lock and %eax,(%edi)
414919:	33 c0                	xor    %eax,%eax
41491b:	89 46 04             	mov    %eax,0x4(%esi)
41491e:	89 06                	mov    %eax,(%esi)
414920:	89 46 08             	mov    %eax,0x8(%esi)
414923:	5f                   	pop    %edi
414924:	5e                   	pop    %esi
414925:	5d                   	pop    %ebp
414926:	c3                   	ret
414927:	8b ff                	mov    %edi,%edi
414929:	55                   	push   %ebp
41492a:	8b ec                	mov    %esp,%ebp
41492c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41492f:	83 f9 fe             	cmp    $0xfffffffe,%ecx
414932:	75 0d                	jne    0x414941
414934:	e8 9a a3 ff ff       	call   0x40ecd3
414939:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41493f:	eb 38                	jmp    0x414979
414941:	85 c9                	test   %ecx,%ecx
414943:	78 24                	js     0x414969
414945:	3b 0d 18 72 42 00    	cmp    0x427218,%ecx
41494b:	73 1c                	jae    0x414969
41494d:	8b c1                	mov    %ecx,%eax
41494f:	83 e1 3f             	and    $0x3f,%ecx
414952:	c1 f8 06             	sar    $0x6,%eax
414955:	6b c9 38             	imul   $0x38,%ecx,%ecx
414958:	8b 04 85 18 70 42 00 	mov    0x427018(,%eax,4),%eax
41495f:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
414964:	83 e0 40             	and    $0x40,%eax
414967:	5d                   	pop    %ebp
414968:	c3                   	ret
414969:	e8 65 a3 ff ff       	call   0x40ecd3
41496e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
414974:	e8 9d a2 ff ff       	call   0x40ec16
414979:	33 c0                	xor    %eax,%eax
41497b:	5d                   	pop    %ebp
41497c:	c3                   	ret
41497d:	6a 08                	push   $0x8
41497f:	68 20 41 42 00       	push   $0x424120
414984:	e8 47 40 ff ff       	call   0x4089d0
414989:	83 3d 64 69 42 00 01 	cmpl   $0x1,0x426964
414990:	7c 5b                	jl     0x4149ed
414992:	8b 45 08             	mov    0x8(%ebp),%eax
414995:	a8 40                	test   $0x40,%al
414997:	74 4a                	je     0x4149e3
414999:	83 3d 50 67 42 00 00 	cmpl   $0x0,0x426750
4149a0:	74 41                	je     0x4149e3
4149a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4149a6:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4149aa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4149b1:	eb 3a                	jmp    0x4149ed
4149b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4149b6:	8b 00                	mov    (%eax),%eax
4149b8:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
4149be:	74 0b                	je     0x4149cb
4149c0:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
4149c6:	74 03                	je     0x4149cb
4149c8:	33 c0                	xor    %eax,%eax
4149ca:	c3                   	ret
4149cb:	33 c0                	xor    %eax,%eax
4149cd:	40                   	inc    %eax
4149ce:	c3                   	ret
4149cf:	8b 65 e8             	mov    -0x18(%ebp),%esp
4149d2:	83 25 50 67 42 00 00 	andl   $0x0,0x426750
4149d9:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
4149dd:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4149e1:	eb c7                	jmp    0x4149aa
4149e3:	83 e0 bf             	and    $0xffffffbf,%eax
4149e6:	89 45 08             	mov    %eax,0x8(%ebp)
4149e9:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4149ed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4149f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4149f7:	59                   	pop    %ecx
4149f8:	5f                   	pop    %edi
4149f9:	5e                   	pop    %esi
4149fa:	5b                   	pop    %ebx
4149fb:	c9                   	leave
4149fc:	c3                   	ret
4149fd:	8b ff                	mov    %edi,%edi
4149ff:	55                   	push   %ebp
414a00:	8b ec                	mov    %esp,%ebp
414a02:	51                   	push   %ecx
414a03:	dd 7d fc             	fnstsw -0x4(%ebp)
414a06:	db e2                	fnclex
414a08:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
414a0c:	c9                   	leave
414a0d:	c3                   	ret
414a0e:	8b ff                	mov    %edi,%edi
414a10:	55                   	push   %ebp
414a11:	8b ec                	mov    %esp,%ebp
414a13:	51                   	push   %ecx
414a14:	51                   	push   %ecx
414a15:	9b d9 7d fc          	fstcw  -0x4(%ebp)
414a19:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414a1c:	8b 45 08             	mov    0x8(%ebp),%eax
414a1f:	f7 d1                	not    %ecx
414a21:	66 23 4d fc          	and    -0x4(%ebp),%cx
414a25:	23 45 0c             	and    0xc(%ebp),%eax
414a28:	66 0b c8             	or     %ax,%cx
414a2b:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
414a2f:	d9 6d f8             	fldcw  -0x8(%ebp)
414a32:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
414a36:	c9                   	leave
414a37:	c3                   	ret
414a38:	8b ff                	mov    %edi,%edi
414a3a:	55                   	push   %ebp
414a3b:	8b ec                	mov    %esp,%ebp
414a3d:	8b 4d 08             	mov    0x8(%ebp),%ecx
414a40:	83 ec 0c             	sub    $0xc,%esp
414a43:	f6 c1 01             	test   $0x1,%cl
414a46:	74 0a                	je     0x414a52
414a48:	db 2d 60 fb 41 00    	fldt   0x41fb60
414a4e:	db 5d fc             	fistpl -0x4(%ebp)
414a51:	9b                   	fwait
414a52:	f6 c1 08             	test   $0x8,%cl
414a55:	74 10                	je     0x414a67
414a57:	9b df e0             	fstsw  %ax
414a5a:	db 2d 60 fb 41 00    	fldt   0x41fb60
414a60:	dd 5d f4             	fstpl  -0xc(%ebp)
414a63:	9b 9b df e0          	fstsw  %ax
414a67:	f6 c1 10             	test   $0x10,%cl
414a6a:	74 0a                	je     0x414a76
414a6c:	db 2d 6c fb 41 00    	fldt   0x41fb6c
414a72:	dd 5d f4             	fstpl  -0xc(%ebp)
414a75:	9b                   	fwait
414a76:	f6 c1 04             	test   $0x4,%cl
414a79:	74 09                	je     0x414a84
414a7b:	d9 ee                	fldz
414a7d:	d9 e8                	fld1
414a7f:	de f1                	fdivp  %st,%st(1)
414a81:	dd d8                	fstp   %st(0)
414a83:	9b                   	fwait
414a84:	f6 c1 20             	test   $0x20,%cl
414a87:	74 06                	je     0x414a8f
414a89:	d9 eb                	fldpi
414a8b:	dd 5d f4             	fstpl  -0xc(%ebp)
414a8e:	9b                   	fwait
414a8f:	c9                   	leave
414a90:	c3                   	ret
414a91:	8b ff                	mov    %edi,%edi
414a93:	55                   	push   %ebp
414a94:	8b ec                	mov    %esp,%ebp
414a96:	51                   	push   %ecx
414a97:	9b dd 7d fc          	fstsw  -0x4(%ebp)
414a9b:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
414a9f:	c9                   	leave
414aa0:	c3                   	ret
414aa1:	8b ff                	mov    %edi,%edi
414aa3:	55                   	push   %ebp
414aa4:	8b ec                	mov    %esp,%ebp
414aa6:	83 ec 10             	sub    $0x10,%esp
414aa9:	ff 75 0c             	push   0xc(%ebp)
414aac:	8d 4d f0             	lea    -0x10(%ebp),%ecx
414aaf:	e8 96 7f ff ff       	call   0x40ca4a
414ab4:	8b 45 f4             	mov    -0xc(%ebp),%eax
414ab7:	68 00 80 00 00       	push   $0x8000
414abc:	ff 75 08             	push   0x8(%ebp)
414abf:	ff 30                	push   (%eax)
414ac1:	e8 67 71 ff ff       	call   0x40bc2d
414ac6:	83 c4 0c             	add    $0xc,%esp
414ac9:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
414acd:	74 0a                	je     0x414ad9
414acf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414ad2:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
414ad9:	c9                   	leave
414ada:	c3                   	ret
414adb:	8b ff                	mov    %edi,%edi
414add:	55                   	push   %ebp
414ade:	8b ec                	mov    %esp,%ebp
414ae0:	8b 4d 08             	mov    0x8(%ebp),%ecx
414ae3:	80 39 00             	cmpb   $0x0,(%ecx)
414ae6:	75 05                	jne    0x414aed
414ae8:	33 c0                	xor    %eax,%eax
414aea:	40                   	inc    %eax
414aeb:	eb 16                	jmp    0x414b03
414aed:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
414af1:	75 05                	jne    0x414af8
414af3:	6a 02                	push   $0x2
414af5:	58                   	pop    %eax
414af6:	eb 0b                	jmp    0x414b03
414af8:	33 c0                	xor    %eax,%eax
414afa:	38 41 02             	cmp    %al,0x2(%ecx)
414afd:	0f 95 c0             	setne  %al
414b00:	83 c0 03             	add    $0x3,%eax
414b03:	5d                   	pop    %ebp
414b04:	c2 04 00             	ret    $0x4
414b07:	8b ff                	mov    %edi,%edi
414b09:	55                   	push   %ebp
414b0a:	8b ec                	mov    %esp,%ebp
414b0c:	51                   	push   %ecx
414b0d:	ff 75 14             	push   0x14(%ebp)
414b10:	8d 45 fc             	lea    -0x4(%ebp),%eax
414b13:	ff 75 10             	push   0x10(%ebp)
414b16:	ff 75 0c             	push   0xc(%ebp)
414b19:	50                   	push   %eax
414b1a:	e8 f6 1e 00 00       	call   0x416a15
414b1f:	8b d0                	mov    %eax,%edx
414b21:	83 c4 10             	add    $0x10,%esp
414b24:	83 fa 04             	cmp    $0x4,%edx
414b27:	77 1a                	ja     0x414b43
414b29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414b2c:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
414b32:	76 05                	jbe    0x414b39
414b34:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
414b39:	8b 45 08             	mov    0x8(%ebp),%eax
414b3c:	85 c0                	test   %eax,%eax
414b3e:	74 03                	je     0x414b43
414b40:	66 89 08             	mov    %cx,(%eax)
414b43:	8b c2                	mov    %edx,%eax
414b45:	c9                   	leave
414b46:	c3                   	ret
414b47:	8b ff                	mov    %edi,%edi
414b49:	55                   	push   %ebp
414b4a:	8b ec                	mov    %esp,%ebp
414b4c:	51                   	push   %ecx
414b4d:	51                   	push   %ecx
414b4e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
414b52:	53                   	push   %ebx
414b53:	56                   	push   %esi
414b54:	57                   	push   %edi
414b55:	8b 7d 0c             	mov    0xc(%ebp),%edi
414b58:	8b 3f                	mov    (%edi),%edi
414b5a:	0f 84 9c 00 00 00    	je     0x414bfc
414b60:	8b 5d 10             	mov    0x10(%ebp),%ebx
414b63:	8b 75 08             	mov    0x8(%ebp),%esi
414b66:	85 db                	test   %ebx,%ebx
414b68:	74 68                	je     0x414bd2
414b6a:	57                   	push   %edi
414b6b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
414b6e:	e8 68 ff ff ff       	call   0x414adb
414b73:	ff 75 14             	push   0x14(%ebp)
414b76:	50                   	push   %eax
414b77:	8d 45 f8             	lea    -0x8(%ebp),%eax
414b7a:	57                   	push   %edi
414b7b:	50                   	push   %eax
414b7c:	e8 94 1e 00 00       	call   0x416a15
414b81:	8b d0                	mov    %eax,%edx
414b83:	83 c4 10             	add    $0x10,%esp
414b86:	83 fa ff             	cmp    $0xffffffff,%edx
414b89:	74 5c                	je     0x414be7
414b8b:	85 d2                	test   %edx,%edx
414b8d:	74 4f                	je     0x414bde
414b8f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414b92:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
414b98:	76 2b                	jbe    0x414bc5
414b9a:	83 fb 01             	cmp    $0x1,%ebx
414b9d:	76 33                	jbe    0x414bd2
414b9f:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
414ba5:	4b                   	dec    %ebx
414ba6:	8b c1                	mov    %ecx,%eax
414ba8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414bab:	c1 e8 0a             	shr    $0xa,%eax
414bae:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
414bb4:	0d 00 d8 00 00       	or     $0xd800,%eax
414bb9:	66 89 06             	mov    %ax,(%esi)
414bbc:	83 c6 02             	add    $0x2,%esi
414bbf:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
414bc5:	66 89 0e             	mov    %cx,(%esi)
414bc8:	03 fa                	add    %edx,%edi
414bca:	83 c6 02             	add    $0x2,%esi
414bcd:	83 eb 01             	sub    $0x1,%ebx
414bd0:	75 98                	jne    0x414b6a
414bd2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
414bd5:	2b 75 08             	sub    0x8(%ebp),%esi
414bd8:	d1 fe                	sar    $1,%esi
414bda:	89 3b                	mov    %edi,(%ebx)
414bdc:	eb 59                	jmp    0x414c37
414bde:	33 ff                	xor    %edi,%edi
414be0:	33 c0                	xor    %eax,%eax
414be2:	66 89 06             	mov    %ax,(%esi)
414be5:	eb eb                	jmp    0x414bd2
414be7:	8b 45 0c             	mov    0xc(%ebp),%eax
414bea:	89 38                	mov    %edi,(%eax)
414bec:	e8 e2 a0 ff ff       	call   0x40ecd3
414bf1:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
414bf7:	83 c8 ff             	or     $0xffffffff,%eax
414bfa:	eb 3d                	jmp    0x414c39
414bfc:	33 db                	xor    %ebx,%ebx
414bfe:	eb 0d                	jmp    0x414c0d
414c00:	85 f6                	test   %esi,%esi
414c02:	74 3a                	je     0x414c3e
414c04:	83 fe 04             	cmp    $0x4,%esi
414c07:	75 01                	jne    0x414c0a
414c09:	43                   	inc    %ebx
414c0a:	03 fe                	add    %esi,%edi
414c0c:	43                   	inc    %ebx
414c0d:	57                   	push   %edi
414c0e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
414c11:	e8 c5 fe ff ff       	call   0x414adb
414c16:	ff 75 14             	push   0x14(%ebp)
414c19:	50                   	push   %eax
414c1a:	57                   	push   %edi
414c1b:	6a 00                	push   $0x0
414c1d:	e8 f3 1d 00 00       	call   0x416a15
414c22:	8b f0                	mov    %eax,%esi
414c24:	83 c4 10             	add    $0x10,%esp
414c27:	83 fe ff             	cmp    $0xffffffff,%esi
414c2a:	75 d4                	jne    0x414c00
414c2c:	e8 a2 a0 ff ff       	call   0x40ecd3
414c31:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
414c37:	8b c6                	mov    %esi,%eax
414c39:	5f                   	pop    %edi
414c3a:	5e                   	pop    %esi
414c3b:	5b                   	pop    %ebx
414c3c:	c9                   	leave
414c3d:	c3                   	ret
414c3e:	8b c3                	mov    %ebx,%eax
414c40:	eb f7                	jmp    0x414c39
414c42:	8b ff                	mov    %edi,%edi
414c44:	55                   	push   %ebp
414c45:	8b ec                	mov    %esp,%ebp
414c47:	8b 55 08             	mov    0x8(%ebp),%edx
414c4a:	85 d2                	test   %edx,%edx
414c4c:	75 0f                	jne    0x414c5d
414c4e:	33 c9                	xor    %ecx,%ecx
414c50:	8b 45 10             	mov    0x10(%ebp),%eax
414c53:	89 08                	mov    %ecx,(%eax)
414c55:	89 48 04             	mov    %ecx,0x4(%eax)
414c58:	33 c0                	xor    %eax,%eax
414c5a:	40                   	inc    %eax
414c5b:	5d                   	pop    %ebp
414c5c:	c3                   	ret
414c5d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414c60:	85 c9                	test   %ecx,%ecx
414c62:	75 04                	jne    0x414c68
414c64:	88 0a                	mov    %cl,(%edx)
414c66:	eb e8                	jmp    0x414c50
414c68:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
414c6e:	75 04                	jne    0x414c74
414c70:	88 0a                	mov    %cl,(%edx)
414c72:	eb e4                	jmp    0x414c58
414c74:	53                   	push   %ebx
414c75:	56                   	push   %esi
414c76:	f7 c1 00 f8 ff ff    	test   $0xfffff800,%ecx
414c7c:	75 07                	jne    0x414c85
414c7e:	33 f6                	xor    %esi,%esi
414c80:	b3 c0                	mov    $0xc0,%bl
414c82:	46                   	inc    %esi
414c83:	eb 33                	jmp    0x414cb8
414c85:	f7 c1 00 00 ff ff    	test   $0xffff0000,%ecx