45a1c8:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
45a1cc:	75 19                	jne    0x45a1e7
45a1ce:	8b c6                	mov    %esi,%eax
45a1d0:	8b 15 74 5e 45 00    	mov    0x455e74,%edx
45a1d6:	e8 71 92 fa ff       	call   0x40344c
45a1db:	84 c0                	test   %al,%al
45a1dd:	74 08                	je     0x45a1e7
45a1df:	8b 46 34             	mov    0x34(%esi),%eax
45a1e2:	e8 59 ef ff ff       	call   0x459140
45a1e7:	8b c3                	mov    %ebx,%eax
45a1e9:	5f                   	pop    %edi
45a1ea:	5e                   	pop    %esi
45a1eb:	5b                   	pop    %ebx
45a1ec:	c3                   	ret
45a1ed:	8d 40 00             	lea    0x0(%eax),%eax
45a1f0:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
45a1f4:	75 09                	jne    0x45a1ff
45a1f6:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
45a1fa:	75 03                	jne    0x45a1ff
45a1fc:	33 c0                	xor    %eax,%eax
45a1fe:	c3                   	ret
45a1ff:	b0 01                	mov    $0x1,%al
45a201:	c3                   	ret
45a202:	8b c0                	mov    %eax,%eax
45a204:	eb 04                	jmp    0x45a20a
45a206:	8b 40 64             	mov    0x64(%eax),%eax
45a209:	4a                   	dec    %edx
45a20a:	85 d2                	test   %edx,%edx
45a20c:	7e 04                	jle    0x45a212
45a20e:	85 c0                	test   %eax,%eax
45a210:	75 f4                	jne    0x45a206
45a212:	c3                   	ret
45a213:	90                   	nop
45a214:	55                   	push   %ebp
45a215:	8b ec                	mov    %esp,%ebp
45a217:	83 c4 f8             	add    $0xfffffff8,%esp
45a21a:	53                   	push   %ebx
45a21b:	56                   	push   %esi
45a21c:	57                   	push   %edi
45a21d:	8b f2                	mov    %edx,%esi
45a21f:	8b d8                	mov    %eax,%ebx
45a221:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a225:	8b 03                	mov    (%ebx),%eax
45a227:	8b 40 64             	mov    0x64(%eax),%eax
45a22a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a22d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45a231:	74 13                	je     0x45a246
45a233:	8b 45 08             	mov    0x8(%ebp),%eax
45a236:	50                   	push   %eax
45a237:	8d 56 01             	lea    0x1(%esi),%edx
45a23a:	8d 45 f8             	lea    -0x8(%ebp),%eax
45a23d:	e8 d2 ff ff ff       	call   0x45a214
45a242:	59                   	pop    %ecx
45a243:	88 45 ff             	mov    %al,-0x1(%ebp)
45a246:	8a 45 ff             	mov    -0x1(%ebp),%al
45a249:	84 c0                	test   %al,%al
45a24b:	0f 84 0a 01 00 00    	je     0x45a35b
45a251:	2c 03                	sub    $0x3,%al
45a253:	0f 84 02 01 00 00    	je     0x45a35b
45a259:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
45a25d:	75 76                	jne    0x45a2d5
45a25f:	8b 45 08             	mov    0x8(%ebp),%eax
45a262:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a266:	74 13                	je     0x45a27b
45a268:	8b 45 08             	mov    0x8(%ebp),%eax
45a26b:	8b 40 fc             	mov    -0x4(%eax),%eax
45a26e:	66 8b 40 60          	mov    0x60(%eax),%ax
45a272:	8b 55 08             	mov    0x8(%ebp),%edx
45a275:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45a279:	74 2c                	je     0x45a2a7
45a27b:	8b 45 08             	mov    0x8(%ebp),%eax
45a27e:	0f b7 50 fa          	movzwl -0x6(%eax),%edx
45a282:	8b 45 08             	mov    0x8(%ebp),%eax
45a285:	8b 40 f4             	mov    -0xc(%eax),%eax
45a288:	b1 02                	mov    $0x2,%cl
45a28a:	e8 dd fd ff ff       	call   0x45a06c
45a28f:	8b 55 08             	mov    0x8(%ebp),%edx
45a292:	89 42 fc             	mov    %eax,-0x4(%edx)
45a295:	8b 45 08             	mov    0x8(%ebp),%eax
45a298:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a29c:	75 09                	jne    0x45a2a7
45a29e:	c6 45 ff 03          	movb   $0x3,-0x1(%ebp)
45a2a2:	e9 b4 00 00 00       	jmp    0x45a35b
45a2a7:	8b 45 08             	mov    0x8(%ebp),%eax
45a2aa:	8b 40 fc             	mov    -0x4(%eax),%eax
45a2ad:	8b d6                	mov    %esi,%edx
45a2af:	e8 50 ff ff ff       	call   0x45a204
45a2b4:	89 03                	mov    %eax,(%ebx)
45a2b6:	83 3b 00             	cmpl   $0x0,(%ebx)
45a2b9:	0f 84 9c 00 00 00    	je     0x45a35b
45a2bf:	8b 03                	mov    (%ebx),%eax
45a2c1:	8b 40 64             	mov    0x64(%eax),%eax
45a2c4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
45a2c7:	0f 85 8e 00 00 00    	jne    0x45a35b
45a2cd:	85 f6                	test   %esi,%esi
45a2cf:	75 04                	jne    0x45a2d5
45a2d1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a2d5:	8b 03                	mov    (%ebx),%eax
45a2d7:	80 78 39 00          	cmpb   $0x0,0x39(%eax)
45a2db:	74 7a                	je     0x45a357
45a2dd:	33 c0                	xor    %eax,%eax
45a2df:	55                   	push   %ebp
45a2e0:	68 39 a3 45 00       	push   $0x45a339
45a2e5:	64 ff 30             	push   %fs:(%eax)
45a2e8:	64 89 20             	mov    %esp,%fs:(%eax)
45a2eb:	8b 45 08             	mov    0x8(%ebp),%eax
45a2ee:	8b 40 f4             	mov    -0xc(%eax),%eax
45a2f1:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45a2f5:	75 07                	jne    0x45a2fe
45a2f7:	8b 03                	mov    (%ebx),%eax
45a2f9:	e8 42 ee ff ff       	call   0x459140
45a2fe:	8b 03                	mov    (%ebx),%eax
45a300:	8b 10                	mov    (%eax),%edx
45a302:	ff 52 44             	call   *0x44(%edx)
45a305:	8b 45 08             	mov    0x8(%ebp),%eax
45a308:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a30c:	74 1d                	je     0x45a32b
45a30e:	8b 03                	mov    (%ebx),%eax
45a310:	8b 55 08             	mov    0x8(%ebp),%edx
45a313:	3b 42 fc             	cmp    -0x4(%edx),%eax
45a316:	74 17                	je     0x45a32f
45a318:	8b 45 08             	mov    0x8(%ebp),%eax
45a31b:	8b 40 fc             	mov    -0x4(%eax),%eax
45a31e:	66 8b 40 60          	mov    0x60(%eax),%ax
45a322:	8b 55 08             	mov    0x8(%ebp),%edx
45a325:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45a329:	74 04                	je     0x45a32f
45a32b:	c6 45 ff 02          	movb   $0x2,-0x1(%ebp)
45a32f:	33 c0                	xor    %eax,%eax
45a331:	5a                   	pop    %edx
45a332:	59                   	pop    %ecx
45a333:	59                   	pop    %ecx
45a334:	64 89 10             	mov    %edx,%fs:(%eax)
45a337:	eb 22                	jmp    0x45a35b
45a339:	e9 62 94 fa ff       	jmp    0x4037a0
45a33e:	8b 45 08             	mov    0x8(%ebp),%eax
45a341:	8b 50 f4             	mov    -0xc(%eax),%edx
45a344:	a1 74 47 47 00       	mov    0x474774,%eax
45a349:	8b 00                	mov    (%eax),%eax
45a34b:	e8 d8 c5 00 00       	call   0x466928
45a350:	e8 b3 97 fa ff       	call   0x403b08
45a355:	eb 04                	jmp    0x45a35b
45a357:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
45a35b:	8a 45 ff             	mov    -0x1(%ebp),%al
45a35e:	5f                   	pop    %edi
45a35f:	5e                   	pop    %esi
45a360:	5b                   	pop    %ebx
45a361:	59                   	pop    %ecx
45a362:	59                   	pop    %ecx
45a363:	5d                   	pop    %ebp
45a364:	c3                   	ret
45a365:	8d 40 00             	lea    0x0(%eax),%eax
45a368:	55                   	push   %ebp
45a369:	8b ec                	mov    %esp,%ebp
45a36b:	83 c4 ec             	add    $0xffffffec,%esp
45a36e:	53                   	push   %ebx
45a36f:	8b da                	mov    %edx,%ebx
45a371:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a374:	33 c0                	xor    %eax,%eax
45a376:	33 d2                	xor    %edx,%edx
45a378:	8a 53 04             	mov    0x4(%ebx),%dl
45a37b:	66 89 55 fa          	mov    %dx,-0x6(%ebp)
45a37f:	66 83 7d fa 00       	cmpw   $0x0,-0x6(%ebp)
45a384:	0f 84 f5 00 00 00    	je     0x45a47f
45a38a:	6a 10                	push   $0x10
45a38c:	e8 fb c4 fa ff       	call   0x40688c
45a391:	66 85 c0             	test   %ax,%ax
45a394:	7d 06                	jge    0x45a39c
45a396:	66 81 45 fa 00 20    	addw   $0x2000,-0x6(%ebp)
45a39c:	6a 11                	push   $0x11
45a39e:	e8 e9 c4 fa ff       	call   0x40688c
45a3a3:	66 85 c0             	test   %ax,%ax
45a3a6:	7d 06                	jge    0x45a3ae
45a3a8:	66 81 45 fa 00 40    	addw   $0x4000,-0x6(%ebp)
45a3ae:	f6 43 0b 20          	testb  $0x20,0xb(%ebx)
45a3b2:	74 06                	je     0x45a3ba
45a3b4:	66 81 45 fa 00 80    	addw   $0x8000,-0x6(%ebp)
45a3ba:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a3bd:	8b 40 34             	mov    0x34(%eax),%eax
45a3c0:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a3c3:	8d 55 ec             	lea    -0x14(%ebp),%edx
45a3c6:	a1 ac 5b 47 00       	mov    0x475bac,%eax
45a3cb:	e8 c4 10 fd ff       	call   0x42b494
45a3d0:	33 c0                	xor    %eax,%eax
45a3d2:	55                   	push   %ebp
45a3d3:	68 66 a4 45 00       	push   $0x45a466
45a3d8:	64 ff 30             	push   %fs:(%eax)
45a3db:	64 89 20             	mov    %esp,%fs:(%eax)
45a3de:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
45a3e2:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
45a3e6:	b1 02                	mov    $0x2,%cl
45a3e8:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a3eb:	e8 7c fc ff ff       	call   0x45a06c
45a3f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
45a3f3:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a3f7:	74 49                	je     0x45a442
45a3f9:	8d 55 fc             	lea    -0x4(%ebp),%edx
45a3fc:	a1 ac 5b 47 00       	mov    0x475bac,%eax
45a401:	e8 8e 10 fd ff       	call   0x42b494
45a406:	33 c0                	xor    %eax,%eax
45a408:	55                   	push   %ebp
45a409:	68 3b a4 45 00       	push   $0x45a43b
45a40e:	64 ff 30             	push   %fs:(%eax)
45a411:	64 89 20             	mov    %esp,%fs:(%eax)
45a414:	55                   	push   %ebp
45a415:	8d 45 fc             	lea    -0x4(%ebp),%eax
45a418:	33 d2                	xor    %edx,%edx
45a41a:	e8 f5 fd ff ff       	call   0x45a214
45a41f:	59                   	pop    %ecx
45a420:	88 45 f3             	mov    %al,-0xd(%ebp)
45a423:	33 c0                	xor    %eax,%eax
45a425:	5a                   	pop    %edx
45a426:	59                   	pop    %ecx
45a427:	59                   	pop    %ecx
45a428:	64 89 10             	mov    %edx,%fs:(%eax)
45a42b:	68 42 a4 45 00       	push   $0x45a442
45a430:	a1 ac 5b 47 00       	mov    0x475bac,%eax
45a435:	e8 52 10 fd ff       	call   0x42b48c
45a43a:	c3                   	ret
45a43b:	e9 14 96 fa ff       	jmp    0x403a54
45a440:	eb ee                	jmp    0x45a430
45a442:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45a446:	74 06                	je     0x45a44e
45a448:	80 7d f3 02          	cmpb   $0x2,-0xd(%ebp)
45a44c:	74 90                	je     0x45a3de
45a44e:	33 c0                	xor    %eax,%eax
45a450:	5a                   	pop    %edx
45a451:	59                   	pop    %ecx
45a452:	59                   	pop    %ecx
45a453:	64 89 10             	mov    %edx,%fs:(%eax)
45a456:	68 6d a4 45 00       	push   $0x45a46d
45a45b:	a1 ac 5b 47 00       	mov    0x475bac,%eax
45a460:	e8 27 10 fd ff       	call   0x42b48c
45a465:	c3                   	ret
45a466:	e9 e9 95 fa ff       	jmp    0x403a54
45a46b:	eb ee                	jmp    0x45a45b
45a46d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a471:	75 0a                	jne    0x45a47d
45a473:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45a477:	74 04                	je     0x45a47d
45a479:	33 c0                	xor    %eax,%eax
45a47b:	eb 02                	jmp    0x45a47f
45a47d:	b0 01                	mov    $0x1,%al
45a47f:	5b                   	pop    %ebx
45a480:	8b e5                	mov    %ebp,%esp
45a482:	5d                   	pop    %ebp
45a483:	c3                   	ret
45a484:	8a 40 41             	mov    0x41(%eax),%al
45a487:	34 01                	xor    $0x1,%al
45a489:	c3                   	ret
45a48a:	8b c0                	mov    %eax,%eax
45a48c:	53                   	push   %ebx
45a48d:	56                   	push   %esi
45a48e:	83 c4 80             	add    $0xffffff80,%esp
45a491:	8b d8                	mov    %eax,%ebx
45a493:	a1 0c 49 47 00       	mov    0x47490c,%eax
45a498:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
45a49c:	0f 84 9c 00 00 00    	je     0x45a53e
45a4a2:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
45a4a6:	0f 84 92 00 00 00    	je     0x45a53e
45a4ac:	8b c3                	mov    %ebx,%eax
45a4ae:	8b 10                	mov    (%eax),%edx
45a4b0:	ff 52 34             	call   *0x34(%edx)
45a4b3:	8b f0                	mov    %eax,%esi
45a4b5:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
45a4bc:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
45a4c3:	00
45a4c4:	8d 44 24 30          	lea    0x30(%esp),%eax
45a4c8:	89 44 24 24          	mov    %eax,0x24(%esp)
45a4cc:	c7 44 24 28 50 00 00 	movl   $0x50,0x28(%esp)
45a4d3:	00
45a4d4:	54                   	push   %esp
45a4d5:	6a ff                	push   $0xffffffff
45a4d7:	6a 00                	push   $0x0
45a4d9:	56                   	push   %esi
45a4da:	e8 ed c3 fa ff       	call   0x4068cc
45a4df:	85 c0                	test   %eax,%eax
45a4e1:	74 5b                	je     0x45a53e
45a4e3:	8b c3                	mov    %ebx,%eax
45a4e5:	e8 26 03 00 00       	call   0x45a810
45a4ea:	8b 54 24 08          	mov    0x8(%esp),%edx
45a4ee:	81 e2 00 60 00 00    	and    $0x6000,%edx
45a4f4:	83 fa 01             	cmp    $0x1,%edx
45a4f7:	1b d2                	sbb    %edx,%edx
45a4f9:	42                   	inc    %edx
45a4fa:	3a c2                	cmp    %dl,%al
45a4fc:	74 40                	je     0x45a53e
45a4fe:	8b c3                	mov    %ebx,%eax
45a500:	e8 0b 03 00 00       	call   0x45a810
45a505:	83 e0 7f             	and    $0x7f,%eax
45a508:	c1 e0 0d             	shl    $0xd,%eax
45a50b:	8d 04 40             	lea    (%eax,%eax,2),%eax
45a50e:	8b 54 24 08          	mov    0x8(%esp),%edx
45a512:	81 e2 ff 9f ff ff    	and    $0xffff9fff,%edx
45a518:	0b c2                	or     %edx,%eax
45a51a:	89 44 24 08          	mov    %eax,0x8(%esp)
45a51e:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
45a525:	00
45a526:	54                   	push   %esp
45a527:	6a ff                	push   $0xffffffff
45a529:	6a 00                	push   $0x0
45a52b:	56                   	push   %esi
45a52c:	e8 cb c5 fa ff       	call   0x406afc
45a531:	85 c0                	test   %eax,%eax
45a533:	74 09                	je     0x45a53e
45a535:	8b 43 38             	mov    0x38(%ebx),%eax
45a538:	50                   	push   %eax
45a539:	e8 6e c2 fa ff       	call   0x4067ac
45a53e:	81 c4 80 00 00 00    	add    $0x80,%esp
45a544:	5e                   	pop    %esi
45a545:	5b                   	pop    %ebx
45a546:	c3                   	ret
45a547:	90                   	nop
45a548:	55                   	push   %ebp
45a549:	8b ec                	mov    %esp,%ebp
45a54b:	83 c4 f4             	add    $0xfffffff4,%esp
45a54e:	53                   	push   %ebx
45a54f:	56                   	push   %esi
45a550:	89 45 fc             	mov    %eax,-0x4(%ebp)
45a553:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a556:	50                   	push   %eax
45a557:	e8 60 c3 fa ff       	call   0x4068bc
45a55c:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a55f:	8b 45 08             	mov    0x8(%ebp),%eax
45a562:	8d 98 00 fe ff ff    	lea    -0x200(%eax),%ebx
45a568:	8b 45 08             	mov    0x8(%ebp),%eax
45a56b:	83 c0 fb             	add    $0xfffffffb,%eax
45a56e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a571:	33 f6                	xor    %esi,%esi
45a573:	eb 60                	jmp    0x45a5d5
45a575:	53                   	push   %ebx
45a576:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a579:	2b c3                	sub    %ebx,%eax
45a57b:	50                   	push   %eax
45a57c:	68 00 04 00 00       	push   $0x400
45a581:	8b 45 08             	mov    0x8(%ebp),%eax
45a584:	8b 80 fc fd ff ff    	mov    -0x204(%eax),%eax
45a58a:	8b ce                	mov    %esi,%ecx
45a58c:	8b 55 fc             	mov    -0x4(%ebp),%edx
45a58f:	e8 50 05 00 00       	call   0x45aae4
45a594:	8b c3                	mov    %ebx,%eax
45a596:	e8 9d e3 fa ff       	call   0x408938
45a59b:	8b d8                	mov    %eax,%ebx
45a59d:	68 00 04 00 00       	push   $0x400
45a5a2:	56                   	push   %esi
45a5a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a5a6:	50                   	push   %eax
45a5a7:	e8 28 c3 fa ff       	call   0x4068d4
45a5ac:	a8 02                	test   $0x2,%al
45a5ae:	74 07                	je     0x45a5b7