joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140024d50
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
mov rdi, rdx
mov rsi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140024d81
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140024d96
add rax, 8
jmp 0x140024e3e
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x140024d78
je 0x140024e3c
test rdi, rdi
je 0x140024db2
movups xmm6, xmmword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
jne 0x140024dce
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
call sub.bcryptprimitives.dll_ProcessPrng
movaps xmm6, xmmword [rsp + 0x20]
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140024e65
mov r14, rax
mov rdi, rax
mov qword [rax], rsi
movups xmmword [rax + 8], xmm6
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140024e4d
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rbx, rax
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140024e59
dec ecx
add r14, 8
mov rdx, rdi
call fcn.1400da90c
test rbx, rbx
je 0x140024e37
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call sym.__rust_dealloc
mov rax, r14
jmp 0x140024e3e
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140024e02
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140024e13
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
int3
Function at 0x140024e80
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140024eac
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140024ec1
add rax, 8
jmp 0x140024f4f
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x140024ea3
je 0x140024edd
test rdi, rdi
je 0x140024ee1
mov rbx, qword [rdi]
mov qword [rdi], 0
test rbx, rbx
je 0x140024ee3
mov rbx, qword [rdi + 8]
jmp 0x140024ee3
xor eax, eax
jmp 0x140024f4f
xor ebx, ebx
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140024f71
mov r14, rax
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], rbx
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140024f59
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rbx, rax
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x140024f65
dec ecx
add r14, 8
mov rdx, rdi
call fcn.1400da90c
test rbx, rbx
je 0x140024f4c
mov edx, 0x10
mov r8d, 8
mov rcx, rbx
call sym.__rust_dealloc
mov rax, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140024f17
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140024f28
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
int3
Function at 0x140024f90
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rbx, rdx
mov rsi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140024fbc
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140024fd1
add rax, 8
jmp 0x14002509c
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x140024fb3
je 0x14002509a
test rbx, rbx
je 0x140024fed
mov rdi, qword [rbx + 8]
cmp qword [rbx], 0
mov qword [rbx], 0
jne 0x140024ffd
call sym.crossbeam_epoch::default::default_collector::h4b47c8153bdb5c67
mov rcx, rax
call sym.crossbeam_epoch::collector::Collector::register::h10c50b58d25aff96
mov rdi, rax
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400250be
mov r14, rax
mov rbx, rax
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400250a6
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400250b2
dec ecx
add r14, 8
mov rdx, rbx
call fcn.1400da90c
test rdi, rdi
je 0x140025095
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 0x820]
lea rdx, [rax - 1]
mov qword [rcx + 0x820], rdx
cmp qword [rcx + 0x818], 0
jne 0x140025082
cmp rax, 1
jne 0x140025082
call sym.crossbeam_epoch::internal::Local::finalize::h6cc0706436f9e895
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, r14
jmp 0x14002509c
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140025035
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x140025046
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2
Function at 0x140025820
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x140025862
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 4
jb 0x14002586a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14002587b
jmp 0x140025892
xor r10d, r10d
jmp 0x14002591d
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140025892
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x1400258a9
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x1400258c9
add r11, r8
jmp 0x1400259fb
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x140025992
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x140025940
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 4
jb 0x1400259b0
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x1400259c2
jmp 0x1400259dd
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x1400259dd
lea rcx, [rdx + r8]
movzx esi, word [r10 + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x1400259f7
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x140026710
Capabilities:
Reference wmi statements

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x38], 0
cmp qword [rdx + 0x10], 0
je 0x1400267e6
lea rcx, [0x1400e041a]
call sub.oleaut32.dll_SysAllocString
mov rbx, rax
lea rcx, str.SELECT__FROM_MSAcpi_ThermalZoneTemperature
call sub.oleaut32.dll_SysAllocString
mov r14, rax
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov rax, qword [rax + 0xa0]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov r8, r14
mov r9d, 0x30
call rax
mov ebp, eax
mov rcx, rbx
call fcn.1400da4d4
mov rcx, r14
call fcn.1400da4d4
test ebp, ebp
js 0x1400267e6
mov rbx, qword [rsp + 0x38]
cmp qword [rsi + 0x20], 0
je 0x1400267b2
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x1400267b2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x20], 1
mov qword [rsi + 0x28], rbx
mov rax, qword [rsi + 0x30]
mov qword [rdi + 0x30], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rsi + 0x20]
mov qword [rdi + 0x20], rax
mov rax, qword [rsi + 0x28]
mov qword [rdi + 0x28], rax
jmp 0x1400267f5
mov qword [rdi], 2
mov rcx, rsi
call sym.core::ptr::drop_in_place_sysinfo::windows::component::Connection_::h016d54d489f6d29b
nop
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
Function at 0x140029b80
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rdx, rcx
mov rcx, qword [0x1400dd158]
jmp sym.std::sys::thread_local::os_local::Key_T_::get::hdb5e155a33ea3a7d

