496f40:	56                   	push   %esi
496f41:	8b cf                	mov    %edi,%ecx
496f43:	e8 7d ba f9 ff       	call   0x4329c5
496f48:	8b c7                	mov    %edi,%eax
496f4a:	5f                   	pop    %edi
496f4b:	5e                   	pop    %esi
496f4c:	c2 04 00             	ret    $0x4
496f4f:	cc                   	int3
496f50:	cc                   	int3
496f51:	cc                   	int3
496f52:	cc                   	int3
496f53:	cc                   	int3
496f54:	cc                   	int3
496f55:	cc                   	int3
496f56:	cc                   	int3
496f57:	cc                   	int3
496f58:	cc                   	int3
496f59:	cc                   	int3
496f5a:	cc                   	int3
496f5b:	cc                   	int3
496f5c:	cc                   	int3
496f5d:	cc                   	int3
496f5e:	cc                   	int3
496f5f:	cc                   	int3
496f60:	56                   	push   %esi
496f61:	8b f1                	mov    %ecx,%esi
496f63:	e8 93 ee f8 ff       	call   0x425dfb
496f68:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
496f6d:	74 0b                	je     0x496f7a
496f6f:	6a 08                	push   $0x8
496f71:	56                   	push   %esi
496f72:	e8 25 af f6 ff       	call   0x401e9c
496f77:	83 c4 08             	add    $0x8,%esp
496f7a:	8b c6                	mov    %esi,%eax
496f7c:	5e                   	pop    %esi
496f7d:	c2 04 00             	ret    $0x4
496f80:	cc                   	int3
496f81:	cc                   	int3
496f82:	cc                   	int3
496f83:	cc                   	int3
496f84:	cc                   	int3
496f85:	cc                   	int3
496f86:	cc                   	int3
496f87:	cc                   	int3
496f88:	cc                   	int3
496f89:	cc                   	int3
496f8a:	cc                   	int3
496f8b:	cc                   	int3
496f8c:	cc                   	int3
496f8d:	cc                   	int3
496f8e:	cc                   	int3
496f8f:	cc                   	int3
496f90:	56                   	push   %esi
496f91:	8b f1                	mov    %ecx,%esi
496f93:	e8 3a 0e f8 ff       	call   0x417dd2
496f98:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
496f9d:	74 0b                	je     0x496faa
496f9f:	6a 08                	push   $0x8
496fa1:	56                   	push   %esi
496fa2:	e8 f5 ae f6 ff       	call   0x401e9c
496fa7:	83 c4 08             	add    $0x8,%esp
496faa:	8b c6                	mov    %esi,%eax
496fac:	5e                   	pop    %esi
496fad:	c2 04 00             	ret    $0x4
496fb0:	cc                   	int3
496fb1:	cc                   	int3
496fb2:	cc                   	int3
496fb3:	cc                   	int3
496fb4:	cc                   	int3
496fb5:	cc                   	int3
496fb6:	cc                   	int3
496fb7:	cc                   	int3
496fb8:	cc                   	int3
496fb9:	cc                   	int3
496fba:	cc                   	int3
496fbb:	cc                   	int3
496fbc:	cc                   	int3
496fbd:	cc                   	int3
496fbe:	cc                   	int3
496fbf:	cc                   	int3
496fc0:	56                   	push   %esi
496fc1:	8b f1                	mov    %ecx,%esi
496fc3:	e8 e3 ce f9 ff       	call   0x433eab
496fc8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
496fcd:	74 0b                	je     0x496fda
496fcf:	6a 0c                	push   $0xc
496fd1:	56                   	push   %esi
496fd2:	e8 c5 ae f6 ff       	call   0x401e9c
496fd7:	83 c4 08             	add    $0x8,%esp
496fda:	8b c6                	mov    %esi,%eax
496fdc:	5e                   	pop    %esi
496fdd:	c2 04 00             	ret    $0x4
496fe0:	cc                   	int3
496fe1:	cc                   	int3
496fe2:	cc                   	int3
496fe3:	cc                   	int3
496fe4:	cc                   	int3
496fe5:	cc                   	int3
496fe6:	cc                   	int3
496fe7:	cc                   	int3
496fe8:	cc                   	int3
496fe9:	cc                   	int3
496fea:	cc                   	int3
496feb:	cc                   	int3
496fec:	cc                   	int3
496fed:	cc                   	int3
496fee:	cc                   	int3
496fef:	cc                   	int3
496ff0:	56                   	push   %esi
496ff1:	8b f1                	mov    %ecx,%esi
496ff3:	e8 54 cf f8 ff       	call   0x423f4c
496ff8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
496ffd:	74 0e                	je     0x49700d
496fff:	68 a8 00 00 00       	push   $0xa8
497004:	56                   	push   %esi
497005:	e8 92 ae f6 ff       	call   0x401e9c
49700a:	83 c4 08             	add    $0x8,%esp
49700d:	8b c6                	mov    %esi,%eax
49700f:	5e                   	pop    %esi
497010:	c2 04 00             	ret    $0x4
497013:	cc                   	int3
497014:	cc                   	int3
497015:	cc                   	int3
497016:	cc                   	int3
497017:	cc                   	int3
497018:	cc                   	int3
497019:	cc                   	int3
49701a:	cc                   	int3
49701b:	cc                   	int3
49701c:	cc                   	int3
49701d:	cc                   	int3
49701e:	cc                   	int3
49701f:	cc                   	int3
497020:	b0 01                	mov    $0x1,%al
497022:	c3                   	ret
497023:	cc                   	int3
497024:	cc                   	int3
497025:	cc                   	int3
497026:	cc                   	int3
497027:	cc                   	int3
497028:	cc                   	int3
497029:	cc                   	int3
49702a:	cc                   	int3
49702b:	cc                   	int3
49702c:	cc                   	int3
49702d:	cc                   	int3
49702e:	cc                   	int3
49702f:	cc                   	int3
497030:	8b 44 24 04          	mov    0x4(%esp),%eax
497034:	89 41 04             	mov    %eax,0x4(%ecx)
497037:	c2 04 00             	ret    $0x4
49703a:	cc                   	int3
49703b:	cc                   	int3
49703c:	cc                   	int3
49703d:	cc                   	int3
49703e:	cc                   	int3
49703f:	cc                   	int3
497040:	8b 44 24 04          	mov    0x4(%esp),%eax
497044:	89 41 04             	mov    %eax,0x4(%ecx)
497047:	c2 04 00             	ret    $0x4
49704a:	cc                   	int3
49704b:	cc                   	int3
49704c:	cc                   	int3
49704d:	cc                   	int3
49704e:	cc                   	int3
49704f:	cc                   	int3
497050:	83 ec 0c             	sub    $0xc,%esp
497053:	8d 04 24             	lea    (%esp),%eax
497056:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
49705d:	56                   	push   %esi
49705e:	89 44 24 08          	mov    %eax,0x8(%esp)
497062:	8b f1                	mov    %ecx,%esi
497064:	8d 44 24 08          	lea    0x8(%esp),%eax
497068:	51                   	push   %ecx
497069:	89 44 24 10          	mov    %eax,0x10(%esp)
49706d:	8b cc                	mov    %esp,%ecx
49706f:	8d 44 24 0c          	lea    0xc(%esp),%eax
497073:	50                   	push   %eax
497074:	e8 ce af f9 ff       	call   0x432047
497079:	8b ce                	mov    %esi,%ecx
49707b:	e8 a3 41 fa ff       	call   0x43b223
497080:	5e                   	pop    %esi
497081:	83 c4 0c             	add    $0xc,%esp
497084:	c3                   	ret
497085:	cc                   	int3
497086:	cc                   	int3
497087:	cc                   	int3
497088:	cc                   	int3
497089:	cc                   	int3
49708a:	cc                   	int3
49708b:	cc                   	int3
49708c:	cc                   	int3
49708d:	cc                   	int3
49708e:	cc                   	int3
49708f:	cc                   	int3
497090:	cc                   	int3
497091:	cc                   	int3
497092:	cc                   	int3
497093:	cc                   	int3
497094:	cc                   	int3
497095:	cc                   	int3
497096:	cc                   	int3
497097:	cc                   	int3
497098:	cc                   	int3
497099:	cc                   	int3
49709a:	cc                   	int3
49709b:	cc                   	int3
49709c:	cc                   	int3
49709d:	cc                   	int3
49709e:	cc                   	int3
49709f:	cc                   	int3
4970a0:	55                   	push   %ebp
4970a1:	8d ac 24 a0 f0 ff ff 	lea    -0xf60(%esp),%ebp
4970a8:	81 ec 60 0f 00 00    	sub    $0xf60,%esp
4970ae:	6a ff                	push   $0xffffffff
4970b0:	68 01 a2 b3 00       	push   $0xb3a201
4970b5:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4970bb:	50                   	push   %eax
4970bc:	83 ec 30             	sub    $0x30,%esp
4970bf:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
4970c4:	33 c5                	xor    %ebp,%eax
4970c6:	89 85 5c 0f 00 00    	mov    %eax,0xf5c(%ebp)
4970cc:	53                   	push   %ebx
4970cd:	56                   	push   %esi
4970ce:	57                   	push   %edi
4970cf:	50                   	push   %eax
4970d0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4970d3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4970d9:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4970dc:	8b b5 68 0f 00 00    	mov    0xf68(%ebp),%esi
4970e2:	8b ce                	mov    %esi,%ecx
4970e4:	8b bd 70 0f 00 00    	mov    0xf70(%ebp),%edi
4970ea:	8b 9d 74 0f 00 00    	mov    0xf74(%ebp),%ebx
4970f0:	89 75 c4             	mov    %esi,-0x3c(%ebp)
4970f3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4970fa:	e8 91 a9 f7 ff       	call   0x411a90
4970ff:	8b 85 6c 0f 00 00    	mov    0xf6c(%ebp),%eax
497105:	b9 01 00 00 00       	mov    $0x1,%ecx
49710a:	85 c0                	test   %eax,%eax
49710c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
497113:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
49711a:	0f 45 c8             	cmovne %eax,%ecx
49711d:	89 8e 90 06 00 00    	mov    %ecx,0x690(%esi)
497123:	83 f9 03             	cmp    $0x3,%ecx
497126:	0f 85 6a 0b 00 00    	jne    0x497c96
49712c:	8d 85 e8 05 00 00    	lea    0x5e8(%ebp),%eax
497132:	c7 85 e4 05 00 00 f8 	movl   $0xbd1cf8,0x5e4(%ebp)
497139:	1c bd 00
49713c:	89 85 ec 06 00 00    	mov    %eax,0x6ec(%ebp)
497142:	8d 85 e4 05 00 00    	lea    0x5e4(%ebp),%eax
497148:	c7 85 f0 06 00 00 04 	movl   $0x104,0x6f0(%ebp)
49714f:	01 00 00
497152:	3b c7                	cmp    %edi,%eax
497154:	74 27                	je     0x49717d
497156:	ff b7 0c 01 00 00    	push   0x10c(%edi)
49715c:	8b c8                	mov    %eax,%ecx
49715e:	e8 26 92 f7 ff       	call   0x410389
497163:	ff b7 0c 01 00 00    	push   0x10c(%edi)
497169:	ff b7 08 01 00 00    	push   0x108(%edi)
49716f:	ff b5 ec 06 00 00    	push   0x6ec(%ebp)
497175:	e8 08 d5 f7 ff       	call   0x414682
49717a:	83 c4 0c             	add    $0xc,%esp
49717d:	c7 85 e4 05 00 00 04 	movl   $0xbd1d04,0x5e4(%ebp)
497184:	1d bd 00
497187:	8d 85 f8 06 00 00    	lea    0x6f8(%ebp),%eax
49718d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
497194:	89 85 fc 07 00 00    	mov    %eax,0x7fc(%ebp)
49719a:	b9 04 01 00 00       	mov    $0x104,%ecx
49719f:	8d 85 f4 06 00 00    	lea    0x6f4(%ebp),%eax
4971a5:	c7 85 f4 06 00 00 f8 	movl   $0xbd1cf8,0x6f4(%ebp)
4971ac:	1c bd 00
4971af:	89 8d 00 08 00 00    	mov    %ecx,0x800(%ebp)
4971b5:	3b c3                	cmp    %ebx,%eax
4971b7:	74 2d                	je     0x4971e6
4971b9:	ff b3 0c 01 00 00    	push   0x10c(%ebx)
4971bf:	8b c8                	mov    %eax,%ecx
4971c1:	e8 c3 91 f7 ff       	call   0x410389
4971c6:	ff b3 0c 01 00 00    	push   0x10c(%ebx)
4971cc:	ff b3 08 01 00 00    	push   0x108(%ebx)
4971d2:	ff b5 fc 07 00 00    	push   0x7fc(%ebp)
4971d8:	e8 a5 d4 f7 ff       	call   0x414682
4971dd:	8b 8d 00 08 00 00    	mov    0x800(%ebp),%ecx
4971e3:	83 c4 0c             	add    $0xc,%esp
4971e6:	c7 85 f4 06 00 00 04 	movl   $0xbd1d04,0x6f4(%ebp)
4971ed:	1d bd 00
4971f0:	8b 85 ec 06 00 00    	mov    0x6ec(%ebp),%eax
4971f6:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4971fa:	8a 10                	mov    (%eax),%dl
4971fc:	8b 85 fc 07 00 00    	mov    0x7fc(%ebp),%eax
497202:	84 d2                	test   %dl,%dl
497204:	75 24                	jne    0x49722a
497206:	38 10                	cmp    %dl,(%eax)
497208:	74 25                	je     0x49722f
49720a:	51                   	push   %ecx
49720b:	8d 8d e4 05 00 00    	lea    0x5e4(%ebp),%ecx
497211:	e8 73 91 f7 ff       	call   0x410389
497216:	ff b5 00 08 00 00    	push   0x800(%ebp)
49721c:	ff b5 fc 07 00 00    	push   0x7fc(%ebp)
497222:	ff b5 ec 06 00 00    	push   0x6ec(%ebp)
497228:	eb 30                	jmp    0x49725a
49722a:	80 38 00             	cmpb   $0x0,(%eax)
49722d:	75 33                	jne    0x497262
49722f:	84 d2                	test   %dl,%dl
497231:	0f 84 e6 02 00 00    	je     0x49751d
497237:	ff b5 f0 06 00 00    	push   0x6f0(%ebp)
49723d:	8d 8d f4 06 00 00    	lea    0x6f4(%ebp),%ecx
497243:	e8 41 91 f7 ff       	call   0x410389
497248:	ff b5 f0 06 00 00    	push   0x6f0(%ebp)
49724e:	ff b5 ec 06 00 00    	push   0x6ec(%ebp)
497254:	ff b5 fc 07 00 00    	push   0x7fc(%ebp)
49725a:	e8 23 d4 f7 ff       	call   0x414682
49725f:	83 c4 0c             	add    $0xc,%esp
497262:	8b 85 ec 06 00 00    	mov    0x6ec(%ebp),%eax
497268:	80 38 00             	cmpb   $0x0,(%eax)
49726b:	0f 84 ac 02 00 00    	je     0x49751d
497271:	8d 85 18 09 00 00    	lea    0x918(%ebp),%eax
497277:	c7 85 20 0a 00 00 04 	movl   $0x104,0xa20(%ebp)
49727e:	01 00 00
497281:	89 85 1c 0a 00 00    	mov    %eax,0xa1c(%ebp)
497287:	c6 85 18 09 00 00 00 	movb   $0x0,0x918(%ebp)
49728e:	c7 85 14 09 00 00 04 	movl   $0xbd1d04,0x914(%ebp)
497295:	1d bd 00
497298:	8d 85 28 0a 00 00    	lea    0xa28(%ebp),%eax
49729e:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4972a2:	68 04 69 bd 00       	push   $0xbd6904
4972a7:	8d 8d 24 0a 00 00    	lea    0xa24(%ebp),%ecx
4972ad:	c7 85 24 0a 00 00 f8 	movl   $0xbd1cf8,0xa24(%ebp)
4972b4:	1c bd 00
4972b7:	89 85 2c 0b 00 00    	mov    %eax,0xb2c(%ebp)
4972bd:	c7 85 30 0b 00 00 04 	movl   $0x104,0xb30(%ebp)
4972c4:	01 00 00
4972c7:	e8 aa 8a f7 ff       	call   0x40fd76
4972cc:	c7 85 24 0a 00 00 04 	movl   $0xbd1d04,0xa24(%ebp)
4972d3:	1d bd 00
4972d6:	8d 85 14 09 00 00    	lea    0x914(%ebp),%eax
4972dc:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4972e0:	50                   	push   %eax
4972e1:	8d 85 24 0a 00 00    	lea    0xa24(%ebp),%eax
4972e7:	50                   	push   %eax
4972e8:	8d 85 e4 05 00 00    	lea    0x5e4(%ebp),%eax
4972ee:	50                   	push   %eax
4972ef:	e8 9b ad f7 ff       	call   0x41208f
4972f4:	83 c4 0c             	add    $0xc,%esp
4972f7:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4972fb:	84 c0                	test   %al,%al
4972fd:	8d 8d 24 0a 00 00    	lea    0xa24(%ebp),%ecx
497303:	0f 94 c3             	sete   %bl
497306:	e8 ed 71 f7 ff       	call   0x40e4f8
49730b:	8d be 80 05 00 00    	lea    0x580(%esi),%edi
497311:	8d 85 e4 05 00 00    	lea    0x5e4(%ebp),%eax