42ace4:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
42ace8:	c9                   	leave
42ace9:	c3                   	ret
42acea:	8b ff                	mov    %edi,%edi
42acec:	55                   	push   %ebp
42aced:	8b ec                	mov    %esp,%ebp
42acef:	8b 4d 08             	mov    0x8(%ebp),%ecx
42acf2:	83 ec 0c             	sub    $0xc,%esp
42acf5:	f6 c1 01             	test   $0x1,%cl
42acf8:	74 0a                	je     0x42ad04
42acfa:	db 2d 20 78 43 00    	fldt   0x437820
42ad00:	db 5d fc             	fistpl -0x4(%ebp)
42ad03:	9b                   	fwait
42ad04:	f6 c1 08             	test   $0x8,%cl
42ad07:	74 10                	je     0x42ad19
42ad09:	9b df e0             	fstsw  %ax
42ad0c:	db 2d 20 78 43 00    	fldt   0x437820
42ad12:	dd 5d f4             	fstpl  -0xc(%ebp)
42ad15:	9b 9b df e0          	fstsw  %ax
42ad19:	f6 c1 10             	test   $0x10,%cl
42ad1c:	74 0a                	je     0x42ad28
42ad1e:	db 2d 2c 78 43 00    	fldt   0x43782c
42ad24:	dd 5d f4             	fstpl  -0xc(%ebp)
42ad27:	9b                   	fwait
42ad28:	f6 c1 04             	test   $0x4,%cl
42ad2b:	74 09                	je     0x42ad36
42ad2d:	d9 ee                	fldz
42ad2f:	d9 e8                	fld1
42ad31:	de f1                	fdivp  %st,%st(1)
42ad33:	dd d8                	fstp   %st(0)
42ad35:	9b                   	fwait
42ad36:	f6 c1 20             	test   $0x20,%cl
42ad39:	74 06                	je     0x42ad41
42ad3b:	d9 eb                	fldpi
42ad3d:	dd 5d f4             	fstpl  -0xc(%ebp)
42ad40:	9b                   	fwait
42ad41:	c9                   	leave
42ad42:	c3                   	ret
42ad43:	8b ff                	mov    %edi,%edi
42ad45:	55                   	push   %ebp
42ad46:	8b ec                	mov    %esp,%ebp
42ad48:	51                   	push   %ecx
42ad49:	9b dd 7d fc          	fstsw  -0x4(%ebp)
42ad4d:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
42ad51:	c9                   	leave
42ad52:	c3                   	ret
42ad53:	8b ff                	mov    %edi,%edi
42ad55:	55                   	push   %ebp
42ad56:	8b ec                	mov    %esp,%ebp
42ad58:	56                   	push   %esi
42ad59:	e8 b2 f1 ff ff       	call   0x429f10
42ad5e:	8b 75 08             	mov    0x8(%ebp),%esi
42ad61:	89 06                	mov    %eax,(%esi)
42ad63:	e8 28 f2 ff ff       	call   0x429f90
42ad68:	89 46 04             	mov    %eax,0x4(%esi)
42ad6b:	33 c0                	xor    %eax,%eax
42ad6d:	5e                   	pop    %esi
42ad6e:	5d                   	pop    %ebp
42ad6f:	c3                   	ret
42ad70:	8b ff                	mov    %edi,%edi
42ad72:	55                   	push   %ebp
42ad73:	8b ec                	mov    %esp,%ebp
42ad75:	51                   	push   %ecx
42ad76:	51                   	push   %ecx
42ad77:	56                   	push   %esi
42ad78:	8b 75 08             	mov    0x8(%ebp),%esi
42ad7b:	ff 36                	push   (%esi)
42ad7d:	e8 b8 f2 ff ff       	call   0x42a03a
42ad82:	ff 76 04             	push   0x4(%esi)
42ad85:	e8 2b f3 ff ff       	call   0x42a0b5
42ad8a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42ad8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
42ad91:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ad95:	50                   	push   %eax
42ad96:	e8 b8 ff ff ff       	call   0x42ad53
42ad9b:	83 c4 0c             	add    $0xc,%esp
42ad9e:	85 c0                	test   %eax,%eax
42ada0:	75 14                	jne    0x42adb6
42ada2:	8b 06                	mov    (%esi),%eax
42ada4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
42ada7:	75 0d                	jne    0x42adb6
42ada9:	8b 4e 04             	mov    0x4(%esi),%ecx
42adac:	33 c0                	xor    %eax,%eax
42adae:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
42adb1:	0f 95 c0             	setne  %al
42adb4:	eb 03                	jmp    0x42adb9
42adb6:	33 c0                	xor    %eax,%eax
42adb8:	40                   	inc    %eax
42adb9:	5e                   	pop    %esi
42adba:	c9                   	leave
42adbb:	c3                   	ret
42adbc:	8b ff                	mov    %edi,%edi
42adbe:	55                   	push   %ebp
42adbf:	8b ec                	mov    %esp,%ebp
42adc1:	51                   	push   %ecx
42adc2:	51                   	push   %ecx
42adc3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42adc7:	8d 45 f8             	lea    -0x8(%ebp),%eax
42adca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42adce:	50                   	push   %eax
42adcf:	e8 7f ff ff ff       	call   0x42ad53
42add4:	59                   	pop    %ecx
42add5:	85 c0                	test   %eax,%eax
42add7:	75 2b                	jne    0x42ae04
42add9:	8b 45 08             	mov    0x8(%ebp),%eax
42addc:	8b 55 f8             	mov    -0x8(%ebp),%edx
42addf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ade2:	89 10                	mov    %edx,(%eax)
42ade4:	83 ca 1f             	or     $0x1f,%edx
42ade7:	89 48 04             	mov    %ecx,0x4(%eax)
42adea:	8d 45 f8             	lea    -0x8(%ebp),%eax
42aded:	50                   	push   %eax
42adee:	89 55 f8             	mov    %edx,-0x8(%ebp)
42adf1:	e8 7a ff ff ff       	call   0x42ad70
42adf6:	59                   	pop    %ecx
42adf7:	85 c0                	test   %eax,%eax
42adf9:	75 09                	jne    0x42ae04
42adfb:	e8 9e b2 ff ff       	call   0x42609e
42ae00:	33 c0                	xor    %eax,%eax
42ae02:	c9                   	leave
42ae03:	c3                   	ret
42ae04:	33 c0                	xor    %eax,%eax
42ae06:	40                   	inc    %eax
42ae07:	c9                   	leave
42ae08:	c3                   	ret
42ae09:	cc                   	int3
42ae0a:	cc                   	int3
42ae0b:	cc                   	int3
42ae0c:	cc                   	int3
42ae0d:	cc                   	int3
42ae0e:	cc                   	int3
42ae0f:	cc                   	int3
42ae10:	83 3d cc ff 43 00 00 	cmpl   $0x0,0x43ffcc
42ae17:	74 32                	je     0x42ae4b
42ae19:	83 ec 08             	sub    $0x8,%esp
42ae1c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
42ae21:	8b 44 24 04          	mov    0x4(%esp),%eax
42ae25:	25 80 7f 00 00       	and    $0x7f80,%eax
42ae2a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
42ae2f:	75 0f                	jne    0x42ae40
42ae31:	d9 3c 24             	fnstcw (%esp)
42ae34:	66 8b 04 24          	mov    (%esp),%ax
42ae38:	66 83 e0 7f          	and    $0x7f,%ax
42ae3c:	66 83 f8 7f          	cmp    $0x7f,%ax
42ae40:	8d 64 24 08          	lea    0x8(%esp),%esp
42ae44:	75 05                	jne    0x42ae4b
42ae46:	e9 f5 09 00 00       	jmp    0x42b840
42ae4b:	83 ec 0c             	sub    $0xc,%esp
42ae4e:	dd 14 24             	fstl   (%esp)
42ae51:	e8 72 11 00 00       	call   0x42bfc8
42ae56:	e8 0d 00 00 00       	call   0x42ae68
42ae5b:	83 c4 0c             	add    $0xc,%esp
42ae5e:	c3                   	ret
42ae5f:	8d 54 24 04          	lea    0x4(%esp),%edx
42ae63:	e8 1d 11 00 00       	call   0x42bf85
42ae68:	52                   	push   %edx
42ae69:	9b d9 3c 24          	fstcw  (%esp)
42ae6d:	74 4c                	je     0x42aebb
42ae6f:	8b 44 24 0c          	mov    0xc(%esp),%eax
42ae73:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
42ae79:	74 06                	je     0x42ae81
42ae7b:	d9 2d 48 7a 43 00    	fldcw  0x437a48
42ae81:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
42ae86:	74 5e                	je     0x42aee6
42ae88:	a9 00 00 00 80       	test   $0x80000000,%eax
42ae8d:	75 41                	jne    0x42aed0
42ae8f:	d9 ec                	fldlg2
42ae91:	d9 c9                	fxch   %st(1)
42ae93:	d9 f1                	fyl2x
42ae95:	83 3d 6c fd 43 00 00 	cmpl   $0x0,0x43fd6c
42ae9c:	0f 85 3c 11 00 00    	jne    0x42bfde
42aea2:	8d 0d 40 78 43 00    	lea    0x437840,%ecx
42aea8:	ba 1b 00 00 00       	mov    $0x1b,%edx
42aead:	e9 39 11 00 00       	jmp    0x42bfeb
42aeb2:	a9 00 00 00 80       	test   $0x80000000,%eax
42aeb7:	75 17                	jne    0x42aed0
42aeb9:	eb d4                	jmp    0x42ae8f
42aebb:	a9 ff ff 0f 00       	test   $0xfffff,%eax
42aec0:	75 1d                	jne    0x42aedf
42aec2:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
42aec7:	75 16                	jne    0x42aedf
42aec9:	25 00 00 00 80       	and    $0x80000000,%eax
42aece:	74 c5                	je     0x42ae95
42aed0:	dd d8                	fstp   %st(0)
42aed2:	db 2d 00 7a 43 00    	fldt   0x437a00
42aed8:	b8 01 00 00 00       	mov    $0x1,%eax
42aedd:	eb 22                	jmp    0x42af01
42aedf:	e8 88 10 00 00       	call   0x42bf6c
42aee4:	eb 1b                	jmp    0x42af01
42aee6:	a9 ff ff 0f 00       	test   $0xfffff,%eax
42aeeb:	75 c5                	jne    0x42aeb2
42aeed:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
42aef2:	75 be                	jne    0x42aeb2
42aef4:	dd d8                	fstp   %st(0)
42aef6:	db 2d aa 79 43 00    	fldt   0x4379aa
42aefc:	b8 02 00 00 00       	mov    $0x2,%eax
42af01:	83 3d 6c fd 43 00 00 	cmpl   $0x0,0x43fd6c
42af08:	0f 85 d0 10 00 00    	jne    0x42bfde
42af0e:	8d 0d 40 78 43 00    	lea    0x437840,%ecx
42af14:	ba 1b 00 00 00       	mov    $0x1b,%edx
42af19:	e8 c9 11 00 00       	call   0x42c0e7
42af1e:	5a                   	pop    %edx
42af1f:	c3                   	ret
42af20:	83 3d cc ff 43 00 00 	cmpl   $0x0,0x43ffcc
42af27:	0f 84 ea 13 00 00    	je     0x42c317
42af2d:	83 ec 08             	sub    $0x8,%esp
42af30:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
42af35:	8b 44 24 04          	mov    0x4(%esp),%eax
42af39:	25 80 7f 00 00       	and    $0x7f80,%eax
42af3e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
42af43:	75 0f                	jne    0x42af54
42af45:	d9 3c 24             	fnstcw (%esp)
42af48:	66 8b 04 24          	mov    (%esp),%ax
42af4c:	66 83 e0 7f          	and    $0x7f,%ax
42af50:	66 83 f8 7f          	cmp    $0x7f,%ax
42af54:	8d 64 24 08          	lea    0x8(%esp),%esp
42af58:	0f 85 b9 13 00 00    	jne    0x42c317
42af5e:	eb 00                	jmp    0x42af60
42af60:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
42af66:	66 0f 28 15 60 78 43 	movapd 0x437860,%xmm2
42af6d:	00
42af6e:	66 0f 28 c8          	movapd %xmm0,%xmm1
42af72:	66 0f 28 f8          	movapd %xmm0,%xmm7
42af76:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
42af7b:	66 0f 7e c0          	movd   %xmm0,%eax
42af7f:	66 0f 54 05 80 78 43 	andpd  0x437880,%xmm0
42af86:	00
42af87:	66 0f fa d0          	psubd  %xmm0,%xmm2
42af8b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
42af8f:	a9 00 08 00 00       	test   $0x800,%eax
42af94:	74 4c                	je     0x42afe2
42af96:	3d ff 0b 00 00       	cmp    $0xbff,%eax
42af9b:	7c 7d                	jl     0x42b01a
42af9d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
42afa1:	3d 32 0c 00 00       	cmp    $0xc32,%eax
42afa6:	7f 0b                	jg     0x42afb3
42afa8:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
42afae:	dd 44 24 04          	fldl   0x4(%esp)
42afb2:	c3                   	ret
42afb3:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
42afb7:	7b 24                	jnp    0x42afdd
42afb9:	ba ec 03 00 00       	mov    $0x3ec,%edx
42afbe:	83 ec 10             	sub    $0x10,%esp
42afc1:	89 54 24 0c          	mov    %edx,0xc(%esp)
42afc5:	8b d4                	mov    %esp,%edx
42afc7:	83 c2 14             	add    $0x14,%edx
42afca:	89 54 24 08          	mov    %edx,0x8(%esp)
42afce:	89 54 24 04          	mov    %edx,0x4(%esp)
42afd2:	89 14 24             	mov    %edx,(%esp)
42afd5:	e8 49 11 00 00       	call   0x42c123
42afda:	83 c4 10             	add    $0x10,%esp
42afdd:	dd 44 24 04          	fldl   0x4(%esp)
42afe1:	c3                   	ret
42afe2:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
42afe8:	66 0f f3 ca          	psllq  %xmm2,%xmm1
42afec:	66 0f 28 d8          	movapd %xmm0,%xmm3
42aff0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
42aff5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
42affa:	7c 25                	jl     0x42b021
42affc:	3d 32 04 00 00       	cmp    $0x432,%eax
42b001:	7f b0                	jg     0x42afb3
42b003:	66 0f 54 05 50 78 43 	andpd  0x437850,%xmm0
42b00a:	00
42b00b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
42b00f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
42b015:	dd 44 24 04          	fldl   0x4(%esp)
42b019:	c3                   	ret
42b01a:	dd 05 90 78 43 00    	fldl   0x437890
42b020:	c3                   	ret
42b021:	66 0f c2 1d 70 78 43 	cmpnlepd 0x437870,%xmm3
42b028:	00 06
42b02a:	66 0f 54 1d 50 78 43 	andpd  0x437850,%xmm3
42b031:	00
42b032:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
42b038:	dd 44 24 04          	fldl   0x4(%esp)
42b03c:	c3                   	ret
42b03d:	8b ff                	mov    %edi,%edi
42b03f:	55                   	push   %ebp
42b040:	8b ec                	mov    %esp,%ebp
42b042:	8b 45 0c             	mov    0xc(%ebp),%eax
42b045:	83 20 00             	andl   $0x0,(%eax)
42b048:	83 60 04 00          	andl   $0x0,0x4(%eax)
42b04c:	8b 45 08             	mov    0x8(%ebp),%eax
42b04f:	5d                   	pop    %ebp
42b050:	c3                   	ret
42b051:	8b ff                	mov    %edi,%edi
42b053:	55                   	push   %ebp
42b054:	8b ec                	mov    %esp,%ebp
42b056:	8b 45 08             	mov    0x8(%ebp),%eax
42b059:	83 20 00             	andl   $0x0,(%eax)
42b05c:	83 60 04 00          	andl   $0x0,0x4(%eax)
42b060:	8b 45 0c             	mov    0xc(%ebp),%eax
42b063:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42b067:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
42b06e:	83 c8 ff             	or     $0xffffffff,%eax
42b071:	5d                   	pop    %ebp
42b072:	c3                   	ret
42b073:	8b ff                	mov    %edi,%edi
42b075:	55                   	push   %ebp
42b076:	8b ec                	mov    %esp,%ebp
42b078:	83 ec 24             	sub    $0x24,%esp
42b07b:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42b080:	33 c5                	xor    %ebp,%eax
42b082:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b085:	8b 4d 08             	mov    0x8(%ebp),%ecx
42b088:	8b 45 0c             	mov    0xc(%ebp),%eax
42b08b:	53                   	push   %ebx
42b08c:	56                   	push   %esi
42b08d:	8b 75 14             	mov    0x14(%ebp),%esi
42b090:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42b093:	8b 4d 18             	mov    0x18(%ebp),%ecx
42b096:	89 45 e0             	mov    %eax,-0x20(%ebp)
42b099:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42b09c:	57                   	push   %edi
42b09d:	85 f6                	test   %esi,%esi
42b09f:	75 05                	jne    0x42b0a6
42b0a1:	be 60 fd 43 00       	mov    $0x43fd60,%esi
42b0a6:	33 d2                	xor    %edx,%edx
42b0a8:	33 db                	xor    %ebx,%ebx
42b0aa:	42                   	inc    %edx
42b0ab:	85 c0                	test   %eax,%eax
42b0ad:	75 11                	jne    0x42b0c0
42b0af:	8b c2                	mov    %edx,%eax
42b0b1:	bf 04 16 43 00       	mov    $0x431604,%edi
42b0b6:	89 45 10             	mov    %eax,0x10(%ebp)
42b0b9:	8b c3                	mov    %ebx,%eax
42b0bb:	89 45 e8             	mov    %eax,-0x18(%ebp)
42b0be:	eb 12                	jmp    0x42b0d2
42b0c0:	8b f8                	mov    %eax,%edi
42b0c2:	39 5d 10             	cmp    %ebx,0x10(%ebp)
42b0c5:	75 08                	jne    0x42b0cf
42b0c7:	6a fe                	push   $0xfffffffe
42b0c9:	58                   	pop    %eax
42b0ca:	e9 46 01 00 00       	jmp    0x42b215
42b0cf:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b0d2:	66 39 5e 06          	cmp    %bx,0x6(%esi)
42b0d6:	75 5c                	jne    0x42b134
42b0d8:	8a 1f                	mov    (%edi),%bl
42b0da:	47                   	inc    %edi
42b0db:	84 db                	test   %bl,%bl
42b0dd:	78 18                	js     0x42b0f7
42b0df:	85 c0                	test   %eax,%eax
42b0e1:	74 08                	je     0x42b0eb
42b0e3:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42b0e6:	0f b6 c3             	movzbl %bl,%eax
42b0e9:	89 01                	mov    %eax,(%ecx)
42b0eb:	33 c0                	xor    %eax,%eax
42b0ed:	84 db                	test   %bl,%bl
42b0ef:	0f 95 c0             	setne  %al
42b0f2:	e9 1e 01 00 00       	jmp    0x42b215