42a8f3:	c3                   	ret
42a8f4:	8b ff                	mov    %edi,%edi
42a8f6:	55                   	push   %ebp
42a8f7:	8b ec                	mov    %esp,%ebp
42a8f9:	56                   	push   %esi
42a8fa:	8b 75 08             	mov    0x8(%ebp),%esi
42a8fd:	83 fe e0             	cmp    $0xffffffe0,%esi
42a900:	77 30                	ja     0x42a932
42a902:	85 f6                	test   %esi,%esi
42a904:	75 17                	jne    0x42a91d
42a906:	46                   	inc    %esi
42a907:	eb 14                	jmp    0x42a91d
42a909:	e8 c3 f1 ff ff       	call   0x429ad1
42a90e:	85 c0                	test   %eax,%eax
42a910:	74 20                	je     0x42a932
42a912:	56                   	push   %esi
42a913:	e8 04 f2 ff ff       	call   0x429b1c
42a918:	59                   	pop    %ecx
42a919:	85 c0                	test   %eax,%eax
42a91b:	74 15                	je     0x42a932
42a91d:	56                   	push   %esi
42a91e:	6a 00                	push   $0x0
42a920:	ff 35 a8 71 45 00    	push   0x4571a8
42a926:	ff 15 4c e0 43 00    	call   *0x43e04c
42a92c:	85 c0                	test   %eax,%eax
42a92e:	74 d9                	je     0x42a909
42a930:	eb 0d                	jmp    0x42a93f
42a932:	e8 f9 90 ff ff       	call   0x423a30
42a937:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42a93d:	33 c0                	xor    %eax,%eax
42a93f:	5e                   	pop    %esi
42a940:	5d                   	pop    %ebp
42a941:	c3                   	ret
42a942:	8b ff                	mov    %edi,%edi
42a944:	55                   	push   %ebp
42a945:	8b ec                	mov    %esp,%ebp
42a947:	8b 45 08             	mov    0x8(%ebp),%eax
42a94a:	33 c9                	xor    %ecx,%ecx
42a94c:	56                   	push   %esi
42a94d:	57                   	push   %edi
42a94e:	be ff 07 00 00       	mov    $0x7ff,%esi
42a953:	8b 38                	mov    (%eax),%edi
42a955:	8b 50 04             	mov    0x4(%eax),%edx
42a958:	8b c2                	mov    %edx,%eax
42a95a:	c1 e8 14             	shr    $0x14,%eax
42a95d:	23 c6                	and    %esi,%eax
42a95f:	3b c6                	cmp    %esi,%eax
42a961:	75 3b                	jne    0x42a99e
42a963:	8b f2                	mov    %edx,%esi
42a965:	8b c7                	mov    %edi,%eax
42a967:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
42a96d:	0b c6                	or     %esi,%eax
42a96f:	75 03                	jne    0x42a974
42a971:	40                   	inc    %eax
42a972:	eb 2c                	jmp    0x42a9a0
42a974:	b8 00 00 08 00       	mov    $0x80000,%eax
42a979:	3b d1                	cmp    %ecx,%edx
42a97b:	7f 13                	jg     0x42a990
42a97d:	7c 04                	jl     0x42a983
42a97f:	3b f9                	cmp    %ecx,%edi
42a981:	73 0d                	jae    0x42a990
42a983:	3b f9                	cmp    %ecx,%edi
42a985:	75 09                	jne    0x42a990
42a987:	3b f0                	cmp    %eax,%esi
42a989:	75 05                	jne    0x42a990
42a98b:	6a 04                	push   $0x4
42a98d:	58                   	pop    %eax
42a98e:	eb 10                	jmp    0x42a9a0
42a990:	23 d0                	and    %eax,%edx
42a992:	0b ca                	or     %edx,%ecx
42a994:	74 04                	je     0x42a99a
42a996:	6a 02                	push   $0x2
42a998:	eb f3                	jmp    0x42a98d
42a99a:	6a 03                	push   $0x3
42a99c:	eb ef                	jmp    0x42a98d
42a99e:	33 c0                	xor    %eax,%eax
42a9a0:	5f                   	pop    %edi
42a9a1:	5e                   	pop    %esi
42a9a2:	5d                   	pop    %ebp
42a9a3:	c3                   	ret
42a9a4:	8b ff                	mov    %edi,%edi
42a9a6:	55                   	push   %ebp
42a9a7:	8b ec                	mov    %esp,%ebp
42a9a9:	8b 45 08             	mov    0x8(%ebp),%eax
42a9ac:	53                   	push   %ebx
42a9ad:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
42a9b1:	56                   	push   %esi
42a9b2:	8b 70 04             	mov    0x4(%eax),%esi
42a9b5:	8b cb                	mov    %ebx,%ecx
42a9b7:	57                   	push   %edi
42a9b8:	8b 38                	mov    (%eax),%edi
42a9ba:	8b d6                	mov    %esi,%edx
42a9bc:	23 55 10             	and    0x10(%ebp),%edx
42a9bf:	8b c7                	mov    %edi,%eax
42a9c1:	23 45 0c             	and    0xc(%ebp),%eax
42a9c4:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42a9ca:	e8 91 f8 00 00       	call   0x43a260
42a9cf:	6a 08                	push   $0x8
42a9d1:	0f b7 c0             	movzwl %ax,%eax
42a9d4:	59                   	pop    %ecx
42a9d5:	66 3b c1             	cmp    %cx,%ax
42a9d8:	77 66                	ja     0x42aa40
42a9da:	73 04                	jae    0x42a9e0
42a9dc:	32 c0                	xor    %al,%al
42a9de:	eb 62                	jmp    0x42aa42
42a9e0:	33 c0                	xor    %eax,%eax
42a9e2:	33 d2                	xor    %edx,%edx
42a9e4:	40                   	inc    %eax
42a9e5:	8b cb                	mov    %ebx,%ecx
42a9e7:	e8 54 f8 00 00       	call   0x43a240
42a9ec:	83 c0 ff             	add    $0xffffffff,%eax
42a9ef:	83 d2 ff             	adc    $0xffffffff,%edx
42a9f2:	23 c7                	and    %edi,%eax
42a9f4:	23 d6                	and    %esi,%edx
42a9f6:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42a9fc:	0b c2                	or     %edx,%eax
42a9fe:	75 40                	jne    0x42aa40
42aa00:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
42aa05:	74 22                	je     0x42aa29
42aa07:	0f ac f7 04          	shrd   $0x4,%esi,%edi
42aa0b:	8b cb                	mov    %ebx,%ecx
42aa0d:	23 7d 0c             	and    0xc(%ebp),%edi
42aa10:	c1 ee 04             	shr    $0x4,%esi
42aa13:	8b c7                	mov    %edi,%eax
42aa15:	23 75 10             	and    0x10(%ebp),%esi
42aa18:	81 e6 ff ff 00 00    	and    $0xffff,%esi
42aa1e:	8b d6                	mov    %esi,%edx
42aa20:	e8 3b f8 00 00       	call   0x43a260
42aa25:	8a c8                	mov    %al,%cl
42aa27:	eb 10                	jmp    0x42aa39
42aa29:	33 c9                	xor    %ecx,%ecx
42aa2b:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
42aa31:	8b c1                	mov    %ecx,%eax
42aa33:	0b c6                	or     %esi,%eax
42aa35:	74 02                	je     0x42aa39
42aa37:	b1 01                	mov    $0x1,%cl
42aa39:	80 e1 01             	and    $0x1,%cl
42aa3c:	8a c1                	mov    %cl,%al
42aa3e:	eb 02                	jmp    0x42aa42
42aa40:	b0 01                	mov    $0x1,%al
42aa42:	5f                   	pop    %edi
42aa43:	5e                   	pop    %esi
42aa44:	5b                   	pop    %ebx
42aa45:	5d                   	pop    %ebp
42aa46:	c3                   	ret
42aa47:	8b ff                	mov    %edi,%edi
42aa49:	55                   	push   %ebp
42aa4a:	8b ec                	mov    %esp,%ebp
42aa4c:	83 ec 2c             	sub    $0x2c,%esp
42aa4f:	33 d2                	xor    %edx,%edx
42aa51:	56                   	push   %esi
42aa52:	8b 75 1c             	mov    0x1c(%ebp),%esi
42aa55:	57                   	push   %edi
42aa56:	85 f6                	test   %esi,%esi
42aa58:	79 02                	jns    0x42aa5c
42aa5a:	8b f2                	mov    %edx,%esi
42aa5c:	8b 7d 0c             	mov    0xc(%ebp),%edi
42aa5f:	8d 46 0b             	lea    0xb(%esi),%eax
42aa62:	88 17                	mov    %dl,(%edi)
42aa64:	39 45 10             	cmp    %eax,0x10(%ebp)
42aa67:	77 22                	ja     0x42aa8b
42aa69:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
42aa6c:	6a 22                	push   $0x22
42aa6e:	5e                   	pop    %esi
42aa6f:	51                   	push   %ecx
42aa70:	52                   	push   %edx
42aa71:	52                   	push   %edx
42aa72:	52                   	push   %edx
42aa73:	52                   	push   %edx
42aa74:	52                   	push   %edx
42aa75:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
42aa79:	89 71 18             	mov    %esi,0x18(%ecx)
42aa7c:	e8 85 4e ff ff       	call   0x41f906
42aa81:	83 c4 18             	add    $0x18,%esp
42aa84:	8b c6                	mov    %esi,%eax
42aa86:	e9 e5 02 00 00       	jmp    0x42ad70
42aa8b:	53                   	push   %ebx
42aa8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
42aa8f:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
42aa94:	8b 43 04             	mov    0x4(%ebx),%eax
42aa97:	c1 e8 14             	shr    $0x14,%eax
42aa9a:	23 c1                	and    %ecx,%eax
42aa9c:	3b c1                	cmp    %ecx,%eax
42aa9e:	75 53                	jne    0x42aaf3
42aaa0:	ff 75 2c             	push   0x2c(%ebp)
42aaa3:	ff 75 28             	push   0x28(%ebp)
42aaa6:	ff 75 24             	push   0x24(%ebp)
42aaa9:	52                   	push   %edx
42aaaa:	56                   	push   %esi
42aaab:	ff 75 18             	push   0x18(%ebp)
42aaae:	ff 75 14             	push   0x14(%ebp)
42aab1:	ff 75 10             	push   0x10(%ebp)
42aab4:	57                   	push   %edi
42aab5:	53                   	push   %ebx
42aab6:	e8 b9 02 00 00       	call   0x42ad74
42aabb:	83 c4 28             	add    $0x28,%esp
42aabe:	85 c0                	test   %eax,%eax
42aac0:	74 08                	je     0x42aaca
42aac2:	c6 07 00             	movb   $0x0,(%edi)
42aac5:	e9 a5 02 00 00       	jmp    0x42ad6f
42aaca:	6a 65                	push   $0x65
42aacc:	57                   	push   %edi
42aacd:	e8 ae f9 00 00       	call   0x43a480
42aad2:	59                   	pop    %ecx
42aad3:	59                   	pop    %ecx
42aad4:	85 c0                	test   %eax,%eax
42aad6:	0f 84 91 02 00 00    	je     0x42ad6d
42aadc:	8a 4d 20             	mov    0x20(%ebp),%cl
42aadf:	80 f1 01             	xor    $0x1,%cl
42aae2:	c0 e1 05             	shl    $0x5,%cl
42aae5:	80 c1 50             	add    $0x50,%cl
42aae8:	88 08                	mov    %cl,(%eax)
42aaea:	c6 40 03 00          	movb   $0x0,0x3(%eax)
42aaee:	e9 7a 02 00 00       	jmp    0x42ad6d
42aaf3:	39 53 04             	cmp    %edx,0x4(%ebx)
42aaf6:	7f 0a                	jg     0x42ab02
42aaf8:	7c 04                	jl     0x42aafe
42aafa:	39 13                	cmp    %edx,(%ebx)
42aafc:	73 04                	jae    0x42ab02
42aafe:	c6 07 2d             	movb   $0x2d,(%edi)
42ab01:	47                   	inc    %edi
42ab02:	8a 45 20             	mov    0x20(%ebp),%al
42ab05:	8d 57 01             	lea    0x1(%edi),%edx
42ab08:	8b 4b 04             	mov    0x4(%ebx),%ecx
42ab0b:	34 01                	xor    $0x1,%al
42ab0d:	88 45 ff             	mov    %al,-0x1(%ebp)
42ab10:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
42ab16:	0f b6 c0             	movzbl %al,%eax
42ab19:	c1 e0 05             	shl    $0x5,%eax
42ab1c:	83 c0 07             	add    $0x7,%eax
42ab1f:	c7 45 f0 ff 03 00 00 	movl   $0x3ff,-0x10(%ebp)
42ab26:	89 45 d8             	mov    %eax,-0x28(%ebp)
42ab29:	33 c0                	xor    %eax,%eax
42ab2b:	0b c1                	or     %ecx,%eax
42ab2d:	89 55 f4             	mov    %edx,-0xc(%ebp)
42ab30:	6a 30                	push   $0x30
42ab32:	58                   	pop    %eax
42ab33:	75 1e                	jne    0x42ab53
42ab35:	88 07                	mov    %al,(%edi)
42ab37:	8b 43 04             	mov    0x4(%ebx),%eax
42ab3a:	8b 0b                	mov    (%ebx),%ecx
42ab3c:	25 ff ff 0f 00       	and    $0xfffff,%eax
42ab41:	0b c8                	or     %eax,%ecx
42ab43:	75 05                	jne    0x42ab4a
42ab45:	21 4d f0             	and    %ecx,-0x10(%ebp)
42ab48:	eb 0c                	jmp    0x42ab56
42ab4a:	c7 45 f0 fe 03 00 00 	movl   $0x3fe,-0x10(%ebp)
42ab51:	eb 03                	jmp    0x42ab56
42ab53:	c6 07 31             	movb   $0x31,(%edi)
42ab56:	8d 7a 01             	lea    0x1(%edx),%edi
42ab59:	85 f6                	test   %esi,%esi
42ab5b:	75 04                	jne    0x42ab61
42ab5d:	32 c0                	xor    %al,%al
42ab5f:	eb 23                	jmp    0x42ab84
42ab61:	8b 45 2c             	mov    0x2c(%ebp),%eax
42ab64:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
42ab68:	75 0d                	jne    0x42ab77
42ab6a:	8b c8                	mov    %eax,%ecx
42ab6c:	e8 0f 4b ff ff       	call   0x41f680
42ab71:	8b 45 2c             	mov    0x2c(%ebp),%eax
42ab74:	8b 55 f4             	mov    -0xc(%ebp),%edx
42ab77:	8b 40 0c             	mov    0xc(%eax),%eax
42ab7a:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
42ab80:	8b 00                	mov    (%eax),%eax
42ab82:	8a 00                	mov    (%eax),%al
42ab84:	88 02                	mov    %al,(%edx)
42ab86:	8b 43 04             	mov    0x4(%ebx),%eax
42ab89:	25 ff ff 0f 00       	and    $0xfffff,%eax
42ab8e:	89 45 e0             	mov    %eax,-0x20(%ebp)
42ab91:	77 09                	ja     0x42ab9c
42ab93:	83 3b 00             	cmpl   $0x0,(%ebx)
42ab96:	0f 86 bf 00 00 00    	jbe    0x42ac5b
42ab9c:	6a 30                	push   $0x30
42ab9e:	58                   	pop    %eax
42ab9f:	89 45 f8             	mov    %eax,-0x8(%ebp)
42aba2:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
42aba7:	33 c0                	xor    %eax,%eax
42aba9:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42abac:	89 45 ec             	mov    %eax,-0x14(%ebp)
42abaf:	8b 55 f8             	mov    -0x8(%ebp),%edx
42abb2:	0f b7 d2             	movzwl %dx,%edx
42abb5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
42abb8:	8b d7                	mov    %edi,%edx
42abba:	89 7d e0             	mov    %edi,-0x20(%ebp)
42abbd:	85 f6                	test   %esi,%esi
42abbf:	7e 50                	jle    0x42ac11
42abc1:	8b 53 04             	mov    0x4(%ebx),%edx
42abc4:	23 03                	and    (%ebx),%eax
42abc6:	23 d1                	and    %ecx,%edx
42abc8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
42abcb:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42abd1:	0f b7 c9             	movzwl %cx,%ecx
42abd4:	e8 87 f6 00 00       	call   0x43a260
42abd9:	6a 30                	push   $0x30
42abdb:	59                   	pop    %ecx
42abdc:	66 03 c1             	add    %cx,%ax
42abdf:	0f b7 c0             	movzwl %ax,%eax
42abe2:	83 f8 39             	cmp    $0x39,%eax
42abe5:	76 03                	jbe    0x42abea
42abe7:	03 45 d8             	add    -0x28(%ebp),%eax
42abea:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42abed:	8b 55 f8             	mov    -0x8(%ebp),%edx
42abf0:	88 07                	mov    %al,(%edi)
42abf2:	83 ea 04             	sub    $0x4,%edx
42abf5:	8b 45 ec             	mov    -0x14(%ebp),%eax
42abf8:	47                   	inc    %edi
42abf9:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
42abfd:	89 55 f8             	mov    %edx,-0x8(%ebp)
42ac00:	c1 e9 04             	shr    $0x4,%ecx
42ac03:	4e                   	dec    %esi
42ac04:	89 45 ec             	mov    %eax,-0x14(%ebp)
42ac07:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42ac0a:	66 85 d2             	test   %dx,%dx
42ac0d:	79 a0                	jns    0x42abaf
42ac0f:	eb 4a                	jmp    0x42ac5b
42ac11:	ff 75 28             	push   0x28(%ebp)
42ac14:	8b fa                	mov    %edx,%edi
42ac16:	ff 75 e4             	push   -0x1c(%ebp)
42ac19:	51                   	push   %ecx
42ac1a:	50                   	push   %eax
42ac1b:	53                   	push   %ebx
42ac1c:	e8 66 06 00 00       	call   0x42b287
42ac21:	83 c4 14             	add    $0x14,%esp
42ac24:	84 c0                	test   %al,%al
42ac26:	74 47                	je     0x42ac6f
42ac28:	8b 7d e0             	mov    -0x20(%ebp),%edi
42ac2b:	6a 30                	push   $0x30
42ac2d:	5b                   	pop    %ebx
42ac2e:	8d 47 ff             	lea    -0x1(%edi),%eax
42ac31:	8a 08                	mov    (%eax),%cl
42ac33:	80 f9 66             	cmp    $0x66,%cl
42ac36:	74 05                	je     0x42ac3d
42ac38:	80 f9 46             	cmp    $0x46,%cl
42ac3b:	75 05                	jne    0x42ac42
42ac3d:	88 18                	mov    %bl,(%eax)
42ac3f:	48                   	dec    %eax
42ac40:	eb ef                	jmp    0x42ac31
42ac42:	8b 5d 08             	mov    0x8(%ebp),%ebx
42ac45:	3b 45 f4             	cmp    -0xc(%ebp),%eax
42ac48:	74 0e                	je     0x42ac58
42ac4a:	80 f9 39             	cmp    $0x39,%cl
42ac4d:	75 03                	jne    0x42ac52
42ac4f:	02 4d d8             	add    -0x28(%ebp),%cl
42ac52:	fe c1                	inc    %cl
42ac54:	88 08                	mov    %cl,(%eax)
42ac56:	eb 03                	jmp    0x42ac5b
42ac58:	fe 40 ff             	incb   -0x1(%eax)
42ac5b:	85 f6                	test   %esi,%esi
42ac5d:	7e 10                	jle    0x42ac6f
42ac5f:	56                   	push   %esi