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
5b3521:	8b d0                	mov    %eax,%edx
5b3523:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3526:	8b 08                	mov    (%eax),%ecx
5b3528:	ff 11                	call   *(%ecx)
5b352a:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b352d:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b3530:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3533:	8b 08                	mov    (%eax),%ecx
5b3535:	ff 11                	call   *(%ecx)
5b3537:	8b d8                	mov    %eax,%ebx
5b3539:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b353c:	8b 10                	mov    (%eax),%edx
5b353e:	ff 52 0c             	call   *0xc(%edx)
5b3541:	48                   	dec    %eax
5b3542:	85 c0                	test   %eax,%eax
5b3544:	7c 24                	jl     0x5b356a
5b3546:	40                   	inc    %eax
5b3547:	33 f6                	xor    %esi,%esi
5b3549:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b354c:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b354f:	8d 14 52             	lea    (%edx,%edx,2),%edx
5b3552:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5b3555:	03 ca                	add    %edx,%ecx
5b3557:	66 8b 11             	mov    (%ecx),%dx
5b355a:	66 89 13             	mov    %dx,(%ebx)
5b355d:	8a 51 02             	mov    0x2(%ecx),%dl
5b3560:	88 53 02             	mov    %dl,0x2(%ebx)
5b3563:	83 c3 03             	add    $0x3,%ebx
5b3566:	46                   	inc    %esi
5b3567:	48                   	dec    %eax
5b3568:	75 df                	jne    0x5b3549
5b356a:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b356f:	74 16                	je     0x5b3587
5b3571:	db 45 f0             	fildl  -0x10(%ebp)
5b3574:	dc 4d a8             	fmull  -0x58(%ebp)
5b3577:	e8 50 f7 e4 ff       	call   0x402ccc
5b357c:	8b c8                	mov    %eax,%ecx
5b357e:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b3581:	8b 45 0c             	mov    0xc(%ebp),%eax
5b3584:	ff 55 08             	call   *0x8(%ebp)
5b3587:	ff 45 f0             	incl   -0x10(%ebp)
5b358a:	ff 4d a4             	decl   -0x5c(%ebp)
5b358d:	75 87                	jne    0x5b3516
5b358f:	e9 b1 01 00 00       	jmp    0x5b3745
5b3594:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3597:	8b 10                	mov    (%eax),%edx
5b3599:	ff 52 08             	call   *0x8(%edx)
5b359c:	48                   	dec    %eax
5b359d:	85 c0                	test   %eax,%eax
5b359f:	0f 8c a0 01 00 00    	jl     0x5b3745
5b35a5:	40                   	inc    %eax
5b35a6:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b35a9:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b35b0:	db 45 f0             	fildl  -0x10(%ebp)
5b35b3:	dc 4d d8             	fmull  -0x28(%ebp)
5b35b6:	e8 11 f7 e4 ff       	call   0x402ccc
5b35bb:	8b d0                	mov    %eax,%edx
5b35bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b35c0:	8b 08                	mov    (%eax),%ecx
5b35c2:	ff 11                	call   *(%ecx)
5b35c4:	89 45 b8             	mov    %eax,-0x48(%ebp)
5b35c7:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b35ca:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b35cd:	8b 08                	mov    (%eax),%ecx
5b35cf:	ff 11                	call   *(%ecx)
5b35d1:	8b d8                	mov    %eax,%ebx
5b35d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b35d6:	8b 10                	mov    (%eax),%edx
5b35d8:	ff 52 0c             	call   *0xc(%edx)
5b35db:	48                   	dec    %eax
5b35dc:	85 c0                	test   %eax,%eax
5b35de:	7c 18                	jl     0x5b35f8
5b35e0:	40                   	inc    %eax
5b35e1:	33 f6                	xor    %esi,%esi
5b35e3:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b35e6:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b35e9:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5b35ec:	8b 14 91             	mov    (%ecx,%edx,4),%edx
5b35ef:	89 13                	mov    %edx,(%ebx)
5b35f1:	83 c3 04             	add    $0x4,%ebx
5b35f4:	46                   	inc    %esi
5b35f5:	48                   	dec    %eax
5b35f6:	75 eb                	jne    0x5b35e3
5b35f8:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b35fd:	74 16                	je     0x5b3615
5b35ff:	db 45 f0             	fildl  -0x10(%ebp)
5b3602:	dc 4d a8             	fmull  -0x58(%ebp)
5b3605:	e8 c2 f6 e4 ff       	call   0x402ccc
5b360a:	8b c8                	mov    %eax,%ecx
5b360c:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b360f:	8b 45 0c             	mov    0xc(%ebp),%eax
5b3612:	ff 55 08             	call   *0x8(%ebp)
5b3615:	ff 45 f0             	incl   -0x10(%ebp)
5b3618:	ff 4d a4             	decl   -0x5c(%ebp)
5b361b:	75 93                	jne    0x5b35b0
5b361d:	e9 23 01 00 00       	jmp    0x5b3745
5b3622:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3625:	8b 10                	mov    (%eax),%edx
5b3627:	ff 52 08             	call   *0x8(%edx)
5b362a:	48                   	dec    %eax
5b362b:	85 c0                	test   %eax,%eax
5b362d:	0f 8c 12 01 00 00    	jl     0x5b3745
5b3633:	40                   	inc    %eax
5b3634:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b3637:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b363e:	db 45 f0             	fildl  -0x10(%ebp)
5b3641:	dc 4d d8             	fmull  -0x28(%ebp)
5b3644:	e8 83 f6 e4 ff       	call   0x402ccc
5b3649:	8b d0                	mov    %eax,%edx
5b364b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b364e:	8b 08                	mov    (%eax),%ecx
5b3650:	ff 11                	call   *(%ecx)
5b3652:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b3655:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b3658:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b365b:	8b 08                	mov    (%eax),%ecx
5b365d:	ff 11                	call   *(%ecx)
5b365f:	8b d8                	mov    %eax,%ebx
5b3661:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3664:	8b 10                	mov    (%eax),%edx
5b3666:	ff 52 0c             	call   *0xc(%edx)
5b3669:	48                   	dec    %eax
5b366a:	85 c0                	test   %eax,%eax
5b366c:	7c 18                	jl     0x5b3686
5b366e:	40                   	inc    %eax
5b366f:	33 f6                	xor    %esi,%esi
5b3671:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b3674:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b3677:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5b367a:	8b 14 91             	mov    (%ecx,%edx,4),%edx
5b367d:	89 13                	mov    %edx,(%ebx)
5b367f:	83 c3 04             	add    $0x4,%ebx
5b3682:	46                   	inc    %esi
5b3683:	48                   	dec    %eax
5b3684:	75 eb                	jne    0x5b3671
5b3686:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b368b:	74 16                	je     0x5b36a3
5b368d:	db 45 f0             	fildl  -0x10(%ebp)
5b3690:	dc 4d a8             	fmull  -0x58(%ebp)
5b3693:	e8 34 f6 e4 ff       	call   0x402ccc
5b3698:	8b c8                	mov    %eax,%ecx
5b369a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b369d:	8b 45 0c             	mov    0xc(%ebp),%eax
5b36a0:	ff 55 08             	call   *0x8(%ebp)
5b36a3:	ff 45 f0             	incl   -0x10(%ebp)
5b36a6:	ff 4d a4             	decl   -0x5c(%ebp)
5b36a9:	75 93                	jne    0x5b363e
5b36ab:	e9 95 00 00 00       	jmp    0x5b3745
5b36b0:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b36b3:	8b 10                	mov    (%eax),%edx
5b36b5:	ff 52 08             	call   *0x8(%edx)
5b36b8:	48                   	dec    %eax
5b36b9:	85 c0                	test   %eax,%eax
5b36bb:	0f 8c 84 00 00 00    	jl     0x5b3745
5b36c1:	40                   	inc    %eax
5b36c2:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b36c5:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b36cc:	db 45 f0             	fildl  -0x10(%ebp)
5b36cf:	dc 4d d8             	fmull  -0x28(%ebp)
5b36d2:	e8 f5 f5 e4 ff       	call   0x402ccc
5b36d7:	8b d0                	mov    %eax,%edx
5b36d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b36dc:	8b 08                	mov    (%eax),%ecx
5b36de:	ff 11                	call   *(%ecx)
5b36e0:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b36e3:	8b 55 f0             	mov    -0x10(%ebp),%edx
5b36e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b36e9:	8b 08                	mov    (%eax),%ecx
5b36eb:	ff 11                	call   *(%ecx)
5b36ed:	8b d8                	mov    %eax,%ebx
5b36ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b36f2:	8b 10                	mov    (%eax),%edx
5b36f4:	ff 52 0c             	call   *0xc(%edx)
5b36f7:	48                   	dec    %eax
5b36f8:	85 c0                	test   %eax,%eax