libmwemu 0.24.1

x86 32/64bits and system internals emulator, for securely emulating malware and other stuff.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::emu;

pub fn TlsFree(emu: &mut emu::Emu) {
    let idx = emu.regs().rcx as usize; // First parameter passed in RCX in x64

    log_red!(emu, "kernel32!TlsFree idx: {}", idx);

    if idx < emu.tls64().len() {
        emu.tls64_mut()[idx] = 0; // Clear the slot
        emu.regs_mut().rax = 1; // Return TRUE
    } else {
        emu.regs_mut().rax = 0; // Return FALSE if invalid index
    }
}