45f1d6:	e8 3d ff ff ff       	call   0x45f118
45f1db:	59                   	pop    %ecx
45f1dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f1df:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
45f1e3:	0f 85 97 01 00 00    	jne    0x45f380
45f1e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f1ec:	c7 40 0c ff ff ff ff 	movl   $0xffffffff,0xc(%eax)
45f1f3:	e9 88 01 00 00       	jmp    0x45f380
45f1f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f1fb:	8b 80 a4 01 00 00    	mov    0x1a4(%eax),%eax
45f201:	e8 1e 57 fc ff       	call   0x424924
45f206:	50                   	push   %eax
45f207:	8d 55 94             	lea    -0x6c(%ebp),%edx
45f20a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f20d:	8b 08                	mov    (%eax),%ecx
45f20f:	ff 51 44             	call   *0x44(%ecx)
45f212:	8d 45 94             	lea    -0x6c(%ebp),%eax
45f215:	50                   	push   %eax
45f216:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f219:	8b 40 04             	mov    0x4(%eax),%eax
45f21c:	50                   	push   %eax
45f21d:	e8 06 7d fa ff       	call   0x406f28
45f222:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f225:	80 b8 77 02 00 00 02 	cmpb   $0x2,0x277(%eax)
45f22c:	75 3e                	jne    0x45f26c
45f22e:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f231:	83 b8 9c 02 00 00 00 	cmpl   $0x0,0x29c(%eax)
45f238:	74 32                	je     0x45f26c
45f23a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45f23d:	50                   	push   %eax
45f23e:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f241:	8b 80 9c 02 00 00    	mov    0x29c(%eax),%eax
45f247:	50                   	push   %eax
45f248:	e8 13 7d fa ff       	call   0x406f60
45f24d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f250:	8b 80 a4 01 00 00    	mov    0x1a4(%eax),%eax
45f256:	e8 c9 56 fc ff       	call   0x424924
45f25b:	50                   	push   %eax
45f25c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45f25f:	50                   	push   %eax
45f260:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f263:	8b 40 04             	mov    0x4(%eax),%eax
45f266:	50                   	push   %eax
45f267:	e8 bc 7c fa ff       	call   0x406f28
45f26c:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f26f:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
45f276:	e9 05 01 00 00       	jmp    0x45f380
45f27b:	55                   	push   %ebp
45f27c:	e8 97 fe ff ff       	call   0x45f118
45f281:	59                   	pop    %ecx
45f282:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f285:	80 b8 77 02 00 00 02 	cmpb   $0x2,0x277(%eax)
45f28c:	0f 85 ee 00 00 00    	jne    0x45f380
45f292:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f295:	e8 8e 07 00 00       	call   0x45fa28
45f29a:	85 c0                	test   %eax,%eax
45f29c:	74 0f                	je     0x45f2ad
45f29e:	55                   	push   %ebp
45f29f:	e8 c0 fe ff ff       	call   0x45f164
45f2a4:	59                   	pop    %ecx
45f2a5:	84 c0                	test   %al,%al
45f2a7:	74 04                	je     0x45f2ad
45f2a9:	33 d2                	xor    %edx,%edx
45f2ab:	eb 02                	jmp    0x45f2af
45f2ad:	b2 01                	mov    $0x1,%dl
45f2af:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f2b2:	8b 80 9c 02 00 00    	mov    0x29c(%eax),%eax
45f2b8:	e8 0f cf ff ff       	call   0x45c1cc
45f2bd:	e9 be 00 00 00       	jmp    0x45f380
45f2c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f2c5:	8b 40 04             	mov    0x4(%eax),%eax
45f2c8:	89 45 f4             	mov    %eax,-0xc(%ebp)
45f2cb:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45f2cf:	75 19                	jne    0x45f2ea
45f2d1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45f2d4:	50                   	push   %eax
45f2d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f2d8:	8b 80 9c 02 00 00    	mov    0x29c(%eax),%eax
45f2de:	50                   	push   %eax
45f2df:	e8 04 7b fa ff       	call   0x406de8
45f2e4:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f2e7:	89 42 04             	mov    %eax,0x4(%edx)
45f2ea:	33 c0                	xor    %eax,%eax
45f2ec:	55                   	push   %ebp
45f2ed:	68 72 f3 45 00       	push   $0x45f372
45f2f2:	64 ff 30             	push   %fs:(%eax)
45f2f5:	64 89 20             	mov    %esp,%fs:(%eax)
45f2f8:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45f2fc:	75 42                	jne    0x45f340
45f2fe:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45f301:	50                   	push   %eax
45f302:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f305:	8b 80 9c 02 00 00    	mov    0x29c(%eax),%eax
45f30b:	50                   	push   %eax
45f30c:	e8 a7 7d fa ff       	call   0x4070b8
45f311:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45f314:	8d 55 a4             	lea    -0x5c(%ebp),%edx
45f317:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f31a:	e8 85 a6 fe ff       	call   0x4499a4
45f31f:	8b 45 8c             	mov    -0x74(%ebp),%eax
45f322:	89 45 a4             	mov    %eax,-0x5c(%ebp)
45f325:	8b 45 90             	mov    -0x70(%ebp),%eax
45f328:	89 45 a8             	mov    %eax,-0x58(%ebp)
45f32b:	8b 4d a8             	mov    -0x58(%ebp),%ecx
45f32e:	f7 d9                	neg    %ecx
45f330:	8b 55 a4             	mov    -0x5c(%ebp),%edx
45f333:	f7 da                	neg    %edx
45f335:	8b 45 f8             	mov    -0x8(%ebp),%eax
45f338:	8b 40 04             	mov    0x4(%eax),%eax
45f33b:	e8 30 91 fe ff       	call   0x448470
45f340:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f343:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f346:	e8 d9 ff fe ff       	call   0x44f324
45f34b:	33 c0                	xor    %eax,%eax
45f34d:	5a                   	pop    %edx
45f34e:	59                   	pop    %ecx
45f34f:	59                   	pop    %ecx
45f350:	64 89 10             	mov    %edx,%fs:(%eax)
45f353:	68 80 f3 45 00       	push   $0x45f380
45f358:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45f35c:	75 13                	jne    0x45f371
45f35e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45f361:	50                   	push   %eax
45f362:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f365:	8b 80 9c 02 00 00    	mov    0x29c(%eax),%eax
45f36b:	50                   	push   %eax
45f36c:	e8 87 7b fa ff       	call   0x406ef8
45f371:	c3                   	ret
45f372:	e9 39 4d fa ff       	jmp    0x4040b0
45f377:	eb df                	jmp    0x45f358
45f379:	55                   	push   %ebp
45f37a:	e8 99 fd ff ff       	call   0x45f118
45f37f:	59                   	pop    %ecx
45f380:	8b e5                	mov    %ebp,%esp
45f382:	5d                   	pop    %ebp
45f383:	c3                   	ret
45f384:	53                   	push   %ebx
45f385:	56                   	push   %esi
45f386:	57                   	push   %edi
45f387:	83 c4 f0             	add    $0xfffffff0,%esp
45f38a:	8b f1                	mov    %ecx,%esi
45f38c:	8b d8                	mov    %eax,%ebx
45f38e:	8b ce                	mov    %esi,%ecx
45f390:	8b c3                	mov    %ebx,%eax
45f392:	e8 75 e0 ff ff       	call   0x45d40c
45f397:	8b 83 9c 02 00 00    	mov    0x29c(%ebx),%eax
45f39d:	85 c0                	test   %eax,%eax
45f39f:	74 47                	je     0x45f3e8
45f3a1:	6a 14                	push   $0x14
45f3a3:	8b 4e 0c             	mov    0xc(%esi),%ecx
45f3a6:	8b 7e 04             	mov    0x4(%esi),%edi
45f3a9:	2b cf                	sub    %edi,%ecx
45f3ab:	51                   	push   %ecx
45f3ac:	8b 4e 08             	mov    0x8(%esi),%ecx
45f3af:	8b 16                	mov    (%esi),%edx
45f3b1:	2b ca                	sub    %edx,%ecx
45f3b3:	51                   	push   %ecx
45f3b4:	57                   	push   %edi
45f3b5:	52                   	push   %edx
45f3b6:	6a 01                	push   $0x1
45f3b8:	50                   	push   %eax
45f3b9:	e8 22 7f fa ff       	call   0x4072e0
45f3be:	80 bb 77 02 00 00 02 	cmpb   $0x2,0x277(%ebx)
45f3c5:	75 21                	jne    0x45f3e8
45f3c7:	54                   	push   %esp
45f3c8:	8b 83 9c 02 00 00    	mov    0x29c(%ebx),%eax
45f3ce:	50                   	push   %eax
45f3cf:	e8 8c 7b fa ff       	call   0x406f60
45f3d4:	85 c0                	test   %eax,%eax
45f3d6:	74 10                	je     0x45f3e8
45f3d8:	6a ff                	push   $0xffffffff
45f3da:	6a 00                	push   $0x0
45f3dc:	8b 83 9c 02 00 00    	mov    0x29c(%ebx),%eax
45f3e2:	50                   	push   %eax
45f3e3:	e8 10 7d fa ff       	call   0x4070f8
45f3e8:	83 c4 10             	add    $0x10,%esp
45f3eb:	5f                   	pop    %edi
45f3ec:	5e                   	pop    %esi
45f3ed:	5b                   	pop    %ebx
45f3ee:	c3                   	ret
45f3ef:	90                   	nop
45f3f0:	53                   	push   %ebx
45f3f1:	56                   	push   %esi
45f3f2:	57                   	push   %edi
45f3f3:	51                   	push   %ecx
45f3f4:	8b d8                	mov    %eax,%ebx
45f3f6:	8b c3                	mov    %ebx,%eax
45f3f8:	e8 cf e6 ff ff       	call   0x45dacc
45f3fd:	8b c3                	mov    %ebx,%eax
45f3ff:	e8 48 29 ff ff       	call   0x451d4c
45f404:	84 c0                	test   %al,%al
45f406:	74 3d                	je     0x45f445
45f408:	6a ec                	push   $0xffffffec
45f40a:	8b c3                	mov    %ebx,%eax
45f40c:	e8 9b 25 ff ff       	call   0x4519ac
45f411:	50                   	push   %eax
45f412:	e8 89 7c fa ff       	call   0x4070a0
45f417:	25 ff ef ff ff       	and    $0xffffefff,%eax
45f41c:	25 ff df ff ff       	and    $0xffffdfff,%eax
45f421:	25 ff bf ff ff       	and    $0xffffbfff,%eax
45f426:	89 04 24             	mov    %eax,(%esp)
45f429:	8b d4                	mov    %esp,%edx
45f42b:	8b c3                	mov    %ebx,%eax
45f42d:	e8 f6 e9 fe ff       	call   0x44de28
45f432:	8b 04 24             	mov    (%esp),%eax
45f435:	50                   	push   %eax
45f436:	6a ec                	push   $0xffffffec
45f438:	8b c3                	mov    %ebx,%eax
45f43a:	e8 6d 25 ff ff       	call   0x4519ac
45f43f:	50                   	push   %eax
45f440:	e8 83 7e fa ff       	call   0x4072c8
45f445:	8b c3                	mov    %ebx,%eax
45f447:	e8 04 fa fb ff       	call   0x41ee50
45f44c:	8b f8                	mov    %eax,%edi
45f44e:	4f                   	dec    %edi
45f44f:	85 ff                	test   %edi,%edi
45f451:	7c 2d                	jl     0x45f480
45f453:	47                   	inc    %edi
45f454:	33 f6                	xor    %esi,%esi
45f456:	8b d6                	mov    %esi,%edx
45f458:	8b c3                	mov    %ebx,%eax
45f45a:	e8 c5 f9 fb ff       	call   0x41ee24
45f45f:	8b 15 ec d8 43 00    	mov    0x43d8ec,%edx
45f465:	e8 3e 46 fa ff       	call   0x403aa8
45f46a:	84 c0                	test   %al,%al
45f46c:	74 0e                	je     0x45f47c
45f46e:	8b d6                	mov    %esi,%edx
45f470:	8b c3                	mov    %ebx,%eax
45f472:	e8 ad f9 fb ff       	call   0x41ee24
45f477:	e8 7c 39 fe ff       	call   0x442df8
45f47c:	46                   	inc    %esi
45f47d:	4f                   	dec    %edi
45f47e:	75 d6                	jne    0x45f456
45f480:	5a                   	pop    %edx
45f481:	5f                   	pop    %edi
45f482:	5e                   	pop    %esi
45f483:	5b                   	pop    %ebx
45f484:	c3                   	ret
45f485:	8d 40 00             	lea    0x0(%eax),%eax
45f488:	55                   	push   %ebp
45f489:	8b ec                	mov    %esp,%ebp
45f48b:	51                   	push   %ecx
45f48c:	56                   	push   %esi
45f48d:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f490:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f493:	80 b8 8c 02 00 00 00 	cmpb   $0x0,0x28c(%eax)
45f49a:	75 73                	jne    0x45f50f
45f49c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f49f:	c6 80 8c 02 00 00 01 	movb   $0x1,0x28c(%eax)
45f4a6:	33 c0                	xor    %eax,%eax
45f4a8:	55                   	push   %ebp
45f4a9:	68 08 f5 45 00       	push   $0x45f508
45f4ae:	64 ff 30             	push   %fs:(%eax)
45f4b1:	64 89 20             	mov    %esp,%fs:(%eax)
45f4b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4b7:	80 78 60 00          	cmpb   $0x0,0x60(%eax)
45f4bb:	74 33                	je     0x45f4f0
45f4bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4c0:	8b 70 30             	mov    0x30(%eax),%esi
45f4c3:	85 f6                	test   %esi,%esi
45f4c5:	75 13                	jne    0x45f4da
45f4c7:	a1 ac b5 4a 00       	mov    0x4ab5ac,%eax
45f4cc:	0f b6 50 34          	movzbl 0x34(%eax),%edx
45f4d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4d3:	8b 08                	mov    (%eax),%ecx
45f4d5:	ff 51 74             	call   *0x74(%ecx)
45f4d8:	eb 0c                	jmp    0x45f4e6
45f4da:	0f b6 56 5f          	movzbl 0x5f(%esi),%edx
45f4de:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4e1:	8b 08                	mov    (%eax),%ecx
45f4e3:	ff 51 74             	call   *0x74(%ecx)
45f4e6:	b2 01                	mov    $0x1,%dl
45f4e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4eb:	8b 08                	mov    (%eax),%ecx
45f4ed:	ff 51 70             	call   *0x70(%ecx)
45f4f0:	33 c0                	xor    %eax,%eax
45f4f2:	5a                   	pop    %edx
45f4f3:	59                   	pop    %ecx
45f4f4:	59                   	pop    %ecx
45f4f5:	64 89 10             	mov    %edx,%fs:(%eax)
45f4f8:	68 0f f5 45 00       	push   $0x45f50f
45f4fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f500:	c6 80 8c 02 00 00 00 	movb   $0x0,0x28c(%eax)
45f507:	c3                   	ret
45f508:	e9 a3 4b fa ff       	jmp    0x4040b0
45f50d:	eb ee                	jmp    0x45f4fd
45f50f:	5e                   	pop    %esi
45f510:	59                   	pop    %ecx
45f511:	5d                   	pop    %ebp
45f512:	c3                   	ret
45f513:	90                   	nop
45f514:	53                   	push   %ebx
45f515:	56                   	push   %esi
45f516:	57                   	push   %edi
45f517:	8b f2                	mov    %edx,%esi
45f519:	8b d8                	mov    %eax,%ebx
45f51b:	8b 46 04             	mov    0x4(%esi),%eax
45f51e:	8b 40 04             	mov    0x4(%eax),%eax
45f521:	e8 9e 73 fe ff       	call   0x4468c4
45f526:	85 c0                	test   %eax,%eax
45f528:	74 09                	je     0x45f533
45f52a:	8b 46 04             	mov    0x4(%esi),%eax
45f52d:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45f531:	75 45                	jne    0x45f578
45f533:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
45f539:	e8 9a 63 fa ff       	call   0x4058d8
45f53e:	8b f8                	mov    %eax,%edi
45f540:	8d 47 01             	lea    0x1(%edi),%eax
45f543:	50                   	push   %eax
45f544:	8d 83 3c 03 00 00    	lea    0x33c(%ebx),%eax
45f54a:	b9 01 00 00 00       	mov    $0x1,%ecx
45f54f:	8b 15 60 a7 45 00    	mov    0x45a760,%edx
45f555:	e8 3a 65 fa ff       	call   0x405a94
45f55a:	83 c4 04             	add    $0x4,%esp
45f55d:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
45f563:	8b 56 04             	mov    0x4(%esi),%edx
45f566:	8b 12                	mov    (%edx),%edx
45f568:	89 14 f8             	mov    %edx,(%eax,%edi,8)
45f56b:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
45f571:	8b 56 08             	mov    0x8(%esi),%edx
45f574:	89 54 f8 04          	mov    %edx,0x4(%eax,%edi,8)
45f578:	5f                   	pop    %edi
45f579:	5e                   	pop    %esi
45f57a:	5b                   	pop    %ebx
45f57b:	c3                   	ret
45f57c:	53                   	push   %ebx
45f57d:	56                   	push   %esi
45f57e:	57                   	push   %edi
45f57f:	55                   	push   %ebp
45f580:	51                   	push   %ecx
45f581:	8b e9                	mov    %ecx,%ebp
45f583:	8b fa                	mov    %edx,%edi
45f585:	8b f0                	mov    %eax,%esi
45f587:	81 27 ff ff f4 ff    	andl   $0xfff4ffff,(%edi)
45f58d:	81 65 00 ff fb ff ff 	andl   $0xfffffbff,0x0(%ebp)
45f594:	0f b6 86 71 02 00 00 	movzbl 0x271(%esi),%eax
45f59b:	88 04 24             	mov    %al,(%esp)
45f59e:	80 be 77 02 00 00 01 	cmpb   $0x1,0x277(%esi)
45f5a5:	75 10                	jne    0x45f5b7
45f5a7:	0f b6 04 24          	movzbl (%esp),%eax
45f5ab:	84 c0                	test   %al,%al
45f5ad:	74 04                	je     0x45f5b3
45f5af:	2c 03                	sub    $0x3,%al
45f5b1:	75 04                	jne    0x45f5b7
45f5b3:	c6 04 24 02          	movb   $0x2,(%esp)
45f5b7:	0f b6 9e 70 02 00 00 	movzbl 0x270(%esi),%ebx
45f5be:	0f b6 04 24          	movzbl (%esp),%eax
45f5c2:	2c 01                	sub    $0x1,%al
45f5c4:	72 0b                	jb     0x45f5d1
45f5c6:	2c 02                	sub    $0x2,%al