434f36:	68 a8 f6 46 00       	push   $0x46f6a8
434f3b:	57                   	push   %edi
434f3c:	8b d3                	mov    %ebx,%edx
434f3e:	8b c8                	mov    %eax,%ecx
434f40:	e8 d6 53 00 00       	call   0x43a31b
434f45:	8b 45 0c             	mov    0xc(%ebp),%eax
434f48:	8b 4d f8             	mov    -0x8(%ebp),%ecx
434f4b:	89 48 0c             	mov    %ecx,0xc(%eax)
434f4e:	8b 06                	mov    (%esi),%eax
434f50:	83 f8 fe             	cmp    $0xfffffffe,%eax
434f53:	74 0d                	je     0x434f62
434f55:	8b 4e 04             	mov    0x4(%esi),%ecx
434f58:	03 cf                	add    %edi,%ecx
434f5a:	33 0c 38             	xor    (%eax,%edi,1),%ecx
434f5d:	e8 2f 9a 00 00       	call   0x43e991
434f62:	8b 4e 0c             	mov    0xc(%esi),%ecx
434f65:	8b 56 08             	mov    0x8(%esi),%edx
434f68:	03 cf                	add    %edi,%ecx
434f6a:	33 0c 3a             	xor    (%edx,%edi,1),%ecx
434f6d:	e8 1f 9a 00 00       	call   0x43e991
434f72:	8b 45 f0             	mov    -0x10(%ebp),%eax
434f75:	8b 48 08             	mov    0x8(%eax),%ecx
434f78:	8b d7                	mov    %edi,%edx
434f7a:	e8 6a 53 00 00       	call   0x43a2e9
434f7f:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
434f84:	39 53 0c             	cmp    %edx,0xc(%ebx)
434f87:	0f 84 4f ff ff ff    	je     0x434edc
434f8d:	68 a8 f6 46 00       	push   $0x46f6a8
434f92:	57                   	push   %edi
434f93:	8b cb                	mov    %ebx,%ecx
434f95:	e8 81 53 00 00       	call   0x43a31b
434f9a:	e9 19 ff ff ff       	jmp    0x434eb8
434f9f:	8b ff                	mov    %edi,%edi
434fa1:	55                   	push   %ebp
434fa2:	8b ec                	mov    %esp,%ebp
434fa4:	33 c0                	xor    %eax,%eax
434fa6:	8b 4d 08             	mov    0x8(%ebp),%ecx
434fa9:	3b 0c c5 00 8d 46 00 	cmp    0x468d00(,%eax,8),%ecx
434fb0:	74 0a                	je     0x434fbc
434fb2:	40                   	inc    %eax
434fb3:	83 f8 16             	cmp    $0x16,%eax
434fb6:	72 ee                	jb     0x434fa6
434fb8:	33 c0                	xor    %eax,%eax
434fba:	5d                   	pop    %ebp
434fbb:	c3                   	ret
434fbc:	8b 04 c5 04 8d 46 00 	mov    0x468d04(,%eax,8),%eax
434fc3:	5d                   	pop    %ebp
434fc4:	c3                   	ret
434fc5:	8b ff                	mov    %edi,%edi
434fc7:	55                   	push   %ebp
434fc8:	8b ec                	mov    %esp,%ebp
434fca:	81 ec fc 01 00 00    	sub    $0x1fc,%esp
434fd0:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
434fd5:	33 c5                	xor    %ebp,%eax
434fd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
434fda:	53                   	push   %ebx
434fdb:	56                   	push   %esi
434fdc:	8b 75 08             	mov    0x8(%ebp),%esi
434fdf:	57                   	push   %edi
434fe0:	56                   	push   %esi
434fe1:	e8 b9 ff ff ff       	call   0x434f9f
434fe6:	8b f8                	mov    %eax,%edi
434fe8:	33 db                	xor    %ebx,%ebx
434fea:	59                   	pop    %ecx
434feb:	89 bd 04 fe ff ff    	mov    %edi,-0x1fc(%ebp)
434ff1:	3b fb                	cmp    %ebx,%edi
434ff3:	0f 84 6c 01 00 00    	je     0x435165
434ff9:	6a 03                	push   $0x3
434ffb:	e8 10 9d 00 00       	call   0x43ed10
435000:	59                   	pop    %ecx
435001:	83 f8 01             	cmp    $0x1,%eax
435004:	0f 84 07 01 00 00    	je     0x435111
43500a:	6a 03                	push   $0x3
43500c:	e8 ff 9c 00 00       	call   0x43ed10
435011:	59                   	pop    %ecx
435012:	85 c0                	test   %eax,%eax
435014:	75 0d                	jne    0x435023
435016:	83 3d 98 f2 46 00 01 	cmpl   $0x1,0x46f298
43501d:	0f 84 ee 00 00 00    	je     0x435111
435023:	81 fe fc 00 00 00    	cmp    $0xfc,%esi
435029:	0f 84 36 01 00 00    	je     0x435165
43502f:	68 3c 8e 46 00       	push   $0x468e3c
435034:	68 14 03 00 00       	push   $0x314
435039:	bf 60 09 47 00       	mov    $0x470960,%edi
43503e:	57                   	push   %edi
43503f:	e8 69 9c 00 00       	call   0x43ecad
435044:	83 c4 0c             	add    $0xc,%esp
435047:	85 c0                	test   %eax,%eax
435049:	0f 85 b8 00 00 00    	jne    0x435107
43504f:	68 04 01 00 00       	push   $0x104
435054:	be 92 09 47 00       	mov    $0x470992,%esi
435059:	56                   	push   %esi
43505a:	53                   	push   %ebx
43505b:	66 a3 9a 0b 47 00    	mov    %ax,0x470b9a
435061:	ff 15 50 35 47 00    	call   *0x473550
435067:	bb fb 02 00 00       	mov    $0x2fb,%ebx
43506c:	85 c0                	test   %eax,%eax
43506e:	75 1f                	jne    0x43508f
435070:	68 0c 8e 46 00       	push   $0x468e0c
435075:	53                   	push   %ebx
435076:	56                   	push   %esi
435077:	e8 31 9c 00 00       	call   0x43ecad
43507c:	83 c4 0c             	add    $0xc,%esp
43507f:	85 c0                	test   %eax,%eax
435081:	74 0c                	je     0x43508f
435083:	33 c0                	xor    %eax,%eax
435085:	50                   	push   %eax
435086:	50                   	push   %eax
435087:	50                   	push   %eax
435088:	50                   	push   %eax
435089:	50                   	push   %eax
43508a:	e8 73 f2 ff ff       	call   0x434302
43508f:	56                   	push   %esi
435090:	e8 fd 9b 00 00       	call   0x43ec92
435095:	40                   	inc    %eax
435096:	59                   	pop    %ecx
435097:	83 f8 3c             	cmp    $0x3c,%eax
43509a:	76 2a                	jbe    0x4350c6
43509c:	56                   	push   %esi
43509d:	e8 f0 9b 00 00       	call   0x43ec92
4350a2:	8d 04 45 1c 09 47 00 	lea    0x47091c(,%eax,2),%eax
4350a9:	8b c8                	mov    %eax,%ecx
4350ab:	2b ce                	sub    %esi,%ecx
4350ad:	6a 03                	push   $0x3
4350af:	d1 f9                	sar    $1,%ecx
4350b1:	68 04 8e 46 00       	push   $0x468e04
4350b6:	2b d9                	sub    %ecx,%ebx
4350b8:	53                   	push   %ebx
4350b9:	50                   	push   %eax
4350ba:	e8 06 9b 00 00       	call   0x43ebc5
4350bf:	83 c4 14             	add    $0x14,%esp
4350c2:	85 c0                	test   %eax,%eax
4350c4:	75 bd                	jne    0x435083
4350c6:	68 fc 8d 46 00       	push   $0x468dfc
4350cb:	be 14 03 00 00       	mov    $0x314,%esi
4350d0:	56                   	push   %esi
4350d1:	57                   	push   %edi
4350d2:	e8 79 9a 00 00       	call   0x43eb50
4350d7:	83 c4 0c             	add    $0xc,%esp
4350da:	85 c0                	test   %eax,%eax
4350dc:	75 a5                	jne    0x435083
4350de:	ff b5 04 fe ff ff    	push   -0x1fc(%ebp)
4350e4:	56                   	push   %esi
4350e5:	57                   	push   %edi
4350e6:	e8 65 9a 00 00       	call   0x43eb50
4350eb:	83 c4 0c             	add    $0xc,%esp
4350ee:	85 c0                	test   %eax,%eax
4350f0:	75 91                	jne    0x435083
4350f2:	68 10 20 01 00       	push   $0x12010
4350f7:	68 b0 8d 46 00       	push   $0x468db0
4350fc:	57                   	push   %edi
4350fd:	e8 e2 98 00 00       	call   0x43e9e4
435102:	83 c4 0c             	add    $0xc,%esp
435105:	eb 5e                	jmp    0x435165
435107:	53                   	push   %ebx
435108:	53                   	push   %ebx
435109:	53                   	push   %ebx
43510a:	53                   	push   %ebx
43510b:	53                   	push   %ebx
43510c:	e9 79 ff ff ff       	jmp    0x43508a
435111:	6a f4                	push   $0xfffffff4
435113:	ff 15 4c 35 47 00    	call   *0x47354c
435119:	8b f0                	mov    %eax,%esi
43511b:	3b f3                	cmp    %ebx,%esi
43511d:	74 46                	je     0x435165
43511f:	83 fe ff             	cmp    $0xffffffff,%esi
435122:	74 41                	je     0x435165
435124:	33 c0                	xor    %eax,%eax
435126:	8a 0c 47             	mov    (%edi,%eax,2),%cl
435129:	88 8c 05 08 fe ff ff 	mov    %cl,-0x1f8(%ebp,%eax,1)
435130:	66 39 1c 47          	cmp    %bx,(%edi,%eax,2)
435134:	74 08                	je     0x43513e
435136:	40                   	inc    %eax
435137:	3d f4 01 00 00       	cmp    $0x1f4,%eax
43513c:	72 e8                	jb     0x435126
43513e:	53                   	push   %ebx
43513f:	8d 85 04 fe ff ff    	lea    -0x1fc(%ebp),%eax
435145:	50                   	push   %eax
435146:	8d 85 08 fe ff ff    	lea    -0x1f8(%ebp),%eax
43514c:	50                   	push   %eax
43514d:	88 5d fb             	mov    %bl,-0x5(%ebp)
435150:	e8 1b 61 00 00       	call   0x43b270
435155:	59                   	pop    %ecx
435156:	50                   	push   %eax
435157:	8d 85 08 fe ff ff    	lea    -0x1f8(%ebp),%eax
43515d:	50                   	push   %eax
43515e:	56                   	push   %esi
43515f:	ff 15 48 35 47 00    	call   *0x473548
435165:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435168:	5f                   	pop    %edi
435169:	5e                   	pop    %esi
43516a:	33 cd                	xor    %ebp,%ecx
43516c:	5b                   	pop    %ebx
43516d:	e8 1f 98 00 00       	call   0x43e991
435172:	c9                   	leave
435173:	c3                   	ret
435174:	6a 03                	push   $0x3
435176:	e8 95 9b 00 00       	call   0x43ed10
43517b:	59                   	pop    %ecx
43517c:	83 f8 01             	cmp    $0x1,%eax
43517f:	74 15                	je     0x435196
435181:	6a 03                	push   $0x3
435183:	e8 88 9b 00 00       	call   0x43ed10
435188:	59                   	pop    %ecx
435189:	85 c0                	test   %eax,%eax
43518b:	75 1f                	jne    0x4351ac
43518d:	83 3d 98 f2 46 00 01 	cmpl   $0x1,0x46f298
435194:	75 16                	jne    0x4351ac
435196:	68 fc 00 00 00       	push   $0xfc
43519b:	e8 25 fe ff ff       	call   0x434fc5
4351a0:	68 ff 00 00 00       	push   $0xff
4351a5:	e8 1b fe ff ff       	call   0x434fc5
4351aa:	59                   	pop    %ecx
4351ab:	59                   	pop    %ecx
4351ac:	c3                   	ret
4351ad:	8b ff                	mov    %edi,%edi
4351af:	55                   	push   %ebp
4351b0:	8b ec                	mov    %esp,%ebp
4351b2:	56                   	push   %esi
4351b3:	8b 75 08             	mov    0x8(%ebp),%esi
4351b6:	56                   	push   %esi
4351b7:	e8 56 10 00 00       	call   0x436212
4351bc:	50                   	push   %eax
4351bd:	e8 9c 9b 00 00       	call   0x43ed5e
4351c2:	59                   	pop    %ecx
4351c3:	59                   	pop    %ecx
4351c4:	85 c0                	test   %eax,%eax
4351c6:	74 7c                	je     0x435244
4351c8:	e8 7b b1 ff ff       	call   0x430348
4351cd:	83 c0 20             	add    $0x20,%eax
4351d0:	3b f0                	cmp    %eax,%esi
4351d2:	75 04                	jne    0x4351d8
4351d4:	33 c0                	xor    %eax,%eax
4351d6:	eb 0f                	jmp    0x4351e7
4351d8:	e8 6b b1 ff ff       	call   0x430348
4351dd:	83 c0 40             	add    $0x40,%eax
4351e0:	3b f0                	cmp    %eax,%esi
4351e2:	75 60                	jne    0x435244
4351e4:	33 c0                	xor    %eax,%eax
4351e6:	40                   	inc    %eax
4351e7:	ff 05 c4 07 47 00    	incl   0x4707c4
4351ed:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4351f4:	75 4e                	jne    0x435244
4351f6:	53                   	push   %ebx
4351f7:	57                   	push   %edi
4351f8:	8d 3c 85 88 0f 47 00 	lea    0x470f88(,%eax,4),%edi
4351ff:	83 3f 00             	cmpl   $0x0,(%edi)
435202:	bb 00 10 00 00       	mov    $0x1000,%ebx
435207:	75 20                	jne    0x435229
435209:	53                   	push   %ebx
43520a:	e8 2c 12 00 00       	call   0x43643b
43520f:	59                   	pop    %ecx
435210:	89 07                	mov    %eax,(%edi)
435212:	85 c0                	test   %eax,%eax
435214:	75 13                	jne    0x435229
435216:	8d 46 14             	lea    0x14(%esi),%eax
435219:	6a 02                	push   $0x2
43521b:	89 46 08             	mov    %eax,0x8(%esi)
43521e:	89 06                	mov    %eax,(%esi)
435220:	58                   	pop    %eax
435221:	89 46 18             	mov    %eax,0x18(%esi)
435224:	89 46 04             	mov    %eax,0x4(%esi)
435227:	eb 0d                	jmp    0x435236
435229:	8b 3f                	mov    (%edi),%edi
43522b:	89 7e 08             	mov    %edi,0x8(%esi)
43522e:	89 3e                	mov    %edi,(%esi)
435230:	89 5e 18             	mov    %ebx,0x18(%esi)
435233:	89 5e 04             	mov    %ebx,0x4(%esi)
435236:	81 4e 0c 02 11 00 00 	orl    $0x1102,0xc(%esi)
43523d:	33 c0                	xor    %eax,%eax
43523f:	5f                   	pop    %edi
435240:	40                   	inc    %eax
435241:	5b                   	pop    %ebx
435242:	eb 02                	jmp    0x435246
435244:	33 c0                	xor    %eax,%eax
435246:	5e                   	pop    %esi
435247:	5d                   	pop    %ebp
435248:	c3                   	ret
435249:	8b ff                	mov    %edi,%edi
43524b:	55                   	push   %ebp
43524c:	8b ec                	mov    %esp,%ebp
43524e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435252:	74 27                	je     0x43527b
435254:	56                   	push   %esi
435255:	8b 75 0c             	mov    0xc(%ebp),%esi
435258:	f7 46 0c 00 10 00 00 	testl  $0x1000,0xc(%esi)
43525f:	74 19                	je     0x43527a
435261:	56                   	push   %esi
435262:	e8 a1 13 00 00       	call   0x436608
435267:	81 66 0c ff ee ff ff 	andl   $0xffffeeff,0xc(%esi)
43526e:	83 66 18 00          	andl   $0x0,0x18(%esi)
435272:	83 26 00             	andl   $0x0,(%esi)
435275:	83 66 08 00          	andl   $0x0,0x8(%esi)
435279:	59                   	pop    %ecx
43527a:	5e                   	pop    %esi
43527b:	5d                   	pop    %ebp
43527c:	c3                   	ret
43527d:	f6 41 0c 40          	testb  $0x40,0xc(%ecx)
435281:	74 06                	je     0x435289
435283:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
435287:	74 24                	je     0x4352ad
435289:	ff 49 04             	decl   0x4(%ecx)
43528c:	78 0b                	js     0x435299
43528e:	8b 11                	mov    (%ecx),%edx
435290:	88 02                	mov    %al,(%edx)
435292:	ff 01                	incl   (%ecx)
435294:	0f b6 c0             	movzbl %al,%eax
435297:	eb 0c                	jmp    0x4352a5
435299:	0f be c0             	movsbl %al,%eax
43529c:	51                   	push   %ecx
43529d:	50                   	push   %eax
43529e:	e8 7b 16 00 00       	call   0x43691e
4352a3:	59                   	pop    %ecx
4352a4:	59                   	pop    %ecx
4352a5:	83 f8 ff             	cmp    $0xffffffff,%eax
4352a8:	75 03                	jne    0x4352ad
4352aa:	09 06                	or     %eax,(%esi)
4352ac:	c3                   	ret
4352ad:	ff 06                	incl   (%esi)
4352af:	c3                   	ret
4352b0:	8b ff                	mov    %edi,%edi
4352b2:	55                   	push   %ebp
4352b3:	8b ec                	mov    %esp,%ebp
4352b5:	56                   	push   %esi
4352b6:	8b f0                	mov    %eax,%esi
4352b8:	eb 13                	jmp    0x4352cd
4352ba:	8b 4d 10             	mov    0x10(%ebp),%ecx
4352bd:	8a 45 08             	mov    0x8(%ebp),%al
4352c0:	ff 4d 0c             	decl   0xc(%ebp)
4352c3:	e8 b5 ff ff ff       	call   0x43527d
4352c8:	83 3e ff             	cmpl   $0xffffffff,(%esi)
4352cb:	74 06                	je     0x4352d3
4352cd:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4352d1:	7f e7                	jg     0x4352ba
4352d3:	5e                   	pop    %esi
4352d4:	5d                   	pop    %ebp
4352d5:	c3                   	ret
4352d6:	8b ff                	mov    %edi,%edi
4352d8:	55                   	push   %ebp
4352d9:	8b ec                	mov    %esp,%ebp
4352db:	51                   	push   %ecx
4352dc:	f6 43 0c 40          	testb  $0x40,0xc(%ebx)
4352e0:	56                   	push   %esi
4352e1:	8b f0                	mov    %eax,%esi
4352e3:	8b 07                	mov    (%edi),%eax
4352e5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4352e8:	74 0d                	je     0x4352f7
4352ea:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4352ee:	75 07                	jne    0x4352f7
4352f0:	8b 45 0c             	mov    0xc(%ebp),%eax