4169b7:	83 c8 ff             	or     $0xffffffff,%eax
4169ba:	eb 3c                	jmp    0x4169f8
4169bc:	8b 46 0c             	mov    0xc(%esi),%eax
4169bf:	90                   	nop
4169c0:	c1 e8 0c             	shr    $0xc,%eax
4169c3:	56                   	push   %esi
4169c4:	a8 01                	test   $0x1,%al
4169c6:	74 08                	je     0x4169d0
4169c8:	e8 84 0d 00 00       	call   0x417751
4169cd:	59                   	pop    %ecx
4169ce:	eb e7                	jmp    0x4169b7
4169d0:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4169d4:	e8 c3 b4 ff ff       	call   0x411e9c
4169d9:	59                   	pop    %ecx
4169da:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4169de:	56                   	push   %esi
4169df:	e8 36 ff ff ff       	call   0x41691a
4169e4:	59                   	pop    %ecx
4169e5:	8b f0                	mov    %eax,%esi
4169e7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4169ea:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4169f1:	e8 15 00 00 00       	call   0x416a0b
4169f6:	8b c6                	mov    %esi,%eax
4169f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4169fb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416a02:	59                   	pop    %ecx
416a03:	5f                   	pop    %edi
416a04:	5e                   	pop    %esi
416a05:	5b                   	pop    %ebx
416a06:	c9                   	leave
416a07:	c3                   	ret
416a08:	8b 75 e4             	mov    -0x1c(%ebp),%esi
416a0b:	ff 75 e0             	push   -0x20(%ebp)
416a0e:	e8 9d b4 ff ff       	call   0x411eb0
416a13:	59                   	pop    %ecx
416a14:	c3                   	ret
416a15:	8b ff                	mov    %edi,%edi
416a17:	55                   	push   %ebp
416a18:	8b ec                	mov    %esp,%ebp
416a1a:	83 ec 24             	sub    $0x24,%esp
416a1d:	a1 18 60 42 00       	mov    0x426018,%eax
416a22:	33 c5                	xor    %ebp,%eax
416a24:	89 45 fc             	mov    %eax,-0x4(%ebp)
416a27:	8b 4d 08             	mov    0x8(%ebp),%ecx
416a2a:	53                   	push   %ebx
416a2b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
416a2e:	56                   	push   %esi
416a2f:	8b 75 14             	mov    0x14(%ebp),%esi
416a32:	89 5d dc             	mov    %ebx,-0x24(%ebp)
416a35:	57                   	push   %edi
416a36:	8b fb                	mov    %ebx,%edi
416a38:	85 f6                	test   %esi,%esi
416a3a:	75 05                	jne    0x416a41
416a3c:	be 34 73 42 00       	mov    $0x427334,%esi
416a41:	33 d2                	xor    %edx,%edx
416a43:	42                   	inc    %edx
416a44:	85 db                	test   %ebx,%ebx
416a46:	75 09                	jne    0x416a51
416a48:	bb 1e c9 41 00       	mov    $0x41c91e,%ebx
416a4d:	8b c2                	mov    %edx,%eax
416a4f:	eb 03                	jmp    0x416a54
416a51:	8b 45 10             	mov    0x10(%ebp),%eax
416a54:	f7 df                	neg    %edi
416a56:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416a59:	1b ff                	sbb    %edi,%edi
416a5b:	23 f9                	and    %ecx,%edi
416a5d:	85 c0                	test   %eax,%eax
416a5f:	75 08                	jne    0x416a69
416a61:	6a fe                	push   $0xfffffffe
416a63:	58                   	pop    %eax
416a64:	e9 44 01 00 00       	jmp    0x416bad
416a69:	33 c0                	xor    %eax,%eax
416a6b:	66 39 46 06          	cmp    %ax,0x6(%esi)
416a6f:	75 64                	jne    0x416ad5
416a71:	8a 0b                	mov    (%ebx),%cl
416a73:	43                   	inc    %ebx
416a74:	88 4d ee             	mov    %cl,-0x12(%ebp)
416a77:	84 c9                	test   %cl,%cl
416a79:	78 15                	js     0x416a90
416a7b:	85 ff                	test   %edi,%edi
416a7d:	74 05                	je     0x416a84
416a7f:	0f b6 c1             	movzbl %cl,%eax
416a82:	89 07                	mov    %eax,(%edi)
416a84:	33 c0                	xor    %eax,%eax
416a86:	84 c9                	test   %cl,%cl
416a88:	0f 95 c0             	setne  %al
416a8b:	e9 1d 01 00 00       	jmp    0x416bad
416a90:	8a c1                	mov    %cl,%al
416a92:	24 e0                	and    $0xe0,%al
416a94:	3c c0                	cmp    $0xc0,%al
416a96:	75 04                	jne    0x416a9c
416a98:	b0 02                	mov    $0x2,%al
416a9a:	eb 1a                	jmp    0x416ab6
416a9c:	8a c1                	mov    %cl,%al
416a9e:	24 f0                	and    $0xf0,%al
416aa0:	3c e0                	cmp    $0xe0,%al
416aa2:	75 04                	jne    0x416aa8
416aa4:	b0 03                	mov    $0x3,%al
416aa6:	eb 0e                	jmp    0x416ab6
416aa8:	8a c1                	mov    %cl,%al
416aaa:	24 f8                	and    $0xf8,%al
416aac:	3c f0                	cmp    $0xf0,%al
416aae:	0f 85 f2 00 00 00    	jne    0x416ba6
416ab4:	b0 04                	mov    $0x4,%al
416ab6:	88 45 ef             	mov    %al,-0x11(%ebp)
416ab9:	88 45 ed             	mov    %al,-0x13(%ebp)
416abc:	6a 07                	push   $0x7
416abe:	0f b6 c0             	movzbl %al,%eax
416ac1:	59                   	pop    %ecx
416ac2:	2b c8                	sub    %eax,%ecx
416ac4:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
416ac8:	8a 6d ed             	mov    -0x13(%ebp),%ch
416acb:	d3 e2                	shl    %cl,%edx
416acd:	8a 4d ef             	mov    -0x11(%ebp),%cl
416ad0:	4a                   	dec    %edx
416ad1:	23 d0                	and    %eax,%edx
416ad3:	eb 25                	jmp    0x416afa
416ad5:	8a 4e 04             	mov    0x4(%esi),%cl
416ad8:	8b 16                	mov    (%esi),%edx
416ada:	8a c1                	mov    %cl,%al
416adc:	8a 6e 06             	mov    0x6(%esi),%ch
416adf:	2c 02                	sub    $0x2,%al
416ae1:	3c 02                	cmp    $0x2,%al
416ae3:	0f 87 bd 00 00 00    	ja     0x416ba6
416ae9:	80 fd 01             	cmp    $0x1,%ch
416aec:	0f 82 b4 00 00 00    	jb     0x416ba6
416af2:	3a e9                	cmp    %cl,%ch
416af4:	0f 83 ac 00 00 00    	jae    0x416ba6
416afa:	0f b6 c5             	movzbl %ch,%eax
416afd:	89 45 e0             	mov    %eax,-0x20(%ebp)
416b00:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416b03:	39 45 e0             	cmp    %eax,-0x20(%ebp)
416b06:	73 06                	jae    0x416b0e
416b08:	8b 45 e0             	mov    -0x20(%ebp),%eax
416b0b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416b0e:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b11:	89 5d e8             	mov    %ebx,-0x18(%ebp)
416b14:	29 45 e8             	sub    %eax,-0x18(%ebp)
416b17:	eb 19                	jmp    0x416b32
416b19:	8a 23                	mov    (%ebx),%ah
416b1b:	43                   	inc    %ebx
416b1c:	ff 45 e8             	incl   -0x18(%ebp)
416b1f:	8a c4                	mov    %ah,%al
416b21:	24 c0                	and    $0xc0,%al
416b23:	3c 80                	cmp    $0x80,%al
416b25:	75 7f                	jne    0x416ba6
416b27:	0f b6 c4             	movzbl %ah,%eax
416b2a:	83 e0 3f             	and    $0x3f,%eax
416b2d:	c1 e2 06             	shl    $0x6,%edx
416b30:	0b d0                	or     %eax,%edx
416b32:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416b35:	39 45 e8             	cmp    %eax,-0x18(%ebp)
416b38:	72 df                	jb     0x416b19
416b3a:	8b 5d e0             	mov    -0x20(%ebp),%ebx
416b3d:	3b c3                	cmp    %ebx,%eax
416b3f:	73 18                	jae    0x416b59
416b41:	2a 6d e4             	sub    -0x1c(%ebp),%ch
416b44:	0f b6 c1             	movzbl %cl,%eax
416b47:	66 89 46 04          	mov    %ax,0x4(%esi)
416b4b:	0f b6 c5             	movzbl %ch,%eax
416b4e:	89 16                	mov    %edx,(%esi)
416b50:	66 89 46 06          	mov    %ax,0x6(%esi)
416b54:	e9 08 ff ff ff       	jmp    0x416a61
416b59:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
416b5f:	72 08                	jb     0x416b69
416b61:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
416b67:	76 3d                	jbe    0x416ba6
416b69:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
416b6f:	77 35                	ja     0x416ba6
416b71:	0f b6 c1             	movzbl %cl,%eax
416b74:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
416b7b:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
416b82:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
416b89:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
416b8d:	72 17                	jb     0x416ba6
416b8f:	85 ff                	test   %edi,%edi
416b91:	74 02                	je     0x416b95
416b93:	89 17                	mov    %edx,(%edi)
416b95:	83 26 00             	andl   $0x0,(%esi)
416b98:	83 66 04 00          	andl   $0x0,0x4(%esi)
416b9c:	f7 da                	neg    %edx
416b9e:	1b d2                	sbb    %edx,%edx
416ba0:	23 d3                	and    %ebx,%edx
416ba2:	8b c2                	mov    %edx,%eax
416ba4:	eb 07                	jmp    0x416bad
416ba6:	56                   	push   %esi
416ba7:	e8 41 e1 ff ff       	call   0x414ced
416bac:	59                   	pop    %ecx
416bad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416bb0:	5f                   	pop    %edi
416bb1:	5e                   	pop    %esi
416bb2:	33 cd                	xor    %ebp,%ecx
416bb4:	5b                   	pop    %ebx
416bb5:	e8 3b 20 ff ff       	call   0x408bf5
416bba:	c9                   	leave
416bbb:	c3                   	ret
416bbc:	8b ff                	mov    %edi,%edi
416bbe:	55                   	push   %ebp
416bbf:	8b ec                	mov    %esp,%ebp
416bc1:	56                   	push   %esi
416bc2:	e8 25 06 00 00       	call   0x4171ec
416bc7:	8b 75 08             	mov    0x8(%ebp),%esi
416bca:	89 06                	mov    %eax,(%esi)
416bcc:	e8 9b 06 00 00       	call   0x41726c
416bd1:	89 46 04             	mov    %eax,0x4(%esi)
416bd4:	33 c0                	xor    %eax,%eax
416bd6:	5e                   	pop    %esi
416bd7:	5d                   	pop    %ebp
416bd8:	c3                   	ret
416bd9:	8b ff                	mov    %edi,%edi
416bdb:	55                   	push   %ebp
416bdc:	8b ec                	mov    %esp,%ebp
416bde:	51                   	push   %ecx
416bdf:	51                   	push   %ecx
416be0:	56                   	push   %esi
416be1:	8b 75 08             	mov    0x8(%ebp),%esi
416be4:	ff 36                	push   (%esi)
416be6:	e8 39 07 00 00       	call   0x417324
416beb:	ff 76 04             	push   0x4(%esi)
416bee:	e8 99 07 00 00       	call   0x41738c
416bf3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
416bf7:	8d 45 f8             	lea    -0x8(%ebp),%eax
416bfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
416bfe:	50                   	push   %eax
416bff:	e8 b8 ff ff ff       	call   0x416bbc
416c04:	83 c4 0c             	add    $0xc,%esp
416c07:	85 c0                	test   %eax,%eax
416c09:	75 13                	jne    0x416c1e
416c0b:	8b 06                	mov    (%esi),%eax
416c0d:	3b 45 f8             	cmp    -0x8(%ebp),%eax
416c10:	75 0c                	jne    0x416c1e
416c12:	8b 46 04             	mov    0x4(%esi),%eax
416c15:	3b 45 fc             	cmp    -0x4(%ebp),%eax
416c18:	75 04                	jne    0x416c1e
416c1a:	33 c0                	xor    %eax,%eax
416c1c:	eb 03                	jmp    0x416c21
416c1e:	33 c0                	xor    %eax,%eax
416c20:	40                   	inc    %eax
416c21:	5e                   	pop    %esi
416c22:	c9                   	leave
416c23:	c3                   	ret
416c24:	8b ff                	mov    %edi,%edi
416c26:	55                   	push   %ebp
416c27:	8b ec                	mov    %esp,%ebp
416c29:	51                   	push   %ecx
416c2a:	51                   	push   %ecx
416c2b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
416c2f:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
416c36:	50                   	push   %eax
416c37:	e8 80 ff ff ff       	call   0x416bbc
416c3c:	59                   	pop    %ecx
416c3d:	85 c0                	test   %eax,%eax
416c3f:	75 2b                	jne    0x416c6c
416c41:	8b 4d 08             	mov    0x8(%ebp),%ecx
416c44:	8b 55 f8             	mov    -0x8(%ebp),%edx
416c47:	8b 45 fc             	mov    -0x4(%ebp),%eax
416c4a:	89 41 04             	mov    %eax,0x4(%ecx)
416c4d:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c50:	89 11                	mov    %edx,(%ecx)
416c52:	83 ca 1f             	or     $0x1f,%edx
416c55:	50                   	push   %eax
416c56:	89 55 f8             	mov    %edx,-0x8(%ebp)
416c59:	e8 7b ff ff ff       	call   0x416bd9
416c5e:	59                   	pop    %ecx
416c5f:	85 c0                	test   %eax,%eax
416c61:	75 09                	jne    0x416c6c
416c63:	e8 03 b3 ff ff       	call   0x411f6b
416c68:	33 c0                	xor    %eax,%eax
416c6a:	c9                   	leave
416c6b:	c3                   	ret
416c6c:	33 c0                	xor    %eax,%eax
416c6e:	40                   	inc    %eax
416c6f:	c9                   	leave
416c70:	c3                   	ret
416c71:	cc                   	int3
416c72:	cc                   	int3
416c73:	cc                   	int3
416c74:	cc                   	int3
416c75:	cc                   	int3
416c76:	cc                   	int3
416c77:	cc                   	int3
416c78:	cc                   	int3
416c79:	cc                   	int3
416c7a:	cc                   	int3
416c7b:	cc                   	int3
416c7c:	cc                   	int3
416c7d:	cc                   	int3
416c7e:	cc                   	int3
416c7f:	cc                   	int3
416c80:	83 3d 28 74 42 00 00 	cmpl   $0x0,0x427428
416c87:	74 32                	je     0x416cbb
416c89:	83 ec 08             	sub    $0x8,%esp
416c8c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
416c91:	8b 44 24 04          	mov    0x4(%esp),%eax
416c95:	25 80 7f 00 00       	and    $0x7f80,%eax
416c9a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
416c9f:	75 0f                	jne    0x416cb0
416ca1:	d9 3c 24             	fnstcw (%esp)
416ca4:	66 8b 04 24          	mov    (%esp),%ax
416ca8:	66 83 e0 7f          	and    $0x7f,%ax
416cac:	66 83 f8 7f          	cmp    $0x7f,%ax
416cb0:	8d 64 24 08          	lea    0x8(%esp),%esp
416cb4:	75 05                	jne    0x416cbb
416cb6:	e9 e5 0a 00 00       	jmp    0x4177a0
416cbb:	83 ec 0c             	sub    $0xc,%esp
416cbe:	dd 14 24             	fstl   (%esp)
416cc1:	e8 72 12 00 00       	call   0x417f38
416cc6:	e8 0d 00 00 00       	call   0x416cd8
416ccb:	83 c4 0c             	add    $0xc,%esp
416cce:	c3                   	ret
416ccf:	8d 54 24 04          	lea    0x4(%esp),%edx
416cd3:	e8 1d 12 00 00       	call   0x417ef5
416cd8:	52                   	push   %edx
416cd9:	9b d9 3c 24          	fstcw  (%esp)
416cdd:	74 4c                	je     0x416d2b
416cdf:	8b 44 24 0c          	mov    0xc(%esp),%eax
416ce3:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
416ce9:	74 06                	je     0x416cf1
416ceb:	d9 2d 78 07 42 00    	fldcw  0x420778
416cf1:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
416cf6:	74 5e                	je     0x416d56
416cf8:	a9 00 00 00 80       	test   $0x80000000,%eax
416cfd:	75 41                	jne    0x416d40
416cff:	d9 ec                	fldlg2
416d01:	d9 c9                	fxch   %st(1)
416d03:	d9 f1                	fyl2x
416d05:	83 3d 3c 73 42 00 00 	cmpl   $0x0,0x42733c
416d0c:	0f 85 3c 12 00 00    	jne    0x417f4e
416d12:	8d 0d 60 05 42 00    	lea    0x420560,%ecx
416d18:	ba 1b 00 00 00       	mov    $0x1b,%edx
416d1d:	e9 39 12 00 00       	jmp    0x417f5b
416d22:	a9 00 00 00 80       	test   $0x80000000,%eax
416d27:	75 17                	jne    0x416d40
416d29:	eb d4                	jmp    0x416cff
416d2b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
416d30:	75 1d                	jne    0x416d4f
416d32:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
416d37:	75 16                	jne    0x416d4f
416d39:	25 00 00 00 80       	and    $0x80000000,%eax
416d3e:	74 c5                	je     0x416d05
416d40:	dd d8                	fstp   %st(0)
416d42:	db 2d 30 07 42 00    	fldt   0x420730
416d48:	b8 01 00 00 00       	mov    $0x1,%eax
416d4d:	eb 22                	jmp    0x416d71
416d4f:	e8 88 11 00 00       	call   0x417edc
416d54:	eb 1b                	jmp    0x416d71
416d56:	a9 ff ff 0f 00       	test   $0xfffff,%eax
416d5b:	75 c5                	jne    0x416d22
416d5d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)