43183b:	40                   	inc    %eax
43183c:	c9                   	leave
43183d:	c3                   	ret
43183e:	dd d8                	fstp   %st(0)
431840:	33 c0                	xor    %eax,%eax
431842:	c9                   	leave
431843:	c3                   	ret
431844:	8b ff                	mov    %edi,%edi
431846:	55                   	push   %ebp
431847:	8b ec                	mov    %esp,%ebp
431849:	dd 45 08             	fldl   0x8(%ebp)
43184c:	b9 00 00 f0 7f       	mov    $0x7ff00000,%ecx
431851:	d9 e1                	fabs
431853:	b8 00 00 f0 ff       	mov    $0xfff00000,%eax
431858:	39 4d 14             	cmp    %ecx,0x14(%ebp)
43185b:	75 3b                	jne    0x431898
43185d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
431861:	75 75                	jne    0x4318d8
431863:	d9 e8                	fld1
431865:	d8 d1                	fcom   %st(1)
431867:	df e0                	fnstsw %ax
431869:	f6 c4 05             	test   $0x5,%ah
43186c:	7a 0f                	jp     0x43187d
43186e:	dd d9                	fstp   %st(1)
431870:	dd d8                	fstp   %st(0)
431872:	dd 05 98 26 44 00    	fldl   0x442698
431878:	e9 e9 00 00 00       	jmp    0x431966
43187d:	d8 d1                	fcom   %st(1)
43187f:	df e0                	fnstsw %ax
431881:	dd d9                	fstp   %st(1)
431883:	f6 c4 41             	test   $0x41,%ah
431886:	8b 45 18             	mov    0x18(%ebp),%eax
431889:	0f 85 da 00 00 00    	jne    0x431969
43188f:	dd d8                	fstp   %st(0)
431891:	d9 ee                	fldz
431893:	e9 d1 00 00 00       	jmp    0x431969
431898:	39 45 14             	cmp    %eax,0x14(%ebp)
43189b:	75 3b                	jne    0x4318d8
43189d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4318a1:	75 35                	jne    0x4318d8
4318a3:	d9 e8                	fld1
4318a5:	d8 d1                	fcom   %st(1)
4318a7:	df e0                	fnstsw %ax
4318a9:	f6 c4 05             	test   $0x5,%ah
4318ac:	7a 0b                	jp     0x4318b9
4318ae:	dd d9                	fstp   %st(1)
4318b0:	dd d8                	fstp   %st(0)
4318b2:	d9 ee                	fldz
4318b4:	e9 ad 00 00 00       	jmp    0x431966
4318b9:	d8 d1                	fcom   %st(1)
4318bb:	df e0                	fnstsw %ax
4318bd:	dd d9                	fstp   %st(1)
4318bf:	f6 c4 41             	test   $0x41,%ah
4318c2:	8b 45 18             	mov    0x18(%ebp),%eax
4318c5:	0f 85 9e 00 00 00    	jne    0x431969
4318cb:	dd d8                	fstp   %st(0)
4318cd:	dd 05 98 26 44 00    	fldl   0x442698
4318d3:	e9 91 00 00 00       	jmp    0x431969
4318d8:	dd d8                	fstp   %st(0)
4318da:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4318dd:	75 2e                	jne    0x43190d
4318df:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4318e3:	0f 85 82 00 00 00    	jne    0x43196b
4318e9:	d9 ee                	fldz
4318eb:	dd 45 10             	fldl   0x10(%ebp)
4318ee:	d8 d1                	fcom   %st(1)
4318f0:	df e0                	fnstsw %ax
4318f2:	f6 c4 41             	test   $0x41,%ah
4318f5:	0f 84 73 ff ff ff    	je     0x43186e
4318fb:	d8 d9                	fcomp  %st(1)
4318fd:	df e0                	fnstsw %ax
4318ff:	f6 c4 05             	test   $0x5,%ah
431902:	8b 45 18             	mov    0x18(%ebp),%eax
431905:	7b 62                	jnp    0x431969
431907:	dd d8                	fstp   %st(0)
431909:	d9 e8                	fld1
43190b:	eb 5c                	jmp    0x431969
43190d:	39 45 0c             	cmp    %eax,0xc(%ebp)
431910:	75 59                	jne    0x43196b
431912:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
431916:	75 53                	jne    0x43196b
431918:	dd 45 10             	fldl   0x10(%ebp)
43191b:	51                   	push   %ecx
43191c:	51                   	push   %ecx
43191d:	dd 1c 24             	fstpl  (%esp)
431920:	e8 b7 fe ff ff       	call   0x4317dc
431925:	d9 ee                	fldz
431927:	dd 45 10             	fldl   0x10(%ebp)
43192a:	59                   	pop    %ecx
43192b:	59                   	pop    %ecx
43192c:	d8 d1                	fcom   %st(1)
43192e:	8b c8                	mov    %eax,%ecx
431930:	df e0                	fnstsw %ax
431932:	f6 c4 41             	test   $0x41,%ah
431935:	75 13                	jne    0x43194a
431937:	dd d9                	fstp   %st(1)
431939:	dd d8                	fstp   %st(0)
43193b:	dd 05 98 26 44 00    	fldl   0x442698
431941:	83 f9 01             	cmp    $0x1,%ecx
431944:	75 20                	jne    0x431966
431946:	d9 e0                	fchs
431948:	eb 1c                	jmp    0x431966
43194a:	d8 d9                	fcomp  %st(1)
43194c:	df e0                	fnstsw %ax
43194e:	f6 c4 05             	test   $0x5,%ah
431951:	7a 0f                	jp     0x431962
431953:	83 f9 01             	cmp    $0x1,%ecx
431956:	75 0e                	jne    0x431966
431958:	dd d8                	fstp   %st(0)
43195a:	dd 05 a8 26 44 00    	fldl   0x4426a8
431960:	eb 04                	jmp    0x431966
431962:	dd d8                	fstp   %st(0)
431964:	d9 e8                	fld1
431966:	8b 45 18             	mov    0x18(%ebp),%eax
431969:	dd 18                	fstpl  (%eax)
43196b:	33 c0                	xor    %eax,%eax
43196d:	5d                   	pop    %ebp
43196e:	c3                   	ret
43196f:	6a 0c                	push   $0xc
431971:	68 90 33 45 00       	push   $0x453390
431976:	e8 95 8f fe ff       	call   0x41a910
43197b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43197f:	8b 45 08             	mov    0x8(%ebp),%eax
431982:	ff 30                	push   (%eax)
431984:	e8 18 4f ff ff       	call   0x4268a1
431989:	59                   	pop    %ecx
43198a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43198e:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
431994:	83 e1 1f             	and    $0x1f,%ecx
431997:	8b 35 88 71 45 00    	mov    0x457188,%esi
43199d:	33 35 14 50 45 00    	xor    0x455014,%esi
4319a3:	d3 ce                	ror    %cl,%esi
4319a5:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4319a8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4319af:	e8 17 00 00 00       	call   0x4319cb
4319b4:	8b c6                	mov    %esi,%eax
4319b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4319b9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4319c0:	59                   	pop    %ecx
4319c1:	5f                   	pop    %edi
4319c2:	5e                   	pop    %esi
4319c3:	5b                   	pop    %ebx
4319c4:	c9                   	leave
4319c5:	c2 0c 00             	ret    $0xc
4319c8:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4319cb:	8b 4d 10             	mov    0x10(%ebp),%ecx
4319ce:	ff 31                	push   (%ecx)
4319d0:	e8 1c 4f ff ff       	call   0x4268f1
4319d5:	59                   	pop    %ecx
4319d6:	c3                   	ret
4319d7:	8b ff                	mov    %edi,%edi
4319d9:	55                   	push   %ebp
4319da:	8b ec                	mov    %esp,%ebp
4319dc:	8b 45 08             	mov    0x8(%ebp),%eax
4319df:	48                   	dec    %eax
4319e0:	83 e8 01             	sub    $0x1,%eax
4319e3:	74 2d                	je     0x431a12
4319e5:	83 e8 04             	sub    $0x4,%eax
4319e8:	74 21                	je     0x431a0b
4319ea:	83 e8 09             	sub    $0x9,%eax
4319ed:	74 15                	je     0x431a04
4319ef:	83 e8 06             	sub    $0x6,%eax
4319f2:	74 09                	je     0x4319fd
4319f4:	83 e8 01             	sub    $0x1,%eax
4319f7:	74 12                	je     0x431a0b
4319f9:	33 c0                	xor    %eax,%eax
4319fb:	5d                   	pop    %ebp
4319fc:	c3                   	ret
4319fd:	b8 84 71 45 00       	mov    $0x457184,%eax
431a02:	5d                   	pop    %ebp
431a03:	c3                   	ret
431a04:	b8 8c 71 45 00       	mov    $0x45718c,%eax
431a09:	5d                   	pop    %ebp
431a0a:	c3                   	ret
431a0b:	b8 88 71 45 00       	mov    $0x457188,%eax
431a10:	5d                   	pop    %ebp
431a11:	c3                   	ret
431a12:	b8 80 71 45 00       	mov    $0x457180,%eax
431a17:	5d                   	pop    %ebp
431a18:	c3                   	ret
431a19:	8b ff                	mov    %edi,%edi
431a1b:	55                   	push   %ebp
431a1c:	8b ec                	mov    %esp,%ebp
431a1e:	6b 0d 50 18 44 00 0c 	imul   $0xc,0x441850,%ecx
431a25:	8b 45 0c             	mov    0xc(%ebp),%eax
431a28:	03 c8                	add    %eax,%ecx
431a2a:	3b c1                	cmp    %ecx,%eax
431a2c:	74 0f                	je     0x431a3d
431a2e:	8b 55 08             	mov    0x8(%ebp),%edx
431a31:	39 50 04             	cmp    %edx,0x4(%eax)
431a34:	74 09                	je     0x431a3f
431a36:	83 c0 0c             	add    $0xc,%eax
431a39:	3b c1                	cmp    %ecx,%eax
431a3b:	75 f4                	jne    0x431a31
431a3d:	33 c0                	xor    %eax,%eax
431a3f:	5d                   	pop    %ebp
431a40:	c3                   	ret
431a41:	8b ff                	mov    %edi,%edi
431a43:	55                   	push   %ebp
431a44:	8b ec                	mov    %esp,%ebp
431a46:	83 ec 0c             	sub    $0xc,%esp
431a49:	6a 03                	push   $0x3
431a4b:	58                   	pop    %eax
431a4c:	89 45 f8             	mov    %eax,-0x8(%ebp)
431a4f:	8d 4d ff             	lea    -0x1(%ebp),%ecx
431a52:	89 45 f4             	mov    %eax,-0xc(%ebp)
431a55:	8d 45 f8             	lea    -0x8(%ebp),%eax
431a58:	50                   	push   %eax
431a59:	8d 45 ff             	lea    -0x1(%ebp),%eax
431a5c:	50                   	push   %eax
431a5d:	8d 45 f4             	lea    -0xc(%ebp),%eax
431a60:	50                   	push   %eax
431a61:	e8 09 ff ff ff       	call   0x43196f
431a66:	c9                   	leave
431a67:	c3                   	ret
431a68:	8b ff                	mov    %edi,%edi
431a6a:	55                   	push   %ebp
431a6b:	8b ec                	mov    %esp,%ebp
431a6d:	8b 45 08             	mov    0x8(%ebp),%eax
431a70:	a3 80 71 45 00       	mov    %eax,0x457180
431a75:	a3 84 71 45 00       	mov    %eax,0x457184
431a7a:	a3 88 71 45 00       	mov    %eax,0x457188
431a7f:	a3 8c 71 45 00       	mov    %eax,0x45718c
431a84:	5d                   	pop    %ebp
431a85:	c3                   	ret
431a86:	6a 28                	push   $0x28
431a88:	68 70 33 45 00       	push   $0x453370
431a8d:	e8 7e 8e fe ff       	call   0x41a910
431a92:	33 ff                	xor    %edi,%edi
431a94:	89 7d d8             	mov    %edi,-0x28(%ebp)
431a97:	21 7d cc             	and    %edi,-0x34(%ebp)
431a9a:	b3 01                	mov    $0x1,%bl
431a9c:	88 5d e7             	mov    %bl,-0x19(%ebp)
431a9f:	8b 75 08             	mov    0x8(%ebp),%esi
431aa2:	83 fe 0b             	cmp    $0xb,%esi
431aa5:	7f 57                	jg     0x431afe
431aa7:	74 15                	je     0x431abe
431aa9:	8b c6                	mov    %esi,%eax
431aab:	6a 02                	push   $0x2
431aad:	59                   	pop    %ecx
431aae:	2b c1                	sub    %ecx,%eax
431ab0:	74 5d                	je     0x431b0f
431ab2:	2b c1                	sub    %ecx,%eax
431ab4:	74 08                	je     0x431abe
431ab6:	2b c1                	sub    %ecx,%eax
431ab8:	74 55                	je     0x431b0f
431aba:	2b c1                	sub    %ecx,%eax
431abc:	75 24                	jne    0x431ae2
431abe:	e8 57 8c ff ff       	call   0x42a71a
431ac3:	8b f8                	mov    %eax,%edi
431ac5:	89 7d d8             	mov    %edi,-0x28(%ebp)
431ac8:	85 ff                	test   %edi,%edi
431aca:	75 08                	jne    0x431ad4
431acc:	83 c8 ff             	or     $0xffffffff,%eax
431acf:	e9 80 01 00 00       	jmp    0x431c54
431ad4:	ff 37                	push   (%edi)
431ad6:	56                   	push   %esi
431ad7:	e8 3d ff ff ff       	call   0x431a19
431adc:	59                   	pop    %ecx
431add:	59                   	pop    %ecx
431ade:	85 c0                	test   %eax,%eax
431ae0:	75 12                	jne    0x431af4
431ae2:	e8 49 1f ff ff       	call   0x423a30
431ae7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
431aed:	e8 91 de fe ff       	call   0x41f983
431af2:	eb d8                	jmp    0x431acc
431af4:	83 c0 08             	add    $0x8,%eax
431af7:	32 db                	xor    %bl,%bl
431af9:	88 5d e7             	mov    %bl,-0x19(%ebp)
431afc:	eb 1a                	jmp    0x431b18
431afe:	8b c6                	mov    %esi,%eax
431b00:	83 e8 0f             	sub    $0xf,%eax
431b03:	74 0a                	je     0x431b0f
431b05:	83 e8 06             	sub    $0x6,%eax
431b08:	74 05                	je     0x431b0f
431b0a:	83 e8 01             	sub    $0x1,%eax
431b0d:	75 d3                	jne    0x431ae2
431b0f:	56                   	push   %esi
431b10:	e8 c2 fe ff ff       	call   0x4319d7
431b15:	83 c4 04             	add    $0x4,%esp
431b18:	89 45 dc             	mov    %eax,-0x24(%ebp)
431b1b:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
431b1f:	84 db                	test   %bl,%bl
431b21:	74 08                	je     0x431b2b
431b23:	6a 03                	push   $0x3
431b25:	e8 77 4d ff ff       	call   0x4268a1
431b2a:	59                   	pop    %ecx
431b2b:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
431b2f:	c6 45 e6 00          	movb   $0x0,-0x1a(%ebp)
431b33:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431b37:	8b 45 dc             	mov    -0x24(%ebp),%eax
431b3a:	8b 08                	mov    (%eax),%ecx
431b3c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
431b3f:	84 db                	test   %bl,%bl
431b41:	74 0c                	je     0x431b4f
431b43:	51                   	push   %ecx
431b44:	e8 0d 64 ff ff       	call   0x427f56
431b49:	59                   	pop    %ecx
431b4a:	8b c8                	mov    %eax,%ecx
431b4c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
431b4f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
431b52:	83 f9 01             	cmp    $0x1,%ecx
431b55:	0f 94 c7             	sete   %bh
431b58:	88 7d e6             	mov    %bh,-0x1a(%ebp)
431b5b:	84 ff                	test   %bh,%bh
431b5d:	75 71                	jne    0x431bd0
431b5f:	85 c9                	test   %ecx,%ecx
431b61:	0f 84 fd 00 00 00    	je     0x431c64
431b67:	83 fe 08             	cmp    $0x8,%esi
431b6a:	74 0a                	je     0x431b76
431b6c:	83 fe 0b             	cmp    $0xb,%esi
431b6f:	74 05                	je     0x431b76
431b71:	83 fe 04             	cmp    $0x4,%esi
431b74:	75 29                	jne    0x431b9f
431b76:	8b 47 04             	mov    0x4(%edi),%eax
431b79:	89 45 d0             	mov    %eax,-0x30(%ebp)
431b7c:	83 67 04 00          	andl   $0x0,0x4(%edi)
431b80:	83 fe 08             	cmp    $0x8,%esi
431b83:	75 41                	jne    0x431bc6
431b85:	e8 3f 8a ff ff       	call   0x42a5c9
431b8a:	8b 40 08             	mov    0x8(%eax),%eax
431b8d:	89 45 cc             	mov    %eax,-0x34(%ebp)
431b90:	e8 34 8a ff ff       	call   0x42a5c9
431b95:	c7 40 08 8c 00 00 00 	movl   $0x8c,0x8(%eax)
431b9c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
431b9f:	83 fe 08             	cmp    $0x8,%esi
431ba2:	75 22                	jne    0x431bc6
431ba4:	6b 05 54 18 44 00 0c 	imul   $0xc,0x441854,%eax
431bab:	03 07                	add    (%edi),%eax
431bad:	6b 15 58 18 44 00 0c 	imul   $0xc,0x441858,%edx
431bb4:	03 d0                	add    %eax,%edx
431bb6:	89 45 c8             	mov    %eax,-0x38(%ebp)
431bb9:	3b c2                	cmp    %edx,%eax
431bbb:	74 13                	je     0x431bd0
431bbd:	83 60 08 00          	andl   $0x0,0x8(%eax)
431bc1:	83 c0 0c             	add    $0xc,%eax
431bc4:	eb f0                	jmp    0x431bb6
431bc6:	a1 14 50 45 00       	mov    0x455014,%eax
431bcb:	8b 55 dc             	mov    -0x24(%ebp),%edx
431bce:	89 02                	mov    %eax,(%edx)
431bd0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
431bd7:	e8 34 00 00 00       	call   0x431c10
431bdc:	84 ff                	test   %bh,%bh
431bde:	75 72                	jne    0x431c52
431be0:	83 fe 08             	cmp    $0x8,%esi
431be3:	75 3b                	jne    0x431c20
431be5:	e8 df 89 ff ff       	call   0x42a5c9
431bea:	ff 70 08             	push   0x8(%eax)
431bed:	56                   	push   %esi
431bee:	8b 5d e0             	mov    -0x20(%ebp),%ebx