Function at 0x14002b6b0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rcx, qword [0x1400dd250]
xor edx, edx
jmp sym.std::sys::thread_local::os_local::Key_T_::get::he249945a9ac853dd

Function at 0x14002d6d0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rdx, rcx
mov rcx, qword [0x1400dd3b8]
jmp sym.std::sys::thread_local::os_local::Key_T_::get::hd32bc1cb3259a1e3

Function at 0x14002e690
Capabilities:
Get disk size

Disassembly:
push rsi
sub rsp, 0x30
cmp qword [rcx + 0x78], 0
je 0x14002e6d3
mov rsi, rcx
mov qword [rsp + 0x28], 0
mov rcx, qword [rcx + 0x50]
lea r9, [rsp + 0x28]
xor edx, edx
xor r8d, r8d
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x14002e6d3
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x80], rax
mov al, 1
add rsp, 0x30
pop rsi
ret
xor eax, eax
add rsp, 0x30
pop rsi
ret

Function at 0x14002e750
Capabilities:
Get disk size

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
xor edi, edi
lea r8, [rsp + 0x28]
lea r9, [rsp + 0x30]
mov rcx, rdx
xor edx, edx
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x14002e79c
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov edi, 1
mov qword [rsi], rdi
mov rax, rsi
add rsp, 0x38
pop rdi
pop rsi
ret

Function at 0x14002e7b0
Capabilities:
Get disk information

Disassembly:
push rsi
sub rsp, 0x50
mov rsi, rcx
call sub.kernel32.dll_GetLogicalDrives
mov dword [rsp + 0x24], eax
test eax, eax
je 0x14002e81b
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x24]
mov qword [rsp + 0x40], rax
movabs rax, 0x2000000000
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x40]
call fcn.140021940
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi], xmm0
jmp 0x14002e832
mov qword [rsi], 0
mov qword [rsi + 8], 8
mov qword [rsi + 0x10], 0
mov rax, rsi
add rsp, 0x50
pop rsi
ret
Function at 0x140033c20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rdx, rcx
mov rcx, qword [0x1400dd158]
jmp sym.std::sys::thread_local::os_local::Key_T_::get::hdb5e155a33ea3a7d

