58ab99:	75 09                	jne    0x58aba4
58ab9b:	3b 04 24             	cmp    (%esp),%eax
58ab9e:	5a                   	pop    %edx
58ab9f:	58                   	pop    %eax
58aba0:	76 24                	jbe    0x58abc6
58aba2:	eb 04                	jmp    0x58aba8
58aba4:	5a                   	pop    %edx
58aba5:	58                   	pop    %eax
58aba6:	7e 1e                	jle    0x58abc6
58aba8:	8b 04 24             	mov    (%esp),%eax
58abab:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58abaf:	8b d5                	mov    %ebp,%edx
58abb1:	e8 46 de ff ff       	call   0x5889fc
58abb6:	66 8b 54 9c 20       	mov    0x20(%esp,%ebx,4),%dx
58abbb:	66 81 e2 ff 03       	and    $0x3ff,%dx
58abc0:	c1 e2 04             	shl    $0x4,%edx
58abc3:	66 89 10             	mov    %dx,(%eax)
58abc6:	83 c3 02             	add    $0x2,%ebx
58abc9:	83 fb 10             	cmp    $0x10,%ebx
58abcc:	0f 82 5a ff ff ff    	jb     0x58ab2c
58abd2:	e9 d7 fe ff ff       	jmp    0x58aaae
58abd7:	83 c4 5c             	add    $0x5c,%esp
58abda:	5d                   	pop    %ebp
58abdb:	5f                   	pop    %edi
58abdc:	5e                   	pop    %esi
58abdd:	5b                   	pop    %ebx
58abde:	c3                   	ret
58abdf:	90                   	nop
58abe0:	53                   	push   %ebx
58abe1:	56                   	push   %esi
58abe2:	57                   	push   %edi
58abe3:	55                   	push   %ebp
58abe4:	50                   	push   %eax
58abe5:	b8 02 00 00 00       	mov    $0x2,%eax
58abea:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58abf0:	50                   	push   %eax
58abf1:	48                   	dec    %eax
58abf2:	75 f6                	jne    0x58abea
58abf4:	8b 84 24 00 20 00 00 	mov    0x2000(%esp),%eax
58abfb:	83 c4 a8             	add    $0xffffffa8,%esp
58abfe:	89 04 24             	mov    %eax,(%esp)
58ac01:	8b 1c 24             	mov    (%esp),%ebx
58ac04:	8b f3                	mov    %ebx,%esi
58ac06:	8b 7e 04             	mov    0x4(%esi),%edi
58ac09:	8b c7                	mov    %edi,%eax
58ac0b:	e8 a8 3a e9 ff       	call   0x41e6b8
58ac10:	83 c0 08             	add    $0x8,%eax
58ac13:	83 d2 00             	adc    $0x0,%edx
58ac16:	52                   	push   %edx
58ac17:	50                   	push   %eax
58ac18:	8b c7                	mov    %edi,%eax
58ac1a:	e8 b9 3a e9 ff       	call   0x41e6d8
58ac1f:	8b c3                	mov    %ebx,%eax
58ac21:	8b 56 04             	mov    0x4(%esi),%edx
58ac24:	e8 83 df ff ff       	call   0x588bac
58ac29:	99                   	cltd
58ac2a:	52                   	push   %edx
58ac2b:	50                   	push   %eax
58ac2c:	8b 7e 04             	mov    0x4(%esi),%edi
58ac2f:	8b c7                	mov    %edi,%eax
58ac31:	e8 82 3a e9 ff       	call   0x41e6b8
58ac36:	03 04 24             	add    (%esp),%eax
58ac39:	13 54 24 04          	adc    0x4(%esp),%edx
58ac3d:	83 c4 08             	add    $0x8,%esp
58ac40:	05 28 01 00 00       	add    $0x128,%eax
58ac45:	83 d2 00             	adc    $0x0,%edx
58ac48:	52                   	push   %edx
58ac49:	50                   	push   %eax
58ac4a:	8b c7                	mov    %edi,%eax
58ac4c:	e8 87 3a e9 ff       	call   0x41e6d8
58ac51:	8b c3                	mov    %ebx,%eax
58ac53:	8b 56 04             	mov    0x4(%esi),%edx
58ac56:	e8 f9 de ff ff       	call   0x588b54
58ac5b:	66 89 44 24 08       	mov    %ax,0x8(%esp)
58ac60:	8b c3                	mov    %ebx,%eax
58ac62:	8b 56 04             	mov    0x4(%esi),%edx
58ac65:	e8 ea de ff ff       	call   0x588b54
58ac6a:	66 89 44 24 0a       	mov    %ax,0xa(%esp)
58ac6f:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
58ac75:	83 c0 0c             	add    $0xc,%eax
58ac78:	8b 96 f0 00 00 00    	mov    0xf0(%esi),%edx
58ac7e:	0f af 96 ec 00 00 00 	imul   0xec(%esi),%edx
58ac85:	03 d2                	add    %edx,%edx
58ac87:	03 c2                	add    %edx,%eax
58ac89:	99                   	cltd
58ac8a:	52                   	push   %edx
58ac8b:	50                   	push   %eax
58ac8c:	8b 46 04             	mov    0x4(%esi),%eax
58ac8f:	e8 44 3a e9 ff       	call   0x41e6d8
58ac94:	db 86 f8 00 00 00    	fildl  0xf8(%esi)
58ac9a:	d8 3d a8 ad 58 00    	fdivrs 0x58ada8
58aca0:	d8 35 ac ad 58 00    	fdivs  0x58adac
58aca6:	dd 9e c0 f4 00 00    	fstpl  0xf4c0(%esi)
58acac:	9b                   	fwait
58acad:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58acb3:	48                   	dec    %eax
58acb4:	85 c0                	test   %eax,%eax
58acb6:	0f 8c e0 00 00 00    	jl     0x58ad9c
58acbc:	40                   	inc    %eax
58acbd:	89 44 24 0c          	mov    %eax,0xc(%esp)
58acc1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58acc8:	00
58acc9:	8d 9e a8 f4 00 00    	lea    0xf4a8(%esi),%ebx
58accf:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58acd4:	74 16                	je     0x58acec
58acd6:	db 44 24 04          	fildl  0x4(%esp)
58acda:	dc 4b 18             	fmull  0x18(%ebx)
58acdd:	e8 ea 7f e7 ff       	call   0x402ccc
58ace2:	8b c8                	mov    %eax,%ecx
58ace4:	8b 53 08             	mov    0x8(%ebx),%edx
58ace7:	8b 43 04             	mov    0x4(%ebx),%eax
58acea:	ff 13                	call   *(%ebx)
58acec:	8b 8e ec 00 00 00    	mov    0xec(%esi),%ecx
58acf2:	03 c9                	add    %ecx,%ecx
58acf4:	8d 54 24 10          	lea    0x10(%esp),%edx
58acf8:	8b 46 04             	mov    0x4(%esi),%eax
58acfb:	8b 18                	mov    (%eax),%ebx
58acfd:	ff 53 08             	call   *0x8(%ebx)
58ad00:	33 db                	xor    %ebx,%ebx
58ad02:	eb 52                	jmp    0x58ad56
58ad04:	66 8b 44 5c 10       	mov    0x10(%esp,%ebx,2),%ax
58ad09:	e8 82 f9 ff ff       	call   0x58a690
58ad0e:	8b f8                	mov    %eax,%edi
58ad10:	66 33 7c 24 08       	xor    0x8(%esp),%di
58ad15:	0f b7 ff             	movzwl %di,%edi
58ad18:	66 8b 44 5c 12       	mov    0x12(%esp,%ebx,2),%ax
58ad1d:	e8 6e f9 ff ff       	call   0x58a690
58ad22:	66 33 44 24 0a       	xor    0xa(%esp),%ax
58ad27:	0f b7 c0             	movzwl %ax,%eax
58ad2a:	8b c8                	mov    %eax,%ecx
58ad2c:	66 81 e1 aa aa       	and    $0xaaaa,%cx
58ad31:	8b d7                	mov    %edi,%edx
58ad33:	8b ea                	mov    %edx,%ebp
58ad35:	66 81 e5 55 55       	and    $0x5555,%bp
58ad3a:	66 0b cd             	or     %bp,%cx
58ad3d:	66 89 4c 5c 10       	mov    %cx,0x10(%esp,%ebx,2)
58ad42:	66 81 e2 aa aa       	and    $0xaaaa,%dx
58ad47:	66 25 55 55          	and    $0x5555,%ax
58ad4b:	66 0b d0             	or     %ax,%dx
58ad4e:	66 89 54 5c 12       	mov    %dx,0x12(%esp,%ebx,2)
58ad53:	83 c3 02             	add    $0x2,%ebx
58ad56:	3b 9e ec 00 00 00    	cmp    0xec(%esi),%ebx
58ad5c:	7c a6                	jl     0x58ad04
58ad5e:	8b be fc 00 00 00    	mov    0xfc(%esi),%edi
58ad64:	4f                   	dec    %edi
58ad65:	85 ff                	test   %edi,%edi
58ad67:	7c 25                	jl     0x58ad8e
58ad69:	47                   	inc    %edi
58ad6a:	33 db                	xor    %ebx,%ebx
58ad6c:	8b 04 24             	mov    (%esp),%eax
58ad6f:	8b cb                	mov    %ebx,%ecx
58ad71:	8b 54 24 04          	mov    0x4(%esp),%edx
58ad75:	e8 82 dc ff ff       	call   0x5889fc
58ad7a:	8b 96 f4 00 00 00    	mov    0xf4(%esi),%edx
58ad80:	03 d3                	add    %ebx,%edx
58ad82:	66 8b 54 54 10       	mov    0x10(%esp,%edx,2),%dx
58ad87:	66 89 10             	mov    %dx,(%eax)
58ad8a:	43                   	inc    %ebx
58ad8b:	4f                   	dec    %edi
58ad8c:	75 de                	jne    0x58ad6c
58ad8e:	ff 44 24 04          	incl   0x4(%esp)
58ad92:	ff 4c 24 0c          	decl   0xc(%esp)
58ad96:	0f 85 2d ff ff ff    	jne    0x58acc9
58ad9c:	81 c4 5c 20 00 00    	add    $0x205c,%esp
58ada2:	5d                   	pop    %ebp
58ada3:	5f                   	pop    %edi
58ada4:	5e                   	pop    %esi
58ada5:	5b                   	pop    %ebx
58ada6:	c3                   	ret
58ada7:	00 00                	add    %al,(%eax)
58ada9:	00 c8                	add    %cl,%al
58adab:	42                   	inc    %edx
58adac:	00 00                	add    %al,(%eax)
58adae:	00 40 53             	add    %al,0x53(%eax)
58adb1:	56                   	push   %esi
58adb2:	57                   	push   %edi
58adb3:	50                   	push   %eax
58adb4:	b8 02 00 00 00       	mov    $0x2,%eax
58adb9:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58adbf:	50                   	push   %eax
58adc0:	48                   	dec    %eax
58adc1:	75 f6                	jne    0x58adb9
58adc3:	8b 84 24 00 20 00 00 	mov    0x2000(%esp),%eax
58adca:	83 c4 04             	add    $0x4,%esp
58adcd:	89 04 24             	mov    %eax,(%esp)
58add0:	8b 3c 24             	mov    (%esp),%edi
58add3:	6a 00                	push   $0x0
58add5:	68 e8 c0 00 00       	push   $0xc0e8
58adda:	8b 47 04             	mov    0x4(%edi),%eax
58addd:	e8 f6 38 e9 ff       	call   0x41e6d8
58ade2:	db 87 f8 00 00 00    	fildl  0xf8(%edi)
58ade8:	d8 3d c8 ae 58 00    	fdivrs 0x58aec8
58adee:	d8 35 cc ae 58 00    	fdivs  0x58aecc
58adf4:	dd 9f c0 f4 00 00    	fstpl  0xf4c0(%edi)
58adfa:	9b                   	fwait
58adfb:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
58ae01:	89 44 24 04          	mov    %eax,0x4(%esp)
58ae05:	ff 4c 24 04          	decl   0x4(%esp)
58ae09:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
58ae0e:	0f 8c a7 00 00 00    	jl     0x58aebb
58ae14:	8d 9f a8 f4 00 00    	lea    0xf4a8(%edi),%ebx
58ae1a:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58ae1f:	74 2a                	je     0x58ae4b
58ae21:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
58ae27:	2b 44 24 04          	sub    0x4(%esp),%eax
58ae2b:	89 84 24 fc 1f 00 00 	mov    %eax,0x1ffc(%esp)
58ae32:	db 84 24 fc 1f 00 00 	fildl  0x1ffc(%esp)
58ae39:	dc 4b 18             	fmull  0x18(%ebx)
58ae3c:	e8 8b 7e e7 ff       	call   0x402ccc
58ae41:	8b c8                	mov    %eax,%ecx
58ae43:	8b 53 08             	mov    0x8(%ebx),%edx
58ae46:	8b 43 04             	mov    0x4(%ebx),%eax
58ae49:	ff 13                	call   *(%ebx)
58ae4b:	8d 54 24 08          	lea    0x8(%esp),%edx
58ae4f:	8b 47 04             	mov    0x4(%edi),%eax
58ae52:	b9 f4 1f 00 00       	mov    $0x1ff4,%ecx
58ae57:	8b 18                	mov    (%eax),%ebx
58ae59:	ff 53 08             	call   *0x8(%ebx)
58ae5c:	66 b8 55 aa          	mov    $0xaa55,%ax
58ae60:	e8 2b f8 ff ff       	call   0x58a690
58ae65:	66 3d 55 aa          	cmp    $0xaa55,%ax
58ae69:	75 10                	jne    0x58ae7b
58ae6b:	8d 44 24 08          	lea    0x8(%esp),%eax
58ae6f:	8b d0                	mov    %eax,%edx
58ae71:	b9 f4 1f 00 00       	mov    $0x1ff4,%ecx
58ae76:	e8 49 f9 ff ff       	call   0x58a7c4
58ae7b:	8b b7 fc 00 00 00    	mov    0xfc(%edi),%esi
58ae81:	4e                   	dec    %esi
58ae82:	85 f6                	test   %esi,%esi
58ae84:	7c 26                	jl     0x58aeac
58ae86:	46                   	inc    %esi
58ae87:	33 db                	xor    %ebx,%ebx
58ae89:	8b 04 24             	mov    (%esp),%eax
58ae8c:	8b cb                	mov    %ebx,%ecx
58ae8e:	8b 54 24 04          	mov    0x4(%esp),%edx
58ae92:	e8 65 db ff ff       	call   0x5889fc
58ae97:	8b 97 fc 00 00 00    	mov    0xfc(%edi),%edx
58ae9d:	4a                   	dec    %edx
58ae9e:	2b d3                	sub    %ebx,%edx
58aea0:	66 8b 54 54 08       	mov    0x8(%esp,%edx,2),%dx
58aea5:	66 89 10             	mov    %dx,(%eax)
58aea8:	43                   	inc    %ebx
58aea9:	4e                   	dec    %esi
58aeaa:	75 dd                	jne    0x58ae89
58aeac:	ff 4c 24 04          	decl   0x4(%esp)
58aeb0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
58aeb5:	0f 8d 59 ff ff ff    	jge    0x58ae14
58aebb:	81 c4 00 20 00 00    	add    $0x2000,%esp
58aec1:	5f                   	pop    %edi
58aec2:	5e                   	pop    %esi
58aec3:	5b                   	pop    %ebx
58aec4:	c3                   	ret
58aec5:	00 00                	add    %al,(%eax)
58aec7:	00 00                	add    %al,(%eax)
58aec9:	00 c8                	add    %cl,%al
58aecb:	42                   	inc    %edx
58aecc:	00 00                	add    %al,(%eax)
58aece:	00 40 53             	add    %al,0x53(%eax)
58aed1:	56                   	push   %esi
58aed2:	57                   	push   %edi
58aed3:	55                   	push   %ebp
58aed4:	83 c4 f4             	add    $0xfffffff4,%esp
58aed7:	8b f0                	mov    %eax,%esi
58aed9:	8b c6                	mov    %esi,%eax
58aedb:	89 44 24 04          	mov    %eax,0x4(%esp)
58aedf:	83 ca ff             	or     $0xffffffff,%edx
58aee2:	e8 35 e2 ff ff       	call   0x58911c
58aee7:	8b 44 24 04          	mov    0x4(%esp),%eax
58aeeb:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
58aef1:	d8 3d d0 af 58 00    	fdivrs 0x58afd0
58aef7:	d8 35 d4 af 58 00    	fdivs  0x58afd4
58aefd:	8b 44 24 04          	mov    0x4(%esp),%eax
58af01:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
58af07:	9b                   	fwait
58af08:	8b 44 24 04          	mov    0x4(%esp),%eax
58af0c:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58af12:	48                   	dec    %eax
58af13:	85 c0                	test   %eax,%eax
58af15:	0f 8c aa 00 00 00    	jl     0x58afc5
58af1b:	40                   	inc    %eax
58af1c:	89 44 24 08          	mov    %eax,0x8(%esp)
58af20:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
58af27:	8b 44 24 04          	mov    0x4(%esp),%eax
58af2b:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
58af31:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58af36:	74 15                	je     0x58af4d
58af38:	db 04 24             	fildl  (%esp)
58af3b:	dc 4b 18             	fmull  0x18(%ebx)
58af3e:	e8 89 7d e7 ff       	call   0x402ccc
58af43:	8b c8                	mov    %eax,%ecx
58af45:	8b 53 08             	mov    0x8(%ebx),%edx
58af48:	8b 43 04             	mov    0x4(%ebx),%eax
58af4b:	ff 13                	call   *(%ebx)
58af4d:	8b 44 24 04          	mov    0x4(%esp),%eax
58af51:	8b 98 fc 00 00 00    	mov    0xfc(%eax),%ebx
58af57:	4b                   	dec    %ebx
58af58:	85 db                	test   %ebx,%ebx
58af5a:	7c 29                	jl     0x58af85
58af5c:	43                   	inc    %ebx
58af5d:	33 ff                	xor    %edi,%edi
58af5f:	8b ee                	mov    %esi,%ebp
58af61:	8b c5                	mov    %ebp,%eax
58af63:	8b cf                	mov    %edi,%ecx
58af65:	8b 14 24             	mov    (%esp),%edx
58af68:	e8 8f da ff ff       	call   0x5889fc
58af6d:	50                   	push   %eax
58af6e:	8b c5                	mov    %ebp,%eax
58af70:	ba 0c 00 00 00       	mov    $0xc,%edx
58af75:	e8 a2 e1 ff ff       	call   0x58911c
58af7a:	c1 e0 02             	shl    $0x2,%eax
58af7d:	5a                   	pop    %edx
58af7e:	66 89 02             	mov    %ax,(%edx)
58af81:	47                   	inc    %edi
58af82:	4b                   	dec    %ebx
58af83:	75 da                	jne    0x58af5f
58af85:	8b 44 24 04          	mov    0x4(%esp),%eax
58af89:	8b b8 fc 00 00 00    	mov    0xfc(%eax),%edi
58af8f:	8d 3c 7f             	lea    (%edi,%edi,2),%edi
58af92:	d1 ff                	sar    $1,%edi
58af94:	79 03                	jns    0x58af99
58af96:	83 d7 00             	adc    $0x0,%edi
58af99:	8b 44 24 04          	mov    0x4(%esp),%eax
58af9d:	8b 98 ec 00 00 00    	mov    0xec(%eax),%ebx
58afa3:	4b                   	dec    %ebx
58afa4:	2b df                	sub    %edi,%ebx
58afa6:	7c 10                	jl     0x58afb8
58afa8:	43                   	inc    %ebx
58afa9:	8b c6                	mov    %esi,%eax
58afab:	ba 08 00 00 00       	mov    $0x8,%edx
58afb0:	e8 67 e1 ff ff       	call   0x58911c
58afb5:	4b                   	dec    %ebx
58afb6:	75 f1                	jne    0x58afa9
58afb8:	ff 04 24             	incl   (%esp)
58afbb:	ff 4c 24 08          	decl   0x8(%esp)
58afbf:	0f 85 62 ff ff ff    	jne    0x58af27
58afc5:	83 c4 0c             	add    $0xc,%esp
58afc8:	5d                   	pop    %ebp
58afc9:	5f                   	pop    %edi
58afca:	5e                   	pop    %esi
58afcb:	5b                   	pop    %ebx
58afcc:	c3                   	ret
58afcd:	00 00                	add    %al,(%eax)
58afcf:	00 00                	add    %al,(%eax)
58afd1:	00 c8                	add    %cl,%al
58afd3:	42                   	inc    %edx
58afd4:	00 00                	add    %al,(%eax)
58afd6:	00 40 53             	add    %al,0x53(%eax)
58afd9:	56                   	push   %esi
58afda:	57                   	push   %edi
58afdb:	83 c4 ec             	add    $0xffffffec,%esp