452fae:	0f b7 50 fa          	movzwl -0x6(%eax),%edx
452fb2:	8b 45 08             	mov    0x8(%ebp),%eax
452fb5:	8b 40 f4             	mov    -0xc(%eax),%eax
452fb8:	b1 02                	mov    $0x2,%cl
452fba:	e8 dd fd ff ff       	call   0x452d9c
452fbf:	8b 55 08             	mov    0x8(%ebp),%edx
452fc2:	89 42 fc             	mov    %eax,-0x4(%edx)
452fc5:	8b 45 08             	mov    0x8(%ebp),%eax
452fc8:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
452fcc:	75 09                	jne    0x452fd7
452fce:	c6 45 ff 03          	movb   $0x3,-0x1(%ebp)
452fd2:	e9 b4 00 00 00       	jmp    0x45308b
452fd7:	8b 45 08             	mov    0x8(%ebp),%eax
452fda:	8b 40 fc             	mov    -0x4(%eax),%eax
452fdd:	8b d6                	mov    %esi,%edx
452fdf:	e8 50 ff ff ff       	call   0x452f34
452fe4:	89 03                	mov    %eax,(%ebx)
452fe6:	83 3b 00             	cmpl   $0x0,(%ebx)
452fe9:	0f 84 9c 00 00 00    	je     0x45308b
452fef:	8b 03                	mov    (%ebx),%eax
452ff1:	8b 40 64             	mov    0x64(%eax),%eax
452ff4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
452ff7:	0f 85 8e 00 00 00    	jne    0x45308b
452ffd:	85 f6                	test   %esi,%esi
452fff:	75 04                	jne    0x453005
453001:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
453005:	8b 03                	mov    (%ebx),%eax
453007:	80 78 39 00          	cmpb   $0x0,0x39(%eax)
45300b:	74 7a                	je     0x453087
45300d:	33 c0                	xor    %eax,%eax
45300f:	55                   	push   %ebp
453010:	68 69 30 45 00       	push   $0x453069
453015:	64 ff 30             	push   %fs:(%eax)
453018:	64 89 20             	mov    %esp,%fs:(%eax)
45301b:	8b 45 08             	mov    0x8(%ebp),%eax
45301e:	8b 40 f4             	mov    -0xc(%eax),%eax
453021:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
453025:	75 07                	jne    0x45302e
453027:	8b 03                	mov    (%ebx),%eax
453029:	e8 42 ee ff ff       	call   0x451e70
45302e:	8b 03                	mov    (%ebx),%eax
453030:	8b 10                	mov    (%eax),%edx
453032:	ff 52 44             	call   *0x44(%edx)
453035:	8b 45 08             	mov    0x8(%ebp),%eax
453038:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45303c:	74 1d                	je     0x45305b
45303e:	8b 03                	mov    (%ebx),%eax
453040:	8b 55 08             	mov    0x8(%ebp),%edx
453043:	3b 42 fc             	cmp    -0x4(%edx),%eax
453046:	74 17                	je     0x45305f
453048:	8b 45 08             	mov    0x8(%ebp),%eax
45304b:	8b 40 fc             	mov    -0x4(%eax),%eax
45304e:	66 8b 40 60          	mov    0x60(%eax),%ax
453052:	8b 55 08             	mov    0x8(%ebp),%edx
453055:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
453059:	74 04                	je     0x45305f
45305b:	c6 45 ff 02          	movb   $0x2,-0x1(%ebp)
45305f:	33 c0                	xor    %eax,%eax
453061:	5a                   	pop    %edx
453062:	59                   	pop    %ecx
453063:	59                   	pop    %ecx
453064:	64 89 10             	mov    %edx,%fs:(%eax)
453067:	eb 22                	jmp    0x45308b
453069:	e9 7a 06 fb ff       	jmp    0x4036e8
45306e:	8b 45 08             	mov    0x8(%ebp),%eax
453071:	8b 50 f4             	mov    -0xc(%eax),%edx
453074:	a1 9c dc 46 00       	mov    0x46dc9c,%eax
453079:	8b 00                	mov    (%eax),%eax
45307b:	e8 d8 c5 00 00       	call   0x45f658
453080:	e8 cb 09 fb ff       	call   0x403a50
453085:	eb 04                	jmp    0x45308b
453087:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
45308b:	8a 45 ff             	mov    -0x1(%ebp),%al
45308e:	5f                   	pop    %edi
45308f:	5e                   	pop    %esi
453090:	5b                   	pop    %ebx
453091:	59                   	pop    %ecx
453092:	59                   	pop    %ecx
453093:	5d                   	pop    %ebp
453094:	c3                   	ret
453095:	8d 40 00             	lea    0x0(%eax),%eax
453098:	55                   	push   %ebp
453099:	8b ec                	mov    %esp,%ebp
45309b:	83 c4 ec             	add    $0xffffffec,%esp
45309e:	53                   	push   %ebx
45309f:	8b da                	mov    %edx,%ebx
4530a1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4530a4:	33 c0                	xor    %eax,%eax
4530a6:	33 d2                	xor    %edx,%edx
4530a8:	8a 53 04             	mov    0x4(%ebx),%dl
4530ab:	66 89 55 fa          	mov    %dx,-0x6(%ebp)
4530af:	66 83 7d fa 00       	cmpw   $0x0,-0x6(%ebp)
4530b4:	0f 84 f5 00 00 00    	je     0x4531af
4530ba:	6a 10                	push   $0x10
4530bc:	e8 1b 35 fb ff       	call   0x4065dc
4530c1:	66 85 c0             	test   %ax,%ax
4530c4:	7d 06                	jge    0x4530cc
4530c6:	66 81 45 fa 00 20    	addw   $0x2000,-0x6(%ebp)
4530cc:	6a 11                	push   $0x11
4530ce:	e8 09 35 fb ff       	call   0x4065dc
4530d3:	66 85 c0             	test   %ax,%ax
4530d6:	7d 06                	jge    0x4530de
4530d8:	66 81 45 fa 00 40    	addw   $0x4000,-0x6(%ebp)
4530de:	f6 43 0b 20          	testb  $0x20,0xb(%ebx)
4530e2:	74 06                	je     0x4530ea
4530e4:	66 81 45 fa 00 80    	addw   $0x8000,-0x6(%ebp)
4530ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
4530ed:	8b 40 34             	mov    0x34(%eax),%eax
4530f0:	89 45 ec             	mov    %eax,-0x14(%ebp)
4530f3:	8d 55 ec             	lea    -0x14(%ebp),%edx
4530f6:	a1 ac eb 46 00       	mov    0x46ebac,%eax
4530fb:	e8 54 18 fd ff       	call   0x424954
453100:	33 c0                	xor    %eax,%eax
453102:	55                   	push   %ebp
453103:	68 96 31 45 00       	push   $0x453196
453108:	64 ff 30             	push   %fs:(%eax)
45310b:	64 89 20             	mov    %esp,%fs:(%eax)
45310e:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
453112:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
453116:	b1 02                	mov    $0x2,%cl
453118:	8b 45 f4             	mov    -0xc(%ebp),%eax
45311b:	e8 7c fc ff ff       	call   0x452d9c
453120:	89 45 fc             	mov    %eax,-0x4(%ebp)
453123:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
453127:	74 49                	je     0x453172
453129:	8d 55 fc             	lea    -0x4(%ebp),%edx
45312c:	a1 ac eb 46 00       	mov    0x46ebac,%eax
453131:	e8 1e 18 fd ff       	call   0x424954
453136:	33 c0                	xor    %eax,%eax
453138:	55                   	push   %ebp
453139:	68 6b 31 45 00       	push   $0x45316b
45313e:	64 ff 30             	push   %fs:(%eax)
453141:	64 89 20             	mov    %esp,%fs:(%eax)
453144:	55                   	push   %ebp
453145:	8d 45 fc             	lea    -0x4(%ebp),%eax
453148:	33 d2                	xor    %edx,%edx
45314a:	e8 f5 fd ff ff       	call   0x452f44
45314f:	59                   	pop    %ecx
453150:	88 45 f3             	mov    %al,-0xd(%ebp)
453153:	33 c0                	xor    %eax,%eax
453155:	5a                   	pop    %edx
453156:	59                   	pop    %ecx
453157:	59                   	pop    %ecx
453158:	64 89 10             	mov    %edx,%fs:(%eax)
45315b:	68 72 31 45 00       	push   $0x453172
453160:	a1 ac eb 46 00       	mov    0x46ebac,%eax
453165:	e8 e2 17 fd ff       	call   0x42494c
45316a:	c3                   	ret
45316b:	e9 2c 08 fb ff       	jmp    0x40399c
453170:	eb ee                	jmp    0x453160
453172:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
453176:	74 06                	je     0x45317e
453178:	80 7d f3 02          	cmpb   $0x2,-0xd(%ebp)
45317c:	74 90                	je     0x45310e
45317e:	33 c0                	xor    %eax,%eax
453180:	5a                   	pop    %edx
453181:	59                   	pop    %ecx
453182:	59                   	pop    %ecx
453183:	64 89 10             	mov    %edx,%fs:(%eax)
453186:	68 9d 31 45 00       	push   $0x45319d
45318b:	a1 ac eb 46 00       	mov    0x46ebac,%eax
453190:	e8 b7 17 fd ff       	call   0x42494c
453195:	c3                   	ret
453196:	e9 01 08 fb ff       	jmp    0x40399c
45319b:	eb ee                	jmp    0x45318b
45319d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4531a1:	75 0a                	jne    0x4531ad
4531a3:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4531a7:	74 04                	je     0x4531ad
4531a9:	33 c0                	xor    %eax,%eax
4531ab:	eb 02                	jmp    0x4531af
4531ad:	b0 01                	mov    $0x1,%al
4531af:	5b                   	pop    %ebx
4531b0:	8b e5                	mov    %ebp,%esp
4531b2:	5d                   	pop    %ebp
4531b3:	c3                   	ret
4531b4:	8a 40 41             	mov    0x41(%eax),%al
4531b7:	34 01                	xor    $0x1,%al
4531b9:	c3                   	ret
4531ba:	8b c0                	mov    %eax,%eax
4531bc:	53                   	push   %ebx
4531bd:	56                   	push   %esi
4531be:	83 c4 80             	add    $0xffffff80,%esp
4531c1:	8b d8                	mov    %eax,%ebx
4531c3:	a1 1c de 46 00       	mov    0x46de1c,%eax
4531c8:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4531cc:	0f 84 9c 00 00 00    	je     0x45326e
4531d2:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
4531d6:	0f 84 92 00 00 00    	je     0x45326e
4531dc:	8b c3                	mov    %ebx,%eax
4531de:	8b 10                	mov    (%eax),%edx
4531e0:	ff 52 34             	call   *0x34(%edx)
4531e3:	8b f0                	mov    %eax,%esi
4531e5:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
4531ec:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
4531f3:	00
4531f4:	8d 44 24 30          	lea    0x30(%esp),%eax
4531f8:	89 44 24 24          	mov    %eax,0x24(%esp)
4531fc:	c7 44 24 28 50 00 00 	movl   $0x50,0x28(%esp)
453203:	00
453204:	54                   	push   %esp
453205:	6a ff                	push   $0xffffffff
453207:	6a 00                	push   $0x0
453209:	56                   	push   %esi
45320a:	e8 0d 34 fb ff       	call   0x40661c
45320f:	85 c0                	test   %eax,%eax
453211:	74 5b                	je     0x45326e
453213:	8b c3                	mov    %ebx,%eax
453215:	e8 26 03 00 00       	call   0x453540
45321a:	8b 54 24 08          	mov    0x8(%esp),%edx
45321e:	81 e2 00 60 00 00    	and    $0x6000,%edx
453224:	83 fa 01             	cmp    $0x1,%edx
453227:	1b d2                	sbb    %edx,%edx
453229:	42                   	inc    %edx
45322a:	3a c2                	cmp    %dl,%al
45322c:	74 40                	je     0x45326e
45322e:	8b c3                	mov    %ebx,%eax
453230:	e8 0b 03 00 00       	call   0x453540
453235:	83 e0 7f             	and    $0x7f,%eax
453238:	c1 e0 0d             	shl    $0xd,%eax
45323b:	8d 04 40             	lea    (%eax,%eax,2),%eax
45323e:	8b 54 24 08          	mov    0x8(%esp),%edx
453242:	81 e2 ff 9f ff ff    	and    $0xffff9fff,%edx
453248:	0b c2                	or     %edx,%eax
45324a:	89 44 24 08          	mov    %eax,0x8(%esp)
45324e:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
453255:	00
453256:	54                   	push   %esp
453257:	6a ff                	push   $0xffffffff
453259:	6a 00                	push   $0x0
45325b:	56                   	push   %esi
45325c:	e8 f3 35 fb ff       	call   0x406854
453261:	85 c0                	test   %eax,%eax
453263:	74 09                	je     0x45326e
453265:	8b 43 38             	mov    0x38(%ebx),%eax
453268:	50                   	push   %eax
453269:	e8 86 32 fb ff       	call   0x4064f4
45326e:	81 c4 80 00 00 00    	add    $0x80,%esp
453274:	5e                   	pop    %esi
453275:	5b                   	pop    %ebx
453276:	c3                   	ret
453277:	90                   	nop
453278:	55                   	push   %ebp
453279:	8b ec                	mov    %esp,%ebp
45327b:	83 c4 f4             	add    $0xfffffff4,%esp
45327e:	53                   	push   %ebx
45327f:	56                   	push   %esi
453280:	89 45 fc             	mov    %eax,-0x4(%ebp)
453283:	8b 45 fc             	mov    -0x4(%ebp),%eax
453286:	50                   	push   %eax
453287:	e8 80 33 fb ff       	call   0x40660c
45328c:	89 45 f4             	mov    %eax,-0xc(%ebp)
45328f:	8b 45 08             	mov    0x8(%ebp),%eax
453292:	8d 98 00 fe ff ff    	lea    -0x200(%eax),%ebx
453298:	8b 45 08             	mov    0x8(%ebp),%eax
45329b:	83 c0 fb             	add    $0xfffffffb,%eax
45329e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4532a1:	33 f6                	xor    %esi,%esi
4532a3:	eb 60                	jmp    0x453305
4532a5:	53                   	push   %ebx
4532a6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4532a9:	2b c3                	sub    %ebx,%eax
4532ab:	50                   	push   %eax
4532ac:	68 00 04 00 00       	push   $0x400
4532b1:	8b 45 08             	mov    0x8(%ebp),%eax
4532b4:	8b 80 fc fd ff ff    	mov    -0x204(%eax),%eax
4532ba:	8b ce                	mov    %esi,%ecx
4532bc:	8b 55 fc             	mov    -0x4(%ebp),%edx
4532bf:	e8 50 05 00 00       	call   0x453814
4532c4:	8b c3                	mov    %ebx,%eax
4532c6:	e8 59 53 fb ff       	call   0x408624
4532cb:	8b d8                	mov    %eax,%ebx
4532cd:	68 00 04 00 00       	push   $0x400
4532d2:	56                   	push   %esi
4532d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4532d6:	50                   	push   %eax
4532d7:	e8 48 33 fb ff       	call   0x406624
4532dc:	a8 02                	test   $0x2,%al
4532de:	74 07                	je     0x4532e7
4532e0:	c6 03 24             	movb   $0x24,(%ebx)
4532e3:	43                   	inc    %ebx
4532e4:	c6 03 00             	movb   $0x0,(%ebx)
4532e7:	a8 40                	test   $0x40,%al
4532e9:	74 07                	je     0x4532f2
4532eb:	c6 03 40             	movb   $0x40,(%ebx)
4532ee:	43                   	inc    %ebx
4532ef:	c6 03 00             	movb   $0x0,(%ebx)
4532f2:	a8 01                	test   $0x1,%al
4532f4:	74 07                	je     0x4532fd
4532f6:	c6 03 23             	movb   $0x23,(%ebx)
4532f9:	43                   	inc    %ebx
4532fa:	c6 03 00             	movb   $0x0,(%ebx)
4532fd:	c6 03 3b             	movb   $0x3b,(%ebx)
453300:	43                   	inc    %ebx
453301:	c6 03 00             	movb   $0x0,(%ebx)
453304:	46                   	inc    %esi
453305:	3b 75 f4             	cmp    -0xc(%ebp),%esi
453308:	7d 05                	jge    0x45330f
45330a:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
45330d:	72 96                	jb     0x4532a5
45330f:	5e                   	pop    %esi
453310:	5b                   	pop    %ebx
453311:	8b e5                	mov    %ebp,%esp
453313:	5d                   	pop    %ebp
453314:	c3                   	ret
453315:	8d 40 00             	lea    0x0(%eax),%eax
453318:	55                   	push   %ebp
453319:	8b ec                	mov    %esp,%ebp
45331b:	81 c4 fc fd ff ff    	add    $0xfffffdfc,%esp
453321:	53                   	push   %ebx
453322:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
453328:	33 db                	xor    %ebx,%ebx
45332a:	c6 85 00 fe ff ff 00 	movb   $0x0,-0x200(%ebp)
453331:	8b 85 fc fd ff ff    	mov    -0x204(%ebp),%eax
453337:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
45333b:	74 12                	je     0x45334f
45333d:	55                   	push   %ebp
45333e:	8b 85 fc fd ff ff    	mov    -0x204(%ebp),%eax
453344:	8b 10                	mov    (%eax),%edx
453346:	ff 52 34             	call   *0x34(%edx)
453349:	e8 2a ff ff ff       	call   0x453278
45334e:	59                   	pop    %ecx
45334f:	8b 85 fc fd ff ff    	mov    -0x204(%ebp),%eax
453355:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
453359:	74 1d                	je     0x453378
45335b:	8b 85 fc fd ff ff    	mov    -0x204(%ebp),%eax
453361:	8b 40 3c             	mov    0x3c(%eax),%eax
453364:	e8 ef 10 fb ff       	call   0x404458
453369:	8d 95 00 fe ff ff    	lea    -0x200(%ebp),%edx
45336f:	e8 74 53 fb ff       	call   0x4086e8
453374:	85 c0                	test   %eax,%eax
453376:	74 1b                	je     0x453393
453378:	b3 01                	mov    $0x1,%bl
45337a:	8b 85 fc fd ff ff    	mov    -0x204(%ebp),%eax
453380:	83 c0 3c             	add    $0x3c,%eax
453383:	8d 95 00 fe ff ff    	lea    -0x200(%ebp),%edx
453389:	b9 00 02 00 00       	mov    $0x200,%ecx
45338e:	e8 75 0e fb ff       	call   0x404208
453393:	8b c3                	mov    %ebx,%eax
453395:	5b                   	pop    %ebx
453396:	8b e5                	mov    %ebp,%esp
453398:	5d                   	pop    %ebp
453399:	c3                   	ret
45339a:	8b c0                	mov    %eax,%eax
45339c:	3a 50 40             	cmp    0x40(%eax),%dl
45339f:	74 08                	je     0x4533a9
4533a1:	88 50 40             	mov    %dl,0x40(%eax)
4533a4:	e8 43 f9 ff ff       	call   0x452cec
4533a9:	c3                   	ret
4533aa:	8b c0                	mov    %eax,%eax