415b05:	8b 4d 08             	mov    0x8(%ebp),%ecx
415b08:	8b 55 f8             	mov    -0x8(%ebp),%edx
415b0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
415b0e:	89 41 04             	mov    %eax,0x4(%ecx)
415b11:	8d 45 f8             	lea    -0x8(%ebp),%eax
415b14:	89 11                	mov    %edx,(%ecx)
415b16:	83 ca 1f             	or     $0x1f,%edx
415b19:	50                   	push   %eax
415b1a:	89 55 f8             	mov    %edx,-0x8(%ebp)
415b1d:	e8 78 ff ff ff       	call   0x415a9a
415b22:	59                   	pop    %ecx
415b23:	85 c0                	test   %eax,%eax
415b25:	75 d9                	jne    0x415b00
415b27:	e8 85 b6 ff ff       	call   0x4111b1
415b2c:	33 c0                	xor    %eax,%eax
415b2e:	8b e5                	mov    %ebp,%esp
415b30:	5d                   	pop    %ebp
415b31:	c3                   	ret
415b32:	cc                   	int3
415b33:	cc                   	int3
415b34:	cc                   	int3
415b35:	cc                   	int3
415b36:	cc                   	int3
415b37:	cc                   	int3
415b38:	cc                   	int3
415b39:	cc                   	int3
415b3a:	cc                   	int3
415b3b:	cc                   	int3
415b3c:	cc                   	int3
415b3d:	cc                   	int3
415b3e:	cc                   	int3
415b3f:	cc                   	int3
415b40:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415b47:	0f 84 82 00 00 00    	je     0x415bcf
415b4d:	83 ec 08             	sub    $0x8,%esp
415b50:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415b55:	8b 44 24 04          	mov    0x4(%esp),%eax
415b59:	25 80 7f 00 00       	and    $0x7f80,%eax
415b5e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415b63:	75 0f                	jne    0x415b74
415b65:	d9 3c 24             	fnstcw (%esp)
415b68:	66 8b 04 24          	mov    (%esp),%ax
415b6c:	66 83 e0 7f          	and    $0x7f,%ax
415b70:	66 83 f8 7f          	cmp    $0x7f,%ax
415b74:	8d 64 24 08          	lea    0x8(%esp),%esp
415b78:	75 55                	jne    0x415bcf
415b7a:	e9 69 0c 00 00       	jmp    0x4167e8
415b7f:	90                   	nop
415b80:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415b87:	74 32                	je     0x415bbb
415b89:	83 ec 08             	sub    $0x8,%esp
415b8c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415b91:	8b 44 24 04          	mov    0x4(%esp),%eax
415b95:	25 80 7f 00 00       	and    $0x7f80,%eax
415b9a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415b9f:	75 0f                	jne    0x415bb0
415ba1:	d9 3c 24             	fnstcw (%esp)
415ba4:	66 8b 04 24          	mov    (%esp),%ax
415ba8:	66 83 e0 7f          	and    $0x7f,%ax
415bac:	66 83 f8 7f          	cmp    $0x7f,%ax
415bb0:	8d 64 24 08          	lea    0x8(%esp),%esp
415bb4:	75 05                	jne    0x415bbb
415bb6:	e9 15 0c 00 00       	jmp    0x4167d0
415bbb:	83 ec 0c             	sub    $0xc,%esp
415bbe:	dd 14 24             	fstl   (%esp)
415bc1:	e8 22 13 00 00       	call   0x416ee8
415bc6:	e8 0d 00 00 00       	call   0x415bd8
415bcb:	83 c4 0c             	add    $0xc,%esp
415bce:	c3                   	ret
415bcf:	8d 54 24 04          	lea    0x4(%esp),%edx
415bd3:	e8 cd 12 00 00       	call   0x416ea5
415bd8:	52                   	push   %edx
415bd9:	9b d9 3c 24          	fstcw  (%esp)
415bdd:	74 4c                	je     0x415c2b
415bdf:	8b 44 24 0c          	mov    0xc(%esp),%eax
415be3:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
415be9:	74 06                	je     0x415bf1
415beb:	d9 2d e8 ff 41 00    	fldcw  0x41ffe8
415bf1:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
415bf6:	74 5e                	je     0x415c56
415bf8:	a9 00 00 00 80       	test   $0x80000000,%eax
415bfd:	75 41                	jne    0x415c40
415bff:	d9 ec                	fldlg2
415c01:	d9 c9                	fxch   %st(1)
415c03:	d9 f1                	fyl2x
415c05:	83 3d e8 46 42 00 00 	cmpl   $0x0,0x4246e8
415c0c:	0f 85 ec 12 00 00    	jne    0x416efe
415c12:	8d 0d d0 fd 41 00    	lea    0x41fdd0,%ecx
415c18:	ba 1b 00 00 00       	mov    $0x1b,%edx
415c1d:	e9 e9 12 00 00       	jmp    0x416f0b
415c22:	a9 00 00 00 80       	test   $0x80000000,%eax
415c27:	75 17                	jne    0x415c40
415c29:	eb d4                	jmp    0x415bff
415c2b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
415c30:	75 1d                	jne    0x415c4f
415c32:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
415c37:	75 16                	jne    0x415c4f
415c39:	25 00 00 00 80       	and    $0x80000000,%eax
415c3e:	74 c5                	je     0x415c05
415c40:	dd d8                	fstp   %st(0)
415c42:	db 2d a0 ff 41 00    	fldt   0x41ffa0
415c48:	b8 01 00 00 00       	mov    $0x1,%eax
415c4d:	eb 22                	jmp    0x415c71
415c4f:	e8 38 12 00 00       	call   0x416e8c
415c54:	eb 1b                	jmp    0x415c71
415c56:	a9 ff ff 0f 00       	test   $0xfffff,%eax
415c5b:	75 c5                	jne    0x415c22
415c5d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
415c62:	75 be                	jne    0x415c22
415c64:	dd d8                	fstp   %st(0)
415c66:	db 2d 4a ff 41 00    	fldt   0x41ff4a
415c6c:	b8 02 00 00 00       	mov    $0x2,%eax
415c71:	83 3d e8 46 42 00 00 	cmpl   $0x0,0x4246e8
415c78:	0f 85 80 12 00 00    	jne    0x416efe
415c7e:	8d 0d d0 fd 41 00    	lea    0x41fdd0,%ecx
415c84:	ba 1b 00 00 00       	mov    $0x1b,%edx
415c89:	e8 79 13 00 00       	call   0x417007
415c8e:	5a                   	pop    %edx
415c8f:	c3                   	ret
415c90:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415c97:	0f 84 be 15 00 00    	je     0x41725b
415c9d:	83 ec 08             	sub    $0x8,%esp
415ca0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415ca5:	8b 44 24 04          	mov    0x4(%esp),%eax
415ca9:	25 80 7f 00 00       	and    $0x7f80,%eax
415cae:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415cb3:	75 0f                	jne    0x415cc4
415cb5:	d9 3c 24             	fnstcw (%esp)
415cb8:	66 8b 04 24          	mov    (%esp),%ax
415cbc:	66 83 e0 7f          	and    $0x7f,%ax
415cc0:	66 83 f8 7f          	cmp    $0x7f,%ax
415cc4:	8d 64 24 08          	lea    0x8(%esp),%esp
415cc8:	0f 85 8d 15 00 00    	jne    0x41725b
415cce:	eb 00                	jmp    0x415cd0
415cd0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415cd6:	66 0f 28 15 f0 fd 41 	movapd 0x41fdf0,%xmm2
415cdd:	00
415cde:	66 0f 28 c8          	movapd %xmm0,%xmm1
415ce2:	66 0f 28 f8          	movapd %xmm0,%xmm7
415ce6:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
415ceb:	66 0f 7e c0          	movd   %xmm0,%eax
415cef:	66 0f 54 05 10 fe 41 	andpd  0x41fe10,%xmm0
415cf6:	00
415cf7:	66 0f fa d0          	psubd  %xmm0,%xmm2
415cfb:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
415cff:	a9 00 08 00 00       	test   $0x800,%eax
415d04:	74 4c                	je     0x415d52
415d06:	3d ff 0b 00 00       	cmp    $0xbff,%eax
415d0b:	7c 7d                	jl     0x415d8a
415d0d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
415d11:	3d 32 0c 00 00       	cmp    $0xc32,%eax
415d16:	7f 0b                	jg     0x415d23
415d18:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
415d1e:	dd 44 24 04          	fldl   0x4(%esp)
415d22:	c3                   	ret
415d23:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
415d27:	7b 24                	jnp    0x415d4d
415d29:	ba ec 03 00 00       	mov    $0x3ec,%edx
415d2e:	83 ec 10             	sub    $0x10,%esp
415d31:	89 54 24 0c          	mov    %edx,0xc(%esp)
415d35:	8b d4                	mov    %esp,%edx
415d37:	83 c2 14             	add    $0x14,%edx
415d3a:	89 54 24 08          	mov    %edx,0x8(%esp)
415d3e:	89 54 24 04          	mov    %edx,0x4(%esp)
415d42:	89 14 24             	mov    %edx,(%esp)
415d45:	e8 f9 12 00 00       	call   0x417043
415d4a:	83 c4 10             	add    $0x10,%esp
415d4d:	dd 44 24 04          	fldl   0x4(%esp)
415d51:	c3                   	ret
415d52:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415d58:	66 0f f3 ca          	psllq  %xmm2,%xmm1
415d5c:	66 0f 28 d8          	movapd %xmm0,%xmm3
415d60:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
415d65:	3d ff 03 00 00       	cmp    $0x3ff,%eax
415d6a:	7c 25                	jl     0x415d91
415d6c:	3d 32 04 00 00       	cmp    $0x432,%eax
415d71:	7f b0                	jg     0x415d23
415d73:	66 0f 54 05 e0 fd 41 	andpd  0x41fde0,%xmm0
415d7a:	00
415d7b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
415d7f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
415d85:	dd 44 24 04          	fldl   0x4(%esp)
415d89:	c3                   	ret
415d8a:	dd 05 20 fe 41 00    	fldl   0x41fe20
415d90:	c3                   	ret
415d91:	66 0f c2 1d 00 fe 41 	cmpnlepd 0x41fe00,%xmm3
415d98:	00 06
415d9a:	66 0f 54 1d e0 fd 41 	andpd  0x41fde0,%xmm3
415da1:	00
415da2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
415da8:	dd 44 24 04          	fldl   0x4(%esp)
415dac:	c3                   	ret
415dad:	cc                   	int3
415dae:	cc                   	int3
415daf:	cc                   	int3
415db0:	55                   	push   %ebp
415db1:	8b ec                	mov    %esp,%ebp
415db3:	57                   	push   %edi
415db4:	56                   	push   %esi
415db5:	53                   	push   %ebx
415db6:	8b 4d 10             	mov    0x10(%ebp),%ecx
415db9:	0b c9                	or     %ecx,%ecx
415dbb:	74 4d                	je     0x415e0a
415dbd:	8b 75 08             	mov    0x8(%ebp),%esi
415dc0:	8b 7d 0c             	mov    0xc(%ebp),%edi
415dc3:	b7 41                	mov    $0x41,%bh
415dc5:	b3 5a                	mov    $0x5a,%bl
415dc7:	b6 20                	mov    $0x20,%dh
415dc9:	8d 49 00             	lea    0x0(%ecx),%ecx
415dcc:	8a 26                	mov    (%esi),%ah
415dce:	0a e4                	or     %ah,%ah
415dd0:	8a 07                	mov    (%edi),%al
415dd2:	74 27                	je     0x415dfb
415dd4:	0a c0                	or     %al,%al
415dd6:	74 23                	je     0x415dfb
415dd8:	83 c6 01             	add    $0x1,%esi
415ddb:	83 c7 01             	add    $0x1,%edi
415dde:	3a e7                	cmp    %bh,%ah
415de0:	72 06                	jb     0x415de8
415de2:	3a e3                	cmp    %bl,%ah
415de4:	77 02                	ja     0x415de8
415de6:	02 e6                	add    %dh,%ah
415de8:	3a c7                	cmp    %bh,%al
415dea:	72 06                	jb     0x415df2
415dec:	3a c3                	cmp    %bl,%al
415dee:	77 02                	ja     0x415df2
415df0:	02 c6                	add    %dh,%al
415df2:	3a e0                	cmp    %al,%ah
415df4:	75 0b                	jne    0x415e01
415df6:	83 e9 01             	sub    $0x1,%ecx
415df9:	75 d1                	jne    0x415dcc
415dfb:	33 c9                	xor    %ecx,%ecx
415dfd:	3a e0                	cmp    %al,%ah
415dff:	74 09                	je     0x415e0a
415e01:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
415e06:	72 02                	jb     0x415e0a
415e08:	f7 d9                	neg    %ecx
415e0a:	8b c1                	mov    %ecx,%eax
415e0c:	5b                   	pop    %ebx
415e0d:	5e                   	pop    %esi
415e0e:	5f                   	pop    %edi
415e0f:	c9                   	leave
415e10:	c3                   	ret
415e11:	8b ff                	mov    %edi,%edi
415e13:	55                   	push   %ebp
415e14:	8b ec                	mov    %esp,%ebp
415e16:	83 ec 10             	sub    $0x10,%esp
415e19:	56                   	push   %esi
415e1a:	57                   	push   %edi
415e1b:	8b 7d 08             	mov    0x8(%ebp),%edi
415e1e:	33 f6                	xor    %esi,%esi
415e20:	6a 01                	push   $0x1
415e22:	56                   	push   %esi
415e23:	56                   	push   %esi
415e24:	57                   	push   %edi
415e25:	e8 e7 84 ff ff       	call   0x40e311
415e2a:	8b c8                	mov    %eax,%ecx
415e2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
415e2f:	23 ca                	and    %edx,%ecx
415e31:	89 55 f4             	mov    %edx,-0xc(%ebp)
415e34:	83 c4 10             	add    $0x10,%esp
415e37:	83 f9 ff             	cmp    $0xffffffff,%ecx
415e3a:	75 0c                	jne    0x415e48
415e3c:	e8 c6 1e ff ff       	call   0x407d07
415e41:	8b 00                	mov    (%eax),%eax
415e43:	e9 54 01 00 00       	jmp    0x415f9c
415e48:	6a 02                	push   $0x2
415e4a:	56                   	push   %esi
415e4b:	56                   	push   %esi
415e4c:	57                   	push   %edi
415e4d:	e8 bf 84 ff ff       	call   0x40e311
415e52:	8b c8                	mov    %eax,%ecx
415e54:	83 c4 10             	add    $0x10,%esp
415e57:	23 ca                	and    %edx,%ecx
415e59:	83 f9 ff             	cmp    $0xffffffff,%ecx
415e5c:	74 de                	je     0x415e3c
415e5e:	53                   	push   %ebx
415e5f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
415e62:	2b d8                	sub    %eax,%ebx
415e64:	8b 45 10             	mov    0x10(%ebp),%eax
415e67:	1b c2                	sbb    %edx,%eax
415e69:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e6c:	0f 88 d8 00 00 00    	js     0x415f4a
415e72:	7f 08                	jg     0x415e7c
415e74:	3b de                	cmp    %esi,%ebx
415e76:	0f 86 ce 00 00 00    	jbe    0x415f4a
415e7c:	6a 01                	push   $0x1
415e7e:	68 00 10 00 00       	push   $0x1000
415e83:	e8 24 3a ff ff       	call   0x4098ac
415e88:	8b f0                	mov    %eax,%esi
415e8a:	59                   	pop    %ecx
415e8b:	59                   	pop    %ecx
415e8c:	85 f6                	test   %esi,%esi
415e8e:	75 10                	jne    0x415ea0
415e90:	e8 72 1e ff ff       	call   0x407d07
415e95:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
415e9b:	e9 98 00 00 00       	jmp    0x415f38
415ea0:	68 00 80 00 00       	push   $0x8000
415ea5:	57                   	push   %edi
415ea6:	e8 d9 35 ff ff       	call   0x409484
415eab:	59                   	pop    %ecx
415eac:	89 45 f8             	mov    %eax,-0x8(%ebp)
415eaf:	8b 45 fc             	mov    -0x4(%ebp),%eax
415eb2:	59                   	pop    %ecx
415eb3:	85 c0                	test   %eax,%eax
415eb5:	7c 11                	jl     0x415ec8
415eb7:	7f 08                	jg     0x415ec1
415eb9:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
415ebf:	72 07                	jb     0x415ec8
415ec1:	b8 00 10 00 00       	mov    $0x1000,%eax
415ec6:	eb 02                	jmp    0x415eca
415ec8:	8b c3                	mov    %ebx,%eax
415eca:	50                   	push   %eax
415ecb:	56                   	push   %esi
415ecc:	57                   	push   %edi
415ecd:	e8 d5 8a ff ff       	call   0x40e9a7
415ed2:	83 c4 0c             	add    $0xc,%esp
415ed5:	83 f8 ff             	cmp    $0xffffffff,%eax
415ed8:	74 49                	je     0x415f23
415eda:	99                   	cltd
415edb:	2b d8                	sub    %eax,%ebx
415edd:	8b 45 fc             	mov    -0x4(%ebp),%eax
415ee0:	1b c2                	sbb    %edx,%eax
415ee2:	89 45 fc             	mov    %eax,-0x4(%ebp)
415ee5:	85 c0                	test   %eax,%eax
415ee7:	7f d8                	jg     0x415ec1
415ee9:	7c 04                	jl     0x415eef
415eeb:	85 db                	test   %ebx,%ebx
415eed:	75 c4                	jne    0x415eb3
415eef:	ff 75 f8             	push   -0x8(%ebp)
415ef2:	57                   	push   %edi
415ef3:	e8 8c 35 ff ff       	call   0x409484
415ef8:	56                   	push   %esi
415ef9:	e8 26 39 ff ff       	call   0x409824
415efe:	83 c4 0c             	add    $0xc,%esp
415f01:	33 f6                	xor    %esi,%esi
415f03:	56                   	push   %esi
415f04:	ff 75 f4             	push   -0xc(%ebp)
415f07:	ff 75 f0             	push   -0x10(%ebp)
415f0a:	57                   	push   %edi
415f0b:	e8 01 84 ff ff       	call   0x40e311
415f10:	23 c2                	and    %edx,%eax
415f12:	83 c4 10             	add    $0x10,%esp
415f15:	83 f8 ff             	cmp    $0xffffffff,%eax
415f18:	75 7f                	jne    0x415f99
415f1a:	e8 e8 1d ff ff       	call   0x407d07
415f1f:	8b 00                	mov    (%eax),%eax
415f21:	eb 78                	jmp    0x415f9b
415f23:	e8 cc 1d ff ff       	call   0x407cf4
415f28:	83 38 05             	cmpl   $0x5,(%eax)