5ff987:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
5ff98d:	74 40                	je     0x5ff9cf
5ff98f:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
5ff995:	74 24                	je     0x5ff9bb
5ff997:	81 f9 00 00 02 00    	cmp    $0x20000,%ecx
5ff99d:	74 1c                	je     0x5ff9bb
5ff99f:	81 f9 00 00 04 00    	cmp    $0x40000,%ecx
5ff9a5:	75 42                	jne    0x5ff9e9
5ff9a7:	0c 80                	or     $0x80,%al
5ff9a9:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
5ff9ad:	8b 04 bd b8 10 73 00 	mov    0x7310b8(,%edi,4),%eax
5ff9b4:	c6 44 10 29 01       	movb   $0x1,0x29(%eax,%edx,1)
5ff9b9:	eb 2e                	jmp    0x5ff9e9
5ff9bb:	0c 80                	or     $0x80,%al
5ff9bd:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
5ff9c1:	8b 04 bd b8 10 73 00 	mov    0x7310b8(,%edi,4),%eax
5ff9c8:	c6 44 10 29 02       	movb   $0x2,0x29(%eax,%edx,1)
5ff9cd:	eb 1a                	jmp    0x5ff9e9
5ff9cf:	24 7f                	and    $0x7f,%al
5ff9d1:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
5ff9d5:	eb 12                	jmp    0x5ff9e9
5ff9d7:	0c 80                	or     $0x80,%al
5ff9d9:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
5ff9dd:	8b 0c bd b8 10 73 00 	mov    0x7310b8(,%edi,4),%ecx
5ff9e4:	c6 44 11 29 00       	movb   $0x0,0x29(%ecx,%edx,1)
5ff9e9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
5ff9ed:	75 07                	jne    0x5ff9f6
5ff9ef:	b8 00 80 00 00       	mov    $0x8000,%eax
5ff9f4:	eb 1e                	jmp    0x5ffa14
5ff9f6:	84 db                	test   %bl,%bl
5ff9f8:	75 07                	jne    0x5ffa01
5ff9fa:	b8 00 40 00 00       	mov    $0x4000,%eax
5ff9ff:	eb 13                	jmp    0x5ffa14
5ffa01:	33 c0                	xor    %eax,%eax
5ffa03:	80 fb 01             	cmp    $0x1,%bl
5ffa06:	0f 95 c0             	setne  %al
5ffa09:	48                   	dec    %eax
5ffa0a:	25 00 00 03 00       	and    $0x30000,%eax
5ffa0f:	05 00 00 01 00       	add    $0x10000,%eax
5ffa14:	5f                   	pop    %edi
5ffa15:	5e                   	pop    %esi
5ffa16:	5b                   	pop    %ebx
5ffa17:	c9                   	leave
5ffa18:	c3                   	ret
5ffa19:	8b ff                	mov    %edi,%edi
5ffa1b:	55                   	push   %ebp
5ffa1c:	8b ec                	mov    %esp,%ebp
5ffa1e:	83 3d a8 10 73 00 00 	cmpl   $0x0,0x7310a8
5ffa25:	56                   	push   %esi
5ffa26:	75 48                	jne    0x5ffa70
5ffa28:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5ffa2c:	75 17                	jne    0x5ffa45
5ffa2e:	e8 c6 d5 fe ff       	call   0x5ecff9
5ffa33:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffa39:	e8 e1 d4 fe ff       	call   0x5ecf1f
5ffa3e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5ffa43:	eb 3e                	jmp    0x5ffa83
5ffa45:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5ffa49:	74 e3                	je     0x5ffa2e
5ffa4b:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5ffa50:	39 75 10             	cmp    %esi,0x10(%ebp)
5ffa53:	76 14                	jbe    0x5ffa69
5ffa55:	e8 9f d5 fe ff       	call   0x5ecff9
5ffa5a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffa60:	e8 ba d4 fe ff       	call   0x5ecf1f
5ffa65:	8b c6                	mov    %esi,%eax
5ffa67:	eb 1a                	jmp    0x5ffa83
5ffa69:	5e                   	pop    %esi
5ffa6a:	5d                   	pop    %ebp
5ffa6b:	e9 30 b8 00 00       	jmp    0x60b2a0
5ffa70:	6a 00                	push   $0x0
5ffa72:	ff 75 10             	push   0x10(%ebp)
5ffa75:	ff 75 0c             	push   0xc(%ebp)
5ffa78:	ff 75 08             	push   0x8(%ebp)
5ffa7b:	e8 06 00 00 00       	call   0x5ffa86
5ffa80:	83 c4 10             	add    $0x10,%esp
5ffa83:	5e                   	pop    %esi
5ffa84:	5d                   	pop    %ebp
5ffa85:	c3                   	ret
5ffa86:	8b ff                	mov    %edi,%edi
5ffa88:	55                   	push   %ebp
5ffa89:	8b ec                	mov    %esp,%ebp
5ffa8b:	83 ec 14             	sub    $0x14,%esp
5ffa8e:	57                   	push   %edi
5ffa8f:	8b 7d 08             	mov    0x8(%ebp),%edi
5ffa92:	85 ff                	test   %edi,%edi
5ffa94:	75 1a                	jne    0x5ffab0
5ffa96:	e8 5e d5 fe ff       	call   0x5ecff9
5ffa9b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffaa1:	e8 79 d4 fe ff       	call   0x5ecf1f
5ffaa6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5ffaab:	e9 9c 00 00 00       	jmp    0x5ffb4c
5ffab0:	53                   	push   %ebx
5ffab1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ffab4:	85 db                	test   %ebx,%ebx
5ffab6:	75 17                	jne    0x5ffacf
5ffab8:	e8 3c d5 fe ff       	call   0x5ecff9
5ffabd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffac3:	e8 57 d4 fe ff       	call   0x5ecf1f
5ffac8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5ffacd:	eb 7c                	jmp    0x5ffb4b
5ffacf:	56                   	push   %esi
5ffad0:	8b 75 10             	mov    0x10(%ebp),%esi
5ffad3:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
5ffad9:	76 17                	jbe    0x5ffaf2
5ffadb:	e8 19 d5 fe ff       	call   0x5ecff9
5ffae0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffae6:	e8 34 d4 fe ff       	call   0x5ecf1f
5ffaeb:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5ffaf0:	eb 58                	jmp    0x5ffb4a
5ffaf2:	85 f6                	test   %esi,%esi
5ffaf4:	75 04                	jne    0x5ffafa
5ffaf6:	33 c0                	xor    %eax,%eax
5ffaf8:	eb 50                	jmp    0x5ffb4a
5ffafa:	ff 75 14             	push   0x14(%ebp)
5ffafd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5ffb00:	e8 88 e0 fe ff       	call   0x5edb8d
5ffb05:	8b 45 f0             	mov    -0x10(%ebp),%eax
5ffb08:	8b 88 94 00 00 00    	mov    0x94(%eax),%ecx
5ffb0e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ffb11:	0f b6 07             	movzbl (%edi),%eax
5ffb14:	47                   	inc    %edi
5ffb15:	8b 55 fc             	mov    -0x4(%ebp),%edx
5ffb18:	0f b6 0c 08          	movzbl (%eax,%ecx,1),%ecx
5ffb1c:	8a 03                	mov    (%ebx),%al
5ffb1e:	43                   	inc    %ebx
5ffb1f:	0f b6 c0             	movzbl %al,%eax
5ffb22:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
5ffb26:	8b d1                	mov    %ecx,%edx
5ffb28:	2b d0                	sub    %eax,%edx
5ffb2a:	75 0c                	jne    0x5ffb38
5ffb2c:	85 c9                	test   %ecx,%ecx
5ffb2e:	74 08                	je     0x5ffb38
5ffb30:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ffb33:	83 ee 01             	sub    $0x1,%esi
5ffb36:	75 d9                	jne    0x5ffb11
5ffb38:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5ffb3c:	74 0a                	je     0x5ffb48
5ffb3e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ffb41:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5ffb48:	8b c2                	mov    %edx,%eax
5ffb4a:	5e                   	pop    %esi
5ffb4b:	5b                   	pop    %ebx
5ffb4c:	5f                   	pop    %edi
5ffb4d:	c9                   	leave
5ffb4e:	c3                   	ret
5ffb4f:	8b ff                	mov    %edi,%edi
5ffb51:	55                   	push   %ebp
5ffb52:	8b ec                	mov    %esp,%ebp
5ffb54:	5d                   	pop    %ebp
5ffb55:	e9 00 00 00 00       	jmp    0x5ffb5a
5ffb5a:	8b ff                	mov    %edi,%edi
5ffb5c:	55                   	push   %ebp
5ffb5d:	8b ec                	mov    %esp,%ebp
5ffb5f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5ffb63:	75 15                	jne    0x5ffb7a
5ffb65:	e8 8f d4 fe ff       	call   0x5ecff9
5ffb6a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffb70:	e8 aa d3 fe ff       	call   0x5ecf1f
5ffb75:	83 c8 ff             	or     $0xffffffff,%eax
5ffb78:	5d                   	pop    %ebp
5ffb79:	c3                   	ret
5ffb7a:	ff 75 08             	push   0x8(%ebp)
5ffb7d:	6a 00                	push   $0x0
5ffb7f:	ff 35 88 14 73 00    	push   0x731488
5ffb85:	ff 15 84 21 68 00    	call   *0x682184
5ffb8b:	5d                   	pop    %ebp
5ffb8c:	c3                   	ret
5ffb8d:	cc                   	int3
5ffb8e:	cc                   	int3
5ffb8f:	cc                   	int3
5ffb90:	6a 0c                	push   $0xc
5ffb92:	68 b0 1d 70 00       	push   $0x701db0
5ffb97:	e8 74 29 fe ff       	call   0x5e2510
5ffb9c:	8b 7d 08             	mov    0x8(%ebp),%edi
5ffb9f:	85 ff                	test   %edi,%edi
5ffba1:	75 0d                	jne    0x5ffbb0
5ffba3:	ff 15 e0 21 68 00    	call   *0x6821e0
5ffba9:	50                   	push   %eax
5ffbaa:	ff 15 34 22 68 00    	call   *0x682234
5ffbb0:	e8 84 48 00 00       	call   0x604439
5ffbb5:	89 b8 60 03 00 00    	mov    %edi,0x360(%eax)
5ffbbb:	e8 72 b5 00 00       	call   0x60b132
5ffbc0:	83 f8 02             	cmp    $0x2,%eax
5ffbc3:	75 10                	jne    0x5ffbd5
5ffbc5:	6a 01                	push   $0x1
5ffbc7:	e8 c9 7c 00 00       	call   0x607895
5ffbcc:	f7 d8                	neg    %eax
5ffbce:	1a c0                	sbb    %al,%al
5ffbd0:	fe c0                	inc    %al
5ffbd2:	88 47 10             	mov    %al,0x10(%edi)
5ffbd5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5ffbd9:	8b 37                	mov    (%edi),%esi
5ffbdb:	ff 77 04             	push   0x4(%edi)
5ffbde:	8b ce                	mov    %esi,%ecx
5ffbe0:	ff 15 e0 24 68 00    	call   *0x6824e0
5ffbe6:	ff d6                	call   *%esi
5ffbe8:	50                   	push   %eax
5ffbe9:	e8 81 01 00 00       	call   0x5ffd6f
5ffbee:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ffbf1:	8b 01                	mov    (%ecx),%eax
5ffbf3:	8b 00                	mov    (%eax),%eax
5ffbf5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5ffbf8:	51                   	push   %ecx
5ffbf9:	50                   	push   %eax
5ffbfa:	e8 bc 16 00 00       	call   0x6012bb
5ffbff:	59                   	pop    %ecx
5ffc00:	59                   	pop    %ecx
5ffc01:	c3                   	ret
5ffc02:	8b 65 e8             	mov    -0x18(%ebp),%esp
5ffc05:	ff 75 e4             	push   -0x1c(%ebp)
5ffc08:	e8 b1 c8 ff ff       	call   0x5fc4be
5ffc0d:	cc                   	int3
5ffc0e:	8b ff                	mov    %edi,%edi
5ffc10:	56                   	push   %esi
5ffc11:	57                   	push   %edi
5ffc12:	8b f9                	mov    %ecx,%edi
5ffc14:	8b 37                	mov    (%edi),%esi
5ffc16:	85 f6                	test   %esi,%esi
5ffc18:	74 25                	je     0x5ffc3f
5ffc1a:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5ffc1e:	74 09                	je     0x5ffc29
5ffc20:	ff 76 08             	push   0x8(%esi)
5ffc23:	ff 15 e4 21 68 00    	call   *0x6821e4
5ffc29:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5ffc2d:	74 09                	je     0x5ffc38
5ffc2f:	ff 76 0c             	push   0xc(%esi)
5ffc32:	ff 15 bc 22 68 00    	call   *0x6822bc
5ffc38:	56                   	push   %esi
5ffc39:	e8 ea 4b 00 00       	call   0x604828
5ffc3e:	59                   	pop    %ecx
5ffc3f:	83 27 00             	andl   $0x0,(%edi)
5ffc42:	5f                   	pop    %edi
5ffc43:	5e                   	pop    %esi
5ffc44:	c3                   	ret
5ffc45:	8b ff                	mov    %edi,%edi
5ffc47:	55                   	push   %ebp
5ffc48:	8b ec                	mov    %esp,%ebp
5ffc4a:	56                   	push   %esi
5ffc4b:	e8 40 49 00 00       	call   0x604590
5ffc50:	85 c0                	test   %eax,%eax
5ffc52:	74 3e                	je     0x5ffc92
5ffc54:	8b b0 60 03 00 00    	mov    0x360(%eax),%esi
5ffc5a:	85 f6                	test   %esi,%esi
5ffc5c:	74 34                	je     0x5ffc92
5ffc5e:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
5ffc62:	74 05                	je     0x5ffc69
5ffc64:	e8 67 7c 00 00       	call   0x6078d0
5ffc69:	8b 46 08             	mov    0x8(%esi),%eax
5ffc6c:	83 f8 ff             	cmp    $0xffffffff,%eax
5ffc6f:	74 0b                	je     0x5ffc7c
5ffc71:	85 c0                	test   %eax,%eax
5ffc73:	74 07                	je     0x5ffc7c
5ffc75:	50                   	push   %eax
5ffc76:	ff 15 e4 21 68 00    	call   *0x6821e4
5ffc7c:	8b 46 0c             	mov    0xc(%esi),%eax
5ffc7f:	83 f8 ff             	cmp    $0xffffffff,%eax
5ffc82:	74 0e                	je     0x5ffc92
5ffc84:	85 c0                	test   %eax,%eax
5ffc86:	74 0a                	je     0x5ffc92
5ffc88:	ff 75 08             	push   0x8(%ebp)
5ffc8b:	50                   	push   %eax
5ffc8c:	ff 15 30 22 68 00    	call   *0x682230
5ffc92:	ff 75 08             	push   0x8(%ebp)
5ffc95:	ff 15 34 22 68 00    	call   *0x682234
5ffc9b:	cc                   	int3
5ffc9c:	8b ff                	mov    %edi,%edi
5ffc9e:	55                   	push   %ebp
5ffc9f:	8b ec                	mov    %esp,%ebp
5ffca1:	51                   	push   %ecx
5ffca2:	56                   	push   %esi
5ffca3:	57                   	push   %edi
5ffca4:	6a 14                	push   $0x14
5ffca6:	6a 01                	push   $0x1
5ffca8:	e8 2f 5e 00 00       	call   0x605adc
5ffcad:	8b f0                	mov    %eax,%esi
5ffcaf:	33 ff                	xor    %edi,%edi
5ffcb1:	57                   	push   %edi
5ffcb2:	89 75 fc             	mov    %esi,-0x4(%ebp)
5ffcb5:	e8 6e 4b 00 00       	call   0x604828
5ffcba:	83 c4 0c             	add    $0xc,%esp
5ffcbd:	85 f6                	test   %esi,%esi
5ffcbf:	74 1d                	je     0x5ffcde
5ffcc1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ffcc4:	8b 45 0c             	mov    0xc(%ebp),%eax
5ffcc7:	89 0e                	mov    %ecx,(%esi)
5ffcc9:	89 46 04             	mov    %eax,0x4(%esi)
5ffccc:	8d 46 0c             	lea    0xc(%esi),%eax
5ffccf:	50                   	push   %eax
5ffcd0:	51                   	push   %ecx
5ffcd1:	6a 04                	push   $0x4
5ffcd3:	ff 15 48 21 68 00    	call   *0x682148
5ffcd9:	89 7d fc             	mov    %edi,-0x4(%ebp)
5ffcdc:	8b fe                	mov    %esi,%edi
5ffcde:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5ffce1:	e8 28 ff ff ff       	call   0x5ffc0e
5ffce6:	8b c7                	mov    %edi,%eax
5ffce8:	5f                   	pop    %edi
5ffce9:	5e                   	pop    %esi
5ffcea:	c9                   	leave
5ffceb:	c3                   	ret
5ffcec:	8b ff                	mov    %edi,%edi
5ffcee:	55                   	push   %ebp
5ffcef:	8b ec                	mov    %esp,%ebp
5ffcf1:	51                   	push   %ecx
5ffcf2:	51                   	push   %ecx
5ffcf3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5ffcf7:	75 14                	jne    0x5ffd0d
5ffcf9:	e8 fb d2 fe ff       	call   0x5ecff9
5ffcfe:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffd04:	e8 16 d2 fe ff       	call   0x5ecf1f
5ffd09:	33 c0                	xor    %eax,%eax
5ffd0b:	c9                   	leave
5ffd0c:	c3                   	ret
5ffd0d:	56                   	push   %esi
5ffd0e:	ff 75 14             	push   0x14(%ebp)
5ffd11:	ff 75 10             	push   0x10(%ebp)
5ffd14:	e8 83 ff ff ff       	call   0x5ffc9c
5ffd19:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ffd1c:	59                   	pop    %ecx
5ffd1d:	59                   	pop    %ecx
5ffd1e:	85 c0                	test   %eax,%eax
5ffd20:	74 2c                	je     0x5ffd4e
5ffd22:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5ffd25:	51                   	push   %ecx
5ffd26:	ff 75 18             	push   0x18(%ebp)
5ffd29:	50                   	push   %eax
5ffd2a:	68 90 fb 5f 00       	push   $0x5ffb90
5ffd2f:	ff 75 0c             	push   0xc(%ebp)
5ffd32:	ff 75 08             	push   0x8(%ebp)
5ffd35:	ff 15 b0 22 68 00    	call   *0x6822b0
5ffd3b:	8b f0                	mov    %eax,%esi
5ffd3d:	85 f6                	test   %esi,%esi
5ffd3f:	75 1c                	jne    0x5ffd5d
5ffd41:	ff 15 e0 21 68 00    	call   *0x6821e0
5ffd47:	50                   	push   %eax
5ffd48:	e8 76 d2 fe ff       	call   0x5ecfc3
5ffd4d:	59                   	pop    %ecx
5ffd4e:	33 f6                	xor    %esi,%esi
5ffd50:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5ffd53:	e8 b6 fe ff ff       	call   0x5ffc0e
5ffd58:	8b c6                	mov    %esi,%eax
5ffd5a:	5e                   	pop    %esi
5ffd5b:	c9                   	leave
5ffd5c:	c3                   	ret
5ffd5d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5ffd60:	85 c9                	test   %ecx,%ecx
5ffd62:	74 05                	je     0x5ffd69
5ffd64:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ffd67:	89 01                	mov    %eax,(%ecx)