605de4:	53                   	push   %ebx
605de5:	dd d8                	fstp   %st(0)
605de7:	e8 ae 0f 00 00       	call   0x606d9a
605dec:	dd 45 f8             	fldl   -0x8(%ebp)
605def:	59                   	pop    %ecx
605df0:	59                   	pop    %ecx
605df1:	5e                   	pop    %esi
605df2:	5b                   	pop    %ebx
605df3:	c9                   	leave
605df4:	c3                   	ret
605df5:	8b ff                	mov    %edi,%edi
605df7:	55                   	push   %ebp
605df8:	8b ec                	mov    %esp,%ebp
605dfa:	56                   	push   %esi
605dfb:	8b 75 08             	mov    0x8(%ebp),%esi
605dfe:	83 fe e0             	cmp    $0xffffffe0,%esi
605e01:	77 30                	ja     0x605e33
605e03:	85 f6                	test   %esi,%esi
605e05:	75 17                	jne    0x605e1e
605e07:	46                   	inc    %esi
605e08:	eb 14                	jmp    0x605e1e
605e0a:	e8 45 e2 ff ff       	call   0x604054
605e0f:	85 c0                	test   %eax,%eax
605e11:	74 20                	je     0x605e33
605e13:	56                   	push   %esi
605e14:	e8 af b3 ff ff       	call   0x6011c8
605e19:	59                   	pop    %ecx
605e1a:	85 c0                	test   %eax,%eax
605e1c:	74 15                	je     0x605e33
605e1e:	56                   	push   %esi
605e1f:	6a 00                	push   $0x0
605e21:	ff 35 88 14 73 00    	push   0x731488
605e27:	ff 15 90 21 68 00    	call   *0x682190
605e2d:	85 c0                	test   %eax,%eax
605e2f:	74 d9                	je     0x605e0a
605e31:	eb 0d                	jmp    0x605e40
605e33:	e8 c1 71 fe ff       	call   0x5ecff9
605e38:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
605e3e:	33 c0                	xor    %eax,%eax
605e40:	5e                   	pop    %esi
605e41:	5d                   	pop    %ebp
605e42:	c3                   	ret
605e43:	8b ff                	mov    %edi,%edi
605e45:	55                   	push   %ebp
605e46:	8b ec                	mov    %esp,%ebp
605e48:	83 ec 10             	sub    $0x10,%esp
605e4b:	53                   	push   %ebx
605e4c:	57                   	push   %edi
605e4d:	8b 7d 0c             	mov    0xc(%ebp),%edi
605e50:	85 ff                	test   %edi,%edi
605e52:	0f 84 19 01 00 00    	je     0x605f71
605e58:	8b 5d 10             	mov    0x10(%ebp),%ebx
605e5b:	85 db                	test   %ebx,%ebx
605e5d:	0f 84 0e 01 00 00    	je     0x605f71
605e63:	80 3f 00             	cmpb   $0x0,(%edi)
605e66:	75 15                	jne    0x605e7d
605e68:	8b 45 08             	mov    0x8(%ebp),%eax
605e6b:	85 c0                	test   %eax,%eax
605e6d:	0f 84 0c 01 00 00    	je     0x605f7f
605e73:	33 c9                	xor    %ecx,%ecx
605e75:	66 89 08             	mov    %cx,(%eax)
605e78:	e9 02 01 00 00       	jmp    0x605f7f
605e7d:	56                   	push   %esi
605e7e:	ff 75 14             	push   0x14(%ebp)
605e81:	8d 4d f0             	lea    -0x10(%ebp),%ecx
605e84:	e8 04 7d fe ff       	call   0x5edb8d
605e89:	8b 45 f4             	mov    -0xc(%ebp),%eax
605e8c:	81 78 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%eax)
605e93:	75 21                	jne    0x605eb6
605e95:	68 c0 12 73 00       	push   $0x7312c0
605e9a:	53                   	push   %ebx
605e9b:	57                   	push   %edi
605e9c:	ff 75 08             	push   0x8(%ebp)
605e9f:	e8 9a 10 00 00       	call   0x606f3e
605ea4:	8b f0                	mov    %eax,%esi
605ea6:	83 c4 10             	add    $0x10,%esp
605ea9:	85 f6                	test   %esi,%esi
605eab:	0f 89 ab 00 00 00    	jns    0x605f5c
605eb1:	e9 a3 00 00 00       	jmp    0x605f59
605eb6:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
605ebd:	75 15                	jne    0x605ed4
605ebf:	8b 4d 08             	mov    0x8(%ebp),%ecx
605ec2:	85 c9                	test   %ecx,%ecx
605ec4:	74 06                	je     0x605ecc
605ec6:	0f b6 07             	movzbl (%edi),%eax
605ec9:	66 89 01             	mov    %ax,(%ecx)
605ecc:	33 f6                	xor    %esi,%esi
605ece:	46                   	inc    %esi
605ecf:	e9 88 00 00 00       	jmp    0x605f5c
605ed4:	8d 45 f4             	lea    -0xc(%ebp),%eax
605ed7:	50                   	push   %eax
605ed8:	0f b6 07             	movzbl (%edi),%eax
605edb:	50                   	push   %eax
605edc:	e8 ee a2 ff ff       	call   0x6001cf
605ee1:	59                   	pop    %ecx
605ee2:	59                   	pop    %ecx
605ee3:	85 c0                	test   %eax,%eax
605ee5:	74 42                	je     0x605f29
605ee7:	8b 75 f4             	mov    -0xc(%ebp),%esi
605eea:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
605eee:	7e 29                	jle    0x605f19
605ef0:	3b 5e 04             	cmp    0x4(%esi),%ebx
605ef3:	7c 27                	jl     0x605f1c
605ef5:	33 c0                	xor    %eax,%eax
605ef7:	39 45 08             	cmp    %eax,0x8(%ebp)
605efa:	0f 95 c0             	setne  %al
605efd:	50                   	push   %eax
605efe:	ff 75 08             	push   0x8(%ebp)
605f01:	ff 76 04             	push   0x4(%esi)
605f04:	57                   	push   %edi
605f05:	6a 09                	push   $0x9
605f07:	ff 76 08             	push   0x8(%esi)
605f0a:	e8 87 0f 00 00       	call   0x606e96
605f0f:	8b 75 f4             	mov    -0xc(%ebp),%esi
605f12:	83 c4 18             	add    $0x18,%esp
605f15:	85 c0                	test   %eax,%eax
605f17:	75 0b                	jne    0x605f24
605f19:	3b 5e 04             	cmp    0x4(%esi),%ebx
605f1c:	72 30                	jb     0x605f4e
605f1e:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
605f22:	74 2a                	je     0x605f4e
605f24:	8b 76 04             	mov    0x4(%esi),%esi
605f27:	eb 33                	jmp    0x605f5c
605f29:	33 c0                	xor    %eax,%eax
605f2b:	39 45 08             	cmp    %eax,0x8(%ebp)
605f2e:	0f 95 c0             	setne  %al
605f31:	33 f6                	xor    %esi,%esi
605f33:	50                   	push   %eax
605f34:	ff 75 08             	push   0x8(%ebp)
605f37:	8b 45 f4             	mov    -0xc(%ebp),%eax
605f3a:	46                   	inc    %esi
605f3b:	56                   	push   %esi
605f3c:	57                   	push   %edi
605f3d:	6a 09                	push   $0x9
605f3f:	ff 70 08             	push   0x8(%eax)
605f42:	e8 4f 0f 00 00       	call   0x606e96
605f47:	83 c4 18             	add    $0x18,%esp
605f4a:	85 c0                	test   %eax,%eax
605f4c:	75 0e                	jne    0x605f5c
605f4e:	e8 a6 70 fe ff       	call   0x5ecff9
605f53:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
605f59:	83 ce ff             	or     $0xffffffff,%esi
605f5c:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
605f60:	74 0a                	je     0x605f6c
605f62:	8b 4d f0             	mov    -0x10(%ebp),%ecx
605f65:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
605f6c:	8b c6                	mov    %esi,%eax
605f6e:	5e                   	pop    %esi
605f6f:	eb 10                	jmp    0x605f81
605f71:	83 25 c0 12 73 00 00 	andl   $0x0,0x7312c0
605f78:	83 25 c4 12 73 00 00 	andl   $0x0,0x7312c4
605f7f:	33 c0                	xor    %eax,%eax
605f81:	5f                   	pop    %edi
605f82:	5b                   	pop    %ebx
605f83:	c9                   	leave
605f84:	c3                   	ret
605f85:	8b ff                	mov    %edi,%edi
605f87:	55                   	push   %ebp
605f88:	8b ec                	mov    %esp,%ebp
605f8a:	6a 00                	push   $0x0
605f8c:	ff 75 10             	push   0x10(%ebp)
605f8f:	ff 75 0c             	push   0xc(%ebp)
605f92:	ff 75 08             	push   0x8(%ebp)
605f95:	e8 a9 fe ff ff       	call   0x605e43
605f9a:	83 c4 10             	add    $0x10,%esp
605f9d:	5d                   	pop    %ebp
605f9e:	c3                   	ret
605f9f:	8b ff                	mov    %edi,%edi
605fa1:	55                   	push   %ebp
605fa2:	8b ec                	mov    %esp,%ebp
605fa4:	83 ec 18             	sub    $0x18,%esp
605fa7:	57                   	push   %edi
605fa8:	8b 7d 0c             	mov    0xc(%ebp),%edi
605fab:	85 ff                	test   %edi,%edi
605fad:	75 15                	jne    0x605fc4
605faf:	39 7d 10             	cmp    %edi,0x10(%ebp)
605fb2:	76 10                	jbe    0x605fc4
605fb4:	8b 45 08             	mov    0x8(%ebp),%eax
605fb7:	85 c0                	test   %eax,%eax
605fb9:	74 02                	je     0x605fbd
605fbb:	21 38                	and    %edi,(%eax)
605fbd:	33 c0                	xor    %eax,%eax
605fbf:	e9 ba 00 00 00       	jmp    0x60607e
605fc4:	53                   	push   %ebx
605fc5:	8b 5d 08             	mov    0x8(%ebp),%ebx
605fc8:	85 db                	test   %ebx,%ebx
605fca:	74 03                	je     0x605fcf
605fcc:	83 0b ff             	orl    $0xffffffff,(%ebx)
605fcf:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
605fd6:	56                   	push   %esi
605fd7:	76 14                	jbe    0x605fed
605fd9:	e8 1b 70 fe ff       	call   0x5ecff9
605fde:	6a 16                	push   $0x16
605fe0:	5e                   	pop    %esi
605fe1:	89 30                	mov    %esi,(%eax)
605fe3:	e8 37 6f fe ff       	call   0x5ecf1f
605fe8:	e9 8d 00 00 00       	jmp    0x60607a
605fed:	ff 75 18             	push   0x18(%ebp)
605ff0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
605ff3:	e8 95 7b fe ff       	call   0x5edb8d
605ff8:	8b 45 ec             	mov    -0x14(%ebp),%eax
605ffb:	33 f6                	xor    %esi,%esi
605ffd:	8b 48 08             	mov    0x8(%eax),%ecx
606000:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
606006:	75 2c                	jne    0x606034
606008:	8d 45 f8             	lea    -0x8(%ebp),%eax
60600b:	89 75 f8             	mov    %esi,-0x8(%ebp)
60600e:	50                   	push   %eax
60600f:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
606013:	50                   	push   %eax
606014:	57                   	push   %edi
606015:	89 75 fc             	mov    %esi,-0x4(%ebp)
606018:	e8 da a5 00 00       	call   0x6105f7
60601d:	83 c4 0c             	add    $0xc,%esp
606020:	85 db                	test   %ebx,%ebx
606022:	74 02                	je     0x606026
606024:	89 03                	mov    %eax,(%ebx)
606026:	83 f8 04             	cmp    $0x4,%eax
606029:	7e 3f                	jle    0x60606a
60602b:	e8 c9 6f fe ff       	call   0x5ecff9
606030:	8b 30                	mov    (%eax),%esi
606032:	eb 36                	jmp    0x60606a
606034:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
60603a:	75 5c                	jne    0x606098
60603c:	66 8b 45 14          	mov    0x14(%ebp),%ax
606040:	b9 ff 00 00 00       	mov    $0xff,%ecx
606045:	66 3b c1             	cmp    %cx,%ax
606048:	76 37                	jbe    0x606081
60604a:	85 ff                	test   %edi,%edi
60604c:	74 12                	je     0x606060
60604e:	39 75 10             	cmp    %esi,0x10(%ebp)
606051:	76 0d                	jbe    0x606060
606053:	ff 75 10             	push   0x10(%ebp)
606056:	56                   	push   %esi
606057:	57                   	push   %edi
606058:	e8 a3 d9 fd ff       	call   0x5e3a00
60605d:	83 c4 0c             	add    $0xc,%esp
606060:	e8 94 6f fe ff       	call   0x5ecff9
606065:	6a 2a                	push   $0x2a
606067:	5e                   	pop    %esi
606068:	89 30                	mov    %esi,(%eax)
60606a:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
60606e:	74 0a                	je     0x60607a
606070:	8b 4d e8             	mov    -0x18(%ebp),%ecx
606073:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
60607a:	8b c6                	mov    %esi,%eax
60607c:	5e                   	pop    %esi
60607d:	5b                   	pop    %ebx
60607e:	5f                   	pop    %edi
60607f:	c9                   	leave
606080:	c3                   	ret
606081:	85 ff                	test   %edi,%edi
606083:	74 07                	je     0x60608c
606085:	39 75 10             	cmp    %esi,0x10(%ebp)
606088:	76 5c                	jbe    0x6060e6
60608a:	88 07                	mov    %al,(%edi)
60608c:	85 db                	test   %ebx,%ebx
60608e:	74 da                	je     0x60606a
606090:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
606096:	eb d2                	jmp    0x60606a
606098:	8d 45 fc             	lea    -0x4(%ebp),%eax
60609b:	89 75 fc             	mov    %esi,-0x4(%ebp)
60609e:	50                   	push   %eax
60609f:	56                   	push   %esi
6060a0:	ff 75 10             	push   0x10(%ebp)
6060a3:	8d 45 14             	lea    0x14(%ebp),%eax
6060a6:	57                   	push   %edi
6060a7:	6a 01                	push   $0x1
6060a9:	50                   	push   %eax
6060aa:	56                   	push   %esi
6060ab:	51                   	push   %ecx
6060ac:	e8 97 19 00 00       	call   0x607a48
6060b1:	83 c4 20             	add    $0x20,%esp
6060b4:	85 c0                	test   %eax,%eax
6060b6:	74 0d                	je     0x6060c5
6060b8:	39 75 fc             	cmp    %esi,-0x4(%ebp)
6060bb:	75 a3                	jne    0x606060
6060bd:	85 db                	test   %ebx,%ebx
6060bf:	74 a9                	je     0x60606a
6060c1:	89 03                	mov    %eax,(%ebx)
6060c3:	eb a5                	jmp    0x60606a
6060c5:	ff 15 e0 21 68 00    	call   *0x6821e0
6060cb:	83 f8 7a             	cmp    $0x7a,%eax
6060ce:	75 90                	jne    0x606060
6060d0:	85 ff                	test   %edi,%edi
6060d2:	74 12                	je     0x6060e6
6060d4:	39 75 10             	cmp    %esi,0x10(%ebp)
6060d7:	76 0d                	jbe    0x6060e6
6060d9:	ff 75 10             	push   0x10(%ebp)
6060dc:	56                   	push   %esi
6060dd:	57                   	push   %edi
6060de:	e8 1d d9 fd ff       	call   0x5e3a00
6060e3:	83 c4 0c             	add    $0xc,%esp
6060e6:	e8 0e 6f fe ff       	call   0x5ecff9
6060eb:	6a 22                	push   $0x22
6060ed:	5e                   	pop    %esi
6060ee:	89 30                	mov    %esi,(%eax)
6060f0:	e8 2a 6e fe ff       	call   0x5ecf1f
6060f5:	e9 70 ff ff ff       	jmp    0x60606a
6060fa:	8b ff                	mov    %edi,%edi
6060fc:	55                   	push   %ebp
6060fd:	8b ec                	mov    %esp,%ebp
6060ff:	6a 00                	push   $0x0
606101:	ff 75 14             	push   0x14(%ebp)
606104:	ff 75 10             	push   0x10(%ebp)
606107:	ff 75 0c             	push   0xc(%ebp)
60610a:	ff 75 08             	push   0x8(%ebp)
60610d:	e8 8d fe ff ff       	call   0x605f9f
606112:	83 c4 14             	add    $0x14,%esp
606115:	5d                   	pop    %ebp
606116:	c3                   	ret
606117:	8b ff                	mov    %edi,%edi
606119:	55                   	push   %ebp
60611a:	8b ec                	mov    %esp,%ebp
60611c:	8b 45 08             	mov    0x8(%ebp),%eax
60611f:	33 c9                	xor    %ecx,%ecx
606121:	56                   	push   %esi
606122:	57                   	push   %edi
606123:	be ff 07 00 00       	mov    $0x7ff,%esi
606128:	8b 38                	mov    (%eax),%edi
60612a:	8b 50 04             	mov    0x4(%eax),%edx
60612d:	8b c2                	mov    %edx,%eax
60612f:	c1 e8 14             	shr    $0x14,%eax
606132:	23 c6                	and    %esi,%eax
606134:	3b c6                	cmp    %esi,%eax
606136:	75 3b                	jne    0x606173
606138:	8b f2                	mov    %edx,%esi
60613a:	8b c7                	mov    %edi,%eax
60613c:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
606142:	0b c6                	or     %esi,%eax
606144:	75 03                	jne    0x606149
606146:	40                   	inc    %eax
606147:	eb 2c                	jmp    0x606175
606149:	b8 00 00 08 00       	mov    $0x80000,%eax
60614e:	3b d1                	cmp    %ecx,%edx
606150:	7f 13                	jg     0x606165
606152:	7c 04                	jl     0x606158
606154:	3b f9                	cmp    %ecx,%edi
606156:	73 0d                	jae    0x606165
606158:	3b f9                	cmp    %ecx,%edi
60615a:	75 09                	jne    0x606165
60615c:	3b f0                	cmp    %eax,%esi
60615e:	75 05                	jne    0x606165
606160:	6a 04                	push   $0x4
606162:	58                   	pop    %eax
606163:	eb 10                	jmp    0x606175
606165:	23 d0                	and    %eax,%edx
606167:	0b ca                	or     %edx,%ecx
606169:	74 04                	je     0x60616f
60616b:	6a 02                	push   $0x2