44d386:	53                   	push   %ebx
44d387:	53                   	push   %ebx
44d388:	ff 74 24 2c          	push   0x2c(%esp)
44d38c:	ff d7                	call   *%edi
44d38e:	eb 13                	jmp    0x44d3a3
44d390:	8b 75 0c             	mov    0xc(%ebp),%esi
44d393:	8b ce                	mov    %esi,%ecx
44d395:	e8 86 58 fc ff       	call   0x412c20
44d39a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d3a1:	89 1e                	mov    %ebx,(%esi)
44d3a3:	8d 4c 24 20          	lea    0x20(%esp),%ecx
44d3a7:	e8 8b f7 fb ff       	call   0x40cb37
44d3ac:	eb 14                	jmp    0x44d3c2
44d3ae:	8b 75 0c             	mov    0xc(%ebp),%esi
44d3b1:	8b ce                	mov    %esi,%ecx
44d3b3:	e8 68 58 fc ff       	call   0x412c20
44d3b8:	83 26 00             	andl   $0x0,(%esi)
44d3bb:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d3c2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
44d3c6:	e8 6c f7 fb ff       	call   0x40cb37
44d3cb:	8d 4c 24 30          	lea    0x30(%esp),%ecx
44d3cf:	e8 63 f7 fb ff       	call   0x40cb37
44d3d4:	5f                   	pop    %edi
44d3d5:	5e                   	pop    %esi
44d3d6:	33 c0                	xor    %eax,%eax
44d3d8:	5b                   	pop    %ebx
44d3d9:	8b e5                	mov    %ebp,%esp
44d3db:	5d                   	pop    %ebp
44d3dc:	c2 08 00             	ret    $0x8
44d3df:	55                   	push   %ebp
44d3e0:	8b ec                	mov    %esp,%ebp
44d3e2:	51                   	push   %ecx
44d3e3:	53                   	push   %ebx
44d3e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
44d3e7:	56                   	push   %esi
44d3e8:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
44d3ec:	57                   	push   %edi
44d3ed:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
44d3f1:	72 13                	jb     0x44d406
44d3f3:	8b 43 04             	mov    0x4(%ebx),%eax
44d3f6:	8b 48 08             	mov    0x8(%eax),%ecx
44d3f9:	e8 88 fe fb ff       	call   0x40d286
44d3fe:	85 c0                	test   %eax,%eax
44d400:	74 04                	je     0x44d406
44d402:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
44d406:	8b 43 04             	mov    0x4(%ebx),%eax
44d409:	8b 70 04             	mov    0x4(%eax),%esi
44d40c:	8b ce                	mov    %esi,%ecx
44d40e:	e8 59 bf fb ff       	call   0x40936c
44d413:	8b 46 08             	mov    0x8(%esi),%eax
44d416:	8b 38                	mov    (%eax),%edi
44d418:	8b 43 04             	mov    0x4(%ebx),%eax
44d41b:	8b 30                	mov    (%eax),%esi
44d41d:	8b ce                	mov    %esi,%ecx
44d41f:	e8 48 bf fb ff       	call   0x40936c
44d424:	8b 46 08             	mov    0x8(%esi),%eax
44d427:	ff 75 fc             	push   -0x4(%ebp)
44d42a:	8b 08                	mov    (%eax),%ecx
44d42c:	8b d7                	mov    %edi,%edx
44d42e:	e8 52 8b ff ff       	call   0x445f85
44d433:	59                   	pop    %ecx
44d434:	84 c0                	test   %al,%al
44d436:	75 14                	jne    0x44d44c
44d438:	8b 75 0c             	mov    0xc(%ebp),%esi
44d43b:	8b ce                	mov    %esi,%ecx
44d43d:	e8 de 57 fc ff       	call   0x412c20
44d442:	83 26 00             	andl   $0x0,(%esi)
44d445:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d44c:	5f                   	pop    %edi
44d44d:	5e                   	pop    %esi
44d44e:	33 c0                	xor    %eax,%eax
44d450:	5b                   	pop    %ebx
44d451:	c9                   	leave
44d452:	c2 08 00             	ret    $0x8
44d455:	55                   	push   %ebp
44d456:	8b ec                	mov    %esp,%ebp
44d458:	8b 45 08             	mov    0x8(%ebp),%eax
44d45b:	56                   	push   %esi
44d45c:	8b 40 04             	mov    0x4(%eax),%eax
44d45f:	8b 30                	mov    (%eax),%esi
44d461:	8b ce                	mov    %esi,%ecx
44d463:	e8 04 bf fb ff       	call   0x40936c
44d468:	8b 46 08             	mov    0x8(%esi),%eax
44d46b:	8b 08                	mov    (%eax),%ecx
44d46d:	e8 a6 8e ff ff       	call   0x446318
44d472:	84 c0                	test   %al,%al
44d474:	75 14                	jne    0x44d48a
44d476:	8b 75 0c             	mov    0xc(%ebp),%esi
44d479:	8b ce                	mov    %esi,%ecx
44d47b:	e8 a0 57 fc ff       	call   0x412c20
44d480:	83 26 00             	andl   $0x0,(%esi)
44d483:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d48a:	33 c0                	xor    %eax,%eax
44d48c:	5e                   	pop    %esi
44d48d:	5d                   	pop    %ebp
44d48e:	c2 08 00             	ret    $0x8
44d491:	55                   	push   %ebp
44d492:	8b ec                	mov    %esp,%ebp
44d494:	83 e4 f8             	and    $0xfffffff8,%esp
44d497:	83 ec 4c             	sub    $0x4c,%esp
44d49a:	8b 45 08             	mov    0x8(%ebp),%eax
44d49d:	53                   	push   %ebx
44d49e:	56                   	push   %esi
44d49f:	57                   	push   %edi
44d4a0:	8b f9                	mov    %ecx,%edi
44d4a2:	8b 48 08             	mov    0x8(%eax),%ecx
44d4a5:	8b 40 04             	mov    0x4(%eax),%eax
44d4a8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
44d4ac:	8b 30                	mov    (%eax),%esi
44d4ae:	8b ce                	mov    %esi,%ecx
44d4b0:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
44d4b4:	e8 b3 be fb ff       	call   0x40936c
44d4b9:	8b 46 08             	mov    0x8(%esi),%eax
44d4bc:	8d 4c 24 48          	lea    0x48(%esp),%ecx
44d4c0:	ff 30                	push   (%eax)
44d4c2:	e8 52 f9 fb ff       	call   0x40ce19
44d4c7:	33 db                	xor    %ebx,%ebx
44d4c9:	6a 01                	push   $0x1
44d4cb:	88 5c 24 14          	mov    %bl,0x14(%esp)
44d4cf:	c6 44 24 18 01       	movb   $0x1,0x18(%esp)
44d4d4:	89 5c 24 24          	mov    %ebx,0x24(%esp)
44d4d8:	89 5c 24 28          	mov    %ebx,0x28(%esp)
44d4dc:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
44d4e0:	89 5c 24 30          	mov    %ebx,0x30(%esp)
44d4e4:	89 5c 24 34          	mov    %ebx,0x34(%esp)
44d4e8:	89 5c 24 38          	mov    %ebx,0x38(%esp)
44d4ec:	ff 15 94 d1 48 00    	call   *0x48d194
44d4f2:	8b f0                	mov    %eax,%esi
44d4f4:	39 5c 24 4c          	cmp    %ebx,0x4c(%esp)
44d4f8:	0f 84 5d 01 00 00    	je     0x44d65b
44d4fe:	8b 4c 24 48          	mov    0x48(%esp),%ecx
44d502:	e8 c4 9d ff ff       	call   0x4472cb
44d507:	84 c0                	test   %al,%al
44d509:	0f 84 4c 01 00 00    	je     0x44d65b
44d50f:	8d 4c 24 48          	lea    0x48(%esp),%ecx
44d513:	e8 b0 92 ff ff       	call   0x4467c8
44d518:	83 7c 24 18 01       	cmpl   $0x1,0x18(%esp)
44d51d:	76 33                	jbe    0x44d552
44d51f:	8b 45 08             	mov    0x8(%ebp),%eax
44d522:	8b 40 04             	mov    0x4(%eax),%eax
44d525:	8b 48 04             	mov    0x4(%eax),%ecx
44d528:	e8 59 fd fb ff       	call   0x40d286
44d52d:	a8 01                	test   $0x1,%al
44d52f:	74 05                	je     0x44d536
44d531:	c6 44 24 10 01       	movb   $0x1,0x10(%esp)
44d536:	8b 45 08             	mov    0x8(%ebp),%eax
44d539:	8b 40 04             	mov    0x4(%eax),%eax
44d53c:	8b 48 04             	mov    0x4(%eax),%ecx
44d53f:	e8 42 fd fb ff       	call   0x40d286
44d544:	24 02                	and    $0x2,%al
44d546:	f6 d8                	neg    %al
44d548:	1a c0                	sbb    %al,%al
44d54a:	f6 d0                	not    %al
44d54c:	24 01                	and    $0x1,%al
44d54e:	88 44 24 14          	mov    %al,0x14(%esp)
44d552:	ff 74 24 14          	push   0x14(%esp)
44d556:	8d 44 24 34          	lea    0x34(%esp),%eax
44d55a:	ff 74 24 14          	push   0x14(%esp)
44d55e:	8b cf                	mov    %edi,%ecx
44d560:	50                   	push   %eax
44d561:	8d 44 24 34          	lea    0x34(%esp),%eax
44d565:	50                   	push   %eax
44d566:	8d 44 24 30          	lea    0x30(%esp),%eax
44d56a:	50                   	push   %eax
44d56b:	ff 74 24 5c          	push   0x5c(%esp)
44d56f:	e8 20 4a 00 00       	call   0x451f94
44d574:	84 c0                	test   %al,%al
44d576:	75 08                	jne    0x44d580
44d578:	83 cb ff             	or     $0xffffffff,%ebx
44d57b:	e9 00 01 00 00       	jmp    0x44d680
44d580:	8b 7d 0c             	mov    0xc(%ebp),%edi
44d583:	38 5c 24 10          	cmp    %bl,0x10(%esp)
44d587:	0f 84 b1 00 00 00    	je     0x44d63e
44d58d:	6a 03                	push   $0x3
44d58f:	6a 01                	push   $0x1
44d591:	57                   	push   %edi
44d592:	e8 b9 ea fc ff       	call   0x41c050
44d597:	8b 44 24 2c          	mov    0x2c(%esp),%eax
44d59b:	83 c4 0c             	add    $0xc,%esp
44d59e:	89 44 24 38          	mov    %eax,0x38(%esp)
44d5a2:	8b 44 24 24          	mov    0x24(%esp),%eax
44d5a6:	53                   	push   %ebx
44d5a7:	89 44 24 40          	mov    %eax,0x40(%esp)
44d5ab:	6a 01                	push   $0x1
44d5ad:	8d 44 24 40          	lea    0x40(%esp),%eax
44d5b1:	50                   	push   %eax
44d5b2:	57                   	push   %edi
44d5b3:	89 5c 24 50          	mov    %ebx,0x50(%esp)
44d5b7:	c7 44 24 54 02 00 00 	movl   $0x2,0x54(%esp)
44d5be:	00
44d5bf:	e8 0c 54 fc ff       	call   0x4129d0
44d5c4:	83 c4 10             	add    $0x10,%esp
44d5c7:	8d 4c 24 38          	lea    0x38(%esp),%ecx
44d5cb:	e8 50 56 fc ff       	call   0x412c20
44d5d0:	8b 44 24 28          	mov    0x28(%esp),%eax
44d5d4:	89 44 24 38          	mov    %eax,0x38(%esp)
44d5d8:	8b 44 24 2c          	mov    0x2c(%esp),%eax
44d5dc:	6a 01                	push   $0x1
44d5de:	89 44 24 40          	mov    %eax,0x40(%esp)
44d5e2:	6a 01                	push   $0x1
44d5e4:	8d 44 24 40          	lea    0x40(%esp),%eax
44d5e8:	50                   	push   %eax
44d5e9:	57                   	push   %edi
44d5ea:	89 5c 24 50          	mov    %ebx,0x50(%esp)
44d5ee:	c7 44 24 54 02 00 00 	movl   $0x2,0x54(%esp)
44d5f5:	00
44d5f6:	e8 d5 53 fc ff       	call   0x4129d0
44d5fb:	83 c4 10             	add    $0x10,%esp
44d5fe:	8d 4c 24 38          	lea    0x38(%esp),%ecx
44d602:	e8 19 56 fc ff       	call   0x412c20
44d607:	8b 44 24 30          	mov    0x30(%esp),%eax
44d60b:	89 44 24 38          	mov    %eax,0x38(%esp)
44d60f:	8b 44 24 34          	mov    0x34(%esp),%eax
44d613:	6a 02                	push   $0x2
44d615:	89 44 24 40          	mov    %eax,0x40(%esp)
44d619:	58                   	pop    %eax
44d61a:	50                   	push   %eax
44d61b:	89 44 24 48          	mov    %eax,0x48(%esp)
44d61f:	6a 01                	push   $0x1
44d621:	8d 44 24 40          	lea    0x40(%esp),%eax
44d625:	50                   	push   %eax
44d626:	57                   	push   %edi
44d627:	89 5c 24 50          	mov    %ebx,0x50(%esp)
44d62b:	e8 a0 53 fc ff       	call   0x4129d0
44d630:	83 c4 10             	add    $0x10,%esp
44d633:	8d 4c 24 38          	lea    0x38(%esp),%ecx
44d637:	e8 e4 55 fc ff       	call   0x412c20
44d63c:	eb 42                	jmp    0x44d680
44d63e:	8b cf                	mov    %edi,%ecx
44d640:	e8 db 55 fc ff       	call   0x412c20
44d645:	8b 44 24 20          	mov    0x20(%esp),%eax
44d649:	89 07                	mov    %eax,(%edi)
44d64b:	8b 44 24 24          	mov    0x24(%esp),%eax
44d64f:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
44d656:	89 47 04             	mov    %eax,0x4(%edi)
44d659:	eb 25                	jmp    0x44d680
44d65b:	8b 7d 0c             	mov    0xc(%ebp),%edi
44d65e:	8b cf                	mov    %edi,%ecx
44d660:	e8 bb 55 fc ff       	call   0x412c20
44d665:	8b 54 24 1c          	mov    0x1c(%esp),%edx
44d669:	83 0f ff             	orl    $0xffffffff,(%edi)
44d66c:	33 c0                	xor    %eax,%eax
44d66e:	40                   	inc    %eax
44d66f:	53                   	push   %ebx
44d670:	89 47 0c             	mov    %eax,0xc(%edi)
44d673:	50                   	push   %eax
44d674:	8b 02                	mov    (%edx),%eax
44d676:	8b 48 04             	mov    0x4(%eax),%ecx
44d679:	03 ca                	add    %edx,%ecx
44d67b:	e8 cc f8 ff ff       	call   0x44cf4c
44d680:	56                   	push   %esi
44d681:	ff 15 94 d1 48 00    	call   *0x48d194
44d687:	8d 4c 24 48          	lea    0x48(%esp),%ecx
44d68b:	e8 a7 f4 fb ff       	call   0x40cb37
44d690:	5f                   	pop    %edi
44d691:	5e                   	pop    %esi
44d692:	8b c3                	mov    %ebx,%eax
44d694:	5b                   	pop    %ebx
44d695:	8b e5                	mov    %ebp,%esp
44d697:	5d                   	pop    %ebp
44d698:	c2 08 00             	ret    $0x8
44d69b:	55                   	push   %ebp
44d69c:	8b ec                	mov    %esp,%ebp
44d69e:	51                   	push   %ecx
44d69f:	53                   	push   %ebx
44d6a0:	8b 5d 08             	mov    0x8(%ebp),%ebx
44d6a3:	56                   	push   %esi
44d6a4:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
44d6a8:	57                   	push   %edi
44d6a9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
44d6ad:	72 13                	jb     0x44d6c2
44d6af:	8b 43 04             	mov    0x4(%ebx),%eax
44d6b2:	8b 48 08             	mov    0x8(%eax),%ecx
44d6b5:	e8 cc fb fb ff       	call   0x40d286
44d6ba:	85 c0                	test   %eax,%eax
44d6bc:	74 04                	je     0x44d6c2
44d6be:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
44d6c2:	8b 43 04             	mov    0x4(%ebx),%eax
44d6c5:	8b 70 04             	mov    0x4(%eax),%esi
44d6c8:	8b ce                	mov    %esi,%ecx
44d6ca:	e8 9d bc fb ff       	call   0x40936c
44d6cf:	8b 46 08             	mov    0x8(%esi),%eax
44d6d2:	8b 38                	mov    (%eax),%edi
44d6d4:	8b 43 04             	mov    0x4(%ebx),%eax
44d6d7:	8b 30                	mov    (%eax),%esi
44d6d9:	8b ce                	mov    %esi,%ecx
44d6db:	e8 8c bc fb ff       	call   0x40936c
44d6e0:	8b 46 08             	mov    0x8(%esi),%eax
44d6e3:	ff 75 fc             	push   -0x4(%ebp)
44d6e6:	8b 08                	mov    (%eax),%ecx
44d6e8:	8b d7                	mov    %edi,%edx
44d6ea:	e8 66 9e ff ff       	call   0x447555
44d6ef:	59                   	pop    %ecx
44d6f0:	84 c0                	test   %al,%al
44d6f2:	75 14                	jne    0x44d708
44d6f4:	8b 75 0c             	mov    0xc(%ebp),%esi
44d6f7:	8b ce                	mov    %esi,%ecx
44d6f9:	e8 22 55 fc ff       	call   0x412c20
44d6fe:	83 26 00             	andl   $0x0,(%esi)
44d701:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d708:	5f                   	pop    %edi
44d709:	5e                   	pop    %esi
44d70a:	33 c0                	xor    %eax,%eax
44d70c:	5b                   	pop    %ebx
44d70d:	c9                   	leave
44d70e:	c2 08 00             	ret    $0x8
44d711:	55                   	push   %ebp
44d712:	8b ec                	mov    %esp,%ebp
44d714:	53                   	push   %ebx
44d715:	56                   	push   %esi
44d716:	8b 75 08             	mov    0x8(%ebp),%esi
44d719:	32 db                	xor    %bl,%bl
44d71b:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
44d71f:	72 11                	jb     0x44d732
44d721:	8b 46 04             	mov    0x4(%esi),%eax
44d724:	8b 48 04             	mov    0x4(%eax),%ecx
44d727:	e8 5a fb fb ff       	call   0x40d286
44d72c:	85 c0                	test   %eax,%eax
44d72e:	74 02                	je     0x44d732
44d730:	fe c3                	inc    %bl
44d732:	8b 46 04             	mov    0x4(%esi),%eax
44d735:	8b 30                	mov    (%eax),%esi
44d737:	8b ce                	mov    %esi,%ecx
44d739:	e8 2e bc fb ff       	call   0x40936c
44d73e:	8b 46 08             	mov    0x8(%esi),%eax
44d741:	8a d3                	mov    %bl,%dl
44d743:	8b 08                	mov    (%eax),%ecx
44d745:	e8 f3 a1 ff ff       	call   0x44793d
44d74a:	84 c0                	test   %al,%al
44d74c:	75 14                	jne    0x44d762
44d74e:	8b 75 0c             	mov    0xc(%ebp),%esi
44d751:	8b ce                	mov    %esi,%ecx
44d753:	e8 c8 54 fc ff       	call   0x412c20
44d758:	83 26 00             	andl   $0x0,(%esi)
44d75b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44d762:	5e                   	pop    %esi
44d763:	33 c0                	xor    %eax,%eax
44d765:	5b                   	pop    %ebx
44d766:	5d                   	pop    %ebp
44d767:	c2 08 00             	ret    $0x8
44d76a:	55                   	push   %ebp
44d76b:	8b ec                	mov    %esp,%ebp
44d76d:	83 e4 f8             	and    $0xfffffff8,%esp
44d770:	81 ec 14 01 00 00    	sub    $0x114,%esp
44d776:	53                   	push   %ebx
44d777:	56                   	push   %esi
44d778:	57                   	push   %edi
44d779:	8b d9                	mov    %ecx,%ebx
44d77b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44d77e:	68 00 dc 49 00       	push   $0x49dc00