406f2d:	7c 03                	jl     0x406f32
406f2f:	6a 03                	push   $0x3
406f31:	58                   	pop    %eax
406f32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406f35:	c7 45 c0 06 00 00 00 	movl   $0x6,-0x40(%ebp)
406f3c:	c1 e0 07             	shl    $0x7,%eax
406f3f:	c7 45 84 19 00 00 00 	movl   $0x19,-0x7c(%ebp)
406f46:	8d 84 08 60 03 00 00 	lea    0x360(%eax,%ecx,1),%eax
406f4d:	89 45 a8             	mov    %eax,-0x58(%ebp)
406f50:	e9 ce 02 00 00       	jmp    0x407223
406f55:	83 fb 04             	cmp    $0x4,%ebx
406f58:	7c 34                	jl     0x406f8e
406f5a:	8b cb                	mov    %ebx,%ecx
406f5c:	8b c3                	mov    %ebx,%eax
406f5e:	d1 f9                	sar    $1,%ecx
406f60:	83 e0 01             	and    $0x1,%eax
406f63:	49                   	dec    %ecx
406f64:	0c 02                	or     $0x2,%al
406f66:	d3 e0                	shl    %cl,%eax
406f68:	83 fb 0e             	cmp    $0xe,%ebx
406f6b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406f6e:	7d 14                	jge    0x406f84
406f70:	8b 55 fc             	mov    -0x4(%ebp),%edx
406f73:	2b c3                	sub    %ebx,%eax
406f75:	89 4d c0             	mov    %ecx,-0x40(%ebp)
406f78:	8d 84 42 5e 05 00 00 	lea    0x55e(%edx,%eax,2),%eax
406f7f:	e9 81 00 00 00       	jmp    0x407005
406f84:	33 db                	xor    %ebx,%ebx
406f86:	83 c1 fc             	add    $0xfffffffc,%ecx
406f89:	89 4d b8             	mov    %ecx,-0x48(%ebp)
406f8c:	eb 33                	jmp    0x406fc1
406f8e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
406f91:	e9 28 01 00 00       	jmp    0x4070be
406f96:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406f9a:	0f 84 98 03 00 00    	je     0x407338
406fa0:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406fa3:	8b 45 f4             	mov    -0xc(%ebp),%eax
406fa6:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406faa:	0f b6 09             	movzbl (%ecx),%ecx
406fad:	ff 4d 94             	decl   -0x6c(%ebp)
406fb0:	c1 e0 08             	shl    $0x8,%eax
406fb3:	0b c1                	or     %ecx,%eax
406fb5:	ff 45 90             	incl   -0x70(%ebp)
406fb8:	89 45 f4             	mov    %eax,-0xc(%ebp)
406fbb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
406fbe:	ff 4d b8             	decl   -0x48(%ebp)
406fc1:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
406fc5:	7e 27                	jle    0x406fee
406fc7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406fca:	03 db                	add    %ebx,%ebx
406fcc:	d1 6d f0             	shrl   $1,-0x10(%ebp)
406fcf:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
406fd2:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406fd5:	72 0c                	jb     0x406fe3
406fd7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406fda:	29 4d f4             	sub    %ecx,-0xc(%ebp)
406fdd:	83 cb 01             	or     $0x1,%ebx
406fe0:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406fe3:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406fea:	73 d2                	jae    0x406fbe
406fec:	eb a8                	jmp    0x406f96
406fee:	c1 e3 04             	shl    $0x4,%ebx
406ff1:	03 c3                	add    %ebx,%eax
406ff3:	c7 45 c0 04 00 00 00 	movl   $0x4,-0x40(%ebp)
406ffa:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406ffd:	8b 45 fc             	mov    -0x4(%ebp),%eax
407000:	05 44 06 00 00       	add    $0x644,%eax
407005:	33 db                	xor    %ebx,%ebx
407007:	89 45 a8             	mov    %eax,-0x58(%ebp)
40700a:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
407011:	89 5d bc             	mov    %ebx,-0x44(%ebp)
407014:	89 5d b8             	mov    %ebx,-0x48(%ebp)
407017:	eb 28                	jmp    0x407041
407019:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40701d:	0f 84 21 03 00 00    	je     0x407344
407023:	8b 4d 90             	mov    -0x70(%ebp),%ecx
407026:	8b 45 f4             	mov    -0xc(%ebp),%eax
407029:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
40702d:	0f b6 09             	movzbl (%ecx),%ecx
407030:	ff 4d 94             	decl   -0x6c(%ebp)
407033:	c1 e0 08             	shl    $0x8,%eax
407036:	0b c1                	or     %ecx,%eax
407038:	ff 45 90             	incl   -0x70(%ebp)
40703b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40703e:	ff 45 b8             	incl   -0x48(%ebp)
407041:	8b 45 c0             	mov    -0x40(%ebp),%eax
407044:	39 45 b8             	cmp    %eax,-0x48(%ebp)
407047:	7d 72                	jge    0x4070bb
407049:	8b 45 b0             	mov    -0x50(%ebp),%eax
40704c:	8b 55 f0             	mov    -0x10(%ebp),%edx
40704f:	c1 ea 0b             	shr    $0xb,%edx
407052:	8d 3c 00             	lea    (%eax,%eax,1),%edi
407055:	8b 45 a8             	mov    -0x58(%ebp),%eax
407058:	8d 34 07             	lea    (%edi,%eax,1),%esi
40705b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40705e:	66 8b 06             	mov    (%esi),%ax
407061:	0f b7 c8             	movzwl %ax,%ecx
407064:	0f af d1             	imul   %ecx,%edx
407067:	39 55 f4             	cmp    %edx,-0xc(%ebp)
40706a:	73 17                	jae    0x407083
40706c:	89 55 f0             	mov    %edx,-0x10(%ebp)
40706f:	ba 00 08 00 00       	mov    $0x800,%edx
407074:	2b d1                	sub    %ecx,%edx
407076:	c1 fa 05             	sar    $0x5,%edx
407079:	03 d0                	add    %eax,%edx
40707b:	d1 65 b0             	shll   $1,-0x50(%ebp)
40707e:	66 89 16             	mov    %dx,(%esi)
407081:	eb 2a                	jmp    0x4070ad
407083:	33 c9                	xor    %ecx,%ecx
407085:	29 55 f0             	sub    %edx,-0x10(%ebp)
407088:	41                   	inc    %ecx
407089:	29 55 f4             	sub    %edx,-0xc(%ebp)
40708c:	8b d9                	mov    %ecx,%ebx
40708e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
407091:	d3 e3                	shl    %cl,%ebx
407093:	8b cb                	mov    %ebx,%ecx
407095:	8b 5d bc             	mov    -0x44(%ebp),%ebx
407098:	0b d9                	or     %ecx,%ebx
40709a:	66 8b c8             	mov    %ax,%cx
40709d:	66 c1 e9 05          	shr    $0x5,%cx
4070a1:	2b c1                	sub    %ecx,%eax
4070a3:	47                   	inc    %edi
4070a4:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4070a7:	66 89 06             	mov    %ax,(%esi)
4070aa:	89 7d b0             	mov    %edi,-0x50(%ebp)
4070ad:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4070b4:	73 88                	jae    0x40703e
4070b6:	e9 5e ff ff ff       	jmp    0x407019
4070bb:	01 5d d4             	add    %ebx,-0x2c(%ebp)
4070be:	ff 45 d4             	incl   -0x2c(%ebp)
4070c1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4070c4:	85 c0                	test   %eax,%eax
4070c6:	0f 84 84 02 00 00    	je     0x407350
4070cc:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4070cf:	0f 87 b8 02 00 00    	ja     0x40738d
4070d5:	83 45 d0 02          	addl   $0x2,-0x30(%ebp)
4070d9:	8b 45 d0             	mov    -0x30(%ebp),%eax
4070dc:	01 45 a0             	add    %eax,-0x60(%ebp)
4070df:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
4070e3:	0f 84 6d 02 00 00    	je     0x407356
4070e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4070ec:	2b 45 d4             	sub    -0x2c(%ebp),%eax
4070ef:	3b 45 8c             	cmp    -0x74(%ebp),%eax
4070f2:	72 03                	jb     0x4070f7
4070f4:	03 45 8c             	add    -0x74(%ebp),%eax
4070f7:	8b 55 f8             	mov    -0x8(%ebp),%edx
4070fa:	8a 0c 10             	mov    (%eax,%edx,1),%cl
4070fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
407100:	88 4d a4             	mov    %cl,-0x5c(%ebp)
407103:	88 0c 10             	mov    %cl,(%eax,%edx,1)
407106:	40                   	inc    %eax
407107:	33 d2                	xor    %edx,%edx
407109:	f7 75 8c             	divl   -0x74(%ebp)
40710c:	8b 45 98             	mov    -0x68(%ebp),%eax
40710f:	ff 45 98             	incl   -0x68(%ebp)
407112:	ff 4d 9c             	decl   -0x64(%ebp)
407115:	ff 4d d0             	decl   -0x30(%ebp)
407118:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
40711c:	88 08                	mov    %cl,(%eax)
40711e:	89 55 ec             	mov    %edx,-0x14(%ebp)
407121:	7f bc                	jg     0x4070df
407123:	e9 78 fd ff ff       	jmp    0x406ea0
407128:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
40712c:	75 20                	jne    0x40714e
40712e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
407131:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
407135:	8b 4d a8             	mov    -0x58(%ebp),%ecx
407138:	c1 e0 04             	shl    $0x4,%eax
40713b:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
40713f:	89 45 a8             	mov    %eax,-0x58(%ebp)
407142:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
407149:	e9 ce 00 00 00       	jmp    0x40721c
40714e:	8b 45 a8             	mov    -0x58(%ebp),%eax
407151:	c7 85 7c ff ff ff 13 	movl   $0x13,-0x84(%ebp)
407158:	00 00 00
40715b:	8d 70 02             	lea    0x2(%eax),%esi
40715e:	89 75 ac             	mov    %esi,-0x54(%ebp)
407161:	66 8b 06             	mov    (%esi),%ax
407164:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407167:	0f b7 d0             	movzwl %ax,%edx
40716a:	c1 e9 0b             	shr    $0xb,%ecx
40716d:	0f af ca             	imul   %edx,%ecx
407170:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
407173:	73 18                	jae    0x40718d
407175:	89 4d f0             	mov    %ecx,-0x10(%ebp)
407178:	b9 00 08 00 00       	mov    $0x800,%ecx
40717d:	2b ca                	sub    %edx,%ecx
40717f:	c1 f9 05             	sar    $0x5,%ecx
407182:	03 c8                	add    %eax,%ecx
407184:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
407188:	66 89 0e             	mov    %cx,(%esi)
40718b:	eb 19                	jmp    0x4071a6
40718d:	29 4d f0             	sub    %ecx,-0x10(%ebp)
407190:	29 4d f4             	sub    %ecx,-0xc(%ebp)
407193:	66 8b c8             	mov    %ax,%cx
407196:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
40719d:	66 c1 e9 05          	shr    $0x5,%cx
4071a1:	2b c1                	sub    %ecx,%eax
4071a3:	66 89 06             	mov    %ax,(%esi)
4071a6:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4071ad:	73 25                	jae    0x4071d4
4071af:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
4071b3:	0f 84 a9 01 00 00    	je     0x407362
4071b9:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4071bc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4071bf:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
4071c3:	0f b6 09             	movzbl (%ecx),%ecx
4071c6:	ff 4d 94             	decl   -0x6c(%ebp)
4071c9:	c1 e0 08             	shl    $0x8,%eax
4071cc:	0b c1                	or     %ecx,%eax
4071ce:	ff 45 90             	incl   -0x70(%ebp)
4071d1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4071d4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
4071da:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
4071e0:	e9 91 f7 ff ff       	jmp    0x406976
4071e5:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
4071e9:	75 1c                	jne    0x407207
4071eb:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4071ee:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4071f1:	c1 e0 04             	shl    $0x4,%eax
4071f4:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
4071fb:	8d 84 01 04 01 00 00 	lea    0x104(%ecx,%eax,1),%eax
407202:	e9 38 ff ff ff       	jmp    0x40713f
407207:	81 45 a8 04 02 00 00 	addl   $0x204,-0x58(%ebp)
40720e:	c7 45 d0 10 00 00 00 	movl   $0x10,-0x30(%ebp)
407215:	c7 45 c0 08 00 00 00 	movl   $0x8,-0x40(%ebp)
40721c:	c7 45 84 14 00 00 00 	movl   $0x14,-0x7c(%ebp)
407223:	8b 45 c0             	mov    -0x40(%ebp),%eax
407226:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
40722d:	89 45 b8             	mov    %eax,-0x48(%ebp)
407230:	eb 28                	jmp    0x40725a
407232:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
407236:	0f 84 32 01 00 00    	je     0x40736e
40723c:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40723f:	8b 45 f4             	mov    -0xc(%ebp),%eax
407242:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
407246:	0f b6 09             	movzbl (%ecx),%ecx
407249:	ff 4d 94             	decl   -0x6c(%ebp)
40724c:	c1 e0 08             	shl    $0x8,%eax
40724f:	0b c1                	or     %ecx,%eax
407251:	ff 45 90             	incl   -0x70(%ebp)
407254:	89 45 f4             	mov    %eax,-0xc(%ebp)
407257:	ff 4d b8             	decl   -0x48(%ebp)
40725a:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
40725e:	7e 5e                	jle    0x4072be
407260:	8b 45 b0             	mov    -0x50(%ebp),%eax
407263:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407266:	c1 e9 0b             	shr    $0xb,%ecx
407269:	8d 14 00             	lea    (%eax,%eax,1),%edx
40726c:	8b 45 a8             	mov    -0x58(%ebp),%eax
40726f:	8d 34 02             	lea    (%edx,%eax,1),%esi
407272:	89 75 ac             	mov    %esi,-0x54(%ebp)
407275:	66 8b 06             	mov    (%esi),%ax
407278:	0f b7 f8             	movzwl %ax,%edi
40727b:	0f af cf             	imul   %edi,%ecx
40727e:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
407281:	73 17                	jae    0x40729a
407283:	89 4d f0             	mov    %ecx,-0x10(%ebp)
407286:	b9 00 08 00 00       	mov    $0x800,%ecx
40728b:	2b cf                	sub    %edi,%ecx
40728d:	c1 f9 05             	sar    $0x5,%ecx
407290:	03 c8                	add    %eax,%ecx
407292:	d1 65 b0             	shll   $1,-0x50(%ebp)
407295:	66 89 0e             	mov    %cx,(%esi)
407298:	eb 16                	jmp    0x4072b0
40729a:	29 4d f0             	sub    %ecx,-0x10(%ebp)
40729d:	29 4d f4             	sub    %ecx,-0xc(%ebp)
4072a0:	66 8b c8             	mov    %ax,%cx
4072a3:	66 c1 e9 05          	shr    $0x5,%cx
4072a7:	2b c1                	sub    %ecx,%eax
4072a9:	42                   	inc    %edx
4072aa:	66 89 06             	mov    %ax,(%esi)
4072ad:	89 55 b0             	mov    %edx,-0x50(%ebp)
4072b0:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4072b7:	73 9e                	jae    0x407257
4072b9:	e9 74 ff ff ff       	jmp    0x407232
4072be:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4072c1:	8b 5d b0             	mov    -0x50(%ebp),%ebx
4072c4:	33 c0                	xor    %eax,%eax
4072c6:	40                   	inc    %eax
4072c7:	d3 e0                	shl    %cl,%eax
4072c9:	2b d8                	sub    %eax,%ebx
4072cb:	8b 45 84             	mov    -0x7c(%ebp),%eax
4072ce:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4072d1:	e9 04 ff ff ff       	jmp    0x4071da
4072d6:	01 5d d0             	add    %ebx,-0x30(%ebp)
4072d9:	8b 45 80             	mov    -0x80(%ebp),%eax
4072dc:	e9 f9 fe ff ff       	jmp    0x4071da
4072e1:	c7 85 78 ff ff ff 01 	movl   $0x1,-0x88(%ebp)
4072e8:	00 00 00
4072eb:	e9 88 00 00 00       	jmp    0x407378
4072f0:	c7 85 78 ff ff ff 03 	movl   $0x3,-0x88(%ebp)
4072f7:	00 00 00
4072fa:	eb 7c                	jmp    0x407378
4072fc:	c7 85 78 ff ff ff 0d 	movl   $0xd,-0x88(%ebp)
407303:	00 00 00
407306:	eb 70                	jmp    0x407378
407308:	c7 85 78 ff ff ff 0e 	movl   $0xe,-0x88(%ebp)
40730f:	00 00 00
407312:	eb 64                	jmp    0x407378
407314:	c7 85 78 ff ff ff 0f 	movl   $0xf,-0x88(%ebp)
40731b:	00 00 00
40731e:	eb 58                	jmp    0x407378
407320:	c7 85 78 ff ff ff 1a 	movl   $0x1a,-0x88(%ebp)
407327:	00 00 00
40732a:	eb 4c                	jmp    0x407378
40732c:	c7 85 78 ff ff ff 1b 	movl   $0x1b,-0x88(%ebp)
407333:	00 00 00
407336:	eb 40                	jmp    0x407378
407338:	c7 85 78 ff ff ff 0c 	movl   $0xc,-0x88(%ebp)
40733f:	00 00 00
407342:	eb 34                	jmp    0x407378
407344:	c7 85 78 ff ff ff 10 	movl   $0x10,-0x88(%ebp)
40734b:	00 00 00
40734e:	eb 28                	jmp    0x407378
407350:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
407354:	eb 22                	jmp    0x407378
407356:	c7 85 78 ff ff ff 1c 	movl   $0x1c,-0x88(%ebp)
40735d:	00 00 00
407360:	eb 16                	jmp    0x407378
407362:	c7 85 78 ff ff ff 05 	movl   $0x5,-0x88(%ebp)
407369:	00 00 00
40736c:	eb 0a                	jmp    0x407378
40736e:	c7 85 78 ff ff ff 18 	movl   $0x18,-0x88(%ebp)
407375:	00 00 00
407378:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
40737e:	6a 22                	push   $0x22
407380:	59                   	pop    %ecx
407381:	8d b5 78 ff ff ff    	lea    -0x88(%ebp),%esi
407387:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
407389:	33 c0                	xor    %eax,%eax
40738b:	eb 03                	jmp    0x407390
40738d:	83 c8 ff             	or     $0xffffffff,%eax
407390:	5f                   	pop    %edi
407391:	5e                   	pop    %esi
407392:	5b                   	pop    %ebx
407393:	c9                   	leave
407394:	c3                   	ret
407395:	8c 69 40             	mov    %gs,0x40(%ecx)
407398:	00 31                	add    %dh,(%ecx)
40739a:	6a 40                	push   $0x40
40739c:	00 cc                	add    %cl,%ah
40739e:	6a 40                	push   $0x40
4073a0:	00 a1 6a 40 00 61    	add    %ah,0x6100406a(%ecx)
4073a6:	71 40                	jno    0x4073e8
4073a8:	00 af 71 40 00 f2    	add    %ch,-0xdffbf8f(%edi)
4073ae:	6a 40                	push   $0x40
4073b0:	00 91 6d 40 00 fb    	add    %dl,-0x4ffbf93(%ecx)
4073b6:	6d                   	insl   (%dx),%es:(%edi)
4073b7:	40                   	inc    %eax