454089:	e8 62 ff ff ff       	call   0x453ff0
45408e:	8b c6                	mov    %esi,%eax
454090:	84 db                	test   %bl,%bl
454092:	74 0f                	je     0x4540a3
454094:	e8 2b f5 fa ff       	call   0x4035c4
454099:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4540a0:	83 c4 0c             	add    $0xc,%esp
4540a3:	8b c6                	mov    %esi,%eax
4540a5:	5e                   	pop    %esi
4540a6:	5b                   	pop    %ebx
4540a7:	c3                   	ret
4540a8:	53                   	push   %ebx
4540a9:	56                   	push   %esi
4540aa:	e8 25 f5 fa ff       	call   0x4035d4
4540af:	8b da                	mov    %edx,%ebx
4540b1:	8b f0                	mov    %eax,%esi
4540b3:	8b d6                	mov    %esi,%edx
4540b5:	a1 a8 eb 46 00       	mov    0x46eba8,%eax
4540ba:	e8 59 ff ff ff       	call   0x454018
4540bf:	8b d3                	mov    %ebx,%edx
4540c1:	80 e2 fc             	and    $0xfc,%dl
4540c4:	8b c6                	mov    %esi,%eax
4540c6:	e8 85 eb ff ff       	call   0x452c50
4540cb:	84 db                	test   %bl,%bl
4540cd:	7e 07                	jle    0x4540d6
4540cf:	8b c6                	mov    %esi,%eax
4540d1:	e8 e6 f4 fa ff       	call   0x4035bc
4540d6:	5e                   	pop    %esi
4540d7:	5b                   	pop    %ebx
4540d8:	c3                   	ret
4540d9:	8d 40 00             	lea    0x0(%eax),%eax
4540dc:	53                   	push   %ebx
4540dd:	66 83 78 72 00       	cmpw   $0x0,0x72(%eax)
4540e2:	74 08                	je     0x4540ec
4540e4:	8b d8                	mov    %eax,%ebx
4540e6:	8b 43 74             	mov    0x74(%ebx),%eax
4540e9:	ff 53 70             	call   *0x70(%ebx)
4540ec:	5b                   	pop    %ebx
4540ed:	c3                   	ret
4540ee:	8b c0                	mov    %eax,%eax
4540f0:	8b 40 34             	mov    0x34(%eax),%eax
4540f3:	8b 40 54             	mov    0x54(%eax),%eax
4540f6:	c3                   	ret
4540f7:	90                   	nop
4540f8:	8b 40 34             	mov    0x34(%eax),%eax
4540fb:	89 50 54             	mov    %edx,0x54(%eax)
4540fe:	c3                   	ret
4540ff:	90                   	nop
454100:	53                   	push   %ebx
454101:	8b d8                	mov    %eax,%ebx
454103:	a1 1c de 46 00       	mov    0x46de1c,%eax
454108:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
45410c:	74 37                	je     0x454145
45410e:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
454112:	74 31                	je     0x454145
454114:	8d 43 58             	lea    0x58(%ebx),%eax
454117:	e8 30 ae ff ff       	call   0x44ef4c
45411c:	85 c0                	test   %eax,%eax
45411e:	74 10                	je     0x454130
454120:	8a 50 5f             	mov    0x5f(%eax),%dl
454123:	8b c3                	mov    %ebx,%eax
454125:	e8 92 f7 ff ff       	call   0x4538bc
45412a:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45412e:	eb 15                	jmp    0x454145
454130:	a1 9c dc 46 00       	mov    0x46dc9c,%eax
454135:	8b 00                	mov    (%eax),%eax
454137:	8a 50 34             	mov    0x34(%eax),%dl
45413a:	8b c3                	mov    %ebx,%eax
45413c:	e8 7b f7 ff ff       	call   0x4538bc
454141:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
454145:	5b                   	pop    %ebx
454146:	c3                   	ret
454147:	90                   	nop
454148:	56                   	push   %esi
454149:	33 d2                	xor    %edx,%edx
45414b:	8b 0d 1c de 46 00    	mov    0x46de1c,%ecx
454151:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
454155:	74 36                	je     0x45418d
454157:	80 78 41 00          	cmpb   $0x0,0x41(%eax)
45415b:	74 29                	je     0x454186
45415d:	83 c0 58             	add    $0x58,%eax
454160:	e8 e7 ad ff ff       	call   0x44ef4c
454165:	85 c0                	test   %eax,%eax
454167:	74 0d                	je     0x454176
454169:	66 be c8 ff          	mov    $0xffc8,%si
45416d:	e8 d2 f2 fa ff       	call   0x403444
454172:	8b d0                	mov    %eax,%edx
454174:	eb 17                	jmp    0x45418d
454176:	a1 9c dc 46 00       	mov    0x46dc9c,%eax
45417b:	8b 00                	mov    (%eax),%eax
45417d:	e8 22 a5 00 00       	call   0x45e6a4
454182:	8b d0                	mov    %eax,%edx
454184:	eb 07                	jmp    0x45418d
454186:	80 78 30 01          	cmpb   $0x1,0x30(%eax)
45418a:	0f 94 c2             	sete   %dl
45418d:	8b c2                	mov    %edx,%eax
45418f:	5e                   	pop    %esi
454190:	c3                   	ret
454191:	8d 40 00             	lea    0x0(%eax),%eax
454194:	53                   	push   %ebx
454195:	56                   	push   %esi
454196:	57                   	push   %edi
454197:	55                   	push   %ebp
454198:	83 c4 f8             	add    $0xfffffff8,%esp
45419b:	8b f9                	mov    %ecx,%edi
45419d:	8b f2                	mov    %edx,%esi
45419f:	8b d8                	mov    %eax,%ebx
4541a1:	8b cc                	mov    %esp,%ecx
4541a3:	8b d7                	mov    %edi,%edx
4541a5:	8b c6                	mov    %esi,%eax
4541a7:	e8 74 e7 fb ff       	call   0x412920
4541ac:	8b 04 24             	mov    (%esp),%eax
4541af:	89 43 58             	mov    %eax,0x58(%ebx)
4541b2:	8b 44 24 04          	mov    0x4(%esp),%eax
4541b6:	89 43 5c             	mov    %eax,0x5c(%ebx)
4541b9:	8b c3                	mov    %ebx,%eax
4541bb:	e8 40 ff ff ff       	call   0x454100
4541c0:	8b d3                	mov    %ebx,%edx
4541c2:	8b c3                	mov    %ebx,%eax
4541c4:	8b 08                	mov    (%eax),%ecx
4541c6:	ff 51 3c             	call   *0x3c(%ecx)
4541c9:	33 d2                	xor    %edx,%edx
4541cb:	8b 43 34             	mov    0x34(%ebx),%eax
4541ce:	e8 35 e3 ff ff       	call   0x452508
4541d3:	33 d2                	xor    %edx,%edx
4541d5:	8b 43 34             	mov    0x34(%ebx),%eax
4541d8:	e8 27 e8 ff ff       	call   0x452a04
4541dd:	8b 43 34             	mov    0x34(%ebx),%eax
4541e0:	e8 c7 bb ff ff       	call   0x44fdac
4541e5:	8b c3                	mov    %ebx,%eax
4541e7:	e8 c0 f1 ff ff       	call   0x4533ac
4541ec:	8b c3                	mov    %ebx,%eax
4541ee:	e8 55 ff ff ff       	call   0x454148
4541f3:	83 e0 7f             	and    $0x7f,%eax
4541f6:	8d 04 40             	lea    (%eax,%eax,2),%eax
4541f9:	8d 04 45 7c 3d 46 00 	lea    0x463d7c(,%eax,2),%eax
454200:	33 d2                	xor    %edx,%edx
454202:	8a 53 60             	mov    0x60(%ebx),%dl
454205:	66 8b 2c 50          	mov    (%eax,%edx,2),%bp
454209:	33 c0                	xor    %eax,%eax
45420b:	8a 43 68             	mov    0x68(%ebx),%al
45420e:	66 0b 2c 45 88 3d 46 	or     0x463d88(,%eax,2),%bp
454215:	00
454216:	0f b7 ed             	movzwl %bp,%ebp
454219:	33 c0                	xor    %eax,%eax
45421b:	8a 43 69             	mov    0x69(%ebx),%al
45421e:	c1 e0 0a             	shl    $0xa,%eax
454221:	0b e8                	or     %eax,%ebp
454223:	6a 00                	push   $0x0
454225:	a1 a8 eb 46 00       	mov    0x46eba8,%eax
45422a:	8b 40 10             	mov    0x10(%eax),%eax
45422d:	50                   	push   %eax
45422e:	6a 00                	push   $0x0
454230:	57                   	push   %edi
454231:	56                   	push   %esi
454232:	55                   	push   %ebp
454233:	8b 43 34             	mov    0x34(%ebx),%eax
454236:	e8 a1 bc ff ff       	call   0x44fedc
45423b:	50                   	push   %eax
45423c:	e8 9b 26 fb ff       	call   0x4068dc
454241:	59                   	pop    %ecx
454242:	5a                   	pop    %edx
454243:	5d                   	pop    %ebp
454244:	5f                   	pop    %edi
454245:	5e                   	pop    %esi
454246:	5b                   	pop    %ebx
454247:	c3                   	ret
454248:	53                   	push   %ebx
454249:	56                   	push   %esi
45424a:	57                   	push   %edi
45424b:	55                   	push   %ebp
45424c:	8b ea                	mov    %edx,%ebp
45424e:	8b f8                	mov    %eax,%edi
454250:	8b 47 04             	mov    0x4(%edi),%eax
454253:	8b 70 08             	mov    0x8(%eax),%esi
454256:	4e                   	dec    %esi
454257:	85 f6                	test   %esi,%esi
454259:	7c 23                	jl     0x45427e
45425b:	46                   	inc    %esi
45425c:	33 db                	xor    %ebx,%ebx
45425e:	8b 47 04             	mov    0x4(%edi),%eax
454261:	8b d3                	mov    %ebx,%edx
454263:	e8 14 fb fb ff       	call   0x413d7c
454268:	3b 28                	cmp    (%eax),%ebp
45426a:	75 0e                	jne    0x45427a
45426c:	8b 47 04             	mov    0x4(%edi),%eax
45426f:	8b d3                	mov    %ebx,%edx
454271:	e8 06 fb fb ff       	call   0x413d7c
454276:	33 d2                	xor    %edx,%edx
454278:	89 10                	mov    %edx,(%eax)
45427a:	43                   	inc    %ebx
45427b:	4e                   	dec    %esi
45427c:	75 e0                	jne    0x45425e
45427e:	5d                   	pop    %ebp
45427f:	5f                   	pop    %edi
454280:	5e                   	pop    %esi
454281:	5b                   	pop    %ebx
454282:	c3                   	ret
454283:	90                   	nop
454284:	55                   	push   %ebp
454285:	8b ec                	mov    %esp,%ebp
454287:	83 c4 e8             	add    $0xffffffe8,%esp
45428a:	53                   	push   %ebx
45428b:	56                   	push   %esi
45428c:	57                   	push   %edi
45428d:	8b f1                	mov    %ecx,%esi
45428f:	8d 7d eb             	lea    -0x15(%ebp),%edi
454292:	a5                   	movsl  %ds:(%esi),%es:(%edi)
454293:	a5                   	movsl  %ds:(%esi),%es:(%edi)
454294:	a5                   	movsl  %ds:(%esi),%es:(%edi)
454295:	a5                   	movsl  %ds:(%esi),%es:(%edi)
454296:	8b fa                	mov    %edx,%edi
454298:	89 45 fc             	mov    %eax,-0x4(%ebp)
45429b:	a1 30 db 46 00       	mov    0x46db30,%eax
4542a0:	83 38 04             	cmpl   $0x4,(%eax)
4542a3:	7f 18                	jg     0x4542bd
4542a5:	a1 30 db 46 00       	mov    0x46db30,%eax
4542aa:	83 38 04             	cmpl   $0x4,(%eax)
4542ad:	75 0a                	jne    0x4542b9
4542af:	a1 ec dc 46 00       	mov    0x46dcec,%eax
4542b4:	83 38 00             	cmpl   $0x0,(%eax)
4542b7:	7f 04                	jg     0x4542bd
4542b9:	33 db                	xor    %ebx,%ebx
4542bb:	eb 02                	jmp    0x4542bf
4542bd:	b3 01                	mov    $0x1,%bl
4542bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4542c2:	66 be f2 ff          	mov    $0xfff2,%si
4542c6:	e8 79 f1 fa ff       	call   0x403444
4542cb:	8b 15 c0 e8 44 00    	mov    0x44e8c0,%edx
4542d1:	e8 fe f0 fa ff       	call   0x4033d4
4542d6:	88 45 fb             	mov    %al,-0x5(%ebp)
4542d9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4542dd:	74 2c                	je     0x45430b
4542df:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4542e3:	74 0a                	je     0x4542ef
4542e5:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4542e9:	74 20                	je     0x45430b
4542eb:	84 db                	test   %bl,%bl
4542ed:	75 1c                	jne    0x45430b
4542ef:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
4542f4:	8b 47 14             	mov    0x14(%edi),%eax
4542f7:	e8 98 97 fc ff       	call   0x41da94
4542fc:	ba 0e 00 00 ff       	mov    $0xff00000e,%edx
454301:	8b 47 0c             	mov    0xc(%edi),%eax
454304:	e8 bf 8f fc ff       	call   0x41d2c8
454309:	eb 40                	jmp    0x45434b
45430b:	84 db                	test   %bl,%bl
45430d:	74 22                	je     0x454331
45430f:	f6 45 08 80          	testb  $0x80,0x8(%ebp)
454313:	74 1c                	je     0x454331
454315:	ba 04 00 00 ff       	mov    $0xff000004,%edx
45431a:	8b 47 14             	mov    0x14(%edi),%eax
45431d:	e8 72 97 fc ff       	call   0x41da94
454322:	ba 11 00 00 ff       	mov    $0xff000011,%edx
454327:	8b 47 0c             	mov    0xc(%edi),%eax
45432a:	e8 99 8f fc ff       	call   0x41d2c8
45432f:	eb 1a                	jmp    0x45434b
454331:	ba 04 00 00 ff       	mov    $0xff000004,%edx
454336:	8b 47 14             	mov    0x14(%edi),%eax
454339:	e8 56 97 fc ff       	call   0x41da94
45433e:	ba 07 00 00 ff       	mov    $0xff000007,%edx
454343:	8b 47 0c             	mov    0xc(%edi),%eax
454346:	e8 7d 8f fc ff       	call   0x41d2c8
45434b:	66 8b 45 08          	mov    0x8(%ebp),%ax
45434f:	50                   	push   %eax
454350:	8a 45 fb             	mov    -0x5(%ebp),%al
454353:	50                   	push   %eax
454354:	8d 4d eb             	lea    -0x15(%ebp),%ecx
454357:	8b d7                	mov    %edi,%edx
454359:	8b 45 fc             	mov    -0x4(%ebp),%eax
45435c:	8b 18                	mov    (%eax),%ebx
45435e:	ff 53 30             	call   *0x30(%ebx)
454361:	5f                   	pop    %edi
454362:	5e                   	pop    %esi
454363:	5b                   	pop    %ebx
454364:	8b e5                	mov    %ebp,%esp
454366:	5d                   	pop    %ebp
454367:	c2 04 00             	ret    $0x4
45436a:	8b c0                	mov    %eax,%eax
45436c:	53                   	push   %ebx
45436d:	56                   	push   %esi
45436e:	8b f2                	mov    %edx,%esi
454370:	8b d8                	mov    %eax,%ebx
454372:	8b c6                	mov    %esi,%eax
454374:	8b d3                	mov    %ebx,%edx
454376:	e8 71 fc fa ff       	call   0x403fec
45437b:	bb 01 00 00 00       	mov    $0x1,%ebx
454380:	eb 70                	jmp    0x4543f2
454382:	8b 06                	mov    (%esi),%eax
454384:	8a 44 18 ff          	mov    -0x1(%eax,%ebx,1),%al
454388:	8b 15 00 de 46 00    	mov    0x46de00,%edx
45438e:	8b c8                	mov    %eax,%ecx
454390:	81 e1 ff 00 00 00    	and    $0xff,%ecx
454396:	0f a3 0a             	bt     %ecx,(%edx)
454399:	73 03                	jae    0x45439e
45439b:	43                   	inc    %ebx
45439c:	eb 53                	jmp    0x4543f1
45439e:	3c 26                	cmp    $0x26,%al
4543a0:	75 4f                	jne    0x4543f1
4543a2:	a1 1c de 46 00       	mov    0x46de1c,%eax
4543a7:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4543ab:	74 36                	je     0x4543e3
4543ad:	83 fb 01             	cmp    $0x1,%ebx
4543b0:	7e 31                	jle    0x4543e3
4543b2:	8b 06                	mov    (%esi),%eax
4543b4:	e8 9f fe fa ff       	call   0x404258
4543b9:	2b c3                	sub    %ebx,%eax
4543bb:	83 f8 02             	cmp    $0x2,%eax
4543be:	7c 23                	jl     0x4543e3
4543c0:	8b 06                	mov    (%esi),%eax
4543c2:	80 7c 18 fe 28       	cmpb   $0x28,-0x2(%eax,%ebx,1)
4543c7:	75 1a                	jne    0x4543e3
4543c9:	8b 06                	mov    (%esi),%eax
4543cb:	80 7c 18 01 29       	cmpb   $0x29,0x1(%eax,%ebx,1)
4543d0:	75 11                	jne    0x4543e3
4543d2:	8b d3                	mov    %ebx,%edx
4543d4:	4a                   	dec    %edx
4543d5:	8b c6                	mov    %esi,%eax
4543d7:	b9 04 00 00 00       	mov    $0x4,%ecx
4543dc:	e8 17 01 fb ff       	call   0x4044f8
4543e1:	eb 0e                	jmp    0x4543f1
4543e3:	8b c6                	mov    %esi,%eax
4543e5:	b9 01 00 00 00       	mov    $0x1,%ecx
4543ea:	8b d3                	mov    %ebx,%edx
4543ec:	e8 07 01 fb ff       	call   0x4044f8
4543f1:	43                   	inc    %ebx
4543f2:	8b 06                	mov    (%esi),%eax
4543f4:	e8 5f fe fa ff       	call   0x404258
4543f9:	3b d8                	cmp    %eax,%ebx
4543fb:	7e 85                	jle    0x454382
4543fd:	5e                   	pop    %esi
4543fe:	5b                   	pop    %ebx
4543ff:	c3                   	ret
454400:	53                   	push   %ebx
454401:	56                   	push   %esi
454402:	57                   	push   %edi
454403:	55                   	push   %ebp
454404:	8b ea                	mov    %edx,%ebp
454406:	8b f0                	mov    %eax,%esi
454408:	8b c5                	mov    %ebp,%eax
45440a:	e8 89 fb fa ff       	call   0x403f98
45440f:	bb 01 00 00 00       	mov    $0x1,%ebx
454414:	8b c6                	mov    %esi,%eax
454416:	e8 3d fe fa ff       	call   0x404258
45441b:	8b f8                	mov    %eax,%edi
45441d:	3b fb                	cmp    %ebx,%edi
45441f:	7c 3d                	jl     0x45445e
454421:	a1 00 de 46 00       	mov    0x46de00,%eax
454426:	8a 54 1e ff          	mov    -0x1(%esi,%ebx,1),%dl
45442a:	81 e2 ff 00 00 00    	and    $0xff,%edx