44f4b4:	8b f8                	mov    %eax,%edi
44f4b6:	eb 12                	jmp    0x44f4ca
44f4b8:	ba 02 00 00 00       	mov    $0x2,%edx
44f4bd:	8b c6                	mov    %esi,%eax
44f4bf:	e8 00 ff ff ff       	call   0x44f3c4
44f4c4:	8b f8                	mov    %eax,%edi
44f4c6:	eb 02                	jmp    0x44f4ca
44f4c8:	33 ff                	xor    %edi,%edi
44f4ca:	8b c6                	mov    %esi,%eax
44f4cc:	e8 a7 fd ff ff       	call   0x44f278
44f4d1:	50                   	push   %eax
44f4d2:	8b c7                	mov    %edi,%eax
44f4d4:	5a                   	pop    %edx
44f4d5:	8b ca                	mov    %edx,%ecx
44f4d7:	99                   	cltd
44f4d8:	f7 f9                	idiv   %ecx
44f4da:	8b f0                	mov    %eax,%esi
44f4dc:	85 db                	test   %ebx,%ebx
44f4de:	74 37                	je     0x44f517
44f4e0:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
44f4e4:	75 0b                	jne    0x44f4f1
44f4e6:	8b d7                	mov    %edi,%edx
44f4e8:	8b c3                	mov    %ebx,%eax
44f4ea:	e8 c5 02 00 00       	call   0x44f7b4
44f4ef:	eb 12                	jmp    0x44f503
44f4f1:	8b c3                	mov    %ebx,%eax
44f4f3:	e8 d0 fd ff ff       	call   0x44f2c8
44f4f8:	8b d0                	mov    %eax,%edx
44f4fa:	03 d6                	add    %esi,%edx
44f4fc:	8b c3                	mov    %ebx,%eax
44f4fe:	e8 b1 02 00 00       	call   0x44f7b4
44f503:	8b c3                	mov    %ebx,%eax
44f505:	e8 0a 01 00 00       	call   0x44f614
44f50a:	8b c3                	mov    %ebx,%eax
44f50c:	e8 53 03 00 00       	call   0x44f864
44f511:	8b d8                	mov    %eax,%ebx
44f513:	85 db                	test   %ebx,%ebx
44f515:	75 c9                	jne    0x44f4e0
44f517:	5f                   	pop    %edi
44f518:	5e                   	pop    %esi
44f519:	5b                   	pop    %ebx
44f51a:	c3                   	ret
44f51b:	90                   	nop
44f51c:	53                   	push   %ebx
44f51d:	56                   	push   %esi
44f51e:	57                   	push   %edi
44f51f:	8b f2                	mov    %edx,%esi
44f521:	8b d8                	mov    %eax,%ebx
44f523:	8b c6                	mov    %esi,%eax
44f525:	e8 26 4b fb ff       	call   0x404050
44f52a:	8b 7b 04             	mov    0x4(%ebx),%edi
44f52d:	85 ff                	test   %edi,%edi
44f52f:	74 2a                	je     0x44f55b
44f531:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
44f535:	75 17                	jne    0x44f54e
44f537:	8b 0d a8 46 47 00    	mov    0x4746a8,%ecx
44f53d:	b2 01                	mov    $0x1,%dl
44f53f:	a1 e0 71 40 00       	mov    0x4071e0,%eax
44f544:	e8 67 c6 fb ff       	call   0x40bbb0
44f549:	e8 3e 45 fb ff       	call   0x403a8c
44f54e:	8b c6                	mov    %esi,%eax
44f550:	8b 53 04             	mov    0x4(%ebx),%edx
44f553:	8b 52 08             	mov    0x8(%edx),%edx
44f556:	e8 49 4b fb ff       	call   0x4040a4
44f55b:	5f                   	pop    %edi
44f55c:	5e                   	pop    %esi
44f55d:	5b                   	pop    %ebx
44f55e:	c3                   	ret
44f55f:	90                   	nop
44f560:	55                   	push   %ebp
44f561:	8b ec                	mov    %esp,%ebp
44f563:	83 c4 f4             	add    $0xfffffff4,%esp
44f566:	53                   	push   %ebx
44f567:	56                   	push   %esi
44f568:	8b d8                	mov    %eax,%ebx
44f56a:	33 c0                	xor    %eax,%eax
44f56c:	89 45 f8             	mov    %eax,-0x8(%ebp)
44f56f:	8b 43 1c             	mov    0x1c(%ebx),%eax
44f572:	89 45 f4             	mov    %eax,-0xc(%ebp)
44f575:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44f578:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f57b:	8b 40 14             	mov    0x14(%eax),%eax
44f57e:	66 be b9 ff          	mov    $0xffb9,%si
44f582:	e8 35 3f fb ff       	call   0x4034bc
44f587:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44f58b:	0f 95 45 ff          	setne  -0x1(%ebp)
44f58f:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
44f593:	74 43                	je     0x44f5d8
44f595:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f598:	89 58 38             	mov    %ebx,0x38(%eax)
44f59b:	33 c0                	xor    %eax,%eax
44f59d:	55                   	push   %ebp
44f59e:	68 d1 f5 44 00       	push   $0x44f5d1
44f5a3:	64 ff 30             	push   %fs:(%eax)
44f5a6:	64 89 20             	mov    %esp,%fs:(%eax)
44f5a9:	6a 00                	push   $0x0
44f5ab:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f5ae:	8b 50 14             	mov    0x14(%eax),%edx
44f5b1:	33 c9                	xor    %ecx,%ecx
44f5b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
44f5b6:	e8 39 83 ff ff       	call   0x4478f4
44f5bb:	33 c0                	xor    %eax,%eax
44f5bd:	5a                   	pop    %edx
44f5be:	59                   	pop    %ecx
44f5bf:	59                   	pop    %ecx
44f5c0:	64 89 10             	mov    %edx,%fs:(%eax)
44f5c3:	68 d8 f5 44 00       	push   $0x44f5d8
44f5c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f5cb:	33 d2                	xor    %edx,%edx
44f5cd:	89 50 38             	mov    %edx,0x38(%eax)
44f5d0:	c3                   	ret
44f5d1:	e9 7e 44 fb ff       	jmp    0x403a54
44f5d6:	eb f0                	jmp    0x44f5c8
44f5d8:	8a 45 ff             	mov    -0x1(%ebp),%al
44f5db:	5e                   	pop    %esi
44f5dc:	5b                   	pop    %ebx
44f5dd:	8b e5                	mov    %ebp,%esp
44f5df:	5d                   	pop    %ebp
44f5e0:	c3                   	ret
44f5e1:	8d 40 00             	lea    0x0(%eax),%eax
44f5e4:	55                   	push   %ebp
44f5e5:	8b ec                	mov    %esp,%ebp
44f5e7:	53                   	push   %ebx
44f5e8:	56                   	push   %esi
44f5e9:	33 db                	xor    %ebx,%ebx
44f5eb:	8b 45 08             	mov    0x8(%ebp),%eax
44f5ee:	8b 40 fc             	mov    -0x4(%eax),%eax
44f5f1:	8b 70 14             	mov    0x14(%eax),%esi
44f5f4:	85 f6                	test   %esi,%esi
44f5f6:	74 16                	je     0x44f60e
44f5f8:	8b c6                	mov    %esi,%eax
44f5fa:	e8 65 02 00 00       	call   0x44f864
44f5ff:	85 c0                	test   %eax,%eax
44f601:	74 04                	je     0x44f607
44f603:	b3 01                	mov    $0x1,%bl
44f605:	eb 07                	jmp    0x44f60e
44f607:	8b 76 14             	mov    0x14(%esi),%esi
44f60a:	85 f6                	test   %esi,%esi
44f60c:	75 ea                	jne    0x44f5f8
44f60e:	8b c3                	mov    %ebx,%eax
44f610:	5e                   	pop    %esi
44f611:	5b                   	pop    %ebx
44f612:	5d                   	pop    %ebp
44f613:	c3                   	ret
44f614:	55                   	push   %ebp
44f615:	8b ec                	mov    %esp,%ebp
44f617:	83 c4 ec             	add    $0xffffffec,%esp
44f61a:	53                   	push   %ebx
44f61b:	56                   	push   %esi
44f61c:	57                   	push   %edi
44f61d:	89 45 fc             	mov    %eax,-0x4(%ebp)
44f620:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f623:	8b 40 04             	mov    0x4(%eax),%eax
44f626:	85 c0                	test   %eax,%eax
44f628:	0f 84 55 01 00 00    	je     0x44f783
44f62e:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44f632:	0f 84 4b 01 00 00    	je     0x44f783
44f638:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f63b:	8b 52 1c             	mov    0x1c(%edx),%edx
44f63e:	83 7a 6c 00          	cmpl   $0x0,0x6c(%edx)
44f642:	0f 85 3b 01 00 00    	jne    0x44f783
44f648:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f64b:	8b 52 14             	mov    0x14(%edx),%edx
44f64e:	8a 52 10             	mov    0x10(%edx),%dl
44f651:	88 90 9c 00 00 00    	mov    %dl,0x9c(%eax)
44f657:	ba 02 00 00 00       	mov    $0x2,%edx
44f65c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f65f:	e8 60 fd ff ff       	call   0x44f3c4
44f664:	8b d8                	mov    %eax,%ebx
44f666:	ba 01 00 00 00       	mov    $0x1,%edx
44f66b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f66e:	e8 51 fd ff ff       	call   0x44f3c4
44f673:	8b f0                	mov    %eax,%esi
44f675:	55                   	push   %ebp
44f676:	e8 69 ff ff ff       	call   0x44f5e4
44f67b:	59                   	pop    %ecx
44f67c:	84 c0                	test   %al,%al
44f67e:	74 20                	je     0x44f6a0
44f680:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f683:	8b 40 14             	mov    0x14(%eax),%eax
44f686:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
44f68a:	75 0b                	jne    0x44f697
44f68c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f68f:	8b 40 1c             	mov    0x1c(%eax),%eax
44f692:	2b 58 0c             	sub    0xc(%eax),%ebx
44f695:	eb 09                	jmp    0x44f6a0
44f697:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f69a:	8b 40 1c             	mov    0x1c(%eax),%eax
44f69d:	2b 70 0c             	sub    0xc(%eax),%esi
44f6a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6a3:	e8 bc 01 00 00       	call   0x44f864
44f6a8:	85 c0                	test   %eax,%eax
44f6aa:	75 6e                	jne    0x44f71a
44f6ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6af:	8b 40 14             	mov    0x14(%eax),%eax
44f6b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f6b5:	8b 52 1c             	mov    0x1c(%edx),%edx
44f6b8:	3b 42 64             	cmp    0x64(%edx),%eax
44f6bb:	74 2a                	je     0x44f6e7
44f6bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6c0:	8b 40 14             	mov    0x14(%eax),%eax
44f6c3:	8a 40 10             	mov    0x10(%eax),%al
44f6c6:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f6c9:	8b 52 1c             	mov    0x1c(%edx),%edx
44f6cc:	8b 52 64             	mov    0x64(%edx),%edx
44f6cf:	3a 42 10             	cmp    0x10(%edx),%al
44f6d2:	75 13                	jne    0x44f6e7
44f6d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6d7:	e8 b0 00 00 00       	call   0x44f78c
44f6dc:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f6df:	8b 52 1c             	mov    0x1c(%edx),%edx
44f6e2:	3b 42 68             	cmp    0x68(%edx),%eax
44f6e5:	7c 33                	jl     0x44f71a
44f6e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f6ea:	8b 40 14             	mov    0x14(%eax),%eax
44f6ed:	8a 40 10             	mov    0x10(%eax),%al
44f6f0:	8b 55 fc             	mov    -0x4(%ebp),%edx
44f6f3:	8b 52 1c             	mov    0x1c(%edx),%edx
44f6f6:	8b 52 64             	mov    0x64(%edx),%edx
44f6f9:	3a 42 10             	cmp    0x10(%edx),%al
44f6fc:	74 3c                	je     0x44f73a
44f6fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f701:	e8 86 00 00 00       	call   0x44f78c
44f706:	8b f8                	mov    %eax,%edi
44f708:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f70b:	8b 40 1c             	mov    0x1c(%eax),%eax
44f70e:	8b 40 64             	mov    0x64(%eax),%eax
44f711:	e8 76 00 00 00       	call   0x44f78c
44f716:	3b f8                	cmp    %eax,%edi
44f718:	7d 20                	jge    0x44f73a
44f71a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f71d:	8b 40 14             	mov    0x14(%eax),%eax
44f720:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
44f724:	75 0b                	jne    0x44f731
44f726:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f729:	8b 40 1c             	mov    0x1c(%eax),%eax
44f72c:	2b 70 0c             	sub    0xc(%eax),%esi
44f72f:	eb 09                	jmp    0x44f73a
44f731:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f734:	8b 40 1c             	mov    0x1c(%eax),%eax
44f737:	2b 58 0c             	sub    0xc(%eax),%ebx
44f73a:	56                   	push   %esi
44f73b:	8d 45 ec             	lea    -0x14(%ebp),%eax
44f73e:	50                   	push   %eax
44f73f:	ba 01 00 00 00       	mov    $0x1,%edx
44f744:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f747:	e8 0c fc ff ff       	call   0x44f358
44f74c:	50                   	push   %eax
44f74d:	ba 02 00 00 00       	mov    $0x2,%edx
44f752:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f755:	e8 fe fb ff ff       	call   0x44f358
44f75a:	8b cb                	mov    %ebx,%ecx
44f75c:	5a                   	pop    %edx
44f75d:	e8 da 79 fc ff       	call   0x41713c
44f762:	8d 4d ec             	lea    -0x14(%ebp),%ecx
44f765:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f768:	8b 50 04             	mov    0x4(%eax),%edx
44f76b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f76e:	8b 40 1c             	mov    0x1c(%eax),%eax
44f771:	8b 18                	mov    (%eax),%ebx
44f773:	ff 13                	call   *(%ebx)
44f775:	8d 55 ec             	lea    -0x14(%ebp),%edx
44f778:	8b 45 fc             	mov    -0x4(%ebp),%eax
44f77b:	8b 40 04             	mov    0x4(%eax),%eax
44f77e:	e8 4d 6e ff ff       	call   0x4465d0
44f783:	5f                   	pop    %edi
44f784:	5e                   	pop    %esi
44f785:	5b                   	pop    %ebx
44f786:	8b e5                	mov    %ebp,%esp
44f788:	5d                   	pop    %ebp
44f789:	c3                   	ret
44f78a:	8b c0                	mov    %eax,%eax
44f78c:	53                   	push   %ebx
44f78d:	8b d8                	mov    %eax,%ebx
44f78f:	8b c3                	mov    %ebx,%eax
44f791:	e8 fe fa ff ff       	call   0x44f294
44f796:	84 c0                	test   %al,%al
44f798:	75 14                	jne    0x44f7ae
44f79a:	8b c3                	mov    %ebx,%eax
44f79c:	e8 7b fa ff ff       	call   0x44f21c
44f7a1:	84 c0                	test   %al,%al
44f7a3:	74 09                	je     0x44f7ae
44f7a5:	8b c3                	mov    %ebx,%eax
44f7a7:	e8 1c fb ff ff       	call   0x44f2c8
44f7ac:	5b                   	pop    %ebx
44f7ad:	c3                   	ret
44f7ae:	8b 43 20             	mov    0x20(%ebx),%eax
44f7b1:	5b                   	pop    %ebx
44f7b2:	c3                   	ret
44f7b3:	90                   	nop
44f7b4:	89 50 20             	mov    %edx,0x20(%eax)
44f7b7:	c3                   	ret
44f7b8:	8b 40 08             	mov    0x8(%eax),%eax
44f7bb:	eb 02                	jmp    0x44f7bf
44f7bd:	8b c2                	mov    %edx,%eax
44f7bf:	8b 50 0c             	mov    0xc(%eax),%edx
44f7c2:	85 d2                	test   %edx,%edx
44f7c4:	75 f7                	jne    0x44f7bd
44f7c6:	c3                   	ret
44f7c7:	90                   	nop
44f7c8:	53                   	push   %ebx
44f7c9:	56                   	push   %esi
44f7ca:	8b f2                	mov    %edx,%esi
44f7cc:	8b d8                	mov    %eax,%ebx
44f7ce:	8b d6                	mov    %esi,%edx
44f7d0:	8b c3                	mov    %ebx,%eax
44f7d2:	e8 dd ff ff ff       	call   0x44f7b4
44f7d7:	8b 5b 08             	mov    0x8(%ebx),%ebx
44f7da:	85 db                	test   %ebx,%ebx
44f7dc:	74 20                	je     0x44f7fe
44f7de:	8b c3                	mov    %ebx,%eax
44f7e0:	e8 7f fa ff ff       	call   0x44f264
44f7e5:	85 c0                	test   %eax,%eax
44f7e7:	7e 0e                	jle    0x44f7f7
44f7e9:	8b c3                	mov    %ebx,%eax
44f7eb:	e8 c8 ff ff ff       	call   0x44f7b8
44f7f0:	8b d6                	mov    %esi,%edx
44f7f2:	e8 d1 ff ff ff       	call   0x44f7c8
44f7f7:	8b 5b 0c             	mov    0xc(%ebx),%ebx
44f7fa:	85 db                	test   %ebx,%ebx
44f7fc:	75 e0                	jne    0x44f7de
44f7fe:	5e                   	pop    %esi
44f7ff:	5b                   	pop    %ebx
44f800:	c3                   	ret
44f801:	8d 40 00             	lea    0x0(%eax),%eax
44f804:	53                   	push   %ebx
44f805:	56                   	push   %esi
44f806:	57                   	push   %edi
44f807:	8b f0                	mov    %eax,%esi
44f809:	8b 5e 08             	mov    0x8(%esi),%ebx
44f80c:	85 db                	test   %ebx,%ebx
44f80e:	74 4d                	je     0x44f85d
44f810:	8b c3                	mov    %ebx,%eax
44f812:	e8 75 ff ff ff       	call   0x44f78c
44f817:	8b f8                	mov    %eax,%edi
44f819:	8b c3                	mov    %ebx,%eax
44f81b:	e8 a8 fa ff ff       	call   0x44f2c8
44f820:	3b f8                	cmp    %eax,%edi
44f822:	7c 14                	jl     0x44f838
44f824:	8b c3                	mov    %ebx,%eax
44f826:	e8 61 ff ff ff       	call   0x44f78c
44f82b:	8b f8                	mov    %eax,%edi
44f82d:	8b c6                	mov    %esi,%eax
44f82f:	e8 dc fa ff ff       	call   0x44f310
44f834:	3b f8                	cmp    %eax,%edi
44f836:	7e 17                	jle    0x44f84f
44f838:	8b c6                	mov    %esi,%eax
44f83a:	e8 35 fc ff ff       	call   0x44f474
44f83f:	8b 46 1c             	mov    0x1c(%esi),%eax
44f842:	50                   	push   %eax