46bf7c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
46bf7f:	89 45 f8             	mov    %eax,-0x8(%ebp)
46bf82:	89 45 f4             	mov    %eax,-0xc(%ebp)
46bf85:	8d 45 f8             	lea    -0x8(%ebp),%eax
46bf88:	50                   	push   %eax
46bf89:	ff 75 0c             	push   0xc(%ebp)
46bf8c:	8d 45 f4             	lea    -0xc(%ebp),%eax
46bf8f:	50                   	push   %eax
46bf90:	e8 99 ff ff ff       	call   0x46bf2e
46bf95:	8b e5                	mov    %ebp,%esp
46bf97:	5d                   	pop    %ebp
46bf98:	c3                   	ret
46bf99:	8b ff                	mov    %edi,%edi
46bf9b:	55                   	push   %ebp
46bf9c:	8b ec                	mov    %esp,%ebp
46bf9e:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46bfa3:	8b c8                	mov    %eax,%ecx
46bfa5:	33 45 08             	xor    0x8(%ebp),%eax
46bfa8:	83 e1 1f             	and    $0x1f,%ecx
46bfab:	d3 c8                	ror    %cl,%eax
46bfad:	5d                   	pop    %ebp
46bfae:	c3                   	ret
46bfaf:	8b ff                	mov    %edi,%edi
46bfb1:	55                   	push   %ebp
46bfb2:	8b ec                	mov    %esp,%ebp
46bfb4:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46bfb9:	83 e0 1f             	and    $0x1f,%eax
46bfbc:	6a 20                	push   $0x20
46bfbe:	59                   	pop    %ecx
46bfbf:	2b c8                	sub    %eax,%ecx
46bfc1:	8b 45 08             	mov    0x8(%ebp),%eax
46bfc4:	d3 c8                	ror    %cl,%eax
46bfc6:	33 05 94 80 4b 00    	xor    0x4b8094,%eax
46bfcc:	5d                   	pop    %ebp
46bfcd:	c3                   	ret
46bfce:	8b ff                	mov    %edi,%edi
46bfd0:	55                   	push   %ebp
46bfd1:	8b ec                	mov    %esp,%ebp
46bfd3:	ff 75 0c             	push   0xc(%ebp)
46bfd6:	ff 75 08             	push   0x8(%ebp)
46bfd9:	ff 15 60 41 49 00    	call   *0x494160
46bfdf:	5d                   	pop    %ebp
46bfe0:	c3                   	ret
46bfe1:	8b ff                	mov    %edi,%edi
46bfe3:	55                   	push   %ebp
46bfe4:	8b ec                	mov    %esp,%ebp
46bfe6:	8b 45 08             	mov    0x8(%ebp),%eax
46bfe9:	8b 00                	mov    (%eax),%eax
46bfeb:	89 01                	mov    %eax,(%ecx)
46bfed:	8b c1                	mov    %ecx,%eax
46bfef:	5d                   	pop    %ebp
46bff0:	c2 04 00             	ret    $0x4
46bff3:	8b ff                	mov    %edi,%edi
46bff5:	55                   	push   %ebp
46bff6:	8b ec                	mov    %esp,%ebp
46bff8:	8b 45 08             	mov    0x8(%ebp),%eax
46bffb:	8b 00                	mov    (%eax),%eax
46bffd:	89 01                	mov    %eax,(%ecx)
46bfff:	8b c1                	mov    %ecx,%eax
46c001:	5d                   	pop    %ebp
46c002:	c2 04 00             	ret    $0x4
46c005:	8b ff                	mov    %edi,%edi
46c007:	55                   	push   %ebp
46c008:	8b ec                	mov    %esp,%ebp
46c00a:	8b 45 08             	mov    0x8(%ebp),%eax
46c00d:	89 01                	mov    %eax,(%ecx)
46c00f:	8b 45 0c             	mov    0xc(%ebp),%eax
46c012:	89 41 04             	mov    %eax,0x4(%ecx)
46c015:	8b 45 10             	mov    0x10(%ebp),%eax
46c018:	89 41 08             	mov    %eax,0x8(%ecx)
46c01b:	8b c1                	mov    %ecx,%eax
46c01d:	5d                   	pop    %ebp
46c01e:	c2 0c 00             	ret    $0xc
46c021:	8b ff                	mov    %edi,%edi
46c023:	55                   	push   %ebp
46c024:	8b ec                	mov    %esp,%ebp
46c026:	8b 45 08             	mov    0x8(%ebp),%eax
46c029:	89 01                	mov    %eax,(%ecx)
46c02b:	8b c1                	mov    %ecx,%eax
46c02d:	5d                   	pop    %ebp
46c02e:	c2 04 00             	ret    $0x4
46c031:	8b ff                	mov    %edi,%edi
46c033:	56                   	push   %esi
46c034:	8b f1                	mov    %ecx,%esi
46c036:	83 3e 00             	cmpl   $0x0,(%esi)
46c039:	74 0b                	je     0x46c046
46c03b:	ff 36                	push   (%esi)
46c03d:	ff 15 a4 40 49 00    	call   *0x4940a4
46c043:	83 26 00             	andl   $0x0,(%esi)
46c046:	5e                   	pop    %esi
46c047:	c3                   	ret
46c048:	ff 31                	push   (%ecx)
46c04a:	e8 bd be ff ff       	call   0x467f0c
46c04f:	59                   	pop    %ecx
46c050:	c3                   	ret
46c051:	ff 31                	push   (%ecx)
46c053:	e8 fc be ff ff       	call   0x467f54
46c058:	59                   	pop    %ecx
46c059:	c3                   	ret
46c05a:	6a 0c                	push   $0xc
46c05c:	68 98 4b 4b 00       	push   $0x4b4b98
46c061:	e8 ca d8 01 00       	call   0x489930
46c066:	8b f1                	mov    %ecx,%esi
46c068:	80 3d 78 b5 4b 00 00 	cmpb   $0x0,0x4bb578
46c06f:	0f 85 a2 00 00 00    	jne    0x46c117
46c075:	33 c0                	xor    %eax,%eax
46c077:	40                   	inc    %eax
46c078:	b9 70 b5 4b 00       	mov    $0x4bb570,%ecx
46c07d:	87 01                	xchg   %eax,(%ecx)
46c07f:	33 db                	xor    %ebx,%ebx
46c081:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46c084:	8b 06                	mov    (%esi),%eax
46c086:	8b 00                	mov    (%eax),%eax
46c088:	85 c0                	test   %eax,%eax
46c08a:	75 38                	jne    0x46c0c4
46c08c:	8b 3d 94 80 4b 00    	mov    0x4b8094,%edi
46c092:	8b d7                	mov    %edi,%edx
46c094:	83 e2 1f             	and    $0x1f,%edx
46c097:	6a 20                	push   $0x20
46c099:	59                   	pop    %ecx
46c09a:	2b ca                	sub    %edx,%ecx
46c09c:	d3 c8                	ror    %cl,%eax
46c09e:	33 c7                	xor    %edi,%eax
46c0a0:	8b 0d 74 b5 4b 00    	mov    0x4bb574,%ecx
46c0a6:	3b c8                	cmp    %eax,%ecx
46c0a8:	74 13                	je     0x46c0bd
46c0aa:	33 f9                	xor    %ecx,%edi
46c0ac:	53                   	push   %ebx
46c0ad:	53                   	push   %ebx
46c0ae:	53                   	push   %ebx
46c0af:	8b ca                	mov    %edx,%ecx
46c0b1:	d3 cf                	ror    %cl,%edi
46c0b3:	8b cf                	mov    %edi,%ecx
46c0b5:	ff 15 54 43 49 00    	call   *0x494354
46c0bb:	ff d7                	call   *%edi
46c0bd:	68 a4 b8 4b 00       	push   $0x4bb8a4
46c0c2:	eb 0a                	jmp    0x46c0ce
46c0c4:	83 f8 01             	cmp    $0x1,%eax
46c0c7:	75 0b                	jne    0x46c0d4
46c0c9:	68 b0 b8 4b 00       	push   $0x4bb8b0
46c0ce:	e8 dc 16 00 00       	call   0x46d7af
46c0d3:	59                   	pop    %ecx
46c0d4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46c0db:	8b 06                	mov    (%esi),%eax
46c0dd:	39 18                	cmp    %ebx,(%eax)
46c0df:	75 11                	jne    0x46c0f2
46c0e1:	68 f4 43 49 00       	push   $0x4943f4
46c0e6:	68 e4 43 49 00       	push   $0x4943e4
46c0eb:	e8 bd 23 00 00       	call   0x46e4ad
46c0f0:	59                   	pop    %ecx
46c0f1:	59                   	pop    %ecx
46c0f2:	68 fc 43 49 00       	push   $0x4943fc
46c0f7:	68 f8 43 49 00       	push   $0x4943f8
46c0fc:	e8 ac 23 00 00       	call   0x46e4ad
46c101:	59                   	pop    %ecx
46c102:	59                   	pop    %ecx
46c103:	8b 46 04             	mov    0x4(%esi),%eax
46c106:	39 18                	cmp    %ebx,(%eax)
46c108:	75 0d                	jne    0x46c117
46c10a:	c6 05 78 b5 4b 00 01 	movb   $0x1,0x4bb578
46c111:	8b 46 08             	mov    0x8(%esi),%eax
46c114:	c6 00 01             	movb   $0x1,(%eax)
46c117:	e8 5d d8 01 00       	call   0x489979
46c11c:	c3                   	ret
46c11d:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c120:	8b 00                	mov    (%eax),%eax
46c122:	ff 30                	push   (%eax)
46c124:	e8 11 00 00 00       	call   0x46c13a
46c129:	83 c4 04             	add    $0x4,%esp
46c12c:	c3                   	ret
46c12d:	8b 65 e8             	mov    -0x18(%ebp),%esp
46c130:	e8 ee b5 ff ff       	call   0x467723
46c135:	cc                   	int3
46c136:	6a 02                	push   $0x2
46c138:	58                   	pop    %eax
46c139:	c3                   	ret
46c13a:	8b ff                	mov    %edi,%edi
46c13c:	55                   	push   %ebp
46c13d:	8b ec                	mov    %esp,%ebp
46c13f:	33 c0                	xor    %eax,%eax
46c141:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
46c148:	0f 94 c0             	sete   %al
46c14b:	5d                   	pop    %ebp
46c14c:	c3                   	ret
46c14d:	8b ff                	mov    %edi,%edi
46c14f:	56                   	push   %esi
46c150:	8b f1                	mov    %ecx,%esi
46c152:	83 3e 00             	cmpl   $0x0,(%esi)
46c155:	74 0b                	je     0x46c162
46c157:	ff 36                	push   (%esi)
46c159:	ff 15 a4 40 49 00    	call   *0x4940a4
46c15f:	83 26 00             	andl   $0x0,(%esi)
46c162:	5e                   	pop    %esi
46c163:	c3                   	ret
46c164:	8b ff                	mov    %edi,%edi
46c166:	55                   	push   %ebp
46c167:	8b ec                	mov    %esp,%ebp
46c169:	ff 75 08             	push   0x8(%ebp)
46c16c:	ff 15 a4 40 49 00    	call   *0x4940a4
46c172:	f7 d8                	neg    %eax
46c174:	1b c0                	sbb    %eax,%eax
46c176:	f7 d8                	neg    %eax
46c178:	5d                   	pop    %ebp
46c179:	c3                   	ret
46c17a:	8b ff                	mov    %edi,%edi
46c17c:	55                   	push   %ebp
46c17d:	8b ec                	mov    %esp,%ebp
46c17f:	83 ec 10             	sub    $0x10,%esp
46c182:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46c186:	75 12                	jne    0x46c19a
46c188:	e8 8e 00 00 00       	call   0x46c21b
46c18d:	84 c0                	test   %al,%al
46c18f:	74 09                	je     0x46c19a
46c191:	ff 75 08             	push   0x8(%ebp)
46c194:	e8 e4 00 00 00       	call   0x46c27d
46c199:	59                   	pop    %ecx
46c19a:	8d 45 0c             	lea    0xc(%ebp),%eax
46c19d:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
46c1a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c1a4:	8d 45 10             	lea    0x10(%ebp),%eax
46c1a7:	89 45 f4             	mov    %eax,-0xc(%ebp)
46c1aa:	8d 45 ff             	lea    -0x1(%ebp),%eax
46c1ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
46c1b0:	8d 45 f0             	lea    -0x10(%ebp),%eax
46c1b3:	50                   	push   %eax
46c1b4:	6a 02                	push   $0x2
46c1b6:	e8 b6 fd ff ff       	call   0x46bf71
46c1bb:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46c1bf:	59                   	pop    %ecx
46c1c0:	59                   	pop    %ecx
46c1c1:	74 04                	je     0x46c1c7
46c1c3:	8b e5                	mov    %ebp,%esp
46c1c5:	5d                   	pop    %ebp
46c1c6:	c3                   	ret
46c1c7:	ff 75 08             	push   0x8(%ebp)
46c1ca:	e8 01 00 00 00       	call   0x46c1d0
46c1cf:	cc                   	int3
46c1d0:	8b ff                	mov    %edi,%edi
46c1d2:	55                   	push   %ebp
46c1d3:	8b ec                	mov    %esp,%ebp
46c1d5:	e8 15 07 01 00       	call   0x47c8ef
46c1da:	83 f8 01             	cmp    $0x1,%eax
46c1dd:	74 20                	je     0x46c1ff
46c1df:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
46c1e5:	8b 40 68             	mov    0x68(%eax),%eax
46c1e8:	c1 e8 08             	shr    $0x8,%eax
46c1eb:	a8 01                	test   $0x1,%al
46c1ed:	75 10                	jne    0x46c1ff
46c1ef:	ff 75 08             	push   0x8(%ebp)
46c1f2:	ff 15 30 41 49 00    	call   *0x494130
46c1f8:	50                   	push   %eax
46c1f9:	ff 15 38 41 49 00    	call   *0x494138
46c1ff:	ff 75 08             	push   0x8(%ebp)
46c202:	e8 76 00 00 00       	call   0x46c27d
46c207:	59                   	pop    %ecx
46c208:	ff 75 08             	push   0x8(%ebp)
46c20b:	ff 15 98 40 49 00    	call   *0x494098
46c211:	cc                   	int3
46c212:	8b 01                	mov    (%ecx),%eax
46c214:	c3                   	ret
46c215:	8b c1                	mov    %ecx,%eax
46c217:	c3                   	ret
46c218:	33 c0                	xor    %eax,%eax
46c21a:	c3                   	ret
46c21b:	6a 00                	push   $0x0
46c21d:	ff 15 58 41 49 00    	call   *0x494158
46c223:	8b c8                	mov    %eax,%ecx
46c225:	85 c9                	test   %ecx,%ecx
46c227:	75 03                	jne    0x46c22c
46c229:	32 c0                	xor    %al,%al
46c22b:	c3                   	ret
46c22c:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
46c231:	66 39 01             	cmp    %ax,(%ecx)
46c234:	75 f3                	jne    0x46c229
46c236:	8b 41 3c             	mov    0x3c(%ecx),%eax
46c239:	03 c1                	add    %ecx,%eax
46c23b:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
46c241:	75 e6                	jne    0x46c229
46c243:	b9 0b 01 00 00       	mov    $0x10b,%ecx
46c248:	66 39 48 18          	cmp    %cx,0x18(%eax)
46c24c:	75 db                	jne    0x46c229
46c24e:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
46c252:	76 d5                	jbe    0x46c229
46c254:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
46c25b:	0f 95 c0             	setne  %al
46c25e:	c3                   	ret
46c25f:	e8 8b 06 01 00       	call   0x47c8ef
46c264:	83 f8 01             	cmp    $0x1,%eax
46c267:	75 03                	jne    0x46c26c
46c269:	32 c0                	xor    %al,%al
46c26b:	c3                   	ret
46c26c:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
46c272:	8b 40 68             	mov    0x68(%eax),%eax
46c275:	c1 e8 08             	shr    $0x8,%eax
46c278:	f6 d0                	not    %al
46c27a:	24 01                	and    $0x1,%al
46c27c:	c3                   	ret
46c27d:	8b ff                	mov    %edi,%edi
46c27f:	55                   	push   %ebp
46c280:	8b ec                	mov    %esp,%ebp
46c282:	51                   	push   %ecx
46c283:	51                   	push   %ecx
46c284:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46c289:	33 c5                	xor    %ebp,%eax
46c28b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c28e:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46c292:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c295:	50                   	push   %eax
46c296:	68 fc d4 49 00       	push   $0x49d4fc
46c29b:	6a 00                	push   $0x0
46c29d:	ff 15 5c 41 49 00    	call   *0x49415c
46c2a3:	85 c0                	test   %eax,%eax
46c2a5:	74 23                	je     0x46c2ca
46c2a7:	56                   	push   %esi
46c2a8:	68 14 d5 49 00       	push   $0x49d514
46c2ad:	ff 75 f8             	push   -0x8(%ebp)
46c2b0:	ff 15 60 41 49 00    	call   *0x494160
46c2b6:	8b f0                	mov    %eax,%esi
46c2b8:	85 f6                	test   %esi,%esi
46c2ba:	74 0d                	je     0x46c2c9
46c2bc:	ff 75 08             	push   0x8(%ebp)
46c2bf:	8b ce                	mov    %esi,%ecx
46c2c1:	ff 15 54 43 49 00    	call   *0x494354
46c2c7:	ff d6                	call   *%esi
46c2c9:	5e                   	pop    %esi
46c2ca:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46c2ce:	74 09                	je     0x46c2d9
46c2d0:	ff 75 f8             	push   -0x8(%ebp)
46c2d3:	ff 15 a4 40 49 00    	call   *0x4940a4
46c2d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c2dc:	33 cd                	xor    %ebp,%ecx
46c2de:	e8 1f 37 fd ff       	call   0x43fa02
46c2e3:	8b e5                	mov    %ebp,%esp
46c2e5:	5d                   	pop    %ebp
46c2e6:	c3                   	ret
46c2e7:	8b ff                	mov    %edi,%edi
46c2e9:	55                   	push   %ebp
46c2ea:	8b ec                	mov    %esp,%ebp
46c2ec:	6a 00                	push   $0x0
46c2ee:	6a 02                	push   $0x2
46c2f0:	ff 75 08             	push   0x8(%ebp)
46c2f3:	e8 82 fe ff ff       	call   0x46c17a
46c2f8:	83 c4 0c             	add    $0xc,%esp
46c2fb:	5d                   	pop    %ebp
46c2fc:	c3                   	ret
46c2fd:	8b ff                	mov    %edi,%edi
46c2ff:	55                   	push   %ebp
46c300:	8b ec                	mov    %esp,%ebp
46c302:	8b 45 08             	mov    0x8(%ebp),%eax
46c305:	a3 74 b5 4b 00       	mov    %eax,0x4bb574