5fc796:	50                   	push   %eax
5fc797:	8b c6                	mov    %esi,%eax
5fc799:	e8 22 c5 e2 ff       	call   0x428cc0
5fc79e:	50                   	push   %eax
5fc79f:	e8 24 b0 e0 ff       	call   0x4077c8
5fc7a4:	57                   	push   %edi
5fc7a5:	e8 46 ab e0 ff       	call   0x4072f0
5fc7aa:	5f                   	pop    %edi
5fc7ab:	5e                   	pop    %esi
5fc7ac:	5b                   	pop    %ebx
5fc7ad:	59                   	pop    %ecx
5fc7ae:	5d                   	pop    %ebp
5fc7af:	c2 1c 00             	ret    $0x1c
5fc7b2:	8b c0                	mov    %eax,%eax
5fc7b4:	55                   	push   %ebp
5fc7b5:	8b ec                	mov    %esp,%ebp
5fc7b7:	83 c4 f4             	add    $0xfffffff4,%esp
5fc7ba:	53                   	push   %ebx
5fc7bb:	56                   	push   %esi
5fc7bc:	57                   	push   %edi
5fc7bd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5fc7c0:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fc7c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fc7c6:	8b 75 08             	mov    0x8(%ebp),%esi
5fc7c9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5fc7cc:	8b 55 10             	mov    0x10(%ebp),%edx
5fc7cf:	8b 45 14             	mov    0x14(%ebp),%eax
5fc7d2:	8d 0c 03             	lea    (%ebx,%eax,1),%ecx
5fc7d5:	51                   	push   %ecx
5fc7d6:	8d 0c 16             	lea    (%esi,%edx,1),%ecx
5fc7d9:	51                   	push   %ecx
5fc7da:	8b ca                	mov    %edx,%ecx
5fc7dc:	8b 55 18             	mov    0x18(%ebp),%edx
5fc7df:	92                   	xchg   %eax,%edx
5fc7e0:	e8 2b f8 fa ff       	call   0x5ac010
5fc7e5:	8b f8                	mov    %eax,%edi
5fc7e7:	6a 00                	push   $0x0
5fc7e9:	53                   	push   %ebx
5fc7ea:	56                   	push   %esi
5fc7eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fc7ee:	50                   	push   %eax
5fc7ef:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fc7f2:	50                   	push   %eax
5fc7f3:	53                   	push   %ebx
5fc7f4:	56                   	push   %esi
5fc7f5:	33 c9                	xor    %ecx,%ecx
5fc7f7:	8b d7                	mov    %edi,%edx
5fc7f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc7fc:	e8 f3 fe ff ff       	call   0x5fc6f4
5fc801:	57                   	push   %edi
5fc802:	e8 b9 aa e0 ff       	call   0x4072c0
5fc807:	5f                   	pop    %edi
5fc808:	5e                   	pop    %esi
5fc809:	5b                   	pop    %ebx
5fc80a:	8b e5                	mov    %ebp,%esp
5fc80c:	5d                   	pop    %ebp
5fc80d:	c2 14 00             	ret    $0x14
5fc810:	55                   	push   %ebp
5fc811:	8b ec                	mov    %esp,%ebp
5fc813:	81 c4 e0 fe ff ff    	add    $0xfffffee0,%esp
5fc819:	53                   	push   %ebx
5fc81a:	56                   	push   %esi
5fc81b:	57                   	push   %edi
5fc81c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5fc81f:	89 55 fc             	mov    %edx,-0x4(%ebp)
5fc822:	8b d8                	mov    %eax,%ebx
5fc824:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
5fc828:	0f 84 a0 02 00 00    	je     0x5fcace
5fc82e:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
5fc832:	0f 84 96 02 00 00    	je     0x5fcace
5fc838:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
5fc83c:	75 62                	jne    0x5fc8a0
5fc83e:	dd 45 08             	fldl   0x8(%ebp)
5fc841:	d8 1d d8 ca 5f 00    	fcomps 0x5fcad8
5fc847:	df e0                	fnstsw %ax
5fc849:	9e                   	sahf
5fc84a:	74 0e                	je     0x5fc85a
5fc84c:	dd 45 08             	fldl   0x8(%ebp)
5fc84f:	d8 1d dc ca 5f 00    	fcomps 0x5fcadc
5fc855:	df e0                	fnstsw %ax
5fc857:	9e                   	sahf
5fc858:	75 46                	jne    0x5fc8a0
5fc85a:	8b 43 30             	mov    0x30(%ebx),%eax
5fc85d:	50                   	push   %eax
5fc85e:	8b 43 34             	mov    0x34(%ebx),%eax
5fc861:	50                   	push   %eax
5fc862:	33 c9                	xor    %ecx,%ecx
5fc864:	33 d2                	xor    %edx,%edx
5fc866:	8b c3                	mov    %ebx,%eax
5fc868:	e8 a3 f7 fa ff       	call   0x5ac010
5fc86d:	8b f0                	mov    %eax,%esi
5fc86f:	6a 00                	push   $0x0
5fc871:	8b 43 30             	mov    0x30(%ebx),%eax
5fc874:	50                   	push   %eax
5fc875:	8b 43 34             	mov    0x34(%ebx),%eax
5fc878:	50                   	push   %eax
5fc879:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fc87c:	50                   	push   %eax
5fc87d:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fc880:	50                   	push   %eax
5fc881:	8b 45 18             	mov    0x18(%ebp),%eax
5fc884:	50                   	push   %eax
5fc885:	8b 45 14             	mov    0x14(%ebp),%eax
5fc888:	50                   	push   %eax
5fc889:	33 c9                	xor    %ecx,%ecx
5fc88b:	8b d6                	mov    %esi,%edx
5fc88d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc890:	e8 5f fe ff ff       	call   0x5fc6f4
5fc895:	56                   	push   %esi
5fc896:	e8 25 aa e0 ff       	call   0x4072c0
5fc89b:	e9 2e 02 00 00       	jmp    0x5fcace
5fc8a0:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
5fc8a6:	ba 18 00 00 00       	mov    $0x18,%edx
5fc8ab:	8b 45 18             	mov    0x18(%ebp),%eax
5fc8ae:	e8 2d 42 ff ff       	call   0x5f0ae0
5fc8b3:	50                   	push   %eax
5fc8b4:	8b 43 48             	mov    0x48(%ebx),%eax
5fc8b7:	5a                   	pop    %edx
5fc8b8:	8b ca                	mov    %edx,%ecx
5fc8ba:	99                   	cltd
5fc8bb:	f7 f9                	idiv   %ecx
5fc8bd:	8b f0                	mov    %eax,%esi
5fc8bf:	8b d6                	mov    %esi,%edx
5fc8c1:	8b 45 14             	mov    0x14(%ebp),%eax
5fc8c4:	e8 53 cb fa ff       	call   0x5a941c
5fc8c9:	8b f0                	mov    %eax,%esi
5fc8cb:	b2 01                	mov    $0x1,%dl
5fc8cd:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5fc8d2:	e8 cd ac ff ff       	call   0x5f75a4
5fc8d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fc8da:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
5fc8de:	74 16                	je     0x5fc8f6
5fc8e0:	8b c3                	mov    %ebx,%eax
5fc8e2:	8b 10                	mov    (%eax),%edx
5fc8e4:	ff 52 10             	call   *0x10(%edx)
5fc8e7:	3c 01                	cmp    $0x1,%al
5fc8e9:	74 2f                	je     0x5fc91a
5fc8eb:	8b c3                	mov    %ebx,%eax
5fc8ed:	8b 10                	mov    (%eax),%edx
5fc8ef:	ff 52 10             	call   *0x10(%edx)
5fc8f2:	3c 05                	cmp    $0x5,%al
5fc8f4:	74 24                	je     0x5fc91a
5fc8f6:	8a 43 40             	mov    0x40(%ebx),%al
5fc8f9:	50                   	push   %eax
5fc8fa:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fc8fd:	8b 55 18             	mov    0x18(%ebp),%edx
5fc900:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fc903:	8b 38                	mov    (%eax),%edi
5fc905:	ff 57 24             	call   *0x24(%edi)
5fc908:	6a 00                	push   $0x0
5fc90a:	6a 00                	push   $0x0
5fc90c:	33 c9                	xor    %ecx,%ecx
5fc90e:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fc911:	8b c3                	mov    %ebx,%eax
5fc913:	e8 c4 68 fb ff       	call   0x5b31dc
5fc918:	eb 66                	jmp    0x5fc980
5fc91a:	80 7b 40 01          	cmpb   $0x1,0x40(%ebx)
5fc91e:	75 3d                	jne    0x5fc95d
5fc920:	80 7d 10 0c          	cmpb   $0xc,0x10(%ebp)
5fc924:	74 06                	je     0x5fc92c
5fc926:	80 7d 10 0d          	cmpb   $0xd,0x10(%ebp)
5fc92a:	75 12                	jne    0x5fc93e
5fc92c:	6a 01                	push   $0x1
5fc92e:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fc931:	8b 55 18             	mov    0x18(%ebp),%edx
5fc934:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fc937:	8b 38                	mov    (%eax),%edi
5fc939:	ff 57 24             	call   *0x24(%edi)
5fc93c:	eb 10                	jmp    0x5fc94e
5fc93e:	6a 05                	push   $0x5
5fc940:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fc943:	8b 55 18             	mov    0x18(%ebp),%edx
5fc946:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fc949:	8b 38                	mov    (%eax),%edi
5fc94b:	ff 57 24             	call   *0x24(%edi)
5fc94e:	8a 4d 10             	mov    0x10(%ebp),%cl
5fc951:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fc954:	8b c3                	mov    %ebx,%eax
5fc956:	e8 55 96 fb ff       	call   0x5b5fb0
5fc95b:	eb 23                	jmp    0x5fc980
5fc95d:	6a 05                	push   $0x5
5fc95f:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fc962:	8b 55 18             	mov    0x18(%ebp),%edx
5fc965:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fc968:	8b 38                	mov    (%eax),%edi
5fc96a:	ff 57 24             	call   *0x24(%edi)
5fc96d:	6a 00                	push   $0x0
5fc96f:	6a 00                	push   $0x0
5fc971:	6a 00                	push   $0x0
5fc973:	8a 4d 10             	mov    0x10(%ebp),%cl
5fc976:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fc979:	8b c3                	mov    %ebx,%eax
5fc97b:	e8 d8 9f fb ff       	call   0x5b6958
5fc980:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fc983:	c7 40 20 20 00 cc 00 	movl   $0xcc0020,0x20(%eax)
5fc98a:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fc98d:	8b 10                	mov    (%eax),%edx
5fc98f:	ff 52 10             	call   *0x10(%edx)
5fc992:	3c 05                	cmp    $0x5,%al
5fc994:	0f 85 ee 00 00 00    	jne    0x5fca88
5fc99a:	dd 45 08             	fldl   0x8(%ebp)
5fc99d:	d8 1d d8 ca 5f 00    	fcomps 0x5fcad8
5fc9a3:	df e0                	fnstsw %ax
5fc9a5:	9e                   	sahf
5fc9a6:	0f 84 dc 00 00 00    	je     0x5fca88
5fc9ac:	dd 45 08             	fldl   0x8(%ebp)
5fc9af:	d8 1d dc ca 5f 00    	fcomps 0x5fcadc
5fc9b5:	df e0                	fnstsw %ax
5fc9b7:	9e                   	sahf
5fc9b8:	0f 86 ca 00 00 00    	jbe    0x5fca88
5fc9be:	d9 05 d8 ca 5f 00    	flds   0x5fcad8
5fc9c4:	dc 75 08             	fdivl  0x8(%ebp)
5fc9c7:	dd 5d f0             	fstpl  -0x10(%ebp)
5fc9ca:	9b                   	fwait
5fc9cb:	33 ff                	xor    %edi,%edi
5fc9cd:	8d 9d e4 fe ff ff    	lea    -0x11c(%ebp),%ebx
5fc9d3:	89 bd e0 fe ff ff    	mov    %edi,-0x120(%ebp)
5fc9d9:	db 85 e0 fe ff ff    	fildl  -0x120(%ebp)
5fc9df:	db 2d e0 ca 5f 00    	fldt   0x5fcae0
5fc9e5:	de c9                	fmulp  %st,%st(1)
5fc9e7:	83 c4 f4             	add    $0xfffffff4,%esp
5fc9ea:	db 3c 24             	fstpt  (%esp)
5fc9ed:	9b dd 45 f0          	fldl   -0x10(%ebp)
5fc9f1:	83 c4 f4             	add    $0xfffffff4,%esp
5fc9f4:	db 3c 24             	fstpt  (%esp)
5fc9f7:	9b                   	fwait
5fc9f8:	e8 23 42 ff ff       	call   0x5f0c20
5fc9fd:	d8 0d ec ca 5f 00    	fmuls  0x5fcaec
5fca03:	e8 b8 62 e0 ff       	call   0x402cc0
5fca08:	e8 27 ca fa ff       	call   0x5a9434
5fca0d:	88 03                	mov    %al,(%ebx)
5fca0f:	47                   	inc    %edi
5fca10:	43                   	inc    %ebx
5fca11:	81 ff 00 01 00 00    	cmp    $0x100,%edi
5fca17:	75 ba                	jne    0x5fc9d3
5fca19:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fca1c:	8b 10                	mov    (%eax),%edx
5fca1e:	ff 52 08             	call   *0x8(%edx)
5fca21:	48                   	dec    %eax
5fca22:	85 c0                	test   %eax,%eax
5fca24:	7c 62                	jl     0x5fca88
5fca26:	40                   	inc    %eax
5fca27:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fca2a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5fca31:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fca34:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fca37:	8b 08                	mov    (%eax),%ecx
5fca39:	ff 11                	call   *(%ecx)
5fca3b:	8b d8                	mov    %eax,%ebx
5fca3d:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fca40:	8b 10                	mov    (%eax),%edx
5fca42:	ff 52 0c             	call   *0xc(%edx)
5fca45:	8b d0                	mov    %eax,%edx
5fca47:	4a                   	dec    %edx
5fca48:	85 d2                	test   %edx,%edx
5fca4a:	7c 34                	jl     0x5fca80
5fca4c:	42                   	inc    %edx
5fca4d:	8b c3                	mov    %ebx,%eax
5fca4f:	33 c9                	xor    %ecx,%ecx
5fca51:	8a 48 02             	mov    0x2(%eax),%cl
5fca54:	8a 8c 0d e4 fe ff ff 	mov    -0x11c(%ebp,%ecx,1),%cl
5fca5b:	88 48 02             	mov    %cl,0x2(%eax)
5fca5e:	33 c9                	xor    %ecx,%ecx
5fca60:	8a 48 01             	mov    0x1(%eax),%cl
5fca63:	8a 8c 0d e4 fe ff ff 	mov    -0x11c(%ebp,%ecx,1),%cl
5fca6a:	88 48 01             	mov    %cl,0x1(%eax)
5fca6d:	33 c9                	xor    %ecx,%ecx
5fca6f:	8a 08                	mov    (%eax),%cl
5fca71:	8a 8c 0d e4 fe ff ff 	mov    -0x11c(%ebp,%ecx,1),%cl
5fca78:	88 08                	mov    %cl,(%eax)
5fca7a:	83 c3 03             	add    $0x3,%ebx
5fca7d:	4a                   	dec    %edx
5fca7e:	75 cd                	jne    0x5fca4d
5fca80:	ff 45 e8             	incl   -0x18(%ebp)
5fca83:	ff 4d e4             	decl   -0x1c(%ebp)
5fca86:	75 a9                	jne    0x5fca31
5fca88:	33 db                	xor    %ebx,%ebx
5fca8a:	3b 5d 14             	cmp    0x14(%ebp),%ebx
5fca8d:	7d 37                	jge    0x5fcac6
5fca8f:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fca92:	50                   	push   %eax
5fca93:	6a 00                	push   $0x0
5fca95:	53                   	push   %ebx
5fca96:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fca99:	8b 10                	mov    (%eax),%edx
5fca9b:	ff 52 0c             	call   *0xc(%edx)
5fca9e:	50                   	push   %eax
5fca9f:	56                   	push   %esi
5fcaa0:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5fcaa3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fcaa6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fcaa9:	e8 06 fd ff ff       	call   0x5fc7b4
5fcaae:	01 75 1c             	add    %esi,0x1c(%ebp)
5fcab1:	03 de                	add    %esi,%ebx
5fcab3:	8b 45 14             	mov    0x14(%ebp),%eax
5fcab6:	2b c3                	sub    %ebx,%eax
5fcab8:	8b d6                	mov    %esi,%edx
5fcaba:	e8 5d c9 fa ff       	call   0x5a941c
5fcabf:	8b f0                	mov    %eax,%esi
5fcac1:	3b 5d 14             	cmp    0x14(%ebp),%ebx
5fcac4:	7c c9                	jl     0x5fca8f
5fcac6:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fcac9:	e8 aa 6f e0 ff       	call   0x403a78
5fcace:	5f                   	pop    %edi
5fcacf:	5e                   	pop    %esi
5fcad0:	5b                   	pop    %ebx
5fcad1:	8b e5                	mov    %ebp,%esp
5fcad3:	5d                   	pop    %ebp
5fcad4:	c2 18 00             	ret    $0x18
5fcad7:	00 00                	add    %al,(%eax)
5fcad9:	00 80 3f 00 00 00    	add    %al,0x3f(%eax)
5fcadf:	00 81 80 80 80 80    	add    %al,-0x7f7f7f80(%ecx)
5fcae5:	80 80 80 f7 3f 00 00 	addb   $0x0,0x3ff780(%eax)
5fcaec:	00 00                	add    %al,(%eax)
5fcaee:	7f 43                	jg     0x5fcb33
5fcaf0:	55                   	push   %ebp
5fcaf1:	8b ec                	mov    %esp,%ebp
5fcaf3:	83 c4 f4             	add    $0xfffffff4,%esp
5fcaf6:	53                   	push   %ebx
5fcaf7:	33 db                	xor    %ebx,%ebx
5fcaf9:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5fcafc:	33 db                	xor    %ebx,%ebx
5fcafe:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5fcb01:	33 db                	xor    %ebx,%ebx
5fcb03:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5fcb06:	8d 5d f8             	lea    -0x8(%ebp),%ebx
5fcb09:	53                   	push   %ebx
5fcb0a:	8d 5d f4             	lea    -0xc(%ebp),%ebx
5fcb0d:	53                   	push   %ebx
5fcb0e:	6a 00                	push   $0x0
5fcb10:	51                   	push   %ecx
5fcb11:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
5fcb14:	51                   	push   %ecx
5fcb15:	8b 4d 28             	mov    0x28(%ebp),%ecx
5fcb18:	51                   	push   %ecx
5fcb19:	8b 4d 24             	mov    0x24(%ebp),%ecx
5fcb1c:	51                   	push   %ecx
5fcb1d:	8b 4d 20             	mov    0x20(%ebp),%ecx
5fcb20:	51                   	push   %ecx
5fcb21:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5fcb24:	51                   	push   %ecx
5fcb25:	8b 4d 18             	mov    0x18(%ebp),%ecx
5fcb28:	51                   	push   %ecx
5fcb29:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fcb2c:	51                   	push   %ecx
5fcb2d:	6a 01                	push   $0x1
5fcb2f:	6a 00                	push   $0x0
5fcb31:	8b 4d 10             	mov    0x10(%ebp),%ecx
5fcb34:	51                   	push   %ecx
5fcb35:	8a 4d 0c             	mov    0xc(%ebp),%cl