58afde:	89 4c 24 04          	mov    %ecx,0x4(%esp)
58afe2:	89 14 24             	mov    %edx,(%esp)
58afe5:	8b f0                	mov    %eax,%esi
58afe7:	8b 86 ec 00 00 00    	mov    0xec(%esi),%eax
58afed:	03 c0                	add    %eax,%eax
58afef:	e8 c0 e0 e7 ff       	call   0x4090b4
58aff4:	89 44 24 08          	mov    %eax,0x8(%esp)
58aff8:	ba f4 b0 58 00       	mov    $0x58b0f4,%edx
58affd:	8b 44 24 08          	mov    0x8(%esp),%eax
58b001:	e8 be da ff ff       	call   0x588ac4
58b006:	db 86 f8 00 00 00    	fildl  0xf8(%esi)
58b00c:	d8 3d 08 b1 58 00    	fdivrs 0x58b108
58b012:	d8 35 0c b1 58 00    	fdivs  0x58b10c
58b018:	dd 9e c0 f4 00 00    	fstpl  0xf4c0(%esi)
58b01e:	9b                   	fwait
58b01f:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58b025:	48                   	dec    %eax
58b026:	85 c0                	test   %eax,%eax
58b028:	0f 8c b6 00 00 00    	jl     0x58b0e4
58b02e:	40                   	inc    %eax
58b02f:	89 44 24 10          	mov    %eax,0x10(%esp)
58b033:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
58b03a:	00
58b03b:	66 83 be aa f4 00 00 	cmpw   $0x0,0xf4aa(%esi)
58b042:	00
58b043:	74 23                	je     0x58b068
58b045:	db 44 24 0c          	fildl  0xc(%esp)
58b049:	dc 8e c0 f4 00 00    	fmull  0xf4c0(%esi)
58b04f:	e8 78 7c e7 ff       	call   0x402ccc
58b054:	8b c8                	mov    %eax,%ecx
58b056:	8b 96 b0 f4 00 00    	mov    0xf4b0(%esi),%edx
58b05c:	8b 86 ac f4 00 00    	mov    0xf4ac(%esi),%eax
58b062:	ff 96 a8 f4 00 00    	call   *0xf4a8(%esi)
58b068:	8b 8e ec 00 00 00    	mov    0xec(%esi),%ecx
58b06e:	03 c9                	add    %ecx,%ecx
58b070:	8b 54 24 08          	mov    0x8(%esp),%edx
58b074:	8b 46 04             	mov    0x4(%esi),%eax
58b077:	8b 18                	mov    (%eax),%ebx
58b079:	ff 53 08             	call   *0x8(%ebx)
58b07c:	66 b8 aa 55          	mov    $0x55aa,%ax
58b080:	e8 0b f6 ff ff       	call   0x58a690
58b085:	0f b7 c0             	movzwl %ax,%eax
58b088:	3b 04 24             	cmp    (%esp),%eax
58b08b:	74 13                	je     0x58b0a0
58b08d:	8b 8e fc 00 00 00    	mov    0xfc(%esi),%ecx
58b093:	03 c9                	add    %ecx,%ecx
58b095:	8b 44 24 08          	mov    0x8(%esp),%eax
58b099:	8b d0                	mov    %eax,%edx
58b09b:	e8 24 f7 ff ff       	call   0x58a7c4
58b0a0:	8b be fc 00 00 00    	mov    0xfc(%esi),%edi
58b0a6:	4f                   	dec    %edi
58b0a7:	85 ff                	test   %edi,%edi
58b0a9:	7c 2b                	jl     0x58b0d6
58b0ab:	47                   	inc    %edi
58b0ac:	33 db                	xor    %ebx,%ebx
58b0ae:	8b c6                	mov    %esi,%eax
58b0b0:	8b cb                	mov    %ebx,%ecx
58b0b2:	8b 54 24 0c          	mov    0xc(%esp),%edx
58b0b6:	e8 41 d9 ff ff       	call   0x5889fc
58b0bb:	8b 4c 24 04          	mov    0x4(%esp),%ecx
58b0bf:	83 c1 08             	add    $0x8,%ecx
58b0c2:	8b 54 24 08          	mov    0x8(%esp),%edx
58b0c6:	0f b7 14 5a          	movzwl (%edx,%ebx,2),%edx
58b0ca:	c1 e2 08             	shl    $0x8,%edx
58b0cd:	d3 ea                	shr    %cl,%edx
58b0cf:	66 89 10             	mov    %dx,(%eax)
58b0d2:	43                   	inc    %ebx
58b0d3:	4f                   	dec    %edi
58b0d4:	75 d8                	jne    0x58b0ae
58b0d6:	ff 44 24 0c          	incl   0xc(%esp)
58b0da:	ff 4c 24 10          	decl   0x10(%esp)
58b0de:	0f 85 57 ff ff ff    	jne    0x58b03b
58b0e4:	8b 44 24 08          	mov    0x8(%esp),%eax
58b0e8:	e8 df 76 e7 ff       	call   0x4027cc
58b0ed:	83 c4 14             	add    $0x14,%esp
58b0f0:	5f                   	pop    %edi
58b0f1:	5e                   	pop    %esi
58b0f2:	5b                   	pop    %ebx
58b0f3:	c3                   	ret
58b0f4:	75 6e                	jne    0x58b164
58b0f6:	70 61                	jo     0x58b159
58b0f8:	63 6b 65             	arpl   %ebp,0x65(%ebx)
58b0fb:	64 5f                	fs pop %edi
58b0fd:	6c                   	insb   (%dx),%es:(%edi)
58b0fe:	6f                   	outsl  %ds:(%esi),(%dx)
58b0ff:	61                   	popa
58b100:	64 5f                	fs pop %edi
58b102:	72 61                	jb     0x58b165
58b104:	77 28                	ja     0x58b12e
58b106:	29 00                	sub    %eax,(%eax)
58b108:	00 00                	add    %al,(%eax)
58b10a:	c8 42 00 00          	enter  $0x42,$0x0
58b10e:	00 40 33             	add    %al,0x33(%eax)
58b111:	c9                   	leave
58b112:	ba aa 55 00 00       	mov    $0x55aa,%edx
58b117:	e8 bc fe ff ff       	call   0x58afd8
58b11c:	c3                   	ret
58b11d:	8d 40 00             	lea    0x0(%eax),%eax
58b120:	b9 02 00 00 00       	mov    $0x2,%ecx
58b125:	ba aa 55 00 00       	mov    $0x55aa,%edx
58b12a:	e8 a9 fe ff ff       	call   0x58afd8
58b12f:	c3                   	ret
58b130:	b9 fe ff ff ff       	mov    $0xfffffffe,%ecx
58b135:	ba aa 55 00 00       	mov    $0x55aa,%edx
58b13a:	e8 99 fe ff ff       	call   0x58afd8
58b13f:	c3                   	ret
58b140:	b9 fc ff ff ff       	mov    $0xfffffffc,%ecx
58b145:	ba aa 55 00 00       	mov    $0x55aa,%edx
58b14a:	e8 89 fe ff ff       	call   0x58afd8
58b14f:	c3                   	ret
58b150:	b9 02 00 00 00       	mov    $0x2,%ecx
58b155:	ba 55 aa 00 00       	mov    $0xaa55,%edx
58b15a:	e8 79 fe ff ff       	call   0x58afd8
58b15f:	c3                   	ret
58b160:	53                   	push   %ebx
58b161:	56                   	push   %esi
58b162:	57                   	push   %edi
58b163:	55                   	push   %ebp
58b164:	83 c4 f0             	add    $0xfffffff0,%esp
58b167:	8b f0                	mov    %eax,%esi
58b169:	89 74 24 08          	mov    %esi,0x8(%esp)
58b16d:	8b 44 24 08          	mov    0x8(%esp),%eax
58b171:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
58b177:	d8 3d a4 b2 58 00    	fdivrs 0x58b2a4
58b17d:	d8 35 a8 b2 58 00    	fdivs  0x58b2a8
58b183:	8b 44 24 08          	mov    0x8(%esp),%eax
58b187:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
58b18d:	9b                   	fwait
58b18e:	8b 44 24 08          	mov    0x8(%esp),%eax
58b192:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58b198:	48                   	dec    %eax
58b199:	85 c0                	test   %eax,%eax
58b19b:	0f 8c f8 00 00 00    	jl     0x58b299
58b1a1:	40                   	inc    %eax
58b1a2:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b1a6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
58b1ad:	8b 44 24 08          	mov    0x8(%esp),%eax
58b1b1:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
58b1b7:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58b1bc:	74 15                	je     0x58b1d3
58b1be:	db 04 24             	fildl  (%esp)
58b1c1:	dc 4b 18             	fmull  0x18(%ebx)
58b1c4:	e8 03 7b e7 ff       	call   0x402ccc
58b1c9:	8b c8                	mov    %eax,%ecx
58b1cb:	8b 53 08             	mov    0x8(%ebx),%edx
58b1ce:	8b 43 04             	mov    0x4(%ebx),%eax
58b1d1:	ff 13                	call   *(%ebx)
58b1d3:	8b 04 24             	mov    (%esp),%eax
58b1d6:	03 c0                	add    %eax,%eax
58b1d8:	8b 54 24 08          	mov    0x8(%esp),%edx
58b1dc:	8b 8a f8 00 00 00    	mov    0xf8(%edx),%ecx
58b1e2:	99                   	cltd
58b1e3:	f7 f9                	idiv   %ecx
58b1e5:	8b da                	mov    %edx,%ebx
58b1e7:	8b c1                	mov    %ecx,%eax
58b1e9:	d1 f8                	sar    $1,%eax
58b1eb:	79 03                	jns    0x58b1f0
58b1ed:	83 d0 00             	adc    $0x0,%eax
58b1f0:	50                   	push   %eax
58b1f1:	8b 44 24 04          	mov    0x4(%esp),%eax
58b1f5:	5a                   	pop    %edx
58b1f6:	8b fa                	mov    %edx,%edi
58b1f8:	99                   	cltd
58b1f9:	f7 ff                	idiv   %edi
58b1fb:	03 d8                	add    %eax,%ebx
58b1fd:	89 5c 24 04          	mov    %ebx,0x4(%esp)
58b201:	83 7c 24 04 02       	cmpl   $0x2,0x4(%esp)
58b206:	7d 4b                	jge    0x58b253
58b208:	8b 44 24 08          	mov    0x8(%esp),%eax
58b20c:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58b212:	f7 d8                	neg    %eax
58b214:	f7 e9                	imul   %ecx
58b216:	8d 04 40             	lea    (%eax,%eax,2),%eax
58b219:	85 c0                	test   %eax,%eax
58b21b:	79 03                	jns    0x58b220
58b21d:	83 c0 03             	add    $0x3,%eax
58b220:	c1 f8 02             	sar    $0x2,%eax
58b223:	25 00 f8 ff ff       	and    $0xfffff800,%eax
58b228:	f7 6c 24 04          	imull  0x4(%esp)
58b22c:	50                   	push   %eax
58b22d:	8b 44 24 0c          	mov    0xc(%esp),%eax
58b231:	8b 80 d4 00 00 00    	mov    0xd4(%eax),%eax
58b237:	5a                   	pop    %edx
58b238:	2b c2                	sub    %edx,%eax
58b23a:	99                   	cltd
58b23b:	52                   	push   %edx
58b23c:	50                   	push   %eax
58b23d:	8b 44 24 10          	mov    0x10(%esp),%eax
58b241:	8b 40 04             	mov    0x4(%eax),%eax
58b244:	e8 8f 34 e9 ff       	call   0x41e6d8
58b249:	8b c6                	mov    %esi,%eax
58b24b:	83 ca ff             	or     $0xffffffff,%edx
58b24e:	e8 c9 de ff ff       	call   0x58911c
58b253:	8b 44 24 08          	mov    0x8(%esp),%eax
58b257:	8b 98 fc 00 00 00    	mov    0xfc(%eax),%ebx
58b25d:	4b                   	dec    %ebx
58b25e:	85 db                	test   %ebx,%ebx
58b260:	7c 2a                	jl     0x58b28c
58b262:	43                   	inc    %ebx
58b263:	33 ff                	xor    %edi,%edi
58b265:	8b ee                	mov    %esi,%ebp
58b267:	8b c5                	mov    %ebp,%eax
58b269:	8b cf                	mov    %edi,%ecx
58b26b:	8b 54 24 04          	mov    0x4(%esp),%edx
58b26f:	e8 88 d7 ff ff       	call   0x5889fc
58b274:	50                   	push   %eax
58b275:	8b c5                	mov    %ebp,%eax
58b277:	ba 0c 00 00 00       	mov    $0xc,%edx
58b27c:	e8 9b de ff ff       	call   0x58911c
58b281:	c1 e0 02             	shl    $0x2,%eax
58b284:	5a                   	pop    %edx
58b285:	66 89 02             	mov    %ax,(%edx)
58b288:	47                   	inc    %edi
58b289:	4b                   	dec    %ebx
58b28a:	75 d9                	jne    0x58b265
58b28c:	ff 04 24             	incl   (%esp)
58b28f:	ff 4c 24 0c          	decl   0xc(%esp)
58b293:	0f 85 14 ff ff ff    	jne    0x58b1ad
58b299:	83 c4 10             	add    $0x10,%esp
58b29c:	5d                   	pop    %ebp
58b29d:	5f                   	pop    %edi
58b29e:	5e                   	pop    %esi
58b29f:	5b                   	pop    %ebx
58b2a0:	c3                   	ret
58b2a1:	00 00                	add    %al,(%eax)
58b2a3:	00 00                	add    %al,(%eax)
58b2a5:	00 c8                	add    %cl,%al
58b2a7:	42                   	inc    %edx
58b2a8:	00 00                	add    %al,(%eax)
58b2aa:	00 40 53             	add    %al,0x53(%eax)
58b2ad:	56                   	push   %esi
58b2ae:	57                   	push   %edi
58b2af:	83 c4 f0             	add    $0xfffffff0,%esp
58b2b2:	89 04 24             	mov    %eax,(%esp)
58b2b5:	8b 04 24             	mov    (%esp),%eax
58b2b8:	89 44 24 08          	mov    %eax,0x8(%esp)
58b2bc:	8b 44 24 08          	mov    0x8(%esp),%eax
58b2c0:	8b 80 ec 00 00 00    	mov    0xec(%eax),%eax
58b2c6:	e8 e9 dd e7 ff       	call   0x4090b4
58b2cb:	8b f8                	mov    %eax,%edi
58b2cd:	ba a0 b3 58 00       	mov    $0x58b3a0,%edx
58b2d2:	8b c7                	mov    %edi,%eax
58b2d4:	e8 eb d7 ff ff       	call   0x588ac4
58b2d9:	8b 44 24 08          	mov    0x8(%esp),%eax
58b2dd:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
58b2e3:	d8 3d b8 b3 58 00    	fdivrs 0x58b3b8
58b2e9:	d8 35 bc b3 58 00    	fdivs  0x58b3bc
58b2ef:	8b 44 24 08          	mov    0x8(%esp),%eax
58b2f3:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
58b2f9:	9b                   	fwait
58b2fa:	8b 44 24 08          	mov    0x8(%esp),%eax
58b2fe:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58b304:	48                   	dec    %eax
58b305:	85 c0                	test   %eax,%eax
58b307:	0f 8c 85 00 00 00    	jl     0x58b392
58b30d:	40                   	inc    %eax
58b30e:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b312:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58b319:	00
58b31a:	8b 44 24 08          	mov    0x8(%esp),%eax
58b31e:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
58b324:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58b329:	74 16                	je     0x58b341
58b32b:	db 44 24 04          	fildl  0x4(%esp)
58b32f:	dc 4b 18             	fmull  0x18(%ebx)
58b332:	e8 95 79 e7 ff       	call   0x402ccc
58b337:	8b c8                	mov    %eax,%ecx
58b339:	8b 53 08             	mov    0x8(%ebx),%edx
58b33c:	8b 43 04             	mov    0x4(%ebx),%eax
58b33f:	ff 13                	call   *(%ebx)
58b341:	8b 44 24 08          	mov    0x8(%esp),%eax
58b345:	8b 88 ec 00 00 00    	mov    0xec(%eax),%ecx
58b34b:	8b d7                	mov    %edi,%edx
58b34d:	8b 44 24 08          	mov    0x8(%esp),%eax
58b351:	8b 40 04             	mov    0x4(%eax),%eax
58b354:	8b 18                	mov    (%eax),%ebx
58b356:	ff 53 08             	call   *0x8(%ebx)
58b359:	8b 44 24 08          	mov    0x8(%esp),%eax
58b35d:	8b b0 fc 00 00 00    	mov    0xfc(%eax),%esi
58b363:	4e                   	dec    %esi
58b364:	85 f6                	test   %esi,%esi
58b366:	7c 20                	jl     0x58b388
58b368:	46                   	inc    %esi
58b369:	33 db                	xor    %ebx,%ebx
58b36b:	8b 04 24             	mov    (%esp),%eax
58b36e:	8b cb                	mov    %ebx,%ecx
58b370:	8b 54 24 04          	mov    0x4(%esp),%edx
58b374:	e8 83 d6 ff ff       	call   0x5889fc
58b379:	33 d2                	xor    %edx,%edx
58b37b:	8a 14 1f             	mov    (%edi,%ebx,1),%dl
58b37e:	c1 e2 06             	shl    $0x6,%edx
58b381:	66 89 10             	mov    %dx,(%eax)
58b384:	43                   	inc    %ebx
58b385:	4e                   	dec    %esi
58b386:	75 e3                	jne    0x58b36b
58b388:	ff 44 24 04          	incl   0x4(%esp)
58b38c:	ff 4c 24 0c          	decl   0xc(%esp)
58b390:	75 88                	jne    0x58b31a
58b392:	8b c7                	mov    %edi,%eax
58b394:	e8 33 74 e7 ff       	call   0x4027cc
58b399:	83 c4 10             	add    $0x10,%esp
58b39c:	5f                   	pop    %edi
58b39d:	5e                   	pop    %esi
58b39e:	5b                   	pop    %ebx
58b39f:	c3                   	ret
58b3a0:	65 69 67 68 74 5f 62 	imul   $0x69625f74,%gs:0x68(%edi),%esp
58b3a7:	69
58b3a8:	74 5f                	je     0x58b409
58b3aa:	6c                   	insb   (%dx),%es:(%edi)
58b3ab:	6f                   	outsl  %ds:(%esi),(%dx)
58b3ac:	61                   	popa
58b3ad:	64 5f                	fs pop %edi
58b3af:	72 61                	jb     0x58b412
58b3b1:	77 28                	ja     0x58b3db
58b3b3:	29 00                	sub    %eax,(%eax)
58b3b5:	00 00                	add    %al,(%eax)
58b3b7:	00 00                	add    %al,(%eax)
58b3b9:	00 c8                	add    %cl,%al
58b3bb:	42                   	inc    %edx
58b3bc:	00 00                	add    %al,(%eax)
58b3be:	00 40 53             	add    %al,0x53(%eax)
58b3c1:	56                   	push   %esi
58b3c2:	57                   	push   %edi
58b3c3:	50                   	push   %eax
58b3c4:	b8 02 00 00 00       	mov    $0x2,%eax
58b3c9:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58b3cf:	50                   	push   %eax
58b3d0:	48                   	dec    %eax
58b3d1:	75 f6                	jne    0x58b3c9
58b3d3:	8b 84 24 00 20 00 00 	mov    0x2000(%esp),%eax
58b3da:	81 c4 34 ff ff ff    	add    $0xffffff34,%esp
58b3e0:	89 04 24             	mov    %eax,(%esp)
58b3e3:	8b 04 24             	mov    (%esp),%eax
58b3e6:	89 44 24 08          	mov    %eax,0x8(%esp)
58b3ea:	8b 44 24 08          	mov    0x8(%esp),%eax
58b3ee:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
58b3f4:	d8 3d 38 b5 58 00    	fdivrs 0x58b538
58b3fa:	d8 35 3c b5 58 00    	fdivs  0x58b53c
58b400:	8b 44 24 08          	mov    0x8(%esp),%eax
58b404:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
58b40a:	9b                   	fwait
58b40b:	8b 44 24 08          	mov    0x8(%esp),%eax
58b40f:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58b415:	48                   	dec    %eax
58b416:	85 c0                	test   %eax,%eax
58b418:	0f 8c 10 01 00 00    	jl     0x58b52e
58b41e:	40                   	inc    %eax
58b41f:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b423:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58b42a:	00