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
5b36fa:	7c 24                	jl     0x5b3720
5b36fc:	40                   	inc    %eax
5b36fd:	33 f6                	xor    %esi,%esi
5b36ff:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b3702:	8b 14 b2             	mov    (%edx,%esi,4),%edx
5b3705:	8d 14 52             	lea    (%edx,%edx,2),%edx
5b3708:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5b370b:	8b 3c 51             	mov    (%ecx,%edx,2),%edi
5b370e:	89 3b                	mov    %edi,(%ebx)
5b3710:	66 8b 7c 51 04       	mov    0x4(%ecx,%edx,2),%di
5b3715:	66 89 7b 04          	mov    %di,0x4(%ebx)
5b3719:	83 c3 06             	add    $0x6,%ebx
5b371c:	46                   	inc    %esi
5b371d:	48                   	dec    %eax
5b371e:	75 df                	jne    0x5b36ff
5b3720:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b3725:	74 16                	je     0x5b373d
5b3727:	db 45 f0             	fildl  -0x10(%ebp)
5b372a:	dc 4d a8             	fmull  -0x58(%ebp)
5b372d:	e8 9a f5 e4 ff       	call   0x402ccc
5b3732:	8b c8                	mov    %eax,%ecx
5b3734:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b3737:	8b 45 0c             	mov    0xc(%ebp),%eax
5b373a:	ff 55 08             	call   *0x8(%ebp)
5b373d:	ff 45 f0             	incl   -0x10(%ebp)
5b3740:	ff 4d a4             	decl   -0x5c(%ebp)
5b3743:	75 87                	jne    0x5b36cc
5b3745:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5b3748:	e8 7f f0 e4 ff       	call   0x4027cc
5b374d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3750:	8a 55 b7             	mov    -0x49(%ebp),%dl
5b3753:	88 50 04             	mov    %dl,0x4(%eax)
5b3756:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3759:	8a 55 b6             	mov    -0x4a(%ebp),%dl
5b375c:	88 50 04             	mov    %dl,0x4(%eax)
5b375f:	5f                   	pop    %edi
5b3760:	5e                   	pop    %esi
5b3761:	5b                   	pop    %ebx
5b3762:	8b e5                	mov    %ebp,%esp
5b3764:	5d                   	pop    %ebp
5b3765:	c2 08 00             	ret    $0x8
5b3768:	00 00                	add    %al,(%eax)
5b376a:	00 3f                	add    %bh,(%edi)
5b376c:	00 00                	add    %al,(%eax)
5b376e:	c8 42 01 00          	enter  $0x142,$0x0
5b3772:	00 00                	add    %al,(%eax)
5b3774:	02 00                	add    (%eax),%al
5b3776:	00 00                	add    %al,(%eax)
5b3778:	55                   	push   %ebp
5b3779:	8b ec                	mov    %esp,%ebp
5b377b:	83 c4 e8             	add    $0xffffffe8,%esp
5b377e:	53                   	push   %ebx
5b377f:	56                   	push   %esi
5b3780:	57                   	push   %edi
5b3781:	8b 5d 10             	mov    0x10(%ebp),%ebx
5b3784:	8b 75 0c             	mov    0xc(%ebp),%esi
5b3787:	6b f6 03             	imul   $0x3,%esi,%esi
5b378a:	83 c6 02             	add    $0x2,%esi
5b378d:	85 f6                	test   %esi,%esi
5b378f:	78 0a                	js     0x5b379b
5b3791:	c1 ee 02             	shr    $0x2,%esi
5b3794:	8b 3c b3             	mov    (%ebx,%esi,4),%edi
5b3797:	4e                   	dec    %esi
5b3798:	57                   	push   %edi
5b3799:	79 f9                	jns    0x5b3794
5b379b:	89 65 10             	mov    %esp,0x10(%ebp)
5b379e:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
5b37a2:	8b da                	mov    %edx,%ebx
5b37a4:	8b f8                	mov    %eax,%edi
5b37a6:	8b 45 08             	mov    0x8(%ebp),%eax
5b37a9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b37ac:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
5b37b0:	83 f8 08             	cmp    $0x8,%eax
5b37b3:	7f 17                	jg     0x5b37cc
5b37b5:	0f 84 a5 02 00 00    	je     0x5b3a60
5b37bb:	48                   	dec    %eax
5b37bc:	74 25                	je     0x5b37e3
5b37be:	83 e8 03             	sub    $0x3,%eax
5b37c1:	0f 84 94 01 00 00    	je     0x5b395b
5b37c7:	e9 ca 04 00 00       	jmp    0x5b3c96
5b37cc:	83 e8 18             	sub    $0x18,%eax
5b37cf:	0f 84 6d 03 00 00    	je     0x5b3b42
5b37d5:	83 e8 08             	sub    $0x8,%eax
5b37d8:	0f 84 6f 04 00 00    	je     0x5b3c4d
5b37de:	e9 b3 04 00 00       	jmp    0x5b3c96
5b37e3:	66 8b 45 18          	mov    0x18(%ebp),%ax
5b37e7:	66 ff c8             	dec    %ax
5b37ea:	74 1f                	je     0x5b380b
5b37ec:	66 83 e8 03          	sub    $0x3,%ax
5b37f0:	74 31                	je     0x5b3823
5b37f2:	66 83 e8 04          	sub    $0x4,%ax
5b37f6:	0f 84 90 00 00 00    	je     0x5b388c
5b37fc:	66 83 e8 10          	sub    $0x10,%ax
5b3800:	0f 84 d3 00 00 00    	je     0x5b38d9
5b3806:	e9 8b 04 00 00       	jmp    0x5b3c96
5b380b:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
5b380f:	83 c1 07             	add    $0x7,%ecx
5b3812:	c1 e9 03             	shr    $0x3,%ecx
5b3815:	8b d7                	mov    %edi,%edx
5b3817:	8b c3                	mov    %ebx,%eax
5b3819:	e8 a2 46 e5 ff       	call   0x407ec0
5b381e:	e9 73 04 00 00       	jmp    0x5b3c96
5b3823:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3827:	48                   	dec    %eax
5b3828:	85 c0                	test   %eax,%eax
5b382a:	0f 8c 66 04 00 00    	jl     0x5b3c96
5b3830:	40                   	inc    %eax
5b3831:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b3834:	33 f6                	xor    %esi,%esi
5b3836:	8b c6                	mov    %esi,%eax
5b3838:	25 07 00 00 80       	and    $0x80000007,%eax
5b383d:	79 05                	jns    0x5b3844
5b383f:	48                   	dec    %eax
5b3840:	83 c8 f8             	or     $0xfffffff8,%eax
5b3843:	40                   	inc    %eax
5b3844:	b9 07 00 00 00       	mov    $0x7,%ecx
5b3849:	2b c8                	sub    %eax,%ecx
5b384b:	8b c6                	mov    %esi,%eax
5b384d:	c1 e8 03             	shr    $0x3,%eax
5b3850:	0f b6 04 07          	movzbl (%edi,%eax,1),%eax
5b3854:	d3 e8                	shr    %cl,%eax
5b3856:	24 01                	and    $0x1,%al
5b3858:	88 45 f7             	mov    %al,-0x9(%ebp)
5b385b:	8b c6                	mov    %esi,%eax
5b385d:	25 01 00 00 80       	and    $0x80000001,%eax
5b3862:	79 05                	jns    0x5b3869
5b3864:	48                   	dec    %eax
5b3865:	83 c8 fe             	or     $0xfffffffe,%eax
5b3868:	40                   	inc    %eax
5b3869:	ba 01 00 00 00       	mov    $0x1,%edx
5b386e:	2b d0                	sub    %eax,%edx
5b3870:	8b ca                	mov    %edx,%ecx
5b3872:	c1 e1 02             	shl    $0x2,%ecx
5b3875:	8a 45 f7             	mov    -0x9(%ebp),%al
5b3878:	d2 e0                	shl    %cl,%al
5b387a:	8b d6                	mov    %esi,%edx
5b387c:	d1 ea                	shr    $1,%edx
5b387e:	08 04 13             	or     %al,(%ebx,%edx,1)
5b3881:	46                   	inc    %esi
5b3882:	ff 4d ec             	decl   -0x14(%ebp)
5b3885:	75 af                	jne    0x5b3836
5b3887:	e9 0a 04 00 00       	jmp    0x5b3c96
5b388c:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b3890:	48                   	dec    %eax
5b3891:	85 c0                	test   %eax,%eax
5b3893:	0f 8c fd 03 00 00    	jl     0x5b3c96
5b3899:	40                   	inc    %eax
5b389a:	89 45 ec             	mov    %eax,-0x14(%ebp)
5b389d:	33 f6                	xor    %esi,%esi
5b389f:	8b c3                	mov    %ebx,%eax
5b38a1:	8b d6                	mov    %esi,%edx
5b38a3:	81 e2 07 00 00 80    	and    $0x80000007,%edx
5b38a9:	79 05                	jns    0x5b38b0
5b38ab:	4a                   	dec    %edx
5b38ac:	83 ca f8             	or     $0xfffffff8,%edx
5b38af:	42                   	inc    %edx
5b38b0:	b9 07 00 00 00       	mov    $0x7,%ecx
5b38b5:	2b ca                	sub    %edx,%ecx
5b38b7:	8b d6                	mov    %esi,%edx
5b38b9:	c1 ea 03             	shr    $0x3,%edx
5b38bc:	0f b6 14 17          	movzbl (%edi,%edx,1),%edx
5b38c0:	d3 ea                	shr    %cl,%edx
5b38c2:	80 e2 01             	and    $0x1,%dl
5b38c5:	88 55 f7             	mov    %dl,-0x9(%ebp)
5b38c8:	8a 55 f7             	mov    -0x9(%ebp),%dl
5b38cb:	88 10                	mov    %dl,(%eax)
5b38cd:	46                   	inc    %esi
5b38ce:	40                   	inc    %eax
5b38cf:	ff 4d ec             	decl   -0x14(%ebp)
5b38d2:	75 cd                	jne    0x5b38a1
5b38d4:	e9 bd 03 00 00       	jmp    0x5b3c96
5b38d9:	33 c0                	xor    %eax,%eax
5b38db:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b38de:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
5b38e2:	48                   	dec    %eax