50a97d:	0f be 28             	movsbl (%eax),%ebp
50a980:	40                   	inc    %eax
50a981:	89 44 24 14          	mov    %eax,0x14(%esp)
50a985:	85 f6                	test   %esi,%esi
50a987:	0f 8e ad 02 00 00    	jle    0x50ac3a
50a98d:	0f 1f 00             	nopl   (%eax)
50a990:	83 fd 2e             	cmp    $0x2e,%ebp
50a993:	74 09                	je     0x50a99e
50a995:	83 fd 20             	cmp    $0x20,%ebp
50a998:	0f 85 1e 02 00 00    	jne    0x50abbc
50a99e:	33 d2                	xor    %edx,%edx
50a9a0:	33 db                	xor    %ebx,%ebx
50a9a2:	89 54 24 1c          	mov    %edx,0x1c(%esp)
50a9a6:	85 f6                	test   %esi,%esi
50a9a8:	0f 8e b1 00 00 00    	jle    0x50aa5f
50a9ae:	66 90                	xchg   %ax,%ax
50a9b0:	0f be 28             	movsbl (%eax),%ebp
50a9b3:	4e                   	dec    %esi
50a9b4:	40                   	inc    %eax
50a9b5:	89 74 24 58          	mov    %esi,0x58(%esp)
50a9b9:	89 44 24 14          	mov    %eax,0x14(%esp)
50a9bd:	83 fd 20             	cmp    $0x20,%ebp
50a9c0:	0f 84 95 00 00 00    	je     0x50aa5b
50a9c6:	83 fd 2e             	cmp    $0x2e,%ebp
50a9c9:	0f 84 8c 00 00 00    	je     0x50aa5b
50a9cf:	6a 04                	push   $0x4
50a9d1:	55                   	push   %ebp
50a9d2:	e8 c9 96 fd ff       	call   0x4e40a0
50a9d7:	83 c4 08             	add    $0x8,%esp
50a9da:	85 c0                	test   %eax,%eax
50a9dc:	0f 84 e8 01 00 00    	je     0x50abca
50a9e2:	8b 54 24 1c          	mov    0x1c(%esp),%edx
50a9e6:	85 d2                	test   %edx,%edx
50a9e8:	75 39                	jne    0x50aa23
50a9ea:	81 fb 91 99 99 19    	cmp    $0x19999991,%ebx
50a9f0:	0f 82 a4 00 00 00    	jb     0x50aa9a
50a9f6:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
50a9fd:	00
50a9fe:	85 ff                	test   %edi,%edi
50aa00:	75 0f                	jne    0x50aa11
50aa02:	e8 d9 f3 fc ff       	call   0x4d9de0
50aa07:	8b f8                	mov    %eax,%edi
50aa09:	85 ff                	test   %edi,%edi
50aa0b:	0f 84 ed 01 00 00    	je     0x50abfe
50aa11:	53                   	push   %ebx
50aa12:	57                   	push   %edi
50aa13:	e8 c8 f6 fc ff       	call   0x4da0e0
50aa18:	83 c4 08             	add    $0x8,%esp
50aa1b:	85 c0                	test   %eax,%eax
50aa1d:	0f 84 db 01 00 00    	je     0x50abfe
50aa23:	6a 0a                	push   $0xa
50aa25:	57                   	push   %edi
50aa26:	e8 05 1e ff ff       	call   0x4fc830
50aa2b:	83 c4 08             	add    $0x8,%esp
50aa2e:	85 c0                	test   %eax,%eax
50aa30:	0f 84 c8 01 00 00    	je     0x50abfe
50aa36:	8d 45 d0             	lea    -0x30(%ebp),%eax
50aa39:	50                   	push   %eax
50aa3a:	57                   	push   %edi
50aa3b:	e8 50 1b ff ff       	call   0x4fc590
50aa40:	83 c4 08             	add    $0x8,%esp
50aa43:	85 c0                	test   %eax,%eax
50aa45:	0f 84 b3 01 00 00    	je     0x50abfe
50aa4b:	8b 54 24 1c          	mov    0x1c(%esp),%edx
50aa4f:	8b 44 24 14          	mov    0x14(%esp),%eax
50aa53:	85 f6                	test   %esi,%esi
50aa55:	0f 8f 55 ff ff ff    	jg     0x50a9b0
50aa5b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50aa5f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
50aa64:	0f 85 94 00 00 00    	jne    0x50aafe
50aa6a:	8b 44 24 24          	mov    0x24(%esp),%eax
50aa6e:	83 f8 02             	cmp    $0x2,%eax
50aa71:	7d 09                	jge    0x50aa7c
50aa73:	83 fb 28             	cmp    $0x28,%ebx
50aa76:	0f 83 5c 01 00 00    	jae    0x50abd8
50aa7c:	8d 04 80             	lea    (%eax,%eax,4),%eax
50aa7f:	c1 e0 03             	shl    $0x3,%eax
50aa82:	85 d2                	test   %edx,%edx
50aa84:	74 22                	je     0x50aaa8
50aa86:	50                   	push   %eax
50aa87:	57                   	push   %edi
50aa88:	e8 03 1b ff ff       	call   0x4fc590
50aa8d:	83 c4 08             	add    $0x8,%esp
50aa90:	85 c0                	test   %eax,%eax
50aa92:	0f 84 66 01 00 00    	je     0x50abfe
50aa98:	eb 68                	jmp    0x50ab02
50aa9a:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
50aa9d:	8d 1c 45 d0 ff ff ff 	lea    -0x30(,%eax,2),%ebx
50aaa4:	03 dd                	add    %ebp,%ebx
50aaa6:	eb a7                	jmp    0x50aa4f
50aaa8:	03 d8                	add    %eax,%ebx
50aaaa:	33 f6                	xor    %esi,%esi
50aaac:	0f 1f 40 00          	nopl   0x0(%eax)
50aab0:	8a c3                	mov    %bl,%al
50aab2:	c1 eb 07             	shr    $0x7,%ebx
50aab5:	24 7f                	and    $0x7f,%al
50aab7:	88 04 0e             	mov    %al,(%esi,%ecx,1)
50aaba:	46                   	inc    %esi
50aabb:	85 db                	test   %ebx,%ebx
50aabd:	75 f1                	jne    0x50aab0
50aabf:	8b 5c 24 18          	mov    0x18(%esp),%ebx
50aac3:	8b 54 24 28          	mov    0x28(%esp),%edx
50aac7:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
50aaca:	85 d2                	test   %edx,%edx
50aacc:	0f 84 d3 00 00 00    	je     0x50aba5
50aad2:	3b 44 24 50          	cmp    0x50(%esp),%eax
50aad6:	0f 8f 0a 01 00 00    	jg     0x50abe6
50aadc:	4e                   	dec    %esi
50aadd:	85 f6                	test   %esi,%esi
50aadf:	7e 0e                	jle    0x50aaef
50aae1:	8a 04 0e             	mov    (%esi,%ecx,1),%al
50aae4:	4e                   	dec    %esi
50aae5:	0c 80                	or     $0x80,%al
50aae7:	88 04 1a             	mov    %al,(%edx,%ebx,1)
50aaea:	43                   	inc    %ebx
50aaeb:	85 f6                	test   %esi,%esi
50aaed:	7f f2                	jg     0x50aae1
50aaef:	8a 01                	mov    (%ecx),%al
50aaf1:	88 04 1a             	mov    %al,(%edx,%ebx,1)
50aaf4:	43                   	inc    %ebx
50aaf5:	89 5c 24 18          	mov    %ebx,0x18(%esp)
50aaf9:	e9 ad 00 00 00       	jmp    0x50abab
50aafe:	85 d2                	test   %edx,%edx
50ab00:	74 a8                	je     0x50aaaa
50ab02:	57                   	push   %edi
50ab03:	e8 18 f3 fc ff       	call   0x4d9e20
50ab08:	83 c4 04             	add    $0x4,%esp
50ab0b:	8d 48 06             	lea    0x6(%eax),%ecx
50ab0e:	b8 93 24 49 92       	mov    $0x92492493,%eax
50ab13:	f7 e9                	imul   %ecx
50ab15:	03 d1                	add    %ecx,%edx
50ab17:	c1 fa 02             	sar    $0x2,%edx
50ab1a:	8b da                	mov    %edx,%ebx
50ab1c:	c1 eb 1f             	shr    $0x1f,%ebx
50ab1f:	03 da                	add    %edx,%ebx
50ab21:	3b 5c 24 20          	cmp    0x20(%esp),%ebx
50ab25:	7e 49                	jle    0x50ab70
50ab27:	8b 44 24 10          	mov    0x10(%esp),%eax
50ab2b:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
50ab2f:	3b c1                	cmp    %ecx,%eax
50ab31:	74 13                	je     0x50ab46
50ab33:	68 88 00 00 00       	push   $0x88
50ab38:	68 40 ae 62 00       	push   $0x62ae40
50ab3d:	50                   	push   %eax
50ab3e:	e8 3d 5c fd ff       	call   0x4e0780
50ab43:	83 c4 0c             	add    $0xc,%esp
50ab46:	68 8a 00 00 00       	push   $0x8a
50ab4b:	8d 43 20             	lea    0x20(%ebx),%eax
50ab4e:	68 40 ae 62 00       	push   $0x62ae40
50ab53:	50                   	push   %eax
50ab54:	89 44 24 2c          	mov    %eax,0x2c(%esp)
50ab58:	e8 f3 5b fd ff       	call   0x4e0750
50ab5d:	8b c8                	mov    %eax,%ecx
50ab5f:	83 c4 0c             	add    $0xc,%esp
50ab62:	89 4c 24 10          	mov    %ecx,0x10(%esp)
50ab66:	85 c9                	test   %ecx,%ecx
50ab68:	0f 84 94 00 00 00    	je     0x50ac02
50ab6e:	eb 04                	jmp    0x50ab74
50ab70:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50ab74:	33 f6                	xor    %esi,%esi
50ab76:	85 db                	test   %ebx,%ebx
50ab78:	0f 84 41 ff ff ff    	je     0x50aabf
50ab7e:	66 90                	xchg   %ax,%ax
50ab80:	68 80 00 00 00       	push   $0x80
50ab85:	57                   	push   %edi
50ab86:	4b                   	dec    %ebx
50ab87:	e8 64 1b ff ff       	call   0x4fc6f0
50ab8c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
50ab90:	83 c4 08             	add    $0x8,%esp
50ab93:	83 f8 ff             	cmp    $0xffffffff,%eax
50ab96:	74 6a                	je     0x50ac02
50ab98:	88 04 0e             	mov    %al,(%esi,%ecx,1)
50ab9b:	46                   	inc    %esi
50ab9c:	85 db                	test   %ebx,%ebx
50ab9e:	75 e0                	jne    0x50ab80
50aba0:	e9 1a ff ff ff       	jmp    0x50aabf
50aba5:	8b d8                	mov    %eax,%ebx
50aba7:	89 44 24 18          	mov    %eax,0x18(%esp)
50abab:	8b 74 24 58          	mov    0x58(%esp),%esi
50abaf:	85 f6                	test   %esi,%esi
50abb1:	7e 6c                	jle    0x50ac1f
50abb3:	8b 44 24 14          	mov    0x14(%esp),%eax
50abb7:	e9 d4 fd ff ff       	jmp    0x50a990
50abbc:	6a 57                	push   $0x57
50abbe:	68 40 ae 62 00       	push   $0x62ae40
50abc3:	68 83 00 00 00       	push   $0x83
50abc8:	eb 28                	jmp    0x50abf2
50abca:	6a 64                	push   $0x64
50abcc:	68 40 ae 62 00       	push   $0x62ae40
50abd1:	68 82 00 00 00       	push   $0x82
50abd6:	eb 1a                	jmp    0x50abf2
50abd8:	6a 78                	push   $0x78
50abda:	68 40 ae 62 00       	push   $0x62ae40
50abdf:	68 93 00 00 00       	push   $0x93
50abe4:	eb 0c                	jmp    0x50abf2
50abe6:	68 a0 00 00 00       	push   $0xa0
50abeb:	68 40 ae 62 00       	push   $0x62ae40
50abf0:	6a 6b                	push   $0x6b
50abf2:	6a 64                	push   $0x64
50abf4:	6a 0d                	push   $0xd
50abf6:	e8 85 e3 fc ff       	call   0x4d8f80
50abfb:	83 c4 14             	add    $0x14,%esp
50abfe:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50ac02:	8d 44 24 2c          	lea    0x2c(%esp),%eax
50ac06:	3b c8                	cmp    %eax,%ecx
50ac08:	74 63                	je     0x50ac6d
50ac0a:	68 af 00 00 00       	push   $0xaf
50ac0f:	68 40 ae 62 00       	push   $0x62ae40
50ac14:	51                   	push   %ecx
50ac15:	e8 66 5b fd ff       	call   0x4e0780
50ac1a:	83 c4 0c             	add    $0xc,%esp
50ac1d:	eb 4e                	jmp    0x50ac6d
50ac1f:	8d 44 24 2c          	lea    0x2c(%esp),%eax
50ac23:	3b c8                	cmp    %eax,%ecx
50ac25:	74 13                	je     0x50ac3a
50ac27:	68 aa 00 00 00       	push   $0xaa
50ac2c:	68 40 ae 62 00       	push   $0x62ae40
50ac31:	51                   	push   %ecx
50ac32:	e8 49 5b fd ff       	call   0x4e0780
50ac37:	83 c4 0c             	add    $0xc,%esp
50ac3a:	57                   	push   %edi
50ac3b:	e8 e0 ef fc ff       	call   0x4d9c20
50ac40:	83 c4 04             	add    $0x4,%esp
50ac43:	8b c3                	mov    %ebx,%eax
50ac45:	5d                   	pop    %ebp
50ac46:	5f                   	pop    %edi
50ac47:	5e                   	pop    %esi
50ac48:	5b                   	pop    %ebx
50ac49:	8b 4c 24 34          	mov    0x34(%esp),%ecx
50ac4d:	33 cc                	xor    %esp,%ecx
50ac4f:	e8 d2 6d 0c 00       	call   0x5d1a26
50ac54:	83 c4 38             	add    $0x38,%esp
50ac57:	c3                   	ret
50ac58:	6a 49                	push   $0x49
50ac5a:	68 40 ae 62 00       	push   $0x62ae40
50ac5f:	6a 7a                	push   $0x7a
50ac61:	6a 64                	push   $0x64
50ac63:	6a 0d                	push   $0xd
50ac65:	e8 16 e3 fc ff       	call   0x4d8f80
50ac6a:	83 c4 14             	add    $0x14,%esp
50ac6d:	57                   	push   %edi
50ac6e:	e8 ad ef fc ff       	call   0x4d9c20
50ac73:	8b 4c 24 48          	mov    0x48(%esp),%ecx
50ac77:	83 c4 04             	add    $0x4,%esp
50ac7a:	33 c0                	xor    %eax,%eax
50ac7c:	5d                   	pop    %ebp
50ac7d:	5f                   	pop    %edi
50ac7e:	5e                   	pop    %esi
50ac7f:	5b                   	pop    %ebx
50ac80:	33 cc                	xor    %esp,%ecx
50ac82:	e8 9f 6d 0c 00       	call   0x5d1a26
50ac87:	83 c4 38             	add    $0x38,%esp
50ac8a:	c3                   	ret
50ac8b:	cc                   	int3
50ac8c:	cc                   	int3
50ac8d:	cc                   	int3
50ac8e:	cc                   	int3
50ac8f:	cc                   	int3
50ac90:	b8 20 00 00 00       	mov    $0x20,%eax
50ac95:	e8 16 6b 0c 00       	call   0x5d17b0
50ac9a:	55                   	push   %ebp
50ac9b:	56                   	push   %esi
50ac9c:	57                   	push   %edi
50ac9d:	8b 7c 24 38          	mov    0x38(%esp),%edi
50aca1:	85 ff                	test   %edi,%edi
50aca3:	0f 8e e6 01 00 00    	jle    0x50ae8f
50aca9:	8b 6c 24 34          	mov    0x34(%esp),%ebp
50acad:	85 ed                	test   %ebp,%ebp
50acaf:	0f 84 da 01 00 00    	je     0x50ae8f
50acb5:	8b 75 00             	mov    0x0(%ebp),%esi
50acb8:	85 f6                	test   %esi,%esi
50acba:	0f 84 cf 01 00 00    	je     0x50ae8f
50acc0:	80 7c 3e ff 00       	cmpb   $0x0,-0x1(%esi,%edi,1)
50acc5:	0f 8c c4 01 00 00    	jl     0x50ae8f
50accb:	8d 44 24 14          	lea    0x14(%esp),%eax
50accf:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
50acd6:	00
50acd7:	53                   	push   %ebx
50acd8:	50                   	push   %eax
50acd9:	89 74 24 2c          	mov    %esi,0x2c(%esp)
50acdd:	89 7c 24 28          	mov    %edi,0x28(%esp)
50ace1:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
50ace8:	00
50ace9:	e8 12 49 fe ff       	call   0x4ef600
50acee:	83 c4 04             	add    $0x4,%esp
50acf1:	85 c0                	test   %eax,%eax
50acf3:	74 2c                	je     0x50ad21
50acf5:	50                   	push   %eax
50acf6:	e8 e5 47 fe ff       	call   0x4ef4e0
50acfb:	8b 74 24 38          	mov    0x38(%esp),%esi
50acff:	83 c4 04             	add    $0x4,%esp
50ad02:	8b d8                	mov    %eax,%ebx
50ad04:	85 f6                	test   %esi,%esi
50ad06:	74 0c                	je     0x50ad14
50ad08:	ff 36                	push   (%esi)
50ad0a:	e8 01 fb ff ff       	call   0x50a810
50ad0f:	83 c4 04             	add    $0x4,%esp
50ad12:	89 1e                	mov    %ebx,(%esi)
50ad14:	01 7d 00             	add    %edi,0x0(%ebp)
50ad17:	8b c3                	mov    %ebx,%eax
50ad19:	5b                   	pop    %ebx
50ad1a:	5f                   	pop    %edi
50ad1b:	5e                   	pop    %esi
50ad1c:	5d                   	pop    %ebp
50ad1d:	83 c4 20             	add    $0x20,%esp
50ad20:	c3                   	ret
50ad21:	33 c0                	xor    %eax,%eax
50ad23:	80 3e 80             	cmpb   $0x80,(%esi)
50ad26:	75 0a                	jne    0x50ad32
50ad28:	85 c0                	test   %eax,%eax
50ad2a:	74 5c                	je     0x50ad88
50ad2c:	80 7e ff 00          	cmpb   $0x0,-0x1(%esi)
50ad30:	7d 56                	jge    0x50ad88
50ad32:	40                   	inc    %eax
50ad33:	46                   	inc    %esi
50ad34:	3b c7                	cmp    %edi,%eax
50ad36:	7c eb                	jl     0x50ad23
50ad38:	8b 5c 24 34          	mov    0x34(%esp),%ebx
50ad3c:	85 db                	test   %ebx,%ebx
50ad3e:	74 0c                	je     0x50ad4c
50ad40:	8b 33                	mov    (%ebx),%esi
50ad42:	85 f6                	test   %esi,%esi
50ad44:	74 06                	je     0x50ad4c
50ad46:	f6 46 14 01          	testb  $0x1,0x14(%esi)
50ad4a:	75 6b                	jne    0x50adb7
50ad4c:	68 53 01 00 00       	push   $0x153
50ad51:	68 40 ae 62 00       	push   $0x62ae40
50ad56:	6a 18                	push   $0x18
50ad58:	e8 e3 5c fd ff       	call   0x4e0a40
50ad5d:	8b f0                	mov    %eax,%esi
50ad5f:	83 c4 0c             	add    $0xc,%esp
50ad62:	85 f6                	test   %esi,%esi
50ad64:	75 4a                	jne    0x50adb0
50ad66:	68 55 01 00 00       	push   $0x155
50ad6b:	68 40 ae 62 00       	push   $0x62ae40
50ad70:	6a 41                	push   $0x41
50ad72:	6a 7b                	push   $0x7b
50ad74:	6a 0d                	push   $0xd
50ad76:	e8 05 e2 fc ff       	call   0x4d8f80
50ad7b:	83 c4 14             	add    $0x14,%esp
50ad7e:	5b                   	pop    %ebx
50ad7f:	5f                   	pop    %edi
50ad80:	5e                   	pop    %esi
50ad81:	33 c0                	xor    %eax,%eax
50ad83:	5d                   	pop    %ebp
50ad84:	83 c4 20             	add    $0x20,%esp
50ad87:	c3                   	ret
50ad88:	68 1c 01 00 00       	push   $0x11c
50ad8d:	68 40 ae 62 00       	push   $0x62ae40
50ad92:	68 d8 00 00 00       	push   $0xd8