5985e5:	74 2d                	je     0x598614
5985e7:	8b 45 b0             	mov    -0x50(%ebp),%eax
5985ea:	2b 45 e8             	sub    -0x18(%ebp),%eax
5985ed:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
5985f3:	db 85 1c ff ff ff    	fildl  -0xe4(%ebp)
5985f9:	8b 45 08             	mov    0x8(%ebp),%eax
5985fc:	dc 48 18             	fmull  0x18(%eax)
5985ff:	e8 c8 a6 e6 ff       	call   0x402ccc
598604:	8b c8                	mov    %eax,%ecx
598606:	8b 5d 08             	mov    0x8(%ebp),%ebx
598609:	8b 55 08             	mov    0x8(%ebp),%edx
59860c:	8b 52 08             	mov    0x8(%edx),%edx
59860f:	8b 43 04             	mov    0x4(%ebx),%eax
598612:	ff 13                	call   *(%ebx)
598614:	8b 45 08             	mov    0x8(%ebp),%eax
598617:	8b 40 28             	mov    0x28(%eax),%eax
59861a:	80 38 00             	cmpb   $0x0,(%eax)
59861d:	75 73                	jne    0x598692
59861f:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
598622:	8b 55 e8             	mov    -0x18(%ebp),%edx
598625:	8b 45 b4             	mov    -0x4c(%ebp),%eax
598628:	8b 08                	mov    (%eax),%ecx
59862a:	ff 11                	call   *(%ecx)
59862c:	8b f0                	mov    %eax,%esi
59862e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
598631:	8b 10                	mov    (%eax),%edx
598633:	ff 52 0c             	call   *0xc(%edx)
598636:	8b f8                	mov    %eax,%edi
598638:	4f                   	dec    %edi
598639:	85 ff                	test   %edi,%edi
59863b:	7c 33                	jl     0x598670
59863d:	47                   	inc    %edi
59863e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
598645:	8a 06                	mov    (%esi),%al
598647:	88 03                	mov    %al,(%ebx)
598649:	43                   	inc    %ebx
59864a:	8a 46 01             	mov    0x1(%esi),%al
59864d:	88 03                	mov    %al,(%ebx)
59864f:	43                   	inc    %ebx
598650:	8a 46 02             	mov    0x2(%esi),%al
598653:	88 03                	mov    %al,(%ebx)
598655:	43                   	inc    %ebx
598656:	8b 4d e8             	mov    -0x18(%ebp),%ecx
598659:	8b 55 e4             	mov    -0x1c(%ebp),%edx
59865c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
59865f:	e8 e8 38 06 00       	call   0x5fbf4c
598664:	88 03                	mov    %al,(%ebx)
598666:	43                   	inc    %ebx
598667:	83 c6 03             	add    $0x3,%esi
59866a:	ff 45 e4             	incl   -0x1c(%ebp)
59866d:	4f                   	dec    %edi
59866e:	75 d5                	jne    0x598645
598670:	8b 45 b8             	mov    -0x48(%ebp),%eax
598673:	50                   	push   %eax
598674:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
598677:	8b 55 08             	mov    0x8(%ebp),%edx
59867a:	8b 52 28             	mov    0x28(%edx),%edx
59867d:	8b 45 f8             	mov    -0x8(%ebp),%eax
598680:	e8 77 d8 05 00       	call   0x5f5efc
598685:	ff 4d e8             	decl   -0x18(%ebp)
598688:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
59868c:	0f 85 4b ff ff ff    	jne    0x5985dd
598692:	8b 45 c4             	mov    -0x3c(%ebp),%eax
598695:	e8 32 a1 e6 ff       	call   0x4027cc
59869a:	8b 45 08             	mov    0x8(%ebp),%eax
59869d:	8b 40 28             	mov    0x28(%eax),%eax
5986a0:	80 38 00             	cmpb   $0x0,(%eax)
5986a3:	0f 85 b8 00 00 00    	jne    0x598761
5986a9:	8b 45 f8             	mov    -0x8(%ebp),%eax
5986ac:	e8 07 60 e8 ff       	call   0x41e6b8
5986b1:	89 45 c8             	mov    %eax,-0x38(%ebp)
5986b4:	89 55 cc             	mov    %edx,-0x34(%ebp)
5986b7:	8b 5d c8             	mov    -0x38(%ebp),%ebx
5986ba:	8b d3                	mov    %ebx,%edx
5986bc:	8b 45 d8             	mov    -0x28(%ebp),%eax
5986bf:	2b d0                	sub    %eax,%edx
5986c1:	89 55 a0             	mov    %edx,-0x60(%ebp)
5986c4:	8b 75 d0             	mov    -0x30(%ebp),%esi
5986c7:	8b d6                	mov    %esi,%edx
5986c9:	2b d0                	sub    %eax,%edx
5986cb:	89 55 a8             	mov    %edx,-0x58(%ebp)
5986ce:	ff 75 dc             	push   -0x24(%ebp)
5986d1:	ff 75 d8             	push   -0x28(%ebp)
5986d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5986d7:	e8 fc 5f e8 ff       	call   0x41e6d8
5986dc:	6a 0e                	push   $0xe
5986de:	8d 4d 9e             	lea    -0x62(%ebp),%ecx
5986e1:	8b 55 08             	mov    0x8(%ebp),%edx
5986e4:	8b 52 28             	mov    0x28(%edx),%edx
5986e7:	8b 45 f8             	mov    -0x8(%ebp),%eax
5986ea:	e8 0d d8 05 00       	call   0x5f5efc
5986ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
5986f2:	8b 00                	mov    (%eax),%eax
5986f4:	80 b8 01 01 00 00 02 	cmpb   $0x2,0x101(%eax)
5986fb:	75 28                	jne    0x598725
5986fd:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
598701:	66 89 85 5c ff ff ff 	mov    %ax,-0xa4(%ebp)
598708:	8b 85 52 ff ff ff    	mov    -0xae(%ebp),%eax
59870e:	50                   	push   %eax
59870f:	8d 8d 52 ff ff ff    	lea    -0xae(%ebp),%ecx
598715:	8b 55 08             	mov    0x8(%ebp),%edx
598718:	8b 52 28             	mov    0x28(%edx),%edx
59871b:	8b 45 f8             	mov    -0x8(%ebp),%eax
59871e:	e8 d9 d7 05 00       	call   0x5f5efc
598723:	eb 2e                	jmp    0x598753
598725:	2b de                	sub    %esi,%ebx
598727:	89 9d 72 ff ff ff    	mov    %ebx,-0x8e(%ebp)
59872d:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
598731:	66 89 85 6c ff ff ff 	mov    %ax,-0x94(%ebp)
598738:	8b 85 5e ff ff ff    	mov    -0xa2(%ebp),%eax
59873e:	50                   	push   %eax
59873f:	8d 8d 5e ff ff ff    	lea    -0xa2(%ebp),%ecx
598745:	8b 55 08             	mov    0x8(%ebp),%edx
598748:	8b 52 28             	mov    0x28(%edx),%edx
59874b:	8b 45 f8             	mov    -0x8(%ebp),%eax
59874e:	e8 a9 d7 05 00       	call   0x5f5efc
598753:	ff 75 cc             	push   -0x34(%ebp)
598756:	ff 75 c8             	push   -0x38(%ebp)
598759:	8b 45 f8             	mov    -0x8(%ebp),%eax
59875c:	e8 77 5f e8 ff       	call   0x41e6d8
598761:	5f                   	pop    %edi
598762:	5e                   	pop    %esi
598763:	5b                   	pop    %ebx
598764:	8b e5                	mov    %ebp,%esp
598766:	5d                   	pop    %ebp
598767:	c2 04 00             	ret    $0x4
59876a:	00 00                	add    %al,(%eax)
59876c:	5c                   	pop    %esp
59876d:	8f c2                	pop    %edx
59876f:	f5                   	cmc
598770:	28 5c 8f a2          	sub    %bl,-0x5e(%edi,%ecx,4)
598774:	00 40 00             	add    %al,0x0(%eax)
598777:	00 00                	add    %al,(%eax)
598779:	00 c8                	add    %cl,%al
59877b:	42                   	inc    %edx
59877c:	53                   	push   %ebx
59877d:	56                   	push   %esi
59877e:	57                   	push   %edi
59877f:	55                   	push   %ebp
598780:	83 c4 e0             	add    $0xffffffe0,%esp
598783:	8b f8                	mov    %eax,%edi
598785:	8b c7                	mov    %edi,%eax
598787:	e8 2c 5f e8 ff       	call   0x41e6b8
59878c:	89 44 24 08          	mov    %eax,0x8(%esp)
598790:	89 54 24 0c          	mov    %edx,0xc(%esp)
598794:	33 db                	xor    %ebx,%ebx
598796:	8b c7                	mov    %edi,%eax
598798:	e8 4f 5f e8 ff       	call   0x41e6ec
59879d:	83 fa 00             	cmp    $0x0,%edx
5987a0:	75 0b                	jne    0x5987ad
5987a2:	83 f8 16             	cmp    $0x16,%eax
5987a5:	0f 86 ae 00 00 00    	jbe    0x598859
5987ab:	eb 06                	jmp    0x5987b3
5987ad:	0f 8e a6 00 00 00    	jle    0x598859
5987b3:	8b d4                	mov    %esp,%edx
5987b5:	b9 06 00 00 00       	mov    $0x6,%ecx
5987ba:	8b c7                	mov    %edi,%eax
5987bc:	8b 30                	mov    (%eax),%esi
5987be:	ff 56 08             	call   *0x8(%esi)
5987c1:	66 83 3c 24 00       	cmpw   $0x0,(%esp)
5987c6:	75 10                	jne    0x5987d8
5987c8:	66 83 7c 24 02 01    	cmpw   $0x1,0x2(%esp)
5987ce:	75 08                	jne    0x5987d8
5987d0:	66 83 7c 24 04 00    	cmpw   $0x0,0x4(%esp)
5987d6:	75 11                	jne    0x5987e9
5987d8:	ff 74 24 0c          	push   0xc(%esp)
5987dc:	ff 74 24 0c          	push   0xc(%esp)
5987e0:	8b c7                	mov    %edi,%eax
5987e2:	e8 f1 5e e8 ff       	call   0x41e6d8
5987e7:	eb 70                	jmp    0x598859
5987e9:	0f b7 74 24 04       	movzwl 0x4(%esp),%esi
5987ee:	4e                   	dec    %esi
5987ef:	85 f6                	test   %esi,%esi
5987f1:	7c 55                	jl     0x598848
5987f3:	46                   	inc    %esi
5987f4:	8d 54 24 10          	lea    0x10(%esp),%edx
5987f8:	b9 10 00 00 00       	mov    $0x10,%ecx
5987fd:	8b c7                	mov    %edi,%eax
5987ff:	8b 28                	mov    (%eax),%ebp
598801:	ff 55 08             	call   *0x8(%ebp)
598804:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
598809:	75 29                	jne    0x598834
59880b:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
598810:	74 22                	je     0x598834
598812:	8b c7                	mov    %edi,%eax
598814:	e8 9f 5e e8 ff       	call   0x41e6b8
598819:	52                   	push   %edx
59881a:	50                   	push   %eax
59881b:	8b 44 24 24          	mov    0x24(%esp),%eax
59881f:	33 d2                	xor    %edx,%edx
598821:	3b 54 24 04          	cmp    0x4(%esp),%edx
598825:	75 09                	jne    0x598830
598827:	3b 04 24             	cmp    (%esp),%eax
59882a:	5a                   	pop    %edx
59882b:	58                   	pop    %eax
59882c:	73 17                	jae    0x598845
59882e:	eb 04                	jmp    0x598834
598830:	5a                   	pop    %edx
598831:	58                   	pop    %eax
598832:	7d 11                	jge    0x598845
598834:	ff 74 24 0c          	push   0xc(%esp)
598838:	ff 74 24 0c          	push   0xc(%esp)
59883c:	8b c7                	mov    %edi,%eax
59883e:	e8 95 5e e8 ff       	call   0x41e6d8
598843:	eb 14                	jmp    0x598859
598845:	4e                   	dec    %esi
598846:	75 ac                	jne    0x5987f4
598848:	b3 01                	mov    $0x1,%bl
59884a:	ff 74 24 0c          	push   0xc(%esp)
59884e:	ff 74 24 0c          	push   0xc(%esp)
598852:	8b c7                	mov    %edi,%eax
598854:	e8 7f 5e e8 ff       	call   0x41e6d8
598859:	8b c3                	mov    %ebx,%eax
59885b:	83 c4 20             	add    $0x20,%esp
59885e:	5d                   	pop    %ebp
59885f:	5f                   	pop    %edi
598860:	5e                   	pop    %esi
598861:	5b                   	pop    %ebx
598862:	c3                   	ret
598863:	90                   	nop
598864:	53                   	push   %ebx
598865:	56                   	push   %esi
598866:	83 c4 f0             	add    $0xfffffff0,%esp
598869:	8b d8                	mov    %eax,%ebx
59886b:	8b c3                	mov    %ebx,%eax
59886d:	e8 46 5e e8 ff       	call   0x41e6b8
598872:	89 04 24             	mov    %eax,(%esp)
598875:	89 54 24 04          	mov    %edx,0x4(%esp)
598879:	8d 54 24 08          	lea    0x8(%esp),%edx
59887d:	b9 06 00 00 00       	mov    $0x6,%ecx
598882:	8b c3                	mov    %ebx,%eax
598884:	8b 30                	mov    (%eax),%esi
598886:	ff 56 08             	call   *0x8(%esi)
598889:	0f b7 74 24 0c       	movzwl 0xc(%esp),%esi
59888e:	ff 74 24 04          	push   0x4(%esp)
598892:	ff 74 24 04          	push   0x4(%esp)
598896:	8b c3                	mov    %ebx,%eax
598898:	e8 3b 5e e8 ff       	call   0x41e6d8
59889d:	8b c6                	mov    %esi,%eax
59889f:	83 c4 10             	add    $0x10,%esp
5988a2:	5e                   	pop    %esi
5988a3:	5b                   	pop    %ebx
5988a4:	c3                   	ret
5988a5:	8d 40 00             	lea    0x0(%eax),%eax
5988a8:	55                   	push   %ebp
5988a9:	8b ec                	mov    %esp,%ebp
5988ab:	81 c4 5c fb ff ff    	add    $0xfffffb5c,%esp
5988b1:	53                   	push   %ebx
5988b2:	56                   	push   %esi
5988b3:	57                   	push   %edi
5988b4:	8b f1                	mov    %ecx,%esi
5988b6:	89 55 f8             	mov    %edx,-0x8(%ebp)
5988b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5988bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5988bf:	e8 f4 5d e8 ff       	call   0x41e6b8
5988c4:	89 45 e8             	mov    %eax,-0x18(%ebp)
5988c7:	89 55 ec             	mov    %edx,-0x14(%ebp)
5988ca:	8d 55 f2             	lea    -0xe(%ebp),%edx
5988cd:	b9 06 00 00 00       	mov    $0x6,%ecx
5988d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5988d5:	8b 18                	mov    (%eax),%ebx
5988d7:	ff 53 08             	call   *0x8(%ebx)
5988da:	66 81 7d f2 42 4d    	cmpw   $0x4d42,-0xe(%ebp)
5988e0:	75 3b                	jne    0x59891d
5988e2:	ff 75 ec             	push   -0x14(%ebp)
5988e5:	ff 75 e8             	push   -0x18(%ebp)
5988e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5988eb:	e8 e8 5d e8 ff       	call   0x41e6d8
5988f0:	56                   	push   %esi
5988f1:	8b 45 10             	mov    0x10(%ebp),%eax
5988f4:	50                   	push   %eax
5988f5:	8a 45 14             	mov    0x14(%ebp),%al
5988f8:	50                   	push   %eax
5988f9:	6a 00                	push   $0x0
5988fb:	8b 45 0c             	mov    0xc(%ebp),%eax
5988fe:	50                   	push   %eax
5988ff:	8a 45 08             	mov    0x8(%ebp),%al
598902:	50                   	push   %eax
598903:	8b 45 fc             	mov    -0x4(%ebp),%eax
598906:	e8 e1 5d e8 ff       	call   0x41e6ec
59890b:	8b c8                	mov    %eax,%ecx
59890d:	8b 55 f8             	mov    -0x8(%ebp),%edx
598910:	8b 45 fc             	mov    -0x4(%ebp),%eax
598913:	e8 78 de ff ff       	call   0x596790
598918:	e9 d4 0b 00 00       	jmp    0x5994f1
59891d:	8b 06                	mov    (%esi),%eax
59891f:	8b 80 04 01 00 00    	mov    0x104(%eax),%eax
598925:	0f b7 55 f6          	movzwl -0xa(%ebp),%edx
598929:	3b c2                	cmp    %edx,%eax
59892b:	0f 8d c0 0b 00 00    	jge    0x5994f1
598931:	8b 06                	mov    (%esi),%eax
598933:	83 b8 04 01 00 00 00 	cmpl   $0x0,0x104(%eax)
59893a:	0f 8c b1 0b 00 00    	jl     0x5994f1
598940:	8b 45 fc             	mov    -0x4(%ebp),%eax
598943:	e8 70 5d e8 ff       	call   0x41e6b8
598948:	89 45 e0             	mov    %eax,-0x20(%ebp)
59894b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
59894e:	8b 06                	mov    (%esi),%eax
598950:	05 b0 03 00 00       	add    $0x3b0,%eax
598955:	33 c9                	xor    %ecx,%ecx
598957:	ba 80 00 00 00       	mov    $0x80,%edx
59895c:	e8 df a8 e6 ff       	call   0x403240
598961:	0f b7 5d f6          	movzwl -0xa(%ebp),%ebx
598965:	4b                   	dec    %ebx
598966:	85 db                	test   %ebx,%ebx
598968:	0f 8c 96 00 00 00    	jl     0x598a04
59896e:	43                   	inc    %ebx
59896f:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
598976:	83 7d dc 10          	cmpl   $0x10,-0x24(%ebp)
59897a:	0f 84 84 00 00 00    	je     0x598a04
598980:	8d 55 88             	lea    -0x78(%ebp),%edx
598983:	b9 10 00 00 00       	mov    $0x10,%ecx
598988:	8b 45 fc             	mov    -0x4(%ebp),%eax
59898b:	8b 38                	mov    (%eax),%edi
59898d:	ff 57 08             	call   *0x8(%edi)
598990:	8b 06                	mov    (%esi),%eax
598992:	8b 55 dc             	mov    -0x24(%ebp),%edx
598995:	33 c9                	xor    %ecx,%ecx
598997:	8a 4d 88             	mov    -0x78(%ebp),%cl
59899a:	89 8c d0 b0 03 00 00 	mov    %ecx,0x3b0(%eax,%edx,8)
5989a1:	8b 06                	mov    (%esi),%eax
5989a3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5989a6:	33 c9                	xor    %ecx,%ecx
5989a8:	8a 4d 89             	mov    -0x77(%ebp),%cl
5989ab:	89 8c d0 b4 03 00 00 	mov    %ecx,0x3b4(%eax,%edx,8)
5989b2:	66 8b 45 8e          	mov    -0x72(%ebp),%ax
5989b6:	66 85 c0             	test   %ax,%ax
5989b9:	74 11                	je     0x5989cc
5989bb:	8b 16                	mov    (%esi),%edx
5989bd:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5989c0:	0f b7 c0             	movzwl %ax,%eax
5989c3:	89 84 8a 30 04 00 00 	mov    %eax,0x430(%edx,%ecx,4)
5989ca:	eb 2e                	jmp    0x5989fa
5989cc:	80 7d 8a 00          	cmpb   $0x0,-0x76(%ebp)
5989d0:	74 18                	je     0x5989ea
5989d2:	33 c0                	xor    %eax,%eax
5989d4:	8a 45 8a             	mov    -0x76(%ebp),%al
5989d7:	e8 d8 80 05 00       	call   0x5f0ab4
5989dc:	8b 16                	mov    (%esi),%edx
5989de:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5989e1:	89 84 8a 30 04 00 00 	mov    %eax,0x430(%edx,%ecx,4)
5989e8:	eb 10                	jmp    0x5989fa
5989ea:	8b 06                	mov    (%esi),%eax
5989ec:	8b 55 dc             	mov    -0x24(%ebp),%edx
5989ef:	c7 84 90 30 04 00 00 	movl   $0x18,0x430(%eax,%edx,4)
5989f6:	18 00 00 00
5989fa:	ff 45 dc             	incl   -0x24(%ebp)
5989fd:	4b                   	dec    %ebx
5989fe:	0f 85 72 ff ff ff    	jne    0x598976
598a04:	ff 75 e4             	push   -0x1c(%ebp)