4052ec:	85 f6                	test   %esi,%esi
4052ee:	74 10                	je     0x405300
4052f0:	ff 75 08             	push   0x8(%ebp)
4052f3:	8b ce                	mov    %esi,%ecx
4052f5:	ff 15 18 f1 40 00    	call   *0x40f118
4052fb:	ff d6                	call   *%esi
4052fd:	5e                   	pop    %esi
4052fe:	5d                   	pop    %ebp
4052ff:	c3                   	ret
405300:	5e                   	pop    %esi
405301:	5d                   	pop    %ebp
405302:	ff 25 74 f0 40 00    	jmp    *0x40f074
405308:	55                   	push   %ebp
405309:	8b ec                	mov    %esp,%ebp
40530b:	56                   	push   %esi
40530c:	68 70 fc 40 00       	push   $0x40fc70
405311:	68 68 fc 40 00       	push   $0x40fc68
405316:	68 70 fc 40 00       	push   $0x40fc70
40531b:	6a 01                	push   $0x1
40531d:	e8 c0 fe ff ff       	call   0x4051e2
405322:	83 c4 10             	add    $0x10,%esp
405325:	8b f0                	mov    %eax,%esi
405327:	ff 75 08             	push   0x8(%ebp)
40532a:	85 f6                	test   %esi,%esi
40532c:	74 0c                	je     0x40533a
40532e:	8b ce                	mov    %esi,%ecx
405330:	ff 15 18 f1 40 00    	call   *0x40f118
405336:	ff d6                	call   *%esi
405338:	eb 06                	jmp    0x405340
40533a:	ff 15 80 f0 40 00    	call   *0x40f080
405340:	5e                   	pop    %esi
405341:	5d                   	pop    %ebp
405342:	c3                   	ret
405343:	55                   	push   %ebp
405344:	8b ec                	mov    %esp,%ebp
405346:	56                   	push   %esi
405347:	68 80 fc 40 00       	push   $0x40fc80
40534c:	68 78 fc 40 00       	push   $0x40fc78
405351:	68 80 fc 40 00       	push   $0x40fc80
405356:	6a 02                	push   $0x2
405358:	e8 85 fe ff ff       	call   0x4051e2
40535d:	83 c4 10             	add    $0x10,%esp
405360:	8b f0                	mov    %eax,%esi
405362:	ff 75 08             	push   0x8(%ebp)
405365:	85 f6                	test   %esi,%esi
405367:	74 0c                	je     0x405375
405369:	8b ce                	mov    %esi,%ecx
40536b:	ff 15 18 f1 40 00    	call   *0x40f118
405371:	ff d6                	call   *%esi
405373:	eb 06                	jmp    0x40537b
405375:	ff 15 78 f0 40 00    	call   *0x40f078
40537b:	5e                   	pop    %esi
40537c:	5d                   	pop    %ebp
40537d:	c3                   	ret
40537e:	55                   	push   %ebp
40537f:	8b ec                	mov    %esp,%ebp
405381:	56                   	push   %esi
405382:	68 94 fc 40 00       	push   $0x40fc94
405387:	68 8c fc 40 00       	push   $0x40fc8c
40538c:	68 94 fc 40 00       	push   $0x40fc94
405391:	6a 03                	push   $0x3
405393:	e8 4a fe ff ff       	call   0x4051e2
405398:	83 c4 10             	add    $0x10,%esp
40539b:	8b f0                	mov    %eax,%esi
40539d:	ff 75 0c             	push   0xc(%ebp)
4053a0:	ff 75 08             	push   0x8(%ebp)
4053a3:	85 f6                	test   %esi,%esi
4053a5:	74 0c                	je     0x4053b3
4053a7:	8b ce                	mov    %esi,%ecx
4053a9:	ff 15 18 f1 40 00    	call   *0x40f118
4053af:	ff d6                	call   *%esi
4053b1:	eb 06                	jmp    0x4053b9
4053b3:	ff 15 7c f0 40 00    	call   *0x40f07c
4053b9:	5e                   	pop    %esi
4053ba:	5d                   	pop    %ebp
4053bb:	c3                   	ret
4053bc:	55                   	push   %ebp
4053bd:	8b ec                	mov    %esp,%ebp
4053bf:	56                   	push   %esi
4053c0:	68 a8 fc 40 00       	push   $0x40fca8
4053c5:	68 a0 fc 40 00       	push   $0x40fca0
4053ca:	68 a8 fc 40 00       	push   $0x40fca8
4053cf:	6a 04                	push   $0x4
4053d1:	e8 0c fe ff ff       	call   0x4051e2
4053d6:	8b f0                	mov    %eax,%esi
4053d8:	83 c4 10             	add    $0x10,%esp
4053db:	85 f6                	test   %esi,%esi
4053dd:	74 15                	je     0x4053f4
4053df:	ff 75 10             	push   0x10(%ebp)
4053e2:	8b ce                	mov    %esi,%ecx
4053e4:	ff 75 0c             	push   0xc(%ebp)
4053e7:	ff 75 08             	push   0x8(%ebp)
4053ea:	ff 15 18 f1 40 00    	call   *0x40f118
4053f0:	ff d6                	call   *%esi
4053f2:	eb 0c                	jmp    0x405400
4053f4:	ff 75 0c             	push   0xc(%ebp)
4053f7:	ff 75 08             	push   0x8(%ebp)
4053fa:	ff 15 70 f0 40 00    	call   *0x40f070
405400:	5e                   	pop    %esi
405401:	5d                   	pop    %ebp
405402:	c3                   	ret
405403:	56                   	push   %esi
405404:	e8 4d ed ff ff       	call   0x404156
405409:	8b 70 04             	mov    0x4(%eax),%esi
40540c:	85 f6                	test   %esi,%esi
40540e:	74 0a                	je     0x40541a
405410:	8b ce                	mov    %esi,%ecx
405412:	ff 15 18 f1 40 00    	call   *0x40f118
405418:	ff d6                	call   *%esi
40541a:	e8 43 1b 00 00       	call   0x406f62
40541f:	cc                   	int3
405420:	55                   	push   %ebp
405421:	8b ec                	mov    %esp,%ebp
405423:	8b 45 10             	mov    0x10(%ebp),%eax
405426:	8b 4d 08             	mov    0x8(%ebp),%ecx
405429:	81 78 04 80 00 00 00 	cmpl   $0x80,0x4(%eax)
405430:	7f 06                	jg     0x405438
405432:	0f be 41 08          	movsbl 0x8(%ecx),%eax
405436:	5d                   	pop    %ebp
405437:	c3                   	ret
405438:	8b 41 08             	mov    0x8(%ecx),%eax
40543b:	5d                   	pop    %ebp
40543c:	c3                   	ret
40543d:	55                   	push   %ebp
40543e:	8b ec                	mov    %esp,%ebp
405440:	8b 45 08             	mov    0x8(%ebp),%eax
405443:	8b 4d 10             	mov    0x10(%ebp),%ecx
405446:	89 48 08             	mov    %ecx,0x8(%eax)
405449:	5d                   	pop    %ebp
40544a:	c3                   	ret
40544b:	cc                   	int3
40544c:	cc                   	int3
40544d:	cc                   	int3
40544e:	cc                   	int3
40544f:	cc                   	int3
405450:	57                   	push   %edi
405451:	56                   	push   %esi
405452:	8b 74 24 10          	mov    0x10(%esp),%esi
405456:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40545a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40545e:	8b c1                	mov    %ecx,%eax
405460:	8b d1                	mov    %ecx,%edx
405462:	03 c6                	add    %esi,%eax
405464:	3b fe                	cmp    %esi,%edi
405466:	76 08                	jbe    0x405470
405468:	3b f8                	cmp    %eax,%edi
40546a:	0f 82 94 02 00 00    	jb     0x405704
405470:	83 f9 20             	cmp    $0x20,%ecx
405473:	0f 82 d2 04 00 00    	jb     0x40594b
405479:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40547f:	73 13                	jae    0x405494
405481:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
405488:	01
405489:	0f 82 8e 04 00 00    	jb     0x40591d
40548f:	e9 e3 01 00 00       	jmp    0x405677
405494:	0f ba 25 c0 69 41 00 	btl    $0x1,0x4169c0
40549b:	01
40549c:	73 09                	jae    0x4054a7
40549e:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4054a0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4054a4:	5e                   	pop    %esi
4054a5:	5f                   	pop    %edi
4054a6:	c3                   	ret
4054a7:	8b c7                	mov    %edi,%eax
4054a9:	33 c6                	xor    %esi,%eax
4054ab:	a9 0f 00 00 00       	test   $0xf,%eax
4054b0:	75 0e                	jne    0x4054c0
4054b2:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
4054b9:	01
4054ba:	0f 82 e0 03 00 00    	jb     0x4058a0
4054c0:	0f ba 25 c0 69 41 00 	btl    $0x0,0x4169c0
4054c7:	00
4054c8:	0f 83 a9 01 00 00    	jae    0x405677
4054ce:	f7 c7 03 00 00 00    	test   $0x3,%edi
4054d4:	0f 85 9d 01 00 00    	jne    0x405677
4054da:	f7 c6 03 00 00 00    	test   $0x3,%esi
4054e0:	0f 85 ac 01 00 00    	jne    0x405692
4054e6:	0f ba e7 02          	bt     $0x2,%edi
4054ea:	73 0d                	jae    0x4054f9
4054ec:	8b 06                	mov    (%esi),%eax
4054ee:	83 e9 04             	sub    $0x4,%ecx
4054f1:	8d 76 04             	lea    0x4(%esi),%esi
4054f4:	89 07                	mov    %eax,(%edi)
4054f6:	8d 7f 04             	lea    0x4(%edi),%edi
4054f9:	0f ba e7 03          	bt     $0x3,%edi
4054fd:	73 11                	jae    0x405510
4054ff:	f3 0f 7e 0e          	movq   (%esi),%xmm1
405503:	83 e9 08             	sub    $0x8,%ecx
405506:	8d 76 08             	lea    0x8(%esi),%esi
405509:	66 0f d6 0f          	movq   %xmm1,(%edi)
40550d:	8d 7f 08             	lea    0x8(%edi),%edi
405510:	f7 c6 07 00 00 00    	test   $0x7,%esi
405516:	74 65                	je     0x40557d
405518:	0f ba e6 03          	bt     $0x3,%esi
40551c:	0f 83 b4 00 00 00    	jae    0x4055d6
405522:	66 0f 6f 4e f4       	movdqa -0xc(%esi),%xmm1
405527:	8d 76 f4             	lea    -0xc(%esi),%esi
40552a:	8b ff                	mov    %edi,%edi
40552c:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
405531:	83 e9 30             	sub    $0x30,%ecx
405534:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
405539:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40553e:	8d 76 30             	lea    0x30(%esi),%esi
405541:	83 f9 30             	cmp    $0x30,%ecx
405544:	66 0f 6f d3          	movdqa %xmm3,%xmm2
405548:	66 0f 3a 0f d9 0c    	palignr $0xc,%xmm1,%xmm3
40554e:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
405552:	66 0f 6f e0          	movdqa %xmm0,%xmm4
405556:	66 0f 3a 0f c2 0c    	palignr $0xc,%xmm2,%xmm0
40555c:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
405561:	66 0f 6f cd          	movdqa %xmm5,%xmm1
405565:	66 0f 3a 0f ec 0c    	palignr $0xc,%xmm4,%xmm5
40556b:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
405570:	8d 7f 30             	lea    0x30(%edi),%edi
405573:	73 b7                	jae    0x40552c
405575:	8d 76 0c             	lea    0xc(%esi),%esi
405578:	e9 af 00 00 00       	jmp    0x40562c
40557d:	66 0f 6f 4e f8       	movdqa -0x8(%esi),%xmm1
405582:	8d 76 f8             	lea    -0x8(%esi),%esi
405585:	8d 49 00             	lea    0x0(%ecx),%ecx
405588:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
40558d:	83 e9 30             	sub    $0x30,%ecx
405590:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
405595:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40559a:	8d 76 30             	lea    0x30(%esi),%esi
40559d:	83 f9 30             	cmp    $0x30,%ecx
4055a0:	66 0f 6f d3          	movdqa %xmm3,%xmm2
4055a4:	66 0f 3a 0f d9 08    	palignr $0x8,%xmm1,%xmm3
4055aa:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
4055ae:	66 0f 6f e0          	movdqa %xmm0,%xmm4
4055b2:	66 0f 3a 0f c2 08    	palignr $0x8,%xmm2,%xmm0
4055b8:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
4055bd:	66 0f 6f cd          	movdqa %xmm5,%xmm1
4055c1:	66 0f 3a 0f ec 08    	palignr $0x8,%xmm4,%xmm5
4055c7:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
4055cc:	8d 7f 30             	lea    0x30(%edi),%edi
4055cf:	73 b7                	jae    0x405588
4055d1:	8d 76 08             	lea    0x8(%esi),%esi
4055d4:	eb 56                	jmp    0x40562c
4055d6:	66 0f 6f 4e fc       	movdqa -0x4(%esi),%xmm1
4055db:	8d 76 fc             	lea    -0x4(%esi),%esi
4055de:	8b ff                	mov    %edi,%edi
4055e0:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
4055e5:	83 e9 30             	sub    $0x30,%ecx
4055e8:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
4055ed:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
4055f2:	8d 76 30             	lea    0x30(%esi),%esi
4055f5:	83 f9 30             	cmp    $0x30,%ecx
4055f8:	66 0f 6f d3          	movdqa %xmm3,%xmm2
4055fc:	66 0f 3a 0f d9 04    	palignr $0x4,%xmm1,%xmm3
405602:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
405606:	66 0f 6f e0          	movdqa %xmm0,%xmm4
40560a:	66 0f 3a 0f c2 04    	palignr $0x4,%xmm2,%xmm0
405610:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
405615:	66 0f 6f cd          	movdqa %xmm5,%xmm1
405619:	66 0f 3a 0f ec 04    	palignr $0x4,%xmm4,%xmm5
40561f:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
405624:	8d 7f 30             	lea    0x30(%edi),%edi
405627:	73 b7                	jae    0x4055e0
405629:	8d 76 04             	lea    0x4(%esi),%esi
40562c:	83 f9 10             	cmp    $0x10,%ecx
40562f:	72 13                	jb     0x405644
405631:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
405635:	83 e9 10             	sub    $0x10,%ecx
405638:	8d 76 10             	lea    0x10(%esi),%esi
40563b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
40563f:	8d 7f 10             	lea    0x10(%edi),%edi
405642:	eb e8                	jmp    0x40562c
405644:	0f ba e1 02          	bt     $0x2,%ecx
405648:	73 0d                	jae    0x405657
40564a:	8b 06                	mov    (%esi),%eax
40564c:	83 e9 04             	sub    $0x4,%ecx
40564f:	8d 76 04             	lea    0x4(%esi),%esi
405652:	89 07                	mov    %eax,(%edi)
405654:	8d 7f 04             	lea    0x4(%edi),%edi
405657:	0f ba e1 03          	bt     $0x3,%ecx
40565b:	73 11                	jae    0x40566e
40565d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
405661:	83 e9 08             	sub    $0x8,%ecx
405664:	8d 76 08             	lea    0x8(%esi),%esi
405667:	66 0f d6 0f          	movq   %xmm1,(%edi)
40566b:	8d 7f 08             	lea    0x8(%edi),%edi
40566e:	8b 04 8d b4 56 40 00 	mov    0x4056b4(,%ecx,4),%eax
405675:	ff e0                	jmp    *%eax
405677:	f7 c7 03 00 00 00    	test   $0x3,%edi
40567d:	74 13                	je     0x405692
40567f:	8a 06                	mov    (%esi),%al
405681:	88 07                	mov    %al,(%edi)
405683:	49                   	dec    %ecx
405684:	83 c6 01             	add    $0x1,%esi
405687:	83 c7 01             	add    $0x1,%edi
40568a:	f7 c7 03 00 00 00    	test   $0x3,%edi
405690:	75 ed                	jne    0x40567f
405692:	8b d1                	mov    %ecx,%edx
405694:	83 f9 20             	cmp    $0x20,%ecx
405697:	0f 82 ae 02 00 00    	jb     0x40594b
40569d:	c1 e9 02             	shr    $0x2,%ecx
4056a0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4056a2:	83 e2 03             	and    $0x3,%edx
4056a5:	ff 24 95 b4 56 40 00 	jmp    *0x4056b4(,%edx,4)
4056ac:	ff 24 8d c4 56 40 00 	jmp    *0x4056c4(,%ecx,4)
4056b3:	90                   	nop
4056b4:	c4 56 40             	les    0x40(%esi),%edx
4056b7:	00 cc                	add    %cl,%ah
4056b9:	56                   	push   %esi
4056ba:	40                   	inc    %eax
4056bb:	00 d8                	add    %bl,%al
4056bd:	56                   	push   %esi
4056be:	40                   	inc    %eax
4056bf:	00 ec                	add    %ch,%ah
4056c1:	56                   	push   %esi
4056c2:	40                   	inc    %eax
4056c3:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
4056c9:	5f                   	pop    %edi
4056ca:	c3                   	ret
4056cb:	90                   	nop
4056cc:	8a 06                	mov    (%esi),%al
4056ce:	88 07                	mov    %al,(%edi)
4056d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4056d4:	5e                   	pop    %esi
4056d5:	5f                   	pop    %edi
4056d6:	c3                   	ret
4056d7:	90                   	nop
4056d8:	8a 06                	mov    (%esi),%al
4056da:	88 07                	mov    %al,(%edi)
4056dc:	8a 46 01             	mov    0x1(%esi),%al
4056df:	88 47 01             	mov    %al,0x1(%edi)
4056e2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4056e6:	5e                   	pop    %esi
4056e7:	5f                   	pop    %edi
4056e8:	c3                   	ret
4056e9:	8d 49 00             	lea    0x0(%ecx),%ecx
4056ec:	8a 06                	mov    (%esi),%al
4056ee:	88 07                	mov    %al,(%edi)
4056f0:	8a 46 01             	mov    0x1(%esi),%al
4056f3:	88 47 01             	mov    %al,0x1(%edi)
4056f6:	8a 46 02             	mov    0x2(%esi),%al
4056f9:	88 47 02             	mov    %al,0x2(%edi)
4056fc:	8b 44 24 0c          	mov    0xc(%esp),%eax
405700:	5e                   	pop    %esi
405701:	5f                   	pop    %edi
405702:	c3                   	ret
405703:	90                   	nop
405704:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
405707:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
40570a:	83 f9 20             	cmp    $0x20,%ecx
40570d:	0f 82 51 01 00 00    	jb     0x405864
405713:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
40571a:	01
40571b:	0f 82 94 00 00 00    	jb     0x4057b5