4015ab:	8d 47 01             	lea    0x1(%edi),%eax
4015ae:	8b 4e 10             	mov    0x10(%esi),%ecx
4015b1:	8b d6                	mov    %esi,%edx
4015b3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4015b6:	89 75 e8             	mov    %esi,-0x18(%ebp)
4015b9:	72 05                	jb     0x4015c0
4015bb:	8b 16                	mov    (%esi),%edx
4015bd:	89 55 e8             	mov    %edx,-0x18(%ebp)
4015c0:	3b c1                	cmp    %ecx,%eax
4015c2:	73 31                	jae    0x4015f5
4015c4:	8d 14 42             	lea    (%edx,%eax,2),%edx
4015c7:	bf 00 00 00 00       	mov    $0x0,%edi
4015cc:	2b c8                	sub    %eax,%ecx
4015ce:	74 1a                	je     0x4015ea
4015d0:	66 83 3a 22          	cmpw   $0x22,(%edx)
4015d4:	74 0f                	je     0x4015e5
4015d6:	83 f9 01             	cmp    $0x1,%ecx
4015d9:	74 0c                	je     0x4015e7
4015db:	83 c2 02             	add    $0x2,%edx
4015de:	49                   	dec    %ecx
4015df:	66 83 3a 22          	cmpw   $0x22,(%edx)
4015e3:	75 f1                	jne    0x4015d6
4015e5:	8b fa                	mov    %edx,%edi
4015e7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4015ea:	85 ff                	test   %edi,%edi
4015ec:	74 07                	je     0x4015f5
4015ee:	2b 7d e8             	sub    -0x18(%ebp),%edi
4015f1:	d1 ff                	sar    $1,%edi
4015f3:	eb 03                	jmp    0x4015f8
4015f5:	83 cf ff             	or     $0xffffffff,%edi
4015f8:	83 ff ff             	cmp    $0xffffffff,%edi
4015fb:	0f 85 9f fe ff ff    	jne    0x4014a0
401601:	eb 02                	jmp    0x401605
401603:	33 c0                	xor    %eax,%eax
401605:	8b 4e 10             	mov    0x10(%esi),%ecx
401608:	0f 57 c0             	xorps  %xmm0,%xmm0
40160b:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
401612:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
401619:	0f 11 45 b0          	movups %xmm0,-0x50(%ebp)
40161d:	3b c8                	cmp    %eax,%ecx
40161f:	0f 82 0b 01 00 00    	jb     0x401730
401625:	2b c8                	sub    %eax,%ecx
401627:	83 ca ff             	or     $0xffffffff,%edx
40162a:	83 f9 ff             	cmp    $0xffffffff,%ecx
40162d:	0f 42 d1             	cmovb  %ecx,%edx
401630:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
401634:	72 02                	jb     0x401638
401636:	8b 36                	mov    (%esi),%esi
401638:	8d 04 46             	lea    (%esi,%eax,2),%eax
40163b:	52                   	push   %edx
40163c:	50                   	push   %eax
40163d:	8d 4d b0             	lea    -0x50(%ebp),%ecx
401640:	e8 cb 0a 00 00       	call   0x402110
401645:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401649:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40164c:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
401650:	8b 7d b0             	mov    -0x50(%ebp),%edi
401653:	8b 75 d8             	mov    -0x28(%ebp),%esi
401656:	0f 43 cf             	cmovae %edi,%ecx
401659:	8b 45 dc             	mov    -0x24(%ebp),%eax
40165c:	8b 55 c0             	mov    -0x40(%ebp),%edx
40165f:	2b c6                	sub    %esi,%eax
401661:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
401664:	89 75 e8             	mov    %esi,-0x18(%ebp)
401667:	3b d0                	cmp    %eax,%edx
401669:	77 35                	ja     0x4016a0
40166b:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
40166f:	8d 04 16             	lea    (%esi,%edx,1),%eax
401672:	89 45 d8             	mov    %eax,-0x28(%ebp)
401675:	8d 75 c8             	lea    -0x38(%ebp),%esi
401678:	0f 43 75 c8          	cmovae -0x38(%ebp),%esi
40167c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40167f:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
401682:	8d 04 12             	lea    (%edx,%edx,1),%eax
401685:	50                   	push   %eax
401686:	ff 75 e4             	push   -0x1c(%ebp)
401689:	51                   	push   %ecx
40168a:	e8 c1 3d 00 00       	call   0x405450
40168f:	8b 45 c0             	mov    -0x40(%ebp),%eax
401692:	83 c4 0c             	add    $0xc,%esp
401695:	03 45 e8             	add    -0x18(%ebp),%eax
401698:	33 c9                	xor    %ecx,%ecx
40169a:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
40169e:	eb 11                	jmp    0x4016b1
4016a0:	52                   	push   %edx
4016a1:	51                   	push   %ecx
4016a2:	ff 75 e4             	push   -0x1c(%ebp)
4016a5:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4016a8:	52                   	push   %edx
4016a9:	e8 72 0d 00 00       	call   0x402420
4016ae:	8b 7d b0             	mov    -0x50(%ebp),%edi
4016b1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4016b5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4016b8:	83 f8 08             	cmp    $0x8,%eax
4016bb:	72 2b                	jb     0x4016e8
4016bd:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4016c4:	8b c7                	mov    %edi,%eax
4016c6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4016cc:	72 10                	jb     0x4016de
4016ce:	8b 78 fc             	mov    -0x4(%eax),%edi
4016d1:	83 c1 23             	add    $0x23,%ecx
4016d4:	2b c7                	sub    %edi,%eax
4016d6:	83 c0 fc             	add    $0xfffffffc,%eax
4016d9:	83 f8 1f             	cmp    $0x1f,%eax
4016dc:	77 57                	ja     0x401735
4016de:	51                   	push   %ecx
4016df:	57                   	push   %edi
4016e0:	e8 99 14 00 00       	call   0x402b7e
4016e5:	83 c4 08             	add    $0x8,%esp
4016e8:	68 68 3d 41 00       	push   $0x413d68
4016ed:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4016f0:	e8 4b 09 00 00       	call   0x402040
4016f5:	8b 45 a8             	mov    -0x58(%ebp),%eax
4016f8:	0f 57 c0             	xorps  %xmm0,%xmm0
4016fb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4016fe:	5f                   	pop    %edi
4016ff:	5e                   	pop    %esi
401700:	0f 11 00             	movups %xmm0,(%eax)
401703:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40170a:	0f 10 45 c8          	movups -0x38(%ebp),%xmm0
40170e:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
401715:	0f 11 00             	movups %xmm0,(%eax)
401718:	f3 0f 7e 45 d8       	movq   -0x28(%ebp),%xmm0
40171d:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
401722:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401729:	8b e5                	mov    %ebp,%esp
40172b:	5d                   	pop    %ebp
40172c:	8b e3                	mov    %ebx,%esp
40172e:	5b                   	pop    %ebx
40172f:	c3                   	ret
401730:	e8 cb 09 00 00       	call   0x402100
401735:	e8 f2 45 00 00       	call   0x405d2c
40173a:	cc                   	int3
40173b:	cc                   	int3
40173c:	cc                   	int3
40173d:	cc                   	int3
40173e:	cc                   	int3
40173f:	cc                   	int3
401740:	55                   	push   %ebp
401741:	8b ec                	mov    %esp,%ebp
401743:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401749:	6a ff                	push   $0xffffffff
40174b:	68 b5 ee 40 00       	push   $0x40eeb5
401750:	50                   	push   %eax
401751:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
401758:	81 ec 88 00 00 00    	sub    $0x88,%esp
40175e:	53                   	push   %ebx
40175f:	56                   	push   %esi
401760:	57                   	push   %edi
401761:	8b f9                	mov    %ecx,%edi
401763:	83 7f 20 08          	cmpl   $0x8,0x20(%edi)
401767:	8d 77 0c             	lea    0xc(%edi),%esi
40176a:	8b c6                	mov    %esi,%eax
40176c:	72 02                	jb     0x401770
40176e:	8b 06                	mov    (%esi),%eax
401770:	50                   	push   %eax
401771:	ff 15 00 f0 40 00    	call   *0x40f000
401777:	83 f8 ff             	cmp    $0xffffffff,%eax
40177a:	0f 84 bb 01 00 00    	je     0x40193b
401780:	a8 10                	test   $0x10,%al
401782:	0f 85 b3 01 00 00    	jne    0x40193b
401788:	56                   	push   %esi
401789:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40178c:	e8 af 07 00 00       	call   0x401f40
401791:	8d 47 24             	lea    0x24(%edi),%eax
401794:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40179b:	50                   	push   %eax
40179c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40179f:	e8 9c 07 00 00       	call   0x401f40
4017a4:	8d 45 dc             	lea    -0x24(%ebp),%eax
4017a7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4017ab:	50                   	push   %eax
4017ac:	8b cf                	mov    %edi,%ecx
4017ae:	e8 ad f9 ff ff       	call   0x401160
4017b3:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
4017b7:	8d 45 a8             	lea    -0x58(%ebp),%eax
4017ba:	0f 57 c0             	xorps  %xmm0,%xmm0
4017bd:	c7 85 6c ff ff ff 3c 	movl   $0x3c,-0x94(%ebp)
4017c4:	00 00 00
4017c7:	0f 43 45 a8          	cmovae -0x58(%ebp),%eax
4017cb:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4017cf:	66 0f 13 45 90       	movlpd %xmm0,-0x70(%ebp)
4017d4:	66 0f 13 45 98       	movlpd %xmm0,-0x68(%ebp)
4017d9:	66 0f 13 45 a0       	movlpd %xmm0,-0x60(%ebp)
4017de:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4017e4:	c7 85 70 ff ff ff 40 	movl   $0x440,-0x90(%ebp)
4017eb:	04 00 00
4017ee:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
4017f5:	00 00 00
4017f8:	75 04                	jne    0x4017fe
4017fa:	33 c0                	xor    %eax,%eax
4017fc:	eb 0b                	jmp    0x401809
4017fe:	83 7d f0 08          	cmpl   $0x8,-0x10(%ebp)
401802:	8d 45 dc             	lea    -0x24(%ebp),%eax
401805:	0f 43 45 dc          	cmovae -0x24(%ebp),%eax
401809:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
40180d:	89 45 80             	mov    %eax,-0x80(%ebp)
401810:	75 04                	jne    0x401816
401812:	33 c0                	xor    %eax,%eax
401814:	eb 0b                	jmp    0x401821
401816:	83 7d d8 08          	cmpl   $0x8,-0x28(%ebp)
40181a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40181d:	0f 43 45 c4          	cmovae -0x3c(%ebp),%eax
401821:	89 45 84             	mov    %eax,-0x7c(%ebp)
401824:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40182a:	50                   	push   %eax
40182b:	c7 45 88 05 00 00 00 	movl   $0x5,-0x78(%ebp)
401832:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
401839:	c7 85 78 ff ff ff 74 	movl   $0x413d74,-0x88(%ebp)
401840:	3d 41 00
401843:	ff 15 0c f1 40 00    	call   *0x40f10c
401849:	83 f8 01             	cmp    $0x1,%eax
40184c:	75 0a                	jne    0x401858
40184e:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
401852:	74 04                	je     0x401858
401854:	8a d8                	mov    %al,%bl
401856:	eb 02                	jmp    0x40185a
401858:	32 db                	xor    %bl,%bl
40185a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40185d:	83 f9 08             	cmp    $0x8,%ecx
401860:	72 32                	jb     0x401894
401862:	8b 55 dc             	mov    -0x24(%ebp),%edx
401865:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40186c:	8b c2                	mov    %edx,%eax
40186e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401874:	72 14                	jb     0x40188a
401876:	8b 50 fc             	mov    -0x4(%eax),%edx
401879:	83 c1 23             	add    $0x23,%ecx
40187c:	2b c2                	sub    %edx,%eax
40187e:	83 c0 fc             	add    $0xfffffffc,%eax
401881:	83 f8 1f             	cmp    $0x1f,%eax
401884:	0f 87 c4 00 00 00    	ja     0x40194e
40188a:	51                   	push   %ecx
40188b:	52                   	push   %edx
40188c:	e8 ed 12 00 00       	call   0x402b7e
401891:	83 c4 08             	add    $0x8,%esp
401894:	8b 4d d8             	mov    -0x28(%ebp),%ecx
401897:	33 c0                	xor    %eax,%eax
401899:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4018a0:	c7 45 f0 07 00 00 00 	movl   $0x7,-0x10(%ebp)
4018a7:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
4018ab:	83 f9 08             	cmp    $0x8,%ecx
4018ae:	72 2e                	jb     0x4018de
4018b0:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4018b3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4018ba:	8b c2                	mov    %edx,%eax
4018bc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4018c2:	72 10                	jb     0x4018d4
4018c4:	8b 50 fc             	mov    -0x4(%eax),%edx
4018c7:	83 c1 23             	add    $0x23,%ecx
4018ca:	2b c2                	sub    %edx,%eax
4018cc:	83 c0 fc             	add    $0xfffffffc,%eax
4018cf:	83 f8 1f             	cmp    $0x1f,%eax
4018d2:	77 7a                	ja     0x40194e
4018d4:	51                   	push   %ecx
4018d5:	52                   	push   %edx
4018d6:	e8 a3 12 00 00       	call   0x402b7e
4018db:	83 c4 08             	add    $0x8,%esp
4018de:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4018e1:	33 c0                	xor    %eax,%eax
4018e3:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4018ea:	c7 45 d8 07 00 00 00 	movl   $0x7,-0x28(%ebp)
4018f1:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
4018f5:	83 f9 08             	cmp    $0x8,%ecx
4018f8:	72 2e                	jb     0x401928
4018fa:	8b 55 a8             	mov    -0x58(%ebp),%edx
4018fd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401904:	8b c2                	mov    %edx,%eax
401906:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40190c:	72 10                	jb     0x40191e
40190e:	8b 50 fc             	mov    -0x4(%eax),%edx
401911:	83 c1 23             	add    $0x23,%ecx
401914:	2b c2                	sub    %edx,%eax
401916:	83 c0 fc             	add    $0xfffffffc,%eax
401919:	83 f8 1f             	cmp    $0x1f,%eax
40191c:	77 30                	ja     0x40194e
40191e:	51                   	push   %ecx
40191f:	52                   	push   %edx
401920:	e8 59 12 00 00       	call   0x402b7e
401925:	83 c4 08             	add    $0x8,%esp
401928:	8a c3                	mov    %bl,%al
40192a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40192d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401934:	5f                   	pop    %edi
401935:	5e                   	pop    %esi
401936:	5b                   	pop    %ebx
401937:	8b e5                	mov    %ebp,%esp
401939:	5d                   	pop    %ebp
40193a:	c3                   	ret
40193b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40193e:	32 c0                	xor    %al,%al
401940:	5f                   	pop    %edi
401941:	5e                   	pop    %esi
401942:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401949:	5b                   	pop    %ebx
40194a:	8b e5                	mov    %ebp,%esp
40194c:	5d                   	pop    %ebp
40194d:	c3                   	ret
40194e:	e8 d9 43 00 00       	call   0x405d2c
401953:	cc                   	int3
401954:	cc                   	int3
401955:	cc                   	int3
401956:	cc                   	int3
401957:	cc                   	int3
401958:	cc                   	int3
401959:	cc                   	int3
40195a:	cc                   	int3
40195b:	cc                   	int3
40195c:	cc                   	int3
40195d:	cc                   	int3
40195e:	cc                   	int3
40195f:	cc                   	int3
401960:	55                   	push   %ebp
401961:	8b ec                	mov    %esp,%ebp
401963:	83 e4 f0             	and    $0xfffffff0,%esp
401966:	81 ec b8 02 00 00    	sub    $0x2b8,%esp
40196c:	56                   	push   %esi
40196d:	57                   	push   %edi
40196e:	8d 44 24 38          	lea    0x38(%esp),%eax
401972:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
401979:	00
40197a:	50                   	push   %eax
40197b:	ff 15 08 f0 40 00    	call   *0x40f008
401981:	50                   	push   %eax
401982:	ff 15 10 f1 40 00    	call   *0x40f110
401988:	89 44 24 3c          	mov    %eax,0x3c(%esp)
40198c:	85 c0                	test   %eax,%eax
40198e:	0f 84 ab 04 00 00    	je     0x401e3f
401994:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
401999:	0f 84 a0 04 00 00    	je     0x401e3f
40199f:	33 c0                	xor    %eax,%eax
4019a1:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
4019a8:	00
4019a9:	0f 57 c0             	xorps  %xmm0,%xmm0
4019ac:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
4019b3:	68 0a 02 00 00       	push   $0x20a
4019b8:	0f 11 44 24 60       	movups %xmm0,0x60(%esp)
4019bd:	50                   	push   %eax
4019be:	0f 11 84 24 80 00 00 	movups %xmm0,0x80(%esp)
4019c5:	00
4019c6:	66 89 44 24 68       	mov    %ax,0x68(%esp)
4019cb:	66 89 84 24 80 00 00 	mov    %ax,0x80(%esp)
4019d2:	00
4019d3:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
4019da:	50                   	push   %eax
4019db:	c7 44 24 64 00 00 00 	movl   $0x0,0x64(%esp)
4019e2:	00
4019e3:	c7 44 24 78 00 00 00 	movl   $0x0,0x78(%esp)
4019ea:	00
4019eb:	c7 44 24 7c 00 00 00 	movl   $0x0,0x7c(%esp)