5fe8a5:	c3                   	ret
5fe8a6:	8b ff                	mov    %edi,%edi
5fe8a8:	55                   	push   %ebp
5fe8a9:	8b ec                	mov    %esp,%ebp
5fe8ab:	83 ec 0c             	sub    $0xc,%esp
5fe8ae:	53                   	push   %ebx
5fe8af:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5fe8b2:	56                   	push   %esi
5fe8b3:	57                   	push   %edi
5fe8b4:	85 db                	test   %ebx,%ebx
5fe8b6:	74 1e                	je     0x5fe8d6
5fe8b8:	8b 75 10             	mov    0x10(%ebp),%esi
5fe8bb:	85 f6                	test   %esi,%esi
5fe8bd:	74 17                	je     0x5fe8d6
5fe8bf:	8b 7d 14             	mov    0x14(%ebp),%edi
5fe8c2:	85 ff                	test   %edi,%edi
5fe8c4:	75 17                	jne    0x5fe8dd
5fe8c6:	e8 2e e7 fe ff       	call   0x5ecff9
5fe8cb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fe8d1:	e8 49 e6 fe ff       	call   0x5ecf1f
5fe8d6:	33 c0                	xor    %eax,%eax
5fe8d8:	5f                   	pop    %edi
5fe8d9:	5e                   	pop    %esi
5fe8da:	5b                   	pop    %ebx
5fe8db:	c9                   	leave
5fe8dc:	c3                   	ret
5fe8dd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5fe8e1:	74 e3                	je     0x5fe8c6
5fe8e3:	83 c8 ff             	or     $0xffffffff,%eax
5fe8e6:	33 d2                	xor    %edx,%edx
5fe8e8:	f7 f3                	div    %ebx
5fe8ea:	3b f0                	cmp    %eax,%esi
5fe8ec:	77 d8                	ja     0x5fe8c6
5fe8ee:	8d 47 0c             	lea    0xc(%edi),%eax
5fe8f1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fe8f4:	8b 00                	mov    (%eax),%eax
5fe8f6:	90                   	nop
5fe8f7:	a9 c0 04 00 00       	test   $0x4c0,%eax
5fe8fc:	74 05                	je     0x5fe903
5fe8fe:	8b 4f 18             	mov    0x18(%edi),%ecx
5fe901:	eb 05                	jmp    0x5fe908
5fe903:	b9 00 10 00 00       	mov    $0x1000,%ecx
5fe908:	0f af de             	imul   %esi,%ebx
5fe90b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe90e:	8b f3                	mov    %ebx,%esi
5fe910:	85 db                	test   %ebx,%ebx
5fe912:	0f 84 f0 00 00 00    	je     0x5fea08
5fe918:	8b 55 08             	mov    0x8(%ebp),%edx
5fe91b:	8b 47 0c             	mov    0xc(%edi),%eax
5fe91e:	90                   	nop
5fe91f:	a8 c0                	test   $0xc0,%al
5fe921:	74 40                	je     0x5fe963
5fe923:	8b 47 08             	mov    0x8(%edi),%eax
5fe926:	85 c0                	test   %eax,%eax
5fe928:	74 39                	je     0x5fe963
5fe92a:	0f 88 e0 00 00 00    	js     0x5fea10
5fe930:	8b 47 0c             	mov    0xc(%edi),%eax
5fe933:	90                   	nop
5fe934:	a8 01                	test   $0x1,%al
5fe936:	0f 85 dd 00 00 00    	jne    0x5fea19
5fe93c:	8b 47 08             	mov    0x8(%edi),%eax
5fe93f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe942:	3b f0                	cmp    %eax,%esi
5fe944:	73 05                	jae    0x5fe94b
5fe946:	8b c6                	mov    %esi,%eax
5fe948:	89 75 f8             	mov    %esi,-0x8(%ebp)
5fe94b:	50                   	push   %eax
5fe94c:	52                   	push   %edx
5fe94d:	ff 37                	push   (%edi)
5fe94f:	e8 ac 45 fe ff       	call   0x5e2f00
5fe954:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe957:	83 c4 0c             	add    $0xc,%esp
5fe95a:	29 47 08             	sub    %eax,0x8(%edi)
5fe95d:	2b f0                	sub    %eax,%esi
5fe95f:	01 07                	add    %eax,(%edi)
5fe961:	eb 6b                	jmp    0x5fe9ce
5fe963:	3b f1                	cmp    %ecx,%esi
5fe965:	72 6c                	jb     0x5fe9d3
5fe967:	8b 47 0c             	mov    0xc(%edi),%eax
5fe96a:	90                   	nop
5fe96b:	a8 c0                	test   $0xc0,%al
5fe96d:	74 12                	je     0x5fe981
5fe96f:	57                   	push   %edi
5fe970:	e8 e7 c6 ff ff       	call   0x5fb05c
5fe975:	59                   	pop    %ecx
5fe976:	85 c0                	test   %eax,%eax
5fe978:	0f 85 9b 00 00 00    	jne    0x5fea19
5fe97e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fe981:	8b c6                	mov    %esi,%eax
5fe983:	85 c9                	test   %ecx,%ecx
5fe985:	74 0d                	je     0x5fe994
5fe987:	33 d2                	xor    %edx,%edx
5fe989:	f7 f1                	div    %ecx
5fe98b:	8b c6                	mov    %esi,%eax
5fe98d:	2b c2                	sub    %edx,%eax
5fe98f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe992:	eb 03                	jmp    0x5fe997
5fe994:	89 75 f8             	mov    %esi,-0x8(%ebp)
5fe997:	83 f8 fe             	cmp    $0xfffffffe,%eax
5fe99a:	72 06                	jb     0x5fe9a2
5fe99c:	6a fe                	push   $0xfffffffe
5fe99e:	58                   	pop    %eax
5fe99f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fe9a2:	50                   	push   %eax
5fe9a3:	ff 75 08             	push   0x8(%ebp)
5fe9a6:	57                   	push   %edi
5fe9a7:	e8 fc 0d 00 00       	call   0x5ff7a8
5fe9ac:	59                   	pop    %ecx
5fe9ad:	50                   	push   %eax
5fe9ae:	e8 39 c3 00 00       	call   0x60acec
5fe9b3:	8b d0                	mov    %eax,%edx
5fe9b5:	83 c4 0c             	add    $0xc,%esp
5fe9b8:	83 fa ff             	cmp    $0xffffffff,%edx
5fe9bb:	74 53                	je     0x5fea10
5fe9bd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5fe9c0:	8b c1                	mov    %ecx,%eax
5fe9c2:	3b d1                	cmp    %ecx,%edx
5fe9c4:	77 02                	ja     0x5fe9c8
5fe9c6:	8b c2                	mov    %edx,%eax
5fe9c8:	2b f0                	sub    %eax,%esi
5fe9ca:	3b d1                	cmp    %ecx,%edx
5fe9cc:	72 42                	jb     0x5fea10
5fe9ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fe9d1:	eb 25                	jmp    0x5fe9f8
5fe9d3:	0f be 02             	movsbl (%edx),%eax
5fe9d6:	57                   	push   %edi
5fe9d7:	50                   	push   %eax
5fe9d8:	e8 a6 a6 00 00       	call   0x609083
5fe9dd:	59                   	pop    %ecx
5fe9de:	59                   	pop    %ecx
5fe9df:	83 f8 ff             	cmp    $0xffffffff,%eax
5fe9e2:	74 35                	je     0x5fea19
5fe9e4:	8b 4f 18             	mov    0x18(%edi),%ecx
5fe9e7:	4e                   	dec    %esi
5fe9e8:	33 c0                	xor    %eax,%eax
5fe9ea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe9ed:	85 c9                	test   %ecx,%ecx
5fe9ef:	7f 06                	jg     0x5fe9f7
5fe9f1:	33 c9                	xor    %ecx,%ecx
5fe9f3:	41                   	inc    %ecx
5fe9f4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fe9f7:	40                   	inc    %eax
5fe9f8:	8b 55 08             	mov    0x8(%ebp),%edx
5fe9fb:	03 d0                	add    %eax,%edx
5fe9fd:	89 55 08             	mov    %edx,0x8(%ebp)
5fea00:	85 f6                	test   %esi,%esi
5fea02:	0f 85 13 ff ff ff    	jne    0x5fe91b
5fea08:	8b 45 10             	mov    0x10(%ebp),%eax
5fea0b:	e9 c8 fe ff ff       	jmp    0x5fe8d8
5fea10:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fea13:	6a 10                	push   $0x10
5fea15:	59                   	pop    %ecx
5fea16:	f0 09 08             	lock or %ecx,(%eax)
5fea19:	2b de                	sub    %esi,%ebx
5fea1b:	33 d2                	xor    %edx,%edx
5fea1d:	8b c3                	mov    %ebx,%eax
5fea1f:	f7 75 0c             	divl   0xc(%ebp)
5fea22:	e9 b1 fe ff ff       	jmp    0x5fe8d8
5fea27:	8b ff                	mov    %edi,%edi
5fea29:	55                   	push   %ebp
5fea2a:	8b ec                	mov    %esp,%ebp
5fea2c:	83 ec 1c             	sub    $0x1c,%esp
5fea2f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5fea33:	74 1d                	je     0x5fea52
5fea35:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5fea39:	74 17                	je     0x5fea52
5fea3b:	8b 45 14             	mov    0x14(%ebp),%eax
5fea3e:	85 c0                	test   %eax,%eax
5fea40:	75 14                	jne    0x5fea56
5fea42:	e8 b2 e5 fe ff       	call   0x5ecff9
5fea47:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fea4d:	e8 cd e4 fe ff       	call   0x5ecf1f
5fea52:	33 c0                	xor    %eax,%eax
5fea54:	c9                   	leave
5fea55:	c3                   	ret
5fea56:	8d 4d 14             	lea    0x14(%ebp),%ecx
5fea59:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fea5c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5fea5f:	8d 4d 08             	lea    0x8(%ebp),%ecx
5fea62:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fea65:	8d 45 f8             	lea    -0x8(%ebp),%eax
5fea68:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5fea6b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5fea6e:	50                   	push   %eax
5fea6f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5fea72:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5fea75:	50                   	push   %eax
5fea76:	8d 4d 10             	lea    0x10(%ebp),%ecx
5fea79:	8d 45 f4             	lea    -0xc(%ebp),%eax
5fea7c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5fea7f:	50                   	push   %eax
5fea80:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5fea83:	e8 80 fd ff ff       	call   0x5fe808
5fea88:	c9                   	leave
5fea89:	c3                   	ret
5fea8a:	6a 0c                	push   $0xc
5fea8c:	68 10 1d 70 00       	push   $0x701d10
5fea91:	e8 7a 3a fe ff       	call   0x5e2510
5fea96:	8b 75 08             	mov    0x8(%ebp),%esi
5fea99:	85 f6                	test   %esi,%esi
5fea9b:	75 14                	jne    0x5feab1
5fea9d:	e8 57 e5 fe ff       	call   0x5ecff9
5feaa2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5feaa8:	e8 72 e4 fe ff       	call   0x5ecf1f
5feaad:	33 c0                	xor    %eax,%eax
5feaaf:	eb 3c                	jmp    0x5feaed
5feab1:	bf ff 7f 00 00       	mov    $0x7fff,%edi
5feab6:	57                   	push   %edi
5feab7:	56                   	push   %esi
5feab8:	e8 3a b3 ff ff       	call   0x5f9df7
5feabd:	59                   	pop    %ecx
5feabe:	59                   	pop    %ecx
5feabf:	3b c7                	cmp    %edi,%eax
5feac1:	73 da                	jae    0x5fea9d
5feac3:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5feac7:	6a 0b                	push   $0xb
5feac9:	e8 b3 1b 00 00       	call   0x600681
5feace:	59                   	pop    %ecx
5feacf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5fead3:	56                   	push   %esi
5fead4:	e8 30 00 00 00       	call   0x5feb09
5fead9:	59                   	pop    %ecx
5feada:	8b f0                	mov    %eax,%esi
5feadc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5feadf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5feae6:	e8 15 00 00 00       	call   0x5feb00
5feaeb:	8b c6                	mov    %esi,%eax
5feaed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5feaf0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5feaf7:	59                   	pop    %ecx
5feaf8:	5f                   	pop    %edi
5feaf9:	5e                   	pop    %esi
5feafa:	5b                   	pop    %ebx
5feafb:	c9                   	leave
5feafc:	c3                   	ret
5feafd:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5feb00:	6a 0b                	push   $0xb
5feb02:	e8 ca 1b 00 00       	call   0x6006d1
5feb07:	59                   	pop    %ecx
5feb08:	c3                   	ret
5feb09:	8b ff                	mov    %edi,%edi
5feb0b:	55                   	push   %ebp
5feb0c:	8b ec                	mov    %esp,%ebp
5feb0e:	51                   	push   %ecx
5feb0f:	56                   	push   %esi
5feb10:	57                   	push   %edi
5feb11:	e8 e5 2f 00 00       	call   0x601afb
5feb16:	8b f8                	mov    %eax,%edi
5feb18:	85 ff                	test   %edi,%edi
5feb1a:	74 4d                	je     0x5feb69
5feb1c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5feb20:	74 47                	je     0x5feb69
5feb22:	8b 75 08             	mov    0x8(%ebp),%esi
5feb25:	8d 4e 01             	lea    0x1(%esi),%ecx
5feb28:	8a 06                	mov    (%esi),%al
5feb2a:	46                   	inc    %esi
5feb2b:	84 c0                	test   %al,%al
5feb2d:	75 f9                	jne    0x5feb28
5feb2f:	2b f1                	sub    %ecx,%esi
5feb31:	eb 30                	jmp    0x5feb63
5feb33:	8b d1                	mov    %ecx,%edx
5feb35:	8d 42 01             	lea    0x1(%edx),%eax
5feb38:	89 45 fc             	mov    %eax,-0x4(%ebp)
5feb3b:	8a 02                	mov    (%edx),%al
5feb3d:	42                   	inc    %edx
5feb3e:	84 c0                	test   %al,%al
5feb40:	75 f9                	jne    0x5feb3b
5feb42:	2b 55 fc             	sub    -0x4(%ebp),%edx
5feb45:	3b d6                	cmp    %esi,%edx
5feb47:	76 17                	jbe    0x5feb60
5feb49:	80 3c 31 3d          	cmpb   $0x3d,(%ecx,%esi,1)
5feb4d:	75 11                	jne    0x5feb60
5feb4f:	56                   	push   %esi
5feb50:	ff 75 08             	push   0x8(%ebp)
5feb53:	51                   	push   %ecx
5feb54:	e8 4e c6 00 00       	call   0x60b1a7
5feb59:	83 c4 0c             	add    $0xc,%esp
5feb5c:	85 c0                	test   %eax,%eax
5feb5e:	74 0f                	je     0x5feb6f
5feb60:	83 c7 04             	add    $0x4,%edi
5feb63:	8b 0f                	mov    (%edi),%ecx
5feb65:	85 c9                	test   %ecx,%ecx
5feb67:	75 ca                	jne    0x5feb33
5feb69:	33 c0                	xor    %eax,%eax
5feb6b:	5f                   	pop    %edi
5feb6c:	5e                   	pop    %esi
5feb6d:	c9                   	leave
5feb6e:	c3                   	ret
5feb6f:	8b 07                	mov    (%edi),%eax
5feb71:	40                   	inc    %eax
5feb72:	03 c6                	add    %esi,%eax
5feb74:	eb f5                	jmp    0x5feb6b
5feb76:	6a 0c                	push   $0xc
5feb78:	68 30 1d 70 00       	push   $0x701d30
5feb7d:	e8 8e 39 fe ff       	call   0x5e2510
5feb82:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5feb86:	6a 0b                	push   $0xb
5feb88:	e8 f4 1a 00 00       	call   0x600681
5feb8d:	59                   	pop    %ecx
5feb8e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5feb92:	ff 75 14             	push   0x14(%ebp)
5feb95:	ff 75 10             	push   0x10(%ebp)
5feb98:	ff 75 0c             	push   0xc(%ebp)
5feb9b:	ff 75 08             	push   0x8(%ebp)
5feb9e:	e8 32 00 00 00       	call   0x5febd5
5feba3:	83 c4 10             	add    $0x10,%esp
5feba6:	8b f0                	mov    %eax,%esi
5feba8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5febab:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5febb2:	e8 15 00 00 00       	call   0x5febcc
5febb7:	8b c6                	mov    %esi,%eax
5febb9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5febbc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5febc3:	59                   	pop    %ecx
5febc4:	5f                   	pop    %edi
5febc5:	5e                   	pop    %esi
5febc6:	5b                   	pop    %ebx
5febc7:	c9                   	leave
5febc8:	c3                   	ret
5febc9:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5febcc:	6a 0b                	push   $0xb
5febce:	e8 fe 1a 00 00       	call   0x6006d1
5febd3:	59                   	pop    %ecx
5febd4:	c3                   	ret
5febd5:	8b ff                	mov    %edi,%edi
5febd7:	55                   	push   %ebp
5febd8:	8b ec                	mov    %esp,%ebp
5febda:	51                   	push   %ecx
5febdb:	53                   	push   %ebx
5febdc:	8b 5d 08             	mov    0x8(%ebp),%ebx
5febdf:	56                   	push   %esi
5febe0:	85 db                	test   %ebx,%ebx
5febe2:	75 13                	jne    0x5febf7
5febe4:	e8 10 e4 fe ff       	call   0x5ecff9
5febe9:	6a 16                	push   $0x16
5febeb:	5e                   	pop    %esi
5febec:	89 30                	mov    %esi,(%eax)
5febee:	e8 2c e3 fe ff       	call   0x5ecf1f
5febf3:	8b c6                	mov    %esi,%eax
5febf5:	eb 73                	jmp    0x5fec6a
5febf7:	83 23 00             	andl   $0x0,(%ebx)
5febfa:	8b 75 10             	mov    0x10(%ebp),%esi
5febfd:	57                   	push   %edi
5febfe:	8b 7d 0c             	mov    0xc(%ebp),%edi
5fec01:	85 ff                	test   %edi,%edi
5fec03:	74 3c                	je     0x5fec41
5fec05:	85 f6                	test   %esi,%esi
5fec07:	74 3c                	je     0x5fec45
5fec09:	85 ff                	test   %edi,%edi
5fec0b:	74 03                	je     0x5fec10