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)
505f29:	eb 0d                	jmp    0x505f38
505f2b:	85 db                	test   %ebx,%ebx
505f2d:	74 09                	je     0x505f38
505f2f:	53                   	push   %ebx
505f30:	e8 8b c1 00 00       	call   0x5120c0
505f35:	83 c4 04             	add    $0x4,%esp
505f38:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505f3b:	33 c0                	xor    %eax,%eax
505f3d:	83 ff 65             	cmp    $0x65,%edi
505f40:	0f 44 f8             	cmove  %eax,%edi
505f43:	33 cd                	xor    %ebp,%ecx
505f45:	8b c7                	mov    %edi,%eax
505f47:	5f                   	pop    %edi
505f48:	5e                   	pop    %esi
505f49:	5b                   	pop    %ebx
505f4a:	e8 8b b5 0d 00       	call   0x5e14da
505f4f:	8b e5                	mov    %ebp,%esp
505f51:	5d                   	pop    %ebp
505f52:	c3                   	ret
505f53:	cc                   	int3
505f54:	cc                   	int3
505f55:	cc                   	int3
505f56:	cc                   	int3
505f57:	cc                   	int3
505f58:	cc                   	int3
505f59:	cc                   	int3
505f5a:	cc                   	int3
505f5b:	cc                   	int3
505f5c:	cc                   	int3
505f5d:	cc                   	int3
505f5e:	cc                   	int3
505f5f:	cc                   	int3
505f60:	55                   	push   %ebp
505f61:	8b ec                	mov    %esp,%ebp
505f63:	8b 45 10             	mov    0x10(%ebp),%eax
505f66:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
505f6c:	8b 45 08             	mov    0x8(%ebp),%eax
505f6f:	8b 40 28             	mov    0x28(%eax),%eax
505f72:	5d                   	pop    %ebp
505f73:	c3                   	ret
505f74:	cc                   	int3
505f75:	cc                   	int3
505f76:	cc                   	int3
505f77:	cc                   	int3
505f78:	cc                   	int3
505f79:	cc                   	int3
505f7a:	cc                   	int3
505f7b:	cc                   	int3
505f7c:	cc                   	int3
505f7d:	cc                   	int3
505f7e:	cc                   	int3
505f7f:	cc                   	int3
505f80:	55                   	push   %ebp
505f81:	8b ec                	mov    %esp,%ebp
505f83:	83 ec 18             	sub    $0x18,%esp
505f86:	a1 d4 89 72 00       	mov    0x7289d4,%eax
505f8b:	33 c5                	xor    %ebp,%eax
505f8d:	89 45 fc             	mov    %eax,-0x4(%ebp)
505f90:	53                   	push   %ebx
505f91:	8b 5d 08             	mov    0x8(%ebp),%ebx
505f94:	56                   	push   %esi
505f95:	8b 75 0c             	mov    0xc(%ebp),%esi
505f98:	89 75 ec             	mov    %esi,-0x14(%ebp)
505f9b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
505fa2:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
505fa9:	57                   	push   %edi
505faa:	8b 7d 10             	mov    0x10(%ebp),%edi
505fad:	89 7d f4             	mov    %edi,-0xc(%ebp)
505fb0:	83 fe 01             	cmp    $0x1,%esi
505fb3:	76 13                	jbe    0x505fc8
505fb5:	80 7b 10 01          	cmpb   $0x1,0x10(%ebx)
505fb9:	74 06                	je     0x505fc1
505fbb:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
505fbf:	74 07                	je     0x505fc8
505fc1:	b8 01 00 00 00       	mov    $0x1,%eax
505fc6:	eb 02                	jmp    0x505fca
505fc8:	33 c0                	xor    %eax,%eax
505fca:	83 fe 01             	cmp    $0x1,%esi
505fcd:	77 36                	ja     0x506005
505fcf:	85 f6                	test   %esi,%esi
505fd1:	75 32                	jne    0x506005
505fd3:	68 fc c4 6b 00       	push   $0x6bc4fc
505fd8:	68 de de 00 00       	push   $0xdede
505fdd:	68 94 c4 6b 00       	push   $0x6bc494
505fe2:	68 78 c4 6b 00       	push   $0x6bc478
505fe7:	6a 0b                	push   $0xb
505fe9:	e8 f2 9f fd ff       	call   0x4dffe0
505fee:	83 c4 14             	add    $0x14,%esp
505ff1:	8d 46 0b             	lea    0xb(%esi),%eax
505ff4:	5f                   	pop    %edi
505ff5:	5e                   	pop    %esi
505ff6:	5b                   	pop    %ebx
505ff7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505ffa:	33 cd                	xor    %ebp,%ecx
505ffc:	e8 d9 b4 0d 00       	call   0x5e14da
506001:	8b e5                	mov    %ebp,%esp
506003:	5d                   	pop    %ebp
506004:	c3                   	ret
506005:	85 c0                	test   %eax,%eax
506007:	0f 84 32 01 00 00    	je     0x50613f
50600d:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
506013:	85 c0                	test   %eax,%eax
506015:	74 33                	je     0x50604a
506017:	8d 4d f8             	lea    -0x8(%ebp),%ecx
50601a:	51                   	push   %ecx
50601b:	56                   	push   %esi
50601c:	50                   	push   %eax
50601d:	e8 fe 93 04 00       	call   0x54f420
506022:	83 c4 0c             	add    $0xc,%esp
506025:	85 c0                	test   %eax,%eax
506027:	74 17                	je     0x506040
506029:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
50602f:	5f                   	pop    %edi
506030:	5e                   	pop    %esi
506031:	5b                   	pop    %ebx
506032:	8b 4d fc             	mov    -0x4(%ebp),%ecx
506035:	33 cd                	xor    %ebp,%ecx
506037:	e8 9e b4 0d 00       	call   0x5e14da
50603c:	8b e5                	mov    %ebp,%esp
50603e:	5d                   	pop    %ebp
50603f:	c3                   	ret
506040:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
506044:	0f 85 f5 00 00 00    	jne    0x50613f
50604a:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
506050:	8d 4e ff             	lea    -0x1(%esi),%ecx
506053:	6a 00                	push   $0x0
506055:	99                   	cltd
506056:	51                   	push   %ecx
506057:	52                   	push   %edx
506058:	50                   	push   %eax
506059:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
506060:	e8 9b ba 0d 00       	call   0x5e1b00
506065:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
506068:	8d 7d f8             	lea    -0x8(%ebp),%edi
50606b:	57                   	push   %edi
50606c:	8b bb 98 00 00 00    	mov    0x98(%ebx),%edi
506072:	8b f0                	mov    %eax,%esi
506074:	57                   	push   %edi
506075:	8b 01                	mov    (%ecx),%eax
506077:	52                   	push   %edx
506078:	56                   	push   %esi
506079:	51                   	push   %ecx
50607a:	8b 40 44             	mov    0x44(%eax),%eax
50607d:	ff d0                	call   *%eax
50607f:	8b c8                	mov    %eax,%ecx
506081:	83 c4 14             	add    $0x14,%esp
506084:	89 4d e8             	mov    %ecx,-0x18(%ebp)
506087:	85 c9                	test   %ecx,%ecx
506089:	0f 85 8e 00 00 00    	jne    0x50611d
50608f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
506092:	85 c9                	test   %ecx,%ecx
506094:	0f 84 9f 00 00 00    	je     0x506139
50609a:	80 7b 10 01          	cmpb   $0x1,0x10(%ebx)
50609e:	77 05                	ja     0x5060a5
5060a0:	38 43 0c             	cmp    %al,0xc(%ebx)
5060a3:	74 1b                	je     0x5060c0
5060a5:	8b 75 ec             	mov    -0x14(%ebp),%esi
5060a8:	56                   	push   %esi
5060a9:	53                   	push   %ebx
5060aa:	e8 b1 c7 02 00       	call   0x532860
5060af:	8b f8                	mov    %eax,%edi
5060b1:	83 c4 08             	add    $0x8,%esp
5060b4:	89 7d f0             	mov    %edi,-0x10(%ebp)
5060b7:	85 ff                	test   %edi,%edi
5060b9:	75 1b                	jne    0x5060d6
5060bb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5060be:	eb 03                	jmp    0x5060c3
5060c0:	8b 75 ec             	mov    -0x14(%ebp),%esi
5060c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
5060c6:	50                   	push   %eax
5060c7:	51                   	push   %ecx
5060c8:	56                   	push   %esi
5060c9:	53                   	push   %ebx
5060ca:	e8 11 67 00 00       	call   0x50c7e0
5060cf:	8b 7d f0             	mov    -0x10(%ebp),%edi