44e2e4:	40                   	inc    %eax
44e2e5:	83 c9 01             	or     $0x1,%ecx
44e2e8:	0f bd c9             	bsr    %ecx,%ecx
44e2eb:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
44e2ee:	83 c1 49             	add    $0x49,%ecx
44e2f1:	c1 e9 06             	shr    $0x6,%ecx
44e2f4:	03 c1                	add    %ecx,%eax
44e2f6:	8d 4f 04             	lea    0x4(%edi),%ecx
44e2f9:	83 c7 0c             	add    $0xc,%edi
44e2fc:	f6 01 01             	testb  $0x1,(%ecx)
44e2ff:	74 0d                	je     0x44e30e
44e301:	57                   	push   %edi
44e302:	50                   	push   %eax
44e303:	51                   	push   %ecx
44e304:	e8 a7 11 02 00       	call   0x46f4b0
44e309:	83 c4 0c             	add    $0xc,%esp
44e30c:	eb 02                	jmp    0x44e310
44e30e:	89 07                	mov    %eax,(%edi)
44e310:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44e313:	8b c8                	mov    %eax,%ecx
44e315:	83 c9 01             	or     $0x1,%ecx
44e318:	83 c6 04             	add    $0x4,%esi
44e31b:	0f bd c9             	bsr    %ecx,%ecx
44e31e:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
44e321:	83 c1 49             	add    $0x49,%ecx
44e324:	c1 e9 06             	shr    $0x6,%ecx
44e327:	03 c8                	add    %eax,%ecx
44e329:	03 d9                	add    %ecx,%ebx
44e32b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44e32e:	3b 75 f8             	cmp    -0x8(%ebp),%esi
44e331:	0f 85 39 ff ff ff    	jne    0x44e270
44e337:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44e33a:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
44e33e:	74 15                	je     0x44e355
44e340:	8b 41 20             	mov    0x20(%ecx),%eax
44e343:	43                   	inc    %ebx
44e344:	83 c8 01             	or     $0x1,%eax
44e347:	0f bd c0             	bsr    %eax,%eax
44e34a:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44e34d:	83 c0 49             	add    $0x49,%eax
44e350:	c1 e8 06             	shr    $0x6,%eax
44e353:	03 d8                	add    %eax,%ebx
44e355:	8d 41 04             	lea    0x4(%ecx),%eax
44e358:	83 c1 0c             	add    $0xc,%ecx
44e35b:	f6 00 01             	testb  $0x1,(%eax)
44e35e:	74 12                	je     0x44e372
44e360:	51                   	push   %ecx
44e361:	53                   	push   %ebx
44e362:	50                   	push   %eax
44e363:	e8 48 11 02 00       	call   0x46f4b0
44e368:	83 c4 0c             	add    $0xc,%esp
44e36b:	5f                   	pop    %edi
44e36c:	5e                   	pop    %esi
44e36d:	5b                   	pop    %ebx
44e36e:	8b e5                	mov    %ebp,%esp
44e370:	5d                   	pop    %ebp
44e371:	c3                   	ret
44e372:	5f                   	pop    %edi
44e373:	5e                   	pop    %esi
44e374:	89 19                	mov    %ebx,(%ecx)
44e376:	8b c3                	mov    %ebx,%eax
44e378:	5b                   	pop    %ebx
44e379:	8b e5                	mov    %ebp,%esp
44e37b:	5d                   	pop    %ebp
44e37c:	c3                   	ret
44e37d:	cc                   	int3
44e37e:	cc                   	int3
44e37f:	cc                   	int3
44e380:	55                   	push   %ebp
44e381:	8b ec                	mov    %esp,%ebp
44e383:	83 ec 2c             	sub    $0x2c,%esp
44e386:	53                   	push   %ebx
44e387:	56                   	push   %esi
44e388:	57                   	push   %edi
44e389:	8b 7d 08             	mov    0x8(%ebp),%edi
44e38c:	33 f6                	xor    %esi,%esi
44e38e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44e391:	8b 55 0c             	mov    0xc(%ebp),%edx
44e394:	3b 3a                	cmp    (%edx),%edi
44e396:	72 2a                	jb     0x44e3c2
44e398:	8b c7                	mov    %edi,%eax
44e39a:	2b 42 04             	sub    0x4(%edx),%eax
44e39d:	3b 42 10             	cmp    0x10(%edx),%eax
44e3a0:	0f 84 26 02 00 00    	je     0x44e5cc
44e3a6:	ff 72 48             	push   0x48(%edx)
44e3a9:	8b ca                	mov    %edx,%ecx
44e3ab:	50                   	push   %eax
44e3ac:	8d 45 ec             	lea    -0x14(%ebp),%eax
44e3af:	50                   	push   %eax
44e3b0:	e8 7b 0b 01 00       	call   0x45ef30
44e3b5:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
44e3b9:	8b 7d ec             	mov    -0x14(%ebp),%edi
44e3bc:	0f 85 b7 01 00 00    	jne    0x44e579
44e3c2:	0f b6 1f             	movzbl (%edi),%ebx
44e3c5:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
44e3cb:	73 03                	jae    0x44e3d0
44e3cd:	47                   	inc    %edi
44e3ce:	eb 2f                	jmp    0x44e3ff
44e3d0:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44e3d4:	83 c3 80             	add    $0xffffff80,%ebx
44e3d7:	8b c1                	mov    %ecx,%eax
44e3d9:	c1 e0 07             	shl    $0x7,%eax
44e3dc:	03 d8                	add    %eax,%ebx
44e3de:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44e3e4:	73 05                	jae    0x44e3eb
44e3e6:	83 c7 02             	add    $0x2,%edi
44e3e9:	eb 14                	jmp    0x44e3ff
44e3eb:	53                   	push   %ebx
44e3ec:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44e3ef:	57                   	push   %edi
44e3f0:	50                   	push   %eax
44e3f1:	e8 ea 15 01 00       	call   0x45f9e0
44e3f6:	8b 5d e8             	mov    -0x18(%ebp),%ebx
44e3f9:	83 c4 0c             	add    $0xc,%esp
44e3fc:	8b 7d e4             	mov    -0x1c(%ebp),%edi
44e3ff:	85 ff                	test   %edi,%edi
44e401:	0f 84 70 01 00 00    	je     0x44e577
44e407:	8b c3                	mov    %ebx,%eax
44e409:	c1 e8 03             	shr    $0x3,%eax
44e40c:	83 e8 01             	sub    $0x1,%eax
44e40f:	0f 84 17 01 00 00    	je     0x44e52c
44e415:	83 e8 01             	sub    $0x1,%eax
44e418:	0f 85 6c 01 00 00    	jne    0x44e58a
44e41e:	80 fb 12             	cmp    $0x12,%bl
44e421:	0f 85 63 01 00 00    	jne    0x44e58a
44e427:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44e42a:	4f                   	dec    %edi
44e42b:	eb 03                	jmp    0x44e430
44e42d:	8d 49 00             	lea    0x0(%ecx),%ecx
44e430:	8b 43 1c             	mov    0x1c(%ebx),%eax
44e433:	47                   	inc    %edi
44e434:	85 c0                	test   %eax,%eax
44e436:	74 1d                	je     0x44e455
44e438:	8b 4b 14             	mov    0x14(%ebx),%ecx
44e43b:	8b 10                	mov    (%eax),%edx
44e43d:	3b ca                	cmp    %edx,%ecx
44e43f:	7d 0f                	jge    0x44e450
44e441:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
44e445:	89 45 f8             	mov    %eax,-0x8(%ebp)
44e448:	8d 41 01             	lea    0x1(%ecx),%eax
44e44b:	89 43 14             	mov    %eax,0x14(%ebx)
44e44e:	eb 34                	jmp    0x44e484
44e450:	3b 53 18             	cmp    0x18(%ebx),%edx
44e453:	75 0d                	jne    0x44e462
44e455:	8b 43 18             	mov    0x18(%ebx),%eax
44e458:	8d 4b 10             	lea    0x10(%ebx),%ecx
44e45b:	40                   	inc    %eax
44e45c:	50                   	push   %eax
44e45d:	e8 2e f4 00 00       	call   0x45d890
44e462:	8b 43 1c             	mov    0x1c(%ebx),%eax
44e465:	ff 00                	incl   (%eax)
44e467:	ff 73 10             	push   0x10(%ebx)
44e46a:	e8 f1 18 00 00       	call   0x44fd60
44e46f:	8b 4b 14             	mov    0x14(%ebx),%ecx
44e472:	8b d0                	mov    %eax,%edx
44e474:	8b 43 1c             	mov    0x1c(%ebx),%eax
44e477:	83 c4 04             	add    $0x4,%esp
44e47a:	89 55 f8             	mov    %edx,-0x8(%ebp)
44e47d:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
44e481:	ff 43 14             	incl   0x14(%ebx)
44e484:	0f b6 07             	movzbl (%edi),%eax
44e487:	3d 80 00 00 00       	cmp    $0x80,%eax
44e48c:	73 03                	jae    0x44e491
44e48e:	47                   	inc    %edi
44e48f:	eb 14                	jmp    0x44e4a5
44e491:	50                   	push   %eax
44e492:	8d 45 dc             	lea    -0x24(%ebp),%eax
44e495:	57                   	push   %edi
44e496:	50                   	push   %eax
44e497:	e8 d4 13 01 00       	call   0x45f870
44e49c:	8b 7d dc             	mov    -0x24(%ebp),%edi
44e49f:	83 c4 0c             	add    $0xc,%esp
44e4a2:	8b 45 e0             	mov    -0x20(%ebp),%eax
44e4a5:	85 ff                	test   %edi,%edi
44e4a7:	0f 84 ca 00 00 00    	je     0x44e577
44e4ad:	8b 55 0c             	mov    0xc(%ebp),%edx
44e4b0:	2b 42 04             	sub    0x4(%edx),%eax
44e4b3:	03 c7                	add    %edi,%eax
44e4b5:	89 45 08             	mov    %eax,0x8(%ebp)
44e4b8:	33 c0                	xor    %eax,%eax
44e4ba:	39 45 08             	cmp    %eax,0x8(%ebp)
44e4bd:	0f 4c 45 08          	cmovl  0x8(%ebp),%eax
44e4c1:	03 42 04             	add    0x4(%edx),%eax
44e4c4:	83 42 44 ff          	addl   $0xffffffff,0x44(%edx)
44e4c8:	89 02                	mov    %eax,(%edx)
44e4ca:	8b 42 10             	mov    0x10(%edx),%eax
44e4cd:	89 45 f4             	mov    %eax,-0xc(%ebp)
44e4d0:	8b 45 08             	mov    0x8(%ebp),%eax
44e4d3:	89 42 10             	mov    %eax,0x10(%edx)
44e4d6:	0f 88 9b 00 00 00    	js     0x44e577
44e4dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e4df:	52                   	push   %edx
44e4e0:	57                   	push   %edi
44e4e1:	e8 ea ae ff ff       	call   0x4493d0
44e4e6:	8b f8                	mov    %eax,%edi
44e4e8:	85 ff                	test   %edi,%edi
44e4ea:	0f 84 87 00 00 00    	je     0x44e577
44e4f0:	8b 55 0c             	mov    0xc(%ebp),%edx
44e4f3:	ff 42 44             	incl   0x44(%edx)
44e4f6:	83 7a 3c 00          	cmpl   $0x0,0x3c(%edx)
44e4fa:	75 7b                	jne    0x44e577
44e4fc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44e4ff:	2b 4d 08             	sub    0x8(%ebp),%ecx
44e502:	8b 42 10             	mov    0x10(%edx),%eax
44e505:	03 c1                	add    %ecx,%eax
44e507:	33 c9                	xor    %ecx,%ecx
44e509:	85 c0                	test   %eax,%eax
44e50b:	89 42 10             	mov    %eax,0x10(%edx)
44e50e:	0f 48 c8             	cmovs  %eax,%ecx
44e511:	03 4a 04             	add    0x4(%edx),%ecx
44e514:	89 0a                	mov    %ecx,(%edx)
44e516:	3b f9                	cmp    %ecx,%edi
44e518:	0f 83 76 fe ff ff    	jae    0x44e394
44e51e:	80 3f 12             	cmpb   $0x12,(%edi)
44e521:	0f 84 09 ff ff ff    	je     0x44e430
44e527:	e9 68 fe ff ff       	jmp    0x44e394
44e52c:	80 fb 08             	cmp    $0x8,%bl
44e52f:	75 59                	jne    0x44e58a
44e531:	0f b6 17             	movzbl (%edi),%edx
44e534:	83 ce 01             	or     $0x1,%esi
44e537:	84 d2                	test   %dl,%dl
44e539:	78 03                	js     0x44e53e
44e53b:	47                   	inc    %edi
44e53c:	eb 2b                	jmp    0x44e569
44e53e:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44e542:	83 c2 80             	add    $0xffffff80,%edx
44e545:	8b c1                	mov    %ecx,%eax
44e547:	c1 e0 07             	shl    $0x7,%eax
44e54a:	03 d0                	add    %eax,%edx
44e54c:	84 c9                	test   %cl,%cl
44e54e:	78 05                	js     0x44e555
44e550:	83 c7 02             	add    $0x2,%edi
44e553:	eb 14                	jmp    0x44e569
44e555:	52                   	push   %edx
44e556:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44e559:	57                   	push   %edi
44e55a:	50                   	push   %eax
44e55b:	e8 00 15 01 00       	call   0x45fa60
44e560:	8b 55 d8             	mov    -0x28(%ebp),%edx
44e563:	83 c4 0c             	add    $0xc,%esp
44e566:	8b 7d d4             	mov    -0x2c(%ebp),%edi
44e569:	8b 45 fc             	mov    -0x4(%ebp),%eax
44e56c:	89 50 20             	mov    %edx,0x20(%eax)
44e56f:	85 ff                	test   %edi,%edi
44e571:	0f 85 1a fe ff ff    	jne    0x44e391
44e577:	33 ff                	xor    %edi,%edi
44e579:	8b 45 fc             	mov    -0x4(%ebp),%eax
44e57c:	09 70 08             	or     %esi,0x8(%eax)
44e57f:	8b c7                	mov    %edi,%eax
44e581:	5f                   	pop    %edi
44e582:	5e                   	pop    %esi
44e583:	5b                   	pop    %ebx
44e584:	8b e5                	mov    %ebp,%esp
44e586:	5d                   	pop    %ebp
44e587:	c2 08 00             	ret    $0x8
44e58a:	8b c3                	mov    %ebx,%eax
44e58c:	24 07                	and    $0x7,%al
44e58e:	3c 04                	cmp    $0x4,%al
44e590:	74 57                	je     0x44e5e9
44e592:	85 db                	test   %ebx,%ebx
44e594:	74 53                	je     0x44e5e9
44e596:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44e599:	83 c1 04             	add    $0x4,%ecx
44e59c:	f6 01 01             	testb  $0x1,(%ecx)
44e59f:	74 0a                	je     0x44e5ab
44e5a1:	8b 01                	mov    (%ecx),%eax
44e5a3:	83 e0 fc             	and    $0xfffffffc,%eax
44e5a6:	83 c0 04             	add    $0x4,%eax
44e5a9:	eb 05                	jmp    0x44e5b0
44e5ab:	e8 80 26 00 00       	call   0x450c30
44e5b0:	8b 55 0c             	mov    0xc(%ebp),%edx
44e5b3:	52                   	push   %edx
44e5b4:	57                   	push   %edi
44e5b5:	50                   	push   %eax
44e5b6:	6a 00                	push   $0x0
44e5b8:	53                   	push   %ebx
44e5b9:	e8 f2 29 01 00       	call   0x460fb0
44e5be:	8b f8                	mov    %eax,%edi
44e5c0:	83 c4 14             	add    $0x14,%esp
44e5c3:	85 ff                	test   %edi,%edi
44e5c5:	74 b0                	je     0x44e577
44e5c7:	e9 c5 fd ff ff       	jmp    0x44e391
44e5cc:	85 c0                	test   %eax,%eax
44e5ce:	7e a9                	jle    0x44e579
44e5d0:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
44e5d4:	75 a3                	jne    0x44e579
44e5d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
44e5d9:	33 ff                	xor    %edi,%edi
44e5db:	09 70 08             	or     %esi,0x8(%eax)
44e5de:	8b c7                	mov    %edi,%eax
44e5e0:	5f                   	pop    %edi
44e5e1:	5e                   	pop    %esi
44e5e2:	5b                   	pop    %ebx
44e5e3:	8b e5                	mov    %ebp,%esp
44e5e5:	5d                   	pop    %ebp
44e5e6:	c2 08 00             	ret    $0x8
44e5e9:	8b 55 0c             	mov    0xc(%ebp),%edx
44e5ec:	8d 43 ff             	lea    -0x1(%ebx),%eax
44e5ef:	89 42 3c             	mov    %eax,0x3c(%edx)
44e5f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44e5f5:	09 70 08             	or     %esi,0x8(%eax)
44e5f8:	8b c7                	mov    %edi,%eax
44e5fa:	5f                   	pop    %edi
44e5fb:	5e                   	pop    %esi
44e5fc:	5b                   	pop    %ebx
44e5fd:	8b e5                	mov    %ebp,%esp
44e5ff:	5d                   	pop    %ebp
44e600:	c2 08 00             	ret    $0x8
44e603:	cc                   	int3
44e604:	cc                   	int3
44e605:	cc                   	int3
44e606:	cc                   	int3
44e607:	cc                   	int3
44e608:	cc                   	int3
44e609:	cc                   	int3
44e60a:	cc                   	int3
44e60b:	cc                   	int3
44e60c:	cc                   	int3
44e60d:	cc                   	int3
44e60e:	cc                   	int3
44e60f:	cc                   	int3
44e610:	55                   	push   %ebp
44e611:	8b ec                	mov    %esp,%ebp
44e613:	83 ec 08             	sub    $0x8,%esp
44e616:	8b 45 08             	mov    0x8(%ebp),%eax
44e619:	56                   	push   %esi
44e61a:	8b f1                	mov    %ecx,%esi
44e61c:	57                   	push   %edi
44e61d:	8b 7d 0c             	mov    0xc(%ebp),%edi
44e620:	89 75 fc             	mov    %esi,-0x4(%ebp)
44e623:	f6 46 08 01          	testb  $0x1,0x8(%esi)
44e627:	74 24                	je     0x44e64d
44e629:	3b 07                	cmp    (%edi),%eax
44e62b:	72 08                	jb     0x44e635
44e62d:	50                   	push   %eax
44e62e:	8b cf                	mov    %edi,%ecx
44e630:	e8 3b af 00 00       	call   0x459570
44e635:	8b 76 20             	mov    0x20(%esi),%esi
44e638:	50                   	push   %eax
44e639:	6a 08                	push   $0x8
44e63b:	e8 80 24 00 00       	call   0x450ac0
44e640:	50                   	push   %eax
44e641:	56                   	push   %esi
44e642:	e8 79 24 00 00       	call   0x450ac0
44e647:	8b 75 fc             	mov    -0x4(%ebp),%esi
44e64a:	83 c4 10             	add    $0x10,%esp
44e64d:	8b 4e 14             	mov    0x14(%esi),%ecx
44e650:	53                   	push   %ebx
44e651:	33 db                	xor    %ebx,%ebx
44e653:	89 4d f8             	mov    %ecx,-0x8(%ebp)