42fa23:	5e                   	pop    %esi
42fa24:	c9                   	leave
42fa25:	c3                   	ret
42fa26:	8b ff                	mov    %edi,%edi
42fa28:	55                   	push   %ebp
42fa29:	8b ec                	mov    %esp,%ebp
42fa2b:	51                   	push   %ecx
42fa2c:	8b 45 10             	mov    0x10(%ebp),%eax
42fa2f:	53                   	push   %ebx
42fa30:	57                   	push   %edi
42fa31:	8b 7d 0c             	mov    0xc(%ebp),%edi
42fa34:	33 db                	xor    %ebx,%ebx
42fa36:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42fa39:	85 ff                	test   %edi,%edi
42fa3b:	74 26                	je     0x42fa63
42fa3d:	85 c0                	test   %eax,%eax
42fa3f:	74 26                	je     0x42fa67
42fa41:	88 1f                	mov    %bl,(%edi)
42fa43:	8b 4d 08             	mov    0x8(%ebp),%ecx
42fa46:	85 c9                	test   %ecx,%ecx
42fa48:	74 02                	je     0x42fa4c
42fa4a:	89 19                	mov    %ebx,(%ecx)
42fa4c:	39 45 18             	cmp    %eax,0x18(%ebp)
42fa4f:	77 03                	ja     0x42fa54
42fa51:	8b 45 18             	mov    0x18(%ebp),%eax
42fa54:	56                   	push   %esi
42fa55:	8b 75 1c             	mov    0x1c(%ebp),%esi
42fa58:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
42fa5d:	76 27                	jbe    0x42fa86
42fa5f:	6a 16                	push   $0x16
42fa61:	eb 60                	jmp    0x42fac3
42fa63:	85 c0                	test   %eax,%eax
42fa65:	74 dc                	je     0x42fa43
42fa67:	8b 45 1c             	mov    0x1c(%ebp),%eax
42fa6a:	6a 16                	push   $0x16
42fa6c:	5f                   	pop    %edi
42fa6d:	50                   	push   %eax
42fa6e:	53                   	push   %ebx
42fa6f:	53                   	push   %ebx
42fa70:	53                   	push   %ebx
42fa71:	53                   	push   %ebx
42fa72:	53                   	push   %ebx
42fa73:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42fa77:	89 78 18             	mov    %edi,0x18(%eax)
42fa7a:	e8 f2 d8 fd ff       	call   0x40d371
42fa7f:	83 c4 18             	add    $0x18,%esp
42fa82:	8b c7                	mov    %edi,%eax
42fa84:	eb 71                	jmp    0x42faf7
42fa86:	56                   	push   %esi
42fa87:	50                   	push   %eax
42fa88:	ff 75 14             	push   0x14(%ebp)
42fa8b:	57                   	push   %edi
42fa8c:	e8 6a 00 00 00       	call   0x42fafb
42fa91:	8b c8                	mov    %eax,%ecx
42fa93:	83 c4 10             	add    $0x10,%esp
42fa96:	83 f9 ff             	cmp    $0xffffffff,%ecx
42fa99:	75 12                	jne    0x42faad
42fa9b:	85 ff                	test   %edi,%edi
42fa9d:	74 02                	je     0x42faa1
42fa9f:	88 1f                	mov    %bl,(%edi)
42faa1:	38 5e 1c             	cmp    %bl,0x1c(%esi)
42faa4:	74 03                	je     0x42faa9
42faa6:	8b 5e 18             	mov    0x18(%esi),%ebx
42faa9:	8b c3                	mov    %ebx,%eax
42faab:	eb 49                	jmp    0x42faf6
42faad:	41                   	inc    %ecx
42faae:	85 ff                	test   %edi,%edi
42fab0:	74 38                	je     0x42faea
42fab2:	8b 45 10             	mov    0x10(%ebp),%eax
42fab5:	3b c8                	cmp    %eax,%ecx
42fab7:	76 2d                	jbe    0x42fae6
42fab9:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42fabd:	74 1e                	je     0x42fadd
42fabf:	88 1f                	mov    %bl,(%edi)
42fac1:	6a 22                	push   $0x22
42fac3:	5f                   	pop    %edi
42fac4:	56                   	push   %esi
42fac5:	53                   	push   %ebx
42fac6:	53                   	push   %ebx
42fac7:	53                   	push   %ebx
42fac8:	53                   	push   %ebx
42fac9:	89 7e 18             	mov    %edi,0x18(%esi)
42facc:	53                   	push   %ebx
42facd:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
42fad1:	e8 9b d8 fd ff       	call   0x40d371
42fad6:	83 c4 18             	add    $0x18,%esp
42fad9:	8b c7                	mov    %edi,%eax
42fadb:	eb 19                	jmp    0x42faf6
42fadd:	8b c8                	mov    %eax,%ecx
42fadf:	c7 45 fc 50 00 00 00 	movl   $0x50,-0x4(%ebp)
42fae6:	88 5c 39 ff          	mov    %bl,-0x1(%ecx,%edi,1)
42faea:	8b 45 08             	mov    0x8(%ebp),%eax
42faed:	85 c0                	test   %eax,%eax
42faef:	74 02                	je     0x42faf3
42faf1:	89 08                	mov    %ecx,(%eax)
42faf3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42faf6:	5e                   	pop    %esi
42faf7:	5f                   	pop    %edi
42faf8:	5b                   	pop    %ebx
42faf9:	c9                   	leave
42fafa:	c3                   	ret
42fafb:	8b ff                	mov    %edi,%edi
42fafd:	55                   	push   %ebp
42fafe:	8b ec                	mov    %esp,%ebp
42fb00:	83 ec 28             	sub    $0x28,%esp
42fb03:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42fb08:	33 c5                	xor    %ebp,%eax
42fb0a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42fb0d:	8b 55 08             	mov    0x8(%ebp),%edx
42fb10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42fb13:	53                   	push   %ebx
42fb14:	8b 5d 10             	mov    0x10(%ebp),%ebx
42fb17:	56                   	push   %esi
42fb18:	33 f6                	xor    %esi,%esi
42fb1a:	89 55 e0             	mov    %edx,-0x20(%ebp)
42fb1d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42fb20:	89 75 f0             	mov    %esi,-0x10(%ebp)
42fb23:	57                   	push   %edi
42fb24:	8b 7d 14             	mov    0x14(%ebp),%edi
42fb27:	85 d2                	test   %edx,%edx
42fb29:	74 0b                	je     0x42fb36
42fb2b:	85 db                	test   %ebx,%ebx
42fb2d:	75 07                	jne    0x42fb36
42fb2f:	33 c0                	xor    %eax,%eax
42fb31:	e9 5d 02 00 00       	jmp    0x42fd93
42fb36:	85 c9                	test   %ecx,%ecx
42fb38:	75 1e                	jne    0x42fb58
42fb3a:	57                   	push   %edi
42fb3b:	56                   	push   %esi
42fb3c:	56                   	push   %esi
42fb3d:	56                   	push   %esi
42fb3e:	56                   	push   %esi
42fb3f:	56                   	push   %esi
42fb40:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42fb44:	c7 47 18 16 00 00 00 	movl   $0x16,0x18(%edi)
42fb4b:	e8 21 d8 fd ff       	call   0x40d371
42fb50:	83 c4 18             	add    $0x18,%esp
42fb53:	e9 38 02 00 00       	jmp    0x42fd90
42fb58:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
42fb5c:	75 0d                	jne    0x42fb6b
42fb5e:	8b cf                	mov    %edi,%ecx
42fb60:	e8 5b 1d fe ff       	call   0x4118c0
42fb65:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42fb68:	8b 55 e0             	mov    -0x20(%ebp),%edx
42fb6b:	8b 47 0c             	mov    0xc(%edi),%eax
42fb6e:	8b 58 08             	mov    0x8(%eax),%ebx
42fb71:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
42fb77:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42fb7a:	8b 5d 10             	mov    0x10(%ebp),%ebx
42fb7d:	75 1e                	jne    0x42fb9d
42fb7f:	57                   	push   %edi
42fb80:	8d 45 d8             	lea    -0x28(%ebp),%eax
42fb83:	89 75 d8             	mov    %esi,-0x28(%ebp)
42fb86:	50                   	push   %eax
42fb87:	53                   	push   %ebx
42fb88:	8d 45 e8             	lea    -0x18(%ebp),%eax
42fb8b:	89 75 dc             	mov    %esi,-0x24(%ebp)
42fb8e:	50                   	push   %eax
42fb8f:	52                   	push   %edx
42fb90:	e8 4b 02 00 00       	call   0x42fde0
42fb95:	83 c4 14             	add    $0x14,%esp
42fb98:	e9 f6 01 00 00       	jmp    0x42fd93
42fb9d:	8b 98 a8 00 00 00    	mov    0xa8(%eax),%ebx
42fba3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
42fba6:	8b 5d 10             	mov    0x10(%ebp),%ebx
42fba9:	85 d2                	test   %edx,%edx
42fbab:	0f 84 7c 01 00 00    	je     0x42fd2d
42fbb1:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
42fbb7:	75 36                	jne    0x42fbef
42fbb9:	85 db                	test   %ebx,%ebx
42fbbb:	74 2b                	je     0x42fbe8
42fbbd:	b8 ff 00 00 00       	mov    $0xff,%eax
42fbc2:	66 39 01             	cmp    %ax,(%ecx)
42fbc5:	0f 87 ba 01 00 00    	ja     0x42fd85
42fbcb:	8a 01                	mov    (%ecx),%al
42fbcd:	88 04 32             	mov    %al,(%edx,%esi,1)
42fbd0:	66 8b 01             	mov    (%ecx),%ax
42fbd3:	83 c1 02             	add    $0x2,%ecx
42fbd6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42fbd9:	66 85 c0             	test   %ax,%ax
42fbdc:	74 0a                	je     0x42fbe8
42fbde:	46                   	inc    %esi
42fbdf:	b8 ff 00 00 00       	mov    $0xff,%eax
42fbe4:	3b f3                	cmp    %ebx,%esi
42fbe6:	72 da                	jb     0x42fbc2
42fbe8:	8b c6                	mov    %esi,%eax
42fbea:	e9 a4 01 00 00       	jmp    0x42fd93
42fbef:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
42fbf3:	75 56                	jne    0x42fc4b
42fbf5:	85 db                	test   %ebx,%ebx
42fbf7:	74 1c                	je     0x42fc15
42fbf9:	8b c1                	mov    %ecx,%eax
42fbfb:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42fbfe:	66 39 30             	cmp    %si,(%eax)
42fc01:	74 0b                	je     0x42fc0e
42fc03:	83 c0 02             	add    $0x2,%eax
42fc06:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
42fc0a:	75 f2                	jne    0x42fbfe
42fc0c:	eb 07                	jmp    0x42fc15
42fc0e:	8b d8                	mov    %eax,%ebx
42fc10:	2b d9                	sub    %ecx,%ebx
42fc12:	d1 fb                	sar    $1,%ebx
42fc14:	43                   	inc    %ebx
42fc15:	8d 45 f0             	lea    -0x10(%ebp),%eax
42fc18:	50                   	push   %eax
42fc19:	56                   	push   %esi
42fc1a:	53                   	push   %ebx
42fc1b:	52                   	push   %edx
42fc1c:	53                   	push   %ebx
42fc1d:	51                   	push   %ecx
42fc1e:	56                   	push   %esi
42fc1f:	ff 75 ec             	push   -0x14(%ebp)
42fc22:	e8 c3 31 ff ff       	call   0x422dea
42fc27:	83 c4 20             	add    $0x20,%esp
42fc2a:	85 c0                	test   %eax,%eax
42fc2c:	0f 84 53 01 00 00    	je     0x42fd85
42fc32:	39 75 f0             	cmp    %esi,-0x10(%ebp)
42fc35:	0f 85 4a 01 00 00    	jne    0x42fd85
42fc3b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42fc3e:	80 7c 01 ff 00       	cmpb   $0x0,-0x1(%ecx,%eax,1)
42fc43:	0f 85 4a 01 00 00    	jne    0x42fd93
42fc49:	eb 26                	jmp    0x42fc71
42fc4b:	8d 45 f0             	lea    -0x10(%ebp),%eax
42fc4e:	50                   	push   %eax
42fc4f:	56                   	push   %esi
42fc50:	53                   	push   %ebx
42fc51:	52                   	push   %edx
42fc52:	6a ff                	push   $0xffffffff
42fc54:	51                   	push   %ecx
42fc55:	56                   	push   %esi
42fc56:	ff 75 ec             	push   -0x14(%ebp)
42fc59:	e8 8c 31 ff ff       	call   0x422dea
42fc5e:	83 c4 20             	add    $0x20,%esp
42fc61:	89 45 ec             	mov    %eax,-0x14(%ebp)
42fc64:	39 75 f0             	cmp    %esi,-0x10(%ebp)
42fc67:	0f 85 18 01 00 00    	jne    0x42fd85
42fc6d:	85 c0                	test   %eax,%eax
42fc6f:	74 06                	je     0x42fc77
42fc71:	48                   	dec    %eax
42fc72:	e9 1c 01 00 00       	jmp    0x42fd93
42fc77:	ff 15 08 11 43 00    	call   *0x431108
42fc7d:	83 f8 7a             	cmp    $0x7a,%eax
42fc80:	0f 85 ff 00 00 00    	jne    0x42fd85
42fc86:	85 db                	test   %ebx,%ebx
42fc88:	0f 84 9a 00 00 00    	je     0x42fd28
42fc8e:	8b 45 e8             	mov    -0x18(%ebp),%eax
42fc91:	8b 57 0c             	mov    0xc(%edi),%edx
42fc94:	8b 4a 04             	mov    0x4(%edx),%ecx
42fc97:	83 f9 05             	cmp    $0x5,%ecx
42fc9a:	7e 03                	jle    0x42fc9f
42fc9c:	6a 05                	push   $0x5
42fc9e:	59                   	pop    %ecx
42fc9f:	8d 5d f0             	lea    -0x10(%ebp),%ebx
42fca2:	53                   	push   %ebx
42fca3:	56                   	push   %esi
42fca4:	51                   	push   %ecx
42fca5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
42fca8:	51                   	push   %ecx
42fca9:	6a 01                	push   $0x1
42fcab:	50                   	push   %eax
42fcac:	56                   	push   %esi
42fcad:	ff 72 08             	push   0x8(%edx)
42fcb0:	e8 35 31 ff ff       	call   0x422dea
42fcb5:	8b 5d 10             	mov    0x10(%ebp),%ebx
42fcb8:	8b d0                	mov    %eax,%edx
42fcba:	83 c4 20             	add    $0x20,%esp
42fcbd:	89 55 dc             	mov    %edx,-0x24(%ebp)
42fcc0:	85 d2                	test   %edx,%edx
42fcc2:	0f 84 bd 00 00 00    	je     0x42fd85
42fcc8:	39 75 f0             	cmp    %esi,-0x10(%ebp)
42fccb:	0f 85 b4 00 00 00    	jne    0x42fd85
42fcd1:	85 d2                	test   %edx,%edx
42fcd3:	0f 88 ac 00 00 00    	js     0x42fd85
42fcd9:	83 fa 05             	cmp    $0x5,%edx
42fcdc:	0f 87 a3 00 00 00    	ja     0x42fd85
42fce2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42fce5:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
42fce8:	3b c3                	cmp    %ebx,%eax
42fcea:	77 38                	ja     0x42fd24
42fcec:	8b c6                	mov    %esi,%eax
42fcee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42fcf1:	85 d2                	test   %edx,%edx
42fcf3:	7e 1e                	jle    0x42fd13
42fcf5:	8b 55 e0             	mov    -0x20(%ebp),%edx
42fcf8:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
42fcfc:	88 04 0a             	mov    %al,(%edx,%ecx,1)
42fcff:	84 c0                	test   %al,%al
42fd01:	74 21                	je     0x42fd24
42fd03:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42fd06:	40                   	inc    %eax
42fd07:	41                   	inc    %ecx
42fd08:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42fd0b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
42fd0e:	3b 45 dc             	cmp    -0x24(%ebp),%eax
42fd11:	7c e5                	jl     0x42fcf8
42fd13:	8b 45 e8             	mov    -0x18(%ebp),%eax
42fd16:	83 c0 02             	add    $0x2,%eax
42fd19:	89 45 e8             	mov    %eax,-0x18(%ebp)
42fd1c:	3b cb                	cmp    %ebx,%ecx
42fd1e:	0f 82 6d ff ff ff    	jb     0x42fc91
42fd24:	8b c1                	mov    %ecx,%eax
42fd26:	eb 6b                	jmp    0x42fd93
42fd28:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42fd2b:	eb f7                	jmp    0x42fd24
42fd2d:	39 75 dc             	cmp    %esi,-0x24(%ebp)
42fd30:	75 30                	jne    0x42fd62
42fd32:	0f b7 01             	movzwl (%ecx),%eax
42fd35:	66 85 c0             	test   %ax,%ax
42fd38:	0f 84 aa fe ff ff    	je     0x42fbe8
42fd3e:	8b d0                	mov    %eax,%edx
42fd40:	b8 ff 00 00 00       	mov    $0xff,%eax
42fd45:	66 3b d0             	cmp    %ax,%dx
42fd48:	77 3b                	ja     0x42fd85
42fd4a:	83 c1 02             	add    $0x2,%ecx
42fd4d:	46                   	inc    %esi
42fd4e:	0f b7 01             	movzwl (%ecx),%eax
42fd51:	8b d0                	mov    %eax,%edx
42fd53:	66 85 c0             	test   %ax,%ax
42fd56:	b8 ff 00 00 00       	mov    $0xff,%eax
42fd5b:	75 e8                	jne    0x42fd45
42fd5d:	e9 86 fe ff ff       	jmp    0x42fbe8
42fd62:	8d 45 f0             	lea    -0x10(%ebp),%eax
42fd65:	50                   	push   %eax
42fd66:	56                   	push   %esi
42fd67:	56                   	push   %esi
42fd68:	56                   	push   %esi
42fd69:	6a ff                	push   $0xffffffff
42fd6b:	51                   	push   %ecx
42fd6c:	56                   	push   %esi
42fd6d:	ff 75 ec             	push   -0x14(%ebp)
42fd70:	e8 75 30 ff ff       	call   0x422dea
42fd75:	83 c4 20             	add    $0x20,%esp
42fd78:	85 c0                	test   %eax,%eax
42fd7a:	74 09                	je     0x42fd85
42fd7c:	39 75 f0             	cmp    %esi,-0x10(%ebp)
42fd7f:	0f 84 ec fe ff ff    	je     0x42fc71
42fd85:	c7 47 18 2a 00 00 00 	movl   $0x2a,0x18(%edi)
42fd8c:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
42fd90:	83 c8 ff             	or     $0xffffffff,%eax
42fd93:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42fd96:	5f                   	pop    %edi
42fd97:	5e                   	pop    %esi
42fd98:	33 cd                	xor    %ebp,%ecx
42fd9a:	5b                   	pop    %ebx
42fd9b:	e8 07 9f fd ff       	call   0x409ca7
42fda0:	c9                   	leave
42fda1:	c3                   	ret
42fda2:	8b ff                	mov    %edi,%edi
42fda4:	55                   	push   %ebp
42fda5:	8b ec                	mov    %esp,%ebp