44f49f:	1b f6                	sbb    %esi,%esi
44f4a1:	8d 41 04             	lea    0x4(%ecx),%eax
44f4a4:	23 f0                	and    %eax,%esi
44f4a6:	8d 51 04             	lea    0x4(%ecx),%edx
44f4a9:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
44f4b0:	03 d0                	add    %eax,%edx
44f4b2:	85 c9                	test   %ecx,%ecx
44f4b4:	0f 44 d0             	cmove  %eax,%edx
44f4b7:	3b f2                	cmp    %edx,%esi
44f4b9:	74 2b                	je     0x44f4e6
44f4bb:	8b da                	mov    %edx,%ebx
44f4bd:	8d 49 00             	lea    0x0(%ecx),%ecx
44f4c0:	8b 0e                	mov    (%esi),%ecx
44f4c2:	e8 69 ed ff ff       	call   0x44e230
44f4c7:	8b c8                	mov    %eax,%ecx
44f4c9:	83 c6 04             	add    $0x4,%esi
44f4cc:	83 c8 01             	or     $0x1,%eax
44f4cf:	0f bd c0             	bsr    %eax,%eax
44f4d2:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44f4d5:	83 c0 49             	add    $0x49,%eax
44f4d8:	c1 e8 06             	shr    $0x6,%eax
44f4db:	03 c1                	add    %ecx,%eax
44f4dd:	03 f8                	add    %eax,%edi
44f4df:	3b f3                	cmp    %ebx,%esi
44f4e1:	75 dd                	jne    0x44f4c0
44f4e3:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44f4e6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44f4e9:	e9 dd fe ff ff       	jmp    0x44f3cb
44f4ee:	8b 53 08             	mov    0x8(%ebx),%edx
44f4f1:	33 c9                	xor    %ecx,%ecx
44f4f3:	f6 42 08 01          	testb  $0x1,0x8(%edx)
44f4f7:	74 16                	je     0x44f50f
44f4f9:	8b 42 10             	mov    0x10(%edx),%eax
44f4fc:	83 c8 01             	or     $0x1,%eax
44f4ff:	0f bd c0             	bsr    %eax,%eax
44f502:	8d 0c c5 49 00 00 00 	lea    0x49(,%eax,8),%ecx
44f509:	03 c8                	add    %eax,%ecx
44f50b:	c1 e9 06             	shr    $0x6,%ecx
44f50e:	41                   	inc    %ecx
44f50f:	8d 42 04             	lea    0x4(%edx),%eax
44f512:	83 c2 0c             	add    $0xc,%edx
44f515:	f6 00 01             	testb  $0x1,(%eax)
44f518:	74 0f                	je     0x44f529
44f51a:	52                   	push   %edx
44f51b:	51                   	push   %ecx
44f51c:	50                   	push   %eax
44f51d:	e8 8e ff 01 00       	call   0x46f4b0
44f522:	83 c4 0c             	add    $0xc,%esp
44f525:	8b c8                	mov    %eax,%ecx
44f527:	eb 26                	jmp    0x44f54f
44f529:	89 0a                	mov    %ecx,(%edx)
44f52b:	eb 22                	jmp    0x44f54f
44f52d:	8b 43 08             	mov    0x8(%ebx),%eax
44f530:	8d 48 04             	lea    0x4(%eax),%ecx
44f533:	83 c0 08             	add    $0x8,%eax
44f536:	f6 01 01             	testb  $0x1,(%ecx)
44f539:	74 10                	je     0x44f54b
44f53b:	50                   	push   %eax
44f53c:	6a 00                	push   $0x0
44f53e:	51                   	push   %ecx
44f53f:	e8 6c ff 01 00       	call   0x46f4b0
44f544:	83 c4 0c             	add    $0xc,%esp
44f547:	8b c8                	mov    %eax,%ecx
44f549:	eb 04                	jmp    0x44f54f
44f54b:	89 10                	mov    %edx,(%eax)
44f54d:	33 c9                	xor    %ecx,%ecx
44f54f:	8b c1                	mov    %ecx,%eax
44f551:	8d 51 01             	lea    0x1(%ecx),%edx
44f554:	83 c8 01             	or     $0x1,%eax
44f557:	0f bd c0             	bsr    %eax,%eax
44f55a:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44f55d:	83 c0 49             	add    $0x49,%eax
44f560:	c1 e8 06             	shr    $0x6,%eax
44f563:	03 d0                	add    %eax,%edx
44f565:	5e                   	pop    %esi
44f566:	8d 43 04             	lea    0x4(%ebx),%eax
44f569:	83 c3 0c             	add    $0xc,%ebx
44f56c:	f6 00 01             	testb  $0x1,(%eax)
44f56f:	74 11                	je     0x44f582
44f571:	53                   	push   %ebx
44f572:	52                   	push   %edx
44f573:	50                   	push   %eax
44f574:	e8 37 ff 01 00       	call   0x46f4b0
44f579:	83 c4 0c             	add    $0xc,%esp
44f57c:	5f                   	pop    %edi
44f57d:	5b                   	pop    %ebx
44f57e:	8b e5                	mov    %ebp,%esp
44f580:	5d                   	pop    %ebp
44f581:	c3                   	ret
44f582:	5f                   	pop    %edi
44f583:	89 13                	mov    %edx,(%ebx)
44f585:	8b c2                	mov    %edx,%eax
44f587:	5b                   	pop    %ebx
44f588:	8b e5                	mov    %ebp,%esp
44f58a:	5d                   	pop    %ebp
44f58b:	c3                   	ret
44f58c:	74 f3                	je     0x44f581
44f58e:	44                   	inc    %esp
44f58f:	00 f7                	add    %dh,%bh
44f591:	f3 44                	repz inc %esp
44f593:	00 8f f4 44 00 ee    	add    %cl,-0x11ffbb0c(%edi)
44f599:	f4                   	hlt
44f59a:	44                   	inc    %esp
44f59b:	00 2d f5 44 00 55    	add    %ch,0x550044f5
44f5a1:	8b ec                	mov    %esp,%ebp
44f5a3:	83 ec 34             	sub    $0x34,%esp
44f5a6:	8b 55 08             	mov    0x8(%ebp),%edx
44f5a9:	53                   	push   %ebx
44f5aa:	56                   	push   %esi
44f5ab:	8b 75 0c             	mov    0xc(%ebp),%esi
44f5ae:	57                   	push   %edi
44f5af:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44f5b2:	3b 16                	cmp    (%esi),%edx
44f5b4:	72 2a                	jb     0x44f5e0
44f5b6:	8b c2                	mov    %edx,%eax
44f5b8:	2b 46 04             	sub    0x4(%esi),%eax
44f5bb:	3b 46 10             	cmp    0x10(%esi),%eax
44f5be:	0f 84 d2 02 00 00    	je     0x44f896
44f5c4:	ff 76 48             	push   0x48(%esi)
44f5c7:	8b ce                	mov    %esi,%ecx
44f5c9:	50                   	push   %eax
44f5ca:	8d 45 f4             	lea    -0xc(%ebp),%eax
44f5cd:	50                   	push   %eax
44f5ce:	e8 5d f9 00 00       	call   0x45ef30
44f5d3:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
44f5d7:	8b 55 f4             	mov    -0xc(%ebp),%edx
44f5da:	0f 85 c2 02 00 00    	jne    0x44f8a2
44f5e0:	0f b6 1a             	movzbl (%edx),%ebx
44f5e3:	8d 7a 01             	lea    0x1(%edx),%edi
44f5e6:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
44f5ec:	72 2e                	jb     0x44f61c
44f5ee:	0f b6 0f             	movzbl (%edi),%ecx
44f5f1:	83 c3 80             	add    $0xffffff80,%ebx
44f5f4:	8b c1                	mov    %ecx,%eax
44f5f6:	c1 e0 07             	shl    $0x7,%eax
44f5f9:	03 d8                	add    %eax,%ebx
44f5fb:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44f601:	73 05                	jae    0x44f608
44f603:	8d 7a 02             	lea    0x2(%edx),%edi
44f606:	eb 14                	jmp    0x44f61c
44f608:	53                   	push   %ebx
44f609:	52                   	push   %edx
44f60a:	8d 45 ec             	lea    -0x14(%ebp),%eax
44f60d:	50                   	push   %eax
44f60e:	e8 cd 03 01 00       	call   0x45f9e0
44f613:	8b 5d f0             	mov    -0x10(%ebp),%ebx
44f616:	83 c4 0c             	add    $0xc,%esp
44f619:	8b 7d ec             	mov    -0x14(%ebp),%edi
44f61c:	85 ff                	test   %edi,%edi
44f61e:	0f 84 23 02 00 00    	je     0x44f847
44f624:	8b c3                	mov    %ebx,%eax
44f626:	c1 e8 03             	shr    $0x3,%eax
44f629:	48                   	dec    %eax
44f62a:	83 f8 04             	cmp    $0x4,%eax
44f62d:	0f 87 1f 02 00 00    	ja     0x44f852
44f633:	ff 24 85 c0 f8 44 00 	jmp    *0x44f8c0(,%eax,4)
44f63a:	80 fb 0a             	cmp    $0xa,%bl
44f63d:	0f 85 0f 02 00 00    	jne    0x44f852
44f643:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f646:	e8 65 2c 00 00       	call   0x4522b0
44f64b:	8b d8                	mov    %eax,%ebx
44f64d:	0f b6 07             	movzbl (%edi),%eax
44f650:	3d 80 00 00 00       	cmp    $0x80,%eax
44f655:	73 03                	jae    0x44f65a
44f657:	47                   	inc    %edi
44f658:	eb 14                	jmp    0x44f66e
44f65a:	50                   	push   %eax
44f65b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44f65e:	57                   	push   %edi
44f65f:	50                   	push   %eax
44f660:	e8 0b 02 01 00       	call   0x45f870
44f665:	8b 7d e4             	mov    -0x1c(%ebp),%edi
44f668:	83 c4 0c             	add    $0xc,%esp
44f66b:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f66e:	85 ff                	test   %edi,%edi
44f670:	0f 84 d1 01 00 00    	je     0x44f847
44f676:	2b 46 04             	sub    0x4(%esi),%eax
44f679:	8d 14 38             	lea    (%eax,%edi,1),%edx
44f67c:	33 c0                	xor    %eax,%eax
44f67e:	85 d2                	test   %edx,%edx
44f680:	89 55 0c             	mov    %edx,0xc(%ebp)
44f683:	0f 48 c2             	cmovs  %edx,%eax
44f686:	03 46 04             	add    0x4(%esi),%eax
44f689:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
44f68d:	89 06                	mov    %eax,(%esi)
44f68f:	8b 46 10             	mov    0x10(%esi),%eax
44f692:	89 45 08             	mov    %eax,0x8(%ebp)
44f695:	89 56 10             	mov    %edx,0x10(%esi)
44f698:	0f 88 a9 01 00 00    	js     0x44f847
44f69e:	56                   	push   %esi
44f69f:	57                   	push   %edi
44f6a0:	8b cb                	mov    %ebx,%ecx
44f6a2:	e8 19 e3 ff ff       	call   0x44d9c0
44f6a7:	8b d0                	mov    %eax,%edx
44f6a9:	85 d2                	test   %edx,%edx
44f6ab:	0f 84 96 01 00 00    	je     0x44f847
44f6b1:	ff 46 44             	incl   0x44(%esi)
44f6b4:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
44f6b8:	0f 85 89 01 00 00    	jne    0x44f847
44f6be:	8b 46 10             	mov    0x10(%esi),%eax
44f6c1:	33 c9                	xor    %ecx,%ecx
44f6c3:	2b 45 0c             	sub    0xc(%ebp),%eax
44f6c6:	03 45 08             	add    0x8(%ebp),%eax
44f6c9:	89 46 10             	mov    %eax,0x10(%esi)
44f6cc:	0f 48 c8             	cmovs  %eax,%ecx
44f6cf:	03 4e 04             	add    0x4(%esi),%ecx
44f6d2:	89 0e                	mov    %ecx,(%esi)
44f6d4:	e9 d9 fe ff ff       	jmp    0x44f5b2
44f6d9:	80 fb 12             	cmp    $0x12,%bl
44f6dc:	0f 85 70 01 00 00    	jne    0x44f852
44f6e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f6e5:	e8 66 2b 00 00       	call   0x452250
44f6ea:	8b d8                	mov    %eax,%ebx
44f6ec:	0f b6 07             	movzbl (%edi),%eax
44f6ef:	3d 80 00 00 00       	cmp    $0x80,%eax
44f6f4:	73 03                	jae    0x44f6f9
44f6f6:	47                   	inc    %edi
44f6f7:	eb 14                	jmp    0x44f70d
44f6f9:	50                   	push   %eax
44f6fa:	8d 45 dc             	lea    -0x24(%ebp),%eax
44f6fd:	57                   	push   %edi
44f6fe:	50                   	push   %eax
44f6ff:	e8 6c 01 01 00       	call   0x45f870
44f704:	8b 7d dc             	mov    -0x24(%ebp),%edi
44f707:	83 c4 0c             	add    $0xc,%esp
44f70a:	8b 45 e0             	mov    -0x20(%ebp),%eax
44f70d:	85 ff                	test   %edi,%edi
44f70f:	0f 84 32 01 00 00    	je     0x44f847
44f715:	2b 46 04             	sub    0x4(%esi),%eax
44f718:	8d 14 38             	lea    (%eax,%edi,1),%edx
44f71b:	33 c0                	xor    %eax,%eax
44f71d:	85 d2                	test   %edx,%edx
44f71f:	89 55 0c             	mov    %edx,0xc(%ebp)
44f722:	0f 48 c2             	cmovs  %edx,%eax
44f725:	03 46 04             	add    0x4(%esi),%eax
44f728:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
44f72c:	89 06                	mov    %eax,(%esi)
44f72e:	8b 46 10             	mov    0x10(%esi),%eax
44f731:	89 45 08             	mov    %eax,0x8(%ebp)
44f734:	89 56 10             	mov    %edx,0x10(%esi)
44f737:	0f 88 0a 01 00 00    	js     0x44f847
44f73d:	56                   	push   %esi
44f73e:	57                   	push   %edi
44f73f:	8b cb                	mov    %ebx,%ecx
44f741:	e8 aa e6 ff ff       	call   0x44ddf0
44f746:	e9 5c ff ff ff       	jmp    0x44f6a7
44f74b:	80 fb 1a             	cmp    $0x1a,%bl
44f74e:	0f 85 fe 00 00 00    	jne    0x44f852
44f754:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f757:	e8 94 2a 00 00       	call   0x4521f0
44f75c:	8b d8                	mov    %eax,%ebx
44f75e:	0f b6 07             	movzbl (%edi),%eax
44f761:	3d 80 00 00 00       	cmp    $0x80,%eax
44f766:	73 03                	jae    0x44f76b
44f768:	47                   	inc    %edi
44f769:	eb 14                	jmp    0x44f77f
44f76b:	50                   	push   %eax
44f76c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44f76f:	57                   	push   %edi
44f770:	50                   	push   %eax
44f771:	e8 fa 00 01 00       	call   0x45f870
44f776:	8b 7d d4             	mov    -0x2c(%ebp),%edi
44f779:	83 c4 0c             	add    $0xc,%esp
44f77c:	8b 45 d8             	mov    -0x28(%ebp),%eax
44f77f:	85 ff                	test   %edi,%edi
44f781:	0f 84 c0 00 00 00    	je     0x44f847
44f787:	2b 46 04             	sub    0x4(%esi),%eax
44f78a:	8d 14 38             	lea    (%eax,%edi,1),%edx
44f78d:	33 c0                	xor    %eax,%eax
44f78f:	85 d2                	test   %edx,%edx
44f791:	89 55 0c             	mov    %edx,0xc(%ebp)
44f794:	0f 48 c2             	cmovs  %edx,%eax
44f797:	03 46 04             	add    0x4(%esi),%eax
44f79a:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
44f79e:	89 06                	mov    %eax,(%esi)
44f7a0:	8b 46 10             	mov    0x10(%esi),%eax
44f7a3:	89 45 08             	mov    %eax,0x8(%ebp)
44f7a6:	89 56 10             	mov    %edx,0x10(%esi)
44f7a9:	0f 88 98 00 00 00    	js     0x44f847
44f7af:	56                   	push   %esi
44f7b0:	57                   	push   %edi
44f7b1:	8b cb                	mov    %ebx,%ecx
44f7b3:	e8 28 f2 ff ff       	call   0x44e9e0
44f7b8:	e9 ea fe ff ff       	jmp    0x44f6a7
44f7bd:	80 fb 22             	cmp    $0x22,%bl
44f7c0:	0f 85 8c 00 00 00    	jne    0x44f852
44f7c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f7c9:	e8 e2 24 00 00       	call   0x451cb0
44f7ce:	8b d8                	mov    %eax,%ebx
44f7d0:	0f b6 07             	movzbl (%edi),%eax
44f7d3:	3d 80 00 00 00       	cmp    $0x80,%eax
44f7d8:	73 03                	jae    0x44f7dd
44f7da:	47                   	inc    %edi
44f7db:	eb 14                	jmp    0x44f7f1
44f7dd:	50                   	push   %eax
44f7de:	8d 45 cc             	lea    -0x34(%ebp),%eax
44f7e1:	57                   	push   %edi
44f7e2:	50                   	push   %eax
44f7e3:	e8 88 00 01 00       	call   0x45f870
44f7e8:	8b 7d cc             	mov    -0x34(%ebp),%edi
44f7eb:	83 c4 0c             	add    $0xc,%esp
44f7ee:	8b 45 d0             	mov    -0x30(%ebp),%eax
44f7f1:	85 ff                	test   %edi,%edi
44f7f3:	74 52                	je     0x44f847
44f7f5:	2b 46 04             	sub    0x4(%esi),%eax
44f7f8:	8d 14 38             	lea    (%eax,%edi,1),%edx
44f7fb:	33 c0                	xor    %eax,%eax
44f7fd:	85 d2                	test   %edx,%edx
44f7ff:	89 55 0c             	mov    %edx,0xc(%ebp)
44f802:	0f 48 c2             	cmovs  %edx,%eax
44f805:	03 46 04             	add    0x4(%esi),%eax
44f808:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
44f80c:	89 06                	mov    %eax,(%esi)
44f80e:	8b 46 10             	mov    0x10(%esi),%eax
44f811:	89 45 08             	mov    %eax,0x8(%ebp)
44f814:	89 56 10             	mov    %edx,0x10(%esi)
44f817:	78 2e                	js     0x44f847
44f819:	56                   	push   %esi
44f81a:	57                   	push   %edi
44f81b:	8b cb                	mov    %ebx,%ecx
44f81d:	e8 1e a6 ff ff       	call   0x449e40
44f822:	e9 80 fe ff ff       	jmp    0x44f6a7
44f827:	80 fb 2a             	cmp    $0x2a,%bl
44f82a:	75 26                	jne    0x44f852
44f82c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f82f:	e8 1c 24 00 00       	call   0x451c50
44f834:	57                   	push   %edi
44f835:	50                   	push   %eax
44f836:	8b ce                	mov    %esi,%ecx
44f838:	e8 53 11 00 00       	call   0x450990
44f83d:	8b d0                	mov    %eax,%edx
44f83f:	85 d2                	test   %edx,%edx
44f841:	0f 85 6b fd ff ff    	jne    0x44f5b2
44f847:	33 c0                	xor    %eax,%eax
44f849:	5f                   	pop    %edi
44f84a:	5e                   	pop    %esi
44f84b:	5b                   	pop    %ebx
44f84c:	8b e5                	mov    %ebp,%esp
44f84e:	5d                   	pop    %ebp
44f84f:	c2 08 00             	ret    $0x8
44f852:	8b c3                	mov    %ebx,%eax
44f854:	24 07                	and    $0x7,%al
44f856:	3c 04                	cmp    $0x4,%al
44f858:	74 53                	je     0x44f8ad
44f85a:	85 db                	test   %ebx,%ebx
44f85c:	74 4f                	je     0x44f8ad
44f85e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44f861:	83 c1 04             	add    $0x4,%ecx
44f864:	f6 01 01             	testb  $0x1,(%ecx)
44f867:	74 18                	je     0x44f881