604e0a:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
604e0e:	0f 84 95 00 00 00    	je     0x604ea9
604e14:	8b 4d f8             	mov    -0x8(%ebp),%ecx
604e17:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
604e1e:	f6 44 07 28 48       	testb  $0x48,0x28(%edi,%eax,1)
604e23:	74 4d                	je     0x604e72
604e25:	66 8b 55 fc          	mov    -0x4(%ebp),%dx
604e29:	8d 46 02             	lea    0x2(%esi),%eax
604e2c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
604e2f:	66 3b 55 d8          	cmp    -0x28(%ebp),%dx
604e33:	75 08                	jne    0x604e3d
604e35:	6a 0a                	push   $0xa
604e37:	5a                   	pop    %edx
604e38:	66 89 16             	mov    %dx,(%esi)
604e3b:	eb 31                	jmp    0x604e6e
604e3d:	6a 0d                	push   $0xd
604e3f:	58                   	pop    %eax
604e40:	66 89 06             	mov    %ax,(%esi)
604e43:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
604e4a:	6a 0a                	push   $0xa
604e4c:	88 54 07 2a          	mov    %dl,0x2a(%edi,%eax,1)
604e50:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
604e57:	66 c1 ea 08          	shr    $0x8,%dx
604e5b:	88 54 07 2b          	mov    %dl,0x2b(%edi,%eax,1)
604e5f:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
604e66:	5a                   	pop    %edx
604e67:	88 54 07 2c          	mov    %dl,0x2c(%edi,%eax,1)
604e6b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
604e6e:	8b f0                	mov    %eax,%esi
604e70:	eb 13                	jmp    0x604e85
604e72:	6a 0a                	push   $0xa
604e74:	58                   	pop    %eax
604e75:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
604e79:	75 0f                	jne    0x604e8a
604e7b:	3b f3                	cmp    %ebx,%esi
604e7d:	75 0b                	jne    0x604e8a
604e7f:	66 89 06             	mov    %ax,(%esi)
604e82:	83 c6 02             	add    $0x2,%esi
604e85:	8b 55 f4             	mov    -0xc(%ebp),%edx
604e88:	eb 2e                	jmp    0x604eb8
604e8a:	6a 01                	push   $0x1
604e8c:	6a ff                	push   $0xffffffff
604e8e:	6a fe                	push   $0xfffffffe
604e90:	ff 75 08             	push   0x8(%ebp)
604e93:	e8 25 0a 00 00       	call   0x6058bd
604e98:	8b 55 f4             	mov    -0xc(%ebp),%edx
604e9b:	83 c4 10             	add    $0x10,%esp
604e9e:	6a 0a                	push   $0xa
604ea0:	58                   	pop    %eax
604ea1:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
604ea5:	74 0e                	je     0x604eb5
604ea7:	eb 03                	jmp    0x604eac
604ea9:	8b 55 f4             	mov    -0xc(%ebp),%edx
604eac:	6a 0d                	push   $0xd
604eae:	58                   	pop    %eax
604eaf:	66 89 06             	mov    %ax,(%esi)
604eb2:	83 c6 02             	add    $0x2,%esi
604eb5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
604eb8:	3b 55 f0             	cmp    -0x10(%ebp),%edx
604ebb:	0f 82 cc fe ff ff    	jb     0x604d8d
604ec1:	eb 20                	jmp    0x604ee3
604ec3:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
604eca:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
604ece:	a8 40                	test   $0x40,%al
604ed0:	75 08                	jne    0x604eda
604ed2:	0c 02                	or     $0x2,%al
604ed4:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
604ed8:	eb 09                	jmp    0x604ee3
604eda:	6a 1a                	push   $0x1a
604edc:	58                   	pop    %eax
604edd:	66 89 06             	mov    %ax,(%esi)
604ee0:	83 c6 02             	add    $0x2,%esi
604ee3:	2b f3                	sub    %ebx,%esi
604ee5:	83 e6 fe             	and    $0xfffffffe,%esi
604ee8:	5f                   	pop    %edi
604ee9:	8b c6                	mov    %esi,%eax
604eeb:	5e                   	pop    %esi
604eec:	5b                   	pop    %ebx
604eed:	c9                   	leave
604eee:	c3                   	ret
604eef:	8b ff                	mov    %edi,%edi
604ef1:	55                   	push   %ebp
604ef2:	8b ec                	mov    %esp,%ebp
604ef4:	51                   	push   %ecx
604ef5:	51                   	push   %ecx
604ef6:	53                   	push   %ebx
604ef7:	ff 75 10             	push   0x10(%ebp)
604efa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
604efd:	53                   	push   %ebx
604efe:	ff 75 08             	push   0x8(%ebp)
604f01:	e8 b7 fc ff ff       	call   0x604bbd
604f06:	8b c8                	mov    %eax,%ecx
604f08:	83 c4 0c             	add    $0xc,%esp
604f0b:	85 c9                	test   %ecx,%ecx
604f0d:	0f 84 30 01 00 00    	je     0x605043
604f13:	8b 45 08             	mov    0x8(%ebp),%eax
604f16:	8b 55 08             	mov    0x8(%ebp),%edx
604f19:	83 e0 3f             	and    $0x3f,%eax
604f1c:	c1 fa 06             	sar    $0x6,%edx
604f1f:	57                   	push   %edi
604f20:	6b f8 38             	imul   $0x38,%eax,%edi
604f23:	89 55 fc             	mov    %edx,-0x4(%ebp)
604f26:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
604f2d:	89 45 f8             	mov    %eax,-0x8(%ebp)
604f30:	80 7c 07 29 00       	cmpb   $0x0,0x29(%edi,%eax,1)
604f35:	75 07                	jne    0x604f3e
604f37:	8b c1                	mov    %ecx,%eax
604f39:	e9 04 01 00 00       	jmp    0x605042
604f3e:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
604f41:	56                   	push   %esi
604f42:	8d 70 ff             	lea    -0x1(%eax),%esi
604f45:	8a 0e                	mov    (%esi),%cl
604f47:	84 c9                	test   %cl,%cl
604f49:	78 07                	js     0x604f52
604f4b:	8b f0                	mov    %eax,%esi
604f4d:	e9 9b 00 00 00       	jmp    0x604fed
604f52:	33 d2                	xor    %edx,%edx
604f54:	0f b6 c1             	movzbl %cl,%eax
604f57:	42                   	inc    %edx
604f58:	eb 0e                	jmp    0x604f68
604f5a:	83 fa 04             	cmp    $0x4,%edx
604f5d:	77 12                	ja     0x604f71
604f5f:	3b f3                	cmp    %ebx,%esi
604f61:	72 0e                	jb     0x604f71
604f63:	4e                   	dec    %esi
604f64:	42                   	inc    %edx
604f65:	0f b6 06             	movzbl (%esi),%eax
604f68:	80 b8 48 8c 72 00 00 	cmpb   $0x0,0x728c48(%eax)
604f6f:	74 e9                	je     0x604f5a
604f71:	8a 0e                	mov    (%esi),%cl
604f73:	0f b6 c1             	movzbl %cl,%eax
604f76:	0f be 80 48 8c 72 00 	movsbl 0x728c48(%eax),%eax
604f7d:	85 c0                	test   %eax,%eax
604f7f:	75 10                	jne    0x604f91
604f81:	e8 73 80 fe ff       	call   0x5ecff9
604f86:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
604f8c:	e9 88 00 00 00       	jmp    0x605019
604f91:	40                   	inc    %eax
604f92:	3b c2                	cmp    %edx,%eax
604f94:	75 04                	jne    0x604f9a
604f96:	03 f2                	add    %edx,%esi
604f98:	eb 53                	jmp    0x604fed
604f9a:	8b 45 f8             	mov    -0x8(%ebp),%eax
604f9d:	f6 44 07 28 48       	testb  $0x48,0x28(%edi,%eax,1)
604fa2:	74 35                	je     0x604fd9
604fa4:	46                   	inc    %esi
604fa5:	88 4c 07 2a          	mov    %cl,0x2a(%edi,%eax,1)
604fa9:	83 fa 02             	cmp    $0x2,%edx
604fac:	72 11                	jb     0x604fbf
604fae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
604fb1:	8a 06                	mov    (%esi),%al
604fb3:	46                   	inc    %esi
604fb4:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
604fbb:	88 44 0f 2b          	mov    %al,0x2b(%edi,%ecx,1)
604fbf:	83 fa 03             	cmp    $0x3,%edx
604fc2:	75 11                	jne    0x604fd5
604fc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
604fc7:	8b 0c 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%ecx
604fce:	8a 06                	mov    (%esi),%al
604fd0:	46                   	inc    %esi
604fd1:	88 44 0f 2c          	mov    %al,0x2c(%edi,%ecx,1)
604fd5:	2b f2                	sub    %edx,%esi
604fd7:	eb 14                	jmp    0x604fed
604fd9:	f7 da                	neg    %edx
604fdb:	8b c2                	mov    %edx,%eax
604fdd:	6a 01                	push   $0x1
604fdf:	99                   	cltd
604fe0:	52                   	push   %edx
604fe1:	50                   	push   %eax
604fe2:	ff 75 08             	push   0x8(%ebp)
604fe5:	e8 d3 08 00 00       	call   0x6058bd
604fea:	83 c4 10             	add    $0x10,%esp
604fed:	ff 75 18             	push   0x18(%ebp)
604ff0:	2b f3                	sub    %ebx,%esi
604ff2:	ff 75 14             	push   0x14(%ebp)
604ff5:	56                   	push   %esi
604ff6:	53                   	push   %ebx
604ff7:	6a 00                	push   $0x0
604ff9:	68 e9 fd 00 00       	push   $0xfde9
604ffe:	e8 93 1e 00 00       	call   0x606e96
605003:	8b d8                	mov    %eax,%ebx
605005:	83 c4 18             	add    $0x18,%esp
605008:	85 db                	test   %ebx,%ebx
60500a:	75 12                	jne    0x60501e
60500c:	ff 15 e0 21 68 00    	call   *0x6821e0
605012:	50                   	push   %eax
605013:	e8 ab 7f fe ff       	call   0x5ecfc3
605018:	59                   	pop    %ecx
605019:	83 c8 ff             	or     $0xffffffff,%eax
60501c:	eb 23                	jmp    0x605041
60501e:	8b 45 fc             	mov    -0x4(%ebp),%eax
605021:	3b de                	cmp    %esi,%ebx
605023:	0f 94 c1             	sete   %cl
605026:	fe c9                	dec    %cl
605028:	8b 14 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%edx
60502f:	80 e1 02             	and    $0x2,%cl
605032:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
605036:	24 fd                	and    $0xfd,%al
605038:	0a c8                	or     %al,%cl
60503a:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
60503d:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
605041:	5e                   	pop    %esi
605042:	5f                   	pop    %edi
605043:	5b                   	pop    %ebx
605044:	c9                   	leave
605045:	c3                   	ret
605046:	8b ff                	mov    %edi,%edi
605048:	55                   	push   %ebp
605049:	8b ec                	mov    %esp,%ebp
60504b:	8b 45 10             	mov    0x10(%ebp),%eax
60504e:	56                   	push   %esi
60504f:	57                   	push   %edi
605050:	8b 7d 0c             	mov    0xc(%ebp),%edi
605053:	8b cf                	mov    %edi,%ecx
605055:	8b f7                	mov    %edi,%esi
605057:	8d 14 47             	lea    (%edi,%eax,2),%edx
60505a:	3b fa                	cmp    %edx,%edi
60505c:	73 58                	jae    0x6050b6
60505e:	53                   	push   %ebx
60505f:	0f b7 01             	movzwl (%ecx),%eax
605062:	83 f8 1a             	cmp    $0x1a,%eax
605065:	74 34                	je     0x60509b
605067:	83 f8 0d             	cmp    $0xd,%eax
60506a:	75 19                	jne    0x605085
60506c:	8d 59 02             	lea    0x2(%ecx),%ebx
60506f:	3b da                	cmp    %edx,%ebx
605071:	73 12                	jae    0x605085
605073:	6a 0a                	push   $0xa
605075:	58                   	pop    %eax
605076:	66 39 03             	cmp    %ax,(%ebx)
605079:	0f b7 01             	movzwl (%ecx),%eax
60507c:	75 07                	jne    0x605085
60507e:	6a 0a                	push   $0xa
605080:	58                   	pop    %eax
605081:	6a 04                	push   $0x4
605083:	eb 05                	jmp    0x60508a
605085:	0f b7 c0             	movzwl %ax,%eax
605088:	6a 02                	push   $0x2
60508a:	5b                   	pop    %ebx
60508b:	03 cb                	add    %ebx,%ecx
60508d:	66 89 06             	mov    %ax,(%esi)
605090:	8d 5e 02             	lea    0x2(%esi),%ebx
605093:	8b f3                	mov    %ebx,%esi
605095:	3b ca                	cmp    %edx,%ecx
605097:	72 c6                	jb     0x60505f
605099:	eb 1a                	jmp    0x6050b5
60509b:	8b 45 08             	mov    0x8(%ebp),%eax
60509e:	8b c8                	mov    %eax,%ecx
6050a0:	83 e0 3f             	and    $0x3f,%eax
6050a3:	c1 f9 06             	sar    $0x6,%ecx
6050a6:	6b d0 38             	imul   $0x38,%eax,%edx
6050a9:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
6050b0:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
6050b5:	5b                   	pop    %ebx
6050b6:	2b f7                	sub    %edi,%esi
6050b8:	83 e6 fe             	and    $0xfffffffe,%esi
6050bb:	5f                   	pop    %edi
6050bc:	8b c6                	mov    %esi,%eax
6050be:	5e                   	pop    %esi
6050bf:	5d                   	pop    %ebp
6050c0:	c3                   	ret
6050c1:	6a 10                	push   $0x10
6050c3:	68 10 20 70 00       	push   $0x702010
6050c8:	e8 43 d4 fd ff       	call   0x5e2510
6050cd:	8b 75 08             	mov    0x8(%ebp),%esi
6050d0:	83 fe fe             	cmp    $0xfffffffe,%esi
6050d3:	75 18                	jne    0x6050ed
6050d5:	e8 0c 7f fe ff       	call   0x5ecfe6
6050da:	83 20 00             	andl   $0x0,(%eax)
6050dd:	e8 17 7f fe ff       	call   0x5ecff9
6050e2:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6050e8:	e9 d5 00 00 00       	jmp    0x6051c2
6050ed:	85 f6                	test   %esi,%esi
6050ef:	0f 88 b5 00 00 00    	js     0x6051aa
6050f5:	3b 35 b8 12 73 00    	cmp    0x7312b8,%esi
6050fb:	0f 83 a9 00 00 00    	jae    0x6051aa
605101:	8b de                	mov    %esi,%ebx
605103:	c1 fb 06             	sar    $0x6,%ebx
605106:	8b c6                	mov    %esi,%eax
605108:	83 e0 3f             	and    $0x3f,%eax
60510b:	6b c8 38             	imul   $0x38,%eax,%ecx
60510e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
605111:	8b 04 9d b8 10 73 00 	mov    0x7310b8(,%ebx,4),%eax
605118:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
60511d:	0f 84 87 00 00 00    	je     0x6051aa
605123:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
60512a:	76 15                	jbe    0x605141
60512c:	e8 b5 7e fe ff       	call   0x5ecfe6
605131:	83 20 00             	andl   $0x0,(%eax)
605134:	e8 c0 7e fe ff       	call   0x5ecff9
605139:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
60513f:	eb 7c                	jmp    0x6051bd
605141:	56                   	push   %esi
605142:	e8 b2 41 00 00       	call   0x6092f9
605147:	59                   	pop    %ecx
605148:	83 cf ff             	or     $0xffffffff,%edi
60514b:	89 7d e4             	mov    %edi,-0x1c(%ebp)
60514e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
605152:	8b 04 9d b8 10 73 00 	mov    0x7310b8(,%ebx,4),%eax
605159:	8b 4d e0             	mov    -0x20(%ebp),%ecx
60515c:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
605161:	75 15                	jne    0x605178
605163:	e8 91 7e fe ff       	call   0x5ecff9
605168:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
60516e:	e8 73 7e fe ff       	call   0x5ecfe6
605173:	83 20 00             	andl   $0x0,(%eax)
605176:	eb 14                	jmp    0x60518c
605178:	ff 75 10             	push   0x10(%ebp)
60517b:	ff 75 0c             	push   0xc(%ebp)
60517e:	56                   	push   %esi
60517f:	e8 51 00 00 00       	call   0x6051d5
605184:	83 c4 0c             	add    $0xc,%esp
605187:	8b f8                	mov    %eax,%edi
605189:	89 7d e4             	mov    %edi,-0x1c(%ebp)
60518c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
605193:	e8 0a 00 00 00       	call   0x6051a2
605198:	8b c7                	mov    %edi,%eax
60519a:	eb 29                	jmp    0x6051c5
60519c:	8b 75 08             	mov    0x8(%ebp),%esi
60519f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
6051a2:	56                   	push   %esi
6051a3:	e8 06 42 00 00       	call   0x6093ae
6051a8:	59                   	pop    %ecx
6051a9:	c3                   	ret
6051aa:	e8 37 7e fe ff       	call   0x5ecfe6
6051af:	83 20 00             	andl   $0x0,(%eax)
6051b2:	e8 42 7e fe ff       	call   0x5ecff9
6051b7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6051bd:	e8 5d 7d fe ff       	call   0x5ecf1f
6051c2:	83 c8 ff             	or     $0xffffffff,%eax
6051c5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6051c8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6051cf:	59                   	pop    %ecx
6051d0:	5f                   	pop    %edi
6051d1:	5e                   	pop    %esi
6051d2:	5b                   	pop    %ebx
6051d3:	c9                   	leave
6051d4:	c3                   	ret
6051d5:	8b ff                	mov    %edi,%edi
6051d7:	55                   	push   %ebp
6051d8:	8b ec                	mov    %esp,%ebp
6051da:	83 ec 28             	sub    $0x28,%esp
6051dd:	53                   	push   %ebx
6051de:	8b 5d 08             	mov    0x8(%ebp),%ebx
6051e1:	57                   	push   %edi
6051e2:	83 fb fe             	cmp    $0xfffffffe,%ebx
6051e5:	75 18                	jne    0x6051ff
6051e7:	e8 fa 7d fe ff       	call   0x5ecfe6
6051ec:	83 20 00             	andl   $0x0,(%eax)
6051ef:	e8 05 7e fe ff       	call   0x5ecff9