45f1d7:	33 ed                	xor    %ebp,%ebp
45f1d9:	8b 46 04             	mov    0x4(%esi),%eax
45f1dc:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
45f1e3:	8b 76 08             	mov    0x8(%esi),%esi
45f1e6:	8d 3c 2a             	lea    (%edx,%ebp,1),%edi
45f1e9:	c1 e6 02             	shl    $0x2,%esi
45f1ec:	89 54 24 10          	mov    %edx,0x10(%esp)
45f1f0:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
45f1f3:	2b f1                	sub    %ecx,%esi
45f1f5:	03 f0                	add    %eax,%esi
45f1f7:	56                   	push   %esi
45f1f8:	51                   	push   %ecx
45f1f9:	57                   	push   %edi
45f1fa:	e8 21 c4 00 00       	call   0x46b620
45f1ff:	8d 04 3e             	lea    (%esi,%edi,1),%eax
45f202:	83 c4 0c             	add    $0xc,%esp
45f205:	8b 74 24 14          	mov    0x14(%esp),%esi
45f209:	8b 7c 24 18          	mov    0x18(%esp),%edi
45f20d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45f211:	8b 56 04             	mov    0x4(%esi),%edx
45f214:	3b fb                	cmp    %ebx,%edi
45f216:	77 3a                	ja     0x45f252
45f218:	8d 0c bd 00 00 00 00 	lea    0x0(,%edi,4),%ecx
45f21f:	51                   	push   %ecx
45f220:	52                   	push   %edx
45f221:	50                   	push   %eax
45f222:	e8 f9 c3 00 00       	call   0x46b620
45f227:	83 c4 0c             	add    $0xc,%esp
45f22a:	8b c3                	mov    %ebx,%eax
45f22c:	2b c7                	sub    %edi,%eax
45f22e:	8b 7c 24 10          	mov    0x10(%esp),%edi
45f232:	c1 e0 02             	shl    $0x2,%eax
45f235:	50                   	push   %eax
45f236:	8b 44 24 20          	mov    0x20(%esp),%eax
45f23a:	03 c7                	add    %edi,%eax
45f23c:	6a 00                	push   $0x0
45f23e:	50                   	push   %eax
45f23f:	e8 6c c9 00 00       	call   0x46bbb0
45f244:	83 c4 0c             	add    $0xc,%esp
45f247:	57                   	push   %edi
45f248:	6a 00                	push   $0x0
45f24a:	55                   	push   %ebp
45f24b:	e8 60 c9 00 00       	call   0x46bbb0
45f250:	eb 39                	jmp    0x45f28b
45f252:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
45f259:	57                   	push   %edi
45f25a:	52                   	push   %edx
45f25b:	50                   	push   %eax
45f25c:	e8 bf c3 00 00       	call   0x46b620
45f261:	8b 76 04             	mov    0x4(%esi),%esi
45f264:	83 c4 0c             	add    $0xc,%esp
45f267:	8d 04 37             	lea    (%edi,%esi,1),%eax
45f26a:	2b f0                	sub    %eax,%esi
45f26c:	03 74 24 10          	add    0x10(%esp),%esi
45f270:	56                   	push   %esi
45f271:	50                   	push   %eax
45f272:	55                   	push   %ebp
45f273:	e8 a8 c3 00 00       	call   0x46b620
45f278:	83 c4 0c             	add    $0xc,%esp
45f27b:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
45f27e:	57                   	push   %edi
45f27f:	6a 00                	push   $0x0
45f281:	50                   	push   %eax
45f282:	e8 29 c9 00 00       	call   0x46bbb0
45f287:	8b 74 24 20          	mov    0x20(%esp),%esi
45f28b:	8b 46 04             	mov    0x4(%esi),%eax
45f28e:	83 c4 0c             	add    $0xc,%esp
45f291:	85 c0                	test   %eax,%eax
45f293:	74 2a                	je     0x45f2bf
45f295:	8b 4e 08             	mov    0x8(%esi),%ecx
45f298:	c1 e1 02             	shl    $0x2,%ecx
45f29b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45f2a1:	72 12                	jb     0x45f2b5
45f2a3:	8b 50 fc             	mov    -0x4(%eax),%edx
45f2a6:	83 c1 23             	add    $0x23,%ecx
45f2a9:	2b c2                	sub    %edx,%eax
45f2ab:	83 c0 fc             	add    $0xfffffffc,%eax
45f2ae:	83 f8 1f             	cmp    $0x1f,%eax
45f2b1:	77 21                	ja     0x45f2d4
45f2b3:	8b c2                	mov    %edx,%eax
45f2b5:	51                   	push   %ecx
45f2b6:	50                   	push   %eax
45f2b7:	e8 4c a7 00 00       	call   0x469a08
45f2bc:	83 c4 08             	add    $0x8,%esp
45f2bf:	01 5e 08             	add    %ebx,0x8(%esi)
45f2c2:	5f                   	pop    %edi
45f2c3:	89 6e 04             	mov    %ebp,0x4(%esi)
45f2c6:	5e                   	pop    %esi
45f2c7:	5d                   	pop    %ebp
45f2c8:	5b                   	pop    %ebx
45f2c9:	83 c4 10             	add    $0x10,%esp
45f2cc:	c2 04 00             	ret    $0x4
45f2cf:	e8 1c 65 fd ff       	call   0x4357f0
45f2d4:	e8 58 a3 01 00       	call   0x479631
45f2d9:	e8 62 20 fa ff       	call   0x401340
45f2de:	cc                   	int3
45f2df:	cc                   	int3
45f2e0:	8b 44 24 04          	mov    0x4(%esp),%eax
45f2e4:	c3                   	ret
45f2e5:	cc                   	int3
45f2e6:	cc                   	int3
45f2e7:	cc                   	int3
45f2e8:	cc                   	int3
45f2e9:	cc                   	int3
45f2ea:	cc                   	int3
45f2eb:	cc                   	int3
45f2ec:	cc                   	int3
45f2ed:	cc                   	int3
45f2ee:	cc                   	int3
45f2ef:	cc                   	int3
45f2f0:	83 e9 04             	sub    $0x4,%ecx
45f2f3:	e9 08 f7 ff ff       	jmp    0x45ea00
45f2f8:	cc                   	int3
45f2f9:	cc                   	int3
45f2fa:	cc                   	int3
45f2fb:	cc                   	int3
45f2fc:	cc                   	int3
45f2fd:	cc                   	int3
45f2fe:	cc                   	int3
45f2ff:	cc                   	int3
45f300:	55                   	push   %ebp
45f301:	8b ec                	mov    %esp,%ebp
45f303:	6a ff                	push   $0xffffffff
45f305:	68 c8 c4 49 00       	push   $0x49c4c8
45f30a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45f310:	50                   	push   %eax
45f311:	51                   	push   %ecx
45f312:	56                   	push   %esi
45f313:	57                   	push   %edi
45f314:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45f319:	33 c5                	xor    %ebp,%eax
45f31b:	50                   	push   %eax
45f31c:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f31f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45f325:	8b f1                	mov    %ecx,%esi
45f327:	89 75 f0             	mov    %esi,-0x10(%ebp)
45f32a:	ff 75 08             	push   0x8(%ebp)
45f32d:	e8 0e f1 fe ff       	call   0x44e440
45f332:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f339:	e8 92 46 ff ff       	call   0x4539d0
45f33e:	50                   	push   %eax
45f33f:	8d 4e 14             	lea    0x14(%esi),%ecx
45f342:	e8 f9 f0 fe ff       	call   0x44e440
45f347:	8a 45 0c             	mov    0xc(%ebp),%al
45f34a:	8b ce                	mov    %esi,%ecx
45f34c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45f350:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
45f357:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
45f35e:	88 46 34             	mov    %al,0x34(%esi)
45f361:	66 c7 46 36 01 00    	movw   $0x1,0x36(%esi)
45f367:	e8 64 f4 fe ff       	call   0x44e7d0
45f36c:	83 f8 11             	cmp    $0x11,%eax
45f36f:	77 07                	ja     0x45f378
45f371:	b8 01 00 00 00       	mov    $0x1,%eax
45f376:	eb 42                	jmp    0x45f3ba
45f378:	83 f8 18             	cmp    $0x18,%eax
45f37b:	77 07                	ja     0x45f384
45f37d:	b8 02 00 00 00       	mov    $0x2,%eax
45f382:	eb 36                	jmp    0x45f3ba
45f384:	83 f8 46             	cmp    $0x46,%eax
45f387:	77 07                	ja     0x45f390
45f389:	b8 03 00 00 00       	mov    $0x3,%eax
45f38e:	eb 2a                	jmp    0x45f3ba
45f390:	3d c5 00 00 00       	cmp    $0xc5,%eax
45f395:	77 07                	ja     0x45f39e
45f397:	b8 04 00 00 00       	mov    $0x4,%eax
45f39c:	eb 1c                	jmp    0x45f3ba
45f39e:	3d 1b 02 00 00       	cmp    $0x21b,%eax
45f3a3:	77 07                	ja     0x45f3ac
45f3a5:	b8 05 00 00 00       	mov    $0x5,%eax
45f3aa:	eb 0e                	jmp    0x45f3ba
45f3ac:	b9 9a 05 00 00       	mov    $0x59a,%ecx
45f3b1:	3b c8                	cmp    %eax,%ecx
45f3b3:	1b c0                	sbb    %eax,%eax
45f3b5:	f7 d8                	neg    %eax
45f3b7:	83 c0 06             	add    $0x6,%eax
45f3ba:	50                   	push   %eax
45f3bb:	8d 4e 14             	lea    0x14(%esi),%ecx
45f3be:	89 46 28             	mov    %eax,0x28(%esi)
45f3c1:	e8 9a 15 ff ff       	call   0x450960
45f3c6:	8b c6                	mov    %esi,%eax
45f3c8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45f3cb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45f3d2:	59                   	pop    %ecx
45f3d3:	5f                   	pop    %edi
45f3d4:	5e                   	pop    %esi
45f3d5:	8b e5                	mov    %ebp,%esp
45f3d7:	5d                   	pop    %ebp
45f3d8:	c2 0c 00             	ret    $0xc
45f3db:	cc                   	int3
45f3dc:	cc                   	int3
45f3dd:	cc                   	int3
45f3de:	cc                   	int3
45f3df:	cc                   	int3
45f3e0:	51                   	push   %ecx
45f3e1:	53                   	push   %ebx
45f3e2:	55                   	push   %ebp
45f3e3:	56                   	push   %esi
45f3e4:	57                   	push   %edi
45f3e5:	8b f9                	mov    %ecx,%edi
45f3e7:	8b 6f 08             	mov    0x8(%edi),%ebp
45f3ea:	8b d5                	mov    %ebp,%edx
45f3ec:	85 d2                	test   %edx,%edx
45f3ee:	74 1d                	je     0x45f40d
45f3f0:	8b 47 0c             	mov    0xc(%edi),%eax
45f3f3:	8d 04 90             	lea    (%eax,%edx,4),%eax
45f3f6:	83 c0 fc             	add    $0xfffffffc,%eax
45f3f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45f400:	83 38 00             	cmpl   $0x0,(%eax)
45f403:	75 08                	jne    0x45f40d
45f405:	83 e8 04             	sub    $0x4,%eax
45f408:	83 ea 01             	sub    $0x1,%edx
45f40b:	75 f3                	jne    0x45f400
45f40d:	c1 e2 05             	shl    $0x5,%edx
45f410:	80 7f 36 00          	cmpb   $0x0,0x36(%edi)
45f414:	74 04                	je     0x45f41a
45f416:	33 f6                	xor    %esi,%esi
45f418:	eb 03                	jmp    0x45f41d
45f41a:	8b 77 28             	mov    0x28(%edi),%esi
45f41d:	c6 47 36 00          	movb   $0x0,0x36(%edi)
45f421:	8b de                	mov    %esi,%ebx
45f423:	c1 eb 05             	shr    $0x5,%ebx
45f426:	3b dd                	cmp    %ebp,%ebx
45f428:	73 11                	jae    0x45f43b
45f42a:	8b 47 0c             	mov    0xc(%edi),%eax
45f42d:	8b ce                	mov    %esi,%ecx
45f42f:	83 e1 1f             	and    $0x1f,%ecx
45f432:	8b 04 98             	mov    (%eax,%ebx,4),%eax
45f435:	d3 e8                	shr    %cl,%eax
45f437:	a8 01                	test   $0x1,%al
45f439:	75 07                	jne    0x45f442
45f43b:	3b f2                	cmp    %edx,%esi
45f43d:	73 73                	jae    0x45f4b2
45f43f:	46                   	inc    %esi
45f440:	eb df                	jmp    0x45f421
45f442:	56                   	push   %esi
45f443:	8b cf                	mov    %edi,%ecx
45f445:	e8 06 16 ff ff       	call   0x450a50
45f44a:	01 77 2c             	add    %esi,0x2c(%edi)
45f44d:	be 01 00 00 00       	mov    $0x1,%esi
45f452:	8b 4f 28             	mov    0x28(%edi),%ecx
45f455:	8b c6                	mov    %esi,%eax
45f457:	d3 e0                	shl    %cl,%eax
45f459:	8b cf                	mov    %edi,%ecx
45f45b:	50                   	push   %eax
45f45c:	e8 cf 1e ff ff       	call   0x451330
45f461:	80 7f 34 00          	cmpb   $0x0,0x34(%edi)
45f465:	8b e8                	mov    %eax,%ebp
45f467:	89 6f 30             	mov    %ebp,0x30(%edi)
45f46a:	74 3c                	je     0x45f4a8
45f46c:	8b 5f 28             	mov    0x28(%edi),%ebx
45f46f:	8b d3                	mov    %ebx,%edx
45f471:	c1 ea 05             	shr    $0x5,%edx
45f474:	3b 57 08             	cmp    0x8(%edi),%edx
45f477:	73 2f                	jae    0x45f4a8
45f479:	8b 47 0c             	mov    0xc(%edi),%eax
45f47c:	8b cb                	mov    %ebx,%ecx
45f47e:	83 e1 1f             	and    $0x1f,%ecx
45f481:	8b 04 90             	mov    (%eax,%edx,4),%eax
45f484:	d3 e8                	shr    %cl,%eax
45f486:	a8 01                	test   $0x1,%al
45f488:	74 1e                	je     0x45f4a8
45f48a:	8b cb                	mov    %ebx,%ecx
45f48c:	c6 47 35 01          	movb   $0x1,0x35(%edi)
45f490:	d3 e6                	shl    %cl,%esi
45f492:	8d 47 14             	lea    0x14(%edi),%eax
45f495:	2b f5                	sub    %ebp,%esi
45f497:	8b cf                	mov    %edi,%ecx
45f499:	50                   	push   %eax
45f49a:	89 77 30             	mov    %esi,0x30(%edi)
45f49d:	e8 7e 13 ff ff       	call   0x450820
45f4a2:	5f                   	pop    %edi
45f4a3:	5e                   	pop    %esi
45f4a4:	5d                   	pop    %ebp
45f4a5:	5b                   	pop    %ebx
45f4a6:	59                   	pop    %ecx
45f4a7:	c3                   	ret
45f4a8:	c6 47 35 00          	movb   $0x0,0x35(%edi)
45f4ac:	5f                   	pop    %edi
45f4ad:	5e                   	pop    %esi
45f4ae:	5d                   	pop    %ebp
45f4af:	5b                   	pop    %ebx
45f4b0:	59                   	pop    %ecx
45f4b1:	c3                   	ret
45f4b2:	c6 47 37 01          	movb   $0x1,0x37(%edi)
45f4b6:	5f                   	pop    %edi
45f4b7:	5e                   	pop    %esi
45f4b8:	5d                   	pop    %ebp
45f4b9:	5b                   	pop    %ebx
45f4ba:	59                   	pop    %ecx
45f4bb:	c3                   	ret
45f4bc:	cc                   	int3
45f4bd:	cc                   	int3
45f4be:	cc                   	int3
45f4bf:	cc                   	int3
45f4c0:	e9 0b 00 00 00       	jmp    0x45f4d0
45f4c5:	cc                   	int3
45f4c6:	cc                   	int3
45f4c7:	cc                   	int3
45f4c8:	cc                   	int3
45f4c9:	cc                   	int3
45f4ca:	cc                   	int3
45f4cb:	cc                   	int3
45f4cc:	cc                   	int3
45f4cd:	cc                   	int3
45f4ce:	cc                   	int3
45f4cf:	cc                   	int3
45f4d0:	53                   	push   %ebx
45f4d1:	8b d9                	mov    %ecx,%ebx
45f4d3:	56                   	push   %esi
45f4d4:	8b 33                	mov    (%ebx),%esi
45f4d6:	85 f6                	test   %esi,%esi
45f4d8:	74 7a                	je     0x45f554
45f4da:	55                   	push   %ebp
45f4db:	8b 6b 04             	mov    0x4(%ebx),%ebp
45f4de:	3b f5                	cmp    %ebp,%esi
45f4e0:	74 1b                	je     0x45f4fd
45f4e2:	57                   	push   %edi
45f4e3:	8b 06                	mov    (%esi),%eax
45f4e5:	6a 00                	push   $0x0
45f4e7:	8b 38                	mov    (%eax),%edi
45f4e9:	8b cf                	mov    %edi,%ecx
45f4eb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f4f1:	8b ce                	mov    %esi,%ecx
45f4f3:	ff d7                	call   *%edi
45f4f5:	83 c6 14             	add    $0x14,%esi
45f4f8:	3b f5                	cmp    %ebp,%esi
45f4fa:	75 e7                	jne    0x45f4e3
45f4fc:	5f                   	pop    %edi
45f4fd:	8b 4b 08             	mov    0x8(%ebx),%ecx
45f500:	b8 67 66 66 66       	mov    $0x66666667,%eax
45f505:	8b 33                	mov    (%ebx),%esi
45f507:	2b ce                	sub    %esi,%ecx
45f509:	f7 e9                	imul   %ecx
45f50b:	5d                   	pop    %ebp
45f50c:	c1 fa 03             	sar    $0x3,%edx
45f50f:	8b c2                	mov    %edx,%eax
45f511:	c1 e8 1f             	shr    $0x1f,%eax
45f514:	03 c2                	add    %edx,%eax
45f516:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
45f519:	c1 e1 02             	shl    $0x2,%ecx
45f51c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45f522:	72 12                	jb     0x45f536
45f524:	8b 56 fc             	mov    -0x4(%esi),%edx
45f527:	83 c1 23             	add    $0x23,%ecx
45f52a:	2b f2                	sub    %edx,%esi
45f52c:	8d 46 fc             	lea    -0x4(%esi),%eax
45f52f:	83 f8 1f             	cmp    $0x1f,%eax
45f532:	77 23                	ja     0x45f557
45f534:	8b f2                	mov    %edx,%esi