44c4de:	8d 34 02             	lea    (%edx,%eax,1),%esi
44c4e1:	89 b5 6c f1 ff ff    	mov    %esi,-0xe94(%ebp)
44c4e7:	3b f0                	cmp    %eax,%esi
44c4e9:	0f 82 b4 02 00 00    	jb     0x44c7a3
44c4ef:	8b 85 a0 f1 ff ff    	mov    -0xe60(%ebp),%eax
44c4f5:	8d 34 02             	lea    (%edx,%eax,1),%esi
44c4f8:	89 b5 00 f2 ff ff    	mov    %esi,-0xe00(%ebp)
44c4fe:	3b f0                	cmp    %eax,%esi
44c500:	0f 82 9d 02 00 00    	jb     0x44c7a3
44c506:	8b c1                	mov    %ecx,%eax
44c508:	2b c6                	sub    %esi,%eax
44c50a:	83 f8 04             	cmp    $0x4,%eax
44c50d:	0f 82 4f ff ff ff    	jb     0x44c462
44c513:	8b 85 6c f1 ff ff    	mov    -0xe94(%ebp),%eax
44c519:	8b 00                	mov    (%eax),%eax
44c51b:	89 85 90 f1 ff ff    	mov    %eax,-0xe70(%ebp)
44c521:	8b 85 6c f1 ff ff    	mov    -0xe94(%ebp),%eax
44c527:	8d 50 04             	lea    0x4(%eax),%edx
44c52a:	89 95 6c f1 ff ff    	mov    %edx,-0xe94(%ebp)
44c530:	3b d0                	cmp    %eax,%edx
44c532:	0f 82 6b 02 00 00    	jb     0x44c7a3
44c538:	8b c6                	mov    %esi,%eax
44c53a:	83 c0 04             	add    $0x4,%eax
44c53d:	3b c6                	cmp    %esi,%eax
44c53f:	0f 82 5e 02 00 00    	jb     0x44c7a3
44c545:	8b d6                	mov    %esi,%edx
44c547:	8b c1                	mov    %ecx,%eax
44c549:	83 c2 04             	add    $0x4,%edx
44c54c:	2b c2                	sub    %edx,%eax
44c54e:	8b 95 b8 f1 ff ff    	mov    -0xe48(%ebp),%edx
44c554:	3b 85 90 f1 ff ff    	cmp    -0xe70(%ebp),%eax
44c55a:	0f 82 02 ff ff ff    	jb     0x44c462
44c560:	8b 85 90 f1 ff ff    	mov    -0xe70(%ebp),%eax
44c566:	83 c0 04             	add    $0x4,%eax
44c569:	03 c6                	add    %esi,%eax
44c56b:	89 85 a0 f1 ff ff    	mov    %eax,-0xe60(%ebp)
44c571:	8d 46 04             	lea    0x4(%esi),%eax
44c574:	8b b5 c0 f1 ff ff    	mov    -0xe40(%ebp),%esi
44c57a:	39 85 a0 f1 ff ff    	cmp    %eax,-0xe60(%ebp)
44c580:	0f 82 1d 02 00 00    	jb     0x44c7a3
44c586:	8b c1                	mov    %ecx,%eax
44c588:	2b 85 a0 f1 ff ff    	sub    -0xe60(%ebp),%eax
44c58e:	0f 85 ce fe ff ff    	jne    0x44c462
44c594:	8b 85 90 f1 ff ff    	mov    -0xe70(%ebp),%eax
44c59a:	83 c0 0c             	add    $0xc,%eax
44c59d:	03 c2                	add    %edx,%eax
44c59f:	03 c6                	add    %esi,%eax
44c5a1:	3b c1                	cmp    %ecx,%eax
44c5a3:	0f 85 b9 fe ff ff    	jne    0x44c462
44c5a9:	6a 18                	push   $0x18
44c5ab:	6a 08                	push   $0x8
44c5ad:	ff 15 74 72 4a 00    	call   *0x4a7274
44c5b3:	50                   	push   %eax
44c5b4:	ff 15 84 72 4a 00    	call   *0x4a7284
44c5ba:	8b f8                	mov    %eax,%edi
44c5bc:	85 ff                	test   %edi,%edi
44c5be:	75 0a                	jne    0x44c5ca
44c5c0:	be 17 00 00 c0       	mov    $0xc0000017,%esi
44c5c5:	e9 54 01 00 00       	jmp    0x44c71e
44c5ca:	8b 85 e4 f1 ff ff    	mov    -0xe1c(%ebp),%eax
44c5d0:	83 c0 04             	add    $0x4,%eax
44c5d3:	74 3f                	je     0x44c614
44c5d5:	56                   	push   %esi
44c5d6:	6a 08                	push   $0x8
44c5d8:	89 37                	mov    %esi,(%edi)
44c5da:	ff 15 74 72 4a 00    	call   *0x4a7274
44c5e0:	50                   	push   %eax
44c5e1:	ff 15 84 72 4a 00    	call   *0x4a7284
44c5e7:	8b c8                	mov    %eax,%ecx
44c5e9:	85 c9                	test   %ecx,%ecx
44c5eb:	75 0c                	jne    0x44c5f9
44c5ed:	be 17 00 00 c0       	mov    $0xc0000017,%esi
44c5f2:	33 d2                	xor    %edx,%edx
44c5f4:	e9 be 00 00 00       	jmp    0x44c6b7
44c5f9:	89 4f 04             	mov    %ecx,0x4(%edi)
44c5fc:	8b 85 e4 f1 ff ff    	mov    -0xe1c(%ebp),%eax
44c602:	56                   	push   %esi
44c603:	83 c0 04             	add    $0x4,%eax
44c606:	50                   	push   %eax
44c607:	51                   	push   %ecx
44c608:	e8 20 4a 04 00       	call   0x49102d
44c60d:	83 c4 0c             	add    $0xc,%esp
44c610:	33 d2                	xor    %edx,%edx
44c612:	eb 07                	jmp    0x44c61b
44c614:	33 d2                	xor    %edx,%edx
44c616:	89 17                	mov    %edx,(%edi)
44c618:	89 57 04             	mov    %edx,0x4(%edi)
44c61b:	8b 85 7c f1 ff ff    	mov    -0xe84(%ebp),%eax
44c621:	83 c0 04             	add    $0x4,%eax
44c624:	74 3a                	je     0x44c660
44c626:	8b b5 b8 f1 ff ff    	mov    -0xe48(%ebp),%esi
44c62c:	56                   	push   %esi
44c62d:	6a 08                	push   $0x8
44c62f:	89 77 08             	mov    %esi,0x8(%edi)
44c632:	ff 15 74 72 4a 00    	call   *0x4a7274
44c638:	50                   	push   %eax
44c639:	ff 15 84 72 4a 00    	call   *0x4a7284
44c63f:	8b d0                	mov    %eax,%edx
44c641:	85 d2                	test   %edx,%edx
44c643:	74 a8                	je     0x44c5ed
44c645:	89 57 0c             	mov    %edx,0xc(%edi)
44c648:	8b 85 7c f1 ff ff    	mov    -0xe84(%ebp),%eax
44c64e:	56                   	push   %esi
44c64f:	83 c0 04             	add    $0x4,%eax
44c652:	50                   	push   %eax
44c653:	52                   	push   %edx
44c654:	e8 d4 49 04 00       	call   0x49102d
44c659:	83 c4 0c             	add    $0xc,%esp
44c65c:	33 d2                	xor    %edx,%edx
44c65e:	eb 06                	jmp    0x44c666
44c660:	89 57 08             	mov    %edx,0x8(%edi)
44c663:	89 57 0c             	mov    %edx,0xc(%edi)
44c666:	83 bd 6c f1 ff ff 00 	cmpl   $0x0,-0xe94(%ebp)
44c66d:	74 38                	je     0x44c6a7
44c66f:	8b b5 90 f1 ff ff    	mov    -0xe70(%ebp),%esi
44c675:	56                   	push   %esi
44c676:	6a 08                	push   $0x8
44c678:	89 77 10             	mov    %esi,0x10(%edi)
44c67b:	ff 15 74 72 4a 00    	call   *0x4a7274
44c681:	50                   	push   %eax
44c682:	ff 15 84 72 4a 00    	call   *0x4a7284
44c688:	85 c0                	test   %eax,%eax
44c68a:	0f 84 5d ff ff ff    	je     0x44c5ed
44c690:	89 47 14             	mov    %eax,0x14(%edi)
44c693:	56                   	push   %esi
44c694:	ff b5 6c f1 ff ff    	push   -0xe94(%ebp)
44c69a:	50                   	push   %eax
44c69b:	e8 8d 49 04 00       	call   0x49102d
44c6a0:	83 c4 0c             	add    $0xc,%esp
44c6a3:	33 d2                	xor    %edx,%edx
44c6a5:	eb 06                	jmp    0x44c6ad
44c6a7:	89 57 10             	mov    %edx,0x10(%edi)
44c6aa:	89 57 14             	mov    %edx,0x14(%edi)
44c6ad:	89 bd f0 f1 ff ff    	mov    %edi,-0xe10(%ebp)
44c6b3:	8b f2                	mov    %edx,%esi
44c6b5:	8b fa                	mov    %edx,%edi
44c6b7:	85 ff                	test   %edi,%edi
44c6b9:	74 63                	je     0x44c71e
44c6bb:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
44c6bf:	74 16                	je     0x44c6d7
44c6c1:	ff 77 04             	push   0x4(%edi)
44c6c4:	52                   	push   %edx
44c6c5:	ff 15 74 72 4a 00    	call   *0x4a7274
44c6cb:	50                   	push   %eax
44c6cc:	ff 15 94 72 4a 00    	call   *0x4a7294
44c6d2:	33 d2                	xor    %edx,%edx
44c6d4:	89 57 04             	mov    %edx,0x4(%edi)
44c6d7:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44c6db:	74 16                	je     0x44c6f3
44c6dd:	ff 77 0c             	push   0xc(%edi)
44c6e0:	52                   	push   %edx
44c6e1:	ff 15 74 72 4a 00    	call   *0x4a7274
44c6e7:	50                   	push   %eax
44c6e8:	ff 15 94 72 4a 00    	call   *0x4a7294
44c6ee:	33 d2                	xor    %edx,%edx
44c6f0:	89 57 0c             	mov    %edx,0xc(%edi)
44c6f3:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44c6f7:	74 16                	je     0x44c70f
44c6f9:	ff 77 14             	push   0x14(%edi)
44c6fc:	52                   	push   %edx
44c6fd:	ff 15 74 72 4a 00    	call   *0x4a7274
44c703:	50                   	push   %eax
44c704:	ff 15 94 72 4a 00    	call   *0x4a7294
44c70a:	33 d2                	xor    %edx,%edx
44c70c:	89 57 14             	mov    %edx,0x14(%edi)
44c70f:	57                   	push   %edi
44c710:	52                   	push   %edx
44c711:	ff 15 74 72 4a 00    	call   *0x4a7274
44c717:	50                   	push   %eax
44c718:	ff 15 94 72 4a 00    	call   *0x4a7294
44c71e:	33 d2                	xor    %edx,%edx
44c720:	85 f6                	test   %esi,%esi
44c722:	78 10                	js     0x44c734
44c724:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44c72a:	8b fa                	mov    %edx,%edi
44c72c:	89 85 88 f1 ff ff    	mov    %eax,-0xe78(%ebp)
44c732:	eb 06                	jmp    0x44c73a
44c734:	8b bd f0 f1 ff ff    	mov    -0xe10(%ebp),%edi
44c73a:	85 ff                	test   %edi,%edi
44c73c:	74 69                	je     0x44c7a7
44c73e:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
44c742:	74 16                	je     0x44c75a
44c744:	ff 77 04             	push   0x4(%edi)
44c747:	52                   	push   %edx
44c748:	ff 15 74 72 4a 00    	call   *0x4a7274
44c74e:	50                   	push   %eax
44c74f:	ff 15 94 72 4a 00    	call   *0x4a7294
44c755:	33 d2                	xor    %edx,%edx
44c757:	89 57 04             	mov    %edx,0x4(%edi)
44c75a:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44c75e:	74 16                	je     0x44c776
44c760:	ff 77 0c             	push   0xc(%edi)
44c763:	52                   	push   %edx
44c764:	ff 15 74 72 4a 00    	call   *0x4a7274
44c76a:	50                   	push   %eax
44c76b:	ff 15 94 72 4a 00    	call   *0x4a7294
44c771:	33 d2                	xor    %edx,%edx
44c773:	89 57 0c             	mov    %edx,0xc(%edi)
44c776:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44c77a:	74 16                	je     0x44c792
44c77c:	ff 77 14             	push   0x14(%edi)
44c77f:	52                   	push   %edx
44c780:	ff 15 74 72 4a 00    	call   *0x4a7274
44c786:	50                   	push   %eax
44c787:	ff 15 94 72 4a 00    	call   *0x4a7294
44c78d:	33 d2                	xor    %edx,%edx
44c78f:	89 57 14             	mov    %edx,0x14(%edi)
44c792:	57                   	push   %edi
44c793:	52                   	push   %edx
44c794:	ff 15 74 72 4a 00    	call   *0x4a7274
44c79a:	50                   	push   %eax
44c79b:	ff 15 94 72 4a 00    	call   *0x4a7294
44c7a1:	eb 02                	jmp    0x44c7a5
44c7a3:	8b f7                	mov    %edi,%esi
44c7a5:	33 d2                	xor    %edx,%edx
44c7a7:	81 ce 00 00 00 10    	or     $0x10000000,%esi
44c7ad:	0f 8c 31 08 00 00    	jl     0x44cfe4
44c7b3:	8b 8d 88 f1 ff ff    	mov    -0xe78(%ebp),%ecx
44c7b9:	8b fa                	mov    %edx,%edi
44c7bb:	89 bd e8 f1 ff ff    	mov    %edi,-0xe18(%ebp)
44c7c1:	89 95 08 f2 ff ff    	mov    %edx,-0xdf8(%ebp)
44c7c7:	85 c9                	test   %ecx,%ecx
44c7c9:	75 0a                	jne    0x44c7d5
44c7cb:	be 0d 00 00 d0       	mov    $0xd000000d,%esi
44c7d0:	e9 0f 08 00 00       	jmp    0x44cfe4
44c7d5:	8b 41 04             	mov    0x4(%ecx),%eax
44c7d8:	89 85 04 f2 ff ff    	mov    %eax,-0xdfc(%ebp)
44c7de:	85 c0                	test   %eax,%eax
44c7e0:	74 e9                	je     0x44c7cb
44c7e2:	8b 31                	mov    (%ecx),%esi
44c7e4:	85 f6                	test   %esi,%esi
44c7e6:	74 e3                	je     0x44c7cb
44c7e8:	83 c6 f8             	add    $0xfffffff8,%esi
44c7eb:	89 95 d0 f1 ff ff    	mov    %edx,-0xe30(%ebp)
44c7f1:	56                   	push   %esi
44c7f2:	52                   	push   %edx
44c7f3:	89 b5 90 f1 ff ff    	mov    %esi,-0xe70(%ebp)
44c7f9:	ff 15 74 72 4a 00    	call   *0x4a7274
44c7ff:	50                   	push   %eax
44c800:	ff 15 84 72 4a 00    	call   *0x4a7284
44c806:	89 85 d8 f1 ff ff    	mov    %eax,-0xe28(%ebp)
44c80c:	85 c0                	test   %eax,%eax
44c80e:	0f 84 57 06 00 00    	je     0x44ce6b
44c814:	33 c9                	xor    %ecx,%ecx
44c816:	89 85 dc f1 ff ff    	mov    %eax,-0xe24(%ebp)
44c81c:	8a d1                	mov    %cl,%dl
44c81e:	8b fe                	mov    %esi,%edi
44c820:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
44c825:	89 8d f8 fb ff ff    	mov    %ecx,-0x408(%ebp)
44c82b:	b9 7f 13 f1 07       	mov    $0x7f1137f,%ecx
44c830:	89 8d fc fb ff ff    	mov    %ecx,-0x404(%ebp)
44c836:	8b 8d 04 f2 ff ff    	mov    -0xdfc(%ebp),%ecx
44c83c:	89 8d 00 f2 ff ff    	mov    %ecx,-0xe00(%ebp)
44c842:	83 e7 07             	and    $0x7,%edi
44c845:	0f 84 bd 05 00 00    	je     0x44ce08
44c84b:	33 c0                	xor    %eax,%eax
44c84d:	21 85 f0 f1 ff ff    	and    %eax,-0xe10(%ebp)
44c853:	8b f0                	mov    %eax,%esi
44c855:	89 85 c0 f1 ff ff    	mov    %eax,-0xe40(%ebp)
44c85b:	89 85 b8 f1 ff ff    	mov    %eax,-0xe48(%ebp)
44c861:	85 ff                	test   %edi,%edi
44c863:	74 64                	je     0x44c8c9
44c865:	0f b6 01             	movzbl (%ecx),%eax
44c868:	41                   	inc    %ecx
44c869:	83 bd f0 f1 ff ff 04 	cmpl   $0x4,-0xe10(%ebp)
44c870:	89 8d 00 f2 ff ff    	mov    %ecx,-0xe00(%ebp)
44c876:	8b 8d 30 f1 ff ff    	mov    -0xed0(%ebp),%ecx
44c87c:	7d 13                	jge    0x44c891
44c87e:	83 c1 e0             	add    $0xffffffe0,%ecx
44c881:	d3 e0                	shl    %cl,%eax
44c883:	09 85 b8 f1 ff ff    	or     %eax,-0xe48(%ebp)
44c889:	8b 8d 30 f1 ff ff    	mov    -0xed0(%ebp),%ecx
44c88f:	eb 04                	jmp    0x44c895
44c891:	d3 e0                	shl    %cl,%eax
44c893:	0b f0                	or     %eax,%esi
44c895:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44c89b:	83 e9 08             	sub    $0x8,%ecx
44c89e:	40                   	inc    %eax
44c89f:	89 8d 30 f1 ff ff    	mov    %ecx,-0xed0(%ebp)
44c8a5:	8b 8d 00 f2 ff ff    	mov    -0xe00(%ebp),%ecx
44c8ab:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
44c8b1:	3b c7                	cmp    %edi,%eax
44c8b3:	7c b0                	jl     0x44c865
44c8b5:	8b c1                	mov    %ecx,%eax
44c8b7:	89 b5 c0 f1 ff ff    	mov    %esi,-0xe40(%ebp)
44c8bd:	89 85 00 f2 ff ff    	mov    %eax,-0xe00(%ebp)
44c8c3:	8b 85 b8 f1 ff ff    	mov    -0xe48(%ebp),%eax
44c8c9:	8b f0                	mov    %eax,%esi
44c8cb:	33 c9                	xor    %ecx,%ecx
44c8cd:	8b 85 c0 f1 ff ff    	mov    -0xe40(%ebp),%eax
44c8d3:	81 f6 a5 65 2f 09    	xor    $0x92f65a5,%esi
44c8d9:	35 9c 89 9a 69       	xor    $0x699a899c,%eax
44c8de:	89 b5 28 f2 ff ff    	mov    %esi,-0xdd8(%ebp)
44c8e4:	89 85 1c f2 ff ff    	mov    %eax,-0xde4(%ebp)
44c8ea:	89 b5 f0 f1 ff ff    	mov    %esi,-0xe10(%ebp)
44c8f0:	89 85 f4 f1 ff ff    	mov    %eax,-0xe0c(%ebp)
44c8f6:	89 8d b0 f1 ff ff    	mov    %ecx,-0xe50(%ebp)
44c8fc:	85 ff                	test   %edi,%edi
44c8fe:	74 59                	je     0x44c959
44c900:	8b 8d dc f1 ff ff    	mov    -0xe24(%ebp),%ecx
44c906:	8b b5 b0 f1 ff ff    	mov    -0xe50(%ebp),%esi
44c90c:	8d 41 01             	lea    0x1(%ecx),%eax
44c90f:	89 85 b0 f1 ff ff    	mov    %eax,-0xe50(%ebp)
44c915:	83 fe 04             	cmp    $0x4,%esi
44c918:	7d 0f                	jge    0x44c929
44c91a:	c1 85 f0 f1 ff ff 08 	roll   $0x8,-0xe10(%ebp)
44c921:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44c927:	eb 0d                	jmp    0x44c936
44c929:	c1 85 f4 f1 ff ff 08 	roll   $0x8,-0xe0c(%ebp)
44c930:	8b 85 f4 f1 ff ff    	mov    -0xe0c(%ebp),%eax
44c936:	88 01                	mov    %al,(%ecx)
44c938:	46                   	inc    %esi
44c939:	8b 85 b0 f1 ff ff    	mov    -0xe50(%ebp),%eax
44c93f:	8b c8                	mov    %eax,%ecx
44c941:	3b f7                	cmp    %edi,%esi
44c943:	7c c7                	jl     0x44c90c
44c945:	8b b5 28 f2 ff ff    	mov    -0xdd8(%ebp),%esi
44c94b:	33 c9                	xor    %ecx,%ecx
44c94d:	89 85 dc f1 ff ff    	mov    %eax,-0xe24(%ebp)
44c953:	8b 85 1c f2 ff ff    	mov    -0xde4(%ebp),%eax
44c959:	83 ff 04             	cmp    $0x4,%edi
44c95c:	0f 86 83 04 00 00    	jbe    0x44cde5
44c962:	6a 08                	push   $0x8
44c964:	59                   	pop    %ecx
44c965:	2b cf                	sub    %edi,%ecx
44c967:	c1 e1 03             	shl    $0x3,%ecx
44c96a:	d3 e8                	shr    %cl,%eax
44c96c:	d3 e0                	shl    %cl,%eax
44c96e:	89 85 1c f2 ff ff    	mov    %eax,-0xde4(%ebp)
44c974:	8b b5 90 f1 ff ff    	mov    -0xe70(%ebp),%esi
44c97a:	8b c6                	mov    %esi,%eax
44c97c:	c1 e8 03             	shr    $0x3,%eax
44c97f:	89 85 6c f1 ff ff    	mov    %eax,-0xe94(%ebp)
44c985:	85 c0                	test   %eax,%eax
44c987:	0f 84 19 04 00 00    	je     0x44cda6
44c98d:	0f b7 8d fe fb ff ff 	movzwl -0x402(%ebp),%ecx
44c994:	b8 7f 13 f1 07       	mov    $0x7f1137f,%eax
44c999:	0f b7 b5 fa fb ff ff 	movzwl -0x406(%ebp),%esi
44c9a0:	0f b7 c0             	movzwl %ax,%eax
44c9a3:	89 85 f8 f1 ff ff    	mov    %eax,-0xe08(%ebp)
44c9a9:	89 8d ec f1 ff ff    	mov    %ecx,-0xe14(%ebp)
44c9af:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
44c9b4:	0f b7 c1             	movzwl %cx,%eax
44c9b7:	89 85 c4 f1 ff ff    	mov    %eax,-0xe3c(%ebp)
44c9bd:	8b 85 dc f1 ff ff    	mov    -0xe24(%ebp),%eax
44c9c3:	89 b5 e0 f1 ff ff    	mov    %esi,-0xe20(%ebp)
44c9c9:	83 c0 07             	add    $0x7,%eax
44c9cc:	8b b5 00 f2 ff ff    	mov    -0xe00(%ebp),%esi
44c9d2:	89 85 a0 f1 ff ff    	mov    %eax,-0xe60(%ebp)
44c9d8:	83 c6 02             	add    $0x2,%esi