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)
420953:	8b 75 ec             	mov    -0x14(%ebp),%esi
420956:	8b 7d f0             	mov    -0x10(%ebp),%edi
420959:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42095c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
42095e:	8b 45 08             	mov    0x8(%ebp),%eax
420961:	eb 53                	jmp    0x4209b6
420963:	3b cf                	cmp    %edi,%ecx
420965:	75 35                	jne    0x42099c
420967:	f7 d9                	neg    %ecx
420969:	83 c1 10             	add    $0x10,%ecx
42096c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42096f:	8b 75 0c             	mov    0xc(%ebp),%esi
420972:	8b 7d 08             	mov    0x8(%ebp),%edi
420975:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
420978:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
42097a:	8b 4d 08             	mov    0x8(%ebp),%ecx
42097d:	03 4d e4             	add    -0x1c(%ebp),%ecx
420980:	8b 55 0c             	mov    0xc(%ebp),%edx
420983:	03 55 e4             	add    -0x1c(%ebp),%edx
420986:	8b 45 10             	mov    0x10(%ebp),%eax
420989:	2b 45 e4             	sub    -0x1c(%ebp),%eax
42098c:	50                   	push   %eax
42098d:	52                   	push   %edx
42098e:	51                   	push   %ecx
42098f:	e8 4c ff ff ff       	call   0x4208e0
420994:	83 c4 0c             	add    $0xc,%esp
420997:	8b 45 08             	mov    0x8(%ebp),%eax
42099a:	eb 1a                	jmp    0x4209b6
42099c:	8b 75 0c             	mov    0xc(%ebp),%esi
42099f:	8b 7d 08             	mov    0x8(%ebp),%edi
4209a2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4209a5:	8b d1                	mov    %ecx,%edx
4209a7:	c1 e9 02             	shr    $0x2,%ecx
4209aa:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4209ac:	8b ca                	mov    %edx,%ecx
4209ae:	83 e1 03             	and    $0x3,%ecx
4209b1:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4209b3:	8b 45 08             	mov    0x8(%ebp),%eax
4209b6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4209b9:	8b 75 f8             	mov    -0x8(%ebp),%esi
4209bc:	8b 7d f4             	mov    -0xc(%ebp),%edi
4209bf:	8b e5                	mov    %ebp,%esp
4209c1:	5d                   	pop    %ebp
4209c2:	c3                   	ret
4209c3:	8b ff                	mov    %edi,%edi
4209c5:	55                   	push   %ebp
4209c6:	8b ec                	mov    %esp,%ebp
4209c8:	56                   	push   %esi
4209c9:	57                   	push   %edi
4209ca:	33 f6                	xor    %esi,%esi
4209cc:	ff 75 08             	push   0x8(%ebp)
4209cf:	e8 8a bf ff ff       	call   0x41c95e
4209d4:	8b f8                	mov    %eax,%edi
4209d6:	59                   	pop    %ecx
4209d7:	85 ff                	test   %edi,%edi
4209d9:	75 27                	jne    0x420a02
4209db:	39 05 70 ee 44 00    	cmp    %eax,0x44ee70
4209e1:	76 1f                	jbe    0x420a02
4209e3:	56                   	push   %esi
4209e4:	ff 15 c0 a0 42 00    	call   *0x42a0c0
4209ea:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
4209f0:	3b 05 70 ee 44 00    	cmp    0x44ee70,%eax
4209f6:	76 03                	jbe    0x4209fb
4209f8:	83 c8 ff             	or     $0xffffffff,%eax
4209fb:	8b f0                	mov    %eax,%esi
4209fd:	83 f8 ff             	cmp    $0xffffffff,%eax
420a00:	75 ca                	jne    0x4209cc
420a02:	8b c7                	mov    %edi,%eax
420a04:	5f                   	pop    %edi
420a05:	5e                   	pop    %esi
420a06:	5d                   	pop    %ebp
420a07:	c3                   	ret
420a08:	8b ff                	mov    %edi,%edi
420a0a:	55                   	push   %ebp
420a0b:	8b ec                	mov    %esp,%ebp
420a0d:	56                   	push   %esi
420a0e:	57                   	push   %edi
420a0f:	33 f6                	xor    %esi,%esi
420a11:	6a 00                	push   $0x0
420a13:	ff 75 0c             	push   0xc(%ebp)
420a16:	ff 75 08             	push   0x8(%ebp)
420a19:	e8 37 43 00 00       	call   0x424d55
420a1e:	8b f8                	mov    %eax,%edi
420a20:	83 c4 0c             	add    $0xc,%esp
420a23:	85 ff                	test   %edi,%edi
420a25:	75 27                	jne    0x420a4e
420a27:	39 05 70 ee 44 00    	cmp    %eax,0x44ee70
420a2d:	76 1f                	jbe    0x420a4e
420a2f:	56                   	push   %esi
420a30:	ff 15 c0 a0 42 00    	call   *0x42a0c0
420a36:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
420a3c:	3b 05 70 ee 44 00    	cmp    0x44ee70,%eax
420a42:	76 03                	jbe    0x420a47
420a44:	83 c8 ff             	or     $0xffffffff,%eax
420a47:	8b f0                	mov    %eax,%esi
420a49:	83 f8 ff             	cmp    $0xffffffff,%eax
420a4c:	75 c3                	jne    0x420a11
420a4e:	8b c7                	mov    %edi,%eax
420a50:	5f                   	pop    %edi
420a51:	5e                   	pop    %esi
420a52:	5d                   	pop    %ebp
420a53:	c3                   	ret
420a54:	8b ff                	mov    %edi,%edi
420a56:	55                   	push   %ebp
420a57:	8b ec                	mov    %esp,%ebp
420a59:	56                   	push   %esi
420a5a:	57                   	push   %edi
420a5b:	33 f6                	xor    %esi,%esi
420a5d:	ff 75 0c             	push   0xc(%ebp)
420a60:	ff 75 08             	push   0x8(%ebp)
420a63:	e8 08 95 ff ff       	call   0x419f70
420a68:	8b f8                	mov    %eax,%edi
420a6a:	59                   	pop    %ecx
420a6b:	59                   	pop    %ecx
420a6c:	85 ff                	test   %edi,%edi
420a6e:	75 2c                	jne    0x420a9c
420a70:	39 45 0c             	cmp    %eax,0xc(%ebp)
420a73:	74 27                	je     0x420a9c
420a75:	39 05 70 ee 44 00    	cmp    %eax,0x44ee70
420a7b:	76 1f                	jbe    0x420a9c
420a7d:	56                   	push   %esi
420a7e:	ff 15 c0 a0 42 00    	call   *0x42a0c0
420a84:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
420a8a:	3b 05 70 ee 44 00    	cmp    0x44ee70,%eax
420a90:	76 03                	jbe    0x420a95
420a92:	83 c8 ff             	or     $0xffffffff,%eax
420a95:	8b f0                	mov    %eax,%esi
420a97:	83 f8 ff             	cmp    $0xffffffff,%eax
420a9a:	75 c1                	jne    0x420a5d
420a9c:	8b c7                	mov    %edi,%eax
420a9e:	5f                   	pop    %edi
420a9f:	5e                   	pop    %esi
420aa0:	5d                   	pop    %ebp
420aa1:	c3                   	ret
420aa2:	6a 10                	push   $0x10
420aa4:	68 30 d9 42 00       	push   $0x42d930
420aa9:	e8 de ea ff ff       	call   0x41f58c
420aae:	33 c0                	xor    %eax,%eax
420ab0:	8b 5d 08             	mov    0x8(%ebp),%ebx
420ab3:	33 ff                	xor    %edi,%edi
420ab5:	3b df                	cmp    %edi,%ebx
420ab7:	0f 95 c0             	setne  %al
420aba:	3b c7                	cmp    %edi,%eax
420abc:	75 1d                	jne    0x420adb
420abe:	e8 db dd ff ff       	call   0x41e89e
420ac3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
420ac9:	57                   	push   %edi
420aca:	57                   	push   %edi
420acb:	57                   	push   %edi
420acc:	57                   	push   %edi
420acd:	57                   	push   %edi
420ace:	e8 20 f1 ff ff       	call   0x41fbf3
420ad3:	83 c4 14             	add    $0x14,%esp
420ad6:	83 c8 ff             	or     $0xffffffff,%eax
420ad9:	eb 53                	jmp    0x420b2e
420adb:	83 3d f4 08 45 00 03 	cmpl   $0x3,0x4508f4
420ae2:	75 38                	jne    0x420b1c
420ae4:	6a 04                	push   $0x4
420ae6:	e8 a8 df ff ff       	call   0x41ea93
420aeb:	59                   	pop    %ecx
420aec:	89 7d fc             	mov    %edi,-0x4(%ebp)
420aef:	53                   	push   %ebx
420af0:	e8 d1 df ff ff       	call   0x41eac6
420af5:	59                   	pop    %ecx
420af6:	89 45 e0             	mov    %eax,-0x20(%ebp)
420af9:	3b c7                	cmp    %edi,%eax
420afb:	74 0b                	je     0x420b08
420afd:	8b 73 fc             	mov    -0x4(%ebx),%esi
420b00:	83 ee 09             	sub    $0x9,%esi
420b03:	89 75 e4             	mov    %esi,-0x1c(%ebp)
420b06:	eb 03                	jmp    0x420b0b
420b08:	8b 75 e4             	mov    -0x1c(%ebp),%esi
420b0b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
420b12:	e8 25 00 00 00       	call   0x420b3c
420b17:	39 7d e0             	cmp    %edi,-0x20(%ebp)