## 1 Introduction  
Over the course of recent decades, technology has become an indispensable component of our daily lives, resulting in the pervasive presence of computers. With these remarkable advancements, it comes as no surprise that attackers have devised diverse methodologies to disrupt and impair computer systems for their own gain. These male-client actors embed harmful code into ostensibly ordinary programs, leading to a range of detrimental outcomes. Their actions include pilfering funds and personal data, overwhelming computers with downloads to induce system failures, and even encrypting data while demanding cryptocurrency ransoms. This malicious code collectively goes by the term \"malware\". Over time, malware has progressed to the extent that it can infiltrate virtually any system, including laptops, mobile devices, and internet servers. According to the 2023 SonicWall Cyber Threat Report, there has been a resurgence in malware attacks for the first time in over three years, reaching a substantial tally of 5.5 billion [1]. Given these circumstances, the need for malware detection and classification has intensified. The classification of malware involves ascertaining the class or family to which a specific malware variant belongs. The underlying rationale is that malware within the same families or categories exhibits akin behaviors during execution. This constitutes a foundational issue in malware analysis. Existing tools often rely on signature-based detection algorithms, maintaining a database of previously scrutinized malware signatures. However, this approach often falters when confronted with novel and unseen malware strains. Furthermore, malware creators persistently devise novel evasion strategies. To counter this, a substantial portion of recent research has centered around harnessing machine learning for the purposes of malware detection and classification. Malware can be classified into types like Worms and Trojans based on their interactions with systems, and these categories can be further broken down into families. Malware within the same family shares common attributes such as a shared code base or common authors. These shared traits can be exploited for effective malware classification. In this study, we investigate the utilization of API calls as features for the classification of malware. We extract the API calls dynamically while the malware is running. The rationale here is to avoid techniques that may obfuscate API calls when statically extracted [2; 3; 4]. We deploy word embedding techniques to generate vector representations from these API calls, which are subsequently employed as inputs to a variety of multi-class classifiers. The word embedding methods scrutinized in this research are HMM2 Vec, Word2 Vec, Embeddings from Language Model (ELMo), and Bidirectional Encoder Representations from Transformers (BERT). These techniques play a pivotal role in our classification process, given that the quality of the generated embeddings substantially influences the capacity to encapsulate latent features within call sequences. Across the board, we experiment with a consistent ensemble of multi-class classifiers, specifically k-Nearest Neighbors (kNNs), Support Vector Machines (SVMs), Random Forest (RF) classifiers, and Convolutional Neural Networks (CNNs). These hybrid methodologies are implemented and evaluated across a diverse spectrum of malware samples. The findings derived from these experiments are amalgamated within this report. Figure 1 provides an overview of the experimental trajectory, commencing from malware analysis and log extraction, culminating in classification endeavors. The overall procedure remains largely uniform across methodologies, with the exception of HMM2 Vec, which encompasses an additional step for mapping calls to numerical values. Figure 1: General layout of the experiments. The remainder of this paper is organized as follows.