505bfb:	8d 45 0c             	lea    0xc(%ebp),%eax
505bfe:	33 db                	xor    %ebx,%ebx
505c00:	89 45 f4             	mov    %eax,-0xc(%ebp)
505c03:	57                   	push   %edi
505c04:	8b 7d 0c             	mov    0xc(%ebp),%edi
505c07:	89 5d f8             	mov    %ebx,-0x8(%ebp)
505c0a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
505c10:	0f be 4f 02          	movsbl 0x2(%edi),%ecx
505c14:	33 d2                	xor    %edx,%edx
505c16:	8a 67 01             	mov    0x1(%edi),%ah
505c19:	8a 07                	mov    (%edi),%al
505c1b:	80 ec 30             	sub    $0x30,%ah
505c1e:	0f b7 0c 4d 0e 2b 6b 	movzwl 0x6b2b0e(,%ecx,2),%ecx
505c25:	00
505c26:	89 4d f0             	mov    %ecx,-0x10(%ebp)
505c29:	8a 4f 03             	mov    0x3(%edi),%cl
505c2c:	88 4d ff             	mov    %cl,-0x1(%ebp)
505c2f:	2c 30                	sub    $0x30,%al
505c31:	74 27                	je     0x505c5a
505c33:	8a 1e                	mov    (%esi),%bl
505c35:	fe c8                	dec    %al
505c37:	0f b6 cb             	movzbl %bl,%ecx
505c3a:	f6 81 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%ecx)
505c41:	74 55                	je     0x505c98
505c43:	8d 14 92             	lea    (%edx,%edx,4),%edx
505c46:	0f be cb             	movsbl %bl,%ecx
505c49:	8d 52 e8             	lea    -0x18(%edx),%edx
505c4c:	46                   	inc    %esi
505c4d:	8d 14 51             	lea    (%ecx,%edx,2),%edx
505c50:	84 c0                	test   %al,%al
505c52:	75 df                	jne    0x505c33
505c54:	8b 5d f8             	mov    -0x8(%ebp),%ebx
505c57:	8a 4d ff             	mov    -0x1(%ebp),%cl
505c5a:	0f be c4             	movsbl %ah,%eax
505c5d:	3b d0                	cmp    %eax,%edx
505c5f:	7c 2e                	jl     0x505c8f
505c61:	8b 45 f0             	mov    -0x10(%ebp),%eax
505c64:	0f b7 c0             	movzwl %ax,%eax
505c67:	3b d0                	cmp    %eax,%edx
505c69:	7f 24                	jg     0x505c8f
505c6b:	84 c9                	test   %cl,%cl
505c6d:	74 04                	je     0x505c73
505c6f:	3a 0e                	cmp    (%esi),%cl
505c71:	75 1c                	jne    0x505c8f
505c73:	8b 45 f4             	mov    -0xc(%ebp),%eax
505c76:	43                   	inc    %ebx
505c77:	83 c0 04             	add    $0x4,%eax
505c7a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
505c7d:	89 45 f4             	mov    %eax,-0xc(%ebp)
505c80:	83 c7 04             	add    $0x4,%edi
505c83:	46                   	inc    %esi
505c84:	8b 00                	mov    (%eax),%eax
505c86:	89 7d 0c             	mov    %edi,0xc(%ebp)
505c89:	89 10                	mov    %edx,(%eax)
505c8b:	84 c9                	test   %cl,%cl
505c8d:	75 81                	jne    0x505c10
505c8f:	8b c3                	mov    %ebx,%eax
505c91:	5f                   	pop    %edi
505c92:	5e                   	pop    %esi
505c93:	5b                   	pop    %ebx
505c94:	8b e5                	mov    %ebp,%esp
505c96:	5d                   	pop    %ebp
505c97:	c3                   	ret
505c98:	8b 45 f8             	mov    -0x8(%ebp),%eax
505c9b:	5f                   	pop    %edi
505c9c:	5e                   	pop    %esi
505c9d:	5b                   	pop    %ebx
505c9e:	8b e5                	mov    %ebp,%esp
505ca0:	5d                   	pop    %ebp
505ca1:	c3                   	ret
505ca2:	cc                   	int3
505ca3:	cc                   	int3
505ca4:	cc                   	int3
505ca5:	cc                   	int3
505ca6:	cc                   	int3
505ca7:	cc                   	int3
505ca8:	cc                   	int3
505ca9:	cc                   	int3
505caa:	cc                   	int3
505cab:	cc                   	int3
505cac:	cc                   	int3
505cad:	cc                   	int3
505cae:	cc                   	int3
505caf:	cc                   	int3
505cb0:	55                   	push   %ebp
505cb1:	8b ec                	mov    %esp,%ebp
505cb3:	8b 55 08             	mov    0x8(%ebp),%edx
505cb6:	83 ec 08             	sub    $0x8,%esp
505cb9:	56                   	push   %esi
505cba:	8b 72 04             	mov    0x4(%edx),%esi
505cbd:	39 32                	cmp    %esi,(%edx)
505cbf:	7f 07                	jg     0x505cc8
505cc1:	d9 ee                	fldz
505cc3:	5e                   	pop    %esi
505cc4:	8b e5                	mov    %ebp,%esp
505cc6:	5d                   	pop    %ebp
505cc7:	c3                   	ret
505cc8:	8b 42 08             	mov    0x8(%edx),%eax
505ccb:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
505cce:	8d 46 01             	lea    0x1(%esi),%eax
505cd1:	89 42 04             	mov    %eax,0x4(%edx)
505cd4:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
505cd8:	a8 08                	test   $0x8,%al
505cda:	74 11                	je     0x505ced
505cdc:	f2 0f 10 01          	movsd  (%ecx),%xmm0
505ce0:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
505ce5:	dd 45 f8             	fldl   -0x8(%ebp)
505ce8:	5e                   	pop    %esi
505ce9:	8b e5                	mov    %ebp,%esp
505ceb:	5d                   	pop    %ebp
505cec:	c3                   	ret
505ced:	a8 24                	test   $0x24,%al
505cef:	74 17                	je     0x505d08
505cf1:	8b 51 04             	mov    0x4(%ecx),%edx
505cf4:	8b 09                	mov    (%ecx),%ecx
505cf6:	e8 a5 bb 0d 00       	call   0x5e18a0
505cfb:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
505d00:	dd 45 f8             	fldl   -0x8(%ebp)
505d03:	5e                   	pop    %esi
505d04:	8b e5                	mov    %ebp,%esp
505d06:	5d                   	pop    %ebp
505d07:	c3                   	ret
505d08:	a8 12                	test   $0x12,%al
505d0a:	74 14                	je     0x505d20
505d0c:	51                   	push   %ecx
505d0d:	e8 fe 37 00 00       	call   0x509510
505d12:	83 c4 04             	add    $0x4,%esp
505d15:	dd 5d f8             	fstpl  -0x8(%ebp)
505d18:	dd 45 f8             	fldl   -0x8(%ebp)
505d1b:	5e                   	pop    %esi
505d1c:	8b e5                	mov    %ebp,%esp
505d1e:	5d                   	pop    %ebp
505d1f:	c3                   	ret
505d20:	0f 57 c0             	xorps  %xmm0,%xmm0
505d23:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
505d28:	dd 45 f8             	fldl   -0x8(%ebp)
505d2b:	5e                   	pop    %esi
505d2c:	8b e5                	mov    %ebp,%esp
505d2e:	5d                   	pop    %ebp
505d2f:	c3                   	ret
505d30:	55                   	push   %ebp
505d31:	8b ec                	mov    %esp,%ebp
505d33:	8b 55 08             	mov    0x8(%ebp),%edx
505d36:	83 ec 08             	sub    $0x8,%esp
505d39:	56                   	push   %esi
505d3a:	8b 72 04             	mov    0x4(%edx),%esi
505d3d:	39 32                	cmp    %esi,(%edx)
505d3f:	7f 09                	jg     0x505d4a
505d41:	33 c0                	xor    %eax,%eax
505d43:	33 d2                	xor    %edx,%edx
505d45:	5e                   	pop    %esi
505d46:	8b e5                	mov    %ebp,%esp
505d48:	5d                   	pop    %ebp
505d49:	c3                   	ret
505d4a:	8b 42 08             	mov    0x8(%edx),%eax
505d4d:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
505d50:	8d 46 01             	lea    0x1(%esi),%eax
505d53:	89 42 04             	mov    %eax,0x4(%edx)
505d56:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
505d5a:	a8 24                	test   $0x24,%al
505d5c:	74 0a                	je     0x505d68
505d5e:	8b 01                	mov    (%ecx),%eax
505d60:	8b 51 04             	mov    0x4(%ecx),%edx
505d63:	5e                   	pop    %esi
505d64:	8b e5                	mov    %ebp,%esp
505d66:	5d                   	pop    %ebp
505d67:	c3                   	ret
505d68:	a8 08                	test   $0x8,%al
505d6a:	74 19                	je     0x505d85
505d6c:	f2 0f 10 01          	movsd  (%ecx),%xmm0
505d70:	83 ec 08             	sub    $0x8,%esp
505d73:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
505d78:	e8 03 87 ff ff       	call   0x4fe480
505d7d:	83 c4 08             	add    $0x8,%esp
505d80:	5e                   	pop    %esi
505d81:	8b e5                	mov    %ebp,%esp
505d83:	5d                   	pop    %ebp
505d84:	c3                   	ret
505d85:	a8 12                	test   $0x12,%al
505d87:	74 14                	je     0x505d9d
505d89:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
505d8d:	74 0e                	je     0x505d9d
505d8f:	51                   	push   %ecx
505d90:	e8 3b 37 00 00       	call   0x5094d0
505d95:	83 c4 04             	add    $0x4,%esp
505d98:	5e                   	pop    %esi
505d99:	8b e5                	mov    %ebp,%esp
505d9b:	5d                   	pop    %ebp
505d9c:	c3                   	ret
505d9d:	0f 57 c0             	xorps  %xmm0,%xmm0
505da0:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
505da5:	8b 55 fc             	mov    -0x4(%ebp),%edx
505da8:	8b 45 f8             	mov    -0x8(%ebp),%eax
505dab:	5e                   	pop    %esi
505dac:	8b e5                	mov    %ebp,%esp
505dae:	5d                   	pop    %ebp
505daf:	c3                   	ret
505db0:	55                   	push   %ebp
505db1:	8b ec                	mov    %esp,%ebp
505db3:	56                   	push   %esi
505db4:	8b 75 08             	mov    0x8(%ebp),%esi
505db7:	85 f6                	test   %esi,%esi
505db9:	74 2f                	je     0x505dea
505dbb:	68 5c aa 6b 00       	push   $0x6baa5c
505dc0:	56                   	push   %esi
505dc1:	e8 6a 7e 03 00       	call   0x53dc30
505dc6:	83 c4 08             	add    $0x8,%esp
505dc9:	85 c0                	test   %eax,%eax
505dcb:	75 08                	jne    0x505dd5
505dcd:	b8 01 00 00 00       	mov    $0x1,%eax
505dd2:	5e                   	pop    %esi
505dd3:	5d                   	pop    %ebp
505dd4:	c3                   	ret
505dd5:	68 68 aa 6b 00       	push   $0x6baa68
505dda:	56                   	push   %esi
505ddb:	e8 50 7e 03 00       	call   0x53dc30
505de0:	83 c4 08             	add    $0x8,%esp
505de3:	85 c0                	test   %eax,%eax
505de5:	75 03                	jne    0x505dea
505de7:	5e                   	pop    %esi
505de8:	5d                   	pop    %ebp
505de9:	c3                   	ret
505dea:	83 c8 ff             	or     $0xffffffff,%eax
505ded:	5e                   	pop    %esi
505dee:	5d                   	pop    %ebp
505def:	c3                   	ret
505df0:	55                   	push   %ebp
505df1:	8b ec                	mov    %esp,%ebp
505df3:	83 ec 18             	sub    $0x18,%esp
505df6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
505dfb:	33 c5                	xor    %ebp,%eax
505dfd:	89 45 fc             	mov    %eax,-0x4(%ebp)
505e00:	8b 45 10             	mov    0x10(%ebp),%eax
505e03:	53                   	push   %ebx
505e04:	8b 5d 08             	mov    0x8(%ebp),%ebx
505e07:	89 5d f0             	mov    %ebx,-0x10(%ebp)
505e0a:	33 db                	xor    %ebx,%ebx
505e0c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
505e0f:	56                   	push   %esi
505e10:	89 45 ec             	mov    %eax,-0x14(%ebp)
505e13:	8b 45 14             	mov    0x14(%ebp),%eax
505e16:	57                   	push   %edi
505e17:	89 45 e8             	mov    %eax,-0x18(%ebp)
505e1a:	38 59 11             	cmp    %bl,0x11(%ecx)
505e1d:	0f 84 97 00 00 00    	je     0x505eba
505e23:	8b 75 0c             	mov    0xc(%ebp),%esi
505e26:	8b d9                	mov    %ecx,%ebx
505e28:	46                   	inc    %esi
505e29:	8d 7e fe             	lea    -0x2(%esi),%edi
505e2c:	0f 1f 40 00          	nopl   0x0(%eax)
505e30:	83 fe 02             	cmp    $0x2,%esi
505e33:	73 04                	jae    0x505e39
505e35:	33 d2                	xor    %edx,%edx
505e37:	eb 2e                	jmp    0x505e67
505e39:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
505e3e:	f7 63 24             	mull   0x24(%ebx)
505e41:	8b c7                	mov    %edi,%eax
505e43:	8b ca                	mov    %edx,%ecx
505e45:	33 d2                	xor    %edx,%edx
505e47:	c1 e9 02             	shr    $0x2,%ecx
505e4a:	41                   	inc    %ecx
505e4b:	f7 f1                	div    %ecx
505e4d:	a1 18 19 72 00       	mov    0x721918,%eax
505e52:	8b cf                	mov    %edi,%ecx
505e54:	2b ca                	sub    %edx,%ecx
505e56:	33 d2                	xor    %edx,%edx
505e58:	f7 73 20             	divl   0x20(%ebx)
505e5b:	83 c1 02             	add    $0x2,%ecx
505e5e:	40                   	inc    %eax
505e5f:	3b c8                	cmp    %eax,%ecx
505e61:	8d 51 01             	lea    0x1(%ecx),%edx
505e64:	0f 45 d1             	cmovne %ecx,%edx
505e67:	3b d6                	cmp    %esi,%edx
505e69:	74 0f                	je     0x505e7a
505e6b:	a1 18 19 72 00       	mov    0x721918,%eax
505e70:	33 d2                	xor    %edx,%edx
505e72:	f7 73 20             	divl   0x20(%ebx)
505e75:	40                   	inc    %eax
505e76:	3b f0                	cmp    %eax,%esi
505e78:	75 04                	jne    0x505e7e
505e7a:	46                   	inc    %esi
505e7b:	47                   	inc    %edi
505e7c:	eb b2                	jmp    0x505e30
505e7e:	3b 73 2c             	cmp    0x2c(%ebx),%esi
505e81:	bb 00 00 00 00       	mov    $0x0,%ebx
505e86:	77 2f                	ja     0x505eb7
505e88:	8d 45 f8             	lea    -0x8(%ebp),%eax
505e8b:	50                   	push   %eax
505e8c:	8d 45 f7             	lea    -0x9(%ebp),%eax
505e8f:	50                   	push   %eax
505e90:	56                   	push   %esi
505e91:	ff 75 f0             	push   -0x10(%ebp)
505e94:	e8 77 aa 00 00       	call   0x510910
505e99:	8b f8                	mov    %eax,%edi
505e9b:	83 c4 10             	add    $0x10,%esp
505e9e:	85 ff                	test   %edi,%edi
505ea0:	75 77                	jne    0x505f19
505ea2:	80 7d f7 04          	cmpb   $0x4,-0x9(%ebp)
505ea6:	75 0f                	jne    0x505eb7
505ea8:	8b 45 0c             	mov    0xc(%ebp),%eax
505eab:	39 45 f8             	cmp    %eax,-0x8(%ebp)
505eae:	75 07                	jne    0x505eb7
505eb0:	8b c6                	mov    %esi,%eax
505eb2:	8d 7b 65             	lea    0x65(%ebx),%edi
505eb5:	eb 64                	jmp    0x505f1b
505eb7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
505eba:	8b 09                	mov    (%ecx),%ecx
505ebc:	33 c0                	xor    %eax,%eax
505ebe:	39 45 ec             	cmp    %eax,-0x14(%ebp)
505ec1:	ba 02 00 00 00       	mov    $0x2,%edx
505ec6:	8b 75 0c             	mov    0xc(%ebp),%esi
505ec9:	0f 44 c2             	cmove  %edx,%eax
505ecc:	50                   	push   %eax
505ecd:	8d 45 f8             	lea    -0x8(%ebp),%eax
505ed0:	50                   	push   %eax
505ed1:	8b 81 cc 00 00 00    	mov    0xcc(%ecx),%eax
505ed7:	56                   	push   %esi
505ed8:	51                   	push   %ecx
505ed9:	ff d0                	call   *%eax
505edb:	8b f8                	mov    %eax,%edi
505edd:	83 c4 10             	add    $0x10,%esp
505ee0:	85 ff                	test   %edi,%edi
505ee2:	75 35                	jne    0x505f19
505ee4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
505ee7:	8b 59 08             	mov    0x8(%ecx),%ebx
505eea:	3b 73 04             	cmp    0x4(%ebx),%esi
505eed:	74 1f                	je     0x505f0e
505eef:	8b 41 04             	mov    0x4(%ecx),%eax
505ef2:	83 fe 01             	cmp    $0x1,%esi
505ef5:	89 43 38             	mov    %eax,0x38(%ebx)
505ef8:	8b 45 f0             	mov    -0x10(%ebp),%eax
505efb:	89 43 34             	mov    %eax,0x34(%ebx)
505efe:	0f 95 c0             	setne  %al
505f01:	fe c8                	dec    %al
505f03:	89 4b 48             	mov    %ecx,0x48(%ebx)
505f06:	24 64                	and    $0x64,%al
505f08:	89 73 04             	mov    %esi,0x4(%ebx)
505f0b:	88 43 09             	mov    %al,0x9(%ebx)
505f0e:	8b 43 38             	mov    0x38(%ebx),%eax
505f11:	33 ff                	xor    %edi,%edi
505f13:	8b 00                	mov    (%eax),%eax
505f15:	0f c8                	bswap  %eax
505f17:	eb 02                	jmp    0x505f1b
505f19:	33 c0                	xor    %eax,%eax
505f1b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
505f1e:	89 01                	mov    %eax,(%ecx)
505f20:	8b 45 ec             	mov    -0x14(%ebp),%eax
505f23:	85 c0                	test   %eax,%eax
505f25:	74 04                	je     0x505f2b
505f27:	89 18                	mov    %ebx,(%eax)