478d72:	03 f2                	add    %edx,%esi
478d74:	eb 53                	jmp    0x478dc9
478d76:	8b 45 f8             	mov    -0x8(%ebp),%eax
478d79:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
478d7e:	74 35                	je     0x478db5
478d80:	46                   	inc    %esi
478d81:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
478d85:	83 fa 02             	cmp    $0x2,%edx
478d88:	72 11                	jb     0x478d9b
478d8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
478d8d:	8a 06                	mov    (%esi),%al
478d8f:	46                   	inc    %esi
478d90:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478d97:	88 44 39 2b          	mov    %al,0x2b(%ecx,%edi,1)
478d9b:	83 fa 03             	cmp    $0x3,%edx
478d9e:	75 11                	jne    0x478db1
478da0:	8b 45 fc             	mov    -0x4(%ebp),%eax
478da3:	8b 0c 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%ecx
478daa:	8a 06                	mov    (%esi),%al
478dac:	46                   	inc    %esi
478dad:	88 44 39 2c          	mov    %al,0x2c(%ecx,%edi,1)
478db1:	2b f2                	sub    %edx,%esi
478db3:	eb 14                	jmp    0x478dc9
478db5:	f7 da                	neg    %edx
478db7:	8b c2                	mov    %edx,%eax
478db9:	6a 01                	push   $0x1
478dbb:	99                   	cltd
478dbc:	52                   	push   %edx
478dbd:	50                   	push   %eax
478dbe:	ff 75 08             	push   0x8(%ebp)
478dc1:	e8 6e 0d 00 00       	call   0x479b34
478dc6:	83 c4 10             	add    $0x10,%esp
478dc9:	ff 75 18             	push   0x18(%ebp)
478dcc:	2b f3                	sub    %ebx,%esi
478dce:	ff 75 14             	push   0x14(%ebp)
478dd1:	56                   	push   %esi
478dd2:	53                   	push   %ebx
478dd3:	6a 00                	push   $0x0
478dd5:	68 e9 fd 00 00       	push   $0xfde9
478dda:	ff 15 74 41 49 00    	call   *0x494174
478de0:	8b d0                	mov    %eax,%edx
478de2:	85 d2                	test   %edx,%edx
478de4:	75 12                	jne    0x478df8
478de6:	ff 15 24 41 49 00    	call   *0x494124
478dec:	50                   	push   %eax
478ded:	e8 07 40 fd ff       	call   0x44cdf9
478df2:	59                   	pop    %ecx
478df3:	83 c8 ff             	or     $0xffffffff,%eax
478df6:	eb 1e                	jmp    0x478e16
478df8:	8b 45 fc             	mov    -0x4(%ebp),%eax
478dfb:	3b d6                	cmp    %esi,%edx
478dfd:	8b 0c 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%ecx
478e04:	0f 95 c0             	setne  %al
478e07:	02 c0                	add    %al,%al
478e09:	32 44 39 2d          	xor    0x2d(%ecx,%edi,1),%al
478e0d:	24 02                	and    $0x2,%al
478e0f:	30 44 39 2d          	xor    %al,0x2d(%ecx,%edi,1)
478e13:	8d 04 12             	lea    (%edx,%edx,1),%eax
478e16:	5e                   	pop    %esi
478e17:	5f                   	pop    %edi
478e18:	5b                   	pop    %ebx
478e19:	8b e5                	mov    %ebp,%esp
478e1b:	5d                   	pop    %ebp
478e1c:	c3                   	ret
478e1d:	8b ff                	mov    %edi,%edi
478e1f:	55                   	push   %ebp
478e20:	8b ec                	mov    %esp,%ebp
478e22:	8b 45 10             	mov    0x10(%ebp),%eax
478e25:	56                   	push   %esi
478e26:	57                   	push   %edi
478e27:	8b 7d 0c             	mov    0xc(%ebp),%edi
478e2a:	8b f7                	mov    %edi,%esi
478e2c:	8d 14 47             	lea    (%edi,%eax,2),%edx
478e2f:	8b c7                	mov    %edi,%eax
478e31:	3b fa                	cmp    %edx,%edi
478e33:	73 5e                	jae    0x478e93
478e35:	8d 4f 02             	lea    0x2(%edi),%ecx
478e38:	53                   	push   %ebx
478e39:	0f b7 18             	movzwl (%eax),%ebx
478e3c:	83 fb 1a             	cmp    $0x1a,%ebx
478e3f:	74 37                	je     0x478e78
478e41:	83 fb 0d             	cmp    $0xd,%ebx
478e44:	75 20                	jne    0x478e66
478e46:	3b ca                	cmp    %edx,%ecx
478e48:	73 1c                	jae    0x478e66
478e4a:	6a 0a                	push   $0xa
478e4c:	5f                   	pop    %edi
478e4d:	66 39 39             	cmp    %di,(%ecx)
478e50:	8b 7d 0c             	mov    0xc(%ebp),%edi
478e53:	75 11                	jne    0x478e66
478e55:	6a 0a                	push   $0xa
478e57:	5b                   	pop    %ebx
478e58:	83 c0 04             	add    $0x4,%eax
478e5b:	66 89 1e             	mov    %bx,(%esi)
478e5e:	83 c1 04             	add    $0x4,%ecx
478e61:	83 c6 02             	add    $0x2,%esi
478e64:	eb 0c                	jmp    0x478e72
478e66:	66 89 1e             	mov    %bx,(%esi)
478e69:	83 c0 02             	add    $0x2,%eax
478e6c:	83 c6 02             	add    $0x2,%esi
478e6f:	83 c1 02             	add    $0x2,%ecx
478e72:	3b c2                	cmp    %edx,%eax
478e74:	72 c3                	jb     0x478e39
478e76:	eb 1a                	jmp    0x478e92
478e78:	8b 45 08             	mov    0x8(%ebp),%eax
478e7b:	8b c8                	mov    %eax,%ecx
478e7d:	83 e0 3f             	and    $0x3f,%eax
478e80:	c1 f9 06             	sar    $0x6,%ecx
478e83:	6b d0 30             	imul   $0x30,%eax,%edx
478e86:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
478e8d:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
478e92:	5b                   	pop    %ebx
478e93:	2b f7                	sub    %edi,%esi
478e95:	83 e6 fe             	and    $0xfffffffe,%esi
478e98:	5f                   	pop    %edi
478e99:	8b c6                	mov    %esi,%eax
478e9b:	5e                   	pop    %esi
478e9c:	5d                   	pop    %ebp
478e9d:	c3                   	ret
478e9e:	6a 14                	push   $0x14
478ea0:	68 c0 4e 4b 00       	push   $0x4b4ec0
478ea5:	e8 b6 7a fc ff       	call   0x440960
478eaa:	8b 75 08             	mov    0x8(%ebp),%esi
478ead:	83 fe fe             	cmp    $0xfffffffe,%esi
478eb0:	75 18                	jne    0x478eca
478eb2:	e8 65 3f fd ff       	call   0x44ce1c
478eb7:	83 20 00             	andl   $0x0,(%eax)
478eba:	e8 70 3f fd ff       	call   0x44ce2f
478ebf:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478ec5:	e9 de 00 00 00       	jmp    0x478fa8
478eca:	85 f6                	test   %esi,%esi
478ecc:	0f 88 be 00 00 00    	js     0x478f90
478ed2:	3b 35 00 c2 4b 00    	cmp    0x4bc200,%esi
478ed8:	0f 83 b2 00 00 00    	jae    0x478f90
478ede:	8b de                	mov    %esi,%ebx
478ee0:	c1 fb 06             	sar    $0x6,%ebx
478ee3:	8b c6                	mov    %esi,%eax
478ee5:	83 e0 3f             	and    $0x3f,%eax
478ee8:	6b c8 30             	imul   $0x30,%eax,%ecx
478eeb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
478eee:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
478ef5:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
478efa:	83 e0 01             	and    $0x1,%eax
478efd:	0f 84 8d 00 00 00    	je     0x478f90
478f03:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
478f08:	3b 45 10             	cmp    0x10(%ebp),%eax
478f0b:	1b c0                	sbb    %eax,%eax
478f0d:	83 c0 01             	add    $0x1,%eax
478f10:	75 15                	jne    0x478f27
478f12:	e8 05 3f fd ff       	call   0x44ce1c
478f17:	83 20 00             	andl   $0x0,(%eax)
478f1a:	e8 10 3f fd ff       	call   0x44ce2f
478f1f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
478f25:	eb 7c                	jmp    0x478fa3
478f27:	56                   	push   %esi
478f28:	e8 18 64 00 00       	call   0x47f345
478f2d:	59                   	pop    %ecx
478f2e:	83 cf ff             	or     $0xffffffff,%edi
478f31:	89 7d e4             	mov    %edi,-0x1c(%ebp)
478f34:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
478f38:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
478f3f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
478f42:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
478f47:	75 15                	jne    0x478f5e
478f49:	e8 e1 3e fd ff       	call   0x44ce2f
478f4e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478f54:	e8 c3 3e fd ff       	call   0x44ce1c
478f59:	83 20 00             	andl   $0x0,(%eax)
478f5c:	eb 14                	jmp    0x478f72
478f5e:	ff 75 10             	push   0x10(%ebp)
478f61:	ff 75 0c             	push   0xc(%ebp)
478f64:	56                   	push   %esi
478f65:	e8 47 00 00 00       	call   0x478fb1
478f6a:	83 c4 0c             	add    $0xc,%esp
478f6d:	8b f8                	mov    %eax,%edi
478f6f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
478f72:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
478f79:	e8 0a 00 00 00       	call   0x478f88
478f7e:	8b c7                	mov    %edi,%eax
478f80:	eb 29                	jmp    0x478fab
478f82:	8b 75 08             	mov    0x8(%ebp),%esi
478f85:	8b 7d e4             	mov    -0x1c(%ebp),%edi
478f88:	56                   	push   %esi
478f89:	e8 6e 64 00 00       	call   0x47f3fc
478f8e:	59                   	pop    %ecx
478f8f:	c3                   	ret
478f90:	e8 87 3e fd ff       	call   0x44ce1c
478f95:	83 20 00             	andl   $0x0,(%eax)
478f98:	e8 92 3e fd ff       	call   0x44ce2f
478f9d:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478fa3:	e8 2e 3d fd ff       	call   0x44ccd6
478fa8:	83 c8 ff             	or     $0xffffffff,%eax
478fab:	e8 f6 79 fc ff       	call   0x4409a6
478fb0:	c3                   	ret
478fb1:	8b ff                	mov    %edi,%edi
478fb3:	55                   	push   %ebp
478fb4:	8b ec                	mov    %esp,%ebp
478fb6:	83 ec 28             	sub    $0x28,%esp
478fb9:	53                   	push   %ebx
478fba:	8b 5d 08             	mov    0x8(%ebp),%ebx
478fbd:	57                   	push   %edi
478fbe:	83 fb fe             	cmp    $0xfffffffe,%ebx
478fc1:	75 18                	jne    0x478fdb
478fc3:	e8 54 3e fd ff       	call   0x44ce1c
478fc8:	83 20 00             	andl   $0x0,(%eax)
478fcb:	e8 5f 3e fd ff       	call   0x44ce2f
478fd0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
478fd6:	e9 82 03 00 00       	jmp    0x47935d
478fdb:	85 db                	test   %ebx,%ebx
478fdd:	0f 88 62 03 00 00    	js     0x479345
478fe3:	3b 1d 00 c2 4b 00    	cmp    0x4bc200,%ebx
478fe9:	0f 83 56 03 00 00    	jae    0x479345
478fef:	8b c3                	mov    %ebx,%eax
478ff1:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
478ff8:	83 e0 3f             	and    $0x3f,%eax
478ffb:	8b fb                	mov    %ebx,%edi
478ffd:	c1 ff 06             	sar    $0x6,%edi
479000:	6b d0 30             	imul   $0x30,%eax,%edx
479003:	89 7d f0             	mov    %edi,-0x10(%ebp)
479006:	8b 04 bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%eax
47900d:	89 55 e8             	mov    %edx,-0x18(%ebp)
479010:	8a 4c 02 28          	mov    0x28(%edx,%eax,1),%cl
479014:	88 4d ff             	mov    %cl,-0x1(%ebp)
479017:	f6 c1 01             	test   $0x1,%cl
47901a:	0f 84 25 03 00 00    	je     0x479345
479020:	8b 4d 10             	mov    0x10(%ebp),%ecx
479023:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
479029:	76 18                	jbe    0x479043
47902b:	e8 ec 3d fd ff       	call   0x44ce1c
479030:	83 20 00             	andl   $0x0,(%eax)
479033:	e8 f7 3d fd ff       	call   0x44ce2f
479038:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47903e:	e9 15 03 00 00       	jmp    0x479358
479043:	85 c9                	test   %ecx,%ecx
479045:	0f 84 f6 02 00 00    	je     0x479341
47904b:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
47904f:	0f 85 ec 02 00 00    	jne    0x479341
479055:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
479059:	74 d0                	je     0x47902b
47905b:	56                   	push   %esi
47905c:	8b 74 02 18          	mov    0x18(%edx,%eax,1),%esi
479060:	8a 44 02 29          	mov    0x29(%edx,%eax,1),%al
479064:	88 45 ff             	mov    %al,-0x1(%ebp)
479067:	89 75 e4             	mov    %esi,-0x1c(%ebp)
47906a:	33 f6                	xor    %esi,%esi
47906c:	0f be c0             	movsbl %al,%eax
47906f:	83 e8 01             	sub    $0x1,%eax
479072:	74 1b                	je     0x47908f
479074:	83 e8 01             	sub    $0x1,%eax
479077:	75 08                	jne    0x479081
479079:	8b c1                	mov    %ecx,%eax
47907b:	f7 d0                	not    %eax
47907d:	a8 01                	test   $0x1,%al
47907f:	74 19                	je     0x47909a
479081:	8b 45 0c             	mov    0xc(%ebp),%eax
479084:	89 4d f4             	mov    %ecx,-0xc(%ebp)
479087:	89 45 f8             	mov    %eax,-0x8(%ebp)
47908a:	e9 9c 00 00 00       	jmp    0x47912b
47908f:	8b 55 ec             	mov    -0x14(%ebp),%edx
479092:	8b c1                	mov    %ecx,%eax
479094:	f7 d0                	not    %eax
479096:	84 c2                	test   %al,%dl
479098:	75 1c                	jne    0x4790b6
47909a:	e8 7d 3d fd ff       	call   0x44ce1c
47909f:	21 30                	and    %esi,(%eax)
4790a1:	e8 89 3d fd ff       	call   0x44ce2f
4790a6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4790ac:	e8 25 3c fd ff       	call   0x44ccd6
4790b1:	e9 c2 01 00 00       	jmp    0x479278
4790b6:	6a 04                	push   $0x4
4790b8:	58                   	pop    %eax
4790b9:	d1 e9                	shr    $1,%ecx
4790bb:	89 45 f4             	mov    %eax,-0xc(%ebp)
4790be:	3b c8                	cmp    %eax,%ecx
4790c0:	72 05                	jb     0x4790c7
4790c2:	8b c1                	mov    %ecx,%eax
4790c4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4790c7:	50                   	push   %eax
4790c8:	e8 5d dc ff ff       	call   0x476d2a
4790cd:	6a 00                	push   $0x0
4790cf:	8b f0                	mov    %eax,%esi
4790d1:	e8 63 92 ff ff       	call   0x472339
4790d6:	6a 00                	push   $0x0
4790d8:	e8 5c 92 ff ff       	call   0x472339
4790dd:	83 c4 0c             	add    $0xc,%esp
4790e0:	89 75 f8             	mov    %esi,-0x8(%ebp)
4790e3:	85 f6                	test   %esi,%esi
4790e5:	75 1b                	jne    0x479102
4790e7:	e8 43 3d fd ff       	call   0x44ce2f
4790ec:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4790f2:	e8 25 3d fd ff       	call   0x44ce1c
4790f7:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
4790fd:	e9 76 01 00 00       	jmp    0x479278
479102:	ff 75 ec             	push   -0x14(%ebp)
479105:	6a 00                	push   $0x0
479107:	6a 00                	push   $0x0
479109:	53                   	push   %ebx
47910a:	e8 25 0a 00 00       	call   0x479b34
47910f:	8b 0c bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%ecx
479116:	83 c4 10             	add    $0x10,%esp
479119:	8b 7d e8             	mov    -0x18(%ebp),%edi
47911c:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
479120:	8b c6                	mov    %esi,%eax
479122:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
479126:	8b d7                	mov    %edi,%edx
479128:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47912b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
47912e:	33 ff                	xor    %edi,%edi
479130:	89 45 dc             	mov    %eax,-0x24(%ebp)
479133:	8b 1c 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%ebx
47913a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
47913d:	f6 44 1a 28 48       	testb  $0x48,0x28(%edx,%ebx,1)
479142:	8b 5d 08             	mov    0x8(%ebp),%ebx
479145:	0f 84 ce 00 00 00    	je     0x479219
47914b:	8b 5d e0             	mov    -0x20(%ebp),%ebx
47914e:	8a 5c 1a 2a          	mov    0x2a(%edx,%ebx,1),%bl
479152:	88 5d fe             	mov    %bl,-0x2(%ebp)
479155:	80 fb 0a             	cmp    $0xa,%bl
479158:	8b 5d 08             	mov    0x8(%ebp),%ebx
47915b:	0f 84 b8 00 00 00    	je     0x479219
479161:	85 c9                	test   %ecx,%ecx
479163:	0f 84 b0 00 00 00    	je     0x479219
479169:	8a 5d fe             	mov    -0x2(%ebp),%bl
47916c:	8b 7d ec             	mov    -0x14(%ebp),%edi
47916f:	88 18                	mov    %bl,(%eax)
479171:	40                   	inc    %eax
479172:	8b 5d 08             	mov    0x8(%ebp),%ebx
479175:	49                   	dec    %ecx
479176:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
47917a:	89 45 f8             	mov    %eax,-0x8(%ebp)
47917d:	8b 45 f0             	mov    -0x10(%ebp),%eax
479180:	89 4d f4             	mov    %ecx,-0xc(%ebp)
479183:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
47918a:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
47918f:	0f 84 84 00 00 00    	je     0x479219
479195:	8b 45 f0             	mov    -0x10(%ebp),%eax
479198:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
47919f:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
4791a3:	88 45 fe             	mov    %al,-0x2(%ebp)
4791a6:	3c 0a                	cmp    $0xa,%al
4791a8:	74 6f                	je     0x479219
4791aa:	85 c9                	test   %ecx,%ecx
4791ac:	74 6b                	je     0x479219
4791ae:	8b 45 f8             	mov    -0x8(%ebp),%eax
4791b1:	8a 5d fe             	mov    -0x2(%ebp),%bl
4791b4:	6a 02                	push   $0x2
4791b6:	5f                   	pop    %edi
4791b7:	88 18                	mov    %bl,(%eax)
4791b9:	40                   	inc    %eax
4791ba:	8b 5d 08             	mov    0x8(%ebp),%ebx