42eb86:	8b 47 0c             	mov    0xc(%edi),%eax
42eb89:	a8 83                	test   $0x83,%al
42eb8b:	0f 84 f0 00 00 00    	je     0x42ec81
42eb91:	a8 40                	test   $0x40,%al
42eb93:	0f 85 e8 00 00 00    	jne    0x42ec81
42eb99:	a8 02                	test   $0x2,%al
42eb9b:	74 0b                	je     0x42eba8
42eb9d:	83 c8 20             	or     $0x20,%eax
42eba0:	89 47 0c             	mov    %eax,0xc(%edi)
42eba3:	e9 d9 00 00 00       	jmp    0x42ec81
42eba8:	83 c8 01             	or     $0x1,%eax
42ebab:	89 47 0c             	mov    %eax,0xc(%edi)
42ebae:	a9 0c 01 00 00       	test   $0x10c,%eax
42ebb3:	75 09                	jne    0x42ebbe
42ebb5:	57                   	push   %edi
42ebb6:	e8 69 52 00 00       	call   0x433e24
42ebbb:	59                   	pop    %ecx
42ebbc:	eb 05                	jmp    0x42ebc3
42ebbe:	8b 47 08             	mov    0x8(%edi),%eax
42ebc1:	89 07                	mov    %eax,(%edi)
42ebc3:	ff 77 18             	push   0x18(%edi)
42ebc6:	ff 77 08             	push   0x8(%edi)
42ebc9:	57                   	push   %edi
42ebca:	e8 64 3d ff ff       	call   0x422933
42ebcf:	59                   	pop    %ecx
42ebd0:	50                   	push   %eax
42ebd1:	e8 30 01 00 00       	call   0x42ed06
42ebd6:	83 c4 0c             	add    $0xc,%esp
42ebd9:	89 47 04             	mov    %eax,0x4(%edi)
42ebdc:	85 c0                	test   %eax,%eax
42ebde:	0f 84 8c 00 00 00    	je     0x42ec70
42ebe4:	83 f8 ff             	cmp    $0xffffffff,%eax
42ebe7:	0f 84 83 00 00 00    	je     0x42ec70
42ebed:	f6 47 0c 82          	testb  $0x82,0xc(%edi)
42ebf1:	75 51                	jne    0x42ec44
42ebf3:	57                   	push   %edi
42ebf4:	e8 3a 3d ff ff       	call   0x422933
42ebf9:	59                   	pop    %ecx
42ebfa:	83 f8 ff             	cmp    $0xffffffff,%eax
42ebfd:	74 30                	je     0x42ec2f
42ebff:	57                   	push   %edi
42ec00:	e8 2e 3d ff ff       	call   0x422933
42ec05:	59                   	pop    %ecx
42ec06:	83 f8 fe             	cmp    $0xfffffffe,%eax
42ec09:	74 24                	je     0x42ec2f
42ec0b:	56                   	push   %esi
42ec0c:	57                   	push   %edi
42ec0d:	e8 21 3d ff ff       	call   0x422933
42ec12:	8b f0                	mov    %eax,%esi
42ec14:	57                   	push   %edi
42ec15:	c1 fe 05             	sar    $0x5,%esi
42ec18:	e8 16 3d ff ff       	call   0x422933
42ec1d:	83 e0 1f             	and    $0x1f,%eax
42ec20:	59                   	pop    %ecx
42ec21:	c1 e0 06             	shl    $0x6,%eax
42ec24:	03 04 b5 40 09 4c 00 	add    0x4c0940(,%esi,4),%eax
42ec2b:	59                   	pop    %ecx
42ec2c:	5e                   	pop    %esi
42ec2d:	eb 05                	jmp    0x42ec34
42ec2f:	b8 d0 ad 4b 00       	mov    $0x4badd0,%eax
42ec34:	8a 40 04             	mov    0x4(%eax),%al
42ec37:	24 82                	and    $0x82,%al
42ec39:	3c 82                	cmp    $0x82,%al
42ec3b:	75 07                	jne    0x42ec44
42ec3d:	81 4f 0c 00 20 00 00 	orl    $0x2000,0xc(%edi)
42ec44:	81 7f 18 00 02 00 00 	cmpl   $0x200,0x18(%edi)
42ec4b:	75 16                	jne    0x42ec63
42ec4d:	f6 47 0c 08          	testb  $0x8,0xc(%edi)
42ec51:	74 10                	je     0x42ec63
42ec53:	f7 47 0c 00 04 00 00 	testl  $0x400,0xc(%edi)
42ec5a:	75 07                	jne    0x42ec63
42ec5c:	c7 47 18 00 10 00 00 	movl   $0x1000,0x18(%edi)
42ec63:	8b 0f                	mov    (%edi),%ecx
42ec65:	ff 4f 04             	decl   0x4(%edi)
42ec68:	0f b6 01             	movzbl (%ecx),%eax
42ec6b:	41                   	inc    %ecx
42ec6c:	89 0f                	mov    %ecx,(%edi)
42ec6e:	eb 14                	jmp    0x42ec84
42ec70:	f7 d8                	neg    %eax
42ec72:	1b c0                	sbb    %eax,%eax
42ec74:	83 e0 10             	and    $0x10,%eax
42ec77:	83 c0 10             	add    $0x10,%eax
42ec7a:	09 47 0c             	or     %eax,0xc(%edi)
42ec7d:	83 67 04 00          	andl   $0x0,0x4(%edi)
42ec81:	83 c8 ff             	or     $0xffffffff,%eax
42ec84:	5f                   	pop    %edi
42ec85:	5d                   	pop    %ebp
42ec86:	c3                   	ret
42ec87:	55                   	push   %ebp
42ec88:	8b ec                	mov    %esp,%ebp
42ec8a:	56                   	push   %esi
42ec8b:	8b 75 14             	mov    0x14(%ebp),%esi
42ec8e:	85 f6                	test   %esi,%esi
42ec90:	75 04                	jne    0x42ec96
42ec92:	33 c0                	xor    %eax,%eax
42ec94:	eb 6d                	jmp    0x42ed03
42ec96:	8b 45 08             	mov    0x8(%ebp),%eax
42ec99:	85 c0                	test   %eax,%eax
42ec9b:	75 13                	jne    0x42ecb0
42ec9d:	e8 6c 8f ff ff       	call   0x427c0e
42eca2:	6a 16                	push   $0x16
42eca4:	5e                   	pop    %esi
42eca5:	89 30                	mov    %esi,(%eax)
42eca7:	e8 64 81 ff ff       	call   0x426e10
42ecac:	8b c6                	mov    %esi,%eax
42ecae:	eb 53                	jmp    0x42ed03
42ecb0:	57                   	push   %edi
42ecb1:	8b 7d 10             	mov    0x10(%ebp),%edi
42ecb4:	85 ff                	test   %edi,%edi
42ecb6:	74 14                	je     0x42eccc
42ecb8:	39 75 0c             	cmp    %esi,0xc(%ebp)
42ecbb:	72 0f                	jb     0x42eccc
42ecbd:	56                   	push   %esi
42ecbe:	57                   	push   %edi
42ecbf:	50                   	push   %eax
42ecc0:	e8 bb 01 ff ff       	call   0x41ee80
42ecc5:	83 c4 0c             	add    $0xc,%esp
42ecc8:	33 c0                	xor    %eax,%eax
42ecca:	eb 36                	jmp    0x42ed02
42eccc:	ff 75 0c             	push   0xc(%ebp)
42eccf:	6a 00                	push   $0x0
42ecd1:	50                   	push   %eax
42ecd2:	e8 79 20 ff ff       	call   0x420d50
42ecd7:	83 c4 0c             	add    $0xc,%esp
42ecda:	85 ff                	test   %edi,%edi
42ecdc:	75 09                	jne    0x42ece7
42ecde:	e8 2b 8f ff ff       	call   0x427c0e
42ece3:	6a 16                	push   $0x16
42ece5:	eb 0c                	jmp    0x42ecf3
42ece7:	39 75 0c             	cmp    %esi,0xc(%ebp)
42ecea:	73 13                	jae    0x42ecff
42ecec:	e8 1d 8f ff ff       	call   0x427c0e
42ecf1:	6a 22                	push   $0x22
42ecf3:	5e                   	pop    %esi
42ecf4:	89 30                	mov    %esi,(%eax)
42ecf6:	e8 15 81 ff ff       	call   0x426e10
42ecfb:	8b c6                	mov    %esi,%eax
42ecfd:	eb 03                	jmp    0x42ed02
42ecff:	6a 16                	push   $0x16
42ed01:	58                   	pop    %eax
42ed02:	5f                   	pop    %edi
42ed03:	5e                   	pop    %esi
42ed04:	5d                   	pop    %ebp
42ed05:	c3                   	ret
42ed06:	6a 10                	push   $0x10
42ed08:	68 e8 6e 4b 00       	push   $0x4b6ee8
42ed0d:	e8 ae 7d ff ff       	call   0x426ac0
42ed12:	8b 75 08             	mov    0x8(%ebp),%esi
42ed15:	83 fe fe             	cmp    $0xfffffffe,%esi
42ed18:	75 18                	jne    0x42ed32
42ed1a:	e8 bb 8e ff ff       	call   0x427bda
42ed1f:	83 20 00             	andl   $0x0,(%eax)
42ed22:	e8 e7 8e ff ff       	call   0x427c0e
42ed27:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42ed2d:	e9 d3 00 00 00       	jmp    0x42ee05
42ed32:	85 f6                	test   %esi,%esi
42ed34:	0f 88 b3 00 00 00    	js     0x42eded
42ed3a:	3b 35 3c 22 4c 00    	cmp    0x4c223c,%esi
42ed40:	0f 83 a7 00 00 00    	jae    0x42eded
42ed46:	8b de                	mov    %esi,%ebx
42ed48:	c1 fb 05             	sar    $0x5,%ebx
42ed4b:	8b fe                	mov    %esi,%edi
42ed4d:	83 e7 1f             	and    $0x1f,%edi
42ed50:	c1 e7 06             	shl    $0x6,%edi
42ed53:	8b 04 9d 40 09 4c 00 	mov    0x4c0940(,%ebx,4),%eax
42ed5a:	0f be 44 38 04       	movsbl 0x4(%eax,%edi,1),%eax
42ed5f:	83 e0 01             	and    $0x1,%eax
42ed62:	0f 84 85 00 00 00    	je     0x42eded
42ed68:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42ed6d:	3b 45 10             	cmp    0x10(%ebp),%eax
42ed70:	1b c0                	sbb    %eax,%eax
42ed72:	40                   	inc    %eax
42ed73:	75 15                	jne    0x42ed8a
42ed75:	e8 60 8e ff ff       	call   0x427bda
42ed7a:	83 20 00             	andl   $0x0,(%eax)
42ed7d:	e8 8c 8e ff ff       	call   0x427c0e
42ed82:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42ed88:	eb 76                	jmp    0x42ee00
42ed8a:	56                   	push   %esi
42ed8b:	e8 5d bb ff ff       	call   0x42a8ed
42ed90:	59                   	pop    %ecx
42ed91:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ed95:	8b 04 9d 40 09 4c 00 	mov    0x4c0940(,%ebx,4),%eax
42ed9c:	f6 44 38 04 01       	testb  $0x1,0x4(%eax,%edi,1)
42eda1:	74 13                	je     0x42edb6
42eda3:	ff 75 10             	push   0x10(%ebp)
42eda6:	ff 75 0c             	push   0xc(%ebp)
42eda9:	56                   	push   %esi
42edaa:	e8 5f 00 00 00       	call   0x42ee0e
42edaf:	83 c4 0c             	add    $0xc,%esp
42edb2:	8b f8                	mov    %eax,%edi
42edb4:	eb 16                	jmp    0x42edcc
42edb6:	e8 53 8e ff ff       	call   0x427c0e
42edbb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42edc1:	e8 14 8e ff ff       	call   0x427bda
42edc6:	83 20 00             	andl   $0x0,(%eax)
42edc9:	83 cf ff             	or     $0xffffffff,%edi
42edcc:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42edcf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42edd6:	e8 0a 00 00 00       	call   0x42ede5
42eddb:	8b c7                	mov    %edi,%eax
42eddd:	eb 29                	jmp    0x42ee08
42eddf:	8b 75 08             	mov    0x8(%ebp),%esi
42ede2:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42ede5:	56                   	push   %esi
42ede6:	e8 a2 be ff ff       	call   0x42ac8d
42edeb:	59                   	pop    %ecx
42edec:	c3                   	ret
42eded:	e8 e8 8d ff ff       	call   0x427bda
42edf2:	83 20 00             	andl   $0x0,(%eax)
42edf5:	e8 14 8e ff ff       	call   0x427c0e
42edfa:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42ee00:	e8 0b 80 ff ff       	call   0x426e10
42ee05:	83 c8 ff             	or     $0xffffffff,%eax
42ee08:	e8 f8 7c ff ff       	call   0x426b05
42ee0d:	c3                   	ret
42ee0e:	55                   	push   %ebp
42ee0f:	8b ec                	mov    %esp,%ebp
42ee11:	83 ec 28             	sub    $0x28,%esp
42ee14:	8b 45 08             	mov    0x8(%ebp),%eax
42ee17:	53                   	push   %ebx
42ee18:	56                   	push   %esi
42ee19:	8b 75 10             	mov    0x10(%ebp),%esi
42ee1c:	57                   	push   %edi
42ee1d:	6a fe                	push   $0xfffffffe
42ee1f:	59                   	pop    %ecx
42ee20:	33 ff                	xor    %edi,%edi
42ee22:	89 7d e0             	mov    %edi,-0x20(%ebp)
42ee25:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42ee28:	89 75 d8             	mov    %esi,-0x28(%ebp)
42ee2b:	3b c1                	cmp    %ecx,%eax
42ee2d:	75 17                	jne    0x42ee46
42ee2f:	e8 a6 8d ff ff       	call   0x427bda
42ee34:	89 38                	mov    %edi,(%eax)
42ee36:	e8 d3 8d ff ff       	call   0x427c0e
42ee3b:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42ee41:	e9 4f 07 00 00       	jmp    0x42f595
42ee46:	85 c0                	test   %eax,%eax
42ee48:	0f 88 30 07 00 00    	js     0x42f57e
42ee4e:	3b 05 3c 22 4c 00    	cmp    0x4c223c,%eax
42ee54:	0f 83 24 07 00 00    	jae    0x42f57e
42ee5a:	8b c8                	mov    %eax,%ecx
42ee5c:	c1 f9 05             	sar    $0x5,%ecx
42ee5f:	8b d8                	mov    %eax,%ebx
42ee61:	8b 14 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%edx
42ee68:	83 e3 1f             	and    $0x1f,%ebx
42ee6b:	c1 e3 06             	shl    $0x6,%ebx
42ee6e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42ee71:	8a 44 1a 04          	mov    0x4(%edx,%ebx,1),%al
42ee75:	89 5d dc             	mov    %ebx,-0x24(%ebp)
42ee78:	a8 01                	test   $0x1,%al
42ee7a:	0f 84 fe 06 00 00    	je     0x42f57e
42ee80:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
42ee86:	76 17                	jbe    0x42ee9f
42ee88:	e8 4d 8d ff ff       	call   0x427bda
42ee8d:	89 38                	mov    %edi,(%eax)
42ee8f:	e8 7a 8d ff ff       	call   0x427c0e
42ee94:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42ee9a:	e9 f1 06 00 00       	jmp    0x42f590
42ee9f:	85 f6                	test   %esi,%esi
42eea1:	0f 84 d3 06 00 00    	je     0x42f57a
42eea7:	a8 02                	test   $0x2,%al
42eea9:	0f 85 cb 06 00 00    	jne    0x42f57a
42eeaf:	39 7d 0c             	cmp    %edi,0xc(%ebp)
42eeb2:	75 09                	jne    0x42eebd
42eeb4:	e8 21 8d ff ff       	call   0x427bda
42eeb9:	21 38                	and    %edi,(%eax)
42eebb:	eb d2                	jmp    0x42ee8f
42eebd:	8a 44 1a 24          	mov    0x24(%edx,%ebx,1),%al
42eec1:	02 c0                	add    %al,%al
42eec3:	d0 f8                	sar    $1,%al
42eec5:	88 45 13             	mov    %al,0x13(%ebp)
42eec8:	0f be c0             	movsbl %al,%eax
42eecb:	48                   	dec    %eax
42eecc:	74 16                	je     0x42eee4
42eece:	48                   	dec    %eax
42eecf:	75 0b                	jne    0x42eedc
42eed1:	8b c6                	mov    %esi,%eax
42eed3:	f7 d0                	not    %eax
42eed5:	a8 01                	test   $0x1,%al
42eed7:	74 db                	je     0x42eeb4
42eed9:	83 e6 fe             	and    $0xfffffffe,%esi
42eedc:	8b 45 0c             	mov    0xc(%ebp),%eax
42eedf:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eee2:	eb 64                	jmp    0x42ef48
42eee4:	8b c6                	mov    %esi,%eax
42eee6:	f7 d0                	not    %eax
42eee8:	a8 01                	test   $0x1,%al
42eeea:	74 c8                	je     0x42eeb4
42eeec:	d1 ee                	shr    $1,%esi
42eeee:	83 fe 04             	cmp    $0x4,%esi
42eef1:	73 03                	jae    0x42eef6
42eef3:	6a 04                	push   $0x4
42eef5:	5e                   	pop    %esi
42eef6:	56                   	push   %esi
42eef7:	e8 d4 7a ff ff       	call   0x4269d0
42eefc:	59                   	pop    %ecx
42eefd:	89 45 f0             	mov    %eax,-0x10(%ebp)
42ef00:	85 c0                	test   %eax,%eax
42ef02:	75 1b                	jne    0x42ef1f
42ef04:	e8 05 8d ff ff       	call   0x427c0e
42ef09:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42ef0f:	e8 c6 8c ff ff       	call   0x427bda
42ef14:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
42ef1a:	e9 76 06 00 00       	jmp    0x42f595
42ef1f:	6a 01                	push   $0x1
42ef21:	6a 00                	push   $0x0
42ef23:	6a 00                	push   $0x0
42ef25:	ff 75 08             	push   0x8(%ebp)
42ef28:	e8 02 09 00 00       	call   0x42f82f
42ef2d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42ef30:	83 c4 10             	add    $0x10,%esp
42ef33:	8b 0c 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%ecx
42ef3a:	89 44 19 28          	mov    %eax,0x28(%ecx,%ebx,1)
42ef3e:	8b 45 f0             	mov    -0x10(%ebp),%eax
42ef41:	89 54 19 2c          	mov    %edx,0x2c(%ecx,%ebx,1)
42ef45:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42ef48:	8b 14 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%edx
42ef4f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42ef52:	f6 44 1a 04 48       	testb  $0x48,0x4(%edx,%ebx,1)
42ef57:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42ef5a:	0f 84 85 00 00 00    	je     0x42efe5
42ef60:	8a 54 1a 05          	mov    0x5(%edx,%ebx,1),%dl
42ef64:	80 fa 0a             	cmp    $0xa,%dl
42ef67:	74 7c                	je     0x42efe5
42ef69:	85 f6                	test   %esi,%esi
42ef6b:	74 78                	je     0x42efe5
42ef6d:	88 10                	mov    %dl,(%eax)
42ef6f:	33 ff                	xor    %edi,%edi
42ef71:	8d 50 01             	lea    0x1(%eax),%edx
42ef74:	8b 04 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%eax
42ef7b:	47                   	inc    %edi
42ef7c:	4e                   	dec    %esi
42ef7d:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
42ef81:	89 55 e4             	mov    %edx,-0x1c(%ebp)
42ef84:	c6 44 18 05 0a       	movb   $0xa,0x5(%eax,%ebx,1)
42ef89:	74 5a                	je     0x42efe5
42ef8b:	8b 04 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%eax
42ef92:	8a 44 18 25          	mov    0x25(%eax,%ebx,1),%al
42ef96:	3c 0a                	cmp    $0xa,%al
42ef98:	74 4b                	je     0x42efe5
42ef9a:	85 f6                	test   %esi,%esi
42ef9c:	74 47                	je     0x42efe5
42ef9e:	88 02                	mov    %al,(%edx)
42efa0:	8b 04 8d 40 09 4c 00 	mov    0x4c0940(,%ecx,4),%eax
42efa7:	42                   	inc    %edx
42efa8:	6a 02                	push   $0x2
42efaa:	4e                   	dec    %esi
42efab:	80 7d 13 01          	cmpb   $0x1,0x13(%ebp)
42efaf:	89 55 e4             	mov    %edx,-0x1c(%ebp)