5b3173:	33 d2                	xor    %edx,%edx
5b3175:	8a 55 e7             	mov    -0x19(%ebp),%dl
5b3178:	2b c2                	sub    %edx,%eax
5b317a:	99                   	cltd
5b317b:	33 c2                	xor    %edx,%eax
5b317d:	2b c2                	sub    %edx,%eax
5b317f:	8b c8                	mov    %eax,%ecx
5b3181:	33 c0                	xor    %eax,%eax
5b3183:	8a 45 ee             	mov    -0x12(%ebp),%al
5b3186:	33 d2                	xor    %edx,%edx
5b3188:	8a 55 e6             	mov    -0x1a(%ebp),%dl
5b318b:	2b c2                	sub    %edx,%eax
5b318d:	99                   	cltd
5b318e:	33 c2                	xor    %edx,%eax
5b3190:	2b c2                	sub    %edx,%eax
5b3192:	89 45 e8             	mov    %eax,-0x18(%ebp)
5b3195:	33 c0                	xor    %eax,%eax
5b3197:	8a 45 ed             	mov    -0x13(%ebp),%al
5b319a:	33 d2                	xor    %edx,%edx
5b319c:	8a 55 e5             	mov    -0x1b(%ebp),%dl
5b319f:	2b c2                	sub    %edx,%eax
5b31a1:	99                   	cltd
5b31a2:	33 c2                	xor    %edx,%eax
5b31a4:	2b c2                	sub    %edx,%eax
5b31a6:	3b d9                	cmp    %ecx,%ebx
5b31a8:	7c 1a                	jl     0x5b31c4
5b31aa:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
5b31ad:	7c 15                	jl     0x5b31c4
5b31af:	3b d8                	cmp    %eax,%ebx
5b31b1:	7c 11                	jl     0x5b31c4
5b31b3:	8b 45 08             	mov    0x8(%ebp),%eax
5b31b6:	50                   	push   %eax
5b31b7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5b31ba:	8b d6                	mov    %esi,%edx
5b31bc:	8b 45 0c             	mov    0xc(%ebp),%eax
5b31bf:	e8 94 fa 03 00       	call   0x5f2c58
5b31c4:	46                   	inc    %esi
5b31c5:	4f                   	dec    %edi
5b31c6:	75 95                	jne    0x5b315d
5b31c8:	ff 45 f4             	incl   -0xc(%ebp)
5b31cb:	ff 4d e0             	decl   -0x20(%ebp)
5b31ce:	75 83                	jne    0x5b3153
5b31d0:	5f                   	pop    %edi
5b31d1:	5e                   	pop    %esi
5b31d2:	5b                   	pop    %ebx
5b31d3:	8b e5                	mov    %ebp,%esp
5b31d5:	5d                   	pop    %ebp
5b31d6:	c2 0c 00             	ret    $0xc
5b31d9:	8d 40 00             	lea    0x0(%eax),%eax
5b31dc:	55                   	push   %ebp
5b31dd:	8b ec                	mov    %esp,%ebp
5b31df:	83 c4 90             	add    $0xffffff90,%esp
5b31e2:	53                   	push   %ebx
5b31e3:	56                   	push   %esi
5b31e4:	57                   	push   %edi
5b31e5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5b31e8:	89 55 f8             	mov    %edx,-0x8(%ebp)
5b31eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b31ee:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b31f1:	8b 10                	mov    (%eax),%edx
5b31f3:	ff 52 08             	call   *0x8(%edx)
5b31f6:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b31f9:	db 45 a0             	fildl  -0x60(%ebp)
5b31fc:	d8 05 68 37 5b 00    	fadds  0x5b3768
5b3202:	d8 3d 6c 37 5b 00    	fdivrs 0x5b376c
5b3208:	dd 5d a8             	fstpl  -0x58(%ebp)
5b320b:	9b                   	fwait
5b320c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b320f:	8a 40 04             	mov    0x4(%eax),%al
5b3212:	88 45 b7             	mov    %al,-0x49(%ebp)
5b3215:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3218:	8a 40 04             	mov    0x4(%eax),%al
5b321b:	88 45 b6             	mov    %al,-0x4a(%ebp)
5b321e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3221:	8a 15 70 37 5b 00    	mov    0x5b3770,%dl
5b3227:	88 50 04             	mov    %dl,0x4(%eax)
5b322a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b322d:	8a 15 74 37 5b 00    	mov    0x5b3774,%dl
5b3233:	88 50 04             	mov    %dl,0x4(%eax)
5b3236:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3239:	8b 10                	mov    (%eax),%edx
5b323b:	ff 52 0c             	call   *0xc(%edx)
5b323e:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b3241:	db 45 a0             	fildl  -0x60(%ebp)
5b3244:	db 7d 94             	fstpt  -0x6c(%ebp)
5b3247:	9b                   	fwait
5b3248:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b324b:	8b 10                	mov    (%eax),%edx
5b324d:	ff 52 0c             	call   *0xc(%edx)
5b3250:	89 45 90             	mov    %eax,-0x70(%ebp)
5b3253:	db 45 90             	fildl  -0x70(%ebp)
5b3256:	db 6d 94             	fldt   -0x6c(%ebp)
5b3259:	de f1                	fdivp  %st,%st(1)
5b325b:	dd 5d e0             	fstpl  -0x20(%ebp)
5b325e:	9b                   	fwait
5b325f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3262:	8b 10                	mov    (%eax),%edx
5b3264:	ff 52 08             	call   *0x8(%edx)
5b3267:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b326a:	db 45 a0             	fildl  -0x60(%ebp)
5b326d:	db 7d 94             	fstpt  -0x6c(%ebp)
5b3270:	9b                   	fwait
5b3271:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3274:	8b 10                	mov    (%eax),%edx
5b3276:	ff 52 08             	call   *0x8(%edx)
5b3279:	89 45 90             	mov    %eax,-0x70(%ebp)
5b327c:	db 45 90             	fildl  -0x70(%ebp)
5b327f:	db 6d 94             	fldt   -0x6c(%ebp)
5b3282:	de f1                	fdivp  %st,%st(1)
5b3284:	dd 5d d8             	fstpl  -0x28(%ebp)
5b3287:	9b                   	fwait
5b3288:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b328b:	8b 10                	mov    (%eax),%edx
5b328d:	ff 52 0c             	call   *0xc(%edx)
5b3290:	c1 e0 02             	shl    $0x2,%eax
5b3293:	e8 14 f5 e4 ff       	call   0x4027ac
5b3298:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b329b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b329e:	8b 10                	mov    (%eax),%edx
5b32a0:	ff 52 0c             	call   *0xc(%edx)
5b32a3:	48                   	dec    %eax
5b32a4:	85 c0                	test   %eax,%eax
5b32a6:	7c 20                	jl     0x5b32c8
5b32a8:	40                   	inc    %eax
5b32a9:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b32ac:	33 f6                	xor    %esi,%esi
5b32ae:	89 75 a0             	mov    %esi,-0x60(%ebp)
5b32b1:	db 45 a0             	fildl  -0x60(%ebp)
5b32b4:	dc 4d e0             	fmull  -0x20(%ebp)
5b32b7:	e8 10 fa e4 ff       	call   0x402ccc
5b32bc:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b32bf:	89 04 b2             	mov    %eax,(%edx,%esi,4)
5b32c2:	46                   	inc    %esi
5b32c3:	ff 4d a4             	decl   -0x5c(%ebp)
5b32c6:	75 e6                	jne    0x5b32ae
5b32c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b32cb:	8b 10                	mov    (%eax),%edx
5b32cd:	ff 52 10             	call   *0x10(%edx)
5b32d0:	83 e0 7f             	and    $0x7f,%eax
5b32d3:	83 f8 08             	cmp    $0x8,%eax
5b32d6:	0f 87 69 04 00 00    	ja     0x5b3745
5b32dc:	ff 24 85 e3 32 5b 00 	jmp    *0x5b32e3(,%eax,4)
5b32e3:	45                   	inc    %ebp
5b32e4:	37                   	aaa
5b32e5:	5b                   	pop    %ebx
5b32e6:	00 07                	add    %al,(%edi)
5b32e8:	33 5b 00             	xor    0x0(%ebx),%ebx
5b32eb:	e2 33                	loop   0x5b3320
5b32ed:	5b                   	pop    %ebx
5b32ee:	00 e2                	add    %ah,%dl
5b32f0:	33 5b 00             	xor    0x0(%ebx),%ebx
5b32f3:	6e                   	outsb  %ds:(%esi),(%dx)
5b32f4:	34 5b                	xor    $0x5b,%al
5b32f6:	00 fa                	add    %bh,%dl
5b32f8:	34 5b                	xor    $0x5b,%al
5b32fa:	00 94 35 5b 00 22 36 	add    %dl,0x3622005b(%ebp,%esi,1)
5b3301:	5b                   	pop    %ebx
5b3302:	00 b0 36 5b 00 8b    	add    %dh,-0x74ffa4ca(%eax)
5b3308:	45                   	inc    %ebp
5b3309:	f8                   	clc
5b330a:	8b 10                	mov    (%eax),%edx
5b330c:	ff 52 08             	call   *0x8(%edx)
5b330f:	48                   	dec    %eax
5b3310:	85 c0                	test   %eax,%eax
5b3312:	0f 8c 2d 04 00 00    	jl     0x5b3745
5b3318:	40                   	inc    %eax
5b3319:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b331c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b3323:	db 45 f0             	fildl  -0x10(%ebp)
5b3326:	dc 4d d8             	fmull  -0x28(%ebp)
5b3329:	e8 9e f9 e4 ff       	call   0x402ccc
5b332e:	8b d0                	mov    %eax,%edx
5b3330:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3333:	8b 08                	mov    (%eax),%ecx
5b3335:	ff 11                	call   *(%ecx)
5b3337:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5b333a:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b333d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3340:	8b 08                	mov    (%eax),%ecx
5b3342:	ff 11                	call   *(%ecx)
5b3344:	8b d8                	mov    %eax,%ebx
5b3346:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3349:	8b 10                	mov    (%eax),%edx
5b334b:	ff 52 0c             	call   *0xc(%edx)
5b334e:	48                   	dec    %eax
5b334f:	85 c0                	test   %eax,%eax
5b3351:	7c 61                	jl     0x5b33b4
5b3353:	40                   	inc    %eax
5b3354:	33 f6                	xor    %esi,%esi
5b3356:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b3359:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b335c:	89 55 ec             	mov    %edx,-0x14(%ebp)
5b335f:	8b d6                	mov    %esi,%edx
5b3361:	c1 ea 03             	shr    $0x3,%edx
5b3364:	03 d3                	add    %ebx,%edx
5b3366:	89 55 c0             	mov    %edx,-0x40(%ebp)
5b3369:	8b 55 ec             	mov    -0x14(%ebp),%edx
5b336c:	c1 ea 03             	shr    $0x3,%edx
5b336f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5b3372:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5b3375:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5b3378:	83 e1 07             	and    $0x7,%ecx
5b337b:	8b 3d 88 6d 6a 00    	mov    0x6a6d88,%edi
5b3381:	22 14 0f             	and    (%edi,%ecx,1),%dl
5b3384:	74 15                	je     0x5b339b
5b3386:	8b d6                	mov    %esi,%edx
5b3388:	83 e2 07             	and    $0x7,%edx
5b338b:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5b3391:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5b3394:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5b3397:	08 11                	or     %dl,(%ecx)
5b3399:	eb 15                	jmp    0x5b33b0
5b339b:	8b d6                	mov    %esi,%edx
5b339d:	83 e2 07             	and    $0x7,%edx
5b33a0:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5b33a6:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5b33a9:	f6 d2                	not    %dl
5b33ab:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5b33ae:	20 11                	and    %dl,(%ecx)
5b33b0:	46                   	inc    %esi
5b33b1:	48                   	dec    %eax
5b33b2:	75 a2                	jne    0x5b3356
5b33b4:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b33b9:	74 16                	je     0x5b33d1
5b33bb:	db 45 f0             	fildl  -0x10(%ebp)
5b33be:	dc 4d a8             	fmull  -0x58(%ebp)
5b33c1:	e8 06 f9 e4 ff       	call   0x402ccc
5b33c6:	8b c8                	mov    %eax,%ecx
5b33c8:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b33cb:	8b 45 0c             	mov    0xc(%ebp),%eax
5b33ce:	ff 55 08             	call   *0x8(%ebp)
5b33d1:	ff 45 f0             	incl   -0x10(%ebp)
5b33d4:	ff 4d a4             	decl   -0x5c(%ebp)
5b33d7:	0f 85 46 ff ff ff    	jne    0x5b3323
5b33dd:	e9 63 03 00 00       	jmp    0x5b3745
5b33e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b33e5:	8b 10                	mov    (%eax),%edx
5b33e7:	ff 52 08             	call   *0x8(%edx)
5b33ea:	48                   	dec    %eax
5b33eb:	85 c0                	test   %eax,%eax
5b33ed:	0f 8c 52 03 00 00    	jl     0x5b3745
5b33f3:	40                   	inc    %eax
5b33f4:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b33f7:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b33fe:	db 45 f0             	fildl  -0x10(%ebp)
5b3401:	dc 4d d8             	fmull  -0x28(%ebp)
5b3404:	e8 c3 f8 e4 ff       	call   0x402ccc
5b3409:	8b d0                	mov    %eax,%edx
5b340b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b340e:	8b 08                	mov    (%eax),%ecx
5b3410:	ff 11                	call   *(%ecx)
5b3412:	89 45 bc             	mov    %eax,-0x44(%ebp)
5b3415:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b3418:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b341b:	8b 08                	mov    (%eax),%ecx
5b341d:	ff 11                	call   *(%ecx)
5b341f:	8b d8                	mov    %eax,%ebx
5b3421:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3424:	8b 10                	mov    (%eax),%edx
5b3426:	ff 52 0c             	call   *0xc(%edx)
5b3429:	48                   	dec    %eax
5b342a:	85 c0                	test   %eax,%eax
5b342c:	7c 16                	jl     0x5b3444
5b342e:	40                   	inc    %eax
5b342f:	33 f6                	xor    %esi,%esi
5b3431:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b3434:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b3437:	8b 4d bc             	mov    -0x44(%ebp),%ecx
5b343a:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5b343d:	88 13                	mov    %dl,(%ebx)
5b343f:	43                   	inc    %ebx
5b3440:	46                   	inc    %esi
5b3441:	48                   	dec    %eax
5b3442:	75 ed                	jne    0x5b3431
5b3444:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b3449:	74 16                	je     0x5b3461
5b344b:	db 45 f0             	fildl  -0x10(%ebp)
5b344e:	dc 4d a8             	fmull  -0x58(%ebp)
5b3451:	e8 76 f8 e4 ff       	call   0x402ccc
5b3456:	8b c8                	mov    %eax,%ecx
5b3458:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b345b:	8b 45 0c             	mov    0xc(%ebp),%eax
5b345e:	ff 55 08             	call   *0x8(%ebp)
5b3461:	ff 45 f0             	incl   -0x10(%ebp)
5b3464:	ff 4d a4             	decl   -0x5c(%ebp)
5b3467:	75 95                	jne    0x5b33fe
5b3469:	e9 d7 02 00 00       	jmp    0x5b3745
5b346e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3471:	8b 10                	mov    (%eax),%edx
5b3473:	ff 52 08             	call   *0x8(%edx)
5b3476:	48                   	dec    %eax
5b3477:	85 c0                	test   %eax,%eax
5b3479:	0f 8c c6 02 00 00    	jl     0x5b3745
5b347f:	40                   	inc    %eax
5b3480:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b3483:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b348a:	db 45 f0             	fildl  -0x10(%ebp)
5b348d:	dc 4d d8             	fmull  -0x28(%ebp)
5b3490:	e8 37 f8 e4 ff       	call   0x402ccc
5b3495:	8b d0                	mov    %eax,%edx
5b3497:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b349a:	8b 08                	mov    (%eax),%ecx
5b349c:	ff 11                	call   *(%ecx)
5b349e:	8b d8                	mov    %eax,%ebx
5b34a0:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b34a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b34a6:	8b 08                	mov    (%eax),%ecx
5b34a8:	ff 11                	call   *(%ecx)
5b34aa:	8b f8                	mov    %eax,%edi
5b34ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b34af:	8b 10                	mov    (%eax),%edx
5b34b1:	ff 52 0c             	call   *0xc(%edx)
5b34b4:	48                   	dec    %eax
5b34b5:	85 c0                	test   %eax,%eax
5b34b7:	7c 17                	jl     0x5b34d0
5b34b9:	40                   	inc    %eax
5b34ba:	33 f6                	xor    %esi,%esi
5b34bc:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b34bf:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b34c2:	66 8b 14 53          	mov    (%ebx,%edx,2),%dx
5b34c6:	66 89 17             	mov    %dx,(%edi)
5b34c9:	83 c7 02             	add    $0x2,%edi
5b34cc:	46                   	inc    %esi
5b34cd:	48                   	dec    %eax
5b34ce:	75 ec                	jne    0x5b34bc
5b34d0:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b34d5:	74 16                	je     0x5b34ed
5b34d7:	db 45 f0             	fildl  -0x10(%ebp)
5b34da:	dc 4d a8             	fmull  -0x58(%ebp)
5b34dd:	e8 ea f7 e4 ff       	call   0x402ccc
5b34e2:	8b c8                	mov    %eax,%ecx
5b34e4:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b34e7:	8b 45 0c             	mov    0xc(%ebp),%eax
5b34ea:	ff 55 08             	call   *0x8(%ebp)
5b34ed:	ff 45 f0             	incl   -0x10(%ebp)
5b34f0:	ff 4d a4             	decl   -0x5c(%ebp)
5b34f3:	75 95                	jne    0x5b348a
5b34f5:	e9 4b 02 00 00       	jmp    0x5b3745
5b34fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b34fd:	8b 10                	mov    (%eax),%edx
5b34ff:	ff 52 08             	call   *0x8(%edx)
5b3502:	48                   	dec    %eax
5b3503:	85 c0                	test   %eax,%eax
5b3505:	0f 8c 3a 02 00 00    	jl     0x5b3745
5b350b:	40                   	inc    %eax
5b350c:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b350f:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b3516:	db 45 f0             	fildl  -0x10(%ebp)
5b3519:	dc 4d d8             	fmull  -0x28(%ebp)
5b351c:	e8 ab f7 e4 ff       	call   0x402ccc