4277d9:	55                   	push   %ebp
4277da:	8b ec                	mov    %esp,%ebp
4277dc:	8b 45 08             	mov    0x8(%ebp),%eax
4277df:	a3 34 6b 45 00       	mov    %eax,0x456b34
4277e4:	5d                   	pop    %ebp
4277e5:	c3                   	ret
4277e6:	8b ff                	mov    %edi,%edi
4277e8:	55                   	push   %ebp
4277e9:	8b ec                	mov    %esp,%ebp
4277eb:	a1 14 50 45 00       	mov    0x455014,%eax
4277f0:	83 e0 1f             	and    $0x1f,%eax
4277f3:	6a 20                	push   $0x20
4277f5:	59                   	pop    %ecx
4277f6:	2b c8                	sub    %eax,%ecx
4277f8:	8b 45 08             	mov    0x8(%ebp),%eax
4277fb:	d3 c8                	ror    %cl,%eax
4277fd:	33 05 14 50 45 00    	xor    0x455014,%eax
427803:	5d                   	pop    %ebp
427804:	c3                   	ret
427805:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
42780b:	8b 15 38 6b 45 00    	mov    0x456b38,%edx
427811:	83 e1 1f             	and    $0x1f,%ecx
427814:	33 15 14 50 45 00    	xor    0x455014,%edx
42781a:	d3 ca                	ror    %cl,%edx
42781c:	85 d2                	test   %edx,%edx
42781e:	0f 95 c0             	setne  %al
427821:	c3                   	ret
427822:	8b ff                	mov    %edi,%edi
427824:	55                   	push   %ebp
427825:	8b ec                	mov    %esp,%ebp
427827:	8b 45 08             	mov    0x8(%ebp),%eax
42782a:	a3 38 6b 45 00       	mov    %eax,0x456b38
42782f:	5d                   	pop    %ebp
427830:	c3                   	ret
427831:	cc                   	int3
427832:	cc                   	int3
427833:	cc                   	int3
427834:	cc                   	int3
427835:	cc                   	int3
427836:	cc                   	int3
427837:	cc                   	int3
427838:	cc                   	int3
427839:	cc                   	int3
42783a:	cc                   	int3
42783b:	cc                   	int3
42783c:	cc                   	int3
42783d:	cc                   	int3
42783e:	cc                   	int3
42783f:	cc                   	int3
427840:	8b ff                	mov    %edi,%edi
427842:	55                   	push   %ebp
427843:	8b ec                	mov    %esp,%ebp
427845:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
42784b:	56                   	push   %esi
42784c:	8b 35 38 6b 45 00    	mov    0x456b38,%esi
427852:	83 e1 1f             	and    $0x1f,%ecx
427855:	33 35 14 50 45 00    	xor    0x455014,%esi
42785b:	d3 ce                	ror    %cl,%esi
42785d:	85 f6                	test   %esi,%esi
42785f:	75 04                	jne    0x427865
427861:	33 c0                	xor    %eax,%eax
427863:	eb 0e                	jmp    0x427873
427865:	ff 75 08             	push   0x8(%ebp)
427868:	8b ce                	mov    %esi,%ecx
42786a:	ff 15 5c e2 43 00    	call   *0x43e25c
427870:	ff d6                	call   *%esi
427872:	59                   	pop    %ecx
427873:	5e                   	pop    %esi
427874:	5d                   	pop    %ebp
427875:	c3                   	ret
427876:	8b ff                	mov    %edi,%edi
427878:	55                   	push   %ebp
427879:	8b ec                	mov    %esp,%ebp
42787b:	ff 75 08             	push   0x8(%ebp)
42787e:	e8 63 ff ff ff       	call   0x4277e6
427883:	59                   	pop    %ecx
427884:	a3 38 6b 45 00       	mov    %eax,0x456b38
427889:	5d                   	pop    %ebp
42788a:	c3                   	ret
42788b:	8b ff                	mov    %edi,%edi
42788d:	55                   	push   %ebp
42788e:	8b ec                	mov    %esp,%ebp
427890:	83 ec 0c             	sub    $0xc,%esp
427893:	57                   	push   %edi
427894:	8b 7d 08             	mov    0x8(%ebp),%edi
427897:	85 ff                	test   %edi,%edi
427899:	75 07                	jne    0x4278a2
42789b:	33 c0                	xor    %eax,%eax
42789d:	e9 1c 01 00 00       	jmp    0x4279be
4278a2:	56                   	push   %esi
4278a3:	83 ff 02             	cmp    $0x2,%edi
4278a6:	74 1b                	je     0x4278c3
4278a8:	83 ff 01             	cmp    $0x1,%edi
4278ab:	74 16                	je     0x4278c3
4278ad:	e8 7e c1 ff ff       	call   0x423a30
4278b2:	6a 16                	push   $0x16
4278b4:	5e                   	pop    %esi
4278b5:	89 30                	mov    %esi,(%eax)
4278b7:	e8 c7 80 ff ff       	call   0x41f983
4278bc:	8b c6                	mov    %esi,%eax
4278be:	e9 fa 00 00 00       	jmp    0x4279bd
4278c3:	53                   	push   %ebx
4278c4:	68 04 01 00 00       	push   $0x104
4278c9:	bb 40 6b 45 00       	mov    $0x456b40,%ebx
4278ce:	33 f6                	xor    %esi,%esi
4278d0:	53                   	push   %ebx
4278d1:	56                   	push   %esi
4278d2:	ff 15 a8 e0 43 00    	call   *0x43e0a8
4278d8:	89 1d 68 6d 45 00    	mov    %ebx,0x456d68
4278de:	8b 1d 7c 6d 45 00    	mov    0x456d7c,%ebx
4278e4:	85 db                	test   %ebx,%ebx
4278e6:	74 05                	je     0x4278ed
4278e8:	66 39 33             	cmp    %si,(%ebx)
4278eb:	75 05                	jne    0x4278f2
4278ed:	bb 40 6b 45 00       	mov    $0x456b40,%ebx
4278f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4278f5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4278f8:	50                   	push   %eax
4278f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4278fc:	89 75 f4             	mov    %esi,-0xc(%ebp)
4278ff:	50                   	push   %eax
427900:	56                   	push   %esi
427901:	56                   	push   %esi
427902:	53                   	push   %ebx
427903:	e8 b9 00 00 00       	call   0x4279c1
427908:	6a 02                	push   $0x2
42790a:	ff 75 f4             	push   -0xc(%ebp)
42790d:	ff 75 fc             	push   -0x4(%ebp)
427910:	e8 4d 02 00 00       	call   0x427b62
427915:	8b f0                	mov    %eax,%esi
427917:	83 c4 20             	add    $0x20,%esp
42791a:	85 f6                	test   %esi,%esi
42791c:	75 0c                	jne    0x42792a
42791e:	e8 0d c1 ff ff       	call   0x423a30
427923:	6a 0c                	push   $0xc
427925:	5e                   	pop    %esi
427926:	89 30                	mov    %esi,(%eax)
427928:	eb 2f                	jmp    0x427959
42792a:	8d 45 f4             	lea    -0xc(%ebp),%eax
42792d:	50                   	push   %eax
42792e:	8d 45 fc             	lea    -0x4(%ebp),%eax
427931:	50                   	push   %eax
427932:	8b 45 fc             	mov    -0x4(%ebp),%eax
427935:	8d 04 86             	lea    (%esi,%eax,4),%eax
427938:	50                   	push   %eax
427939:	56                   	push   %esi
42793a:	53                   	push   %ebx
42793b:	e8 81 00 00 00       	call   0x4279c1
427940:	83 c4 14             	add    $0x14,%esp
427943:	83 ff 01             	cmp    $0x1,%edi
427946:	75 1c                	jne    0x427964
427948:	8b 45 fc             	mov    -0x4(%ebp),%eax
42794b:	48                   	dec    %eax
42794c:	89 35 74 6d 45 00    	mov    %esi,0x456d74
427952:	a3 6c 6d 45 00       	mov    %eax,0x456d6c
427957:	33 f6                	xor    %esi,%esi
427959:	6a 00                	push   $0x0
42795b:	e8 5a 2f 00 00       	call   0x42a8ba
427960:	8b c6                	mov    %esi,%eax
427962:	eb 57                	jmp    0x4279bb
427964:	8d 45 f8             	lea    -0x8(%ebp),%eax
427967:	33 db                	xor    %ebx,%ebx
427969:	50                   	push   %eax
42796a:	56                   	push   %esi
42796b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42796e:	e8 97 a9 00 00       	call   0x43230a
427973:	8b f8                	mov    %eax,%edi
427975:	59                   	pop    %ecx
427976:	59                   	pop    %ecx
427977:	85 ff                	test   %edi,%edi
427979:	74 0a                	je     0x427985
42797b:	ff 75 f8             	push   -0x8(%ebp)
42797e:	e8 37 2f 00 00       	call   0x42a8ba
427983:	eb 2a                	jmp    0x4279af
427985:	8b 55 f8             	mov    -0x8(%ebp),%edx
427988:	8b cb                	mov    %ebx,%ecx
42798a:	8b c2                	mov    %edx,%eax
42798c:	39 1a                	cmp    %ebx,(%edx)
42798e:	74 08                	je     0x427998
427990:	8d 40 04             	lea    0x4(%eax),%eax
427993:	41                   	inc    %ecx
427994:	39 18                	cmp    %ebx,(%eax)
427996:	75 f8                	jne    0x427990
427998:	53                   	push   %ebx
427999:	89 0d 6c 6d 45 00    	mov    %ecx,0x456d6c
42799f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4279a2:	89 15 74 6d 45 00    	mov    %edx,0x456d74
4279a8:	e8 0d 2f 00 00       	call   0x42a8ba
4279ad:	8b fb                	mov    %ebx,%edi
4279af:	59                   	pop    %ecx
4279b0:	56                   	push   %esi
4279b1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4279b4:	e8 01 2f 00 00       	call   0x42a8ba
4279b9:	8b c7                	mov    %edi,%eax
4279bb:	59                   	pop    %ecx
4279bc:	5b                   	pop    %ebx
4279bd:	5e                   	pop    %esi
4279be:	5f                   	pop    %edi
4279bf:	c9                   	leave
4279c0:	c3                   	ret
4279c1:	8b ff                	mov    %edi,%edi
4279c3:	55                   	push   %ebp
4279c4:	8b ec                	mov    %esp,%ebp
4279c6:	8b 45 18             	mov    0x18(%ebp),%eax
4279c9:	83 ec 0c             	sub    $0xc,%esp
4279cc:	8b 4d 14             	mov    0x14(%ebp),%ecx
4279cf:	8b 55 08             	mov    0x8(%ebp),%edx
4279d2:	83 20 00             	andl   $0x0,(%eax)
4279d5:	56                   	push   %esi
4279d6:	8b 75 0c             	mov    0xc(%ebp),%esi
4279d9:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
4279df:	8b 4d 10             	mov    0x10(%ebp),%ecx
4279e2:	85 f6                	test   %esi,%esi
4279e4:	74 08                	je     0x4279ee
4279e6:	89 0e                	mov    %ecx,(%esi)
4279e8:	83 c6 04             	add    $0x4,%esi
4279eb:	89 75 0c             	mov    %esi,0xc(%ebp)
4279ee:	53                   	push   %ebx
4279ef:	57                   	push   %edi
4279f0:	32 db                	xor    %bl,%bl
4279f2:	c7 45 f4 09 00 00 00 	movl   $0x9,-0xc(%ebp)
4279f9:	eb 03                	jmp    0x4279fe
4279fb:	8b 45 18             	mov    0x18(%ebp),%eax
4279fe:	6a 22                	push   $0x22
427a00:	5e                   	pop    %esi
427a01:	66 39 32             	cmp    %si,(%edx)
427a04:	8b fa                	mov    %edx,%edi
427a06:	8b 75 0c             	mov    0xc(%ebp),%esi
427a09:	75 0d                	jne    0x427a18
427a0b:	84 db                	test   %bl,%bl
427a0d:	6a 22                	push   $0x22
427a0f:	0f 94 c3             	sete   %bl
427a12:	83 c2 02             	add    $0x2,%edx
427a15:	58                   	pop    %eax
427a16:	eb 1a                	jmp    0x427a32
427a18:	ff 00                	incl   (%eax)
427a1a:	85 c9                	test   %ecx,%ecx
427a1c:	74 09                	je     0x427a27
427a1e:	66 8b 02             	mov    (%edx),%ax
427a21:	66 89 01             	mov    %ax,(%ecx)
427a24:	83 c1 02             	add    $0x2,%ecx
427a27:	0f b7 02             	movzwl (%edx),%eax
427a2a:	83 c2 02             	add    $0x2,%edx
427a2d:	66 85 c0             	test   %ax,%ax
427a30:	74 23                	je     0x427a55
427a32:	84 db                	test   %bl,%bl
427a34:	75 c5                	jne    0x4279fb
427a36:	6a 20                	push   $0x20
427a38:	5f                   	pop    %edi
427a39:	66 3b c7             	cmp    %di,%ax
427a3c:	74 0b                	je     0x427a49
427a3e:	6a 09                	push   $0x9
427a40:	5f                   	pop    %edi
427a41:	66 3b c7             	cmp    %di,%ax
427a44:	8b 45 18             	mov    0x18(%ebp),%eax
427a47:	75 b5                	jne    0x4279fe
427a49:	85 c9                	test   %ecx,%ecx
427a4b:	74 0a                	je     0x427a57
427a4d:	33 c0                	xor    %eax,%eax
427a4f:	66 89 41 fe          	mov    %ax,-0x2(%ecx)
427a53:	eb 02                	jmp    0x427a57
427a55:	8b d7                	mov    %edi,%edx
427a57:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
427a5b:	0f b7 02             	movzwl (%edx),%eax
427a5e:	8b f8                	mov    %eax,%edi
427a60:	66 85 c0             	test   %ax,%ax
427a63:	74 19                	je     0x427a7e
427a65:	6a 20                	push   $0x20
427a67:	5b                   	pop    %ebx
427a68:	66 3b c3             	cmp    %bx,%ax
427a6b:	74 09                	je     0x427a76
427a6d:	0f b7 f8             	movzwl %ax,%edi
427a70:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
427a74:	75 08                	jne    0x427a7e
427a76:	83 c2 02             	add    $0x2,%edx
427a79:	0f b7 02             	movzwl (%edx),%eax
427a7c:	eb ea                	jmp    0x427a68
427a7e:	66 85 ff             	test   %di,%di
427a81:	0f 84 ca 00 00 00    	je     0x427b51
427a87:	85 f6                	test   %esi,%esi
427a89:	74 08                	je     0x427a93
427a8b:	89 0e                	mov    %ecx,(%esi)
427a8d:	83 c6 04             	add    $0x4,%esi
427a90:	89 75 0c             	mov    %esi,0xc(%ebp)
427a93:	8b 45 14             	mov    0x14(%ebp),%eax
427a96:	6a 5c                	push   $0x5c
427a98:	5e                   	pop    %esi
427a99:	ff 00                	incl   (%eax)
427a9b:	0f b7 02             	movzwl (%edx),%eax
427a9e:	33 db                	xor    %ebx,%ebx
427aa0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
427aa7:	8b f8                	mov    %eax,%edi
427aa9:	66 3b c6             	cmp    %si,%ax
427aac:	75 0e                	jne    0x427abc
427aae:	83 c2 02             	add    $0x2,%edx
427ab1:	43                   	inc    %ebx
427ab2:	0f b7 02             	movzwl (%edx),%eax
427ab5:	66 3b c6             	cmp    %si,%ax
427ab8:	74 f4                	je     0x427aae
427aba:	8b f8                	mov    %eax,%edi
427abc:	6a 22                	push   $0x22
427abe:	58                   	pop    %eax
427abf:	66 3b f8             	cmp    %ax,%di
427ac2:	75 29                	jne    0x427aed
427ac4:	f6 c3 01             	test   $0x1,%bl
427ac7:	75 22                	jne    0x427aeb
427ac9:	8a 45 ff             	mov    -0x1(%ebp),%al
427acc:	84 c0                	test   %al,%al
427ace:	74 11                	je     0x427ae1
427ad0:	6a 22                	push   $0x22
427ad2:	5f                   	pop    %edi
427ad3:	66 39 7a 02          	cmp    %di,0x2(%edx)
427ad7:	75 05                	jne    0x427ade
427ad9:	83 c2 02             	add    $0x2,%edx
427adc:	eb 0d                	jmp    0x427aeb
427ade:	8a 45 ff             	mov    -0x1(%ebp),%al
427ae1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
427ae5:	84 c0                	test   %al,%al
427ae7:	0f 94 45 ff          	sete   -0x1(%ebp)
427aeb:	d1 eb                	shr    $1,%ebx
427aed:	8b 7d 18             	mov    0x18(%ebp),%edi
427af0:	85 db                	test   %ebx,%ebx
427af2:	74 0f                	je     0x427b03
427af4:	4b                   	dec    %ebx
427af5:	85 c9                	test   %ecx,%ecx
427af7:	74 06                	je     0x427aff
427af9:	66 89 31             	mov    %si,(%ecx)
427afc:	83 c1 02             	add    $0x2,%ecx
427aff:	ff 07                	incl   (%edi)
427b01:	eb ed                	jmp    0x427af0
427b03:	0f b7 02             	movzwl (%edx),%eax
427b06:	66 85 c0             	test   %ax,%ax
427b09:	74 30                	je     0x427b3b
427b0b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
427b0f:	75 10                	jne    0x427b21
427b11:	6a 20                	push   $0x20
427b13:	5b                   	pop    %ebx
427b14:	66 3b c3             	cmp    %bx,%ax
427b17:	74 22                	je     0x427b3b
427b19:	6a 09                	push   $0x9
427b1b:	5b                   	pop    %ebx
427b1c:	66 3b c3             	cmp    %bx,%ax
427b1f:	74 1a                	je     0x427b3b
427b21:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
427b25:	74 0c                	je     0x427b33
427b27:	85 c9                	test   %ecx,%ecx
427b29:	74 06                	je     0x427b31
427b2b:	66 89 01             	mov    %ax,(%ecx)
427b2e:	83 c1 02             	add    $0x2,%ecx
427b31:	ff 07                	incl   (%edi)