40123e:	c6 46 18 00          	movb   $0x0,0x18(%esi)
401242:	c6 46 34 00          	movb   $0x0,0x34(%esi)
401246:	89 f0                	mov    %esi,%eax
401248:	e9 73 05 00 00       	jmp    0x4017c0
40124d:	c7 84 45 8e fc ff ff 	movl   $0x6d0069,-0x372(%ebp,%eax,2)
401254:	69 00 6d 00
401258:	c7 84 45 8a fc ff ff 	movl   $0x680073,-0x376(%ebp,%eax,2)
40125f:	73 00 68 00
401263:	66 c7 84 45 92 fc ff 	movw   $0x0,-0x36e(%ebp,%eax,2)
40126a:	ff 00 00
40126d:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
401274:	8d 45 b8             	lea    -0x48(%ebp),%eax
401277:	68 0a 92 41 00       	push   $0x41920a
40127c:	57                   	push   %edi
40127d:	50                   	push   %eax
40127e:	e8 28 59 00 00       	call   0x406bab
401283:	83 c4 0c             	add    $0xc,%esp
401286:	85 c0                	test   %eax,%eax
401288:	74 2c                	je     0x4012b6
40128a:	6a 02                	push   $0x2
40128c:	e8 fa 53 00 00       	call   0x40668b
401291:	83 c4 04             	add    $0x4,%esp
401294:	50                   	push   %eax
401295:	6a 01                	push   $0x1
401297:	6a 20                	push   $0x20
401299:	68 22 92 41 00       	push   $0x419222
40129e:	e8 18 58 00 00       	call   0x406abb
4012a3:	83 c4 10             	add    $0x10,%esp
4012a6:	8b 45 08             	mov    0x8(%ebp),%eax
4012a9:	c6 40 18 00          	movb   $0x0,0x18(%eax)
4012ad:	c6 40 34 00          	movb   $0x0,0x34(%eax)
4012b1:	e9 0a 05 00 00       	jmp    0x4017c0
4012b6:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4012b9:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4012bd:	c6 45 b4 00          	movb   $0x0,-0x4c(%ebp)
4012c1:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4012c4:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)
4012cb:	00 00 00 00 00
4012d0:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
4012d7:	51                   	push   %ecx
4012d8:	68 00 40 00 00       	push   $0x4000
4012dd:	8d 85 90 7c ff ff    	lea    -0x8370(%ebp),%eax
4012e3:	50                   	push   %eax
4012e4:	e8 61 5a 00 00       	call   0x406d4a
4012e9:	83 c4 0c             	add    $0xc,%esp
4012ec:	85 c0                	test   %eax,%eax
4012ee:	0f 84 21 03 00 00    	je     0x401615
4012f4:	8d 85 90 7c ff ff    	lea    -0x8370(%ebp),%eax
4012fa:	50                   	push   %eax
4012fb:	e8 77 5b 00 00       	call   0x406e77
401300:	83 c4 04             	add    $0x4,%esp
401303:	83 f8 07             	cmp    $0x7,%eax
401306:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401309:	72 c5                	jb     0x4012d0
40130b:	66 83 bd 98 7c ff ff 	cmpw   $0x20,-0x8368(%ebp)
401312:	20
401313:	75 bb                	jne    0x4012d0
401315:	66 83 bd 9a 7c ff ff 	cmpw   $0x3d,-0x8366(%ebp)
40131c:	3d
40131d:	75 b1                	jne    0x4012d0
40131f:	66 83 bd 9c 7c ff ff 	cmpw   $0x20,-0x8364(%ebp)
401326:	20
401327:	75 a7                	jne    0x4012d0
401329:	66 83 bd 90 7c ff ff 	cmpw   $0x70,-0x8370(%ebp)
401330:	70
401331:	75 5d                	jne    0x401390
401333:	66 83 bd 92 7c ff ff 	cmpw   $0x61,-0x836e(%ebp)
40133a:	61
40133b:	75 53                	jne    0x401390
40133d:	66 83 bd 94 7c ff ff 	cmpw   $0x74,-0x836c(%ebp)
401344:	74
401345:	75 49                	jne    0x401390
401347:	66 83 bd 96 7c ff ff 	cmpw   $0x68,-0x836a(%ebp)
40134e:	68
40134f:	75 3f                	jne    0x401390
401351:	89 c7                	mov    %eax,%edi
401353:	83 c7 f9             	add    $0xfffffff9,%edi
401356:	0f 84 08 01 00 00    	je     0x401464
40135c:	8d 70 ff             	lea    -0x1(%eax),%esi
40135f:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
401362:	83 c1 f2             	add    $0xfffffff2,%ecx
401365:	d1 f9                	sar    $1,%ecx
401367:	31 d2                	xor    %edx,%edx
401369:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
401370:	66 83 bc 15 9e 7c ff 	cmpw   $0x20,-0x8362(%ebp,%edx,1)
401377:	ff 20
401379:	0f 84 89 01 00 00    	je     0x401508
40137f:	83 c2 02             	add    $0x2,%edx
401382:	49                   	dec    %ecx
401383:	75 eb                	jne    0x401370
401385:	e9 df 00 00 00       	jmp    0x401469
40138a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
401390:	66 83 bd 90 7c ff ff 	cmpw   $0x61,-0x8370(%ebp)
401397:	61
401398:	0f 85 32 ff ff ff    	jne    0x4012d0
40139e:	66 83 bd 92 7c ff ff 	cmpw   $0x72,-0x836e(%ebp)
4013a5:	72
4013a6:	0f 85 24 ff ff ff    	jne    0x4012d0
4013ac:	66 83 bd 94 7c ff ff 	cmpw   $0x67,-0x836c(%ebp)
4013b3:	67
4013b4:	0f 85 16 ff ff ff    	jne    0x4012d0
4013ba:	66 83 bd 96 7c ff ff 	cmpw   $0x73,-0x836a(%ebp)
4013c1:	73
4013c2:	0f 85 08 ff ff ff    	jne    0x4012d0
4013c8:	31 db                	xor    %ebx,%ebx
4013ca:	66 83 bc 45 8e 7c ff 	cmpw   $0xa,-0x8372(%ebp,%eax,2)
4013d1:	ff 0a
4013d3:	0f 94 c1             	sete   %cl
4013d6:	80 7d b4 00          	cmpb   $0x0,-0x4c(%ebp)
4013da:	74 4e                	je     0x40142a
4013dc:	8b 7d b0             	mov    -0x50(%ebp),%edi
4013df:	83 ff 08             	cmp    $0x8,%edi
4013e2:	72 42                	jb     0x401426
4013e4:	88 4d bc             	mov    %cl,-0x44(%ebp)
4013e7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4013ea:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
4013ed:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4013f0:	83 c6 02             	add    $0x2,%esi
4013f3:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
4013f9:	72 1a                	jb     0x401415
4013fb:	8b 51 fc             	mov    -0x4(%ecx),%edx
4013fe:	83 c1 fc             	add    $0xfffffffc,%ecx
401401:	29 d1                	sub    %edx,%ecx
401403:	83 f9 20             	cmp    $0x20,%ecx
401406:	0f 83 da 03 00 00    	jae    0x4017e6
40140c:	01 ff                	add    %edi,%edi
40140e:	83 c7 25             	add    $0x25,%edi
401411:	89 fe                	mov    %edi,%esi
401413:	89 d1                	mov    %edx,%ecx
401415:	56                   	push   %esi
401416:	51                   	push   %ecx
401417:	e8 cf 21 00 00       	call   0x4035eb
40141c:	83 c4 08             	add    $0x8,%esp
40141f:	8b 45 dc             	mov    -0x24(%ebp),%eax
401422:	0f b6 4d bc          	movzbl -0x44(%ebp),%ecx
401426:	c6 45 b4 00          	movb   $0x0,-0x4c(%ebp)
40142a:	88 cb                	mov    %cl,%bl
40142c:	f7 db                	neg    %ebx
40142e:	01 d8                	add    %ebx,%eax
401430:	83 c0 f9             	add    $0xfffffff9,%eax
401433:	0f 57 c0             	xorps  %xmm0,%xmm0
401436:	0f 11 45 9c          	movups %xmm0,-0x64(%ebp)
40143a:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
401441:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
401448:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40144b:	50                   	push   %eax
40144c:	8d 85 9e 7c ff ff    	lea    -0x8362(%ebp),%eax
401452:	50                   	push   %eax
401453:	e8 58 1b 00 00       	call   0x402fb0
401458:	c6 45 b4 01          	movb   $0x1,-0x4c(%ebp)
40145c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40145f:	e9 6c fe ff ff       	jmp    0x4012d0
401464:	be 06 00 00 00       	mov    $0x6,%esi
401469:	31 db                	xor    %ebx,%ebx
40146b:	66 83 bc 75 90 7c ff 	cmpw   $0xa,-0x8370(%ebp,%esi,2)
401472:	ff 0a
401474:	0f 94 c1             	sete   %cl
401477:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
40147b:	74 4f                	je     0x4014cc
40147d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401480:	83 f8 08             	cmp    $0x8,%eax
401483:	72 3c                	jb     0x4014c1
401485:	88 4d dc             	mov    %cl,-0x24(%ebp)
401488:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40148b:	8d 34 00             	lea    (%eax,%eax,1),%esi
40148e:	83 c6 02             	add    $0x2,%esi
401491:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
401497:	72 1a                	jb     0x4014b3
401499:	8b 51 fc             	mov    -0x4(%ecx),%edx
40149c:	83 c1 fc             	add    $0xfffffffc,%ecx
40149f:	29 d1                	sub    %edx,%ecx
4014a1:	83 f9 20             	cmp    $0x20,%ecx
4014a4:	0f 83 30 03 00 00    	jae    0x4017da
4014aa:	01 c0                	add    %eax,%eax
4014ac:	83 c0 25             	add    $0x25,%eax
4014af:	89 c6                	mov    %eax,%esi
4014b1:	89 d1                	mov    %edx,%ecx
4014b3:	56                   	push   %esi
4014b4:	51                   	push   %ecx
4014b5:	e8 31 21 00 00       	call   0x4035eb
4014ba:	83 c4 08             	add    $0x8,%esp
4014bd:	0f b6 4d dc          	movzbl -0x24(%ebp),%ecx
4014c1:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4014c5:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
4014cc:	88 cb                	mov    %cl,%bl
4014ce:	29 df                	sub    %ebx,%edi
4014d0:	0f 57 c0             	xorps  %xmm0,%xmm0
4014d3:	0f 11 45 c0          	movups %xmm0,-0x40(%ebp)
4014d7:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4014de:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4014e5:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
4014ec:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4014ef:	57                   	push   %edi
4014f0:	8d 85 9e 7c ff ff    	lea    -0x8362(%ebp),%eax
4014f6:	50                   	push   %eax
4014f7:	e8 b4 1a 00 00       	call   0x402fb0
4014fc:	c6 45 d8 01          	movb   $0x1,-0x28(%ebp)
401500:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401503:	e9 c8 fd ff ff       	jmp    0x4012d0
401508:	83 fa fe             	cmp    $0xfffffffe,%edx
40150b:	0f 84 58 ff ff ff    	je     0x401469
401511:	66 83 bd 9e 7c ff ff 	cmpw   $0x22,-0x8362(%ebp)
401518:	22
401519:	0f 84 4a ff ff ff    	je     0x401469
40151f:	89 45 dc             	mov    %eax,-0x24(%ebp)
401522:	89 7d bc             	mov    %edi,-0x44(%ebp)
401525:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
40152c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40152f:	68 44 92 41 00       	push   $0x419244
401534:	e8 57 0f 00 00       	call   0x402490
401539:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
40153d:	8b 75 bc             	mov    -0x44(%ebp),%esi
401540:	0f 84 8f 02 00 00    	je     0x4017d5
401546:	31 c0                	xor    %eax,%eax
401548:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40154b:	66 83 bc 4d 8e 7c ff 	cmpw   $0xa,-0x8372(%ebp,%ecx,2)
401552:	ff 0a
401554:	0f 94 c0             	sete   %al
401557:	29 c6                	sub    %eax,%esi
401559:	8b 45 d0             	mov    -0x30(%ebp),%eax
40155c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40155f:	89 ca                	mov    %ecx,%edx
401561:	29 c2                	sub    %eax,%edx
401563:	39 f2                	cmp    %esi,%edx
401565:	73 29                	jae    0x401590
401567:	83 ec 10             	sub    $0x10,%esp
40156a:	0f b6 85 9c fe ff ff 	movzbl -0x164(%ebp),%eax
401571:	88 44 24 04          	mov    %al,0x4(%esp)
401575:	89 74 24 0c          	mov    %esi,0xc(%esp)
401579:	8d 85 9e 7c ff ff    	lea    -0x8362(%ebp),%eax
40157f:	89 44 24 08          	mov    %eax,0x8(%esp)
401583:	89 34 24             	mov    %esi,(%esp)
401586:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401589:	e8 c2 1b 00 00       	call   0x403150
40158e:	eb 2e                	jmp    0x4015be
401590:	89 f2                	mov    %esi,%edx
401592:	01 c6                	add    %eax,%esi
401594:	89 75 d0             	mov    %esi,-0x30(%ebp)
401597:	8d 7d c0             	lea    -0x40(%ebp),%edi
40159a:	83 f9 08             	cmp    $0x8,%ecx
40159d:	72 03                	jb     0x4015a2
40159f:	8b 7d c0             	mov    -0x40(%ebp),%edi
4015a2:	8d 04 47             	lea    (%edi,%eax,2),%eax
4015a5:	01 d2                	add    %edx,%edx
4015a7:	52                   	push   %edx
4015a8:	8d 8d 9e 7c ff ff    	lea    -0x8362(%ebp),%ecx
4015ae:	51                   	push   %ecx
4015af:	50                   	push   %eax
4015b0:	e8 7b 2d 00 00       	call   0x404330
4015b5:	83 c4 0c             	add    $0xc,%esp
4015b8:	66 c7 04 77 00 00    	movw   $0x0,(%edi,%esi,2)
4015be:	8b 45 d0             	mov    -0x30(%ebp),%eax
4015c1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4015c4:	39 c8                	cmp    %ecx,%eax
4015c6:	73 20                	jae    0x4015e8
4015c8:	8d 50 01             	lea    0x1(%eax),%edx
4015cb:	89 55 d0             	mov    %edx,-0x30(%ebp)
4015ce:	8d 55 c0             	lea    -0x40(%ebp),%edx
4015d1:	83 f9 08             	cmp    $0x8,%ecx
4015d4:	72 03                	jb     0x4015d9
4015d6:	8b 55 c0             	mov    -0x40(%ebp),%edx
4015d9:	c7 04 42 22 00 00 00 	movl   $0x22,(%edx,%eax,2)
4015e0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4015e3:	e9 e8 fc ff ff       	jmp    0x4012d0
4015e8:	83 ec 0c             	sub    $0xc,%esp
4015eb:	0f b6 85 9c fe ff ff 	movzbl -0x164(%ebp),%eax
4015f2:	88 44 24 04          	mov    %al,0x4(%esp)
4015f6:	c7 44 24 08 22 00 00 	movl   $0x22,0x8(%esp)
4015fd:	00
4015fe:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
401605:	8d 4d c0             	lea    -0x40(%ebp),%ecx
401608:	e8 03 1d 00 00       	call   0x403310
40160d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401610:	e9 bb fc ff ff       	jmp    0x4012d0
401615:	8d 45 c0             	lea    -0x40(%ebp),%eax
401618:	8b 4d 08             	mov    0x8(%ebp),%ecx
40161b:	50                   	push   %eax
40161c:	e8 af 12 00 00       	call   0x4028d0
401621:	8d bd 90 fc ff ff    	lea    -0x370(%ebp),%edi
401627:	57                   	push   %edi
401628:	e8 4a 58 00 00       	call   0x406e77
40162d:	83 c4 04             	add    $0x4,%esp
401630:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
401635:	85 c0                	test   %eax,%eax
401637:	0f 84 ca 00 00 00    	je     0x401707
40163d:	0f 57 c0             	xorps  %xmm0,%xmm0
401640:	0f 11 85 ec fe ff ff 	movups %xmm0,-0x114(%ebp)
401647:	0f 11 85 bc fe ff ff 	movups %xmm0,-0x144(%ebp)
40164e:	0f 11 45 8c          	movups %xmm0,-0x74(%ebp)
401652:	0f 11 85 7c ff ff ff 	movups %xmm0,-0x84(%ebp)
401659:	0f 11 85 6c ff ff ff 	movups %xmm0,-0x94(%ebp)
401660:	0f 11 85 5c ff ff ff 	movups %xmm0,-0xa4(%ebp)
401667:	0f 11 85 4c ff ff ff 	movups %xmm0,-0xb4(%ebp)
40166e:	0f 11 85 3c ff ff ff 	movups %xmm0,-0xc4(%ebp)
401675:	0f 11 85 2c ff ff ff 	movups %xmm0,-0xd4(%ebp)
40167c:	0f 11 85 1c ff ff ff 	movups %xmm0,-0xe4(%ebp)
401683:	0f 11 85 0c ff ff ff 	movups %xmm0,-0xf4(%ebp)
40168a:	0f 11 85 fc fe ff ff 	movups %xmm0,-0x104(%ebp)
401691:	0f 11 85 dc fe ff ff 	movups %xmm0,-0x124(%ebp)
401698:	0f 11 85 cc fe ff ff 	movups %xmm0,-0x134(%ebp)
40169f:	0f 11 85 ac fe ff ff 	movups %xmm0,-0x154(%ebp)
4016a6:	0f 11 85 9c fe ff ff 	movups %xmm0,-0x164(%ebp)
4016ad:	c6 85 f8 fe ff ff 01 	movb   $0x1,-0x108(%ebp)
4016b4:	c6 85 cb fe ff ff 01 	movb   $0x1,-0x135(%ebp)
4016bb:	8d 14 00             	lea    (%eax,%eax,1),%edx
4016be:	83 c2 fe             	add    $0xfffffffe,%edx
4016c1:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0(%eax,%eax,1)
4016c8:	0f 1f 84 00 00 00 00
4016cf:	00
4016d0:	0f b7 b4 15 90 fc ff 	movzwl -0x370(%ebp,%edx,1),%esi
4016d7:	ff
4016d8:	81 fe ff 00 00 00    	cmp    $0xff,%esi
4016de:	77 0a                	ja     0x4016ea
4016e0:	80 bc 35 9c fe ff ff 	cmpb   $0x0,-0x164(%ebp,%esi,1)
4016e7:	00
4016e8:	75 12                	jne    0x4016fc
4016ea:	85 d2                	test   %edx,%edx
4016ec:	74 05                	je     0x4016f3
4016ee:	83 c2 fe             	add    $0xfffffffe,%edx
4016f1:	eb dd                	jmp    0x4016d0
4016f3:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
4016fa:	eb 0b                	jmp    0x401707
4016fc:	d1 fa                	sar    $1,%edx
4016fe:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
401705:	89 d1                	mov    %edx,%ecx
401707:	39 c8                	cmp    %ecx,%eax
401709:	0f 42 c8             	cmovb  %eax,%ecx
40170c:	8b 45 08             	mov    0x8(%ebp),%eax
40170f:	83 c0 1c             	add    $0x1c,%eax
401712:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
401719:	51                   	push   %ecx
40171a:	57                   	push   %edi
40171b:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40171e:	51                   	push   %ecx
40171f:	50                   	push   %eax
401720:	e8 eb f9 ff ff       	call   0x401110
401725:	83 c4 10             	add    $0x10,%esp
401728:	80 7d b4 00          	cmpb   $0x0,-0x4c(%ebp)
40172c:	8b 7d e0             	mov    -0x20(%ebp),%edi
40172f:	74 3d                	je     0x40176e
401731:	8b 45 b0             	mov    -0x50(%ebp),%eax
401734:	83 f8 08             	cmp    $0x8,%eax
401737:	72 35                	jb     0x40176e
401739:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
40173c:	8d 34 00             	lea    (%eax,%eax,1),%esi
40173f:	83 c6 02             	add    $0x2,%esi
401742:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
401748:	72 1a                	jb     0x401764
40174a:	8b 51 fc             	mov    -0x4(%ecx),%edx
40174d:	83 c1 fc             	add    $0xfffffffc,%ecx