5f8612:	8b ff                	mov    %edi,%edi
5f8614:	55                   	push   %ebp
5f8615:	8b ec                	mov    %esp,%ebp
5f8617:	83 ec 18             	sub    $0x18,%esp
5f861a:	53                   	push   %ebx
5f861b:	56                   	push   %esi
5f861c:	57                   	push   %edi
5f861d:	ff 75 08             	push   0x8(%ebp)
5f8620:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f8623:	e8 65 55 ff ff       	call   0x5edb8d
5f8628:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f862b:	33 db                	xor    %ebx,%ebx
5f862d:	6a 0c                	push   $0xc
5f862f:	5f                   	pop    %edi
5f8630:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
5f8636:	83 c0 68             	add    $0x68,%eax
5f8639:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f863c:	8b f0                	mov    %eax,%esi
5f863e:	8b 4e d0             	mov    -0x30(%esi),%ecx
5f8641:	8d 51 01             	lea    0x1(%ecx),%edx
5f8644:	8a 01                	mov    (%ecx),%al
5f8646:	41                   	inc    %ecx
5f8647:	84 c0                	test   %al,%al
5f8649:	75 f9                	jne    0x5f8644
5f864b:	2b ca                	sub    %edx,%ecx
5f864d:	8b 16                	mov    (%esi),%edx
5f864f:	8d 42 01             	lea    0x1(%edx),%eax
5f8652:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f8655:	8a 02                	mov    (%edx),%al
5f8657:	42                   	inc    %edx
5f8658:	84 c0                	test   %al,%al
5f865a:	75 f9                	jne    0x5f8655
5f865c:	2b 55 f8             	sub    -0x8(%ebp),%edx
5f865f:	83 c3 02             	add    $0x2,%ebx
5f8662:	83 c6 04             	add    $0x4,%esi
5f8665:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5f8668:	03 d8                	add    %eax,%ebx
5f866a:	83 ef 01             	sub    $0x1,%edi
5f866d:	75 cf                	jne    0x5f863e
5f866f:	8d 43 01             	lea    0x1(%ebx),%eax
5f8672:	50                   	push   %eax
5f8673:	e8 7d d7 00 00       	call   0x605df5
5f8678:	8b f8                	mov    %eax,%edi
5f867a:	59                   	pop    %ecx
5f867b:	85 ff                	test   %edi,%edi
5f867d:	74 7b                	je     0x5f86fa
5f867f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f8683:	8b f7                	mov    %edi,%esi
5f8685:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f8688:	c6 06 3a             	movb   $0x3a,(%esi)
5f868b:	46                   	inc    %esi
5f868c:	ff 70 d0             	push   -0x30(%eax)
5f868f:	8b c7                	mov    %edi,%eax
5f8691:	2b c6                	sub    %esi,%eax
5f8693:	40                   	inc    %eax
5f8694:	03 c3                	add    %ebx,%eax
5f8696:	50                   	push   %eax
5f8697:	56                   	push   %esi
5f8698:	e8 6e 02 00 00       	call   0x5f890b
5f869d:	83 c4 0c             	add    $0xc,%esp
5f86a0:	85 c0                	test   %eax,%eax
5f86a2:	75 75                	jne    0x5f8719
5f86a4:	8b ce                	mov    %esi,%ecx
5f86a6:	8d 51 01             	lea    0x1(%ecx),%edx
5f86a9:	8a 01                	mov    (%ecx),%al
5f86ab:	41                   	inc    %ecx
5f86ac:	84 c0                	test   %al,%al
5f86ae:	75 f9                	jne    0x5f86a9
5f86b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f86b3:	2b ca                	sub    %edx,%ecx
5f86b5:	03 f1                	add    %ecx,%esi
5f86b7:	c6 06 3a             	movb   $0x3a,(%esi)
5f86ba:	46                   	inc    %esi
5f86bb:	ff 30                	push   (%eax)
5f86bd:	8b c7                	mov    %edi,%eax
5f86bf:	2b c6                	sub    %esi,%eax
5f86c1:	40                   	inc    %eax
5f86c2:	03 c3                	add    %ebx,%eax
5f86c4:	50                   	push   %eax
5f86c5:	56                   	push   %esi
5f86c6:	e8 40 02 00 00       	call   0x5f890b
5f86cb:	83 c4 0c             	add    $0xc,%esp
5f86ce:	85 c0                	test   %eax,%eax
5f86d0:	75 47                	jne    0x5f8719
5f86d2:	8b ce                	mov    %esi,%ecx
5f86d4:	8d 51 01             	lea    0x1(%ecx),%edx
5f86d7:	8a 01                	mov    (%ecx),%al
5f86d9:	41                   	inc    %ecx
5f86da:	84 c0                	test   %al,%al
5f86dc:	75 f9                	jne    0x5f86d7
5f86de:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f86e1:	2b ca                	sub    %edx,%ecx
5f86e3:	03 f1                	add    %ecx,%esi
5f86e5:	83 c0 04             	add    $0x4,%eax
5f86e8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f86eb:	41                   	inc    %ecx
5f86ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f86ef:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f86f2:	83 f9 0c             	cmp    $0xc,%ecx
5f86f5:	72 91                	jb     0x5f8688
5f86f7:	c6 06 00             	movb   $0x0,(%esi)
5f86fa:	6a 00                	push   $0x0
5f86fc:	e8 27 c1 00 00       	call   0x604828
5f8701:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
5f8705:	59                   	pop    %ecx
5f8706:	74 0a                	je     0x5f8712
5f8708:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f870b:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f8712:	8b c7                	mov    %edi,%eax
5f8714:	5f                   	pop    %edi
5f8715:	5e                   	pop    %esi
5f8716:	5b                   	pop    %ebx
5f8717:	c9                   	leave
5f8718:	c3                   	ret
5f8719:	33 c0                	xor    %eax,%eax
5f871b:	50                   	push   %eax
5f871c:	50                   	push   %eax
5f871d:	50                   	push   %eax
5f871e:	50                   	push   %eax
5f871f:	50                   	push   %eax
5f8720:	e8 27 48 ff ff       	call   0x5ecf4c
5f8725:	cc                   	int3
5f8726:	e9 1f 58 00 00       	jmp    0x5fdf4a
5f872b:	8b ff                	mov    %edi,%edi
5f872d:	55                   	push   %ebp
5f872e:	8b ec                	mov    %esp,%ebp
5f8730:	6a 00                	push   $0x0
5f8732:	ff 75 18             	push   0x18(%ebp)
5f8735:	ff 75 14             	push   0x14(%ebp)
5f8738:	ff 75 10             	push   0x10(%ebp)
5f873b:	ff 75 0c             	push   0xc(%ebp)
5f873e:	ff 75 08             	push   0x8(%ebp)
5f8741:	e8 05 00 00 00       	call   0x5f874b
5f8746:	83 c4 18             	add    $0x18,%esp
5f8749:	5d                   	pop    %ebp
5f874a:	c3                   	ret
5f874b:	8b ff                	mov    %edi,%edi
5f874d:	55                   	push   %ebp
5f874e:	8b ec                	mov    %esp,%ebp
5f8750:	83 ec 44             	sub    $0x44,%esp
5f8753:	53                   	push   %ebx
5f8754:	57                   	push   %edi
5f8755:	ff 75 1c             	push   0x1c(%ebp)
5f8758:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5f875b:	e8 2d 54 ff ff       	call   0x5edb8d
5f8760:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f8763:	33 db                	xor    %ebx,%ebx
5f8765:	8b 48 14             	mov    0x14(%eax),%ecx
5f8768:	8b 45 08             	mov    0x8(%ebp),%eax
5f876b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f876e:	85 c0                	test   %eax,%eax
5f8770:	74 13                	je     0x5f8785
5f8772:	8b 7d 0c             	mov    0xc(%ebp),%edi
5f8775:	85 ff                	test   %edi,%edi
5f8777:	74 0c                	je     0x5f8785
5f8779:	88 18                	mov    %bl,(%eax)
5f877b:	39 5d 10             	cmp    %ebx,0x10(%ebp)
5f877e:	74 05                	je     0x5f8785
5f8780:	39 5d 14             	cmp    %ebx,0x14(%ebp)
5f8783:	75 15                	jne    0x5f879a
5f8785:	e8 6f 48 ff ff       	call   0x5ecff9
5f878a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8790:	e8 8a 47 ff ff       	call   0x5ecf1f
5f8795:	e9 98 00 00 00       	jmp    0x5f8832
5f879a:	51                   	push   %ecx
5f879b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5f879e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
5f87a1:	50                   	push   %eax
5f87a2:	ff 75 10             	push   0x10(%ebp)
5f87a5:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5f87a8:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f87ab:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5f87ae:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5f87b1:	88 5d e8             	mov    %bl,-0x18(%ebp)
5f87b4:	e8 9f e3 ff ff       	call   0x5f6b58
5f87b9:	83 c4 0c             	add    $0xc,%esp
5f87bc:	85 c0                	test   %eax,%eax
5f87be:	75 63                	jne    0x5f8823
5f87c0:	8d 04 3f             	lea    (%edi,%edi,1),%eax
5f87c3:	56                   	push   %esi
5f87c4:	50                   	push   %eax
5f87c5:	e8 2b d6 00 00       	call   0x605df5
5f87ca:	8b f0                	mov    %eax,%esi
5f87cc:	59                   	pop    %ecx
5f87cd:	85 f6                	test   %esi,%esi
5f87cf:	74 4a                	je     0x5f881b
5f87d1:	ff 75 1c             	push   0x1c(%ebp)
5f87d4:	ff 75 18             	push   0x18(%ebp)
5f87d7:	ff 75 14             	push   0x14(%ebp)
5f87da:	ff 75 dc             	push   -0x24(%ebp)
5f87dd:	57                   	push   %edi
5f87de:	56                   	push   %esi
5f87df:	e8 82 5e 00 00       	call   0x5fe666
5f87e4:	83 c4 18             	add    $0x18,%esp
5f87e7:	85 c0                	test   %eax,%eax
5f87e9:	74 30                	je     0x5f881b
5f87eb:	8b 45 08             	mov    0x8(%ebp),%eax
5f87ee:	ff 75 fc             	push   -0x4(%ebp)
5f87f1:	89 45 bc             	mov    %eax,-0x44(%ebp)
5f87f4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f87f7:	8d 45 bc             	lea    -0x44(%ebp),%eax
5f87fa:	50                   	push   %eax
5f87fb:	56                   	push   %esi
5f87fc:	89 7d c0             	mov    %edi,-0x40(%ebp)
5f87ff:	89 7d c8             	mov    %edi,-0x38(%ebp)
5f8802:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5f8805:	88 5d d0             	mov    %bl,-0x30(%ebp)
5f8808:	e8 95 fc ff ff       	call   0x5f84a2
5f880d:	83 c4 0c             	add    $0xc,%esp
5f8810:	8b d8                	mov    %eax,%ebx
5f8812:	f7 db                	neg    %ebx
5f8814:	1b db                	sbb    %ebx,%ebx
5f8816:	f7 d3                	not    %ebx
5f8818:	23 5d cc             	and    -0x34(%ebp),%ebx
5f881b:	56                   	push   %esi
5f881c:	e8 07 c0 00 00       	call   0x604828
5f8821:	59                   	pop    %ecx
5f8822:	5e                   	pop    %esi
5f8823:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
5f8827:	74 09                	je     0x5f8832
5f8829:	ff 75 dc             	push   -0x24(%ebp)
5f882c:	e8 f7 bf 00 00       	call   0x604828
5f8831:	59                   	pop    %ecx
5f8832:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5f8836:	74 0a                	je     0x5f8842
5f8838:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5f883b:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f8842:	5f                   	pop    %edi
5f8843:	8b c3                	mov    %ebx,%eax
5f8845:	5b                   	pop    %ebx
5f8846:	c9                   	leave
5f8847:	c3                   	ret
5f8848:	8b ff                	mov    %edi,%edi
5f884a:	55                   	push   %ebp
5f884b:	8b ec                	mov    %esp,%ebp
5f884d:	51                   	push   %ecx
5f884e:	51                   	push   %ecx
5f884f:	56                   	push   %esi
5f8850:	8b 75 08             	mov    0x8(%ebp),%esi
5f8853:	85 f6                	test   %esi,%esi
5f8855:	75 15                	jne    0x5f886c
5f8857:	e8 9d 47 ff ff       	call   0x5ecff9
5f885c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8862:	e8 b8 46 ff ff       	call   0x5ecf1f
5f8867:	33 c0                	xor    %eax,%eax
5f8869:	5e                   	pop    %esi
5f886a:	c9                   	leave
5f886b:	c3                   	ret
5f886c:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
5f8870:	75 f5                	jne    0x5f8867
5f8872:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f8876:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f8879:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f887d:	50                   	push   %eax
5f887e:	e8 02 ee 00 00       	call   0x607685
5f8883:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f8886:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f8889:	2d 00 80 3e d5       	sub    $0xd53e8000,%eax
5f888e:	81 d9 de b1 9d 01    	sbb    $0x19db1de,%ecx
5f8894:	81 f9 78 f0 83 04    	cmp    $0x483f078,%ecx
5f889a:	7f cb                	jg     0x5f8867
5f889c:	7c 07                	jl     0x5f88a5
5f889e:	3d 00 80 47 dd       	cmp    $0xdd478000,%eax
5f88a3:	73 c2                	jae    0x5f8867
5f88a5:	53                   	push   %ebx
5f88a6:	53                   	push   %ebx
5f88a7:	6a 00                	push   $0x0
5f88a9:	68 80 96 98 00       	push   $0x989680
5f88ae:	51                   	push   %ecx
5f88af:	50                   	push   %eax
5f88b0:	e8 3b 98 fe ff       	call   0x5e20f0
5f88b5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5f88b8:	5b                   	pop    %ebx
5f88b9:	90                   	nop
5f88ba:	6b c9 64             	imul   $0x64,%ecx,%ecx
5f88bd:	89 06                	mov    %eax,(%esi)
5f88bf:	33 c0                	xor    %eax,%eax
5f88c1:	89 56 04             	mov    %edx,0x4(%esi)
5f88c4:	40                   	inc    %eax
5f88c5:	5b                   	pop    %ebx
5f88c6:	89 4e 08             	mov    %ecx,0x8(%esi)
5f88c9:	eb 9e                	jmp    0x5f8869
5f88cb:	8b ff                	mov    %edi,%edi
5f88cd:	55                   	push   %ebp
5f88ce:	8b ec                	mov    %esp,%ebp
5f88d0:	83 ec 10             	sub    $0x10,%esp
5f88d3:	33 c0                	xor    %eax,%eax
5f88d5:	57                   	push   %edi
5f88d6:	8d 7d f0             	lea    -0x10(%ebp),%edi
5f88d9:	ab                   	stos   %eax,%es:(%edi)
5f88da:	6a 01                	push   $0x1
5f88dc:	ab                   	stos   %eax,%es:(%edi)
5f88dd:	ab                   	stos   %eax,%es:(%edi)
5f88de:	ab                   	stos   %eax,%es:(%edi)
5f88df:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f88e2:	50                   	push   %eax
5f88e3:	e8 60 ff ff ff       	call   0x5f8848
5f88e8:	59                   	pop    %ecx
5f88e9:	59                   	pop    %ecx
5f88ea:	5f                   	pop    %edi
5f88eb:	83 f8 01             	cmp    $0x1,%eax
5f88ee:	74 07                	je     0x5f88f7
5f88f0:	83 c8 ff             	or     $0xffffffff,%eax
5f88f3:	8b d0                	mov    %eax,%edx
5f88f5:	eb 06                	jmp    0x5f88fd
5f88f7:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f88fa:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f88fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f8900:	85 c9                	test   %ecx,%ecx
5f8902:	74 05                	je     0x5f8909
5f8904:	89 01                	mov    %eax,(%ecx)
5f8906:	89 51 04             	mov    %edx,0x4(%ecx)
5f8909:	c9                   	leave
5f890a:	c3                   	ret
5f890b:	8b ff                	mov    %edi,%edi
5f890d:	55                   	push   %ebp
5f890e:	8b ec                	mov    %esp,%ebp
5f8910:	8b 55 08             	mov    0x8(%ebp),%edx
5f8913:	56                   	push   %esi
5f8914:	85 d2                	test   %edx,%edx
5f8916:	74 11                	je     0x5f8929
5f8918:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f891b:	85 c9                	test   %ecx,%ecx
5f891d:	74 0a                	je     0x5f8929
5f891f:	8b 75 10             	mov    0x10(%ebp),%esi
5f8922:	85 f6                	test   %esi,%esi
5f8924:	75 17                	jne    0x5f893d
5f8926:	c6 02 00             	movb   $0x0,(%edx)
5f8929:	e8 cb 46 ff ff       	call   0x5ecff9
5f892e:	6a 16                	push   $0x16
5f8930:	5e                   	pop    %esi
5f8931:	89 30                	mov    %esi,(%eax)
5f8933:	e8 e7 45 ff ff       	call   0x5ecf1f
5f8938:	8b c6                	mov    %esi,%eax
5f893a:	5e                   	pop    %esi
5f893b:	5d                   	pop    %ebp
5f893c:	c3                   	ret
5f893d:	57                   	push   %edi
5f893e:	8b fa                	mov    %edx,%edi
5f8940:	2b f2                	sub    %edx,%esi
5f8942:	8a 04 3e             	mov    (%esi,%edi,1),%al
5f8945:	88 07                	mov    %al,(%edi)
5f8947:	47                   	inc    %edi
5f8948:	84 c0                	test   %al,%al
5f894a:	74 05                	je     0x5f8951
5f894c:	83 e9 01             	sub    $0x1,%ecx
5f894f:	75 f1                	jne    0x5f8942
5f8951:	5f                   	pop    %edi
5f8952:	85 c9                	test   %ecx,%ecx
5f8954:	75 0b                	jne    0x5f8961