4204aa:	83 c0 51             	add    $0x51,%eax
4204ad:	66 89 85 ca fb ff ff 	mov    %ax,-0x436(%ebp)
4204b4:	89 bd dc fb ff ff    	mov    %edi,-0x424(%ebp)
4204ba:	e9 45 fe ff ff       	jmp    0x420304
4204bf:	f7 85 f8 fb ff ff 00 	testl  $0x1000,-0x408(%ebp)
4204c6:	10 00 00
4204c9:	0f 85 45 fe ff ff    	jne    0x420314
4204cf:	83 c3 04             	add    $0x4,%ebx
4204d2:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
4204d9:	74 1c                	je     0x4204f7
4204db:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
4204e2:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
4204e8:	74 06                	je     0x4204f0
4204ea:	0f bf 43 fc          	movswl -0x4(%ebx),%eax
4204ee:	eb 04                	jmp    0x4204f4
4204f0:	0f b7 43 fc          	movzwl -0x4(%ebx),%eax
4204f4:	99                   	cltd
4204f5:	eb 17                	jmp    0x42050e
4204f7:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
4204fe:	8b 43 fc             	mov    -0x4(%ebx),%eax
420501:	74 03                	je     0x420506
420503:	99                   	cltd
420504:	eb 02                	jmp    0x420508
420506:	33 d2                	xor    %edx,%edx
420508:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
42050e:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
420515:	74 1b                	je     0x420532
420517:	85 d2                	test   %edx,%edx
420519:	7f 17                	jg     0x420532
42051b:	7c 04                	jl     0x420521
42051d:	85 c0                	test   %eax,%eax
42051f:	73 11                	jae    0x420532
420521:	f7 d8                	neg    %eax
420523:	83 d2 00             	adc    $0x0,%edx
420526:	f7 da                	neg    %edx
420528:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
42052f:	01 00 00
420532:	f7 85 f8 fb ff ff 00 	testl  $0x9000,-0x408(%ebp)
420539:	90 00 00
42053c:	8b da                	mov    %edx,%ebx
42053e:	8b f8                	mov    %eax,%edi
420540:	75 02                	jne    0x420544
420542:	33 db                	xor    %ebx,%ebx
420544:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
42054b:	7d 0c                	jge    0x420559
42054d:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
420554:	00 00 00
420557:	eb 1a                	jmp    0x420573
420559:	83 a5 f8 fb ff ff f7 	andl   $0xfffffff7,-0x408(%ebp)
420560:	b8 00 02 00 00       	mov    $0x200,%eax
420565:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
42056b:	7e 06                	jle    0x420573
42056d:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
420573:	8b c7                	mov    %edi,%eax
420575:	0b c3                	or     %ebx,%eax
420577:	75 06                	jne    0x42057f
420579:	21 85 dc fb ff ff    	and    %eax,-0x424(%ebp)
42057f:	8d b5 fb fd ff ff    	lea    -0x205(%ebp),%esi
420585:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
42058b:	ff 8d f4 fb ff ff    	decl   -0x40c(%ebp)
420591:	85 c0                	test   %eax,%eax
420593:	7f 06                	jg     0x42059b
420595:	8b c7                	mov    %edi,%eax
420597:	0b c3                	or     %ebx,%eax
420599:	74 2d                	je     0x4205c8
42059b:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
4205a1:	99                   	cltd
4205a2:	52                   	push   %edx
4205a3:	50                   	push   %eax
4205a4:	53                   	push   %ebx
4205a5:	57                   	push   %edi
4205a6:	e8 15 47 00 00       	call   0x424cc0
4205ab:	83 c1 30             	add    $0x30,%ecx
4205ae:	83 f9 39             	cmp    $0x39,%ecx
4205b1:	89 9d 90 fb ff ff    	mov    %ebx,-0x470(%ebp)
4205b7:	8b f8                	mov    %eax,%edi
4205b9:	8b da                	mov    %edx,%ebx
4205bb:	7e 06                	jle    0x4205c3
4205bd:	03 8d b8 fb ff ff    	add    -0x448(%ebp),%ecx
4205c3:	88 0e                	mov    %cl,(%esi)
4205c5:	4e                   	dec    %esi
4205c6:	eb bd                	jmp    0x420585
4205c8:	8d 85 fb fd ff ff    	lea    -0x205(%ebp),%eax
4205ce:	2b c6                	sub    %esi,%eax
4205d0:	46                   	inc    %esi
4205d1:	f7 85 f8 fb ff ff 00 	testl  $0x200,-0x408(%ebp)
4205d8:	02 00 00
4205db:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
4205e1:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
4205e7:	74 59                	je     0x420642
4205e9:	85 c0                	test   %eax,%eax
4205eb:	74 07                	je     0x4205f4
4205ed:	8b ce                	mov    %esi,%ecx
4205ef:	80 39 30             	cmpb   $0x30,(%ecx)
4205f2:	74 4e                	je     0x420642
4205f4:	ff 8d f0 fb ff ff    	decl   -0x410(%ebp)
4205fa:	8b 8d f0 fb ff ff    	mov    -0x410(%ebp),%ecx
420600:	c6 01 30             	movb   $0x30,(%ecx)
420603:	40                   	inc    %eax
420604:	eb 36                	jmp    0x42063c
420606:	85 db                	test   %ebx,%ebx
420608:	75 0b                	jne    0x420615
42060a:	a1 20 ff 42 00       	mov    0x42ff20,%eax
42060f:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
420615:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
42061b:	c7 85 d8 fb ff ff 01 	movl   $0x1,-0x428(%ebp)
420622:	00 00 00
420625:	eb 09                	jmp    0x420630
420627:	4f                   	dec    %edi
420628:	66 83 38 00          	cmpw   $0x0,(%eax)
42062c:	74 06                	je     0x420634
42062e:	40                   	inc    %eax
42062f:	40                   	inc    %eax
420630:	85 ff                	test   %edi,%edi
420632:	75 f3                	jne    0x420627
420634:	2b 85 f0 fb ff ff    	sub    -0x410(%ebp),%eax
42063a:	d1 f8                	sar    $1,%eax
42063c:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
420642:	83 bd c4 fb ff ff 00 	cmpl   $0x0,-0x43c(%ebp)
420649:	0f 85 65 01 00 00    	jne    0x4207b4
42064f:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
420655:	a8 40                	test   $0x40,%al
420657:	74 2b                	je     0x420684
420659:	a9 00 01 00 00       	test   $0x100,%eax
42065e:	74 04                	je     0x420664
420660:	6a 2d                	push   $0x2d
420662:	eb 0e                	jmp    0x420672
420664:	a8 01                	test   $0x1,%al
420666:	74 04                	je     0x42066c
420668:	6a 2b                	push   $0x2b
42066a:	eb 06                	jmp    0x420672
42066c:	a8 02                	test   $0x2,%al
42066e:	74 14                	je     0x420684
420670:	6a 20                	push   $0x20
420672:	58                   	pop    %eax
420673:	66 89 85 c8 fb ff ff 	mov    %ax,-0x438(%ebp)
42067a:	c7 85 dc fb ff ff 01 	movl   $0x1,-0x424(%ebp)
420681:	00 00 00
420684:	8b 9d d4 fb ff ff    	mov    -0x42c(%ebp),%ebx
42068a:	8b b5 ec fb ff ff    	mov    -0x414(%ebp),%esi
420690:	2b de                	sub    %esi,%ebx
420692:	2b 9d dc fb ff ff    	sub    -0x424(%ebp),%ebx
420698:	f6 85 f8 fb ff ff 0c 	testb  $0xc,-0x408(%ebp)
42069f:	75 17                	jne    0x4206b8
4206a1:	ff b5 d0 fb ff ff    	push   -0x430(%ebp)
4206a7:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
4206ad:	53                   	push   %ebx
4206ae:	6a 20                	push   $0x20
4206b0:	e8 93 f5 ff ff       	call   0x41fc48
4206b5:	83 c4 0c             	add    $0xc,%esp
4206b8:	ff b5 dc fb ff ff    	push   -0x424(%ebp)
4206be:	8b bd d0 fb ff ff    	mov    -0x430(%ebp),%edi
4206c4:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
4206ca:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
4206d0:	e8 9a f5 ff ff       	call   0x41fc6f
4206d5:	f6 85 f8 fb ff ff 08 	testb  $0x8,-0x408(%ebp)
4206dc:	59                   	pop    %ecx
4206dd:	74 1b                	je     0x4206fa
4206df:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
4206e6:	75 12                	jne    0x4206fa
4206e8:	57                   	push   %edi
4206e9:	53                   	push   %ebx
4206ea:	6a 30                	push   $0x30
4206ec:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
4206f2:	e8 51 f5 ff ff       	call   0x41fc48
4206f7:	83 c4 0c             	add    $0xc,%esp
4206fa:	83 bd d8 fb ff ff 00 	cmpl   $0x0,-0x428(%ebp)
420701:	75 75                	jne    0x420778
420703:	85 f6                	test   %esi,%esi
420705:	7e 71                	jle    0x420778
420707:	8b bd f0 fb ff ff    	mov    -0x410(%ebp),%edi
42070d:	89 b5 e8 fb ff ff    	mov    %esi,-0x418(%ebp)
420713:	ff 8d e8 fb ff ff    	decl   -0x418(%ebp)
420719:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
42071f:	50                   	push   %eax
420720:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
420726:	ff b0 ac 00 00 00    	push   0xac(%eax)
42072c:	8d 85 9c fb ff ff    	lea    -0x464(%ebp),%eax
420732:	57                   	push   %edi
420733:	50                   	push   %eax
420734:	e8 55 44 00 00       	call   0x424b8e
420739:	83 c4 10             	add    $0x10,%esp
42073c:	89 85 90 fb ff ff    	mov    %eax,-0x470(%ebp)
420742:	85 c0                	test   %eax,%eax
420744:	7e 29                	jle    0x42076f
420746:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
42074c:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
420752:	8d b5 e0 fb ff ff    	lea    -0x420(%ebp),%esi
420758:	e8 bc f4 ff ff       	call   0x41fc19
42075d:	03 bd 90 fb ff ff    	add    -0x470(%ebp),%edi
420763:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
42076a:	59                   	pop    %ecx
42076b:	7f a6                	jg     0x420713
42076d:	eb 1c                	jmp    0x42078b
42076f:	83 8d e0 fb ff ff ff 	orl    $0xffffffff,-0x420(%ebp)
420776:	eb 13                	jmp    0x42078b
420778:	8b 8d f0 fb ff ff    	mov    -0x410(%ebp),%ecx
42077e:	56                   	push   %esi
42077f:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
420785:	e8 e5 f4 ff ff       	call   0x41fc6f
42078a:	59                   	pop    %ecx
42078b:	83 bd e0 fb ff ff 00 	cmpl   $0x0,-0x420(%ebp)
420792:	7c 20                	jl     0x4207b4
420794:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
42079b:	74 17                	je     0x4207b4
42079d:	ff b5 d0 fb ff ff    	push   -0x430(%ebp)
4207a3:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
4207a9:	53                   	push   %ebx
4207aa:	6a 20                	push   $0x20
4207ac:	e8 97 f4 ff ff       	call   0x41fc48
4207b1:	83 c4 0c             	add    $0xc,%esp
4207b4:	83 bd bc fb ff ff 00 	cmpl   $0x0,-0x444(%ebp)
4207bb:	74 13                	je     0x4207d0
4207bd:	ff b5 bc fb ff ff    	push   -0x444(%ebp)
4207c3:	e8 1a 97 ff ff       	call   0x419ee2
4207c8:	83 a5 bc fb ff ff 00 	andl   $0x0,-0x444(%ebp)
4207cf:	59                   	pop    %ecx
4207d0:	8b b5 c0 fb ff ff    	mov    -0x440(%ebp),%esi
4207d6:	0f b7 06             	movzwl (%esi),%eax
4207d9:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
4207df:	66 85 c0             	test   %ax,%ax
4207e2:	74 2a                	je     0x42080e
4207e4:	8b 8d a4 fb ff ff    	mov    -0x45c(%ebp),%ecx
4207ea:	8b 9d e4 fb ff ff    	mov    -0x41c(%ebp),%ebx
4207f0:	8b d0                	mov    %eax,%edx
4207f2:	e9 96 f5 ff ff       	jmp    0x41fd8d
4207f7:	e8 a2 e0 ff ff       	call   0x41e89e
4207fc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420802:	33 c0                	xor    %eax,%eax
420804:	50                   	push   %eax
420805:	50                   	push   %eax
420806:	50                   	push   %eax
420807:	50                   	push   %eax
420808:	50                   	push   %eax
420809:	e9 32 f5 ff ff       	jmp    0x41fd40
42080e:	80 bd b4 fb ff ff 00 	cmpb   $0x0,-0x44c(%ebp)
420815:	74 0a                	je     0x420821
420817:	8b 85 b0 fb ff ff    	mov    -0x450(%ebp),%eax
42081d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
420821:	8b 85 e0 fb ff ff    	mov    -0x420(%ebp),%eax
420827:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42082a:	5f                   	pop    %edi
42082b:	5e                   	pop    %esi
42082c:	33 cd                	xor    %ebp,%ecx
42082e:	5b                   	pop    %ebx
42082f:	e8 9a d9 ff ff       	call   0x41e1ce
420834:	c9                   	leave
420835:	c3                   	ret
420836:	8d 49 00             	lea    0x0(%ecx),%ecx
420839:	00 00                	add    %al,(%eax)
42083b:	42                   	inc    %edx
42083c:	00 e2                	add    %ah,%dl
42083e:	fd                   	std
42083f:	41                   	inc    %ecx
420840:	00 14 fe             	add    %dl,(%esi,%edi,8)
420843:	41                   	inc    %ecx
420844:	00 71 fe             	add    %dh,-0x2(%ecx)
420847:	41                   	inc    %ecx
420848:	00 be fe 41 00 ca    	add    %bh,-0x35ffbe02(%esi)
42084e:	fe 41 00             	incb   0x0(%ecx)
420851:	11 ff                	adc    %edi,%edi
420853:	41                   	inc    %ecx
420854:	00 21                	add    %ah,(%ecx)
420856:	00 42 00             	add    %al,0x0(%edx)
420859:	55                   	push   %ebp
42085a:	8b ec                	mov    %esp,%ebp
42085c:	83 ec 08             	sub    $0x8,%esp
42085f:	89 7d fc             	mov    %edi,-0x4(%ebp)
420862:	89 75 f8             	mov    %esi,-0x8(%ebp)
420865:	8b 75 0c             	mov    0xc(%ebp),%esi
420868:	8b 7d 08             	mov    0x8(%ebp),%edi
42086b:	8b 4d 10             	mov    0x10(%ebp),%ecx
42086e:	c1 e9 07             	shr    $0x7,%ecx
420871:	eb 06                	jmp    0x420879
420873:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
420879:	66 0f 6f 06          	movdqa (%esi),%xmm0
42087d:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
420882:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
420887:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
42088c:	66 0f 7f 07          	movdqa %xmm0,(%edi)
420890:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
420895:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
42089a:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
42089f:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
4208a4:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
4208a9:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
4208ae:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
4208b3:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
4208b8:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
4208bd:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
4208c2:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
4208c7:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
4208cd:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
4208d3:	49                   	dec    %ecx
4208d4:	75 a3                	jne    0x420879
4208d6:	8b 75 f8             	mov    -0x8(%ebp),%esi
4208d9:	8b 7d fc             	mov    -0x4(%ebp),%edi
4208dc:	8b e5                	mov    %ebp,%esp
4208de:	5d                   	pop    %ebp
4208df:	c3                   	ret
4208e0:	55                   	push   %ebp
4208e1:	8b ec                	mov    %esp,%ebp
4208e3:	83 ec 1c             	sub    $0x1c,%esp
4208e6:	89 7d f4             	mov    %edi,-0xc(%ebp)
4208e9:	89 75 f8             	mov    %esi,-0x8(%ebp)
4208ec:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4208ef:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4208f2:	8b c3                	mov    %ebx,%eax
4208f4:	99                   	cltd
4208f5:	8b c8                	mov    %eax,%ecx
4208f7:	8b 45 08             	mov    0x8(%ebp),%eax
4208fa:	33 ca                	xor    %edx,%ecx
4208fc:	2b ca                	sub    %edx,%ecx
4208fe:	83 e1 0f             	and    $0xf,%ecx
420901:	33 ca                	xor    %edx,%ecx
420903:	2b ca                	sub    %edx,%ecx
420905:	99                   	cltd
420906:	8b f8                	mov    %eax,%edi
420908:	33 fa                	xor    %edx,%edi
42090a:	2b fa                	sub    %edx,%edi
42090c:	83 e7 0f             	and    $0xf,%edi
42090f:	33 fa                	xor    %edx,%edi
420911:	2b fa                	sub    %edx,%edi
420913:	8b d1                	mov    %ecx,%edx
420915:	0b d7                	or     %edi,%edx
420917:	75 4a                	jne    0x420963
420919:	8b 75 10             	mov    0x10(%ebp),%esi
42091c:	8b ce                	mov    %esi,%ecx
42091e:	83 e1 7f             	and    $0x7f,%ecx
420921:	89 4d e8             	mov    %ecx,-0x18(%ebp)
420924:	3b f1                	cmp    %ecx,%esi
420926:	74 13                	je     0x42093b
420928:	2b f1                	sub    %ecx,%esi
42092a:	56                   	push   %esi
42092b:	53                   	push   %ebx
42092c:	50                   	push   %eax
42092d:	e8 27 ff ff ff       	call   0x420859
420932:	83 c4 0c             	add    $0xc,%esp
420935:	8b 45 08             	mov    0x8(%ebp),%eax
420938:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42093b:	85 c9                	test   %ecx,%ecx
42093d:	74 77                	je     0x4209b6
42093f:	8b 5d 10             	mov    0x10(%ebp),%ebx
420942:	8b 55 0c             	mov    0xc(%ebp),%edx
420945:	03 d3                	add    %ebx,%edx
420947:	2b d1                	sub    %ecx,%edx
420949:	89 55 ec             	mov    %edx,-0x14(%ebp)
42094c:	03 d8                	add    %eax,%ebx
42094e:	2b d9                	sub    %ecx,%ebx
420950:	89 5d f0             	mov    %ebx,-0x10(%ebp)