45408d:	74 4c                	je     0x4540db
45408f:	6a 00                	push   $0x0
454091:	57                   	push   %edi
454092:	e8 61 2f fb ff       	call   0x406ff8
454097:	8b e8                	mov    %eax,%ebp
454099:	e8 ea 28 fb ff       	call   0x406988
45409e:	3b e8                	cmp    %eax,%ebp
4540a0:	75 39                	jne    0x4540db
4540a2:	0f b7 04 24          	movzwl (%esp),%eax
4540a6:	66 89 44 24 08       	mov    %ax,0x8(%esp)
4540ab:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
4540b0:	66 89 44 24 0a       	mov    %ax,0xa(%esp)
4540b5:	8b 44 24 08          	mov    0x8(%esp),%eax
4540b9:	50                   	push   %eax
4540ba:	6a 00                	push   $0x0
4540bc:	68 84 00 00 00       	push   $0x84
4540c1:	57                   	push   %edi
4540c2:	e8 89 30 fb ff       	call   0x407150
4540c7:	0f b7 c0             	movzwl %ax,%eax
4540ca:	0d 00 00 00 02       	or     $0x2000000,%eax
4540cf:	50                   	push   %eax
4540d0:	57                   	push   %edi
4540d1:	6a 20                	push   $0x20
4540d3:	57                   	push   %edi
4540d4:	e8 77 30 fb ff       	call   0x407150
4540d9:	eb 13                	jmp    0x4540ee
4540db:	0f bf d6             	movswl %si,%edx
4540de:	8b c3                	mov    %ebx,%eax
4540e0:	e8 4f ff ff ff       	call   0x454034
4540e5:	50                   	push   %eax
4540e6:	e8 95 30 fb ff       	call   0x407180
4540eb:	ff 43 48             	incl   0x48(%ebx)
4540ee:	83 c4 0c             	add    $0xc,%esp
4540f1:	5d                   	pop    %ebp
4540f2:	5f                   	pop    %edi
4540f3:	5e                   	pop    %esi
4540f4:	5b                   	pop    %ebx
4540f5:	c3                   	ret
4540f6:	8b c0                	mov    %eax,%eax
4540f8:	55                   	push   %ebp
4540f9:	8b ec                	mov    %esp,%ebp
4540fb:	81 c4 6c fe ff ff    	add    $0xfffffe6c,%esp
454101:	53                   	push   %ebx
454102:	8b d8                	mov    %eax,%ebx
454104:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
454108:	83 3d 80 15 47 00 00 	cmpl   $0x0,0x471580
45410f:	74 0f                	je     0x454120
454111:	a1 80 15 47 00       	mov    0x471580,%eax
454116:	0f b6 80 88 00 00 00 	movzbl 0x88(%eax),%eax
45411d:	88 45 ff             	mov    %al,-0x1(%ebp)
454120:	33 c0                	xor    %eax,%eax
454122:	55                   	push   %ebp
454123:	68 3f 42 45 00       	push   $0x45423f
454128:	64 ff 30             	push   %fs:(%eax)
45412b:	64 89 20             	mov    %esp,%fs:(%eax)
45412e:	83 3d 80 15 47 00 00 	cmpl   $0x0,0x471580
454135:	74 0c                	je     0x454143
454137:	33 d2                	xor    %edx,%edx
454139:	a1 80 15 47 00       	mov    0x471580,%eax
45413e:	e8 75 2a 00 00       	call   0x456bb8
454143:	6a 00                	push   $0x0
454145:	8d 45 c3             	lea    -0x3d(%ebp),%eax
454148:	50                   	push   %eax
454149:	6a 3c                	push   $0x3c
45414b:	6a 1f                	push   $0x1f
45414d:	e8 ce 30 fb ff       	call   0x407220
454152:	85 c0                	test   %eax,%eax
454154:	74 18                	je     0x45416e
454156:	8d 45 c3             	lea    -0x3d(%ebp),%eax
454159:	50                   	push   %eax
45415a:	e8 f9 29 fb ff       	call   0x406b58
45415f:	8b d0                	mov    %eax,%edx
454161:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
454167:	e8 6c f0 fc ff       	call   0x4231d8
45416c:	eb 14                	jmp    0x454182
45416e:	6a 0d                	push   $0xd
454170:	e8 ab 2a fb ff       	call   0x406c20
454175:	8b d0                	mov    %eax,%edx
454177:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
45417d:	e8 56 f0 fc ff       	call   0x4231d8
454182:	c7 85 6f fe ff ff 54 	movl   $0x154,-0x191(%ebp)
454189:	01 00 00
45418c:	6a 00                	push   $0x0
45418e:	8d 85 6f fe ff ff    	lea    -0x191(%ebp),%eax
454194:	50                   	push   %eax
454195:	6a 00                	push   $0x0
454197:	6a 29                	push   $0x29
454199:	e8 82 30 fb ff       	call   0x407220
45419e:	85 c0                	test   %eax,%eax
4541a0:	74 34                	je     0x4541d6
4541a2:	8d 85 4b ff ff ff    	lea    -0xb5(%ebp),%eax
4541a8:	50                   	push   %eax
4541a9:	e8 aa 29 fb ff       	call   0x406b58
4541ae:	8b d0                	mov    %eax,%edx
4541b0:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
4541b6:	e8 1d f0 fc ff       	call   0x4231d8
4541bb:	8d 85 0f ff ff ff    	lea    -0xf1(%ebp),%eax
4541c1:	50                   	push   %eax
4541c2:	e8 91 29 fb ff       	call   0x406b58
4541c7:	8b d0                	mov    %eax,%edx
4541c9:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
4541cf:	e8 04 f0 fc ff       	call   0x4231d8
4541d4:	eb 24                	jmp    0x4541fa
4541d6:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
4541dc:	ba 08 00 00 00       	mov    $0x8,%edx
4541e1:	e8 d6 f0 fc ff       	call   0x4232bc
4541e6:	6a 0d                	push   $0xd
4541e8:	e8 33 2a fb ff       	call   0x406c20
4541ed:	8b d0                	mov    %eax,%edx
4541ef:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
4541f5:	e8 de ef fc ff       	call   0x4231d8
4541fa:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
454200:	ba 17 00 00 ff       	mov    $0xff000017,%edx
454205:	e8 52 ed fc ff       	call   0x422f5c
45420a:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
454210:	ba 07 00 00 ff       	mov    $0xff000007,%edx
454215:	e8 42 ed fc ff       	call   0x422f5c
45421a:	33 c0                	xor    %eax,%eax
45421c:	5a                   	pop    %edx
45421d:	59                   	pop    %ecx
45421e:	59                   	pop    %ecx
45421f:	64 89 10             	mov    %edx,%fs:(%eax)
454222:	68 46 42 45 00       	push   $0x454246
454227:	83 3d 80 15 47 00 00 	cmpl   $0x0,0x471580
45422e:	74 0e                	je     0x45423e
454230:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
454234:	a1 80 15 47 00       	mov    0x471580,%eax
454239:	e8 7a 29 00 00       	call   0x456bb8
45423e:	c3                   	ret
45423f:	e9 44 fe fa ff       	jmp    0x404088
454244:	eb e1                	jmp    0x454227
454246:	5b                   	pop    %ebx
454247:	8b e5                	mov    %ebp,%esp
454249:	5d                   	pop    %ebp
45424a:	c3                   	ret
45424b:	90                   	nop
45424c:	66 ff 80 8c 00 00 00 	incw   0x8c(%eax)
454253:	c3                   	ret
454254:	66 ff 88 8c 00 00 00 	decw   0x8c(%eax)
45425b:	66 83 b8 8c 00 00 00 	cmpw   $0x0,0x8c(%eax)
454262:	00
454263:	75 0e                	jne    0x454273
454265:	f6 80 8e 00 00 00 10 	testb  $0x10,0x8e(%eax)
45426c:	74 05                	je     0x454273
45426e:	e8 01 00 00 00       	call   0x454274
454273:	c3                   	ret
454274:	33 d2                	xor    %edx,%edx
454276:	e8 75 04 00 00       	call   0x4546f0
45427b:	c3                   	ret
45427c:	53                   	push   %ebx
45427d:	56                   	push   %esi
45427e:	57                   	push   %edi
45427f:	8b fa                	mov    %edx,%edi
454281:	8b f0                	mov    %eax,%esi
454283:	33 c0                	xor    %eax,%eax
454285:	fe c9                	dec    %cl
454287:	74 0e                	je     0x454297
454289:	fe c9                	dec    %cl
45428b:	74 21                	je     0x4542ae
45428d:	fe c9                	dec    %cl
45428f:	74 3a                	je     0x4542cb
454291:	fe c9                	dec    %cl
454293:	74 4d                	je     0x4542e2
454295:	eb 66                	jmp    0x4542fd
454297:	8b c6                	mov    %esi,%eax
454299:	e8 22 a0 ff ff       	call   0x44e2c0
45429e:	8b d8                	mov    %eax,%ebx
4542a0:	8b c7                	mov    %edi,%eax
4542a2:	e8 19 a0 ff ff       	call   0x44e2c0
4542a7:	3b d8                	cmp    %eax,%ebx
4542a9:	0f 9c c0             	setl   %al
4542ac:	eb 4f                	jmp    0x4542fd
4542ae:	8b c7                	mov    %edi,%eax
4542b0:	e8 0b a0 ff ff       	call   0x44e2c0
4542b5:	8b d8                	mov    %eax,%ebx
4542b7:	03 5f 4c             	add    0x4c(%edi),%ebx
4542ba:	8b c6                	mov    %esi,%eax
4542bc:	e8 ff 9f ff ff       	call   0x44e2c0
4542c1:	03 46 4c             	add    0x4c(%esi),%eax
4542c4:	3b d8                	cmp    %eax,%ebx
4542c6:	0f 9c c0             	setl   %al
4542c9:	eb 32                	jmp    0x4542fd
4542cb:	8b c6                	mov    %esi,%eax
4542cd:	e8 ce 9f ff ff       	call   0x44e2a0
4542d2:	8b d8                	mov    %eax,%ebx
4542d4:	8b c7                	mov    %edi,%eax
4542d6:	e8 c5 9f ff ff       	call   0x44e2a0
4542db:	3b d8                	cmp    %eax,%ebx
4542dd:	0f 9c c0             	setl   %al
4542e0:	eb 1b                	jmp    0x4542fd
4542e2:	8b c7                	mov    %edi,%eax
4542e4:	e8 b7 9f ff ff       	call   0x44e2a0
4542e9:	8b d8                	mov    %eax,%ebx
4542eb:	03 5f 48             	add    0x48(%edi),%ebx
4542ee:	8b c6                	mov    %esi,%eax
4542f0:	e8 ab 9f ff ff       	call   0x44e2a0
4542f5:	03 46 48             	add    0x48(%esi),%eax
4542f8:	3b d8                	cmp    %eax,%ebx
4542fa:	0f 9c c0             	setl   %al
4542fd:	5f                   	pop    %edi
4542fe:	5e                   	pop    %esi
4542ff:	5b                   	pop    %ebx
454300:	c3                   	ret
454301:	8d 40 00             	lea    0x0(%eax),%eax
454304:	55                   	push   %ebp
454305:	8b ec                	mov    %esp,%ebp
454307:	83 c4 f0             	add    $0xfffffff0,%esp
45430a:	53                   	push   %ebx
45430b:	56                   	push   %esi
45430c:	57                   	push   %edi
45430d:	88 55 ff             	mov    %dl,-0x1(%ebp)
454310:	8b d8                	mov    %eax,%ebx
454312:	8b 45 08             	mov    0x8(%ebp),%eax
454315:	8b 70 fc             	mov    -0x4(%eax),%esi
454318:	8b 76 08             	mov    0x8(%esi),%esi
45431b:	8b 45 08             	mov    0x8(%ebp),%eax
45431e:	8b 40 fc             	mov    -0x4(%eax),%eax
454321:	2b 30                	sub    (%eax),%esi
454323:	85 f6                	test   %esi,%esi
454325:	7c 0a                	jl     0x454331
454327:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
45432b:	04 fd                	add    $0xfd,%al
45432d:	2c 02                	sub    $0x2,%al
45432f:	73 03                	jae    0x454334
454331:	8b 73 48             	mov    0x48(%ebx),%esi
454334:	8b 45 08             	mov    0x8(%ebp),%eax
454337:	8b 40 fc             	mov    -0x4(%eax),%eax
45433a:	8b 40 0c             	mov    0xc(%eax),%eax
45433d:	8b 55 08             	mov    0x8(%ebp),%edx
454340:	8b 52 fc             	mov    -0x4(%edx),%edx
454343:	2b 42 04             	sub    0x4(%edx),%eax
454346:	89 45 f0             	mov    %eax,-0x10(%ebp)
454349:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45434d:	7c 09                	jl     0x454358
45434f:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
454353:	48                   	dec    %eax
454354:	2c 02                	sub    $0x2,%al
454356:	73 06                	jae    0x45435e
454358:	8b 43 4c             	mov    0x4c(%ebx),%eax
45435b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45435e:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
454362:	75 2c                	jne    0x454390
454364:	80 bb 73 02 00 00 02 	cmpb   $0x2,0x273(%ebx)
45436b:	75 23                	jne    0x454390
45436d:	8b c3                	mov    %ebx,%eax
45436f:	e8 2c 9f ff ff       	call   0x44e2a0
454374:	89 45 f8             	mov    %eax,-0x8(%ebp)
454377:	8b c3                	mov    %ebx,%eax
454379:	e8 42 9f ff ff       	call   0x44e2c0
45437e:	89 45 f4             	mov    %eax,-0xc(%ebp)
454381:	6a 3d                	push   $0x3d
454383:	a1 10 d5 46 00       	mov    0x46d510,%eax
454388:	8b 00                	mov    (%eax),%eax
45438a:	ff d0                	call   *%eax
45438c:	8b f0                	mov    %eax,%esi
45438e:	eb 17                	jmp    0x4543a7
454390:	8b 45 08             	mov    0x8(%ebp),%eax
454393:	8b 40 fc             	mov    -0x4(%eax),%eax
454396:	8b 00                	mov    (%eax),%eax
454398:	89 45 f8             	mov    %eax,-0x8(%ebp)
45439b:	8b 45 08             	mov    0x8(%ebp),%eax
45439e:	8b 40 fc             	mov    -0x4(%eax),%eax
4543a1:	8b 40 04             	mov    0x4(%eax),%eax
4543a4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4543a7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
4543ab:	fe c8                	dec    %al
4543ad:	74 0e                	je     0x4543bd
4543af:	fe c8                	dec    %al
4543b1:	74 18                	je     0x4543cb
4543b3:	fe c8                	dec    %al
4543b5:	74 2e                	je     0x4543e5
4543b7:	fe c8                	dec    %al
4543b9:	74 34                	je     0x4543ef
4543bb:	eb 47                	jmp    0x454404
4543bd:	8b 45 08             	mov    0x8(%ebp),%eax
4543c0:	8b 40 fc             	mov    -0x4(%eax),%eax
4543c3:	8b 55 f0             	mov    -0x10(%ebp),%edx
4543c6:	01 50 04             	add    %edx,0x4(%eax)
4543c9:	eb 39                	jmp    0x454404
4543cb:	8b 45 08             	mov    0x8(%ebp),%eax
4543ce:	8b 40 fc             	mov    -0x4(%eax),%eax
4543d1:	8b 55 f0             	mov    -0x10(%ebp),%edx
4543d4:	29 50 0c             	sub    %edx,0xc(%eax)
4543d7:	8b 45 08             	mov    0x8(%ebp),%eax
4543da:	8b 40 fc             	mov    -0x4(%eax),%eax
4543dd:	8b 40 0c             	mov    0xc(%eax),%eax
4543e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4543e3:	eb 1f                	jmp    0x454404
4543e5:	8b 45 08             	mov    0x8(%ebp),%eax
4543e8:	8b 40 fc             	mov    -0x4(%eax),%eax
4543eb:	01 30                	add    %esi,(%eax)
4543ed:	eb 15                	jmp    0x454404
4543ef:	8b 45 08             	mov    0x8(%ebp),%eax
4543f2:	8b 40 fc             	mov    -0x4(%eax),%eax
4543f5:	29 70 08             	sub    %esi,0x8(%eax)
4543f8:	8b 45 08             	mov    0x8(%ebp),%eax
4543fb:	8b 40 fc             	mov    -0x4(%eax),%eax
4543fe:	8b 40 08             	mov    0x8(%eax),%eax
454401:	89 45 f8             	mov    %eax,-0x8(%ebp)
454404:	56                   	push   %esi
454405:	8b 45 f0             	mov    -0x10(%ebp),%eax
454408:	50                   	push   %eax
454409:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45440c:	8b 55 f8             	mov    -0x8(%ebp),%edx
45440f:	8b c3                	mov    %ebx,%eax
454411:	8b 38                	mov    (%eax),%edi
454413:	ff 97 88 00 00 00    	call   *0x88(%edi)
454419:	80 bb 73 02 00 00 02 	cmpb   $0x2,0x273(%ebx)
454420:	75 09                	jne    0x45442b
454422:	2b 75 f8             	sub    -0x8(%ebp),%esi
454425:	8b 45 f4             	mov    -0xc(%ebp),%eax
454428:	29 45 f0             	sub    %eax,-0x10(%ebp)
45442b:	8b 43 48             	mov    0x48(%ebx),%eax
45442e:	3b f0                	cmp    %eax,%esi
454430:	75 08                	jne    0x45443a
454432:	8b 53 4c             	mov    0x4c(%ebx),%edx
454435:	3b 55 f0             	cmp    -0x10(%ebp),%edx
454438:	74 7d                	je     0x4544b7
45443a:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
45443e:	83 fa 05             	cmp    $0x5,%edx
454441:	77 74                	ja     0x4544b7
454443:	ff 24 95 4a 44 45 00 	jmp    *0x45444a(,%edx,4)
45444a:	b7 44                	mov    $0x44,%bh
45444c:	45                   	inc    %ebp
45444d:	00 62 44             	add    %ah,0x44(%edx)
454450:	45                   	inc    %ebp
454451:	00 73 44             	add    %dh,0x44(%ebx)
454454:	45                   	inc    %ebp
454455:	00 84 44 45 00 90 44 	add    %al,0x44900045(%esp,%eax,2)
45445c:	45                   	inc    %ebp
45445d:	00 9d 44 45 00 8b    	add    %bl,-0x74ffbabc(%ebp)
454463:	45                   	inc    %ebp
454464:	f0 2b 43 4c          	lock sub 0x4c(%ebx),%eax
454468:	8b 55 08             	mov    0x8(%ebp),%edx
45446b:	8b 52 fc             	mov    -0x4(%edx),%edx
45446e:	29 42 04             	sub    %eax,0x4(%edx)
454471:	eb 44                	jmp    0x4544b7
454473:	8b 45 f0             	mov    -0x10(%ebp),%eax
454476:	2b 43 4c             	sub    0x4c(%ebx),%eax
454479:	8b 55 08             	mov    0x8(%ebp),%edx
45447c:	8b 52 fc             	mov    -0x4(%edx),%edx
45447f:	01 42 0c             	add    %eax,0xc(%edx)
454482:	eb 33                	jmp    0x4544b7
454484:	2b f0                	sub    %eax,%esi
454486:	8b 45 08             	mov    0x8(%ebp),%eax
454489:	8b 40 fc             	mov    -0x4(%eax),%eax
45448c:	29 30                	sub    %esi,(%eax)
45448e:	eb 27                	jmp    0x4544b7
454490:	2b f0                	sub    %eax,%esi
454492:	8b 45 08             	mov    0x8(%ebp),%eax