501ad9:	50                   	push   %eax
501ada:	0f 95 c0             	setne  %al
501add:	04 03                	add    $0x3,%al
501adf:	57                   	push   %edi
501ae0:	0f b6 c0             	movzbl %al,%eax
501ae3:	50                   	push   %eax
501ae4:	53                   	push   %ebx
501ae5:	51                   	push   %ecx
501ae6:	e8 a5 ef 00 00       	call   0x510a90
501aeb:	8b 75 f0             	mov    -0x10(%ebp),%esi
501aee:	83 c4 14             	add    $0x14,%esp
501af1:	85 f6                	test   %esi,%esi
501af3:	74 18                	je     0x501b0d
501af5:	8b 45 08             	mov    0x8(%ebp),%eax
501af8:	85 c0                	test   %eax,%eax
501afa:	74 09                	je     0x501b05
501afc:	50                   	push   %eax
501afd:	e8 be 05 01 00       	call   0x5120c0
501b02:	83 c4 04             	add    $0x4,%esp
501b05:	85 f6                	test   %esi,%esi
501b07:	0f 85 8a 00 00 00    	jne    0x501b97
501b0d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
501b10:	8b c3                	mov    %ebx,%eax
501b12:	0f c8                	bswap  %eax
501b14:	89 01                	mov    %eax,(%ecx)
501b16:	8b 45 ec             	mov    -0x14(%ebp),%eax
501b19:	85 c0                	test   %eax,%eax
501b1b:	74 51                	je     0x501b6e
501b1d:	8b 50 48             	mov    0x48(%eax),%edx
501b20:	f6 42 1c 20          	testb  $0x20,0x1c(%edx)
501b24:	74 3f                	je     0x501b65
501b26:	8b 42 14             	mov    0x14(%edx),%eax
501b29:	ff 48 78             	decl   0x78(%eax)
501b2c:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
501b32:	89 4a 10             	mov    %ecx,0x10(%edx)
501b35:	8b 70 3c             	mov    0x3c(%eax),%esi
501b38:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
501b3e:	ff 72 04             	push   0x4(%edx)
501b41:	8b 4a 18             	mov    0x18(%edx),%ecx
501b44:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
501b4a:	49                   	dec    %ecx
501b4b:	8b 3e                	mov    (%esi),%edi
501b4d:	99                   	cltd
501b4e:	52                   	push   %edx
501b4f:	50                   	push   %eax
501b50:	6a 00                	push   $0x0
501b52:	51                   	push   %ecx
501b53:	e8 a8 ff 0d 00       	call   0x5e1b00
501b58:	52                   	push   %edx
501b59:	50                   	push   %eax
501b5a:	8b 47 48             	mov    0x48(%edi),%eax
501b5d:	56                   	push   %esi
501b5e:	ff d0                	call   *%eax
501b60:	83 c4 10             	add    $0x10,%esp
501b63:	eb 09                	jmp    0x501b6e
501b65:	52                   	push   %edx
501b66:	e8 85 2a 03 00       	call   0x5345f0
501b6b:	83 c4 04             	add    $0x4,%esp
501b6e:	8b 45 08             	mov    0x8(%ebp),%eax
501b71:	89 45 ec             	mov    %eax,-0x14(%ebp)
501b74:	8b 48 38             	mov    0x38(%eax),%ecx
501b77:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
501b7a:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
501b80:	8b 78 38             	mov    0x38(%eax),%edi
501b83:	8b 45 0c             	mov    0xc(%ebp),%eax
501b86:	83 c7 04             	add    $0x4,%edi
501b89:	8b 40 24             	mov    0x24(%eax),%eax
501b8c:	83 e8 04             	sub    $0x4,%eax
501b8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
501b92:	e9 43 fe ff ff       	jmp    0x5019da
501b97:	8b 45 ec             	mov    -0x14(%ebp),%eax
501b9a:	85 c0                	test   %eax,%eax
501b9c:	74 09                	je     0x501ba7
501b9e:	50                   	push   %eax
501b9f:	e8 1c 05 01 00       	call   0x5120c0
501ba4:	83 c4 04             	add    $0x4,%esp
501ba7:	5f                   	pop    %edi
501ba8:	8b c6                	mov    %esi,%eax
501baa:	5e                   	pop    %esi
501bab:	5b                   	pop    %ebx
501bac:	8b e5                	mov    %ebp,%esp
501bae:	5d                   	pop    %ebp
501baf:	c3                   	ret
501bb0:	8b 45 ec             	mov    -0x14(%ebp),%eax
501bb3:	85 c0                	test   %eax,%eax
501bb5:	74 09                	je     0x501bc0
501bb7:	50                   	push   %eax
501bb8:	e8 03 05 01 00       	call   0x5120c0
501bbd:	83 c4 04             	add    $0x4,%esp
501bc0:	5f                   	pop    %edi
501bc1:	5e                   	pop    %esi
501bc2:	33 c0                	xor    %eax,%eax
501bc4:	5b                   	pop    %ebx
501bc5:	8b e5                	mov    %ebp,%esp
501bc7:	5d                   	pop    %ebp
501bc8:	c3                   	ret
501bc9:	cc                   	int3
501bca:	cc                   	int3
501bcb:	cc                   	int3
501bcc:	cc                   	int3
501bcd:	cc                   	int3
501bce:	cc                   	int3
501bcf:	cc                   	int3
501bd0:	55                   	push   %ebp
501bd1:	8b ec                	mov    %esp,%ebp
501bd3:	51                   	push   %ecx
501bd4:	8b 4d 08             	mov    0x8(%ebp),%ecx
501bd7:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
501bdc:	53                   	push   %ebx
501bdd:	8b 1d 18 19 72 00    	mov    0x721918,%ebx
501be3:	56                   	push   %esi
501be4:	f7 61 24             	mull   0x24(%ecx)
501be7:	8b 45 0c             	mov    0xc(%ebp),%eax
501bea:	57                   	push   %edi
501beb:	8b fa                	mov    %edx,%edi
501bed:	c1 ef 02             	shr    $0x2,%edi
501bf0:	89 7d fc             	mov    %edi,-0x4(%ebp)
501bf3:	83 f8 02             	cmp    $0x2,%eax
501bf6:	73 04                	jae    0x501bfc
501bf8:	33 c9                	xor    %ecx,%ecx
501bfa:	eb 27                	jmp    0x501c23
501bfc:	8d 70 fe             	lea    -0x2(%eax),%esi
501bff:	33 d2                	xor    %edx,%edx
501c01:	8b c6                	mov    %esi,%eax
501c03:	8d 4f 01             	lea    0x1(%edi),%ecx
501c06:	f7 f1                	div    %ecx
501c08:	8b 4d 08             	mov    0x8(%ebp),%ecx
501c0b:	8b c3                	mov    %ebx,%eax
501c0d:	2b f2                	sub    %edx,%esi
501c0f:	33 d2                	xor    %edx,%edx
501c11:	83 c6 02             	add    $0x2,%esi
501c14:	f7 71 20             	divl   0x20(%ecx)
501c17:	8d 4e 01             	lea    0x1(%esi),%ecx
501c1a:	40                   	inc    %eax
501c1b:	3b f0                	cmp    %eax,%esi
501c1d:	8b 45 0c             	mov    0xc(%ebp),%eax
501c20:	0f 45 ce             	cmovne %esi,%ecx
501c23:	2b c8                	sub    %eax,%ecx
501c25:	8b 75 08             	mov    0x8(%ebp),%esi
501c28:	33 d2                	xor    %edx,%edx
501c2a:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
501c2d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501c30:	03 45 10             	add    0x10(%ebp),%eax
501c33:	f7 f7                	div    %edi
501c35:	33 d2                	xor    %edx,%edx
501c37:	2b c8                	sub    %eax,%ecx
501c39:	8b c3                	mov    %ebx,%eax
501c3b:	f7 76 20             	divl   0x20(%esi)
501c3e:	2b 4d 10             	sub    0x10(%ebp),%ecx
501c41:	40                   	inc    %eax
501c42:	39 45 0c             	cmp    %eax,0xc(%ebp)
501c45:	76 05                	jbe    0x501c4c
501c47:	3b c8                	cmp    %eax,%ecx
501c49:	73 01                	jae    0x501c4c
501c4b:	49                   	dec    %ecx
501c4c:	8b 76 20             	mov    0x20(%esi),%esi
501c4f:	90                   	nop
501c50:	33 d2                	xor    %edx,%edx
501c52:	83 f9 02             	cmp    $0x2,%ecx
501c55:	72 2d                	jb     0x501c84
501c57:	8b 75 fc             	mov    -0x4(%ebp),%esi
501c5a:	8d 79 fe             	lea    -0x2(%ecx),%edi
501c5d:	8b c7                	mov    %edi,%eax
501c5f:	8d 76 01             	lea    0x1(%esi),%esi
501c62:	f7 f6                	div    %esi
501c64:	8b c3                	mov    %ebx,%eax
501c66:	8b 5d 08             	mov    0x8(%ebp),%ebx
501c69:	2b fa                	sub    %edx,%edi
501c6b:	33 d2                	xor    %edx,%edx
501c6d:	83 c7 02             	add    $0x2,%edi
501c70:	8b 73 20             	mov    0x20(%ebx),%esi
501c73:	f7 f6                	div    %esi
501c75:	8b 1d 18 19 72 00    	mov    0x721918,%ebx
501c7b:	8d 57 01             	lea    0x1(%edi),%edx
501c7e:	40                   	inc    %eax
501c7f:	3b f8                	cmp    %eax,%edi
501c81:	0f 45 d7             	cmovne %edi,%edx
501c84:	3b d1                	cmp    %ecx,%edx
501c86:	74 0b                	je     0x501c93
501c88:	33 d2                	xor    %edx,%edx
501c8a:	8b c3                	mov    %ebx,%eax
501c8c:	f7 f6                	div    %esi
501c8e:	40                   	inc    %eax
501c8f:	3b c8                	cmp    %eax,%ecx
501c91:	75 03                	jne    0x501c96
501c93:	49                   	dec    %ecx
501c94:	eb ba                	jmp    0x501c50
501c96:	5f                   	pop    %edi
501c97:	5e                   	pop    %esi
501c98:	8b c1                	mov    %ecx,%eax
501c9a:	5b                   	pop    %ebx
501c9b:	8b e5                	mov    %ebp,%esp
501c9d:	5d                   	pop    %ebp
501c9e:	c3                   	ret
501c9f:	cc                   	int3
501ca0:	55                   	push   %ebp
501ca1:	8b ec                	mov    %esp,%ebp
501ca3:	51                   	push   %ecx
501ca4:	8b 45 0c             	mov    0xc(%ebp),%eax
501ca7:	53                   	push   %ebx
501ca8:	56                   	push   %esi
501ca9:	8b 75 08             	mov    0x8(%ebp),%esi
501cac:	33 db                	xor    %ebx,%ebx
501cae:	57                   	push   %edi
501caf:	8b 78 28             	mov    0x28(%eax),%edi
501cb2:	8b 76 08             	mov    0x8(%esi),%esi
501cb5:	89 75 fc             	mov    %esi,-0x4(%ebp)
501cb8:	39 58 2c             	cmp    %ebx,0x2c(%eax)
501cbb:	0f 8e 9d 00 00 00    	jle    0x501d5e
501cc1:	8b 07                	mov    (%edi),%eax
501cc3:	8b 50 14             	mov    0x14(%eax),%edx
501cc6:	85 d2                	test   %edx,%edx
501cc8:	74 04                	je     0x501cce
501cca:	8b 12                	mov    (%edx),%edx
501ccc:	eb 02                	jmp    0x501cd0
501cce:	33 d2                	xor    %edx,%edx
501cd0:	8b 4e 6c             	mov    0x6c(%esi),%ecx
501cd3:	8b 47 08             	mov    0x8(%edi),%eax
501cd6:	89 45 08             	mov    %eax,0x8(%ebp)
501cd9:	39 4e 70             	cmp    %ecx,0x70(%esi)
501cdc:	7f 14                	jg     0x501cf2
501cde:	6a 00                	push   $0x0
501ce0:	52                   	push   %edx
501ce1:	50                   	push   %eax
501ce2:	68 9d 00 00 00       	push   $0x9d
501ce7:	56                   	push   %esi
501ce8:	e8 13 48 00 00       	call   0x506500
501ced:	83 c4 14             	add    $0x14,%esp
501cf0:	eb 31                	jmp    0x501d23
501cf2:	8d 41 01             	lea    0x1(%ecx),%eax
501cf5:	89 46 6c             	mov    %eax,0x6c(%esi)
501cf8:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
501cfb:	8b 46 68             	mov    0x68(%esi),%eax
501cfe:	8b 75 08             	mov    0x8(%ebp),%esi
501d01:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
501d05:	8b 75 fc             	mov    -0x4(%ebp),%esi
501d08:	c7 04 88 9d 00 00 00 	movl   $0x9d,(%eax,%ecx,4)
501d0f:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
501d13:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
501d1a:	00
501d1b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
501d22:	00
501d23:	8b 06                	mov    (%esi),%eax
501d25:	8b 57 04             	mov    0x4(%edi),%edx
501d28:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
501d2c:	74 0e                	je     0x501d3c
501d2e:	52                   	push   %edx
501d2f:	6a f8                	push   $0xfffffff8
501d31:	50                   	push   %eax
501d32:	e8 79 1f 00 00       	call   0x503cb0
501d37:	83 c4 0c             	add    $0xc,%esp
501d3a:	eb 12                	jmp    0x501d4e
501d3c:	8b 46 6c             	mov    0x6c(%esi),%eax
501d3f:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
501d42:	8b 46 68             	mov    0x68(%esi),%eax
501d45:	c6 44 88 ed f8       	movb   $0xf8,-0x13(%eax,%ecx,4)
501d4a:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
501d4e:	8b 45 0c             	mov    0xc(%ebp),%eax
501d51:	43                   	inc    %ebx
501d52:	83 c7 10             	add    $0x10,%edi
501d55:	3b 58 2c             	cmp    0x2c(%eax),%ebx
501d58:	0f 8c 63 ff ff ff    	jl     0x501cc1
501d5e:	5f                   	pop    %edi
501d5f:	5e                   	pop    %esi
501d60:	5b                   	pop    %ebx
501d61:	8b e5                	mov    %ebp,%esp
501d63:	5d                   	pop    %ebp
501d64:	c3                   	ret
501d65:	cc                   	int3
501d66:	cc                   	int3
501d67:	cc                   	int3
501d68:	cc                   	int3
501d69:	cc                   	int3
501d6a:	cc                   	int3
501d6b:	cc                   	int3
501d6c:	cc                   	int3
501d6d:	cc                   	int3
501d6e:	cc                   	int3
501d6f:	cc                   	int3
501d70:	55                   	push   %ebp
501d71:	8b ec                	mov    %esp,%ebp
501d73:	81 ec 18 01 00 00    	sub    $0x118,%esp
501d79:	53                   	push   %ebx
501d7a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
501d7d:	56                   	push   %esi
501d7e:	57                   	push   %edi
501d7f:	8b 7d 10             	mov    0x10(%ebp),%edi
501d82:	57                   	push   %edi
501d83:	53                   	push   %ebx
501d84:	e8 37 61 02 00       	call   0x527ec0
501d89:	8b f0                	mov    %eax,%esi
501d8b:	83 c4 08             	add    $0x8,%esp
501d8e:	83 fe 01             	cmp    $0x1,%esi
501d91:	0f 85 83 00 00 00    	jne    0x501e1a
501d97:	68 14 01 00 00       	push   $0x114
501d9c:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
501da2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
501da9:	6a 00                	push   $0x0
501dab:	50                   	push   %eax
501dac:	e8 4f 1c 0e 00       	call   0x5e3a00
501db1:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
501db7:	89 9d e8 fe ff ff    	mov    %ebx,-0x118(%ebp)
501dbd:	50                   	push   %eax
501dbe:	e8 cd fe 02 00       	call   0x531c90
501dc3:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
501dc9:	83 c4 10             	add    $0x10,%esp
501dcc:	85 c0                	test   %eax,%eax
501dce:	8b 45 08             	mov    0x8(%ebp),%eax
501dd1:	74 1b                	je     0x501dee
501dd3:	57                   	push   %edi
501dd4:	68 04 d0 6a 00       	push   $0x6ad004
501dd9:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
501ddf:	50                   	push   %eax
501de0:	e8 eb 14 02 00       	call   0x5232d0
501de5:	8b 45 08             	mov    0x8(%ebp),%eax
501de8:	83 c4 10             	add    $0x10,%esp
501deb:	89 75 fc             	mov    %esi,-0x4(%ebp)
501dee:	85 ff                	test   %edi,%edi
501df0:	74 0a                	je     0x501dfc
501df2:	57                   	push   %edi
501df3:	50                   	push   %eax
501df4:	e8 77 f5 01 00       	call   0x521370
501df9:	83 c4 08             	add    $0x8,%esp
501dfc:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
501e02:	50                   	push   %eax
501e03:	e8 78 22 03 00       	call   0x534080
501e08:	83 c4 04             	add    $0x4,%esp
501e0b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
501e0f:	74 29                	je     0x501e3a
501e11:	5f                   	pop    %edi
501e12:	5e                   	pop    %esi
501e13:	33 c0                	xor    %eax,%eax
501e15:	5b                   	pop    %ebx
501e16:	8b e5                	mov    %ebp,%esp
501e18:	5d                   	pop    %ebp
501e19:	c3                   	ret
501e1a:	85 f6                	test   %esi,%esi
501e1c:	79 1c                	jns    0x501e3a
501e1e:	57                   	push   %edi
501e1f:	68 ec 85 6b 00       	push   $0x6b85ec
501e24:	6a 01                	push   $0x1
501e26:	ff 75 08             	push   0x8(%ebp)
501e29:	e8 a2 14 02 00       	call   0x5232d0
501e2e:	83 c4 10             	add    $0x10,%esp
501e31:	33 c0                	xor    %eax,%eax
501e33:	5f                   	pop    %edi
501e34:	5e                   	pop    %esi
501e35:	5b                   	pop    %ebx
501e36:	8b e5                	mov    %ebp,%esp
501e38:	5d                   	pop    %ebp