401380:	55                   	push   %ebp
401381:	8b ec                	mov    %esp,%ebp
401383:	8b 45 0c             	mov    0xc(%ebp),%eax
401386:	8b 4d 08             	mov    0x8(%ebp),%ecx
401389:	83 00 23             	addl   $0x23,(%eax)
40138c:	8b 01                	mov    (%ecx),%eax
40138e:	8b 50 fc             	mov    -0x4(%eax),%edx
401391:	2b c2                	sub    %edx,%eax
401393:	83 c0 fc             	add    $0xfffffffc,%eax
401396:	83 f8 1f             	cmp    $0x1f,%eax
401399:	77 04                	ja     0x40139f
40139b:	89 11                	mov    %edx,(%ecx)
40139d:	5d                   	pop    %ebp
40139e:	c3                   	ret
40139f:	e9 ed bc 00 00       	jmp    0x40d091
4013a4:	cc                   	int3
4013a5:	cc                   	int3
4013a6:	cc                   	int3
4013a7:	cc                   	int3
4013a8:	cc                   	int3
4013a9:	cc                   	int3
4013aa:	cc                   	int3
4013ab:	cc                   	int3
4013ac:	cc                   	int3
4013ad:	cc                   	int3
4013ae:	cc                   	int3
4013af:	cc                   	int3
4013b0:	68 c8 f6 42 00       	push   $0x42f6c8
4013b5:	e8 0e 42 00 00       	call   0x4055c8
4013ba:	cc                   	int3
4013bb:	cc                   	int3
4013bc:	cc                   	int3
4013bd:	cc                   	int3
4013be:	cc                   	int3
4013bf:	cc                   	int3
4013c0:	55                   	push   %ebp
4013c1:	8b ec                	mov    %esp,%ebp
4013c3:	56                   	push   %esi
4013c4:	8b f1                	mov    %ecx,%esi
4013c6:	0f 57 c0             	xorps  %xmm0,%xmm0
4013c9:	8d 46 04             	lea    0x4(%esi),%eax
4013cc:	50                   	push   %eax
4013cd:	c7 06 d4 42 42 00    	movl   $0x4242d4,(%esi)
4013d3:	66 0f d6 00          	movq   %xmm0,(%eax)
4013d7:	8b 45 08             	mov    0x8(%ebp),%eax
4013da:	83 c0 04             	add    $0x4,%eax
4013dd:	50                   	push   %eax
4013de:	e8 ee 71 00 00       	call   0x4085d1
4013e3:	83 c4 08             	add    $0x8,%esp
4013e6:	c7 06 20 43 42 00    	movl   $0x424320,(%esi)
4013ec:	8b c6                	mov    %esi,%eax
4013ee:	5e                   	pop    %esi
4013ef:	5d                   	pop    %ebp
4013f0:	c2 04 00             	ret    $0x4
4013f3:	cc                   	int3
4013f4:	cc                   	int3
4013f5:	cc                   	int3
4013f6:	cc                   	int3
4013f7:	cc                   	int3
4013f8:	cc                   	int3
4013f9:	cc                   	int3
4013fa:	cc                   	int3
4013fb:	cc                   	int3
4013fc:	cc                   	int3
4013fd:	cc                   	int3
4013fe:	cc                   	int3
4013ff:	cc                   	int3
401400:	55                   	push   %ebp
401401:	8b ec                	mov    %esp,%ebp
401403:	8b 45 08             	mov    0x8(%ebp),%eax
401406:	8b 55 0c             	mov    0xc(%ebp),%edx
401409:	89 10                	mov    %edx,(%eax)
40140b:	89 48 04             	mov    %ecx,0x4(%eax)
40140e:	5d                   	pop    %ebp
40140f:	c2 08 00             	ret    $0x8
401412:	cc                   	int3
401413:	cc                   	int3
401414:	cc                   	int3
401415:	cc                   	int3
401416:	cc                   	int3
401417:	cc                   	int3
401418:	cc                   	int3
401419:	cc                   	int3
40141a:	cc                   	int3
40141b:	cc                   	int3
40141c:	cc                   	int3
40141d:	cc                   	int3
40141e:	cc                   	int3
40141f:	cc                   	int3
401420:	55                   	push   %ebp
401421:	8b ec                	mov    %esp,%ebp
401423:	8b 01                	mov    (%ecx),%eax
401425:	8d 55 f8             	lea    -0x8(%ebp),%edx
401428:	83 ec 08             	sub    $0x8,%esp
40142b:	56                   	push   %esi
40142c:	ff 75 08             	push   0x8(%ebp)
40142f:	52                   	push   %edx
401430:	ff 50 0c             	call   *0xc(%eax)
401433:	8b 75 0c             	mov    0xc(%ebp),%esi
401436:	8b 48 04             	mov    0x4(%eax),%ecx
401439:	8b 56 04             	mov    0x4(%esi),%edx
40143c:	8b 49 04             	mov    0x4(%ecx),%ecx
40143f:	3b 4a 04             	cmp    0x4(%edx),%ecx
401442:	75 0f                	jne    0x401453
401444:	8b 00                	mov    (%eax),%eax
401446:	3b 06                	cmp    (%esi),%eax
401448:	75 09                	jne    0x401453
40144a:	b0 01                	mov    $0x1,%al
40144c:	5e                   	pop    %esi
40144d:	8b e5                	mov    %ebp,%esp
40144f:	5d                   	pop    %ebp
401450:	c2 08 00             	ret    $0x8
401453:	32 c0                	xor    %al,%al
401455:	5e                   	pop    %esi
401456:	8b e5                	mov    %ebp,%esp
401458:	5d                   	pop    %ebp
401459:	c2 08 00             	ret    $0x8
40145c:	cc                   	int3
40145d:	cc                   	int3
40145e:	cc                   	int3
40145f:	cc                   	int3
401460:	55                   	push   %ebp
401461:	8b ec                	mov    %esp,%ebp
401463:	8b 41 04             	mov    0x4(%ecx),%eax
401466:	56                   	push   %esi
401467:	8b 75 08             	mov    0x8(%ebp),%esi
40146a:	8b 56 04             	mov    0x4(%esi),%edx
40146d:	3b 42 04             	cmp    0x4(%edx),%eax
401470:	75 0e                	jne    0x401480
401472:	8b 06                	mov    (%esi),%eax
401474:	3b 45 0c             	cmp    0xc(%ebp),%eax
401477:	75 07                	jne    0x401480
401479:	b0 01                	mov    $0x1,%al
40147b:	5e                   	pop    %esi
40147c:	5d                   	pop    %ebp
40147d:	c2 08 00             	ret    $0x8
401480:	32 c0                	xor    %al,%al
401482:	5e                   	pop    %esi
401483:	5d                   	pop    %ebp
401484:	c2 08 00             	ret    $0x8
401487:	cc                   	int3
401488:	cc                   	int3
401489:	cc                   	int3
40148a:	cc                   	int3
40148b:	cc                   	int3
40148c:	cc                   	int3
40148d:	cc                   	int3
40148e:	cc                   	int3
40148f:	cc                   	int3
401490:	55                   	push   %ebp
401491:	8b ec                	mov    %esp,%ebp
401493:	8b 45 08             	mov    0x8(%ebp),%eax
401496:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401499:	89 08                	mov    %ecx,(%eax)
40149b:	c7 40 04 a8 3a 43 00 	movl   $0x433aa8,0x4(%eax)
4014a2:	5d                   	pop    %ebp
4014a3:	c3                   	ret
4014a4:	cc                   	int3
4014a5:	cc                   	int3
4014a6:	cc                   	int3
4014a7:	cc                   	int3
4014a8:	cc                   	int3
4014a9:	cc                   	int3
4014aa:	cc                   	int3
4014ab:	cc                   	int3
4014ac:	cc                   	int3
4014ad:	cc                   	int3
4014ae:	cc                   	int3
4014af:	cc                   	int3
4014b0:	53                   	push   %ebx
4014b1:	8b dc                	mov    %esp,%ebx
4014b3:	83 ec 08             	sub    $0x8,%esp
4014b6:	83 e4 f8             	and    $0xfffffff8,%esp
4014b9:	83 c4 04             	add    $0x4,%esp
4014bc:	55                   	push   %ebp
4014bd:	8b 6b 04             	mov    0x4(%ebx),%ebp
4014c0:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4014c4:	8b ec                	mov    %esp,%ebp
4014c6:	6a ff                	push   $0xffffffff
4014c8:	68 c5 29 42 00       	push   $0x4229c5
4014cd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4014d3:	50                   	push   %eax
4014d4:	53                   	push   %ebx
4014d5:	83 ec 68             	sub    $0x68,%esp
4014d8:	a1 14 30 43 00       	mov    0x433014,%eax
4014dd:	33 c5                	xor    %ebp,%eax
4014df:	89 45 ec             	mov    %eax,-0x14(%ebp)
4014e2:	56                   	push   %esi
4014e3:	57                   	push   %edi
4014e4:	50                   	push   %eax
4014e5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4014e8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4014ee:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
4014f1:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4014f4:	8b 43 10             	mov    0x10(%ebx),%eax
4014f7:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4014fa:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4014fd:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
401504:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
401508:	8b 78 10             	mov    0x10(%eax),%edi
40150b:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
401512:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
401519:	72 05                	jb     0x401520
40151b:	8b 00                	mov    (%eax),%eax
40151d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
401520:	83 ff 10             	cmp    $0x10,%edi
401523:	73 15                	jae    0x40153a
401525:	0f 10 00             	movups (%eax),%xmm0
401528:	c7 45 ac 0f 00 00 00 	movl   $0xf,-0x54(%ebp)
40152f:	be 0f 00 00 00       	mov    $0xf,%esi
401534:	0f 11 45 98          	movups %xmm0,-0x68(%ebp)
401538:	eb 69                	jmp    0x4015a3
40153a:	8b f7                	mov    %edi,%esi
40153c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401541:	83 ce 0f             	or     $0xf,%esi
401544:	3b f0                	cmp    %eax,%esi
401546:	0f 47 f0             	cmova  %eax,%esi
401549:	8d 46 01             	lea    0x1(%esi),%eax
40154c:	3d 00 10 00 00       	cmp    $0x1000,%eax
401551:	72 27                	jb     0x40157a
401553:	8d 48 23             	lea    0x23(%eax),%ecx
401556:	3b c8                	cmp    %eax,%ecx
401558:	0f 86 fb 01 00 00    	jbe    0x401759
40155e:	51                   	push   %ecx
40155f:	e8 b8 60 00 00       	call   0x40761c
401564:	83 c4 04             	add    $0x4,%esp
401567:	85 c0                	test   %eax,%eax
401569:	0f 84 f4 01 00 00    	je     0x401763
40156f:	8d 48 23             	lea    0x23(%eax),%ecx
401572:	83 e1 e0             	and    $0xffffffe0,%ecx
401575:	89 41 fc             	mov    %eax,-0x4(%ecx)
401578:	eb 13                	jmp    0x40158d
40157a:	85 c0                	test   %eax,%eax
40157c:	74 0d                	je     0x40158b
40157e:	50                   	push   %eax
40157f:	e8 98 60 00 00       	call   0x40761c
401584:	83 c4 04             	add    $0x4,%esp
401587:	8b c8                	mov    %eax,%ecx
401589:	eb 02                	jmp    0x40158d
40158b:	33 c9                	xor    %ecx,%ecx
40158d:	8d 47 01             	lea    0x1(%edi),%eax
401590:	89 4d 98             	mov    %ecx,-0x68(%ebp)
401593:	50                   	push   %eax
401594:	ff 75 b4             	push   -0x4c(%ebp)
401597:	51                   	push   %ecx
401598:	e8 d3 73 00 00       	call   0x408970
40159d:	83 c4 0c             	add    $0xc,%esp
4015a0:	89 75 ac             	mov    %esi,-0x54(%ebp)
4015a3:	8b 43 08             	mov    0x8(%ebx),%eax
4015a6:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4015a9:	89 7d a8             	mov    %edi,-0x58(%ebp)
4015ac:	89 45 b8             	mov    %eax,-0x48(%ebp)
4015af:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
4015b2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4015b9:	85 ff                	test   %edi,%edi
4015bb:	74 44                	je     0x401601
4015bd:	8b c6                	mov    %esi,%eax
4015bf:	2b c7                	sub    %edi,%eax
4015c1:	83 f8 02             	cmp    $0x2,%eax
4015c4:	72 20                	jb     0x4015e6
4015c6:	8d 47 02             	lea    0x2(%edi),%eax
4015c9:	83 fe 10             	cmp    $0x10,%esi
4015cc:	89 45 a8             	mov    %eax,-0x58(%ebp)
4015cf:	ba 3a 20 00 00       	mov    $0x203a,%edx
4015d4:	8d 45 98             	lea    -0x68(%ebp),%eax
4015d7:	0f 43 45 98          	cmovae -0x68(%ebp),%eax
4015db:	66 89 14 07          	mov    %dx,(%edi,%eax,1)
4015df:	c6 44 07 02 00       	movb   $0x0,0x2(%edi,%eax,1)
4015e4:	eb 1b                	jmp    0x401601
4015e6:	6a 02                	push   $0x2
4015e8:	68 d8 f6 42 00       	push   $0x42f6d8
4015ed:	c6 45 b4 00          	movb   $0x0,-0x4c(%ebp)
4015f1:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4015f4:	ff 75 b4             	push   -0x4c(%ebp)
4015f7:	6a 02                	push   $0x2
4015f9:	e8 d2 38 00 00       	call   0x404ed0
4015fe:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
401601:	ff 75 b8             	push   -0x48(%ebp)
401604:	8b 01                	mov    (%ecx),%eax
401606:	8d 55 d4             	lea    -0x2c(%ebp),%edx
401609:	52                   	push   %edx
40160a:	ff 50 08             	call   *0x8(%eax)
40160d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
401611:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
401614:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
401618:	8b 75 ac             	mov    -0x54(%ebp),%esi
40161b:	8b c6                	mov    %esi,%eax
40161d:	0f 43 4d d4          	cmovae -0x2c(%ebp),%ecx
401621:	8b 7d e4             	mov    -0x1c(%ebp),%edi
401624:	8b 55 a8             	mov    -0x58(%ebp),%edx
401627:	2b c2                	sub    %edx,%eax
401629:	57                   	push   %edi
40162a:	51                   	push   %ecx
40162b:	3b f8                	cmp    %eax,%edi
40162d:	77 22                	ja     0x401651
40162f:	8d 04 3a             	lea    (%edx,%edi,1),%eax
401632:	83 fe 10             	cmp    $0x10,%esi
401635:	89 45 a8             	mov    %eax,-0x58(%ebp)
401638:	8d 45 98             	lea    -0x68(%ebp),%eax
40163b:	0f 43 45 98          	cmovae -0x68(%ebp),%eax
40163f:	8d 34 10             	lea    (%eax,%edx,1),%esi
401642:	56                   	push   %esi
401643:	e8 28 73 00 00       	call   0x408970
401648:	83 c4 0c             	add    $0xc,%esp
40164b:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
40164f:	eb 10                	jmp    0x401661
401651:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
401655:	8d 4d 98             	lea    -0x68(%ebp),%ecx
401658:	ff 75 b8             	push   -0x48(%ebp)
40165b:	57                   	push   %edi
40165c:	e8 6f 38 00 00       	call   0x404ed0
401661:	8b 55 e8             	mov    -0x18(%ebp),%edx
401664:	83 fa 10             	cmp    $0x10,%edx
401667:	72 2c                	jb     0x401695
401669:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40166c:	42                   	inc    %edx
40166d:	8b c1                	mov    %ecx,%eax
40166f:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
401675:	72 14                	jb     0x40168b
401677:	8b 49 fc             	mov    -0x4(%ecx),%ecx
40167a:	83 c2 23             	add    $0x23,%edx
40167d:	2b c1                	sub    %ecx,%eax
40167f:	83 c0 fc             	add    $0xfffffffc,%eax
401682:	83 f8 1f             	cmp    $0x1f,%eax
401685:	0f 87 d3 00 00 00    	ja     0x40175e
40168b:	52                   	push   %edx
40168c:	51                   	push   %ecx
40168d:	e8 ba 5f 00 00       	call   0x40764c
401692:	83 c4 08             	add    $0x8,%esp
401695:	0f 10 4d 98          	movups -0x68(%ebp),%xmm1
401699:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40169c:	8b 75 94             	mov    -0x6c(%ebp),%esi
40169f:	f3 0f 7e 45 a8       	movq   -0x58(%ebp),%xmm0
4016a4:	66 0f d6 45 cc       	movq   %xmm0,-0x34(%ebp)
4016a9:	0f 57 c0             	xorps  %xmm0,%xmm0
4016ac:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
4016b0:	66 0f 7e c8          	movd   %xmm1,%eax
4016b4:	c7 06 d4 42 42 00    	movl   $0x4242d4,(%esi)
4016ba:	66 0f d6 46 04       	movq   %xmm0,0x4(%esi)
4016bf:	0f 43 c8             	cmovae %eax,%ecx
4016c2:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
4016c9:	8d 46 04             	lea    0x4(%esi),%eax
4016cc:	c7 45 ac 0f 00 00 00 	movl   $0xf,-0x54(%ebp)
4016d3:	50                   	push   %eax
4016d4:	8d 45 90             	lea    -0x70(%ebp),%eax
4016d7:	c6 45 98 00          	movb   $0x0,-0x68(%ebp)
4016db:	50                   	push   %eax
4016dc:	0f 11 4d bc          	movups %xmm1,-0x44(%ebp)
4016e0:	89 4d 90             	mov    %ecx,-0x70(%ebp)
4016e3:	c6 45 94 01          	movb   $0x1,-0x6c(%ebp)