5009c6:	be 01 00 00 00       	mov    $0x1,%esi
5009cb:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
5009cf:	3b d6                	cmp    %esi,%edx
5009d1:	0f 8e 7d 00 00 00    	jle    0x500a54
5009d7:	8b c5                	mov    %ebp,%eax
5009d9:	2b c7                	sub    %edi,%eax
5009db:	83 c0 f5             	add    $0xfffffff5,%eax
5009de:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5009e2:	23 c6                	and    %esi,%eax
5009e4:	8b fd                	mov    %ebp,%edi
5009e6:	2b fe                	sub    %esi,%edi
5009e8:	8d 48 ff             	lea    -0x1(%eax),%ecx
5009eb:	f7 d0                	not    %eax
5009ed:	c1 e9 1f             	shr    $0x1f,%ecx
5009f0:	c1 e8 1f             	shr    $0x1f,%eax
5009f3:	23 c8                	and    %eax,%ecx
5009f5:	49                   	dec    %ecx
5009f6:	83 ff 0b             	cmp    $0xb,%edi
5009f9:	7e 47                	jle    0x500a42
5009fb:	0f b6 e9             	movzbl %cl,%ebp
5009fe:	8d 43 0b             	lea    0xb(%ebx),%eax
500a01:	89 6c 24 30          	mov    %ebp,0x30(%esp)
500a05:	83 c7 f5             	add    $0xfffffff5,%edi
500a08:	8b 5c 24 30          	mov    0x30(%esp),%ebx
500a0c:	f7 d5                	not    %ebp
500a0e:	66 90                	xchg   %ax,%ax
500a10:	89 5c 24 30          	mov    %ebx,0x30(%esp)
500a14:	8d 40 01             	lea    0x1(%eax),%eax
500a17:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
500a1b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
500a1f:	8a 54 30 ff          	mov    -0x1(%eax,%esi,1),%dl
500a23:	22 d1                	and    %cl,%dl
500a25:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
500a29:	22 48 ff             	and    -0x1(%eax),%cl
500a2c:	0a ca                	or     %dl,%cl
500a2e:	88 48 ff             	mov    %cl,-0x1(%eax)
500a31:	83 ef 01             	sub    $0x1,%edi
500a34:	75 da                	jne    0x500a10
500a36:	8b 5c 24 24          	mov    0x24(%esp),%ebx
500a3a:	8b 6c 24 48          	mov    0x48(%esp),%ebp
500a3e:	8b 54 24 28          	mov    0x28(%esp),%edx
500a42:	8b 44 24 1c          	mov    0x1c(%esp),%eax
500a46:	03 f6                	add    %esi,%esi
500a48:	3b f2                	cmp    %edx,%esi
500a4a:	7c 96                	jl     0x5009e2
500a4c:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
500a50:	8b 7c 24 20          	mov    0x20(%esp),%edi
500a54:	33 d2                	xor    %edx,%edx
500a56:	85 c9                	test   %ecx,%ecx
500a58:	7e 5e                	jle    0x500ab8
500a5a:	8b 6c 24 38          	mov    0x38(%esp),%ebp
500a5e:	8b cf                	mov    %edi,%ecx
500a60:	c1 e9 1f             	shr    $0x1f,%ecx
500a63:	8b f7                	mov    %edi,%esi
500a65:	8d 7b 0b             	lea    0xb(%ebx),%edi
500a68:	89 4c 24 28          	mov    %ecx,0x28(%esp)
500a6c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
500a70:	f7 de                	neg    %esi
500a72:	8b c6                	mov    %esi,%eax
500a74:	46                   	inc    %esi
500a75:	c1 e8 1f             	shr    $0x1f,%eax
500a78:	32 c1                	xor    %cl,%al
500a7a:	0a c1                	or     %cl,%al
500a7c:	f6 d8                	neg    %al
500a7e:	0f b6 c8             	movzbl %al,%ecx
500a81:	0f b6 c3             	movzbl %bl,%eax
500a84:	23 c8                	and    %eax,%ecx
500a86:	89 4c 24 30          	mov    %ecx,0x30(%esp)
500a8a:	f7 d1                	not    %ecx
500a8c:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
500a90:	8b 44 24 30          	mov    0x30(%esp),%eax
500a94:	8a 0c 17             	mov    (%edi,%edx,1),%cl
500a97:	22 c8                	and    %al,%cl
500a99:	8b 44 24 2c          	mov    0x2c(%esp),%eax
500a9d:	22 04 2a             	and    (%edx,%ebp,1),%al
500aa0:	0a c1                	or     %cl,%al
500aa2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
500aa6:	88 04 2a             	mov    %al,(%edx,%ebp,1)
500aa9:	42                   	inc    %edx
500aaa:	3b 54 24 3c          	cmp    0x3c(%esp),%edx
500aae:	7c c2                	jl     0x500a72
500ab0:	8b 5c 24 24          	mov    0x24(%esp),%ebx
500ab4:	8b 6c 24 48          	mov    0x48(%esp),%ebp
500ab8:	68 a5 00 00 00       	push   $0xa5
500abd:	68 70 9c 62 00       	push   $0x629c70
500ac2:	55                   	push   %ebp
500ac3:	53                   	push   %ebx
500ac4:	e8 77 fd fd ff       	call   0x4e0840
500ac9:	68 a6 00 00 00       	push   $0xa6
500ace:	68 70 9c 62 00       	push   $0x629c70
500ad3:	ff 74 24 30          	push   0x30(%esp)
500ad7:	6a 72                	push   $0x72
500ad9:	6a 04                	push   $0x4
500adb:	e8 a0 84 fd ff       	call   0x4d8f80
500ae0:	8b 5c 24 34          	mov    0x34(%esp),%ebx
500ae4:	8b c3                	mov    %ebx,%eax
500ae6:	83 e0 01             	and    $0x1,%eax
500ae9:	50                   	push   %eax
500aea:	e8 71 86 fd ff       	call   0x4d9160
500aef:	83 c4 28             	add    $0x28,%esp
500af2:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
500af6:	f7 d3                	not    %ebx
500af8:	89 5c 24 30          	mov    %ebx,0x30(%esp)
500afc:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
500b00:	23 4c 24 20          	and    0x20(%esp),%ecx
500b04:	8b 44 24 30          	mov    0x30(%esp),%eax
500b08:	5f                   	pop    %edi
500b09:	5b                   	pop    %ebx
500b0a:	5d                   	pop    %ebp
500b0b:	0b c1                	or     %ecx,%eax
500b0d:	5e                   	pop    %esi
500b0e:	83 c4 24             	add    $0x24,%esp
500b11:	c3                   	ret
500b12:	6a 4a                	push   $0x4a
500b14:	68 70 9c 62 00       	push   $0x629c70
500b19:	6a 6f                	push   $0x6f
500b1b:	6a 72                	push   $0x72
500b1d:	6a 04                	push   $0x4
500b1f:	e8 5c 84 fd ff       	call   0x4d8f80
500b24:	83 c4 14             	add    $0x14,%esp
500b27:	83 c8 ff             	or     $0xffffffff,%eax
500b2a:	5d                   	pop    %ebp
500b2b:	5e                   	pop    %esi
500b2c:	83 c4 24             	add    $0x24,%esp
500b2f:	c3                   	ret
500b30:	83 c8 ff             	or     $0xffffffff,%eax
500b33:	5e                   	pop    %esi
500b34:	83 c4 24             	add    $0x24,%esp
500b37:	c3                   	ret
500b38:	cc                   	int3
500b39:	cc                   	int3
500b3a:	cc                   	int3
500b3b:	cc                   	int3
500b3c:	cc                   	int3
500b3d:	cc                   	int3
500b3e:	cc                   	int3
500b3f:	cc                   	int3
500b40:	8b 44 24 10          	mov    0x10(%esp),%eax
500b44:	3b 44 24 08          	cmp    0x8(%esp),%eax
500b48:	7e 18                	jle    0x500b62
500b4a:	6a 12                	push   $0x12
500b4c:	68 88 9c 62 00       	push   $0x629c88
500b51:	6a 6e                	push   $0x6e
500b53:	6a 6b                	push   $0x6b
500b55:	6a 04                	push   $0x4
500b57:	e8 24 84 fd ff       	call   0x4d8f80
500b5c:	83 c4 14             	add    $0x14,%esp
500b5f:	33 c0                	xor    %eax,%eax
500b61:	c3                   	ret
500b62:	7d 18                	jge    0x500b7c
500b64:	6a 17                	push   $0x17
500b66:	68 88 9c 62 00       	push   $0x629c88
500b6b:	6a 7a                	push   $0x7a
500b6d:	6a 6b                	push   $0x6b
500b6f:	6a 04                	push   $0x4
500b71:	e8 0a 84 fd ff       	call   0x4d8f80
500b76:	83 c4 14             	add    $0x14,%esp
500b79:	33 c0                	xor    %eax,%eax
500b7b:	c3                   	ret
500b7c:	50                   	push   %eax
500b7d:	ff 74 24 10          	push   0x10(%esp)
500b81:	ff 74 24 0c          	push   0xc(%esp)
500b85:	e8 46 22 0d 00       	call   0x5d2dd0
500b8a:	83 c4 0c             	add    $0xc,%esp
500b8d:	b8 01 00 00 00       	mov    $0x1,%eax
500b92:	c3                   	ret
500b93:	cc                   	int3
500b94:	cc                   	int3
500b95:	cc                   	int3
500b96:	cc                   	int3
500b97:	cc                   	int3
500b98:	cc                   	int3
500b99:	cc                   	int3
500b9a:	cc                   	int3
500b9b:	cc                   	int3
500b9c:	cc                   	int3
500b9d:	cc                   	int3
500b9e:	cc                   	int3
500b9f:	cc                   	int3
500ba0:	8b 44 24 04          	mov    0x4(%esp),%eax
500ba4:	3d a1 02 00 00       	cmp    $0x2a1,%eax
500ba9:	7f 20                	jg     0x500bcb
500bab:	74 18                	je     0x500bc5
500bad:	83 f8 40             	cmp    $0x40,%eax
500bb0:	74 0d                	je     0x500bbf
500bb2:	3d a0 02 00 00       	cmp    $0x2a0,%eax
500bb7:	75 19                	jne    0x500bd2
500bb9:	b8 34 00 00 00       	mov    $0x34,%eax
500bbe:	c3                   	ret
500bbf:	b8 33 00 00 00       	mov    $0x33,%eax
500bc4:	c3                   	ret
500bc5:	b8 36 00 00 00       	mov    $0x36,%eax
500bca:	c3                   	ret
500bcb:	3d a2 02 00 00       	cmp    $0x2a2,%eax
500bd0:	74 04                	je     0x500bd6
500bd2:	83 c8 ff             	or     $0xffffffff,%eax
500bd5:	c3                   	ret
500bd6:	b8 35 00 00 00       	mov    $0x35,%eax
500bdb:	c3                   	ret
500bdc:	cc                   	int3
500bdd:	cc                   	int3
500bde:	cc                   	int3
500bdf:	cc                   	int3
500be0:	53                   	push   %ebx
500be1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
500be5:	57                   	push   %edi
500be6:	8b 7c 24 10          	mov    0x10(%esp),%edi
500bea:	2b fb                	sub    %ebx,%edi
500bec:	83 ef 02             	sub    $0x2,%edi
500bef:	79 1b                	jns    0x500c0c
500bf1:	6a 1e                	push   $0x1e
500bf3:	68 a0 9c 62 00       	push   $0x629ca0
500bf8:	6a 6e                	push   $0x6e
500bfa:	6a 7f                	push   $0x7f
500bfc:	6a 04                	push   $0x4
500bfe:	e8 7d 83 fd ff       	call   0x4d8f80
500c03:	83 c4 14             	add    $0x14,%esp
500c06:	83 c8 ff             	or     $0xffffffff,%eax
500c09:	5f                   	pop    %edi
500c0a:	5b                   	pop    %ebx
500c0b:	c3                   	ret
500c0c:	8b 44 24 0c          	mov    0xc(%esp),%eax
500c10:	56                   	push   %esi
500c11:	8d 70 01             	lea    0x1(%eax),%esi
500c14:	85 ff                	test   %edi,%edi
500c16:	75 05                	jne    0x500c1d
500c18:	c6 00 6a             	movb   $0x6a,(%eax)
500c1b:	eb 21                	jmp    0x500c3e
500c1d:	c6 00 6b             	movb   $0x6b,(%eax)
500c20:	83 ff 01             	cmp    $0x1,%edi
500c23:	7e 15                	jle    0x500c3a
500c25:	8d 47 ff             	lea    -0x1(%edi),%eax
500c28:	50                   	push   %eax
500c29:	68 bb 00 00 00       	push   $0xbb
500c2e:	56                   	push   %esi
500c2f:	e8 3c 20 0d 00       	call   0x5d2c70
500c34:	4e                   	dec    %esi
500c35:	83 c4 0c             	add    $0xc,%esp
500c38:	03 f7                	add    %edi,%esi
500c3a:	c6 06 ba             	movb   $0xba,(%esi)
500c3d:	46                   	inc    %esi
500c3e:	53                   	push   %ebx
500c3f:	ff 74 24 1c          	push   0x1c(%esp)
500c43:	56                   	push   %esi
500c44:	e8 87 21 0d 00       	call   0x5d2dd0
500c49:	83 c4 0c             	add    $0xc,%esp
500c4c:	c6 04 1e cc          	movb   $0xcc,(%esi,%ebx,1)
500c50:	b8 01 00 00 00       	mov    $0x1,%eax
500c55:	5e                   	pop    %esi
500c56:	5f                   	pop    %edi
500c57:	5b                   	pop    %ebx
500c58:	c3                   	ret
500c59:	cc                   	int3
500c5a:	cc                   	int3
500c5b:	cc                   	int3
500c5c:	cc                   	int3
500c5d:	cc                   	int3
500c5e:	cc                   	int3
500c5f:	cc                   	int3
500c60:	56                   	push   %esi
500c61:	8b 74 24 14          	mov    0x14(%esp),%esi
500c65:	39 74 24 18          	cmp    %esi,0x18(%esp)
500c69:	0f 85 b4 00 00 00    	jne    0x500d23
500c6f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
500c73:	8a 01                	mov    (%ecx),%al
500c75:	3c 6a                	cmp    $0x6a,%al
500c77:	74 08                	je     0x500c81
500c79:	3c 6b                	cmp    $0x6b,%al
500c7b:	0f 85 a2 00 00 00    	jne    0x500d23
500c81:	41                   	inc    %ecx
500c82:	3c 6b                	cmp    $0x6b,%al
500c84:	75 62                	jne    0x500ce8
500c86:	83 c6 fd             	add    $0xfffffffd,%esi
500c89:	33 c0                	xor    %eax,%eax
500c8b:	85 f6                	test   %esi,%esi
500c8d:	7e 13                	jle    0x500ca2
500c8f:	90                   	nop
500c90:	8a 11                	mov    (%ecx),%dl
500c92:	41                   	inc    %ecx
500c93:	80 fa ba             	cmp    $0xba,%dl
500c96:	74 0a                	je     0x500ca2
500c98:	80 fa bb             	cmp    $0xbb,%dl
500c9b:	75 2b                	jne    0x500cc8
500c9d:	40                   	inc    %eax
500c9e:	3b c6                	cmp    %esi,%eax
500ca0:	7c ee                	jl     0x500c90
500ca2:	2b f0                	sub    %eax,%esi
500ca4:	85 c0                	test   %eax,%eax
500ca6:	75 43                	jne    0x500ceb
500ca8:	6a 50                	push   $0x50
500caa:	68 a0 9c 62 00       	push   $0x629ca0
500caf:	68 8a 00 00 00       	push   $0x8a
500cb4:	68 80 00 00 00       	push   $0x80
500cb9:	6a 04                	push   $0x4
500cbb:	e8 c0 82 fd ff       	call   0x4d8f80
500cc0:	83 c4 14             	add    $0x14,%esp
500cc3:	83 c8 ff             	or     $0xffffffff,%eax
500cc6:	5e                   	pop    %esi
500cc7:	c3                   	ret
500cc8:	6a 48                	push   $0x48
500cca:	68 a0 9c 62 00       	push   $0x629ca0
500ccf:	68 8a 00 00 00       	push   $0x8a
500cd4:	68 80 00 00 00       	push   $0x80
500cd9:	6a 04                	push   $0x4
500cdb:	e8 a0 82 fd ff       	call   0x4d8f80
500ce0:	83 c4 14             	add    $0x14,%esp
500ce3:	83 c8 ff             	or     $0xffffffff,%eax
500ce6:	5e                   	pop    %esi
500ce7:	c3                   	ret
500ce8:	83 c6 fe             	add    $0xfffffffe,%esi
500ceb:	80 3c 0e cc          	cmpb   $0xcc,(%esi,%ecx,1)
500cef:	74 20                	je     0x500d11
500cf1:	6a 59                	push   $0x59
500cf3:	68 a0 9c 62 00       	push   $0x629ca0
500cf8:	68 8b 00 00 00       	push   $0x8b
500cfd:	68 80 00 00 00       	push   $0x80
500d02:	6a 04                	push   $0x4
500d04:	e8 77 82 fd ff       	call   0x4d8f80
500d09:	83 c4 14             	add    $0x14,%esp
500d0c:	83 c8 ff             	or     $0xffffffff,%eax
500d0f:	5e                   	pop    %esi
500d10:	c3                   	ret
500d11:	56                   	push   %esi
500d12:	51                   	push   %ecx
500d13:	ff 74 24 10          	push   0x10(%esp)
500d17:	e8 b4 20 0d 00       	call   0x5d2dd0
500d1c:	83 c4 0c             	add    $0xc,%esp
500d1f:	8b c6                	mov    %esi,%eax
500d21:	5e                   	pop    %esi
500d22:	c3                   	ret
500d23:	6a 3d                	push   $0x3d
500d25:	68 a0 9c 62 00       	push   $0x629ca0
500d2a:	68 89 00 00 00       	push   $0x89
500d2f:	68 80 00 00 00       	push   $0x80
500d34:	6a 04                	push   $0x4
500d36:	e8 45 82 fd ff       	call   0x4d8f80
500d3b:	83 c4 14             	add    $0x14,%esp
500d3e:	83 c8 ff             	or     $0xffffffff,%eax
500d41:	5e                   	pop    %esi
500d42:	c3                   	ret
500d43:	cc                   	int3
500d44:	cc                   	int3
500d45:	cc                   	int3
500d46:	cc                   	int3
500d47:	cc                   	int3
500d48:	cc                   	int3
500d49:	cc                   	int3
500d4a:	cc                   	int3
500d4b:	cc                   	int3
500d4c:	cc                   	int3