Function at 0x140033c30
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rdx, rcx
mov rcx, qword [0x1400dd150]
jmp sym.std::sys::thread_local::os_local::Key_T_::get::h2b25128e862f0aac
Function at 0x140036340
Capabilities:
Query or enumerate registry value

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov rsi, r9
mov rdi, rcx
add r8, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], r8
mov word [rsp + 0x50], 0
mov dword [rsp + 0x58], 1
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x40]
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h8250d9b870
mov rax, qword [rsp + 0xe0]
add rax, rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rax
mov word [rsp + 0x50], 0
mov dword [rsp + 0x58], 1
lea rcx, [rsp + 0x60]
lea rbx, [rsp + 0x40]
mov rdx, rbx
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h8250d9b870
mov rsi, qword [rsp + 0x80]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 0x20019
call sub.advapi32.dll_RegOpenKeyExW
test eax, eax
je 0x140036421
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x1400363ff
mov rcx, qword [rsp + 0x68]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14003641a
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call sym.__rust_dealloc
xor ebp, ebp
jmp 0x1400364b3
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x3c], 4
mov dword [rsp + 0x38], 0
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x40], 0
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
call sub.advapi32.dll_RegQueryValueExW
test eax, eax
sete bpl
mov r14d, dword [rsp + 0x38]
mov rcx, rbx
call fcn.1400da9cc
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140036498
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x1400364b3
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call sym.__rust_dealloc
shl r14, 8
movzx eax, bpl
or rax, r14
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
Function at 0x140036680
Capabilities:
Get local ipv4 addresses

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov rsi, rcx
mov dword [rsp + 0x30], 0x3c00
xor ebx, ebx
lea r14, [rsp + 0x30]
xor ebp, ebp
nop word cs:[rax + rax]
mov edx, dword [rsp + 0x30]
mov rcx, rbx
call sub.msvcrt.dll_realloc
test rax, rax
je 0x14003676e
mov rdi, rax
mov qword [rsp + 0x20], r14
xor ecx, ecx
mov edx, 0xe
xor r8d, r8d
mov r9, rax
call sub.iphlpapi.dll_GetAdaptersAddresses
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400367d2
cmp ebp, 1
ja 0x1400366fa
inc ebp
mov rbx, rdi
cmp eax, 0x6f
je 0x1400366b0
lea rax, [rsp + 0x34]
mov qword [rsp + 0x38], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u32_::fmt::h7b8b904357beb2e1]
mov qword [rsp + 0x40], rax
lea rax, [0x1400e1630]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call sym.alloc::fmt::format::format_inner::hb636fee45517645d
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsi], xmm0
mov rcx, rdi
call fcn.1400db0c0
jmp 0x1400367e7
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x32
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x1400367f8
mov rdi, rax
movups xmm0, xmmword [0x1400e15f0]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1400e15e0]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.failed_to_allocate_memory_for_IP_ADAPTER_ADDRESSESGetAdaptersAddresses___failed_with_code]
movups xmmword [rax], xmm0
mov word [rax + 0x30], 0x5345
mov rcx, rbx
call fcn.1400db0c0
mov qword [rsi], 0x32
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], 0x32
jmp 0x1400367e7
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ecx, 1
mov edx, 0x32
call sym.alloc::raw_vec::handle_error::h5313441c9bd13595
ud2
Function at 0x14003aa50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rdi, rcx
movups xmm0, xmmword [rdx + 0x38]
movups xmm1, xmmword [rdx + 0x48]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rdx + 0x28]
movzx ebp, byte [rdx + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x60], bpl
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x5f0
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14003acc0
mov rbx, rax
movabs r15, 0x800000000000000
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x28], rax
movabs rcx, 0x7465646279746573
movabs rdx, 0x6c7967656e657261
movabs r8, 0xded7d4e2d7dedfc6
movabs r9, 0xa60c596fc19fead0
movabs r10, 0xe414a674f0de7325
nop dword [rax]
mov eax, 1
lock xadd qword [0x140125050], rax
mov r13, rax
xor r13, rcx
lea r11, [rdx + r13]
mov r14, r13
rol r14, 0x10
xor r14, r11
lea r12, [r14 + r8]
rol r14, 0x15
add r13, r9
mov r11, r13
xor r11, r10
rol r13, 0x20
xor rax, r12
add rax, r11
rol r11, 0xd
xor r12, r15
xor r11, rax
rol rax, 0x20
xor r12, r14
add r13, r12
rol r12, 0x10
xor r12, r13
add rax, r12
rol r12, 0x15
add r13, r11
rol r11, 0x11
xor r12, rax
xor r11, r13
rol r13, 0x20
xor rax, r15
add rax, r11
rol r11, 0xd
xor r11, rax
rol rax, 0x20
xor r13, 0xff
add r13, r12
rol r12, 0x10
xor r12, r13
add rax, r12
rol r12, 0x15
add r13, r11
rol r11, 0x11
xor r11, r13
rol r13, 0x20
xor r12, rax
add rax, r11
rol r11, 0xd
xor r11, rax
rol rax, 0x20
add r13, r12
rol r12, 0x10
xor r12, r13
add rax, r12
rol r12, 0x15
add r13, r11
rol r11, 0x11
xor r11, r13
rol r13, 0x20
xor r12, rax
add rax, r11
rol r11, 0xd
add r13, r12
rol r12, 0x10
xor r12, r13
rol r12, 0x15
xor r11, rax
add r13, r11
rol r11, 0x11
mov rax, r13
rol rax, 0x20
xor rax, r11
xor rax, r12
xor rax, r13
je 0x14003ab10
mov rcx, qword [rsi + 0x58]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x128], xmm1
movups xmmword [rdi + 0x118], xmm0
mov rdx, qword [rsp + 0x20]
mov qword [rdi + 0x138], rdx
mov byte [rdi + 0x140], bpl
mov qword [rdi], 0
mov qword [rdi + 8], rbx
mov qword [rdi + 0x80], 0
mov qword [rdi + 0x88], rbx
mov rdx, qword [rsp + 0x28]
mov qword [rdi + 0x100], rdx
mov qword [rdi + 0x108], rax
mov qword [rdi + 0x110], rcx
mov rdx, qword [rsi + 0x10]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14003acac
test rdx, rdx
je 0x14003acac
mov rcx, qword [rsi + 0x18]
mov r8d, 1
call sym.__rust_dealloc
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 8
mov edx, 0x5f0
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2

