45662d:	50                   	push   %eax
45662e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
456631:	50                   	push   %eax
456632:	e8 29 fb ff ff       	call   0x456160
456637:	8b 4f 08             	mov    0x8(%edi),%ecx
45663a:	8b 10                	mov    (%eax),%edx
45663c:	eb 03                	jmp    0x456641
45663e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
456641:	8b 5a 04             	mov    0x4(%edx),%ebx
456644:	8d 41 01             	lea    0x1(%ecx),%eax
456647:	89 47 08             	mov    %eax,0x8(%edi)
45664a:	89 16                	mov    %edx,(%esi)
45664c:	89 5e 04             	mov    %ebx,0x4(%esi)
45664f:	89 33                	mov    %esi,(%ebx)
456651:	89 72 04             	mov    %esi,0x4(%edx)
456654:	8b 47 18             	mov    0x18(%edi),%eax
456657:	23 45 0c             	and    0xc(%ebp),%eax
45665a:	8b 4f 0c             	mov    0xc(%edi),%ecx
45665d:	8b 75 ec             	mov    -0x14(%ebp),%esi
456660:	8b 3c c1             	mov    (%ecx,%eax,8),%edi
456663:	3b 3e                	cmp    (%esi),%edi
456665:	8b 75 f0             	mov    -0x10(%ebp),%esi
456668:	75 05                	jne    0x45666f
45666a:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
45666d:	eb 0f                	jmp    0x45667e
45666f:	3b fa                	cmp    %edx,%edi
456671:	75 05                	jne    0x456678
456673:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
456676:	eb 0a                	jmp    0x456682
456678:	39 5c c1 04          	cmp    %ebx,0x4(%ecx,%eax,8)
45667c:	75 04                	jne    0x456682
45667e:	89 74 c1 04          	mov    %esi,0x4(%ecx,%eax,8)
456682:	8b 45 08             	mov    0x8(%ebp),%eax
456685:	89 30                	mov    %esi,(%eax)
456687:	c6 40 04 01          	movb   $0x1,0x4(%eax)
45668b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45668e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
456695:	59                   	pop    %ecx
456696:	5f                   	pop    %edi
456697:	5e                   	pop    %esi
456698:	5b                   	pop    %ebx
456699:	8b e5                	mov    %ebp,%esp
45669b:	5d                   	pop    %ebp
45669c:	c2 08 00             	ret    $0x8
45669f:	68 20 64 60 00       	push   $0x606420
4566a4:	e8 2d a5 17 00       	call   0x5d0bd6
4566a9:	cc                   	int3
4566aa:	cc                   	int3
4566ab:	cc                   	int3
4566ac:	cc                   	int3
4566ad:	cc                   	int3
4566ae:	cc                   	int3
4566af:	cc                   	int3
4566b0:	55                   	push   %ebp
4566b1:	8b ec                	mov    %esp,%ebp
4566b3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4566b6:	33 c0                	xor    %eax,%eax
4566b8:	8b 55 08             	mov    0x8(%ebp),%edx
4566bb:	53                   	push   %ebx
4566bc:	8b 5d 10             	mov    0x10(%ebp),%ebx
4566bf:	56                   	push   %esi
4566c0:	8b f1                	mov    %ecx,%esi
4566c2:	2b f2                	sub    %edx,%esi
4566c4:	83 c6 03             	add    $0x3,%esi
4566c7:	c1 ee 02             	shr    $0x2,%esi
4566ca:	3b d1                	cmp    %ecx,%edx
4566cc:	0f 47 f0             	cmova  %eax,%esi
4566cf:	85 f6                	test   %esi,%esi
4566d1:	74 2b                	je     0x4566fe
4566d3:	83 fe 04             	cmp    $0x4,%esi
4566d6:	72 26                	jb     0x4566fe
4566d8:	8b 03                	mov    (%ebx),%eax
4566da:	57                   	push   %edi
4566db:	8d 7a fc             	lea    -0x4(%edx),%edi
4566de:	8d 3c b7             	lea    (%edi,%esi,4),%edi
4566e1:	3b d3                	cmp    %ebx,%edx
4566e3:	77 04                	ja     0x4566e9
4566e5:	3b fb                	cmp    %ebx,%edi
4566e7:	73 14                	jae    0x4566fd
4566e9:	83 e6 fc             	and    $0xfffffffc,%esi
4566ec:	8b fa                	mov    %edx,%edi
4566ee:	c1 e6 02             	shl    $0x2,%esi
4566f1:	8b ce                	mov    %esi,%ecx
4566f3:	c1 e9 02             	shr    $0x2,%ecx
4566f6:	03 d6                	add    %esi,%edx
4566f8:	f3 ab                	rep stos %eax,%es:(%edi)
4566fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4566fd:	5f                   	pop    %edi
4566fe:	3b d1                	cmp    %ecx,%edx
456700:	74 0b                	je     0x45670d
456702:	8b 03                	mov    (%ebx),%eax
456704:	89 02                	mov    %eax,(%edx)
456706:	83 c2 04             	add    $0x4,%edx
456709:	3b d1                	cmp    %ecx,%edx
45670b:	75 f5                	jne    0x456702
45670d:	5e                   	pop    %esi
45670e:	5b                   	pop    %ebx
45670f:	5d                   	pop    %ebp
456710:	c3                   	ret
456711:	cc                   	int3
456712:	cc                   	int3
456713:	cc                   	int3
456714:	cc                   	int3
456715:	cc                   	int3
456716:	cc                   	int3
456717:	cc                   	int3
456718:	cc                   	int3
456719:	cc                   	int3
45671a:	cc                   	int3
45671b:	cc                   	int3
45671c:	cc                   	int3
45671d:	cc                   	int3
45671e:	cc                   	int3
45671f:	cc                   	int3
456720:	55                   	push   %ebp
456721:	8b ec                	mov    %esp,%ebp
456723:	53                   	push   %ebx
456724:	56                   	push   %esi
456725:	8b f1                	mov    %ecx,%esi
456727:	57                   	push   %edi
456728:	8b 7d 08             	mov    0x8(%ebp),%edi
45672b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
456731:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
456738:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
45673f:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
456743:	8b 47 10             	mov    0x10(%edi),%eax
456746:	89 45 08             	mov    %eax,0x8(%ebp)
456749:	72 02                	jb     0x45674d
45674b:	8b 3f                	mov    (%edi),%edi
45674d:	83 f8 10             	cmp    $0x10,%eax
456750:	73 1a                	jae    0x45676c
456752:	0f 10 07             	movups (%edi),%xmm0
456755:	bb 0f 00 00 00       	mov    $0xf,%ebx
45675a:	5f                   	pop    %edi
45675b:	0f 11 06             	movups %xmm0,(%esi)
45675e:	89 46 10             	mov    %eax,0x10(%esi)
456761:	8b c6                	mov    %esi,%eax
456763:	89 5e 14             	mov    %ebx,0x14(%esi)
456766:	5e                   	pop    %esi
456767:	5b                   	pop    %ebx
456768:	5d                   	pop    %ebp
456769:	c2 04 00             	ret    $0x4
45676c:	8b d8                	mov    %eax,%ebx
45676e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
456773:	83 cb 0f             	or     $0xf,%ebx
456776:	3b d8                	cmp    %eax,%ebx
456778:	0f 47 d8             	cmova  %eax,%ebx
45677b:	8d 43 01             	lea    0x1(%ebx),%eax
45677e:	50                   	push   %eax
45677f:	e8 9c 26 00 00       	call   0x458e20
456784:	8b 4d 08             	mov    0x8(%ebp),%ecx
456787:	41                   	inc    %ecx
456788:	89 06                	mov    %eax,(%esi)
45678a:	51                   	push   %ecx
45678b:	57                   	push   %edi
45678c:	50                   	push   %eax
45678d:	e8 3e c6 17 00       	call   0x5d2dd0
456792:	8b 45 08             	mov    0x8(%ebp),%eax
456795:	83 c4 0c             	add    $0xc,%esp
456798:	89 46 10             	mov    %eax,0x10(%esi)
45679b:	8b c6                	mov    %esi,%eax
45679d:	89 5e 14             	mov    %ebx,0x14(%esi)
4567a0:	5f                   	pop    %edi
4567a1:	5e                   	pop    %esi
4567a2:	5b                   	pop    %ebx
4567a3:	5d                   	pop    %ebp
4567a4:	c2 04 00             	ret    $0x4
4567a7:	cc                   	int3
4567a8:	cc                   	int3
4567a9:	cc                   	int3
4567aa:	cc                   	int3
4567ab:	cc                   	int3
4567ac:	cc                   	int3
4567ad:	cc                   	int3
4567ae:	cc                   	int3
4567af:	cc                   	int3
4567b0:	55                   	push   %ebp
4567b1:	8b ec                	mov    %esp,%ebp
4567b3:	53                   	push   %ebx
4567b4:	56                   	push   %esi
4567b5:	8b 75 08             	mov    0x8(%ebp),%esi
4567b8:	8d 45 08             	lea    0x8(%ebp),%eax
4567bb:	6a 00                	push   $0x0
4567bd:	50                   	push   %eax
4567be:	8b d9                	mov    %ecx,%ebx
4567c0:	6a 00                	push   $0x0
4567c2:	56                   	push   %esi
4567c3:	89 33                	mov    %esi,(%ebx)
4567c5:	ff 15 98 21 60 00    	call   *0x602198
4567cb:	85 c0                	test   %eax,%eax
4567cd:	74 3a                	je     0x456809
4567cf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4567d3:	57                   	push   %edi
4567d4:	8d 7e 04             	lea    0x4(%esi),%edi
4567d7:	74 1a                	je     0x4567f3
4567d9:	6a 02                	push   $0x2
4567db:	57                   	push   %edi
4567dc:	e8 35 a4 17 00       	call   0x5d0c16
4567e1:	83 c4 08             	add    $0x8,%esp
4567e4:	6a 00                	push   $0x0
4567e6:	6a 00                	push   $0x0
4567e8:	56                   	push   %esi
4567e9:	ff 15 94 21 60 00    	call   *0x602194
4567ef:	85 c0                	test   %eax,%eax
4567f1:	74 16                	je     0x456809
4567f3:	57                   	push   %edi
4567f4:	e8 39 a4 17 00       	call   0x5d0c32
4567f9:	83 c4 04             	add    $0x4,%esp
4567fc:	5f                   	pop    %edi
4567fd:	85 c0                	test   %eax,%eax
4567ff:	75 0d                	jne    0x45680e
456801:	5e                   	pop    %esi
456802:	8b c3                	mov    %ebx,%eax
456804:	5b                   	pop    %ebx
456805:	5d                   	pop    %ebp
456806:	c2 04 00             	ret    $0x4
456809:	e8 db 96 18 00       	call   0x5dfee9
45680e:	50                   	push   %eax
45680f:	e8 e4 a5 17 00       	call   0x5d0df8
456814:	cc                   	int3
456815:	cc                   	int3
456816:	cc                   	int3
456817:	cc                   	int3
456818:	cc                   	int3
456819:	cc                   	int3
45681a:	cc                   	int3
45681b:	cc                   	int3
45681c:	cc                   	int3
45681d:	cc                   	int3
45681e:	cc                   	int3
45681f:	cc                   	int3
456820:	55                   	push   %ebp
456821:	8b ec                	mov    %esp,%ebp
456823:	56                   	push   %esi
456824:	8b f1                	mov    %ecx,%esi
456826:	0f 57 c0             	xorps  %xmm0,%xmm0
456829:	8d 46 04             	lea    0x4(%esi),%eax
45682c:	50                   	push   %eax
45682d:	c7 06 0c 5e 60 00    	movl   $0x605e0c,(%esi)
456833:	66 0f d6 00          	movq   %xmm0,(%eax)
456837:	8b 45 08             	mov    0x8(%ebp),%eax
45683a:	83 c0 04             	add    $0x4,%eax
45683d:	50                   	push   %eax
45683e:	e8 7a d2 17 00       	call   0x5d3abd
456843:	83 c4 08             	add    $0x8,%esp
456846:	c7 06 2c 5e 60 00    	movl   $0x605e2c,(%esi)
45684c:	8b c6                	mov    %esi,%eax
45684e:	5e                   	pop    %esi
45684f:	5d                   	pop    %ebp
456850:	c2 04 00             	ret    $0x4
456853:	cc                   	int3
456854:	cc                   	int3
456855:	cc                   	int3
456856:	cc                   	int3
456857:	cc                   	int3
456858:	cc                   	int3
456859:	cc                   	int3
45685a:	cc                   	int3
45685b:	cc                   	int3
45685c:	cc                   	int3
45685d:	cc                   	int3
45685e:	cc                   	int3
45685f:	cc                   	int3
456860:	55                   	push   %ebp
456861:	8b ec                	mov    %esp,%ebp
456863:	56                   	push   %esi
456864:	8b f1                	mov    %ecx,%esi
456866:	0f 57 c0             	xorps  %xmm0,%xmm0
456869:	8d 46 04             	lea    0x4(%esi),%eax
45686c:	50                   	push   %eax
45686d:	c7 06 0c 5e 60 00    	movl   $0x605e0c,(%esi)
456873:	66 0f d6 00          	movq   %xmm0,(%eax)
456877:	8b 45 08             	mov    0x8(%ebp),%eax
45687a:	83 c0 04             	add    $0x4,%eax
45687d:	50                   	push   %eax
45687e:	e8 3a d2 17 00       	call   0x5d3abd
456883:	83 c4 08             	add    $0x8,%esp
456886:	c7 06 38 5e 60 00    	movl   $0x605e38,(%esi)
45688c:	8b c6                	mov    %esi,%eax
45688e:	5e                   	pop    %esi
45688f:	5d                   	pop    %ebp
456890:	c2 04 00             	ret    $0x4
456893:	cc                   	int3
456894:	cc                   	int3
456895:	cc                   	int3
456896:	cc                   	int3
456897:	cc                   	int3
456898:	cc                   	int3
456899:	cc                   	int3
45689a:	cc                   	int3
45689b:	cc                   	int3
45689c:	cc                   	int3
45689d:	cc                   	int3
45689e:	cc                   	int3
45689f:	cc                   	int3
4568a0:	0f 57 c0             	xorps  %xmm0,%xmm0
4568a3:	8b c1                	mov    %ecx,%eax
4568a5:	66 0f d6 41 04       	movq   %xmm0,0x4(%ecx)
4568aa:	c7 41 04 ec 28 60 00 	movl   $0x6028ec,0x4(%ecx)
4568b1:	c7 01 38 5e 60 00    	movl   $0x605e38,(%ecx)
4568b7:	c3                   	ret
4568b8:	cc                   	int3
4568b9:	cc                   	int3
4568ba:	cc                   	int3
4568bb:	cc                   	int3
4568bc:	cc                   	int3
4568bd:	cc                   	int3
4568be:	cc                   	int3
4568bf:	cc                   	int3
4568c0:	55                   	push   %ebp
4568c1:	8b ec                	mov    %esp,%ebp
4568c3:	56                   	push   %esi
4568c4:	8b f1                	mov    %ecx,%esi
4568c6:	0f 57 c0             	xorps  %xmm0,%xmm0
4568c9:	8d 46 04             	lea    0x4(%esi),%eax
4568cc:	50                   	push   %eax
4568cd:	c7 06 0c 5e 60 00    	movl   $0x605e0c,(%esi)
4568d3:	66 0f d6 00          	movq   %xmm0,(%eax)
4568d7:	8b 45 08             	mov    0x8(%ebp),%eax
4568da:	83 c0 04             	add    $0x4,%eax
4568dd:	50                   	push   %eax
4568de:	e8 da d1 17 00       	call   0x5d3abd
4568e3:	83 c4 08             	add    $0x8,%esp
4568e6:	8b c6                	mov    %esi,%eax
4568e8:	5e                   	pop    %esi
4568e9:	5d                   	pop    %ebp
4568ea:	c2 04 00             	ret    $0x4
4568ed:	cc                   	int3
4568ee:	cc                   	int3
4568ef:	cc                   	int3
4568f0:	8b 41 04             	mov    0x4(%ecx),%eax
4568f3:	85 c0                	test   %eax,%eax
4568f5:	74 0b                	je     0x456902
4568f7:	6a 14                	push   $0x14
4568f9:	50                   	push   %eax
4568fa:	e8 56 a9 17 00       	call   0x5d1255
4568ff:	83 c4 08             	add    $0x8,%esp
456902:	c3                   	ret
456903:	cc                   	int3
456904:	cc                   	int3
456905:	cc                   	int3
456906:	cc                   	int3
456907:	cc                   	int3
456908:	cc                   	int3
456909:	cc                   	int3
45690a:	cc                   	int3
45690b:	cc                   	int3
45690c:	cc                   	int3
45690d:	cc                   	int3
45690e:	cc                   	int3