5b864e:	dc 75 e0             	fdivl  -0x20(%ebp)
5b8651:	dd 5d d8             	fstpl  -0x28(%ebp)
5b8654:	9b dd 45 d8          	fldl   -0x28(%ebp)
5b8658:	e8 6f a6 e4 ff       	call   0x402ccc
5b865d:	8b f0                	mov    %eax,%esi
5b865f:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
5b8665:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
5b866b:	dc 6d d8             	fsubrl -0x28(%ebp)
5b866e:	d8 0d 58 87 5b 00    	fmuls  0x5b8758
5b8674:	e8 53 a6 e4 ff       	call   0x402ccc
5b8679:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b867c:	8b d6                	mov    %esi,%edx
5b867e:	8b 45 98             	mov    -0x68(%ebp),%eax
5b8681:	e8 9e db 03 00       	call   0x5f6224
5b8686:	89 45 a8             	mov    %eax,-0x58(%ebp)
5b8689:	8b 55 cc             	mov    -0x34(%ebp),%edx
5b868c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b868f:	8b 08                	mov    (%eax),%ecx
5b8691:	ff 11                	call   *(%ecx)
5b8693:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b8696:	8d 46 01             	lea    0x1(%esi),%eax
5b8699:	3b 45 b8             	cmp    -0x48(%ebp),%eax
5b869c:	7d 10                	jge    0x5b86ae
5b869e:	8d 56 01             	lea    0x1(%esi),%edx
5b86a1:	8b 45 98             	mov    -0x68(%ebp),%eax
5b86a4:	e8 7b db 03 00       	call   0x5f6224
5b86a9:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b86ac:	eb 06                	jmp    0x5b86b4
5b86ae:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b86b1:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b86b4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b86b7:	48                   	dec    %eax
5b86b8:	85 c0                	test   %eax,%eax
5b86ba:	7c 3e                	jl     0x5b86fa
5b86bc:	40                   	inc    %eax
5b86bd:	89 45 80             	mov    %eax,-0x80(%ebp)
5b86c0:	33 db                	xor    %ebx,%ebx
5b86c2:	8d 3c 5b             	lea    (%ebx,%ebx,2),%edi
5b86c5:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b86c8:	0f b6 44 38 02       	movzbl 0x2(%eax,%edi,1),%eax
5b86cd:	8b 55 a4             	mov    -0x5c(%ebp),%edx
5b86d0:	8d 34 3a             	lea    (%edx,%edi,1),%esi
5b86d3:	8b 55 a0             	mov    -0x60(%ebp),%edx
5b86d6:	0f b6 54 3a 02       	movzbl 0x2(%edx,%edi,1),%edx
5b86db:	2b d0                	sub    %eax,%edx
5b86dd:	0f af 55 c8          	imul   -0x38(%ebp),%edx
5b86e1:	c1 ea 11             	shr    $0x11,%edx
5b86e4:	02 d0                	add    %al,%dl
5b86e6:	88 56 02             	mov    %dl,0x2(%esi)
5b86e9:	8a 46 02             	mov    0x2(%esi),%al
5b86ec:	88 46 01             	mov    %al,0x1(%esi)
5b86ef:	8a 46 02             	mov    0x2(%esi),%al
5b86f2:	88 06                	mov    %al,(%esi)
5b86f4:	43                   	inc    %ebx
5b86f5:	ff 4d 80             	decl   -0x80(%ebp)
5b86f8:	75 c8                	jne    0x5b86c2
5b86fa:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b86ff:	74 25                	je     0x5b8726
5b8701:	8b 45 cc             	mov    -0x34(%ebp),%eax
5b8704:	03 45 b8             	add    -0x48(%ebp),%eax
5b8707:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b870d:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
5b8713:	dc 4d 88             	fmull  -0x78(%ebp)
5b8716:	e8 b1 a5 e4 ff       	call   0x402ccc
5b871b:	8b c8                	mov    %eax,%ecx
5b871d:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b8720:	8b 45 0c             	mov    0xc(%ebp),%eax
5b8723:	ff 55 08             	call   *0x8(%ebp)
5b8726:	ff 45 cc             	incl   -0x34(%ebp)
5b8729:	ff 4d 84             	decl   -0x7c(%ebp)
5b872c:	0f 85 19 ff ff ff    	jne    0x5b864b
5b8732:	8b 45 98             	mov    -0x68(%ebp),%eax
5b8735:	e8 3e b3 e4 ff       	call   0x403a78
5b873a:	8b 45 94             	mov    -0x6c(%ebp),%eax
5b873d:	e8 8a a0 e4 ff       	call   0x4027cc
5b8742:	8b 45 90             	mov    -0x70(%ebp),%eax
5b8745:	e8 82 a0 e4 ff       	call   0x4027cc
5b874a:	5f                   	pop    %edi
5b874b:	5e                   	pop    %esi
5b874c:	5b                   	pop    %ebx
5b874d:	8b e5                	mov    %ebp,%esp
5b874f:	5d                   	pop    %ebp
5b8750:	c2 08 00             	ret    $0x8
5b8753:	00 00                	add    %al,(%eax)
5b8755:	00 80 3f 00 00 00    	add    %al,0x3f(%eax)
5b875b:	48                   	dec    %eax
5b875c:	00 00                	add    %al,(%eax)
5b875e:	00 3f                	add    %bh,(%edi)
5b8760:	00 00                	add    %al,(%eax)
5b8762:	c8 42 55 8b          	enter  $0x5542,$0x8b
5b8766:	ec                   	in     (%dx),%al
5b8767:	81 c4 74 ff ff ff    	add    $0xffffff74,%esp
5b876d:	53                   	push   %ebx
5b876e:	56                   	push   %esi
5b876f:	57                   	push   %edi
5b8770:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5b8773:	89 55 f8             	mov    %edx,-0x8(%ebp)
5b8776:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b8779:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b877c:	8b 10                	mov    (%eax),%edx
5b877e:	ff 52 0c             	call   *0xc(%edx)
5b8781:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5b8784:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b8787:	8b 10                	mov    (%eax),%edx
5b8789:	ff 52 08             	call   *0x8(%edx)
5b878c:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b878f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b8792:	8b 10                	mov    (%eax),%edx
5b8794:	ff 52 0c             	call   *0xc(%edx)
5b8797:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b879a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b879d:	8b 10                	mov    (%eax),%edx
5b879f:	ff 52 08             	call   *0x8(%edx)
5b87a2:	89 45 a8             	mov    %eax,-0x58(%ebp)
5b87a5:	db 45 ac             	fildl  -0x54(%ebp)
5b87a8:	db 45 b4             	fildl  -0x4c(%ebp)
5b87ab:	de f9                	fdivrp %st,%st(1)
5b87ad:	dd 5d e8             	fstpl  -0x18(%ebp)
5b87b0:	9b db 45 a8          	fildl  -0x58(%ebp)
5b87b4:	db 45 b0             	fildl  -0x50(%ebp)
5b87b7:	de f9                	fdivrp %st,%st(1)
5b87b9:	dd 5d e0             	fstpl  -0x20(%ebp)
5b87bc:	9b dd 45 e8          	fldl   -0x18(%ebp)
5b87c0:	d8 1d d0 8c 5b 00    	fcomps 0x5b8cd0
5b87c6:	df e0                	fnstsw %ax
5b87c8:	9e                   	sahf
5b87c9:	75 1e                	jne    0x5b87e9
5b87cb:	dd 45 e0             	fldl   -0x20(%ebp)
5b87ce:	d8 1d d0 8c 5b 00    	fcomps 0x5b8cd0
5b87d4:	df e0                	fnstsw %ax
5b87d6:	9e                   	sahf
5b87d7:	75 10                	jne    0x5b87e9
5b87d9:	8b 55 fc             	mov    -0x4(%ebp),%edx
5b87dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b87df:	8b 08                	mov    (%eax),%ecx
5b87e1:	ff 51 28             	call   *0x28(%ecx)
5b87e4:	e9 db 04 00 00       	jmp    0x5b8cc4
5b87e9:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b87ec:	c1 e0 02             	shl    $0x2,%eax
5b87ef:	e8 b8 9f e4 ff       	call   0x4027ac
5b87f4:	89 45 94             	mov    %eax,-0x6c(%ebp)
5b87f7:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b87fa:	c1 e0 02             	shl    $0x2,%eax
5b87fd:	e8 aa 9f e4 ff       	call   0x4027ac
5b8802:	89 45 90             	mov    %eax,-0x70(%ebp)
5b8805:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b8808:	c1 e0 02             	shl    $0x2,%eax
5b880b:	e8 9c 9f e4 ff       	call   0x4027ac
5b8810:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b8813:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b8816:	48                   	dec    %eax
5b8817:	85 c0                	test   %eax,%eax
5b8819:	0f 8c 86 00 00 00    	jl     0x5b88a5
5b881f:	40                   	inc    %eax
5b8820:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b8826:	33 db                	xor    %ebx,%ebx
5b8828:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
5b882e:	db 85 74 ff ff ff    	fildl  -0x8c(%ebp)
5b8834:	dc 75 e8             	fdivl  -0x18(%ebp)
5b8837:	dd 5d d0             	fstpl  -0x30(%ebp)
5b883a:	9b dd 45 d0          	fldl   -0x30(%ebp)
5b883e:	e8 89 a4 e4 ff       	call   0x402ccc
5b8843:	8b f0                	mov    %eax,%esi
5b8845:	8b 45 90             	mov    -0x70(%ebp),%eax
5b8848:	89 34 98             	mov    %esi,(%eax,%ebx,4)
5b884b:	8b 45 90             	mov    -0x70(%ebp),%eax
5b884e:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
5b8854:	db 85 74 ff ff ff    	fildl  -0x8c(%ebp)
5b885a:	dc 6d d0             	fsubrl -0x30(%ebp)
5b885d:	d8 0d d4 8c 5b 00    	fmuls  0x5b8cd4
5b8863:	e8 64 a4 e4 ff       	call   0x402ccc
5b8868:	8b 55 94             	mov    -0x6c(%ebp),%edx
5b886b:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
5b886e:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b8871:	4a                   	dec    %edx
5b8872:	8d 43 01             	lea    0x1(%ebx),%eax
5b8875:	e8 a2 0b ff ff       	call   0x5a941c
5b887a:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5b8880:	db 85 74 ff ff ff    	fildl  -0x8c(%ebp)
5b8886:	dc 75 e8             	fdivl  -0x18(%ebp)
5b8889:	db 2d d8 8c 5b 00    	fldt   0x5b8cd8
5b888f:	de c1                	faddp  %st,%st(1)
5b8891:	e8 36 a4 e4 ff       	call   0x402ccc
5b8896:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b8899:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
5b889c:	43                   	inc    %ebx
5b889d:	ff 8d 7c ff ff ff    	decl   -0x84(%ebp)
5b88a3:	75 83                	jne    0x5b8828
5b88a5:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b88a8:	50                   	push   %eax
5b88a9:	6a 08                	push   $0x8
5b88ab:	8b 4d ac             	mov    -0x54(%ebp),%ecx
5b88ae:	b2 01                	mov    $0x1,%dl
5b88b0:	a1 00 01 5f 00       	mov    0x5f0100,%eax
5b88b5:	e8 c6 d8 03 00       	call   0x5f6180
5b88ba:	89 45 98             	mov    %eax,-0x68(%ebp)
5b88bd:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b88c0:	03 45 a8             	add    -0x58(%ebp),%eax
5b88c3:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5b88c9:	db 85 74 ff ff ff    	fildl  -0x8c(%ebp)
5b88cf:	d8 05 e4 8c 5b 00    	fadds  0x5b8ce4
5b88d5:	d8 3d e8 8c 5b 00    	fdivrs 0x5b8ce8
5b88db:	dd 5d 80             	fstpl  -0x80(%ebp)
5b88de:	9b dd 45 e8          	fldl   -0x18(%ebp)
5b88e2:	d8 1d d0 8c 5b 00    	fcomps 0x5b8cd0
5b88e8:	df e0                	fnstsw %ax
5b88ea:	9e                   	sahf
5b88eb:	0f 86 bc 00 00 00    	jbe    0x5b89ad
5b88f1:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b88f4:	48                   	dec    %eax
5b88f5:	85 c0                	test   %eax,%eax
5b88f7:	0f 8c 70 01 00 00    	jl     0x5b8a6d
5b88fd:	40                   	inc    %eax
5b88fe:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b8904:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5b890b:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b890e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b8911:	8b 08                	mov    (%eax),%ecx
5b8913:	ff 11                	call   *(%ecx)
5b8915:	8b f0                	mov    %eax,%esi
5b8917:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b891a:	8b 45 98             	mov    -0x68(%ebp),%eax
5b891d:	e8 02 d9 03 00       	call   0x5f6224
5b8922:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b8925:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b8928:	48                   	dec    %eax
5b8929:	85 c0                	test   %eax,%eax
5b892b:	7c 4f                	jl     0x5b897c
5b892d:	40                   	inc    %eax
5b892e:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5b8934:	33 db                	xor    %ebx,%ebx
5b8936:	8b 45 90             	mov    -0x70(%ebp),%eax
5b8939:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5b893c:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b893f:	8b 45 94             	mov    -0x6c(%ebp),%eax
5b8942:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
5b8945:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b8948:	4a                   	dec    %edx
5b8949:	8b 45 cc             	mov    -0x34(%ebp),%eax
5b894c:	40                   	inc    %eax
5b894d:	e8 ca 0a ff ff       	call   0x5a941c
5b8952:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b8955:	8b 45 cc             	mov    -0x34(%ebp),%eax
5b8958:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
5b895c:	8b 55 c8             	mov    -0x38(%ebp),%edx
5b895f:	0f b6 14 16          	movzbl (%esi,%edx,1),%edx
5b8963:	2b d0                	sub    %eax,%edx
5b8965:	0f af d7             	imul   %edi,%edx
5b8968:	c1 ea 11             	shr    $0x11,%edx
5b896b:	02 d0                	add    %al,%dl
5b896d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5b8970:	88 14 18             	mov    %dl,(%eax,%ebx,1)
5b8973:	43                   	inc    %ebx
5b8974:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5b897a:	75 ba                	jne    0x5b8936
5b897c:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b8981:	74 16                	je     0x5b8999
5b8983:	db 45 c4             	fildl  -0x3c(%ebp)
5b8986:	dc 4d 80             	fmull  -0x80(%ebp)
5b8989:	e8 3e a3 e4 ff       	call   0x402ccc
5b898e:	8b c8                	mov    %eax,%ecx
5b8990:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b8993:	8b 45 0c             	mov    0xc(%ebp),%eax
5b8996:	ff 55 08             	call   *0x8(%ebp)
5b8999:	ff 45 c4             	incl   -0x3c(%ebp)
5b899c:	ff 8d 7c ff ff ff    	decl   -0x84(%ebp)
5b89a2:	0f 85 63 ff ff ff    	jne    0x5b890b
5b89a8:	e9 c0 00 00 00       	jmp    0x5b8a6d
5b89ad:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b89b0:	48                   	dec    %eax
5b89b1:	85 c0                	test   %eax,%eax
5b89b3:	0f 8c b4 00 00 00    	jl     0x5b8a6d
5b89b9:	40                   	inc    %eax
5b89ba:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b89c0:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5b89c7:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b89ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b89cd:	8b 08                	mov    (%eax),%ecx
5b89cf:	ff 11                	call   *(%ecx)
5b89d1:	8b f0                	mov    %eax,%esi
5b89d3:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b89d6:	8b 45 98             	mov    -0x68(%ebp),%eax
5b89d9:	e8 46 d8 03 00       	call   0x5f6224
5b89de:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b89e1:	8b 45 ac             	mov    -0x54(%ebp),%eax
5b89e4:	48                   	dec    %eax
5b89e5:	85 c0                	test   %eax,%eax
5b89e7:	7c 58                	jl     0x5b8a41
5b89e9:	40                   	inc    %eax
5b89ea:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5b89f0:	33 db                	xor    %ebx,%ebx
5b89f2:	8b 45 90             	mov    -0x70(%ebp),%eax
5b89f5:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5b89f8:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b89fb:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b89fe:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5b8a01:	89 45 c8             	mov    %eax,-0x38(%ebp)
5b8a04:	33 c9                	xor    %ecx,%ecx
5b8a06:	33 c0                	xor    %eax,%eax
5b8a08:	89 45 b8             	mov    %eax,-0x48(%ebp)
5b8a0b:	8b 45 cc             	mov    -0x34(%ebp),%eax
5b8a0e:	8b 55 c8             	mov    -0x38(%ebp),%edx
5b8a11:	2b d0                	sub    %eax,%edx
5b8a13:	7c 17                	jl     0x5b8a2c
5b8a15:	42                   	inc    %edx
5b8a16:	92                   	xchg   %eax,%edx
5b8a17:	89 55 c0             	mov    %edx,-0x40(%ebp)
5b8a1a:	8b 55 c0             	mov    -0x40(%ebp),%edx
5b8a1d:	0f b6 14 16          	movzbl (%esi,%edx,1),%edx
5b8a21:	03 ca                	add    %edx,%ecx
5b8a23:	ff 45 b8             	incl   -0x48(%ebp)
5b8a26:	ff 45 c0             	incl   -0x40(%ebp)
5b8a29:	48                   	dec    %eax
5b8a2a:	75 ee                	jne    0x5b8a1a
5b8a2c:	8b c1                	mov    %ecx,%eax
5b8a2e:	99                   	cltd
5b8a2f:	f7 7d b8             	idivl  -0x48(%ebp)
5b8a32:	8b 55 a4             	mov    -0x5c(%ebp),%edx
5b8a35:	88 04 1a             	mov    %al,(%edx,%ebx,1)
5b8a38:	43                   	inc    %ebx
5b8a39:	ff 8d 78 ff ff ff    	decl   -0x88(%ebp)
5b8a3f:	75 b1                	jne    0x5b89f2
5b8a41:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5b8a46:	74 16                	je     0x5b8a5e
5b8a48:	db 45 c4             	fildl  -0x3c(%ebp)
5b8a4b:	dc 4d 80             	fmull  -0x80(%ebp)
5b8a4e:	e8 79 a2 e4 ff       	call   0x402ccc
5b8a53:	8b c8                	mov    %eax,%ecx
5b8a55:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b8a58:	8b 45 0c             	mov    0xc(%ebp),%eax
5b8a5b:	ff 55 08             	call   *0x8(%ebp)
5b8a5e:	ff 45 c4             	incl   -0x3c(%ebp)
5b8a61:	ff 8d 7c ff ff ff    	decl   -0x84(%ebp)
5b8a67:	0f 85 5a ff ff ff    	jne    0x5b89c7
5b8a6d:	dd 45 e0             	fldl   -0x20(%ebp)
5b8a70:	d8 1d d0 8c 5b 00    	fcomps 0x5b8cd0
5b8a76:	df e0                	fnstsw %ax
5b8a78:	9e                   	sahf
5b8a79:	0f 86 f1 00 00 00    	jbe    0x5b8b70
5b8a7f:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b8a82:	48                   	dec    %eax
5b8a83:	85 c0                	test   %eax,%eax
5b8a85:	0f 8c 19 02 00 00    	jl     0x5b8ca4
5b8a8b:	40                   	inc    %eax
5b8a8c:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b8a92:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5b8a99:	db 45 c4             	fildl  -0x3c(%ebp)
5b8a9c:	dc 75 e0             	fdivl  -0x20(%ebp)
5b8a9f:	dd 5d d8             	fstpl  -0x28(%ebp)
5b8aa2:	9b dd 45 d8          	fldl   -0x28(%ebp)