408fb3:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
408fb7:	50                   	push   %eax
408fb8:	0f b7 01             	movzwl (%ecx),%eax
408fbb:	8d 8d a4 ef ff ff    	lea    -0x105c(%ebp),%ecx
408fc1:	50                   	push   %eax
408fc2:	e8 dc f7 ff ff       	call   0x4087a3
408fc7:	8d 85 ec ef ff ff    	lea    -0x1014(%ebp),%eax
408fcd:	c7 85 ec ef ff ff 00 	movl   $0x1000,-0x1014(%ebp)
408fd4:	10 00 00
408fd7:	50                   	push   %eax
408fd8:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
408fde:	50                   	push   %eax
408fdf:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
408fe5:	50                   	push   %eax
408fe6:	51                   	push   %ecx
408fe7:	8b cb                	mov    %ebx,%ecx
408fe9:	e8 24 e9 ff ff       	call   0x407912
408fee:	8b f0                	mov    %eax,%esi
408ff0:	8b ce                	mov    %esi,%ecx
408ff2:	e8 54 da ff ff       	call   0x406a4b
408ff7:	85 f6                	test   %esi,%esi
408ff9:	74 10                	je     0x40900b
408ffb:	33 c0                	xor    %eax,%eax
408ffd:	21 85 e4 ef ff ff    	and    %eax,-0x101c(%ebp)
409003:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
409009:	eb 06                	jmp    0x409011
40900b:	8b 85 ec ef ff ff    	mov    -0x1014(%ebp),%eax
409011:	68 00 10 00 00       	push   $0x1000
409016:	50                   	push   %eax
409017:	8d 85 f4 ef ff ff    	lea    -0x100c(%ebp),%eax
40901d:	50                   	push   %eax
40901e:	8d 8d a4 ef ff ff    	lea    -0x105c(%ebp),%ecx
409024:	e8 73 f8 ff ff       	call   0x40889c
409029:	80 bd c5 ef ff ff 00 	cmpb   $0x0,-0x103b(%ebp)
409030:	0f 85 00 01 00 00    	jne    0x409136
409036:	83 a5 e0 ef ff ff 00 	andl   $0x0,-0x1020(%ebp)
40903d:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
409043:	89 85 c8 ef ff ff    	mov    %eax,-0x1038(%ebp)
409049:	8d b5 c8 ef ff ff    	lea    -0x1038(%ebp),%esi
40904f:	83 ec 48             	sub    $0x48,%esp
409052:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
409058:	89 85 cc ef ff ff    	mov    %eax,-0x1034(%ebp)
40905e:	8b cc                	mov    %esp,%ecx
409060:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
409066:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
40906c:	8d 41 08             	lea    0x8(%ecx),%eax
40906f:	8d 78 04             	lea    0x4(%eax),%edi
409072:	c7 00 48 10 40 00    	movl   $0x401048,(%eax)
409078:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409079:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40907a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40907b:	89 41 40             	mov    %eax,0x40(%ecx)
40907e:	8b 8d d8 ef ff ff    	mov    -0x1028(%ebp),%ecx
409084:	e8 02 f9 ff ff       	call   0x40898b
409089:	80 bd c4 ef ff ff 00 	cmpb   $0x0,-0x103c(%ebp)
409090:	88 85 f3 ef ff ff    	mov    %al,-0x100d(%ebp)
409096:	74 47                	je     0x4090df
409098:	8b 8d b8 ef ff ff    	mov    -0x1048(%ebp),%ecx
40909e:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
4090a4:	2b ca                	sub    %edx,%ecx
4090a6:	6a 01                	push   $0x1
4090a8:	ff b5 e4 ef ff ff    	push   -0x101c(%ebp)
4090ae:	51                   	push   %ecx
4090af:	51                   	push   %ecx
4090b0:	51                   	push   %ecx
4090b1:	8b cb                	mov    %ebx,%ecx
4090b3:	e8 af e8 ff ff       	call   0x407967
4090b8:	3d 01 00 00 c0       	cmp    $0xc0000001,%eax
4090bd:	74 61                	je     0x409120
4090bf:	85 c0                	test   %eax,%eax
4090c1:	74 1c                	je     0x4090df
4090c3:	8b 85 b8 ef ff ff    	mov    -0x1048(%ebp),%eax
4090c9:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
4090cf:	2b c2                	sub    %edx,%eax
4090d1:	6a 00                	push   $0x0
4090d3:	6a 00                	push   $0x0
4090d5:	51                   	push   %ecx
4090d6:	51                   	push   %ecx
4090d7:	50                   	push   %eax
4090d8:	8b cb                	mov    %ebx,%ecx
4090da:	e8 88 e8 ff ff       	call   0x407967
4090df:	8b 85 e0 ef ff ff    	mov    -0x1020(%ebp),%eax
4090e5:	83 c3 08             	add    $0x8,%ebx
4090e8:	8b bd e8 ef ff ff    	mov    -0x1018(%ebp),%edi
4090ee:	89 85 dc ef ff ff    	mov    %eax,-0x1024(%ebp)
4090f4:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4090fa:	e8 46 12 00 00       	call   0x40a345
4090ff:	80 bd f3 ef ff ff 00 	cmpb   $0x0,-0x100d(%ebp)
409106:	75 39                	jne    0x409141
409108:	3b 9d d4 ef ff ff    	cmp    -0x102c(%ebp),%ebx
40910e:	73 31                	jae    0x409141
409110:	83 ff 32             	cmp    $0x32,%edi
409113:	73 2c                	jae    0x409141
409115:	8b 8d d8 ef ff ff    	mov    -0x1028(%ebp),%ecx
40911b:	e9 84 fe ff ff       	jmp    0x408fa4
409120:	8b bd e8 ef ff ff    	mov    -0x1018(%ebp),%edi
409126:	47                   	inc    %edi
409127:	c6 85 f3 ef ff ff 00 	movb   $0x0,-0x100d(%ebp)
40912e:	89 bd e8 ef ff ff    	mov    %edi,-0x1018(%ebp)
409134:	eb be                	jmp    0x4090f4
409136:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
40913c:	e8 04 12 00 00       	call   0x40a345
409141:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409144:	5f                   	pop    %edi
409145:	5e                   	pop    %esi
409146:	33 cd                	xor    %ebp,%ecx
409148:	5b                   	pop    %ebx
409149:	e8 22 87 01 00       	call   0x421870
40914e:	c9                   	leave
40914f:	c2 04 00             	ret    $0x4
409152:	8b ff                	mov    %edi,%edi
409154:	53                   	push   %ebx
409155:	56                   	push   %esi
409156:	6a 00                	push   $0x0
409158:	6a 04                	push   $0x4
40915a:	5b                   	pop    %ebx
40915b:	53                   	push   %ebx
40915c:	6a 01                	push   $0x1
40915e:	53                   	push   %ebx
40915f:	6a 00                	push   $0x0
409161:	8b f1                	mov    %ecx,%esi
409163:	e8 3b f6 ff ff       	call   0x4087a3
409168:	6a 02                	push   $0x2
40916a:	53                   	push   %ebx
40916b:	6a 01                	push   $0x1
40916d:	53                   	push   %ebx
40916e:	6a 00                	push   $0x0
409170:	8d 4e 24             	lea    0x24(%esi),%ecx
409173:	e8 2b f6 ff ff       	call   0x4087a3
409178:	6a 01                	push   $0x1
40917a:	6a 00                	push   $0x0
40917c:	6a 01                	push   $0x1
40917e:	53                   	push   %ebx
40917f:	6a 00                	push   $0x0
409181:	8d 4e 48             	lea    0x48(%esi),%ecx
409184:	e8 1a f6 ff ff       	call   0x4087a3
409189:	8b c6                	mov    %esi,%eax
40918b:	5e                   	pop    %esi
40918c:	5b                   	pop    %ebx
40918d:	c3                   	ret
40918e:	8b ff                	mov    %edi,%edi
409190:	55                   	push   %ebp
409191:	8b ec                	mov    %esp,%ebp
409193:	83 e4 f8             	and    $0xfffffff8,%esp
409196:	83 ec 34             	sub    $0x34,%esp
409199:	a1 10 42 42 00       	mov    0x424210,%eax
40919e:	33 c4                	xor    %esp,%eax
4091a0:	89 44 24 30          	mov    %eax,0x30(%esp)
4091a4:	56                   	push   %esi
4091a5:	8b f1                	mov    %ecx,%esi
4091a7:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
4091ab:	74 43                	je     0x4091f0
4091ad:	a1 18 1d 40 00       	mov    0x401d18,%eax
4091b2:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4091b6:	89 44 24 04          	mov    %eax,0x4(%esp)
4091ba:	a1 1c 1d 40 00       	mov    0x401d1c,%eax
4091bf:	89 44 24 08          	mov    %eax,0x8(%esp)
4091c3:	a1 08 1d 40 00       	mov    0x401d08,%eax
4091c8:	89 44 24 0c          	mov    %eax,0xc(%esp)
4091cc:	a1 0c 1d 40 00       	mov    0x401d0c,%eax
4091d1:	56                   	push   %esi
4091d2:	89 44 24 14          	mov    %eax,0x14(%esp)
4091d6:	a1 40 1d 40 00       	mov    0x401d40,%eax
4091db:	6a 03                	push   $0x3
4091dd:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4091e1:	a1 44 1d 40 00       	mov    0x401d44,%eax
4091e6:	5a                   	pop    %edx
4091e7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4091eb:	e8 76 fd ff ff       	call   0x408f66
4091f0:	80 7e 44 00          	cmpb   $0x0,0x44(%esi)
4091f4:	74 46                	je     0x40923c
4091f6:	a1 50 1d 40 00       	mov    0x401d50,%eax
4091fb:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4091ff:	89 44 24 04          	mov    %eax,0x4(%esp)
409203:	a1 54 1d 40 00       	mov    0x401d54,%eax
409208:	89 44 24 08          	mov    %eax,0x8(%esp)
40920c:	a1 e8 1c 40 00       	mov    0x401ce8,%eax
409211:	89 44 24 0c          	mov    %eax,0xc(%esp)
409215:	a1 ec 1c 40 00       	mov    0x401cec,%eax
40921a:	89 44 24 10          	mov    %eax,0x10(%esp)
40921e:	a1 10 1d 40 00       	mov    0x401d10,%eax
409223:	89 44 24 14          	mov    %eax,0x14(%esp)
409227:	a1 14 1d 40 00       	mov    0x401d14,%eax
40922c:	89 44 24 18          	mov    %eax,0x18(%esp)
409230:	8d 46 24             	lea    0x24(%esi),%eax
409233:	50                   	push   %eax
409234:	6a 03                	push   $0x3
409236:	5a                   	pop    %edx
409237:	e8 2a fd ff ff       	call   0x408f66
40923c:	80 7e 68 00          	cmpb   $0x0,0x68(%esi)
409240:	74 7c                	je     0x4092be
409242:	a1 38 1d 40 00       	mov    0x401d38,%eax
409247:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40924b:	89 44 24 04          	mov    %eax,0x4(%esp)
40924f:	a1 3c 1d 40 00       	mov    0x401d3c,%eax
409254:	89 44 24 08          	mov    %eax,0x8(%esp)
409258:	a1 e0 1c 40 00       	mov    0x401ce0,%eax
40925d:	89 44 24 0c          	mov    %eax,0xc(%esp)
409261:	a1 e4 1c 40 00       	mov    0x401ce4,%eax
409266:	89 44 24 10          	mov    %eax,0x10(%esp)
40926a:	a1 20 1d 40 00       	mov    0x401d20,%eax
40926f:	89 44 24 14          	mov    %eax,0x14(%esp)
409273:	a1 24 1d 40 00       	mov    0x401d24,%eax
409278:	89 44 24 18          	mov    %eax,0x18(%esp)
40927c:	a1 f0 1c 40 00       	mov    0x401cf0,%eax
409281:	89 44 24 1c          	mov    %eax,0x1c(%esp)
409285:	a1 f4 1c 40 00       	mov    0x401cf4,%eax
40928a:	89 44 24 20          	mov    %eax,0x20(%esp)
40928e:	a1 00 1d 40 00       	mov    0x401d00,%eax
409293:	89 44 24 24          	mov    %eax,0x24(%esp)
409297:	a1 04 1d 40 00       	mov    0x401d04,%eax
40929c:	89 44 24 28          	mov    %eax,0x28(%esp)
4092a0:	a1 30 1d 40 00       	mov    0x401d30,%eax
4092a5:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4092a9:	a1 34 1d 40 00       	mov    0x401d34,%eax
4092ae:	89 44 24 30          	mov    %eax,0x30(%esp)
4092b2:	8d 46 48             	lea    0x48(%esi),%eax
4092b5:	50                   	push   %eax
4092b6:	6a 06                	push   $0x6
4092b8:	5a                   	pop    %edx
4092b9:	e8 a8 fc ff ff       	call   0x408f66
4092be:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4092c2:	5e                   	pop    %esi
4092c3:	33 cc                	xor    %esp,%ecx
4092c5:	e8 a6 85 01 00       	call   0x421870
4092ca:	8b e5                	mov    %ebp,%esp
4092cc:	5d                   	pop    %ebp
4092cd:	c3                   	ret
4092ce:	8b ff                	mov    %edi,%edi
4092d0:	53                   	push   %ebx
4092d1:	8b dc                	mov    %esp,%ebx
4092d3:	51                   	push   %ecx
4092d4:	51                   	push   %ecx
4092d5:	83 e4 f8             	and    $0xfffffff8,%esp
4092d8:	83 c4 04             	add    $0x4,%esp
4092db:	55                   	push   %ebp
4092dc:	8b 6b 04             	mov    0x4(%ebx),%ebp
4092df:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4092e3:	8b ec                	mov    %esp,%ebp
4092e5:	51                   	push   %ecx
4092e6:	51                   	push   %ecx
4092e7:	8b 43 08             	mov    0x8(%ebx),%eax
4092ea:	33 d2                	xor    %edx,%edx
4092ec:	56                   	push   %esi
4092ed:	8d 71 18             	lea    0x18(%ecx),%esi
4092f0:	57                   	push   %edi
4092f1:	83 20 00             	andl   $0x0,(%eax)
4092f4:	8b 46 04             	mov    0x4(%esi),%eax
4092f7:	8b 3e                	mov    (%esi),%edi
4092f9:	2b c7                	sub    %edi,%eax
4092fb:	c1 e8 03             	shr    $0x3,%eax
4092fe:	85 c0                	test   %eax,%eax
409300:	74 12                	je     0x409314
409302:	83 3c d7 00          	cmpl   $0x0,(%edi,%edx,8)
409306:	8d 4a 01             	lea    0x1(%edx),%ecx
409309:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40930c:	74 3b                	je     0x409349
40930e:	8b d1                	mov    %ecx,%edx
409310:	3b d0                	cmp    %eax,%edx
409312:	72 ee                	jb     0x409302
409314:	8b 43 0c             	mov    0xc(%ebx),%eax
409317:	8b ce                	mov    %esi,%ecx
409319:	89 45 f8             	mov    %eax,-0x8(%ebp)
40931c:	8b 43 10             	mov    0x10(%ebx),%eax
40931f:	89 45 fc             	mov    %eax,-0x4(%ebp)
409322:	8d 45 f8             	lea    -0x8(%ebp),%eax
409325:	6a 08                	push   $0x8
409327:	50                   	push   %eax
409328:	e8 4c f0 ff ff       	call   0x408379
40932d:	84 c0                	test   %al,%al
40932f:	74 0d                	je     0x40933e
409331:	8b 46 04             	mov    0x4(%esi),%eax
409334:	2b 06                	sub    (%esi),%eax
409336:	8b 4b 08             	mov    0x8(%ebx),%ecx
409339:	c1 e8 03             	shr    $0x3,%eax
40933c:	89 01                	mov    %eax,(%ecx)
40933e:	5f                   	pop    %edi
40933f:	5e                   	pop    %esi
409340:	8b e5                	mov    %ebp,%esp
409342:	5d                   	pop    %ebp
409343:	8b e3                	mov    %ebx,%esp
409345:	5b                   	pop    %ebx
409346:	c2 0c 00             	ret    $0xc
409349:	8b 43 0c             	mov    0xc(%ebx),%eax
40934c:	8b 4b 10             	mov    0x10(%ebx),%ecx
40934f:	89 04 d7             	mov    %eax,(%edi,%edx,8)
409352:	8b 43 08             	mov    0x8(%ebx),%eax
409355:	89 4c d7 04          	mov    %ecx,0x4(%edi,%edx,8)
409359:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40935c:	89 08                	mov    %ecx,(%eax)
40935e:	eb de                	jmp    0x40933e
409360:	8b ff                	mov    %edi,%edi
409362:	55                   	push   %ebp
409363:	8b ec                	mov    %esp,%ebp
409365:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
409369:	56                   	push   %esi
40936a:	8b f1                	mov    %ecx,%esi
40936c:	74 46                	je     0x4093b4
40936e:	56                   	push   %esi
40936f:	ff 15 98 61 42 00    	call   *0x426198
409375:	ff 75 08             	push   0x8(%ebp)
409378:	ff 15 60 61 42 00    	call   *0x426160
40937e:	8b 46 1c             	mov    0x1c(%esi),%eax
409381:	8b 56 18             	mov    0x18(%esi),%edx
409384:	2b c2                	sub    %edx,%eax
409386:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409389:	49                   	dec    %ecx
40938a:	c1 e8 03             	shr    $0x3,%eax
40938d:	3b c8                	cmp    %eax,%ecx
40938f:	73 09                	jae    0x40939a
409391:	83 24 ca 00          	andl   $0x0,(%edx,%ecx,8)
409395:	83 64 ca 04 00       	andl   $0x0,0x4(%edx,%ecx,8)
40939a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40939e:	74 09                	je     0x4093a9
4093a0:	ff 75 08             	push   0x8(%ebp)
4093a3:	ff 15 6c 61 42 00    	call   *0x42616c
4093a9:	85 f6                	test   %esi,%esi
4093ab:	74 07                	je     0x4093b4
4093ad:	56                   	push   %esi
4093ae:	ff 15 8c 61 42 00    	call   *0x42618c
4093b4:	5e                   	pop    %esi
4093b5:	5d                   	pop    %ebp
4093b6:	c2 08 00             	ret    $0x8
4093b9:	8b ff                	mov    %edi,%edi
4093bb:	55                   	push   %ebp
4093bc:	8b ec                	mov    %esp,%ebp
4093be:	83 ec 10             	sub    $0x10,%esp
4093c1:	56                   	push   %esi
4093c2:	57                   	push   %edi
4093c3:	8b 7d 08             	mov    0x8(%ebp),%edi
4093c6:	57                   	push   %edi
4093c7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4093ca:	ff 15 70 60 42 00    	call   *0x426070
4093d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4093d3:	8b 70 1c             	mov    0x1c(%eax),%esi
4093d6:	2b 70 18             	sub    0x18(%eax),%esi
4093d9:	c1 ee 03             	shr    $0x3,%esi
4093dc:	85 ff                	test   %edi,%edi
4093de:	74 0a                	je     0x4093ea
4093e0:	57                   	push   %edi
4093e1:	ff 15 4c 61 42 00    	call   *0x42614c
4093e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4093ea:	33 ff                	xor    %edi,%edi
4093ec:	85 f6                	test   %esi,%esi
4093ee:	0f 84 8a 00 00 00    	je     0x40947e
4093f4:	33 c9                	xor    %ecx,%ecx
4093f6:	21 4d f4             	and    %ecx,-0xc(%ebp)
4093f9:	50                   	push   %eax
4093fa:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4093fd:	ff 15 98 61 42 00    	call   *0x426198