4ba413:	89 7d ec             	mov    %edi,-0x14(%ebp)
4ba416:	8d 4f 08             	lea    0x8(%edi),%ecx
4ba419:	e8 72 d4 fe ff       	call   0x4a7890
4ba41e:	8b 47 20             	mov    0x20(%edi),%eax
4ba421:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ba424:	85 c0                	test   %eax,%eax
4ba426:	7e 26                	jle    0x4ba44e
4ba428:	8b 5f 28             	mov    0x28(%edi),%ebx
4ba42b:	33 f6                	xor    %esi,%esi
4ba42d:	8b f8                	mov    %eax,%edi
4ba42f:	90                   	nop
4ba430:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4ba434:	e8 37 6d 00 00       	call   0x4c1170
4ba439:	46                   	inc    %esi
4ba43a:	3b f7                	cmp    %edi,%esi
4ba43c:	7c f2                	jl     0x4ba430
4ba43e:	8b 7d ec             	mov    -0x14(%ebp),%edi
4ba441:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4ba444:	8b 75 f8             	mov    -0x8(%ebp),%esi
4ba447:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
4ba44e:	c6 47 2c 00          	movb   $0x0,0x2c(%edi)
4ba452:	8d 4f 04             	lea    0x4(%edi),%ecx
4ba455:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4ba45c:	f6 01 01             	testb  $0x1,(%ecx)
4ba45f:	74 05                	je     0x4ba466
4ba461:	e8 4a 62 f9 ff       	call   0x4506b0
4ba466:	8b 7d fc             	mov    -0x4(%ebp),%edi
4ba469:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
4ba470:	8d 4b 04             	lea    0x4(%ebx),%ecx
4ba473:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4ba47a:	f6 01 01             	testb  $0x1,(%ecx)
4ba47d:	74 05                	je     0x4ba484
4ba47f:	e8 2c 62 f9 ff       	call   0x4506b0
4ba484:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4ba487:	46                   	inc    %esi
4ba488:	89 75 f8             	mov    %esi,-0x8(%ebp)
4ba48b:	3b f7                	cmp    %edi,%esi
4ba48d:	0f 8c 4d ff ff ff    	jl     0x4ba3e0
4ba493:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4ba496:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
4ba49d:	8b 7b 24             	mov    0x24(%ebx),%edi
4ba4a0:	85 ff                	test   %edi,%edi
4ba4a2:	7e 41                	jle    0x4ba4e5
4ba4a4:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4ba4a7:	33 f6                	xor    %esi,%esi
4ba4a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4ba4b0:	8b 44 b3 04          	mov    0x4(%ebx,%esi,4),%eax
4ba4b4:	f6 40 08 03          	testb  $0x3,0x8(%eax)
4ba4b8:	74 08                	je     0x4ba4c2
4ba4ba:	0f 57 c0             	xorps  %xmm0,%xmm0
4ba4bd:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4ba4c2:	8d 48 04             	lea    0x4(%eax),%ecx
4ba4c5:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4ba4cc:	f6 01 01             	testb  $0x1,(%ecx)
4ba4cf:	74 05                	je     0x4ba4d6
4ba4d1:	e8 da 61 f9 ff       	call   0x4506b0
4ba4d6:	46                   	inc    %esi
4ba4d7:	3b f7                	cmp    %edi,%esi
4ba4d9:	7c d5                	jl     0x4ba4b0
4ba4db:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4ba4de:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
4ba4e5:	8d 4b 30             	lea    0x30(%ebx),%ecx
4ba4e8:	e8 83 2d fa ff       	call   0x45d270
4ba4ed:	8b 4b 08             	mov    0x8(%ebx),%ecx
4ba4f0:	f6 c1 03             	test   $0x3,%cl
4ba4f3:	74 2a                	je     0x4ba51f
4ba4f5:	f6 c1 01             	test   $0x1,%cl
4ba4f8:	74 18                	je     0x4ba512
4ba4fa:	8b 43 40             	mov    0x40(%ebx),%eax
4ba4fd:	83 e0 fe             	and    $0xfffffffe,%eax
4ba500:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4ba507:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4ba50b:	72 02                	jb     0x4ba50f
4ba50d:	8b 00                	mov    (%eax),%eax
4ba50f:	c6 00 00             	movb   $0x0,(%eax)
4ba512:	f6 c1 02             	test   $0x2,%cl
4ba515:	74 08                	je     0x4ba51f
4ba517:	8b 4b 44             	mov    0x44(%ebx),%ecx
4ba51a:	e8 b1 4e 00 00       	call   0x4bf3d0
4ba51f:	5f                   	pop    %edi
4ba520:	8d 4b 04             	lea    0x4(%ebx),%ecx
4ba523:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4ba52a:	f6 01 01             	testb  $0x1,(%ecx)
4ba52d:	5e                   	pop    %esi
4ba52e:	5b                   	pop    %ebx
4ba52f:	74 05                	je     0x4ba536
4ba531:	e8 7a 61 f9 ff       	call   0x4506b0
4ba536:	8b e5                	mov    %ebp,%esp
4ba538:	5d                   	pop    %ebp
4ba539:	c3                   	ret
4ba53a:	cc                   	int3
4ba53b:	cc                   	int3
4ba53c:	cc                   	int3
4ba53d:	cc                   	int3
4ba53e:	cc                   	int3
4ba53f:	cc                   	int3
4ba540:	53                   	push   %ebx
4ba541:	8b d9                	mov    %ecx,%ebx
4ba543:	56                   	push   %esi
4ba544:	57                   	push   %edi
4ba545:	8b 73 14             	mov    0x14(%ebx),%esi
4ba548:	83 ee 01             	sub    $0x1,%esi
4ba54b:	78 37                	js     0x4ba584
4ba54d:	0f 1f 00             	nopl   (%eax)
4ba550:	8b 43 1c             	mov    0x1c(%ebx),%eax
4ba553:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
4ba557:	8b 41 08             	mov    0x8(%ecx),%eax
4ba55a:	d1 e8                	shr    $1,%eax
4ba55c:	a8 01                	test   $0x1,%al
4ba55e:	74 1f                	je     0x4ba57f
4ba560:	8b 79 14             	mov    0x14(%ecx),%edi
4ba563:	8d 4f 08             	lea    0x8(%edi),%ecx
4ba566:	e8 a5 fd fe ff       	call   0x4aa310
4ba56b:	84 c0                	test   %al,%al
4ba56d:	74 3d                	je     0x4ba5ac
4ba56f:	8d 47 1c             	lea    0x1c(%edi),%eax
4ba572:	50                   	push   %eax
4ba573:	e8 18 c8 00 00       	call   0x4c6d90
4ba578:	83 c4 04             	add    $0x4,%esp
4ba57b:	84 c0                	test   %al,%al
4ba57d:	74 2d                	je     0x4ba5ac
4ba57f:	83 ee 01             	sub    $0x1,%esi
4ba582:	79 cc                	jns    0x4ba550
4ba584:	8b 43 08             	mov    0x8(%ebx),%eax
4ba587:	d1 e8                	shr    $1,%eax
4ba589:	a8 01                	test   $0x1,%al
4ba58b:	74 25                	je     0x4ba5b2
4ba58d:	8b 73 44             	mov    0x44(%ebx),%esi
4ba590:	8d 4e 08             	lea    0x8(%esi),%ecx
4ba593:	e8 78 fd fe ff       	call   0x4aa310
4ba598:	84 c0                	test   %al,%al
4ba59a:	74 10                	je     0x4ba5ac
4ba59c:	8d 46 1c             	lea    0x1c(%esi),%eax
4ba59f:	50                   	push   %eax
4ba5a0:	e8 eb c7 00 00       	call   0x4c6d90
4ba5a5:	83 c4 04             	add    $0x4,%esp
4ba5a8:	84 c0                	test   %al,%al
4ba5aa:	75 06                	jne    0x4ba5b2
4ba5ac:	5f                   	pop    %edi
4ba5ad:	5e                   	pop    %esi
4ba5ae:	32 c0                	xor    %al,%al
4ba5b0:	5b                   	pop    %ebx
4ba5b1:	c3                   	ret
4ba5b2:	5f                   	pop    %edi
4ba5b3:	5e                   	pop    %esi
4ba5b4:	b0 01                	mov    $0x1,%al
4ba5b6:	5b                   	pop    %ebx
4ba5b7:	c3                   	ret
4ba5b8:	cc                   	int3
4ba5b9:	cc                   	int3
4ba5ba:	cc                   	int3
4ba5bb:	cc                   	int3
4ba5bc:	cc                   	int3
4ba5bd:	cc                   	int3
4ba5be:	cc                   	int3
4ba5bf:	cc                   	int3
4ba5c0:	55                   	push   %ebp
4ba5c1:	8b ec                	mov    %esp,%ebp
4ba5c3:	83 ec 30             	sub    $0x30,%esp
4ba5c6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4ba5c9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4ba5cc:	53                   	push   %ebx
4ba5cd:	8b 59 14             	mov    0x14(%ecx),%ebx
4ba5d0:	56                   	push   %esi
4ba5d1:	85 c0                	test   %eax,%eax
4ba5d3:	74 09                	je     0x4ba5de
4ba5d5:	83 c0 04             	add    $0x4,%eax
4ba5d8:	8b d0                	mov    %eax,%edx
4ba5da:	8b f0                	mov    %eax,%esi
4ba5dc:	eb 06                	jmp    0x4ba5e4
4ba5de:	33 c0                	xor    %eax,%eax
4ba5e0:	33 d2                	xor    %edx,%edx
4ba5e2:	33 f6                	xor    %esi,%esi
4ba5e4:	57                   	push   %edi
4ba5e5:	8d 3c 98             	lea    (%eax,%ebx,4),%edi
4ba5e8:	3b d7                	cmp    %edi,%edx
4ba5ea:	74 2d                	je     0x4ba619
4ba5ec:	0f 1f 40 00          	nopl   0x0(%eax)
4ba5f0:	8b 0e                	mov    (%esi),%ecx
4ba5f2:	e8 79 0b 00 00       	call   0x4bb170
4ba5f7:	8b c8                	mov    %eax,%ecx
4ba5f9:	83 c6 04             	add    $0x4,%esi
4ba5fc:	83 c8 01             	or     $0x1,%eax
4ba5ff:	0f bd c0             	bsr    %eax,%eax
4ba602:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ba605:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba608:	83 c0 49             	add    $0x49,%eax
4ba60b:	c1 e8 06             	shr    $0x6,%eax
4ba60e:	03 c1                	add    %ecx,%eax
4ba610:	03 d8                	add    %eax,%ebx
4ba612:	3b f7                	cmp    %edi,%esi
4ba614:	75 da                	jne    0x4ba5f0
4ba616:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ba619:	8b 51 24             	mov    0x24(%ecx),%edx
4ba61c:	03 da                	add    %edx,%ebx
4ba61e:	8b 41 2c             	mov    0x2c(%ecx),%eax
4ba621:	85 c0                	test   %eax,%eax
4ba623:	74 07                	je     0x4ba62c
4ba625:	83 c0 04             	add    $0x4,%eax
4ba628:	8b f0                	mov    %eax,%esi
4ba62a:	eb 04                	jmp    0x4ba630
4ba62c:	33 c0                	xor    %eax,%eax
4ba62e:	33 f6                	xor    %esi,%esi
4ba630:	8d 3c 90             	lea    (%eax,%edx,4),%edi
4ba633:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ba636:	3b c7                	cmp    %edi,%eax
4ba638:	0f 84 a1 00 00 00    	je     0x4ba6df
4ba63e:	66 90                	xchg   %ax,%ax
4ba640:	8b 16                	mov    (%esi),%edx
4ba642:	33 c9                	xor    %ecx,%ecx
4ba644:	8b 42 08             	mov    0x8(%edx),%eax
4ba647:	a8 03                	test   $0x3,%al
4ba649:	74 52                	je     0x4ba69d
4ba64b:	a8 01                	test   $0x1,%al
4ba64d:	74 27                	je     0x4ba676
4ba64f:	8b 4a 10             	mov    0x10(%edx),%ecx
4ba652:	85 c9                	test   %ecx,%ecx
4ba654:	79 07                	jns    0x4ba65d
4ba656:	b9 0a 00 00 00       	mov    $0xa,%ecx
4ba65b:	eb 18                	jmp    0x4ba675
4ba65d:	83 c9 01             	or     $0x1,%ecx
4ba660:	0f bd c1             	bsr    %ecx,%eax
4ba663:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ba666:	8d 0c c5 49 00 00 00 	lea    0x49(,%eax,8),%ecx
4ba66d:	03 c8                	add    %eax,%ecx
4ba66f:	8b 42 08             	mov    0x8(%edx),%eax
4ba672:	c1 e9 06             	shr    $0x6,%ecx
4ba675:	41                   	inc    %ecx
4ba676:	a8 02                	test   $0x2,%al
4ba678:	74 23                	je     0x4ba69d
4ba67a:	8b 42 14             	mov    0x14(%edx),%eax
4ba67d:	85 c0                	test   %eax,%eax
4ba67f:	79 07                	jns    0x4ba688
4ba681:	b8 0a 00 00 00       	mov    $0xa,%eax
4ba686:	eb 12                	jmp    0x4ba69a
4ba688:	83 c8 01             	or     $0x1,%eax
4ba68b:	0f bd c0             	bsr    %eax,%eax
4ba68e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4ba691:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba694:	83 c0 49             	add    $0x49,%eax
4ba697:	c1 e8 06             	shr    $0x6,%eax
4ba69a:	41                   	inc    %ecx
4ba69b:	03 c8                	add    %eax,%ecx
4ba69d:	8d 42 04             	lea    0x4(%edx),%eax
4ba6a0:	83 c2 0c             	add    $0xc,%edx
4ba6a3:	f6 00 01             	testb  $0x1,(%eax)
4ba6a6:	74 0f                	je     0x4ba6b7
4ba6a8:	52                   	push   %edx
4ba6a9:	51                   	push   %ecx
4ba6aa:	50                   	push   %eax
4ba6ab:	e8 00 4e fb ff       	call   0x46f4b0
4ba6b0:	83 c4 0c             	add    $0xc,%esp
4ba6b3:	8b c8                	mov    %eax,%ecx
4ba6b5:	eb 02                	jmp    0x4ba6b9
4ba6b7:	89 0a                	mov    %ecx,(%edx)
4ba6b9:	8b c1                	mov    %ecx,%eax
4ba6bb:	83 c6 04             	add    $0x4,%esi
4ba6be:	83 c8 01             	or     $0x1,%eax
4ba6c1:	0f bd c0             	bsr    %eax,%eax
4ba6c4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ba6c7:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba6ca:	83 c0 49             	add    $0x49,%eax
4ba6cd:	c1 e8 06             	shr    $0x6,%eax
4ba6d0:	03 c1                	add    %ecx,%eax
4ba6d2:	03 d8                	add    %eax,%ebx
4ba6d4:	3b f7                	cmp    %edi,%esi
4ba6d6:	0f 85 64 ff ff ff    	jne    0x4ba640
4ba6dc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ba6df:	8d 79 30             	lea    0x30(%ecx),%edi
4ba6e2:	8b cf                	mov    %edi,%ecx
4ba6e4:	e8 d7 38 fa ff       	call   0x45dfc0
4ba6e9:	03 d8                	add    %eax,%ebx
4ba6eb:	8b cf                	mov    %edi,%ecx
4ba6ed:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4ba6f0:	e8 cb 38 fa ff       	call   0x45dfc0
4ba6f5:	33 f6                	xor    %esi,%esi
4ba6f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ba6fa:	85 c0                	test   %eax,%eax
4ba6fc:	7e 2e                	jle    0x4ba72c
4ba6fe:	66 90                	xchg   %ax,%ax
4ba700:	56                   	push   %esi
4ba701:	8b cf                	mov    %edi,%ecx
4ba703:	e8 d8 2b fa ff       	call   0x45d2e0
4ba708:	46                   	inc    %esi
4ba709:	8b 48 10             	mov    0x10(%eax),%ecx
4ba70c:	8b c1                	mov    %ecx,%eax
4ba70e:	83 c8 01             	or     $0x1,%eax
4ba711:	0f bd c0             	bsr    %eax,%eax
4ba714:	89 45 dc             	mov    %eax,-0x24(%ebp)
4ba717:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba71a:	83 c0 49             	add    $0x49,%eax
4ba71d:	c1 e8 06             	shr    $0x6,%eax
4ba720:	03 c1                	add    %ecx,%eax
4ba722:	03 d8                	add    %eax,%ebx
4ba724:	3b 75 f4             	cmp    -0xc(%ebp),%esi
4ba727:	7c d7                	jl     0x4ba700
4ba729:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4ba72c:	8b 75 fc             	mov    -0x4(%ebp),%esi
4ba72f:	8b 56 08             	mov    0x8(%esi),%edx
4ba732:	f6 c2 03             	test   $0x3,%dl
4ba735:	0f 84 ee 00 00 00    	je     0x4ba829
4ba73b:	f6 c2 01             	test   $0x1,%dl
4ba73e:	74 25                	je     0x4ba765
4ba740:	8b 46 40             	mov    0x40(%esi),%eax
4ba743:	83 e0 fe             	and    $0xfffffffe,%eax
4ba746:	8b 48 10             	mov    0x10(%eax),%ecx
4ba749:	8b c1                	mov    %ecx,%eax
4ba74b:	83 c8 01             	or     $0x1,%eax
4ba74e:	0f bd c0             	bsr    %eax,%eax
4ba751:	89 45 d8             	mov    %eax,-0x28(%ebp)
4ba754:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba757:	83 c0 49             	add    $0x49,%eax
4ba75a:	c1 e8 06             	shr    $0x6,%eax
4ba75d:	40                   	inc    %eax
4ba75e:	03 c1                	add    %ecx,%eax
4ba760:	03 d8                	add    %eax,%ebx
4ba762:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4ba765:	f6 c2 02             	test   $0x2,%dl
4ba768:	0f 84 bb 00 00 00    	je     0x4ba829
4ba76e:	8b 76 44             	mov    0x44(%esi),%esi
4ba771:	89 75 f0             	mov    %esi,-0x10(%ebp)
4ba774:	8d 4e 08             	lea    0x8(%esi),%ecx
4ba777:	e8 34 cf fe ff       	call   0x4a76b0
4ba77c:	8b 7e 20             	mov    0x20(%esi),%edi
4ba77f:	8d 0c 78             	lea    (%eax,%edi,2),%ecx
4ba782:	8b 46 28             	mov    0x28(%esi),%eax
4ba785:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ba788:	85 c0                	test   %eax,%eax
4ba78a:	74 09                	je     0x4ba795
4ba78c:	83 c0 04             	add    $0x4,%eax
4ba78f:	8b d0                	mov    %eax,%edx
4ba791:	8b f0                	mov    %eax,%esi
4ba793:	eb 06                	jmp    0x4ba79b
4ba795:	33 c0                	xor    %eax,%eax
4ba797:	33 d2                	xor    %edx,%edx
4ba799:	33 f6                	xor    %esi,%esi
4ba79b:	8d 3c b8             	lea    (%eax,%edi,4),%edi
4ba79e:	3b d7                	cmp    %edi,%edx
4ba7a0:	74 32                	je     0x4ba7d4
4ba7a2:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4ba7a5:	8b 0e                	mov    (%esi),%ecx
4ba7a7:	e8 f4 6a 00 00       	call   0x4c12a0
4ba7ac:	8b c8                	mov    %eax,%ecx
4ba7ae:	83 c6 04             	add    $0x4,%esi
4ba7b1:	83 c8 01             	or     $0x1,%eax
4ba7b4:	0f bd c0             	bsr    %eax,%eax
4ba7b7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4ba7ba:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4ba7bd:	83 c0 49             	add    $0x49,%eax
4ba7c0:	c1 e8 06             	shr    $0x6,%eax