Function at 0x14003b320
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rdx, rcx
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h851e961454342980
jmp sym.std::sys::thread_local::os_local::Key_T_::get::hc5bcf73c9fe3ed61
Function at 0x14003c200
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rcx, qword [0x1400dd250]
xor edx, edx
jmp sym.std::sys::thread_local::os_local::Key_T_::get::h3ffacb15754f4bc6

Function at 0x14003d5d0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rcx, qword [0x140109c70]
xor edx, edx
jmp sym.std::sys::thread_local::os_local::Key_T_::get::hc5bcf73c9fe3ed61

Function at 0x14003d630
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rbx, rdx
mov rsi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14003d65c
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14003d671
add rax, 8
jmp 0x14003d73c
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14003d653
je 0x14003d73a
test rbx, rbx
je 0x14003d68d
mov rdi, qword [rbx + 8]
cmp qword [rbx], 0
mov qword [rbx], 0
jne 0x14003d69d
call sym.crossbeam_epoch::default::default_collector::h4b47c8153bdb5c67
mov rcx, rax
call sym.crossbeam_epoch::collector::Collector::register::h10c50b58d25aff96
mov rdi, rax
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14003d75e
mov r14, rax
mov rbx, rax
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d746
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d752
dec ecx
add r14, 8
mov rdx, rbx
call fcn.1400da90c
test rdi, rdi
je 0x14003d735
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 0x820]
lea rdx, [rax - 1]
mov qword [rcx + 0x820], rdx
cmp qword [rcx + 0x818], 0
jne 0x14003d722
cmp rax, 1
jne 0x14003d722
call sym.crossbeam_epoch::internal::Local::finalize::h6cc0706436f9e895
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, r14
jmp 0x14003d73c
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x14003d6d5
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x14003d6e6
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
ud2
Function at 0x14003d7d0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14003d7fc
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14003d811
add rax, 8
jmp 0x14003d89f
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14003d7f3
je 0x14003d82d
test rdi, rdi
je 0x14003d831
mov rbx, qword [rdi]
mov qword [rdi], 0
test rbx, rbx
je 0x14003d833
mov rbx, qword [rdi + 8]
jmp 0x14003d833
xor eax, eax
jmp 0x14003d89f
xor ebx, ebx
mov rax, qword [0x140109d88]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14003d8c1
mov r14, rax
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 8], rbx
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d8a9
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rbx, rax
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d8b5
dec ecx
add r14, 8
mov rdx, rdi
call fcn.1400da90c
test rbx, rbx
je 0x14003d89c
mov edx, 0x10
mov r8d, 8
mov rcx, rbx
call sym.__rust_dealloc
mov rax, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x14003d867
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
jmp 0x14003d878
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h033f15fcf3b32b44
int3

Function at 0x14003d8e0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d8f7
dec ecx
jmp 0x14003d901
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
mov edx, 1
call fcn.1400da90c
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14003d929
dec ecx
jmp 0x14003d933
mov rcx, rsi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h3a56cd97d8b2cb6b
mov ecx, eax
xor edx, edx
call fcn.1400da90c
nop
add rsp, 0x28
pop rdi
pop rsi
ret