46e84c:	55                   	push   %ebp
46e84d:	8b ec                	mov    %esp,%ebp
46e84f:	51                   	push   %ecx
46e850:	53                   	push   %ebx
46e851:	56                   	push   %esi
46e852:	57                   	push   %edi
46e853:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e856:	8d 45 0c             	lea    0xc(%ebp),%eax
46e859:	e8 16 72 f9 ff       	call   0x405a74
46e85e:	33 c0                	xor    %eax,%eax
46e860:	55                   	push   %ebp
46e861:	68 2e e9 46 00       	push   $0x46e92e
46e866:	64 ff 30             	push   %fs:(%eax)
46e869:	64 89 20             	mov    %esp,%fs:(%eax)
46e86c:	33 c9                	xor    %ecx,%ecx
46e86e:	55                   	push   %ebp
46e86f:	68 07 e9 46 00       	push   $0x46e907
46e874:	64 ff 31             	push   %fs:(%ecx)
46e877:	64 89 21             	mov    %esp,%fs:(%ecx)
46e87a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46e87d:	8d 55 0c             	lea    0xc(%ebp),%edx
46e880:	8b c3                	mov    %ebx,%eax
46e882:	e8 b5 fd ff ff       	call   0x46e63c
46e887:	84 c0                	test   %al,%al
46e889:	75 0d                	jne    0x46e898
46e88b:	33 c0                	xor    %eax,%eax
46e88d:	5a                   	pop    %edx
46e88e:	59                   	pop    %ecx
46e88f:	59                   	pop    %ecx
46e890:	64 89 10             	mov    %edx,%fs:(%eax)
46e893:	e9 80 00 00 00       	jmp    0x46e918
46e898:	8b c3                	mov    %ebx,%eax
46e89a:	e8 25 fe ff ff       	call   0x46e6c4
46e89f:	84 c0                	test   %al,%al
46e8a1:	74 53                	je     0x46e8f6
46e8a3:	33 c0                	xor    %eax,%eax
46e8a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e8a8:	8b 43 1c             	mov    0x1c(%ebx),%eax
46e8ab:	8b 50 24             	mov    0x24(%eax),%edx
46e8ae:	3b 82 8c 00 00 00    	cmp    0x8c(%edx),%eax
46e8b4:	75 23                	jne    0x46e8d9
46e8b6:	8b c2                	mov    %edx,%eax
46e8b8:	e8 e7 6c 00 00       	call   0x4755a4
46e8bd:	8b 43 1c             	mov    0x1c(%ebx),%eax
46e8c0:	8b 40 24             	mov    0x24(%eax),%eax
46e8c3:	f6 80 b3 00 00 00 01 	testb  $0x1,0xb3(%eax)
46e8ca:	74 31                	je     0x46e8fd
46e8cc:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
46e8d0:	75 2b                	jne    0x46e8fd
46e8d2:	e8 61 97 00 00       	call   0x478038
46e8d7:	eb 24                	jmp    0x46e8fd
46e8d9:	92                   	xchg   %eax,%edx
46e8da:	e8 25 6e 00 00       	call   0x475704
46e8df:	8b 43 1c             	mov    0x1c(%ebx),%eax
46e8e2:	8b 40 24             	mov    0x24(%eax),%eax
46e8e5:	e8 0a 99 00 00       	call   0x4781f4
46e8ea:	8b 43 1c             	mov    0x1c(%ebx),%eax
46e8ed:	b2 01                	mov    $0x1,%dl
46e8ef:	e8 20 49 00 00       	call   0x473214
46e8f4:	eb 07                	jmp    0x46e8fd
46e8f6:	c7 45 fc 05 40 00 80 	movl   $0x80004005,-0x4(%ebp)
46e8fd:	33 c0                	xor    %eax,%eax
46e8ff:	5a                   	pop    %edx
46e900:	59                   	pop    %ecx
46e901:	59                   	pop    %ecx
46e902:	64 89 10             	mov    %edx,%fs:(%eax)
46e905:	eb 11                	jmp    0x46e918
46e907:	e9 4c 56 f9 ff       	jmp    0x403f58
46e90c:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46e913:	e8 a8 59 f9 ff       	call   0x4042c0
46e918:	33 c0                	xor    %eax,%eax
46e91a:	5a                   	pop    %edx
46e91b:	59                   	pop    %ecx
46e91c:	59                   	pop    %ecx
46e91d:	64 89 10             	mov    %edx,%fs:(%eax)
46e920:	68 35 e9 46 00       	push   $0x46e935
46e925:	8d 45 0c             	lea    0xc(%ebp),%eax
46e928:	e8 3f 71 f9 ff       	call   0x405a6c
46e92d:	c3                   	ret
46e92e:	e9 d9 58 f9 ff       	jmp    0x40420c
46e933:	eb f0                	jmp    0x46e925
46e935:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e938:	5f                   	pop    %edi
46e939:	5e                   	pop    %esi
46e93a:	5b                   	pop    %ebx
46e93b:	59                   	pop    %ecx
46e93c:	5d                   	pop    %ebp
46e93d:	c2 14 00             	ret    $0x14
46e940:	55                   	push   %ebp
46e941:	8b ec                	mov    %esp,%ebp
46e943:	83 c4 f0             	add    $0xfffffff0,%esp
46e946:	53                   	push   %ebx
46e947:	56                   	push   %esi
46e948:	57                   	push   %edi
46e949:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e94c:	8b 45 14             	mov    0x14(%ebp),%eax
46e94f:	8b 55 14             	mov    0x14(%ebp),%edx
46e952:	85 d2                	test   %edx,%edx
46e954:	74 0d                	je     0x46e963
46e956:	33 c9                	xor    %ecx,%ecx
46e958:	89 4a 0c             	mov    %ecx,0xc(%edx)
46e95b:	89 4a 08             	mov    %ecx,0x8(%edx)
46e95e:	89 4a 04             	mov    %ecx,0x4(%edx)
46e961:	89 0a                	mov    %ecx,(%edx)
46e963:	33 c0                	xor    %eax,%eax
46e965:	55                   	push   %ebp
46e966:	68 de e9 46 00       	push   $0x46e9de
46e96b:	64 ff 30             	push   %fs:(%eax)
46e96e:	64 89 20             	mov    %esp,%fs:(%eax)
46e971:	8b 73 1c             	mov    0x1c(%ebx),%esi
46e974:	85 f6                	test   %esi,%esi
46e976:	75 0f                	jne    0x46e987
46e978:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46e97d:	33 c0                	xor    %eax,%eax
46e97f:	5a                   	pop    %edx
46e980:	59                   	pop    %ecx
46e981:	59                   	pop    %ecx
46e982:	64 89 10             	mov    %edx,%fs:(%eax)
46e985:	eb 66                	jmp    0x46e9ed
46e987:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46e98a:	8b 55 10             	mov    0x10(%ebp),%edx
46e98d:	8b 45 0c             	mov    0xc(%ebp),%eax
46e990:	e8 b7 bc fa ff       	call   0x41a64c
46e995:	8d 55 f0             	lea    -0x10(%ebp),%edx
46e998:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46e99b:	8b 46 24             	mov    0x24(%esi),%eax
46e99e:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
46e9a4:	e8 67 99 fd ff       	call   0x448310
46e9a9:	ff 75 fc             	push   -0x4(%ebp)
46e9ac:	ff 75 f8             	push   -0x8(%ebp)
46e9af:	8b 43 1c             	mov    0x1c(%ebx),%eax
46e9b2:	83 c0 04             	add    $0x4,%eax
46e9b5:	50                   	push   %eax
46e9b6:	e8 e5 92 f9 ff       	call   0x407ca0
46e9bb:	85 c0                	test   %eax,%eax
46e9bd:	74 10                	je     0x46e9cf
46e9bf:	8b 45 14             	mov    0x14(%ebp),%eax
46e9c2:	33 d2                	xor    %edx,%edx
46e9c4:	b1 01                	mov    $0x1,%cl
46e9c6:	e8 71 70 f9 ff       	call   0x405a3c
46e9cb:	33 db                	xor    %ebx,%ebx
46e9cd:	eb 05                	jmp    0x46e9d4
46e9cf:	bb 01 00 00 00       	mov    $0x1,%ebx
46e9d4:	33 c0                	xor    %eax,%eax
46e9d6:	5a                   	pop    %edx
46e9d7:	59                   	pop    %ecx
46e9d8:	59                   	pop    %ecx
46e9d9:	64 89 10             	mov    %edx,%fs:(%eax)
46e9dc:	eb 0f                	jmp    0x46e9ed
46e9de:	e9 75 55 f9 ff       	jmp    0x403f58
46e9e3:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46e9e8:	e8 d3 58 f9 ff       	call   0x4042c0
46e9ed:	8b c3                	mov    %ebx,%eax
46e9ef:	5f                   	pop    %edi
46e9f0:	5e                   	pop    %esi
46e9f1:	5b                   	pop    %ebx
46e9f2:	8b e5                	mov    %ebp,%esp
46e9f4:	5d                   	pop    %ebp
46e9f5:	c2 10 00             	ret    $0x10
46e9f8:	55                   	push   %ebp
46e9f9:	8b ec                	mov    %esp,%ebp
46e9fb:	83 c4 dc             	add    $0xffffffdc,%esp
46e9fe:	53                   	push   %ebx
46e9ff:	56                   	push   %esi
46ea00:	57                   	push   %edi
46ea01:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ea04:	8d 45 1c             	lea    0x1c(%ebp),%eax
46ea07:	e8 68 70 f9 ff       	call   0x405a74
46ea0c:	33 c0                	xor    %eax,%eax
46ea0e:	55                   	push   %ebp
46ea0f:	68 e1 ea 46 00       	push   $0x46eae1
46ea14:	64 ff 30             	push   %fs:(%eax)
46ea17:	64 89 20             	mov    %esp,%fs:(%eax)
46ea1a:	33 c9                	xor    %ecx,%ecx
46ea1c:	55                   	push   %ebp
46ea1d:	68 ba ea 46 00       	push   $0x46eaba
46ea22:	64 ff 31             	push   %fs:(%ecx)
46ea25:	64 89 21             	mov    %esp,%fs:(%ecx)
46ea28:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46ea2b:	8d 55 1c             	lea    0x1c(%ebp),%edx
46ea2e:	8b c3                	mov    %ebx,%eax
46ea30:	e8 07 fc ff ff       	call   0x46e63c
46ea35:	84 c0                	test   %al,%al
46ea37:	75 0d                	jne    0x46ea46
46ea39:	33 c0                	xor    %eax,%eax
46ea3b:	5a                   	pop    %edx
46ea3c:	59                   	pop    %ecx
46ea3d:	59                   	pop    %ecx
46ea3e:	64 89 10             	mov    %edx,%fs:(%eax)
46ea41:	e9 85 00 00 00       	jmp    0x46eacb
46ea46:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ea49:	8d 70 04             	lea    0x4(%eax),%esi
46ea4c:	8d 7d e4             	lea    -0x1c(%ebp),%edi
46ea4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ea50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ea51:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ea52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46ea53:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46ea56:	33 d2                	xor    %edx,%edx
46ea58:	33 c0                	xor    %eax,%eax
46ea5a:	e8 ed bb fa ff       	call   0x41a64c
46ea5f:	8d 55 dc             	lea    -0x24(%ebp),%edx
46ea62:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46ea65:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ea68:	8b 40 24             	mov    0x24(%eax),%eax
46ea6b:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
46ea71:	e8 6e 98 fd ff       	call   0x4482e4
46ea76:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ea79:	50                   	push   %eax
46ea7a:	8b 45 f4             	mov    -0xc(%ebp),%eax
46ea7d:	50                   	push   %eax
46ea7e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46ea81:	50                   	push   %eax
46ea82:	e8 f1 91 f9 ff       	call   0x407c78
46ea87:	8b 55 0c             	mov    0xc(%ebp),%edx
46ea8a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46ea8d:	89 02                	mov    %eax,(%edx)
46ea8f:	8b 4d 10             	mov    0x10(%ebp),%ecx
46ea92:	8b 55 e8             	mov    -0x18(%ebp),%edx
46ea95:	89 11                	mov    %edx,(%ecx)
46ea97:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46ea9a:	2b c8                	sub    %eax,%ecx
46ea9c:	8b 45 14             	mov    0x14(%ebp),%eax
46ea9f:	89 08                	mov    %ecx,(%eax)
46eaa1:	8b 45 f0             	mov    -0x10(%ebp),%eax
46eaa4:	2b c2                	sub    %edx,%eax
46eaa6:	8b 55 18             	mov    0x18(%ebp),%edx
46eaa9:	89 02                	mov    %eax,(%edx)
46eaab:	33 c0                	xor    %eax,%eax
46eaad:	89 45 fc             	mov    %eax,-0x4(%ebp)
46eab0:	33 c0                	xor    %eax,%eax
46eab2:	5a                   	pop    %edx
46eab3:	59                   	pop    %ecx
46eab4:	59                   	pop    %ecx
46eab5:	64 89 10             	mov    %edx,%fs:(%eax)
46eab8:	eb 11                	jmp    0x46eacb
46eaba:	e9 99 54 f9 ff       	jmp    0x403f58
46eabf:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46eac6:	e8 f5 57 f9 ff       	call   0x4042c0
46eacb:	33 c0                	xor    %eax,%eax
46eacd:	5a                   	pop    %edx
46eace:	59                   	pop    %ecx
46eacf:	59                   	pop    %ecx
46ead0:	64 89 10             	mov    %edx,%fs:(%eax)
46ead3:	68 e8 ea 46 00       	push   $0x46eae8
46ead8:	8d 45 1c             	lea    0x1c(%ebp),%eax
46eadb:	e8 8c 6f f9 ff       	call   0x405a6c
46eae0:	c3                   	ret
46eae1:	e9 26 57 f9 ff       	jmp    0x40420c
46eae6:	eb f0                	jmp    0x46ead8
46eae8:	8b 45 fc             	mov    -0x4(%ebp),%eax
46eaeb:	5f                   	pop    %edi
46eaec:	5e                   	pop    %esi
46eaed:	5b                   	pop    %ebx
46eaee:	8b e5                	mov    %ebp,%esp
46eaf0:	5d                   	pop    %ebp
46eaf1:	c2 24 00             	ret    $0x24
46eaf4:	55                   	push   %ebp
46eaf5:	8b ec                	mov    %esp,%ebp
46eaf7:	33 c9                	xor    %ecx,%ecx
46eaf9:	51                   	push   %ecx
46eafa:	51                   	push   %ecx
46eafb:	51                   	push   %ecx
46eafc:	51                   	push   %ecx
46eafd:	53                   	push   %ebx
46eafe:	56                   	push   %esi
46eaff:	57                   	push   %edi
46eb00:	8b 75 0c             	mov    0xc(%ebp),%esi
46eb03:	8b 5d 08             	mov    0x8(%ebp),%ebx
46eb06:	8d 45 10             	lea    0x10(%ebp),%eax
46eb09:	e8 66 6f f9 ff       	call   0x405a74
46eb0e:	8b 45 20             	mov    0x20(%ebp),%eax
46eb11:	8b 55 20             	mov    0x20(%ebp),%edx
46eb14:	85 d2                	test   %edx,%edx
46eb16:	74 0d                	je     0x46eb25
46eb18:	33 c9                	xor    %ecx,%ecx
46eb1a:	89 4a 0c             	mov    %ecx,0xc(%edx)
46eb1d:	89 4a 08             	mov    %ecx,0x8(%edx)
46eb20:	89 4a 04             	mov    %ecx,0x4(%edx)
46eb23:	89 0a                	mov    %ecx,(%edx)
46eb25:	33 c0                	xor    %eax,%eax
46eb27:	55                   	push   %ebp
46eb28:	68 d5 ec 46 00       	push   $0x46ecd5
46eb2d:	64 ff 30             	push   %fs:(%eax)
46eb30:	64 89 20             	mov    %esp,%fs:(%eax)
46eb33:	33 d2                	xor    %edx,%edx
46eb35:	55                   	push   %ebp
46eb36:	68 9b ec 46 00       	push   $0x46ec9b
46eb3b:	64 ff 32             	push   %fs:(%edx)
46eb3e:	64 89 22             	mov    %esp,%fs:(%edx)
46eb41:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46eb44:	8d 55 10             	lea    0x10(%ebp),%edx
46eb47:	8b c3                	mov    %ebx,%eax
46eb49:	e8 ee fa ff ff       	call   0x46e63c
46eb4e:	84 c0                	test   %al,%al
46eb50:	75 0d                	jne    0x46eb5f
46eb52:	33 c0                	xor    %eax,%eax
46eb54:	5a                   	pop    %edx
46eb55:	59                   	pop    %ecx
46eb56:	59                   	pop    %ecx
46eb57:	64 89 10             	mov    %edx,%fs:(%eax)
46eb5a:	e9 4d 01 00 00       	jmp    0x46ecac
46eb5f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46eb66:	83 fe 07             	cmp    $0x7,%esi
46eb69:	74 05                	je     0x46eb70
46eb6b:	83 fe 08             	cmp    $0x8,%esi
46eb6e:	75 33                	jne    0x46eba3
46eb70:	8b 43 1c             	mov    0x1c(%ebx),%eax
46eb73:	8b 40 24             	mov    0x24(%eax),%eax
46eb76:	8b 98 90 00 00 00    	mov    0x90(%eax),%ebx
46eb7c:	85 db                	test   %ebx,%ebx
46eb7e:	0f 84 0d 01 00 00    	je     0x46ec91
46eb84:	8d 55 f8             	lea    -0x8(%ebp),%edx
46eb87:	8b c3                	mov    %ebx,%eax
46eb89:	e8 56 5e 00 00       	call   0x4749e4
46eb8e:	8b 55 f8             	mov    -0x8(%ebp),%edx
46eb91:	8b 45 20             	mov    0x20(%ebp),%eax
46eb94:	e8 93 6e f9 ff       	call   0x405a2c
46eb99:	33 c0                	xor    %eax,%eax
46eb9b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46eb9e:	e9 ee 00 00 00       	jmp    0x46ec91
46eba3:	8b 43 1c             	mov    0x1c(%ebx),%eax
46eba6:	8b d0                	mov    %eax,%edx
46eba8:	8b 40 24             	mov    0x24(%eax),%eax
46ebab:	e8 a8 61 00 00       	call   0x474d58
46ebb0:	85 c0                	test   %eax,%eax
46ebb2:	0f 8c d9 00 00 00    	jl     0x46ec91
46ebb8:	83 fe 06             	cmp    $0x6,%esi
46ebbb:	0f 87 d0 00 00 00    	ja     0x46ec91
46ebc1:	0f b6 b6 cf eb 46 00 	movzbl 0x46ebcf(%esi),%esi
46ebc8:	ff 24 b5 d6 eb 46 00 	jmp    *0x46ebd6(,%esi,4)
46ebcf:	00 01                	add    %al,(%ecx)
46ebd1:	02 01                	add    (%ecx),%al
46ebd3:	02 02                	add    (%edx),%al
46ebd5:	01 91 ec 46 00 e2    	add    %edx,-0x1dffb914(%ecx)
46ebdb:	eb 46                	jmp    0x46ec23
46ebdd:	00 37                	add    %dh,(%edi)
46ebdf:	ec                   	in     (%dx),%al
46ebe0:	46                   	inc    %esi
46ebe1:	00 8b f0 4e 83 fe    	add    %cl,-0x17cb110(%ebx)
46ebe7:	00 0f                	add    %cl,(%edi)
46ebe9:	8c a3 00 00 00 8b    	mov    %fs,-0x75000000(%ebx)
46ebef:	43                   	inc    %ebx
46ebf0:	1c 8b                	sbb    $0x8b,%al
46ebf2:	40                   	inc    %eax
46ebf3:	24 8b                	and    $0x8b,%al
46ebf5:	80 c4 00             	add    $0x0,%ah
46ebf8:	00 00                	add    %al,(%eax)
46ebfa:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ebfd:	e8 1e 46 00 00       	call   0x473220