497dfe:	39 18                	cmp    %ebx,(%eax)
497e00:	7e 05                	jle    0x497e07
497e02:	0f b6 02             	movzbl (%edx),%eax
497e05:	eb 05                	jmp    0x497e0c
497e07:	8b 01                	mov    (%ecx),%eax
497e09:	ff 50 18             	call   *0x18(%eax)
497e0c:	83 f8 ff             	cmp    $0xffffffff,%eax
497e0f:	74 05                	je     0x497e16
497e11:	88 46 05             	mov    %al,0x5(%esi)
497e14:	eb 02                	jmp    0x497e18
497e16:	89 1e                	mov    %ebx,(%esi)
497e18:	c6 46 04 01          	movb   $0x1,0x4(%esi)
497e1c:	b2 01                	mov    $0x1,%dl
497e1e:	8a 46 05             	mov    0x5(%esi),%al
497e21:	3a 45 e9             	cmp    -0x17(%ebp),%al
497e24:	74 40                	je     0x497e66
497e26:	84 d2                	test   %dl,%dl
497e28:	75 33                	jne    0x497e5d
497e2a:	8b 0e                	mov    (%esi),%ecx
497e2c:	85 c9                	test   %ecx,%ecx
497e2e:	74 27                	je     0x497e57
497e30:	8b 41 1c             	mov    0x1c(%ecx),%eax
497e33:	8b 10                	mov    (%eax),%edx
497e35:	85 d2                	test   %edx,%edx
497e37:	74 0c                	je     0x497e45
497e39:	8b 41 2c             	mov    0x2c(%ecx),%eax
497e3c:	39 18                	cmp    %ebx,(%eax)
497e3e:	7e 05                	jle    0x497e45
497e40:	0f b6 02             	movzbl (%edx),%eax
497e43:	eb 05                	jmp    0x497e4a
497e45:	8b 01                	mov    (%ecx),%eax
497e47:	ff 50 18             	call   *0x18(%eax)
497e4a:	83 f8 ff             	cmp    $0xffffffff,%eax
497e4d:	74 05                	je     0x497e54
497e4f:	88 46 05             	mov    %al,0x5(%esi)
497e52:	eb 05                	jmp    0x497e59
497e54:	8a 46 05             	mov    0x5(%esi),%al
497e57:	89 1e                	mov    %ebx,(%esi)
497e59:	c6 46 04 01          	movb   $0x1,0x4(%esi)
497e5d:	3a 45 e8             	cmp    -0x18(%ebp),%al
497e60:	0f 85 26 ff ff ff    	jne    0x497d8c
497e66:	8b 0e                	mov    (%esi),%ecx
497e68:	85 c9                	test   %ecx,%ecx
497e6a:	74 36                	je     0x497ea2
497e6c:	8b 41 1c             	mov    0x1c(%ecx),%eax
497e6f:	39 18                	cmp    %ebx,(%eax)
497e71:	74 1b                	je     0x497e8e
497e73:	8b 51 2c             	mov    0x2c(%ecx),%edx
497e76:	8b 02                	mov    (%edx),%eax
497e78:	85 c0                	test   %eax,%eax
497e7a:	7e 12                	jle    0x497e8e
497e7c:	48                   	dec    %eax
497e7d:	89 02                	mov    %eax,(%edx)
497e7f:	8b 49 1c             	mov    0x1c(%ecx),%ecx
497e82:	8b 11                	mov    (%ecx),%edx
497e84:	8d 42 01             	lea    0x1(%edx),%eax
497e87:	89 01                	mov    %eax,(%ecx)
497e89:	0f b6 02             	movzbl (%edx),%eax
497e8c:	eb 05                	jmp    0x497e93
497e8e:	8b 01                	mov    (%ecx),%eax
497e90:	ff 50 1c             	call   *0x1c(%eax)
497e93:	83 f8 ff             	cmp    $0xffffffff,%eax
497e96:	74 0a                	je     0x497ea2
497e98:	32 c0                	xor    %al,%al
497e9a:	88 46 04             	mov    %al,0x4(%esi)
497e9d:	e9 ee fe ff ff       	jmp    0x497d90
497ea2:	b0 01                	mov    $0x1,%al
497ea4:	89 1e                	mov    %ebx,(%esi)
497ea6:	88 46 04             	mov    %al,0x4(%esi)
497ea9:	e9 e2 fe ff ff       	jmp    0x497d90
497eae:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
497eb4:	8b 01                	mov    (%ecx),%eax
497eb6:	8b 40 10             	mov    0x10(%eax),%eax
497eb9:	ff d0                	call   *%eax
497ebb:	88 45 93             	mov    %al,-0x6d(%ebp)
497ebe:	bb 0f 00 00 00       	mov    $0xf,%ebx
497ec3:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
497ec7:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
497eca:	89 5d cc             	mov    %ebx,-0x34(%ebp)
497ecd:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
497ed4:	66 c7 45 b8 00 00    	movw   $0x0,-0x48(%ebp)
497eda:	8b 4d b8             	mov    -0x48(%ebp),%ecx
497edd:	8a 46 04             	mov    0x4(%esi),%al
497ee0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
497ee4:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
497eeb:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
497eee:	66 90                	xchg   %ax,%ax
497ef0:	84 c0                	test   %al,%al
497ef2:	75 35                	jne    0x497f29
497ef4:	8b 0e                	mov    (%esi),%ecx
497ef6:	85 c9                	test   %ecx,%ecx
497ef8:	74 25                	je     0x497f1f
497efa:	8b 41 1c             	mov    0x1c(%ecx),%eax
497efd:	8b 10                	mov    (%eax),%edx
497eff:	85 d2                	test   %edx,%edx
497f01:	74 0d                	je     0x497f10
497f03:	8b 41 2c             	mov    0x2c(%ecx),%eax
497f06:	83 38 00             	cmpl   $0x0,(%eax)
497f09:	7e 05                	jle    0x497f10
497f0b:	0f b6 02             	movzbl (%edx),%eax
497f0e:	eb 05                	jmp    0x497f15
497f10:	8b 01                	mov    (%ecx),%eax
497f12:	ff 50 18             	call   *0x18(%eax)
497f15:	83 f8 ff             	cmp    $0xffffffff,%eax
497f18:	74 05                	je     0x497f1f
497f1a:	88 46 05             	mov    %al,0x5(%esi)
497f1d:	eb 06                	jmp    0x497f25
497f1f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
497f25:	c6 46 04 01          	movb   $0x1,0x4(%esi)
497f29:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
497f2d:	75 35                	jne    0x497f64
497f2f:	8b 0f                	mov    (%edi),%ecx
497f31:	85 c9                	test   %ecx,%ecx
497f33:	74 25                	je     0x497f5a
497f35:	8b 41 1c             	mov    0x1c(%ecx),%eax
497f38:	8b 10                	mov    (%eax),%edx
497f3a:	85 d2                	test   %edx,%edx
497f3c:	74 0d                	je     0x497f4b
497f3e:	8b 41 2c             	mov    0x2c(%ecx),%eax
497f41:	83 38 00             	cmpl   $0x0,(%eax)
497f44:	7e 05                	jle    0x497f4b
497f46:	0f b6 02             	movzbl (%edx),%eax
497f49:	eb 05                	jmp    0x497f50
497f4b:	8b 01                	mov    (%ecx),%eax
497f4d:	ff 50 18             	call   *0x18(%eax)
497f50:	83 f8 ff             	cmp    $0xffffffff,%eax
497f53:	74 05                	je     0x497f5a
497f55:	88 47 05             	mov    %al,0x5(%edi)
497f58:	eb 06                	jmp    0x497f60
497f5a:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
497f60:	c6 47 04 01          	movb   $0x1,0x4(%edi)
497f64:	8b 0e                	mov    (%esi),%ecx
497f66:	8b 07                	mov    (%edi),%eax
497f68:	85 c9                	test   %ecx,%ecx
497f6a:	75 0a                	jne    0x497f76
497f6c:	85 c0                	test   %eax,%eax
497f6e:	0f 84 f3 02 00 00    	je     0x498267
497f74:	eb 08                	jmp    0x497f7e
497f76:	85 c0                	test   %eax,%eax
497f78:	0f 85 e9 02 00 00    	jne    0x498267
497f7e:	8a 46 04             	mov    0x4(%esi),%al
497f81:	88 45 91             	mov    %al,-0x6f(%ebp)
497f84:	84 c0                	test   %al,%al
497f86:	75 37                	jne    0x497fbf
497f88:	85 c9                	test   %ecx,%ecx
497f8a:	74 25                	je     0x497fb1
497f8c:	8b 41 1c             	mov    0x1c(%ecx),%eax
497f8f:	8b 10                	mov    (%eax),%edx
497f91:	85 d2                	test   %edx,%edx
497f93:	74 0d                	je     0x497fa2
497f95:	8b 41 2c             	mov    0x2c(%ecx),%eax
497f98:	83 38 00             	cmpl   $0x0,(%eax)
497f9b:	7e 05                	jle    0x497fa2
497f9d:	0f b6 02             	movzbl (%edx),%eax
497fa0:	eb 05                	jmp    0x497fa7
497fa2:	8b 01                	mov    (%ecx),%eax
497fa4:	ff 50 18             	call   *0x18(%eax)
497fa7:	83 f8 ff             	cmp    $0xffffffff,%eax
497faa:	74 05                	je     0x497fb1
497fac:	88 46 05             	mov    %al,0x5(%esi)
497faf:	eb 06                	jmp    0x497fb7
497fb1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
497fb7:	c6 46 04 01          	movb   $0x1,0x4(%esi)
497fbb:	c6 45 91 01          	movb   $0x1,-0x6f(%ebp)
497fbf:	8a 5e 05             	mov    0x5(%esi),%bl
497fc2:	6a 1c                	push   $0x1c
497fc4:	0f b6 c3             	movzbl %bl,%eax
497fc7:	50                   	push   %eax
497fc8:	8d 45 d0             	lea    -0x30(%ebp),%eax
497fcb:	50                   	push   %eax
497fcc:	e8 7f ae 14 00       	call   0x5e2e50
497fd1:	83 c4 0c             	add    $0xc,%esp
497fd4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
497fd7:	85 c0                	test   %eax,%eax
497fd9:	0f 45 c8             	cmovne %eax,%ecx
497fdc:	8d 45 d0             	lea    -0x30(%ebp),%eax
497fdf:	2b c8                	sub    %eax,%ecx
497fe1:	83 f9 16             	cmp    $0x16,%ecx
497fe4:	73 68                	jae    0x49804e
497fe6:	8b 55 80             	mov    -0x80(%ebp),%edx
497fe9:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
497fed:	39 95 7c ff ff ff    	cmp    %edx,-0x84(%ebp)
497ff3:	7f 05                	jg     0x497ffa
497ff5:	ff 45 84             	incl   -0x7c(%ebp)
497ff8:	eb 1b                	jmp    0x498015
497ffa:	85 c9                	test   %ecx,%ecx
497ffc:	75 04                	jne    0x498002
497ffe:	85 d2                	test   %edx,%edx
498000:	74 13                	je     0x498015
498002:	8a 81 e8 4c 69 00    	mov    0x694ce8(%ecx),%al
498008:	8b 4d 98             	mov    -0x68(%ebp),%ecx
49800b:	88 01                	mov    %al,(%ecx)
49800d:	41                   	inc    %ecx
49800e:	42                   	inc    %edx
49800f:	89 4d 98             	mov    %ecx,-0x68(%ebp)
498012:	89 55 80             	mov    %edx,-0x80(%ebp)
498015:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
498018:	8d 45 b8             	lea    -0x48(%ebp),%eax
49801b:	8b 55 8c             	mov    -0x74(%ebp),%edx
49801e:	83 fb 10             	cmp    $0x10,%ebx
498021:	8b 4d 88             	mov    -0x78(%ebp),%ecx
498024:	0f 43 c2             	cmovae %edx,%eax
498027:	80 3c 08 7f          	cmpb   $0x7f,(%eax,%ecx,1)
49802b:	0f 84 e4 01 00 00    	je     0x498215
498031:	83 fb 10             	cmp    $0x10,%ebx
498034:	8d 45 b8             	lea    -0x48(%ebp),%eax
498037:	0f 43 c2             	cmovae %edx,%eax
49803a:	fe 04 08             	incb   (%eax,%ecx,1)
49803d:	8b 5d cc             	mov    -0x34(%ebp),%ebx
498040:	8b 45 b8             	mov    -0x48(%ebp),%eax
498043:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
498046:	89 45 8c             	mov    %eax,-0x74(%ebp)
498049:	e9 c7 01 00 00       	jmp    0x498215
49804e:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
498051:	8d 45 b8             	lea    -0x48(%ebp),%eax
498054:	8b 55 8c             	mov    -0x74(%ebp),%edx
498057:	83 f9 10             	cmp    $0x10,%ecx
49805a:	8b 7d 88             	mov    -0x78(%ebp),%edi
49805d:	0f 43 c2             	cmovae %edx,%eax
498060:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
498064:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
49806a:	0f 84 f4 01 00 00    	je     0x498264
498070:	8a 45 93             	mov    -0x6d(%ebp),%al
498073:	84 c0                	test   %al,%al
498075:	0f 84 e9 01 00 00    	je     0x498264
49807b:	80 7d 91 00          	cmpb   $0x0,-0x6f(%ebp)
49807f:	75 43                	jne    0x4980c4
498081:	8b 0e                	mov    (%esi),%ecx
498083:	85 c9                	test   %ecx,%ecx
498085:	74 27                	je     0x4980ae
498087:	8b 41 1c             	mov    0x1c(%ecx),%eax
49808a:	8b 10                	mov    (%eax),%edx
49808c:	85 d2                	test   %edx,%edx
49808e:	74 0d                	je     0x49809d
498090:	8b 41 2c             	mov    0x2c(%ecx),%eax
498093:	83 38 00             	cmpl   $0x0,(%eax)
498096:	7e 05                	jle    0x49809d
498098:	0f b6 1a             	movzbl (%edx),%ebx
49809b:	eb 07                	jmp    0x4980a4
49809d:	8b 01                	mov    (%ecx),%eax
49809f:	ff 50 18             	call   *0x18(%eax)
4980a2:	8b d8                	mov    %eax,%ebx
4980a4:	83 fb ff             	cmp    $0xffffffff,%ebx
4980a7:	74 05                	je     0x4980ae
4980a9:	88 5e 05             	mov    %bl,0x5(%esi)
4980ac:	eb 09                	jmp    0x4980b7
4980ae:	8a 5e 05             	mov    0x5(%esi),%bl
4980b1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4980b7:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4980ba:	8b 55 8c             	mov    -0x74(%ebp),%edx
4980bd:	8a 45 93             	mov    -0x6d(%ebp),%al
4980c0:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4980c4:	3a d8                	cmp    %al,%bl
4980c6:	0f 85 98 01 00 00    	jne    0x498264
4980cc:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4980cf:	3b d9                	cmp    %ecx,%ebx
4980d1:	73 23                	jae    0x4980f6
4980d3:	8d 43 01             	lea    0x1(%ebx),%eax
4980d6:	83 f9 10             	cmp    $0x10,%ecx
4980d9:	89 45 c8             	mov    %eax,-0x38(%ebp)
4980dc:	8d 45 b8             	lea    -0x48(%ebp),%eax
4980df:	0f 43 c2             	cmovae %edx,%eax
4980e2:	66 c7 04 18 00 00    	movw   $0x0,(%eax,%ebx,1)
4980e8:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4980eb:	8b 45 b8             	mov    -0x48(%ebp),%eax
4980ee:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
4980f1:	e9 19 01 00 00       	jmp    0x49820f
4980f6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4980fb:	2b c3                	sub    %ebx,%eax
4980fd:	83 f8 01             	cmp    $0x1,%eax
498100:	0f 82 76 0d 00 00    	jb     0x498e7c
498106:	8d 43 01             	lea    0x1(%ebx),%eax
498109:	8b d1                	mov    %ecx,%edx
49810b:	83 c8 0f             	or     $0xf,%eax
49810e:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
498114:	89 45 94             	mov    %eax,-0x6c(%ebp)
498117:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
49811c:	76 07                	jbe    0x498125
49811e:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
498123:	eb 21                	jmp    0x498146
498125:	8b ca                	mov    %edx,%ecx
498127:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49812c:	d1 e9                	shr    $1,%ecx
49812e:	2b c1                	sub    %ecx,%eax
498130:	3b d0                	cmp    %eax,%edx
498132:	76 07                	jbe    0x49813b
498134:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
498139:	eb 0b                	jmp    0x498146
49813b:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
49813e:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
498141:	3b c8                	cmp    %eax,%ecx
498143:	0f 42 c8             	cmovb  %eax,%ecx
498146:	8d 41 01             	lea    0x1(%ecx),%eax
498149:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
49814c:	50                   	push   %eax
49814d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
498150:	e8 fb 12 fa ff       	call   0x439450
498155:	8d 4b 01             	lea    0x1(%ebx),%ecx
498158:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
49815e:	89 4d c8             	mov    %ecx,-0x38(%ebp)
498161:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
498164:	89 4d cc             	mov    %ecx,-0x34(%ebp)
498167:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
49816a:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
498170:	8d 4b 01             	lea    0x1(%ebx),%ecx
498173:	03 c8                	add    %eax,%ecx
498175:	83 bd 60 ff ff ff 10 	cmpl   $0x10,-0xa0(%ebp)
49817c:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
498182:	53                   	push   %ebx
498183:	72 5f                	jb     0x4981e4
498185:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
498188:	53                   	push   %ebx
498189:	50                   	push   %eax
49818a:	e8 71 ad 14 00       	call   0x5e2f00
49818f:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
498195:	83 c4 0c             	add    $0xc,%esp
498198:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
49819e:	41                   	inc    %ecx
49819f:	c6 00 00             	movb   $0x0,(%eax)
4981a2:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
4981a8:	c6 00 00             	movb   $0x0,(%eax)
4981ab:	8b c3                	mov    %ebx,%eax
4981ad:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4981b3:	72 14                	jb     0x4981c9
4981b5:	8b 5b fc             	mov    -0x4(%ebx),%ebx
4981b8:	83 c1 23             	add    $0x23,%ecx
4981bb:	2b c3                	sub    %ebx,%eax
4981bd:	83 c0 fc             	add    $0xfffffffc,%eax
4981c0:	83 f8 1f             	cmp    $0x1f,%eax
4981c3:	0f 87 b8 0c 00 00    	ja     0x498e81
4981c9:	51                   	push   %ecx
4981ca:	53                   	push   %ebx
4981cb:	e8 a2 8e 14 00       	call   0x5e1072
4981d0:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
4981d6:	83 c4 08             	add    $0x8,%esp
4981d9:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
4981dc:	89 55 8c             	mov    %edx,-0x74(%ebp)
4981df:	89 55 b8             	mov    %edx,-0x48(%ebp)
4981e2:	eb 2e                	jmp    0x498212
4981e4:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4981e7:	51                   	push   %ecx
4981e8:	50                   	push   %eax
4981e9:	e8 12 ad 14 00       	call   0x5e2f00
4981ee:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4981f4:	83 c4 0c             	add    $0xc,%esp
4981f7:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
4981fa:	c6 00 00             	movb   $0x0,(%eax)
4981fd:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
498203:	c6 00 00             	movb   $0x0,(%eax)
498206:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax