5fa68f:	e8 b6 00 00 00       	call   0x5fa74a
5fa694:	ff 76 24             	push   0x24(%esi)
5fa697:	89 46 18             	mov    %eax,0x18(%esi)
5fa69a:	ff 76 20             	push   0x20(%esi)
5fa69d:	89 56 1c             	mov    %edx,0x1c(%esi)
5fa6a0:	ff 75 d0             	push   -0x30(%ebp)
5fa6a3:	ff 75 cc             	push   -0x34(%ebp)
5fa6a6:	e8 9f 00 00 00       	call   0x5fa74a
5fa6ab:	89 46 28             	mov    %eax,0x28(%esi)
5fa6ae:	8d 46 14             	lea    0x14(%esi),%eax
5fa6b1:	50                   	push   %eax
5fa6b2:	8d 45 c8             	lea    -0x38(%ebp),%eax
5fa6b5:	89 56 2c             	mov    %edx,0x2c(%esi)
5fa6b8:	50                   	push   %eax
5fa6b9:	e8 b1 01 00 00       	call   0x5fa86f
5fa6be:	83 c4 40             	add    $0x40,%esp
5fa6c1:	84 c0                	test   %al,%al
5fa6c3:	75 73                	jne    0x5fa738
5fa6c5:	eb 19                	jmp    0x5fa6e0
5fa6c7:	83 f9 02             	cmp    $0x2,%ecx
5fa6ca:	74 27                	je     0x5fa6f3
5fa6cc:	83 f9 03             	cmp    $0x3,%ecx
5fa6cf:	74 22                	je     0x5fa6f3
5fa6d1:	85 c9                	test   %ecx,%ecx
5fa6d3:	75 0f                	jne    0x5fa6e4
5fa6d5:	e8 1f 29 ff ff       	call   0x5ecff9
5fa6da:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5fa6e0:	32 c0                	xor    %al,%al
5fa6e2:	eb 57                	jmp    0x5fa73b
5fa6e4:	ff 15 e0 21 68 00    	call   *0x6821e0
5fa6ea:	50                   	push   %eax
5fa6eb:	e8 d3 28 ff ff       	call   0x5ecfc3
5fa6f0:	59                   	pop    %ecx
5fa6f1:	eb ed                	jmp    0x5fa6e0
5fa6f3:	33 c0                	xor    %eax,%eax
5fa6f5:	ba 00 10 00 00       	mov    $0x1000,%edx
5fa6fa:	83 f9 02             	cmp    $0x2,%ecx
5fa6fd:	0f 95 c0             	setne  %al
5fa700:	48                   	dec    %eax
5fa701:	23 c2                	and    %edx,%eax
5fa703:	03 c2                	add    %edx,%eax
5fa705:	66 89 46 06          	mov    %ax,0x6(%esi)
5fa709:	33 c0                	xor    %eax,%eax
5fa70b:	40                   	inc    %eax
5fa70c:	66 89 46 08          	mov    %ax,0x8(%esi)
5fa710:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa713:	89 46 10             	mov    %eax,0x10(%esi)
5fa716:	89 06                	mov    %eax,(%esi)
5fa718:	83 f9 02             	cmp    $0x2,%ecx
5fa71b:	74 1b                	je     0x5fa738
5fa71d:	33 ff                	xor    %edi,%edi
5fa71f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5fa722:	57                   	push   %edi
5fa723:	50                   	push   %eax
5fa724:	57                   	push   %edi
5fa725:	57                   	push   %edi
5fa726:	57                   	push   %edi
5fa727:	53                   	push   %ebx
5fa728:	ff 15 d8 21 68 00    	call   *0x6821d8
5fa72e:	85 c0                	test   %eax,%eax
5fa730:	74 06                	je     0x5fa738
5fa732:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5fa735:	89 4e 14             	mov    %ecx,0x14(%esi)
5fa738:	33 c0                	xor    %eax,%eax
5fa73a:	40                   	inc    %eax
5fa73b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fa73e:	5f                   	pop    %edi
5fa73f:	5e                   	pop    %esi
5fa740:	33 cd                	xor    %ebp,%ecx
5fa742:	5b                   	pop    %ebx
5fa743:	e8 92 6d fe ff       	call   0x5e14da
5fa748:	c9                   	leave
5fa749:	c3                   	ret
5fa74a:	8b ff                	mov    %edi,%edi
5fa74c:	55                   	push   %ebp
5fa74d:	8b ec                	mov    %esp,%ebp
5fa74f:	83 ec 28             	sub    $0x28,%esp
5fa752:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5fa757:	33 c5                	xor    %ebp,%eax
5fa759:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fa75c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5fa760:	75 0e                	jne    0x5fa770
5fa762:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5fa766:	75 08                	jne    0x5fa770
5fa768:	8b 45 10             	mov    0x10(%ebp),%eax
5fa76b:	8b 55 14             	mov    0x14(%ebp),%edx
5fa76e:	eb 55                	jmp    0x5fa7c5
5fa770:	8d 45 dc             	lea    -0x24(%ebp),%eax
5fa773:	50                   	push   %eax
5fa774:	8d 45 08             	lea    0x8(%ebp),%eax
5fa777:	50                   	push   %eax
5fa778:	ff 15 44 22 68 00    	call   *0x682244
5fa77e:	85 c0                	test   %eax,%eax
5fa780:	74 3e                	je     0x5fa7c0
5fa782:	8d 45 ec             	lea    -0x14(%ebp),%eax
5fa785:	50                   	push   %eax
5fa786:	8d 45 dc             	lea    -0x24(%ebp),%eax
5fa789:	50                   	push   %eax
5fa78a:	6a 00                	push   $0x0
5fa78c:	ff 15 48 22 68 00    	call   *0x682248
5fa792:	85 c0                	test   %eax,%eax
5fa794:	74 2a                	je     0x5fa7c0
5fa796:	83 4d d8 ff          	orl    $0xffffffff,-0x28(%ebp)
5fa79a:	8d 45 d8             	lea    -0x28(%ebp),%eax
5fa79d:	50                   	push   %eax
5fa79e:	8d 45 f8             	lea    -0x8(%ebp),%eax
5fa7a1:	50                   	push   %eax
5fa7a2:	8d 45 f6             	lea    -0xa(%ebp),%eax
5fa7a5:	50                   	push   %eax
5fa7a6:	8d 45 f4             	lea    -0xc(%ebp),%eax
5fa7a9:	50                   	push   %eax
5fa7aa:	8d 45 f2             	lea    -0xe(%ebp),%eax
5fa7ad:	50                   	push   %eax
5fa7ae:	8d 45 ee             	lea    -0x12(%ebp),%eax
5fa7b1:	50                   	push   %eax
5fa7b2:	8d 45 ec             	lea    -0x14(%ebp),%eax
5fa7b5:	50                   	push   %eax
5fa7b6:	e8 16 00 00 00       	call   0x5fa7d1
5fa7bb:	83 c4 1c             	add    $0x1c,%esp
5fa7be:	eb 05                	jmp    0x5fa7c5
5fa7c0:	83 ca ff             	or     $0xffffffff,%edx
5fa7c3:	8b c2                	mov    %edx,%eax
5fa7c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fa7c8:	33 cd                	xor    %ebp,%ecx
5fa7ca:	e8 0b 6d fe ff       	call   0x5e14da
5fa7cf:	c9                   	leave
5fa7d0:	c3                   	ret
5fa7d1:	8b ff                	mov    %edi,%edi
5fa7d3:	55                   	push   %ebp
5fa7d4:	8b ec                	mov    %esp,%ebp
5fa7d6:	8b 45 20             	mov    0x20(%ebp),%eax
5fa7d9:	ff 30                	push   (%eax)
5fa7db:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fa7de:	0f b7 00             	movzwl (%eax),%eax
5fa7e1:	50                   	push   %eax
5fa7e2:	8b 45 18             	mov    0x18(%ebp),%eax
5fa7e5:	0f b7 00             	movzwl (%eax),%eax
5fa7e8:	50                   	push   %eax
5fa7e9:	8b 45 14             	mov    0x14(%ebp),%eax
5fa7ec:	0f b7 00             	movzwl (%eax),%eax
5fa7ef:	50                   	push   %eax
5fa7f0:	8b 45 10             	mov    0x10(%ebp),%eax
5fa7f3:	0f b7 00             	movzwl (%eax),%eax
5fa7f6:	50                   	push   %eax
5fa7f7:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa7fa:	0f b7 00             	movzwl (%eax),%eax
5fa7fd:	50                   	push   %eax
5fa7fe:	8b 45 08             	mov    0x8(%ebp),%eax
5fa801:	0f b7 00             	movzwl (%eax),%eax
5fa804:	50                   	push   %eax
5fa805:	e8 e7 ef 00 00       	call   0x6097f1
5fa80a:	83 c4 1c             	add    $0x1c,%esp
5fa80d:	5d                   	pop    %ebp
5fa80e:	c3                   	ret
5fa80f:	8b ff                	mov    %edi,%edi
5fa811:	55                   	push   %ebp
5fa812:	8b ec                	mov    %esp,%ebp
5fa814:	56                   	push   %esi
5fa815:	57                   	push   %edi
5fa816:	e8 de 27 ff ff       	call   0x5ecff9
5fa81b:	8b 30                	mov    (%eax),%esi
5fa81d:	e8 d7 27 ff ff       	call   0x5ecff9
5fa822:	ff 75 10             	push   0x10(%ebp)
5fa825:	ff 75 0c             	push   0xc(%ebp)
5fa828:	83 20 00             	andl   $0x0,(%eax)
5fa82b:	ff 75 08             	push   0x8(%ebp)
5fa82e:	e8 a4 05 00 00       	call   0x5fadd7
5fa833:	83 c4 0c             	add    $0xc,%esp
5fa836:	8b f8                	mov    %eax,%edi
5fa838:	e8 bc 27 ff ff       	call   0x5ecff9
5fa83d:	85 ff                	test   %edi,%edi
5fa83f:	74 06                	je     0x5fa847
5fa841:	89 30                	mov    %esi,(%eax)
5fa843:	8b c7                	mov    %edi,%eax
5fa845:	eb 24                	jmp    0x5fa86b
5fa847:	83 38 22             	cmpl   $0x22,(%eax)
5fa84a:	74 04                	je     0x5fa850
5fa84c:	33 c0                	xor    %eax,%eax
5fa84e:	eb 1b                	jmp    0x5fa86b
5fa850:	e8 a4 27 ff ff       	call   0x5ecff9
5fa855:	6a 00                	push   $0x0
5fa857:	ff 75 0c             	push   0xc(%ebp)
5fa85a:	6a 00                	push   $0x0
5fa85c:	89 30                	mov    %esi,(%eax)
5fa85e:	e8 74 05 00 00       	call   0x5fadd7
5fa863:	8b 4d 14             	mov    0x14(%ebp),%ecx
5fa866:	83 c4 0c             	add    $0xc,%esp
5fa869:	89 01                	mov    %eax,(%ecx)
5fa86b:	5f                   	pop    %edi
5fa86c:	5e                   	pop    %esi
5fa86d:	5d                   	pop    %ebp
5fa86e:	c3                   	ret
5fa86f:	8b ff                	mov    %edi,%edi
5fa871:	55                   	push   %ebp
5fa872:	8b ec                	mov    %esp,%ebp
5fa874:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5fa877:	8b 45 08             	mov    0x8(%ebp),%eax
5fa87a:	83 21 00             	andl   $0x0,(%ecx)
5fa87d:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
5fa881:	75 10                	jne    0x5fa893
5fa883:	8b 40 24             	mov    0x24(%eax),%eax
5fa886:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5fa88b:	77 06                	ja     0x5fa893
5fa88d:	89 01                	mov    %eax,(%ecx)
5fa88f:	b0 01                	mov    $0x1,%al
5fa891:	5d                   	pop    %ebp
5fa892:	c3                   	ret
5fa893:	e8 61 27 ff ff       	call   0x5ecff9
5fa898:	c7 00 84 00 00 00    	movl   $0x84,(%eax)
5fa89e:	32 c0                	xor    %al,%al
5fa8a0:	5d                   	pop    %ebp
5fa8a1:	c3                   	ret
5fa8a2:	8b ff                	mov    %edi,%edi
5fa8a4:	55                   	push   %ebp
5fa8a5:	8b ec                	mov    %esp,%ebp
5fa8a7:	56                   	push   %esi
5fa8a8:	8b 75 08             	mov    0x8(%ebp),%esi
5fa8ab:	8b c6                	mov    %esi,%eax
5fa8ad:	c1 e8 04             	shr    $0x4,%eax
5fa8b0:	57                   	push   %edi
5fa8b1:	8b 7d 0c             	mov    0xc(%ebp),%edi
5fa8b4:	a8 01                	test   $0x1,%al
5fa8b6:	75 10                	jne    0x5fa8c8
5fa8b8:	57                   	push   %edi
5fa8b9:	e8 ee 00 00 00       	call   0x5fa9ac
5fa8be:	84 c0                	test   %al,%al
5fa8c0:	b8 00 81 00 00       	mov    $0x8100,%eax
5fa8c5:	59                   	pop    %ecx
5fa8c6:	74 05                	je     0x5fa8cd
5fa8c8:	b8 40 41 00 00       	mov    $0x4140,%eax
5fa8cd:	c1 e6 07             	shl    $0x7,%esi
5fa8d0:	f7 d6                	not    %esi
5fa8d2:	81 e6 80 00 00 00    	and    $0x80,%esi
5fa8d8:	0b f0                	or     %eax,%esi
5fa8da:	0f b7 f6             	movzwl %si,%esi
5fa8dd:	85 ff                	test   %edi,%edi
5fa8df:	74 57                	je     0x5fa938
5fa8e1:	6a 2e                	push   $0x2e
5fa8e3:	57                   	push   %edi
5fa8e4:	e8 fb 07 05 00       	call   0x64b0e4
5fa8e9:	8b f8                	mov    %eax,%edi
5fa8eb:	59                   	pop    %ecx
5fa8ec:	59                   	pop    %ecx
5fa8ed:	85 ff                	test   %edi,%edi
5fa8ef:	74 47                	je     0x5fa938
5fa8f1:	68 b8 34 6d 00       	push   $0x6d34b8
5fa8f6:	57                   	push   %edi
5fa8f7:	e8 02 c8 ff ff       	call   0x5f70fe
5fa8fc:	59                   	pop    %ecx
5fa8fd:	59                   	pop    %ecx
5fa8fe:	85 c0                	test   %eax,%eax
5fa900:	74 33                	je     0x5fa935
5fa902:	68 c4 34 6d 00       	push   $0x6d34c4
5fa907:	57                   	push   %edi
5fa908:	e8 f1 c7 ff ff       	call   0x5f70fe
5fa90d:	59                   	pop    %ecx
5fa90e:	59                   	pop    %ecx
5fa90f:	85 c0                	test   %eax,%eax
5fa911:	74 22                	je     0x5fa935
5fa913:	68 d0 34 6d 00       	push   $0x6d34d0
5fa918:	57                   	push   %edi
5fa919:	e8 e0 c7 ff ff       	call   0x5f70fe
5fa91e:	59                   	pop    %ecx
5fa91f:	59                   	pop    %ecx
5fa920:	85 c0                	test   %eax,%eax
5fa922:	74 11                	je     0x5fa935
5fa924:	68 dc 34 6d 00       	push   $0x6d34dc
5fa929:	57                   	push   %edi
5fa92a:	e8 cf c7 ff ff       	call   0x5f70fe
5fa92f:	59                   	pop    %ecx
5fa930:	59                   	pop    %ecx
5fa931:	85 c0                	test   %eax,%eax
5fa933:	75 03                	jne    0x5fa938
5fa935:	83 ce 40             	or     $0x40,%esi
5fa938:	8b c6                	mov    %esi,%eax
5fa93a:	c1 e8 03             	shr    $0x3,%eax
5fa93d:	83 e0 38             	and    $0x38,%eax
5fa940:	0b f0                	or     %eax,%esi
5fa942:	8b c6                	mov    %esi,%eax
5fa944:	c1 e8 06             	shr    $0x6,%eax
5fa947:	83 e0 07             	and    $0x7,%eax
5fa94a:	5f                   	pop    %edi
5fa94b:	0b c6                	or     %esi,%eax
5fa94d:	5e                   	pop    %esi
5fa94e:	5d                   	pop    %ebp
5fa94f:	c3                   	ret
5fa950:	8b ff                	mov    %edi,%edi
5fa952:	55                   	push   %ebp
5fa953:	8b ec                	mov    %esp,%ebp
5fa955:	8b 55 08             	mov    0x8(%ebp),%edx
5fa958:	56                   	push   %esi
5fa959:	8b 75 0c             	mov    0xc(%ebp),%esi
5fa95c:	57                   	push   %edi
5fa95d:	33 ff                	xor    %edi,%edi
5fa95f:	89 3e                	mov    %edi,(%esi)
5fa961:	0f b7 0a             	movzwl (%edx),%ecx
5fa964:	83 f9 41             	cmp    $0x41,%ecx
5fa967:	72 05                	jb     0x5fa96e
5fa969:	83 f9 5a             	cmp    $0x5a,%ecx
5fa96c:	76 08                	jbe    0x5fa976
5fa96e:	8d 41 9f             	lea    -0x61(%ecx),%eax
5fa971:	83 f8 19             	cmp    $0x19,%eax
5fa974:	77 29                	ja     0x5fa99f
5fa976:	66 83 7a 02 3a       	cmpw   $0x3a,0x2(%edx)
5fa97b:	75 22                	jne    0x5fa99f
5fa97d:	66 39 7a 04          	cmp    %di,0x4(%edx)
5fa981:	75 0c                	jne    0x5fa98f
5fa983:	6a 02                	push   $0x2
5fa985:	e8 39 26 ff ff       	call   0x5ecfc3
5fa98a:	59                   	pop    %ecx
5fa98b:	32 c0                	xor    %al,%al
5fa98d:	eb 19                	jmp    0x5fa9a8
5fa98f:	8d 41 bf             	lea    -0x41(%ecx),%eax
5fa992:	83 f8 19             	cmp    $0x19,%eax
5fa995:	77 03                	ja     0x5fa99a
5fa997:	83 c1 20             	add    $0x20,%ecx
5fa99a:	8d 41 a0             	lea    -0x60(%ecx),%eax
5fa99d:	eb 05                	jmp    0x5fa9a4
5fa99f:	e8 15 e7 00 00       	call   0x6090b9
5fa9a4:	89 06                	mov    %eax,(%esi)
5fa9a6:	b0 01                	mov    $0x1,%al
5fa9a8:	5f                   	pop    %edi
5fa9a9:	5e                   	pop    %esi
5fa9aa:	5d                   	pop    %ebp
5fa9ab:	c3                   	ret
5fa9ac:	8b ff                	mov    %edi,%edi
5fa9ae:	55                   	push   %ebp
5fa9af:	8b ec                	mov    %esp,%ebp
5fa9b1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5fa9b4:	85 c9                	test   %ecx,%ecx
5fa9b6:	74 43                	je     0x5fa9fb
5fa9b8:	0f b7 11             	movzwl (%ecx),%edx
5fa9bb:	8b c2                	mov    %edx,%eax
5fa9bd:	83 f8 41             	cmp    $0x41,%eax
5fa9c0:	72 05                	jb     0x5fa9c7
5fa9c2:	83 f8 5a             	cmp    $0x5a,%eax
5fa9c5:	76 0a                	jbe    0x5fa9d1
5fa9c7:	83 f8 61             	cmp    $0x61,%eax
5fa9ca:	72 12                	jb     0x5fa9de
5fa9cc:	83 fa 7a             	cmp    $0x7a,%edx
5fa9cf:	77 0d                	ja     0x5fa9de
5fa9d1:	66 83 79 02 3a       	cmpw   $0x3a,0x2(%ecx)
5fa9d6:	75 06                	jne    0x5fa9de
5fa9d8:	83 c1 04             	add    $0x4,%ecx
5fa9db:	0f b7 01             	movzwl (%ecx),%eax
5fa9de:	66 85 c0             	test   %ax,%ax
5fa9e1:	74 14                	je     0x5fa9f7
5fa9e3:	50                   	push   %eax
5fa9e4:	e8 e9 00 00 00       	call   0x5faad2
5fa9e9:	83 c4 04             	add    $0x4,%esp