50ad3a:	5f                   	pop    %edi
50ad3b:	5e                   	pop    %esi
50ad3c:	5b                   	pop    %ebx
50ad3d:	c3                   	ret
50ad3e:	90                   	nop
50ad3f:	90                   	nop
50ad40:	53                   	push   %ebx
50ad41:	56                   	push   %esi
50ad42:	8b f0                	mov    %eax,%esi
50ad44:	57                   	push   %edi
50ad45:	8b c6                	mov    %esi,%eax
50ad47:	55                   	push   %ebp
50ad48:	8b da                	mov    %edx,%ebx
50ad4a:	ba 01 00 00 00       	mov    $0x1,%edx
50ad4f:	8b 78 04             	mov    0x4(%eax),%edi
50ad52:	83 c4 f8             	add    $0xfffffff8,%esp
50ad55:	b9 68 00 00 00       	mov    $0x68,%ecx
50ad5a:	ff 17                	call   *(%edi)
50ad5c:	89 04 24             	mov    %eax,(%esp)
50ad5f:	85 db                	test   %ebx,%ebx
50ad61:	8b 04 24             	mov    (%esp),%eax
50ad64:	89 86 50 01 00 00    	mov    %eax,0x150(%esi)
50ad6a:	8b 14 24             	mov    (%esp),%edx
50ad6d:	c7 02 24 a6 50 00    	movl   $0x50a624,(%edx)
50ad73:	74 53                	je     0x50adc8
50ad75:	33 c9                	xor    %ecx,%ecx
50ad77:	89 4c 24 04          	mov    %ecx,0x4(%esp)
50ad7b:	8b 5e 3c             	mov    0x3c(%esi),%ebx
50ad7e:	8b 04 24             	mov    (%esp),%eax
50ad81:	8d 78 40             	lea    0x40(%eax),%edi
50ad84:	eb 37                	jmp    0x50adbd
50ad86:	8b 53 08             	mov    0x8(%ebx),%edx
50ad89:	8b 43 1c             	mov    0x1c(%ebx),%eax
50ad8c:	e8 eb cd ff ff       	call   0x507b7c
50ad91:	50                   	push   %eax
50ad92:	8b 53 0c             	mov    0xc(%ebx),%edx
50ad95:	8b 43 20             	mov    0x20(%ebx),%eax
50ad98:	e8 df cd ff ff       	call   0x507b7c
50ad9d:	50                   	push   %eax
50ad9e:	8b c6                	mov    %esi,%eax
50ada0:	8b 4b 0c             	mov    0xc(%ebx),%ecx
50ada3:	ba 01 00 00 00       	mov    $0x1,%edx
50ada8:	51                   	push   %ecx
50ada9:	33 c9                	xor    %ecx,%ecx
50adab:	8b 68 04             	mov    0x4(%eax),%ebp
50adae:	ff 55 14             	call   *0x14(%ebp)
50adb1:	89 07                	mov    %eax,(%edi)
50adb3:	83 c7 04             	add    $0x4,%edi
50adb6:	ff 44 24 04          	incl   0x4(%esp)
50adba:	83 c3 54             	add    $0x54,%ebx
50adbd:	8b 46 34             	mov    0x34(%esi),%eax
50adc0:	3b 44 24 04          	cmp    0x4(%esp),%eax
50adc4:	7f c0                	jg     0x50ad86
50adc6:	eb 36                	jmp    0x50adfe
50adc8:	8b c6                	mov    %esi,%eax
50adca:	b9 00 05 00 00       	mov    $0x500,%ecx
50adcf:	ba 01 00 00 00       	mov    $0x1,%edx
50add4:	8b 58 04             	mov    0x4(%eax),%ebx
50add7:	ff 53 04             	call   *0x4(%ebx)
50adda:	8b c8                	mov    %eax,%ecx
50addc:	33 c0                	xor    %eax,%eax
50adde:	8b 14 24             	mov    (%esp),%edx
50ade1:	83 c2 18             	add    $0x18,%edx
50ade4:	8b d8                	mov    %eax,%ebx
50ade6:	40                   	inc    %eax
50ade7:	c1 e3 07             	shl    $0x7,%ebx
50adea:	03 d9                	add    %ecx,%ebx
50adec:	89 1a                	mov    %ebx,(%edx)
50adee:	83 c2 04             	add    $0x4,%edx
50adf1:	83 f8 0a             	cmp    $0xa,%eax
50adf4:	7c ee                	jl     0x50ade4
50adf6:	8b 04 24             	mov    (%esp),%eax
50adf9:	33 d2                	xor    %edx,%edx
50adfb:	89 50 40             	mov    %edx,0x40(%eax)
50adfe:	59                   	pop    %ecx
50adff:	5a                   	pop    %edx
50ae00:	5d                   	pop    %ebp
50ae01:	5f                   	pop    %edi
50ae02:	5e                   	pop    %esi
50ae03:	5b                   	pop    %ebx
50ae04:	c3                   	ret
50ae05:	8d 40 00             	lea    0x0(%eax),%eax
50ae08:	53                   	push   %ebx
50ae09:	8b d8                	mov    %eax,%ebx
50ae0b:	8b c3                	mov    %ebx,%eax
50ae0d:	56                   	push   %esi
50ae0e:	51                   	push   %ecx
50ae0f:	b9 00 20 00 00       	mov    $0x2000,%ecx
50ae14:	8b b3 58 01 00 00    	mov    0x158(%ebx),%esi
50ae1a:	8b 58 04             	mov    0x4(%eax),%ebx
50ae1d:	ba 01 00 00 00       	mov    $0x1,%edx
50ae22:	ff 13                	call   *(%ebx)
50ae24:	89 04 24             	mov    %eax,(%esp)
50ae27:	89 46 08             	mov    %eax,0x8(%esi)
50ae2a:	33 d2                	xor    %edx,%edx
50ae2c:	8b 0c 24             	mov    (%esp),%ecx
50ae2f:	8b c1                	mov    %ecx,%eax
50ae31:	69 ca 8b 4c 00 00    	imul   $0x4c8b,%edx,%ecx
50ae37:	89 08                	mov    %ecx,(%eax)
50ae39:	69 ca 46 96 00 00    	imul   $0x9646,%edx,%ecx
50ae3f:	89 88 00 04 00 00    	mov    %ecx,0x400(%eax)
50ae45:	69 ca 2f 1d 00 00    	imul   $0x1d2f,%edx,%ecx
50ae4b:	81 c1 00 80 00 00    	add    $0x8000,%ecx
50ae51:	89 88 00 08 00 00    	mov    %ecx,0x800(%eax)
50ae57:	69 ca cd d4 ff ff    	imul   $0xffffd4cd,%edx,%ecx
50ae5d:	89 88 00 0c 00 00    	mov    %ecx,0xc00(%eax)
50ae63:	69 ca 33 ab ff ff    	imul   $0xffffab33,%edx,%ecx
50ae69:	89 88 00 10 00 00    	mov    %ecx,0x1000(%eax)
50ae6f:	8b ca                	mov    %edx,%ecx
50ae71:	c1 e1 0f             	shl    $0xf,%ecx
50ae74:	81 c1 ff 7f 80 00    	add    $0x807fff,%ecx
50ae7a:	89 88 00 14 00 00    	mov    %ecx,0x1400(%eax)
50ae80:	69 ca d1 94 ff ff    	imul   $0xffff94d1,%edx,%ecx
50ae86:	89 88 00 18 00 00    	mov    %ecx,0x1800(%eax)
50ae8c:	69 ca 2f eb ff ff    	imul   $0xffffeb2f,%edx,%ecx
50ae92:	89 88 00 1c 00 00    	mov    %ecx,0x1c00(%eax)
50ae98:	42                   	inc    %edx
50ae99:	83 c0 04             	add    $0x4,%eax
50ae9c:	81 fa ff 00 00 00    	cmp    $0xff,%edx
50aea2:	7e 8d                	jle    0x50ae31
50aea4:	5a                   	pop    %edx
50aea5:	5e                   	pop    %esi
50aea6:	5b                   	pop    %ebx
50aea7:	c3                   	ret
50aea8:	55                   	push   %ebp
50aea9:	8b ec                	mov    %esp,%ebp
50aeab:	83 c4 e0             	add    $0xffffffe0,%esp
50aeae:	53                   	push   %ebx
50aeaf:	56                   	push   %esi
50aeb0:	57                   	push   %edi
50aeb1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50aeb4:	89 55 fc             	mov    %edx,-0x4(%ebp)
50aeb7:	8b 90 58 01 00 00    	mov    0x158(%eax),%edx
50aebd:	8b 72 08             	mov    0x8(%edx),%esi
50aec0:	8b 40 18             	mov    0x18(%eax),%eax
50aec3:	89 45 ec             	mov    %eax,-0x14(%ebp)
50aec6:	e9 d1 00 00 00       	jmp    0x50af9c
50aecb:	8b 55 fc             	mov    -0x4(%ebp),%edx
50aece:	8b 02                	mov    (%edx),%eax
50aed0:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
50aed4:	8b 55 f8             	mov    -0x8(%ebp),%edx
50aed7:	8b 0a                	mov    (%edx),%ecx
50aed9:	8b 55 0c             	mov    0xc(%ebp),%edx
50aedc:	8b 14 91             	mov    (%ecx,%edx,4),%edx
50aedf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50aee2:	8b 49 04             	mov    0x4(%ecx),%ecx
50aee5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50aee8:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
50aeeb:	8b 5d f8             	mov    -0x8(%ebp),%ebx
50aeee:	8b 5b 08             	mov    0x8(%ebx),%ebx
50aef1:	8b 7d 0c             	mov    0xc(%ebp),%edi
50aef4:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
50aef7:	ff 45 0c             	incl   0xc(%ebp)
50aefa:	33 ff                	xor    %edi,%edi
50aefc:	89 7d f0             	mov    %edi,-0x10(%ebp)
50aeff:	89 5d e0             	mov    %ebx,-0x20(%ebp)
50af02:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
50af05:	89 55 e8             	mov    %edx,-0x18(%ebp)
50af08:	8b 55 f0             	mov    -0x10(%ebp),%edx
50af0b:	3b 55 ec             	cmp    -0x14(%ebp),%edx
50af0e:	0f 83 88 00 00 00    	jae    0x50af9c
50af14:	33 d2                	xor    %edx,%edx
50af16:	33 c9                	xor    %ecx,%ecx
50af18:	8a 50 02             	mov    0x2(%eax),%dl
50af1b:	33 db                	xor    %ebx,%ebx
50af1d:	8a 48 01             	mov    0x1(%eax),%cl
50af20:	8a 18                	mov    (%eax),%bl
50af22:	89 5d f4             	mov    %ebx,-0xc(%ebp)
50af25:	83 c0 03             	add    $0x3,%eax
50af28:	8b 1c 96             	mov    (%esi,%edx,4),%ebx
50af2b:	8b 7d f4             	mov    -0xc(%ebp),%edi
50af2e:	03 9c 8e 00 04 00 00 	add    0x400(%esi,%ecx,4),%ebx
50af35:	03 9c be 00 08 00 00 	add    0x800(%esi,%edi,4),%ebx
50af3c:	8b 7d e8             	mov    -0x18(%ebp),%edi
50af3f:	c1 fb 10             	sar    $0x10,%ebx
50af42:	88 1f                	mov    %bl,(%edi)
50af44:	8b 9c 96 00 0c 00 00 	mov    0xc00(%esi,%edx,4),%ebx
50af4b:	8b 7d f4             	mov    -0xc(%ebp),%edi
50af4e:	03 9c 8e 00 10 00 00 	add    0x1000(%esi,%ecx,4),%ebx
50af55:	03 9c be 00 14 00 00 	add    0x1400(%esi,%edi,4),%ebx
50af5c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
50af5f:	c1 fb 10             	sar    $0x10,%ebx
50af62:	88 1f                	mov    %bl,(%edi)
50af64:	8b 94 96 00 14 00 00 	mov    0x1400(%esi,%edx,4),%edx
50af6b:	03 94 8e 00 18 00 00 	add    0x1800(%esi,%ecx,4),%edx
50af72:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50af75:	03 94 8e 00 1c 00 00 	add    0x1c00(%esi,%ecx,4),%edx
50af7c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
50af7f:	c1 fa 10             	sar    $0x10,%edx
50af82:	88 11                	mov    %dl,(%ecx)
50af84:	ff 45 f0             	incl   -0x10(%ebp)
50af87:	ff 45 e0             	incl   -0x20(%ebp)
50af8a:	ff 45 e4             	incl   -0x1c(%ebp)
50af8d:	ff 45 e8             	incl   -0x18(%ebp)
50af90:	8b 55 f0             	mov    -0x10(%ebp),%edx
50af93:	3b 55 ec             	cmp    -0x14(%ebp),%edx
50af96:	0f 82 78 ff ff ff    	jb     0x50af14
50af9c:	ff 4d 08             	decl   0x8(%ebp)
50af9f:	0f 89 26 ff ff ff    	jns    0x50aecb
50afa5:	5f                   	pop    %edi
50afa6:	5e                   	pop    %esi
50afa7:	5b                   	pop    %ebx
50afa8:	8b e5                	mov    %ebp,%esp
50afaa:	5d                   	pop    %ebp
50afab:	c2 08 00             	ret    $0x8
50afae:	90                   	nop
50afaf:	90                   	nop
50afb0:	55                   	push   %ebp
50afb1:	8b ec                	mov    %esp,%ebp
50afb3:	83 c4 e8             	add    $0xffffffe8,%esp
50afb6:	53                   	push   %ebx
50afb7:	56                   	push   %esi
50afb8:	57                   	push   %edi
50afb9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50afbc:	89 55 fc             	mov    %edx,-0x4(%ebp)
50afbf:	8b 90 58 01 00 00    	mov    0x158(%eax),%edx
50afc5:	8b 72 08             	mov    0x8(%edx),%esi
50afc8:	8b 40 18             	mov    0x18(%eax),%eax
50afcb:	89 45 e8             	mov    %eax,-0x18(%ebp)
50afce:	eb 5e                	jmp    0x50b02e
50afd0:	8b 55 fc             	mov    -0x4(%ebp),%edx
50afd3:	8b 02                	mov    (%edx),%eax
50afd5:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
50afd9:	8b 55 f8             	mov    -0x8(%ebp),%edx
50afdc:	8b 0a                	mov    (%edx),%ecx
50afde:	8b 55 0c             	mov    0xc(%ebp),%edx
50afe1:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
50afe4:	ff 45 0c             	incl   0xc(%ebp)
50afe7:	33 d2                	xor    %edx,%edx
50afe9:	3b 55 e8             	cmp    -0x18(%ebp),%edx
50afec:	73 40                	jae    0x50b02e
50afee:	33 db                	xor    %ebx,%ebx
50aff0:	42                   	inc    %edx
50aff1:	8a 58 02             	mov    0x2(%eax),%bl
50aff4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
50aff7:	33 db                	xor    %ebx,%ebx
50aff9:	8a 58 01             	mov    0x1(%eax),%bl
50affc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
50afff:	33 db                	xor    %ebx,%ebx
50b001:	8a 18                	mov    (%eax),%bl
50b003:	83 c0 03             	add    $0x3,%eax
50b006:	89 5d ec             	mov    %ebx,-0x14(%ebp)
50b009:	8b 5d f4             	mov    -0xc(%ebp),%ebx
50b00c:	8b 7d f0             	mov    -0x10(%ebp),%edi
50b00f:	8b 1c 9e             	mov    (%esi,%ebx,4),%ebx
50b012:	03 9c be 00 04 00 00 	add    0x400(%esi,%edi,4),%ebx
50b019:	8b 7d ec             	mov    -0x14(%ebp),%edi
50b01c:	03 9c be 00 08 00 00 	add    0x800(%esi,%edi,4),%ebx
50b023:	c1 fb 10             	sar    $0x10,%ebx
50b026:	88 19                	mov    %bl,(%ecx)
50b028:	41                   	inc    %ecx
50b029:	3b 55 e8             	cmp    -0x18(%ebp),%edx
50b02c:	72 c0                	jb     0x50afee
50b02e:	ff 4d 08             	decl   0x8(%ebp)
50b031:	79 9d                	jns    0x50afd0
50b033:	5f                   	pop    %edi
50b034:	5e                   	pop    %esi
50b035:	5b                   	pop    %ebx
50b036:	8b e5                	mov    %ebp,%esp
50b038:	5d                   	pop    %ebp
50b039:	c2 08 00             	ret    $0x8
50b03c:	55                   	push   %ebp
50b03d:	8b ec                	mov    %esp,%ebp
50b03f:	83 c4 d8             	add    $0xffffffd8,%esp
50b042:	53                   	push   %ebx
50b043:	56                   	push   %esi
50b044:	57                   	push   %edi
50b045:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b048:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b04b:	8b 90 58 01 00 00    	mov    0x158(%eax),%edx
50b051:	8b 72 08             	mov    0x8(%edx),%esi
50b054:	8b 40 18             	mov    0x18(%eax),%eax
50b057:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b05a:	e9 0e 01 00 00       	jmp    0x50b16d
50b05f:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b062:	8b 02                	mov    (%edx),%eax
50b064:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
50b068:	8b 55 f8             	mov    -0x8(%ebp),%edx
50b06b:	8b 0a                	mov    (%edx),%ecx
50b06d:	8b 55 0c             	mov    0xc(%ebp),%edx
50b070:	8b 14 91             	mov    (%ecx,%edx,4),%edx
50b073:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50b076:	8b 49 04             	mov    0x4(%ecx),%ecx
50b079:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50b07c:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
50b07f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
50b082:	8b 5b 08             	mov    0x8(%ebx),%ebx
50b085:	8b 7d 0c             	mov    0xc(%ebp),%edi
50b088:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
50b08b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
50b08e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
50b091:	8b 5b 0c             	mov    0xc(%ebx),%ebx
50b094:	8b 7d 0c             	mov    0xc(%ebp),%edi
50b097:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
50b09a:	ff 45 0c             	incl   0xc(%ebp)
50b09d:	33 ff                	xor    %edi,%edi
50b09f:	89 7d ec             	mov    %edi,-0x14(%ebp)
50b0a2:	8b 7d f0             	mov    -0x10(%ebp),%edi
50b0a5:	89 7d d8             	mov    %edi,-0x28(%ebp)
50b0a8:	89 4d dc             	mov    %ecx,-0x24(%ebp)
50b0ab:	89 55 e0             	mov    %edx,-0x20(%ebp)
50b0ae:	8b d3                	mov    %ebx,%edx
50b0b0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
50b0b3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50b0b6:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
50b0b9:	0f 83 ae 00 00 00    	jae    0x50b16d
50b0bf:	33 d2                	xor    %edx,%edx
50b0c1:	bf ff 00 00 00       	mov    $0xff,%edi
50b0c6:	8a 10                	mov    (%eax),%dl
50b0c8:	52                   	push   %edx
50b0c9:	ba ff 00 00 00       	mov    $0xff,%edx
50b0ce:	59                   	pop    %ecx
50b0cf:	2b d1                	sub    %ecx,%edx
50b0d1:	33 c9                	xor    %ecx,%ecx
50b0d3:	8a 48 01             	mov    0x1(%eax),%cl
50b0d6:	51                   	push   %ecx
50b0d7:	b9 ff 00 00 00       	mov    $0xff,%ecx
50b0dc:	5b                   	pop    %ebx
50b0dd:	2b cb                	sub    %ebx,%ecx
50b0df:	33 db                	xor    %ebx,%ebx
50b0e1:	8a 58 02             	mov    0x2(%eax),%bl
50b0e4:	2b fb                	sub    %ebx,%edi
50b0e6:	89 7d f4             	mov    %edi,-0xc(%ebp)
50b0e9:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50b0ec:	8b fb                	mov    %ebx,%edi
50b0ee:	8a 58 03             	mov    0x3(%eax),%bl
50b0f1:	83 c0 04             	add    $0x4,%eax
50b0f4:	88 1f                	mov    %bl,(%edi)
50b0f6:	8b 1c 96             	mov    (%esi,%edx,4),%ebx
50b0f9:	8b 7d f4             	mov    -0xc(%ebp),%edi
50b0fc:	03 9c 8e 00 04 00 00 	add    0x400(%esi,%ecx,4),%ebx
50b103:	03 9c be 00 08 00 00 	add    0x800(%esi,%edi,4),%ebx
50b10a:	8b 7d e0             	mov    -0x20(%ebp),%edi
50b10d:	c1 fb 10             	sar    $0x10,%ebx
50b110:	88 1f                	mov    %bl,(%edi)
50b112:	8b 9c 96 00 0c 00 00 	mov    0xc00(%esi,%edx,4),%ebx
50b119:	8b 7d f4             	mov    -0xc(%ebp),%edi
50b11c:	03 9c 8e 00 10 00 00 	add    0x1000(%esi,%ecx,4),%ebx
50b123:	03 9c be 00 14 00 00 	add    0x1400(%esi,%edi,4),%ebx
50b12a:	8b 7d dc             	mov    -0x24(%ebp),%edi
50b12d:	c1 fb 10             	sar    $0x10,%ebx
50b130:	88 1f                	mov    %bl,(%edi)
50b132:	8b 94 96 00 14 00 00 	mov    0x1400(%esi,%edx,4),%edx
50b139:	03 94 8e 00 18 00 00 	add    0x1800(%esi,%ecx,4),%edx
50b140:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50b143:	03 94 8e 00 1c 00 00 	add    0x1c00(%esi,%ecx,4),%edx
50b14a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50b14d:	c1 fa 10             	sar    $0x10,%edx
50b150:	88 11                	mov    %dl,(%ecx)
50b152:	ff 45 ec             	incl   -0x14(%ebp)