506abf:	7e 02                	jle    0x506ac3
506ac1:	89 30                	mov    %esi,(%eax)
506ac3:	41                   	inc    %ecx
506ac4:	83 c2 14             	add    $0x14,%edx
506ac7:	3b 0f                	cmp    (%edi),%ecx
506ac9:	7c e9                	jl     0x506ab4
506acb:	8b 7b 28             	mov    0x28(%ebx),%edi
506ace:	85 ff                	test   %edi,%edi
506ad0:	74 25                	je     0x506af7
506ad2:	33 c9                	xor    %ecx,%ecx
506ad4:	39 0f                	cmp    %ecx,(%edi)
506ad6:	7e 1f                	jle    0x506af7
506ad8:	8d 57 04             	lea    0x4(%edi),%edx
506adb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
506ae0:	8b 32                	mov    (%edx),%esi
506ae2:	85 f6                	test   %esi,%esi
506ae4:	74 09                	je     0x506aef
506ae6:	8b 76 18             	mov    0x18(%esi),%esi
506ae9:	3b 30                	cmp    (%eax),%esi
506aeb:	7e 02                	jle    0x506aef
506aed:	89 30                	mov    %esi,(%eax)
506aef:	41                   	inc    %ecx
506af0:	83 c2 14             	add    $0x14,%edx
506af3:	3b 0f                	cmp    (%edi),%ecx
506af5:	7c e9                	jl     0x506ae0
506af7:	8b 7b 30             	mov    0x30(%ebx),%edi
506afa:	85 ff                	test   %edi,%edi
506afc:	74 20                	je     0x506b1e
506afe:	33 c9                	xor    %ecx,%ecx
506b00:	39 0f                	cmp    %ecx,(%edi)
506b02:	7e 1a                	jle    0x506b1e
506b04:	8d 57 04             	lea    0x4(%edi),%edx
506b07:	8b 32                	mov    (%edx),%esi
506b09:	85 f6                	test   %esi,%esi
506b0b:	74 09                	je     0x506b16
506b0d:	8b 76 18             	mov    0x18(%esi),%esi
506b10:	3b 30                	cmp    (%eax),%esi
506b12:	7e 02                	jle    0x506b16
506b14:	89 30                	mov    %esi,(%eax)
506b16:	41                   	inc    %ecx
506b17:	83 c2 14             	add    $0x14,%edx
506b1a:	3b 0f                	cmp    (%edi),%ecx
506b1c:	7c e9                	jl     0x506b07
506b1e:	8b 5b 34             	mov    0x34(%ebx),%ebx
506b21:	85 db                	test   %ebx,%ebx
506b23:	0f 85 4b ff ff ff    	jne    0x506a74
506b29:	5f                   	pop    %edi
506b2a:	5e                   	pop    %esi
506b2b:	5b                   	pop    %ebx
506b2c:	5d                   	pop    %ebp
506b2d:	c3                   	ret
506b2e:	cc                   	int3
506b2f:	cc                   	int3
506b30:	55                   	push   %ebp
506b31:	8b ec                	mov    %esp,%ebp
506b33:	53                   	push   %ebx
506b34:	56                   	push   %esi
506b35:	8b 75 0c             	mov    0xc(%ebp),%esi
506b38:	33 db                	xor    %ebx,%ebx
506b3a:	57                   	push   %edi
506b3b:	8b 7d 10             	mov    0x10(%ebp),%edi
506b3e:	8b 36                	mov    (%esi),%esi
506b40:	8a 17                	mov    (%edi),%dl
506b42:	84 d2                	test   %dl,%dl
506b44:	74 24                	je     0x506b6a
506b46:	8a ca                	mov    %dl,%cl
506b48:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
506b4f:	00
506b50:	0f b6 c1             	movzbl %cl,%eax
506b53:	f6 80 40 1b 6b 00 06 	testb  $0x6,0x6b1b40(%eax)
506b5a:	75 05                	jne    0x506b61
506b5c:	80 f9 5f             	cmp    $0x5f,%cl
506b5f:	75 09                	jne    0x506b6a
506b61:	8a 4c 3b 01          	mov    0x1(%ebx,%edi,1),%cl
506b65:	43                   	inc    %ebx
506b66:	84 c9                	test   %cl,%cl
506b68:	75 e6                	jne    0x506b50
506b6a:	0f b6 c2             	movzbl %dl,%eax
506b6d:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
506b74:	75 2c                	jne    0x506ba2
506b76:	8d 45 10             	lea    0x10(%ebp),%eax
506b79:	c7 45 10 3b 00 00 00 	movl   $0x3b,0x10(%ebp)
506b80:	50                   	push   %eax
506b81:	53                   	push   %ebx
506b82:	57                   	push   %edi
506b83:	e8 e8 15 00 00       	call   0x508170
506b88:	83 c4 0c             	add    $0xc,%esp
506b8b:	83 7d 10 3b          	cmpl   $0x3b,0x10(%ebp)
506b8f:	75 11                	jne    0x506ba2
506b91:	80 3c 3b 00          	cmpb   $0x0,(%ebx,%edi,1)
506b95:	75 0b                	jne    0x506ba2
506b97:	85 db                	test   %ebx,%ebx
506b99:	74 07                	je     0x506ba2
506b9b:	8b 4d 08             	mov    0x8(%ebp),%ecx
506b9e:	33 d2                	xor    %edx,%edx
506ba0:	eb 0d                	jmp    0x506baf
506ba2:	8b 4d 08             	mov    0x8(%ebp),%ecx
506ba5:	ba 01 00 00 00       	mov    $0x1,%edx
506baa:	c6 04 0e 22          	movb   $0x22,(%esi,%ecx,1)
506bae:	46                   	inc    %esi
506baf:	80 3f 00             	cmpb   $0x0,(%edi)
506bb2:	74 16                	je     0x506bca
506bb4:	8a 07                	mov    (%edi),%al
506bb6:	88 04 0e             	mov    %al,(%esi,%ecx,1)
506bb9:	46                   	inc    %esi
506bba:	80 3f 22             	cmpb   $0x22,(%edi)
506bbd:	75 05                	jne    0x506bc4
506bbf:	c6 04 0e 22          	movb   $0x22,(%esi,%ecx,1)
506bc3:	46                   	inc    %esi
506bc4:	47                   	inc    %edi
506bc5:	80 3f 00             	cmpb   $0x0,(%edi)
506bc8:	75 ea                	jne    0x506bb4
506bca:	8b 45 0c             	mov    0xc(%ebp),%eax
506bcd:	85 d2                	test   %edx,%edx
506bcf:	74 05                	je     0x506bd6
506bd1:	c6 04 0e 22          	movb   $0x22,(%esi,%ecx,1)
506bd5:	46                   	inc    %esi
506bd6:	c6 04 0e 00          	movb   $0x0,(%esi,%ecx,1)
506bda:	5f                   	pop    %edi
506bdb:	89 30                	mov    %esi,(%eax)
506bdd:	5e                   	pop    %esi
506bde:	5b                   	pop    %ebx
506bdf:	5d                   	pop    %ebp
506be0:	c3                   	ret
506be1:	cc                   	int3
506be2:	cc                   	int3
506be3:	cc                   	int3
506be4:	cc                   	int3
506be5:	cc                   	int3
506be6:	cc                   	int3
506be7:	cc                   	int3
506be8:	cc                   	int3
506be9:	cc                   	int3
506bea:	cc                   	int3
506beb:	cc                   	int3
506bec:	cc                   	int3
506bed:	cc                   	int3
506bee:	cc                   	int3
506bef:	cc                   	int3
506bf0:	55                   	push   %ebp
506bf1:	8b ec                	mov    %esp,%ebp
506bf3:	56                   	push   %esi
506bf4:	8b 75 0c             	mov    0xc(%ebp),%esi
506bf7:	f6 46 04 01          	testb  $0x1,0x4(%esi)
506bfb:	75 1f                	jne    0x506c1c
506bfd:	0f b6 06             	movzbl (%esi),%eax
506c00:	83 c0 d5             	add    $0xffffffd5,%eax
506c03:	3d 83 00 00 00       	cmp    $0x83,%eax
506c08:	0f 87 c2 00 00 00    	ja     0x506cd0
506c0e:	0f b6 80 f0 6c 50 00 	movzbl 0x506cf0(%eax),%eax
506c15:	ff 24 85 d8 6c 50 00 	jmp    *0x506cd8(,%eax,4)
506c1c:	b8 01 00 00 00       	mov    $0x1,%eax
506c21:	5e                   	pop    %esi
506c22:	5d                   	pop    %ebp
506c23:	c3                   	ret
506c24:	8b 4d 08             	mov    0x8(%ebp),%ecx
506c27:	8b 41 18             	mov    0x18(%ecx),%eax
506c2a:	3b 46 1c             	cmp    0x1c(%esi),%eax
506c2d:	b8 01 00 00 00       	mov    $0x1,%eax
506c32:	0f 85 9a 00 00 00    	jne    0x506cd2
506c38:	66 89 41 14          	mov    %ax,0x14(%ecx)
506c3c:	b8 02 00 00 00       	mov    $0x2,%eax
506c41:	5e                   	pop    %esi
506c42:	5d                   	pop    %ebp
506c43:	c3                   	ret
506c44:	57                   	push   %edi
506c45:	8b 7d 08             	mov    0x8(%ebp),%edi
506c48:	66 83 7f 14 00       	cmpw   $0x0,0x14(%edi)
506c4d:	75 2f                	jne    0x506c7e
506c4f:	8b 46 0c             	mov    0xc(%esi),%eax
506c52:	85 c0                	test   %eax,%eax
506c54:	74 0a                	je     0x506c60
506c56:	50                   	push   %eax
506c57:	57                   	push   %edi
506c58:	e8 53 93 05 00       	call   0x55ffb0
506c5d:	83 c4 08             	add    $0x8,%esp
506c60:	66 83 7f 14 00       	cmpw   $0x0,0x14(%edi)
506c65:	74 17                	je     0x506c7e
506c67:	33 c0                	xor    %eax,%eax
506c69:	66 89 47 14          	mov    %ax,0x14(%edi)
506c6d:	8b 46 10             	mov    0x10(%esi),%eax
506c70:	85 c0                	test   %eax,%eax
506c72:	74 0a                	je     0x506c7e
506c74:	50                   	push   %eax
506c75:	57                   	push   %edi
506c76:	e8 35 93 05 00       	call   0x55ffb0
506c7b:	83 c4 08             	add    $0x8,%esp
506c7e:	5f                   	pop    %edi
506c7f:	b8 01 00 00 00       	mov    $0x1,%eax
506c84:	5e                   	pop    %esi
506c85:	5d                   	pop    %ebp
506c86:	c3                   	ret
506c87:	8b 46 0c             	mov    0xc(%esi),%eax
506c8a:	85 c0                	test   %eax,%eax
506c8c:	74 8e                	je     0x506c1c
506c8e:	50                   	push   %eax
506c8f:	ff 75 08             	push   0x8(%ebp)
506c92:	e8 19 93 05 00       	call   0x55ffb0
506c97:	83 c4 08             	add    $0x8,%esp
506c9a:	83 f8 02             	cmp    $0x2,%eax
506c9d:	0f 85 79 ff ff ff    	jne    0x506c1c
506ca3:	5e                   	pop    %esi
506ca4:	5d                   	pop    %ebp
506ca5:	c3                   	ret
506ca6:	8b 46 0c             	mov    0xc(%esi),%eax
506ca9:	80 38 a4             	cmpb   $0xa4,(%eax)
506cac:	75 0d                	jne    0x506cbb
506cae:	8b 40 2c             	mov    0x2c(%eax),%eax
506cb1:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
506cb5:	0f 85 61 ff ff ff    	jne    0x506c1c
506cbb:	8b 46 10             	mov    0x10(%esi),%eax
506cbe:	80 38 a4             	cmpb   $0xa4,(%eax)
506cc1:	75 0d                	jne    0x506cd0
506cc3:	8b 40 2c             	mov    0x2c(%eax),%eax
506cc6:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
506cca:	0f 85 4c ff ff ff    	jne    0x506c1c
506cd0:	33 c0                	xor    %eax,%eax
506cd2:	5e                   	pop    %esi
506cd3:	5d                   	pop    %ebp
506cd4:	c3                   	ret
506cd5:	0f 1f 00             	nopl   (%eax)
506cd8:	1c 6c                	sbb    $0x6c,%al
506cda:	50                   	push   %eax
506cdb:	00 44 6c 50          	add    %al,0x50(%esp,%ebp,2)
506cdf:	00 87 6c 50 00 a6    	add    %al,-0x59ffaf94(%edi)
506ce5:	6c                   	insb   (%dx),%es:(%edi)
506ce6:	50                   	push   %eax
506ce7:	00 24 6c             	add    %ah,(%esp,%ebp,2)
506cea:	50                   	push   %eax
506ceb:	00 d0                	add    %dl,%al
506ced:	6c                   	insb   (%dx),%es:(%edi)
506cee:	50                   	push   %eax
506cef:	00 00                	add    %al,(%eax)
506cf1:	01 00                	add    %eax,(%eax)
506cf3:	05 05 02 00 00       	add    $0x205,%eax
506cf8:	00 03                	add    %al,(%ebx)
506cfa:	03 03                	add    (%ebx),%eax
506cfc:	03 03                	add    (%ebx),%eax
506cfe:	03 05 05 05 05 05    	add    0x5050505,%eax
506d04:	05 05 05 05 05       	add    $0x5050505,%eax
506d09:	05 05 05 05 05       	add    $0x5050505,%eax
506d0e:	05 05 05 05 05       	add    $0x5050505,%eax
506d13:	05 05 05 05 05       	add    $0x5050505,%eax
506d18:	05 05 05 05 05       	add    $0x5050505,%eax
506d1d:	05 05 05 05 05       	add    $0x5050505,%eax
506d22:	05 05 05 05 05       	add    $0x5050505,%eax
506d27:	05 05 05 05 05       	add    $0x5050505,%eax
506d2c:	05 05 05 05 05       	add    $0x5050505,%eax
506d31:	05 05 05 05 05       	add    $0x5050505,%eax
506d36:	05 05 05 05 05       	add    $0x5050505,%eax
506d3b:	05 05 05 05 05       	add    $0x5050505,%eax
506d40:	05 05 05 05 05       	add    $0x5050505,%eax
506d45:	05 05 05 05 05       	add    $0x5050505,%eax
506d4a:	05 05 05 05 05       	add    $0x5050505,%eax
506d4f:	05 05 05 05 05       	add    $0x5050505,%eax
506d54:	05 05 05 05 05       	add    $0x5050505,%eax
506d59:	05 05 05 05 05       	add    $0x5050505,%eax
506d5e:	05 00 05 05 05       	add    $0x5050500,%eax
506d63:	05 05 05 05 05       	add    $0x5050505,%eax
506d68:	05 04 05 05 05       	add    $0x5050504,%eax
506d6d:	00 00                	add    %al,(%eax)
506d6f:	05 05 00 05 00       	add    $0x50005,%eax
506d74:	cc                   	int3
506d75:	cc                   	int3
506d76:	cc                   	int3
506d77:	cc                   	int3
506d78:	cc                   	int3
506d79:	cc                   	int3
506d7a:	cc                   	int3
506d7b:	cc                   	int3
506d7c:	cc                   	int3
506d7d:	cc                   	int3
506d7e:	cc                   	int3
506d7f:	cc                   	int3
506d80:	55                   	push   %ebp
506d81:	8b ec                	mov    %esp,%ebp
506d83:	8b 4d 0c             	mov    0xc(%ebp),%ecx
506d86:	80 39 a5             	cmpb   $0xa5,(%ecx)
506d89:	75 09                	jne    0x506d94
506d8b:	8b 45 08             	mov    0x8(%ebp),%eax
506d8e:	8a 40 18             	mov    0x18(%eax),%al
506d91:	00 41 02             	add    %al,0x2(%ecx)
506d94:	33 c0                	xor    %eax,%eax
506d96:	5d                   	pop    %ebp
506d97:	c3                   	ret
506d98:	cc                   	int3
506d99:	cc                   	int3
506d9a:	cc                   	int3
506d9b:	cc                   	int3
506d9c:	cc                   	int3
506d9d:	cc                   	int3
506d9e:	cc                   	int3
506d9f:	cc                   	int3
506da0:	55                   	push   %ebp
506da1:	8b ec                	mov    %esp,%ebp
506da3:	83 ec 18             	sub    $0x18,%esp
506da6:	53                   	push   %ebx
506da7:	8b 5d 08             	mov    0x8(%ebp),%ebx
506daa:	56                   	push   %esi
506dab:	57                   	push   %edi
506dac:	8b 7d 10             	mov    0x10(%ebp),%edi
506daf:	83 ff 02             	cmp    $0x2,%edi
506db2:	73 04                	jae    0x506db8
506db4:	33 d2                	xor    %edx,%edx
506db6:	eb 2f                	jmp    0x506de7
506db8:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
506dbd:	8d 77 fe             	lea    -0x2(%edi),%esi
506dc0:	f7 63 24             	mull   0x24(%ebx)
506dc3:	8b c6                	mov    %esi,%eax
506dc5:	8b ca                	mov    %edx,%ecx
506dc7:	33 d2                	xor    %edx,%edx
506dc9:	c1 e9 02             	shr    $0x2,%ecx
506dcc:	41                   	inc    %ecx
506dcd:	f7 f1                	div    %ecx
506dcf:	a1 18 19 72 00       	mov    0x721918,%eax
506dd4:	2b f2                	sub    %edx,%esi
506dd6:	33 d2                	xor    %edx,%edx
506dd8:	f7 73 20             	divl   0x20(%ebx)
506ddb:	8d 4e 02             	lea    0x2(%esi),%ecx
506dde:	40                   	inc    %eax
506ddf:	8d 51 01             	lea    0x1(%ecx),%edx
506de2:	3b c8                	cmp    %eax,%ecx
506de4:	0f 45 d1             	cmovne %ecx,%edx
506de7:	8b 75 14             	mov    0x14(%ebp),%esi
506dea:	3b d7                	cmp    %edi,%edx
506dec:	0f 84 3e 01 00 00    	je     0x506f30
506df2:	a1 18 19 72 00       	mov    0x721918,%eax
506df7:	33 d2                	xor    %edx,%edx
506df9:	f7 73 20             	divl   0x20(%ebx)
506dfc:	40                   	inc    %eax
506dfd:	3b f8                	cmp    %eax,%edi
506dff:	0f 84 2b 01 00 00    	je     0x506f30
506e05:	8b 43 0c             	mov    0xc(%ebx),%eax
506e08:	8b 40 38             	mov    0x38(%eax),%eax
506e0b:	8b 40 24             	mov    0x24(%eax),%eax
506e0e:	0f c8                	bswap  %eax
506e10:	85 c0                	test   %eax,%eax
506e12:	75 0c                	jne    0x506e20
506e14:	5f                   	pop    %edi
506e15:	5e                   	pop    %esi
506e16:	b8 65 00 00 00       	mov    $0x65,%eax
506e1b:	5b                   	pop    %ebx
506e1c:	8b e5                	mov    %ebp,%esp
506e1e:	5d                   	pop    %ebp
506e1f:	c3                   	ret
506e20:	8d 45 e8             	lea    -0x18(%ebp),%eax
506e23:	50                   	push   %eax
506e24:	8d 45 fc             	lea    -0x4(%ebp),%eax
506e27:	50                   	push   %eax
506e28:	57                   	push   %edi