5c3599:	33 d2                	xor    %edx,%edx
5c359b:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c359e:	e8 e5 8f 03 00       	call   0x5fc588
5c35a3:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c35a6:	8b 10                	mov    (%eax),%edx
5c35a8:	ff 52 10             	call   *0x10(%edx)
5c35ab:	3c 01                	cmp    $0x1,%al
5c35ad:	75 23                	jne    0x5c35d2
5c35af:	3b 7d f4             	cmp    -0xc(%ebp),%edi
5c35b2:	7f 08                	jg     0x5c35bc
5c35b4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c35b7:	3b 45 ec             	cmp    -0x14(%ebp),%eax
5c35ba:	7d 16                	jge    0x5c35d2
5c35bc:	c6 45 ab 09          	movb   $0x9,-0x55(%ebp)
5c35c0:	6a 05                	push   $0x5
5c35c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c35c5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5c35c8:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c35cb:	8b 38                	mov    (%eax),%edi
5c35cd:	ff 57 24             	call   *0x24(%edi)
5c35d0:	eb 20                	jmp    0x5c35f2
5c35d2:	8a 83 09 03 00 00    	mov    0x309(%ebx),%al
5c35d8:	88 45 ab             	mov    %al,-0x55(%ebp)
5c35db:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c35de:	8b 10                	mov    (%eax),%edx
5c35e0:	ff 52 10             	call   *0x10(%edx)
5c35e3:	50                   	push   %eax
5c35e4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c35e7:	8b 55 f4             	mov    -0xc(%ebp),%edx
5c35ea:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c35ed:	8b 38                	mov    (%eax),%edi
5c35ef:	ff 57 24             	call   *0x24(%edi)
5c35f2:	6a 00                	push   $0x0
5c35f4:	6a 00                	push   $0x0
5c35f6:	6a 00                	push   $0x0
5c35f8:	8a 4d ab             	mov    -0x55(%ebp),%cl
5c35fb:	8b 55 bc             	mov    -0x44(%ebp),%edx
5c35fe:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c3601:	e8 66 7c fe ff       	call   0x5ab26c
5c3606:	83 bb 28 03 00 00 00 	cmpl   $0x0,0x328(%ebx)
5c360d:	7e 29                	jle    0x5c3638
5c360f:	8b 55 8c             	mov    -0x74(%ebp),%edx
5c3612:	8b 45 90             	mov    -0x70(%ebp),%eax
5c3615:	e8 02 5e fe ff       	call   0x5a941c
5c361a:	99                   	cltd
5c361b:	f7 bb 28 03 00 00    	idivl  0x328(%ebx)
5c3621:	89 45 e8             	mov    %eax,-0x18(%ebp)
5c3624:	6a 00                	push   $0x0
5c3626:	6a 00                	push   $0x0
5c3628:	6a 00                	push   $0x0
5c362a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c362d:	8b 55 e8             	mov    -0x18(%ebp),%edx
5c3630:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c3633:	e8 9c a5 ff ff       	call   0x5bdbd4
5c3638:	8b 83 d4 03 00 00    	mov    0x3d4(%ebx),%eax
5c363e:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
5c3642:	0f 84 7b 01 00 00    	je     0x5c37c3
5c3648:	8b 55 b8             	mov    -0x48(%ebp),%edx
5c364b:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c364e:	e8 fd 42 03 00       	call   0x5f7950
5c3653:	b2 05                	mov    $0x5,%dl
5c3655:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c3658:	e8 5b 4b 03 00       	call   0x5f81b8
5c365d:	8b 83 d4 03 00 00    	mov    0x3d4(%ebx),%eax
5c3663:	ff 70 0c             	push   0xc(%eax)
5c3666:	ff 70 08             	push   0x8(%eax)
5c3669:	6a 01                	push   $0x1
5c366b:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5c3671:	50                   	push   %eax
5c3672:	33 c9                	xor    %ecx,%ecx
5c3674:	33 d2                	xor    %edx,%edx
5c3676:	33 c0                	xor    %eax,%eax
5c3678:	e8 93 5c fe ff       	call   0x5a9310
5c367d:	8a 85 56 ff ff ff    	mov    -0xaa(%ebp),%al
5c3683:	c1 e0 10             	shl    $0x10,%eax
5c3686:	66 8b 85 54 ff ff ff 	mov    -0xac(%ebp),%ax
5c368d:	50                   	push   %eax
5c368e:	6a 00                	push   $0x0
5c3690:	6a 00                	push   $0x0
5c3692:	6a 00                	push   $0x0
5c3694:	6a 00                	push   $0x0
5c3696:	8b 83 d4 03 00 00    	mov    0x3d4(%ebx),%eax
5c369c:	8b 48 14             	mov    0x14(%eax),%ecx
5c369f:	8b 83 d4 03 00 00    	mov    0x3d4(%ebx),%eax
5c36a5:	8b 50 10             	mov    0x10(%eax),%edx
5c36a8:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c36ab:	e8 ac 71 ff ff       	call   0x5ba85c
5c36b0:	6a 05                	push   $0x5
5c36b2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c36b5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5c36b8:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c36bb:	8b 38                	mov    (%eax),%edi
5c36bd:	ff 57 24             	call   *0x24(%edi)
5c36c0:	6a 00                	push   $0x0
5c36c2:	6a 00                	push   $0x0
5c36c4:	6a 00                	push   $0x0
5c36c6:	33 c9                	xor    %ecx,%ecx
5c36c8:	8b 55 bc             	mov    -0x44(%ebp),%edx
5c36cb:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c36ce:	e8 99 7b fe ff       	call   0x5ab26c
5c36d3:	8d 46 38             	lea    0x38(%esi),%eax
5c36d6:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
5c36dc:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c36df:	8b 10                	mov    (%eax),%edx
5c36e1:	ff 52 0c             	call   *0xc(%edx)
5c36e4:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5c36ea:	db 85 50 ff ff ff    	fildl  -0xb0(%ebp)
5c36f0:	db 45 f4             	fildl  -0xc(%ebp)
5c36f3:	de f1                	fdivp  %st,%st(1)
5c36f5:	dd 9d 78 ff ff ff    	fstpl  -0x88(%ebp)
5c36fb:	9b                   	fwait
5c36fc:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c36ff:	8b 10                	mov    (%eax),%edx
5c3701:	ff 52 08             	call   *0x8(%edx)
5c3704:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5c370a:	db 85 50 ff ff ff    	fildl  -0xb0(%ebp)
5c3710:	db 45 f0             	fildl  -0x10(%ebp)
5c3713:	de f1                	fdivp  %st,%st(1)
5c3715:	dd 9d 70 ff ff ff    	fstpl  -0x90(%ebp)
5c371b:	9b                   	fwait
5c371c:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c371f:	8b 10                	mov    (%eax),%edx
5c3721:	ff 52 0c             	call   *0xc(%edx)
5c3724:	2b 45 f4             	sub    -0xc(%ebp),%eax
5c3727:	d1 f8                	sar    $1,%eax
5c3729:	79 03                	jns    0x5c372e
5c372b:	83 d0 00             	adc    $0x0,%eax
5c372e:	89 45 88             	mov    %eax,-0x78(%ebp)
5c3731:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c3734:	8b 10                	mov    (%eax),%edx
5c3736:	ff 52 08             	call   *0x8(%edx)
5c3739:	2b 45 f0             	sub    -0x10(%ebp),%eax
5c373c:	d1 f8                	sar    $1,%eax
5c373e:	79 03                	jns    0x5c3743
5c3740:	83 d0 00             	adc    $0x0,%eax
5c3743:	89 45 84             	mov    %eax,-0x7c(%ebp)
5c3746:	db 45 88             	fildl  -0x78(%ebp)
5c3749:	dc 8d 78 ff ff ff    	fmull  -0x88(%ebp)
5c374f:	e8 78 f5 e3 ff       	call   0x402ccc
5c3754:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
5c375a:	89 02                	mov    %eax,(%edx)
5c375c:	db 45 84             	fildl  -0x7c(%ebp)
5c375f:	dc 8d 70 ff ff ff    	fmull  -0x90(%ebp)
5c3765:	e8 62 f5 e3 ff       	call   0x402ccc
5c376a:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
5c3770:	89 42 04             	mov    %eax,0x4(%edx)
5c3773:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c3776:	03 45 88             	add    -0x78(%ebp),%eax
5c3779:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5c377f:	db 85 50 ff ff ff    	fildl  -0xb0(%ebp)
5c3785:	dc 8d 78 ff ff ff    	fmull  -0x88(%ebp)
5c378b:	e8 3c f5 e3 ff       	call   0x402ccc
5c3790:	40                   	inc    %eax
5c3791:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
5c3797:	89 42 08             	mov    %eax,0x8(%edx)
5c379a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c379d:	03 45 84             	add    -0x7c(%ebp),%eax
5c37a0:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5c37a6:	db 85 50 ff ff ff    	fildl  -0xb0(%ebp)
5c37ac:	dc 8d 70 ff ff ff    	fmull  -0x90(%ebp)
5c37b2:	e8 15 f5 e3 ff       	call   0x402ccc
5c37b7:	40                   	inc    %eax
5c37b8:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
5c37be:	89 42 0c             	mov    %eax,0xc(%edx)
5c37c1:	eb 26                	jmp    0x5c37e9
5c37c3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c37c6:	50                   	push   %eax
5c37c7:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5c37cd:	50                   	push   %eax
5c37ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c37d1:	33 d2                	xor    %edx,%edx
5c37d3:	33 c0                	xor    %eax,%eax
5c37d5:	e8 9a 6e e5 ff       	call   0x41a674
5c37da:	56                   	push   %esi
5c37db:	8d 7e 38             	lea    0x38(%esi),%edi
5c37de:	8d b5 40 ff ff ff    	lea    -0xc0(%ebp),%esi
5c37e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5c37e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5c37e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5c37e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5c37e8:	5e                   	pop    %esi
5c37e9:	33 c0                	xor    %eax,%eax
5c37eb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5c37ee:	33 c0                	xor    %eax,%eax
5c37f0:	89 45 b0             	mov    %eax,-0x50(%ebp)
5c37f3:	33 c0                	xor    %eax,%eax
5c37f5:	89 45 ac             	mov    %eax,-0x54(%ebp)
5c37f8:	8d 45 b0             	lea    -0x50(%ebp),%eax
5c37fb:	50                   	push   %eax
5c37fc:	8d 45 ac             	lea    -0x54(%ebp),%eax
5c37ff:	50                   	push   %eax
5c3800:	6a 00                	push   $0x0
5c3802:	8b 45 dc             	mov    -0x24(%ebp),%eax
5c3805:	50                   	push   %eax
5c3806:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c3809:	50                   	push   %eax
5c380a:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c380d:	50                   	push   %eax
5c380e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3811:	50                   	push   %eax
5c3812:	6a 00                	push   $0x0
5c3814:	6a 00                	push   $0x0
5c3816:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c3819:	8b 10                	mov    (%eax),%edx
5c381b:	ff 52 0c             	call   *0xc(%edx)
5c381e:	50                   	push   %eax
5c381f:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c3822:	8b 10                	mov    (%eax),%edx
5c3824:	ff 52 08             	call   *0x8(%edx)
5c3827:	50                   	push   %eax
5c3828:	8a 83 2e 03 00 00    	mov    0x32e(%ebx),%al
5c382e:	50                   	push   %eax
5c382f:	6a 00                	push   $0x0
5c3831:	68 ff 00 00 00       	push   $0xff
5c3836:	8a 45 ab             	mov    -0x55(%ebp),%al
5c3839:	50                   	push   %eax
5c383a:	6a 01                	push   $0x1
5c383c:	6a 00                	push   $0x0
5c383e:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
5c3841:	8b 55 fc             	mov    -0x4(%ebp),%edx
5c3844:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c3847:	e8 64 93 03 00       	call   0x5fcbb0
5c384c:	80 bb d0 03 00 00 00 	cmpb   $0x0,0x3d0(%ebx)
5c3853:	74 4d                	je     0x5c38a2
5c3855:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c385b:	8b 55 bc             	mov    -0x44(%ebp),%edx
5c385e:	e8 45 1e 03 00       	call   0x5f56a8
5c3863:	89 46 08             	mov    %eax,0x8(%esi)
5c3866:	8b 56 04             	mov    0x4(%esi),%edx
5c3869:	8b 83 68 02 00 00    	mov    0x268(%ebx),%eax
5c386f:	e8 a4 24 03 00       	call   0x5f5d18
5c3874:	8b c8                	mov    %eax,%ecx
5c3876:	8b 56 08             	mov    0x8(%esi),%edx
5c3879:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c387f:	e8 9c 24 03 00       	call   0x5f5d20
5c3884:	8b 56 04             	mov    0x4(%esi),%edx
5c3887:	8b 83 68 02 00 00    	mov    0x268(%ebx),%eax
5c388d:	e8 8a 24 03 00       	call   0x5f5d1c
5c3892:	8b c8                	mov    %eax,%ecx
5c3894:	8b 56 08             	mov    0x8(%esi),%edx
5c3897:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c389d:	e8 82 24 03 00       	call   0x5f5d24
5c38a2:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c38a5:	e8 ce 01 e4 ff       	call   0x403a78
5c38aa:	8b 45 bc             	mov    -0x44(%ebp),%eax
5c38ad:	e8 c6 01 e4 ff       	call   0x403a78
5c38b2:	e9 66 01 00 00       	jmp    0x5c3a1d
5c38b7:	85 ff                	test   %edi,%edi
5c38b9:	0f 84 5e 01 00 00    	je     0x5c3a1d
5c38bf:	8b d7                	mov    %edi,%edx
5c38c1:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c38c7:	e8 ec 23 03 00       	call   0x5f5cb8
5c38cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c38cf:	8b 56 08             	mov    0x8(%esi),%edx
5c38d2:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c38d8:	e8 0b 24 03 00       	call   0x5f5ce8
5c38dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c38e0:	8b 45 90             	mov    -0x70(%ebp),%eax
5c38e3:	2b 45 f4             	sub    -0xc(%ebp),%eax
5c38e6:	99                   	cltd
5c38e7:	33 c2                	xor    %edx,%eax
5c38e9:	2b c2                	sub    %edx,%eax
5c38eb:	d1 f8                	sar    $1,%eax
5c38ed:	79 03                	jns    0x5c38f2
5c38ef:	83 d0 00             	adc    $0x0,%eax
5c38f2:	03 45 e4             	add    -0x1c(%ebp),%eax
5c38f5:	89 45 dc             	mov    %eax,-0x24(%ebp)
5c38f8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5c38fb:	2b 45 f0             	sub    -0x10(%ebp),%eax
5c38fe:	99                   	cltd
5c38ff:	33 c2                	xor    %edx,%eax
5c3901:	2b c2                	sub    %edx,%eax
5c3903:	d1 f8                	sar    $1,%eax
5c3905:	79 03                	jns    0x5c390a
5c3907:	83 d0 00             	adc    $0x0,%eax
5c390a:	8b 55 e0             	mov    -0x20(%ebp),%edx
5c390d:	03 55 98             	add    -0x68(%ebp),%edx
5c3910:	03 c2                	add    %edx,%eax
5c3912:	89 45 d8             	mov    %eax,-0x28(%ebp)
5c3915:	8b 56 08             	mov    0x8(%esi),%edx
5c3918:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c391e:	e8 65 24 03 00       	call   0x5f5d88
5c3923:	89 45 d0             	mov    %eax,-0x30(%ebp)
5c3926:	8b 56 08             	mov    0x8(%esi),%edx
5c3929:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c392f:	e8 b8 24 03 00       	call   0x5f5dec
5c3934:	89 45 cc             	mov    %eax,-0x34(%ebp)
5c3937:	b2 01                	mov    $0x1,%dl
5c3939:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5c393e:	e8 61 3c 03 00       	call   0x5f75a4
5c3943:	89 45 b8             	mov    %eax,-0x48(%ebp)
5c3946:	8b 56 08             	mov    0x8(%esi),%edx
5c3949:	8b 83 6c 02 00 00    	mov    0x26c(%ebx),%eax
5c394f:	e8 d4 23 03 00       	call   0x5f5d28
5c3954:	48                   	dec    %eax
5c3955:	74 07                	je     0x5c395e
5c3957:	83 e8 17             	sub    $0x17,%eax
5c395a:	74 1a                	je     0x5c3976
5c395c:	eb 2e                	jmp    0x5c398c
5c395e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3961:	50                   	push   %eax
5c3962:	6a 01                	push   $0x1
5c3964:	6a 00                	push   $0x0
5c3966:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c3969:	8b 55 d0             	mov    -0x30(%ebp),%edx
5c396c:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c396f:	e8 4c 4d 03 00       	call   0x5f86c0
5c3974:	eb 16                	jmp    0x5c398c
5c3976:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3979:	50                   	push   %eax
5c397a:	6a 05                	push   $0x5
5c397c:	6a 00                	push   $0x0
5c397e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c3981:	8b 55 d0             	mov    -0x30(%ebp),%edx
5c3984:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c3987:	e8 34 4d 03 00       	call   0x5f86c0
5c398c:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
5c3990:	74 27                	je     0x5c39b9
5c3992:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3995:	50                   	push   %eax
5c3996:	6a 03                	push   $0x3
5c3998:	6a 01                	push   $0x1
5c399a:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c399d:	e8 36 3f 03 00       	call   0x5f78d8
5c39a2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c39a5:	8b 55 cc             	mov    -0x34(%ebp),%edx
5c39a8:	e8 13 4d 03 00       	call   0x5f86c0
5c39ad:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c39b0:	e8 23 3f 03 00       	call   0x5f78d8
5c39b5:	c6 40 43 00          	movb   $0x0,0x43(%eax)
5c39b9:	33 c0                	xor    %eax,%eax
5c39bb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5c39be:	33 c0                	xor    %eax,%eax
5c39c0:	89 45 b0             	mov    %eax,-0x50(%ebp)
5c39c3:	33 c0                	xor    %eax,%eax
5c39c5:	89 45 ac             	mov    %eax,-0x54(%ebp)
5c39c8:	8d 45 b0             	lea    -0x50(%ebp),%eax
5c39cb:	50                   	push   %eax
5c39cc:	8d 45 ac             	lea    -0x54(%ebp),%eax
5c39cf:	50                   	push   %eax
5c39d0:	6a 00                	push   $0x0
5c39d2:	8b 45 dc             	mov    -0x24(%ebp),%eax
5c39d5:	50                   	push   %eax
5c39d6:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c39d9:	50                   	push   %eax
5c39da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c39dd:	50                   	push   %eax
5c39de:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c39e1:	50                   	push   %eax
5c39e2:	6a 00                	push   $0x0