50daa6:	7d 02                	jge    0x50daaa
50daa8:	f7 db                	neg    %ebx
50daaa:	33 c9                	xor    %ecx,%ecx
50daac:	85 db                	test   %ebx,%ebx
50daae:	74 07                	je     0x50dab7
50dab0:	d1 fb                	sar    $1,%ebx
50dab2:	41                   	inc    %ecx
50dab3:	85 db                	test   %ebx,%ebx
50dab5:	75 f9                	jne    0x50dab0
50dab7:	8b 55 f8             	mov    -0x8(%ebp),%edx
50daba:	ff 04 8a             	incl   (%edx,%ecx,4)
50dabd:	33 d2                	xor    %edx,%edx
50dabf:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
50dac6:	c7 45 f0 68 d9 68 00 	movl   $0x68d968,-0x10(%ebp)
50dacd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50dad0:	8b 09                	mov    (%ecx),%ecx
50dad2:	8b 5d fc             	mov    -0x4(%ebp),%ebx
50dad5:	0f bf 1c 4b          	movswl (%ebx,%ecx,2),%ebx
50dad9:	85 db                	test   %ebx,%ebx
50dadb:	75 03                	jne    0x50dae0
50dadd:	42                   	inc    %edx
50dade:	eb 2f                	jmp    0x50db0f
50dae0:	83 fa 0f             	cmp    $0xf,%edx
50dae3:	7e 0e                	jle    0x50daf3
50dae5:	ff 80 c0 03 00 00    	incl   0x3c0(%eax)
50daeb:	83 ea 10             	sub    $0x10,%edx
50daee:	83 fa 0f             	cmp    $0xf,%edx
50daf1:	7f f2                	jg     0x50dae5
50daf3:	85 db                	test   %ebx,%ebx
50daf5:	7d 02                	jge    0x50daf9
50daf7:	f7 db                	neg    %ebx
50daf9:	b9 01 00 00 00       	mov    $0x1,%ecx
50dafe:	eb 01                	jmp    0x50db01
50db00:	41                   	inc    %ecx
50db01:	d1 fb                	sar    $1,%ebx
50db03:	75 fb                	jne    0x50db00
50db05:	c1 e2 04             	shl    $0x4,%edx
50db08:	03 ca                	add    %edx,%ecx
50db0a:	ff 04 88             	incl   (%eax,%ecx,4)
50db0d:	33 d2                	xor    %edx,%edx
50db0f:	ff 45 f4             	incl   -0xc(%ebp)
50db12:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
50db16:	83 7d f4 40          	cmpl   $0x40,-0xc(%ebp)
50db1a:	7c b1                	jl     0x50dacd
50db1c:	85 d2                	test   %edx,%edx
50db1e:	7e 02                	jle    0x50db22
50db20:	ff 00                	incl   (%eax)
50db22:	5b                   	pop    %ebx
50db23:	8b e5                	mov    %ebp,%esp
50db25:	5d                   	pop    %ebp
50db26:	c2 04 00             	ret    $0x4
50db29:	90                   	nop
50db2a:	90                   	nop
50db2b:	90                   	nop
50db2c:	53                   	push   %ebx
50db2d:	56                   	push   %esi
50db2e:	57                   	push   %edi
50db2f:	55                   	push   %ebp
50db30:	83 c4 f4             	add    $0xfffffff4,%esp
50db33:	8b e8                	mov    %eax,%ebp
50db35:	89 14 24             	mov    %edx,(%esp)
50db38:	83 bd c0 00 00 00 00 	cmpl   $0x0,0xc0(%ebp)
50db3f:	8b 9d 64 01 00 00    	mov    0x164(%ebp),%ebx
50db45:	74 29                	je     0x50db70
50db47:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
50db4b:	75 20                	jne    0x50db6d
50db4d:	33 f6                	xor    %esi,%esi
50db4f:	8d 43 14             	lea    0x14(%ebx),%eax
50db52:	eb 08                	jmp    0x50db5c
50db54:	33 d2                	xor    %edx,%edx
50db56:	46                   	inc    %esi
50db57:	89 10                	mov    %edx,(%eax)
50db59:	83 c0 04             	add    $0x4,%eax
50db5c:	3b b5 ec 00 00 00    	cmp    0xec(%ebp),%esi
50db62:	7c f0                	jl     0x50db54
50db64:	8b 8d c0 00 00 00    	mov    0xc0(%ebp),%ecx
50db6a:	89 4b 24             	mov    %ecx,0x24(%ebx)
50db6d:	ff 4b 24             	decl   0x24(%ebx)
50db70:	33 c0                	xor    %eax,%eax
50db72:	89 44 24 04          	mov    %eax,0x4(%esp)
50db76:	8d 85 0c 01 00 00    	lea    0x10c(%ebp),%eax
50db7c:	8b 14 24             	mov    (%esp),%edx
50db7f:	89 44 24 08          	mov    %eax,0x8(%esp)
50db83:	8b fa                	mov    %edx,%edi
50db85:	eb 3c                	jmp    0x50dbc3
50db87:	8b 54 24 08          	mov    0x8(%esp),%edx
50db8b:	8b 32                	mov    (%edx),%esi
50db8d:	8b 84 b5 f0 00 00 00 	mov    0xf0(%ebp,%esi,4),%eax
50db94:	8b 50 18             	mov    0x18(%eax),%edx
50db97:	8b 4c 93 5c          	mov    0x5c(%ebx,%edx,4),%ecx
50db9b:	51                   	push   %ecx
50db9c:	8b 40 14             	mov    0x14(%eax),%eax
50db9f:	8b 4c 83 4c          	mov    0x4c(%ebx,%eax,4),%ecx
50dba3:	8b 07                	mov    (%edi),%eax
50dba5:	8b 54 b3 14          	mov    0x14(%ebx,%esi,4),%edx
50dba9:	e8 de fe ff ff       	call   0x50da8c
50dbae:	8b 0f                	mov    (%edi),%ecx
50dbb0:	0f bf 01             	movswl (%ecx),%eax
50dbb3:	89 44 b3 14          	mov    %eax,0x14(%ebx,%esi,4)
50dbb7:	ff 44 24 04          	incl   0x4(%esp)
50dbbb:	83 c7 04             	add    $0x4,%edi
50dbbe:	83 44 24 08 04       	addl   $0x4,0x8(%esp)
50dbc3:	8b 95 08 01 00 00    	mov    0x108(%ebp),%edx
50dbc9:	3b 54 24 04          	cmp    0x4(%esp),%edx
50dbcd:	7f b8                	jg     0x50db87
50dbcf:	b8 01 00 00 00       	mov    $0x1,%eax
50dbd4:	83 c4 0c             	add    $0xc,%esp
50dbd7:	5d                   	pop    %ebp
50dbd8:	5f                   	pop    %edi
50dbd9:	5e                   	pop    %esi
50dbda:	5b                   	pop    %ebx
50dbdb:	c3                   	ret
50dbdc:	53                   	push   %ebx
50dbdd:	56                   	push   %esi
50dbde:	57                   	push   %edi
50dbdf:	81 c4 c8 f7 ff ff    	add    $0xfffff7c8,%esp
50dbe5:	89 4c 24 08          	mov    %ecx,0x8(%esp)
50dbe9:	89 54 24 04          	mov    %edx,0x4(%esp)
50dbed:	89 04 24             	mov    %eax,(%esp)
50dbf0:	6a 21                	push   $0x21
50dbf2:	6a 00                	push   $0x0
50dbf4:	8d 44 24 14          	lea    0x14(%esp),%eax
50dbf8:	50                   	push   %eax
50dbf9:	e8 b6 d6 fe ff       	call   0x4fb2b4
50dbfe:	83 c4 0c             	add    $0xc,%esp
50dc01:	68 04 04 00 00       	push   $0x404
50dc06:	6a 00                	push   $0x0
50dc08:	8d 54 24 38          	lea    0x38(%esp),%edx
50dc0c:	52                   	push   %edx
50dc0d:	e8 a2 d6 fe ff       	call   0x4fb2b4
50dc12:	83 c4 0c             	add    $0xc,%esp
50dc15:	33 db                	xor    %ebx,%ebx
50dc17:	8d 84 24 34 04 00 00 	lea    0x434(%esp),%eax
50dc1e:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
50dc24:	43                   	inc    %ebx
50dc25:	83 c0 04             	add    $0x4,%eax
50dc28:	81 fb 01 01 00 00    	cmp    $0x101,%ebx
50dc2e:	7c ee                	jl     0x50dc1e
50dc30:	8b 54 24 08          	mov    0x8(%esp),%edx
50dc34:	c7 82 00 04 00 00 01 	movl   $0x1,0x400(%edx)
50dc3b:	00 00 00
50dc3e:	83 c8 ff             	or     $0xffffffff,%eax
50dc41:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
50dc46:	33 db                	xor    %ebx,%ebx
50dc48:	8b 54 24 08          	mov    0x8(%esp),%edx
50dc4c:	8b 0a                	mov    (%edx),%ecx
50dc4e:	85 c9                	test   %ecx,%ecx
50dc50:	74 08                	je     0x50dc5a
50dc52:	3b f9                	cmp    %ecx,%edi
50dc54:	7c 04                	jl     0x50dc5a
50dc56:	8b f9                	mov    %ecx,%edi
50dc58:	8b c3                	mov    %ebx,%eax
50dc5a:	43                   	inc    %ebx
50dc5b:	83 c2 04             	add    $0x4,%edx
50dc5e:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
50dc64:	7e e6                	jle    0x50dc4c
50dc66:	83 ca ff             	or     $0xffffffff,%edx
50dc69:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
50dc6e:	33 db                	xor    %ebx,%ebx
50dc70:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50dc74:	8b 31                	mov    (%ecx),%esi
50dc76:	85 f6                	test   %esi,%esi
50dc78:	74 0c                	je     0x50dc86
50dc7a:	3b fe                	cmp    %esi,%edi
50dc7c:	7c 08                	jl     0x50dc86
50dc7e:	3b c3                	cmp    %ebx,%eax
50dc80:	74 04                	je     0x50dc86
50dc82:	8b fe                	mov    %esi,%edi
50dc84:	8b d3                	mov    %ebx,%edx
50dc86:	43                   	inc    %ebx
50dc87:	83 c1 04             	add    $0x4,%ecx
50dc8a:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
50dc90:	7e e2                	jle    0x50dc74
50dc92:	85 d2                	test   %edx,%edx
50dc94:	7c 51                	jl     0x50dce7
50dc96:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50dc9a:	8b 5c 24 08          	mov    0x8(%esp),%ebx
50dc9e:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
50dca1:	01 0c 83             	add    %ecx,(%ebx,%eax,4)
50dca4:	33 db                	xor    %ebx,%ebx
50dca6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50dcaa:	89 1c 91             	mov    %ebx,(%ecx,%edx,4)
50dcad:	ff 44 84 30          	incl   0x30(%esp,%eax,4)
50dcb1:	eb 06                	jmp    0x50dcb9
50dcb3:	8b c1                	mov    %ecx,%eax
50dcb5:	ff 44 84 30          	incl   0x30(%esp,%eax,4)
50dcb9:	8b 8c 84 34 04 00 00 	mov    0x434(%esp,%eax,4),%ecx
50dcc0:	85 c9                	test   %ecx,%ecx
50dcc2:	7d ef                	jge    0x50dcb3
50dcc4:	89 94 84 34 04 00 00 	mov    %edx,0x434(%esp,%eax,4)
50dccb:	ff 44 94 30          	incl   0x30(%esp,%edx,4)
50dccf:	eb 06                	jmp    0x50dcd7
50dcd1:	8b d0                	mov    %eax,%edx
50dcd3:	ff 44 94 30          	incl   0x30(%esp,%edx,4)
50dcd7:	8b 84 94 34 04 00 00 	mov    0x434(%esp,%edx,4),%eax
50dcde:	85 c0                	test   %eax,%eax
50dce0:	7d ef                	jge    0x50dcd1
50dce2:	e9 57 ff ff ff       	jmp    0x50dc3e
50dce7:	33 db                	xor    %ebx,%ebx
50dce9:	8d 74 24 30          	lea    0x30(%esp),%esi
50dced:	8b 06                	mov    (%esi),%eax
50dcef:	85 c0                	test   %eax,%eax
50dcf1:	74 1e                	je     0x50dd11
50dcf3:	83 f8 20             	cmp    $0x20,%eax
50dcf6:	7e 13                	jle    0x50dd0b
50dcf8:	8b 14 24             	mov    (%esp),%edx
50dcfb:	8b 0a                	mov    (%edx),%ecx
50dcfd:	c7 41 14 26 00 00 00 	movl   $0x26,0x14(%ecx)
50dd04:	8b 04 24             	mov    (%esp),%eax
50dd07:	8b 10                	mov    (%eax),%edx
50dd09:	ff 12                	call   *(%edx)
50dd0b:	8b 0e                	mov    (%esi),%ecx
50dd0d:	fe 44 0c 0c          	incb   0xc(%esp,%ecx,1)
50dd11:	43                   	inc    %ebx
50dd12:	83 c6 04             	add    $0x4,%esi
50dd15:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
50dd1b:	7e d0                	jle    0x50dced
50dd1d:	bb 20 00 00 00       	mov    $0x20,%ebx
50dd22:	8d 74 24 2c          	lea    0x2c(%esp),%esi
50dd26:	8b ce                	mov    %esi,%ecx
50dd28:	eb 1f                	jmp    0x50dd49
50dd2a:	8d 43 fe             	lea    -0x2(%ebx),%eax
50dd2d:	8d 54 04 0c          	lea    0xc(%esp,%eax,1),%edx
50dd31:	eb 02                	jmp    0x50dd35
50dd33:	48                   	dec    %eax
50dd34:	4a                   	dec    %edx
50dd35:	80 3a 00             	cmpb   $0x0,(%edx)
50dd38:	74 f9                	je     0x50dd33
50dd3a:	80 01 fe             	addb   $0xfe,(%ecx)
50dd3d:	fe 41 ff             	incb   -0x1(%ecx)
50dd40:	80 44 04 0d 02       	addb   $0x2,0xd(%esp,%eax,1)
50dd45:	fe 4c 04 0c          	decb   0xc(%esp,%eax,1)
50dd49:	80 39 00             	cmpb   $0x0,(%ecx)
50dd4c:	77 dc                	ja     0x50dd2a
50dd4e:	4b                   	dec    %ebx
50dd4f:	4e                   	dec    %esi
50dd50:	83 fb 10             	cmp    $0x10,%ebx
50dd53:	7f d1                	jg     0x50dd26
50dd55:	8d 44 1c 0c          	lea    0xc(%esp,%ebx,1),%eax
50dd59:	eb 02                	jmp    0x50dd5d
50dd5b:	4b                   	dec    %ebx
50dd5c:	48                   	dec    %eax
50dd5d:	80 38 00             	cmpb   $0x0,(%eax)
50dd60:	74 f9                	je     0x50dd5b
50dd62:	fe 4c 1c 0c          	decb   0xc(%esp,%ebx,1)
50dd66:	6a 11                	push   $0x11
50dd68:	8d 54 24 10          	lea    0x10(%esp),%edx
50dd6c:	52                   	push   %edx
50dd6d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
50dd71:	51                   	push   %ecx
50dd72:	e8 55 d5 fe ff       	call   0x4fb2cc
50dd77:	83 c4 0c             	add    $0xc,%esp
50dd7a:	33 ff                	xor    %edi,%edi
50dd7c:	bb 01 00 00 00       	mov    $0x1,%ebx
50dd81:	33 c0                	xor    %eax,%eax
50dd83:	8b 54 24 04          	mov    0x4(%esp),%edx
50dd87:	8d 74 3a 11          	lea    0x11(%edx,%edi,1),%esi
50dd8b:	8d 54 24 30          	lea    0x30(%esp),%edx
50dd8f:	3b 1a                	cmp    (%edx),%ebx
50dd91:	75 04                	jne    0x50dd97
50dd93:	88 06                	mov    %al,(%esi)
50dd95:	47                   	inc    %edi
50dd96:	46                   	inc    %esi
50dd97:	40                   	inc    %eax
50dd98:	83 c2 04             	add    $0x4,%edx
50dd9b:	3d ff 00 00 00       	cmp    $0xff,%eax
50dda0:	7e ed                	jle    0x50dd8f
50dda2:	43                   	inc    %ebx
50dda3:	83 fb 20             	cmp    $0x20,%ebx
50dda6:	7e d9                	jle    0x50dd81
50dda8:	8b 44 24 04          	mov    0x4(%esp),%eax
50ddac:	33 c9                	xor    %ecx,%ecx
50ddae:	89 88 14 01 00 00    	mov    %ecx,0x114(%eax)
50ddb4:	81 c4 38 08 00 00    	add    $0x838,%esp
50ddba:	5f                   	pop    %edi
50ddbb:	5e                   	pop    %esi
50ddbc:	5b                   	pop    %ebx
50ddbd:	c3                   	ret
50ddbe:	90                   	nop
50ddbf:	90                   	nop
50ddc0:	53                   	push   %ebx
50ddc1:	56                   	push   %esi
50ddc2:	57                   	push   %edi
50ddc3:	55                   	push   %ebp
50ddc4:	83 c4 d4             	add    $0xffffffd4,%esp
50ddc7:	8b d8                	mov    %eax,%ebx
50ddc9:	8b 83 64 01 00 00    	mov    0x164(%ebx),%eax
50ddcf:	89 04 24             	mov    %eax,(%esp)
50ddd2:	6a 10                	push   $0x10
50ddd4:	6a 00                	push   $0x0
50ddd6:	8d 54 24 14          	lea    0x14(%esp),%edx
50ddda:	52                   	push   %edx
50dddb:	e8 d4 d4 fe ff       	call   0x4fb2b4
50dde0:	83 c4 0c             	add    $0xc,%esp
50dde3:	6a 10                	push   $0x10
50dde5:	6a 00                	push   $0x0
50dde7:	8d 4c 24 24          	lea    0x24(%esp),%ecx
50ddeb:	51                   	push   %ecx
50ddec:	e8 c3 d4 fe ff       	call   0x4fb2b4
50ddf1:	83 c4 0c             	add    $0xc,%esp
50ddf4:	33 c0                	xor    %eax,%eax
50ddf6:	89 44 24 04          	mov    %eax,0x4(%esp)
50ddfa:	8d 93 f0 00 00 00    	lea    0xf0(%ebx),%edx
50de00:	89 54 24 08          	mov    %edx,0x8(%esp)
50de04:	eb 77                	jmp    0x50de7d
50de06:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50de0a:	8b 01                	mov    (%ecx),%eax
50de0c:	8b 78 14             	mov    0x14(%eax),%edi
50de0f:	8b 68 18             	mov    0x18(%eax),%ebp
50de12:	83 7c bc 0c 00       	cmpl   $0x0,0xc(%esp,%edi,4)
50de17:	75 2a                	jne    0x50de43
50de19:	8d 74 bb 50          	lea    0x50(%ebx,%edi,4),%esi
50de1d:	83 3e 00             	cmpl   $0x0,(%esi)
50de20:	75 09                	jne    0x50de2b
50de22:	8b c3                	mov    %ebx,%eax
50de24:	e8 2f 9e ff ff       	call   0x507c58
50de29:	89 06                	mov    %eax,(%esi)
50de2b:	8b 14 24             	mov    (%esp),%edx
50de2e:	8b 4c ba 4c          	mov    0x4c(%edx,%edi,4),%ecx
50de32:	8b 16                	mov    (%esi),%edx
50de34:	8b c3                	mov    %ebx,%eax
50de36:	e8 a1 fd ff ff       	call   0x50dbdc
50de3b:	c7 44 bc 0c 01 00 00 	movl   $0x1,0xc(%esp,%edi,4)
50de42:	00
50de43:	83 7c ac 1c 00       	cmpl   $0x0,0x1c(%esp,%ebp,4)
50de48:	75 2a                	jne    0x50de74
50de4a:	8d 74 ab 60          	lea    0x60(%ebx,%ebp,4),%esi
50de4e:	83 3e 00             	cmpl   $0x0,(%esi)
50de51:	75 09                	jne    0x50de5c
50de53:	8b c3                	mov    %ebx,%eax
50de55:	e8 fe 9d ff ff       	call   0x507c58
50de5a:	89 06                	mov    %eax,(%esi)
50de5c:	8b 14 24             	mov    (%esp),%edx
50de5f:	8b 4c aa 5c          	mov    0x5c(%edx,%ebp,4),%ecx
50de63:	8b 16                	mov    (%esi),%edx
50de65:	8b c3                	mov    %ebx,%eax
50de67:	e8 70 fd ff ff       	call   0x50dbdc
50de6c:	c7 44 ac 1c 01 00 00 	movl   $0x1,0x1c(%esp,%ebp,4)
50de73:	00
50de74:	ff 44 24 04          	incl   0x4(%esp)
50de78:	83 44 24 08 04       	addl   $0x4,0x8(%esp)
50de7d:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50de81:	3b 8b ec 00 00 00    	cmp    0xec(%ebx),%ecx
50de87:	0f 8c 79 ff ff ff    	jl     0x50de06
50de8d:	83 c4 2c             	add    $0x2c,%esp
50de90:	5d                   	pop    %ebp
50de91:	5f                   	pop    %edi
50de92:	5e                   	pop    %esi
50de93:	5b                   	pop    %ebx
50de94:	c3                   	ret