44a403:	83 c4 0c             	add    $0xc,%esp
44a406:	ff 37                	push   (%edi)
44a408:	01 77 04             	add    %esi,0x4(%edi)
44a40b:	ff 15 44 03 4b 00    	call   *0x4b0344
44a411:	83 67 08 00          	andl   $0x0,0x8(%edi)
44a415:	33 c0                	xor    %eax,%eax
44a417:	40                   	inc    %eax
44a418:	5f                   	pop    %edi
44a419:	5e                   	pop    %esi
44a41a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a41d:	5b                   	pop    %ebx
44a41e:	e8 bb d7 fc ff       	call   0x417bde
44a423:	c9                   	leave
44a424:	c2 08 00             	ret    $0x8
44a427:	55                   	push   %ebp
44a428:	8b ec                	mov    %esp,%ebp
44a42a:	83 ec 44             	sub    $0x44,%esp
44a42d:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
44a432:	53                   	push   %ebx
44a433:	56                   	push   %esi
44a434:	8b 35 f0 ff 4a 00    	mov    0x4afff0,%esi
44a43a:	57                   	push   %edi
44a43b:	6a 0a                	push   $0xa
44a43d:	5b                   	pop    %ebx
44a43e:	6a 11                	push   $0x11
44a440:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a443:	89 4d bc             	mov    %ecx,-0x44(%ebp)
44a446:	bf b8 c2 48 00       	mov    $0x48c2b8,%edi
44a44b:	ff d6                	call   *%esi
44a44d:	85 c0                	test   %eax,%eax
44a44f:	75 08                	jne    0x44a459
44a451:	6a 0d                	push   $0xd
44a453:	ff d6                	call   *%esi
44a455:	85 c0                	test   %eax,%eax
44a457:	74 47                	je     0x44a4a0
44a459:	8d 4d c0             	lea    -0x40(%ebp),%ecx
44a45c:	51                   	push   %ecx
44a45d:	6a 3c                	push   $0x3c
44a45f:	50                   	push   %eax
44a460:	ff 15 94 00 4b 00    	call   *0x4b0094
44a466:	85 c0                	test   %eax,%eax
44a468:	74 36                	je     0x44a4a0
44a46a:	6a 00                	push   $0x0
44a46c:	8d 7d dc             	lea    -0x24(%ebp),%edi
44a46f:	ff 15 60 06 4b 00    	call   *0x4b0660
44a475:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
44a479:	8b f0                	mov    %eax,%esi
44a47b:	7d 03                	jge    0x44a480
44a47d:	f7 5d c0             	negl   -0x40(%ebp)
44a480:	6a 5a                	push   $0x5a
44a482:	56                   	push   %esi
44a483:	ff 15 48 00 4b 00    	call   *0x4b0048
44a489:	50                   	push   %eax
44a48a:	6a 48                	push   $0x48
44a48c:	ff 75 c0             	push   -0x40(%ebp)
44a48f:	ff 15 38 03 4b 00    	call   *0x4b0338
44a495:	56                   	push   %esi
44a496:	6a 00                	push   $0x0
44a498:	8b d8                	mov    %eax,%ebx
44a49a:	ff 15 5c 06 4b 00    	call   *0x4b065c
44a4a0:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
44a4a5:	75 03                	jne    0x44a4aa
44a4a7:	89 5d 08             	mov    %ebx,0x8(%ebp)
44a4aa:	ff 75 08             	push   0x8(%ebp)
44a4ad:	8b 4d bc             	mov    -0x44(%ebp),%ecx
44a4b0:	57                   	push   %edi
44a4b1:	e8 39 fe ff ff       	call   0x44a2ef
44a4b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a4b9:	5f                   	pop    %edi
44a4ba:	5e                   	pop    %esi
44a4bb:	5b                   	pop    %ebx
44a4bc:	e8 1d d7 fc ff       	call   0x417bde
44a4c1:	c9                   	leave
44a4c2:	c2 04 00             	ret    $0x4
44a4c5:	56                   	push   %esi
44a4c6:	8b f1                	mov    %ecx,%esi
44a4c8:	ff 36                	push   (%esi)
44a4ca:	ff 15 40 03 4b 00    	call   *0x4b0340
44a4d0:	66 81 78 02 ff ff    	cmpw   $0xffff,0x2(%eax)
44a4d6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
44a4da:	75 0c                	jne    0x44a4e8
44a4dc:	0f bf 50 16          	movswl 0x16(%eax),%edx
44a4e0:	89 11                	mov    %edx,(%ecx)
44a4e2:	0f bf 40 18          	movswl 0x18(%eax),%eax
44a4e6:	eb 0a                	jmp    0x44a4f2
44a4e8:	0f bf 50 0e          	movswl 0xe(%eax),%edx
44a4ec:	89 11                	mov    %edx,(%ecx)
44a4ee:	0f bf 40 10          	movswl 0x10(%eax),%eax
44a4f2:	89 41 04             	mov    %eax,0x4(%ecx)
44a4f5:	ff 36                	push   (%esi)
44a4f7:	ff 15 44 03 4b 00    	call   *0x4b0344
44a4fd:	5e                   	pop    %esi
44a4fe:	c2 04 00             	ret    $0x4
44a501:	56                   	push   %esi
44a502:	57                   	push   %edi
44a503:	8b 7c 24 0c          	mov    0xc(%esp),%edi
44a507:	33 c0                	xor    %eax,%eax
44a509:	3b f8                	cmp    %eax,%edi
44a50b:	8b f1                	mov    %ecx,%esi
44a50d:	75 0a                	jne    0x44a519
44a50f:	89 06                	mov    %eax,(%esi)
44a511:	89 46 04             	mov    %eax,0x4(%esi)
44a514:	89 46 08             	mov    %eax,0x8(%esi)
44a517:	eb 10                	jmp    0x44a529
44a519:	57                   	push   %edi
44a51a:	e8 0d fd ff ff       	call   0x44a22c
44a51f:	59                   	pop    %ecx
44a520:	50                   	push   %eax
44a521:	57                   	push   %edi
44a522:	8b ce                	mov    %esi,%ecx
44a524:	e8 1f fc ff ff       	call   0x44a148
44a529:	5f                   	pop    %edi
44a52a:	8b c6                	mov    %esi,%eax
44a52c:	5e                   	pop    %esi
44a52d:	c2 04 00             	ret    $0x4
44a530:	53                   	push   %ebx
44a531:	8b 5c 24 08          	mov    0x8(%esp),%ebx
44a535:	33 c0                	xor    %eax,%eax
44a537:	3b d8                	cmp    %eax,%ebx
44a539:	56                   	push   %esi
44a53a:	8b f1                	mov    %ecx,%esi
44a53c:	75 0a                	jne    0x44a548
44a53e:	89 06                	mov    %eax,(%esi)
44a540:	89 46 04             	mov    %eax,0x4(%esi)
44a543:	89 46 08             	mov    %eax,0x8(%esi)
44a546:	eb 22                	jmp    0x44a56a
44a548:	57                   	push   %edi
44a549:	53                   	push   %ebx
44a54a:	ff 15 40 03 4b 00    	call   *0x4b0340
44a550:	8b f8                	mov    %eax,%edi
44a552:	57                   	push   %edi
44a553:	e8 d4 fc ff ff       	call   0x44a22c
44a558:	59                   	pop    %ecx
44a559:	50                   	push   %eax
44a55a:	57                   	push   %edi
44a55b:	8b ce                	mov    %esi,%ecx
44a55d:	e8 e6 fb ff ff       	call   0x44a148
44a562:	53                   	push   %ebx
44a563:	ff 15 44 03 4b 00    	call   *0x4b0344
44a569:	5f                   	pop    %edi
44a56a:	8b c6                	mov    %esi,%eax
44a56c:	5e                   	pop    %esi
44a56d:	5b                   	pop    %ebx
44a56e:	c2 04 00             	ret    $0x4
44a571:	51                   	push   %ecx
44a572:	56                   	push   %esi
44a573:	89 4c 24 04          	mov    %ecx,0x4(%esp)
44a577:	e8 85 33 02 00       	call   0x46d901
44a57c:	8b 70 0c             	mov    0xc(%eax),%esi
44a57f:	85 f6                	test   %esi,%esi
44a581:	75 04                	jne    0x44a587
44a583:	33 c0                	xor    %eax,%eax
44a585:	eb 49                	jmp    0x44a5d0
44a587:	57                   	push   %edi
44a588:	6a 05                	push   $0x5
44a58a:	ff 74 24 14          	push   0x14(%esp)
44a58e:	56                   	push   %esi
44a58f:	ff 15 60 03 4b 00    	call   *0x4b0360
44a595:	8b f8                	mov    %eax,%edi
44a597:	85 ff                	test   %edi,%edi
44a599:	74 34                	je     0x44a5cf
44a59b:	53                   	push   %ebx
44a59c:	55                   	push   %ebp
44a59d:	57                   	push   %edi
44a59e:	56                   	push   %esi
44a59f:	ff 15 64 03 4b 00    	call   *0x4b0364
44a5a5:	8b d8                	mov    %eax,%ebx
44a5a7:	53                   	push   %ebx
44a5a8:	ff 15 68 03 4b 00    	call   *0x4b0368
44a5ae:	57                   	push   %edi
44a5af:	56                   	push   %esi
44a5b0:	8b e8                	mov    %eax,%ebp
44a5b2:	ff 15 6c 03 4b 00    	call   *0x4b036c
44a5b8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44a5bc:	50                   	push   %eax
44a5bd:	55                   	push   %ebp
44a5be:	e8 85 fb ff ff       	call   0x44a148
44a5c3:	53                   	push   %ebx
44a5c4:	ff 15 bc 02 4b 00    	call   *0x4b02bc
44a5ca:	33 c0                	xor    %eax,%eax
44a5cc:	5d                   	pop    %ebp
44a5cd:	40                   	inc    %eax
44a5ce:	5b                   	pop    %ebx
44a5cf:	5f                   	pop    %edi
44a5d0:	5e                   	pop    %esi
44a5d1:	59                   	pop    %ecx
44a5d2:	c2 04 00             	ret    $0x4
44a5d5:	56                   	push   %esi
44a5d6:	8b 74 24 08          	mov    0x8(%esp),%esi
44a5da:	56                   	push   %esi
44a5db:	e8 41 fb ff ff       	call   0x44a121
44a5e0:	85 c0                	test   %eax,%eax
44a5e2:	59                   	pop    %ecx
44a5e3:	75 02                	jne    0x44a5e7
44a5e5:	5e                   	pop    %esi
44a5e6:	c3                   	ret
44a5e7:	56                   	push   %esi
44a5e8:	e8 f4 fb ff ff       	call   0x44a1e1
44a5ed:	8b 54 24 14          	mov    0x14(%esp),%edx
44a5f1:	59                   	pop    %ecx
44a5f2:	66 8b 08             	mov    (%eax),%cx
44a5f5:	66 89 0a             	mov    %cx,(%edx)
44a5f8:	33 c9                	xor    %ecx,%ecx
44a5fa:	66 81 7e 02 ff ff    	cmpw   $0xffff,0x2(%esi)
44a600:	6a 00                	push   $0x0
44a602:	0f 94 c1             	sete   %cl
44a605:	6a 00                	push   $0x0
44a607:	6a 20                	push   $0x20
44a609:	6a 20                	push   $0x20
44a60b:	8d 4c 09 01          	lea    0x1(%ecx,%ecx,1),%ecx
44a60f:	8d 34 48             	lea    (%eax,%ecx,2),%esi
44a612:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
44a616:	e8 2f 6b fb ff       	call   0x40114a
44a61b:	50                   	push   %eax
44a61c:	6a ff                	push   $0xffffffff
44a61e:	56                   	push   %esi
44a61f:	6a 00                	push   $0x0
44a621:	6a 00                	push   $0x0
44a623:	ff 15 a0 03 4b 00    	call   *0x4b03a0
44a629:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
44a62d:	6a ff                	push   $0xffffffff
44a62f:	e8 f3 6a fb ff       	call   0x401127
44a634:	33 c0                	xor    %eax,%eax
44a636:	40                   	inc    %eax
44a637:	5e                   	pop    %esi
44a638:	c3                   	ret
44a639:	56                   	push   %esi
44a63a:	57                   	push   %edi
44a63b:	8b f1                	mov    %ecx,%esi
44a63d:	ff 36                	push   (%esi)
44a63f:	ff 15 40 03 4b 00    	call   *0x4b0340
44a645:	ff 74 24 10          	push   0x10(%esp)
44a649:	ff 74 24 10          	push   0x10(%esp)
44a64d:	50                   	push   %eax
44a64e:	e8 82 ff ff ff       	call   0x44a5d5
44a653:	83 c4 0c             	add    $0xc,%esp
44a656:	ff 36                	push   (%esi)
44a658:	8b f8                	mov    %eax,%edi
44a65a:	ff 15 44 03 4b 00    	call   *0x4b0344
44a660:	8b c7                	mov    %edi,%eax
44a662:	5f                   	pop    %edi
44a663:	5e                   	pop    %esi
44a664:	c2 08 00             	ret    $0x8
44a667:	b8 2b 35 48 00       	mov    $0x48352b,%eax
44a66c:	e8 0b d6 fc ff       	call   0x417c7c
44a671:	83 ec 10             	sub    $0x10,%esp
44a674:	56                   	push   %esi
44a675:	57                   	push   %edi
44a676:	8b f9                	mov    %ecx,%edi
44a678:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
44a67c:	74 33                	je     0x44a6b1
44a67e:	8b 75 08             	mov    0x8(%ebp),%esi
44a681:	56                   	push   %esi
44a682:	e8 3e fe ff ff       	call   0x44a4c5
44a687:	ff 15 28 06 4b 00    	call   *0x4b0628
44a68d:	8b c8                	mov    %eax,%ecx
44a68f:	0f b7 c1             	movzwl %cx,%eax
44a692:	0f af 06             	imul   (%esi),%eax
44a695:	99                   	cltd
44a696:	6a 04                	push   $0x4
44a698:	5f                   	pop    %edi
44a699:	f7 ff                	idiv   %edi
44a69b:	6a 08                	push   $0x8
44a69d:	89 06                	mov    %eax,(%esi)
44a69f:	8b c1                	mov    %ecx,%eax
44a6a1:	c1 e8 10             	shr    $0x10,%eax
44a6a4:	0f af 46 04          	imul   0x4(%esi),%eax
44a6a8:	99                   	cltd
44a6a9:	59                   	pop    %ecx
44a6aa:	f7 f9                	idiv   %ecx
44a6ac:	89 46 04             	mov    %eax,0x4(%esi)
44a6af:	eb 54                	jmp    0x44a705
44a6b1:	e8 40 5b ff ff       	call   0x4401f6
44a6b6:	8b 10                	mov    (%eax),%edx
44a6b8:	8b c8                	mov    %eax,%ecx
44a6ba:	ff 52 0c             	call   *0xc(%edx)
44a6bd:	83 c0 10             	add    $0x10,%eax
44a6c0:	89 45 ec             	mov    %eax,-0x14(%ebp)
44a6c3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44a6c7:	8d 45 f0             	lea    -0x10(%ebp),%eax
44a6ca:	50                   	push   %eax
44a6cb:	8d 45 ec             	lea    -0x14(%ebp),%eax
44a6ce:	50                   	push   %eax
44a6cf:	8b cf                	mov    %edi,%ecx
44a6d1:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
44a6d8:	e8 5c ff ff ff       	call   0x44a639
44a6dd:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44a6e0:	50                   	push   %eax
44a6e1:	8b cf                	mov    %edi,%ecx
44a6e3:	e8 dd fd ff ff       	call   0x44a4c5
44a6e8:	ff 75 08             	push   0x8(%ebp)
44a6eb:	8b 75 ec             	mov    -0x14(%ebp),%esi
44a6ee:	ff 75 e8             	push   -0x18(%ebp)
44a6f1:	ff 75 e4             	push   -0x1c(%ebp)
44a6f4:	ff 75 f0             	push   -0x10(%ebp)
44a6f7:	56                   	push   %esi
44a6f8:	e8 f9 f8 ff ff       	call   0x449ff6
44a6fd:	8d 4e f0             	lea    -0x10(%esi),%ecx
44a700:	e8 4d 6c fb ff       	call   0x401352
44a705:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44a708:	5f                   	pop    %edi
44a709:	5e                   	pop    %esi
44a70a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44a711:	c9                   	leave
44a712:	c2 04 00             	ret    $0x4
44a715:	8b 44 24 04          	mov    0x4(%esp),%eax
44a719:	83 f8 16             	cmp    $0x16,%eax
44a71c:	7f 23                	jg     0x44a741
44a71e:	74 1d                	je     0x44a73d
44a720:	48                   	dec    %eax
44a721:	74 12                	je     0x44a735
44a723:	48                   	dec    %eax
44a724:	74 3e                	je     0x44a764
44a726:	83 e8 03             	sub    $0x3,%eax
44a729:	74 12                	je     0x44a73d
44a72b:	83 e8 04             	sub    $0x4,%eax
44a72e:	74 09                	je     0x44a739
44a730:	83 e8 04             	sub    $0x4,%eax
44a733:	75 1e                	jne    0x44a753
44a735:	6a 05                	push   $0x5
44a737:	eb 2d                	jmp    0x44a766
44a739:	6a 06                	push   $0x6
44a73b:	eb 29                	jmp    0x44a766
44a73d:	6a 0a                	push   $0xa
44a73f:	eb 25                	jmp    0x44a766
44a741:	83 e8 17             	sub    $0x17,%eax
44a744:	74 1e                	je     0x44a764
44a746:	48                   	dec    %eax
44a747:	74 17                	je     0x44a760
44a749:	83 e8 04             	sub    $0x4,%eax
44a74c:	74 0e                	je     0x44a75c
44a74e:	83 e8 08             	sub    $0x8,%eax
44a751:	74 05                	je     0x44a758
44a753:	33 c0                	xor    %eax,%eax
44a755:	40                   	inc    %eax
44a756:	eb 0f                	jmp    0x44a767
44a758:	6a 0b                	push   $0xb
44a75a:	eb 0a                	jmp    0x44a766
44a75c:	6a 0d                	push   $0xd
44a75e:	eb 06                	jmp    0x44a766
44a760:	6a 04                	push   $0x4
44a762:	eb 02                	jmp    0x44a766
44a764:	6a 02                	push   $0x2
44a766:	58                   	pop    %eax
44a767:	c2 04 00             	ret    $0x4
44a76a:	8b 44 24 04          	mov    0x4(%esp),%eax
44a76e:	b9 0b 01 00 00       	mov    $0x10b,%ecx
44a773:	3b c1                	cmp    %ecx,%eax
44a775:	0f 87 a4 01 00 00    	ja     0x44a91f
44a77b:	0f 84 c4 00 00 00    	je     0x44a845