joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140208fb0
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x40
movzx eax, word [rcx]
cmp eax, 2
je 0x140208fd8
mov r8, qword [rcx + 8]
cmp eax, 3
jne 0x140208fdc
mov rcx, rdx
mov edx, 1
add rsp, 0x40
pop rsi
jmp sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
xor eax, eax
jmp 0x140209015
mov word [rsp + 0x20], ax
mov eax, dword [rcx + 2]
mov dword [rsp + 0x22], eax
movzx eax, word [rcx + 6]
mov word [rsp + 0x26], ax
mov qword [rsp + 0x28], r8
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x30], xmm0
xor esi, esi
lea r8, [rsp + 0x20]
mov rcx, rdx
xor edx, edx
call sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
test rax, rax
je 0x140209023
test rax, rax
lea rsi, str.could_not_resolve_to_any_addresses
cmovne rsi, rax
mov rax, rsi
add rsp, 0x40
pop rsi
ret

Function at 0x140209680
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x38
cmp word [rcx], 0
mov eax, 2
mov ecx, 0x17
cmove ecx, eax
mov eax, dword [0x1403bbb00]
cmp eax, 4
jne 0x1402096fa
xor r8d, r8d
call sub.ws2_32.dll_socket
cmp rax, 0xffffffffffffffff
je 0x140209740
mov rsi, rax
mov dword [rsp + 0x2c], 1
lea r8, [rsp + 0x2c]
mov rcx, rax
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
test eax, eax
je 0x1402096f6
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call fcn.1402dac44
mov eax, 1
mov rsi, rdi
jmp 0x140209754
xor eax, eax
jmp 0x140209754
mov byte [rsp + 0x2b], 1
lea rax, [rsp + 0x2b]
mov qword [rsp + 0x30], rax
lea rax, [0x1403bbb00]
lea r9, [0x14032d280]
lea r8, [rsp + 0x30]
mov esi, ecx
mov rcx, rax
mov edi, edx
xor edx, edx
call sym.std::sys::sync::once::futex::Once::call::hfdb62661099a1a59
mov ecx, esi
mov edx, edi
xor r8d, r8d
call sub.ws2_32.dll_socket
cmp rax, 0xffffffffffffffff
jne 0x1402096b4
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov eax, 1
mov rdx, rsi
add rsp, 0x38
pop rdi
pop rsi
ret

Function at 0x140209860
Capabilities:
Connect socket

Disassembly:
push rsi
sub rsp, 0x40
cmp word [rdx], 0
je 0x14020988c
movups xmm0, xmmword [rdx + 4]
movzx eax, word [rdx + 0x1c]
rol ax, 8
mov r9d, dword [rdx + 0x18]
add rdx, 0x14
mov r8d, 0x1c
mov r10w, 0x17
jmp 0x1402098a6
movzx eax, word [rdx + 6]
rol ax, 8
add rdx, 2
xorps xmm0, xmm0
mov r8d, 0x10
mov r10w, 2
mov edx, dword [rdx]
mov word [rsp + 0x24], r10w
mov word [rsp + 0x26], ax
mov dword [rsp + 0x28], edx
movups xmmword [rsp + 0x2c], xmm0
mov dword [rsp + 0x3c], r9d
mov rcx, qword [rcx]
lea rdx, [rsp + 0x24]
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
jne 0x1402098f6
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call sym._ZN3std2io5error5Error4kind17h58f73e445c83dc12E.llvm.15326042789056206605
cmp al, 0xd
jne 0x1402098f8
mov rcx, rsi
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h00989f37ef59300fE.llvm.15326042789056206605
xor esi, esi
mov rax, rsi
add rsp, 0x40
pop rsi
ret
Function at 0x14020b970
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rbx, rdx
mov rsi, rcx
mov rcx, rdx
mov edx, 1
call sym.mio::sys::windows::net::new_ip_socket::hbf67be3d6fad7dc1
mov rdi, rdx
test rax, rax
je 0x14020b9a2
mov qword [rsi + 8], rdi
mov qword [rsi], 0xffffffffffffffff
jmp 0x14020ba3b
cmp word [rbx], 0
je 0x14020b9c7
movups xmm0, xmmword [rbx + 4]
movzx eax, word [rbx + 0x1c]
rol ax, 8
mov ecx, dword [rbx + 0x18]
add rbx, 0x14
mov r8d, 0x1c
mov dx, 0x17
jmp 0x14020b9e0
movzx eax, word [rbx + 6]
rol ax, 8
add rbx, 2
xorps xmm0, xmm0
mov r8d, 0x10
mov dx, 2
mov r9d, dword [rbx]
mov word [rsp + 0x24], dx
mov word [rsp + 0x26], ax
mov dword [rsp + 0x28], r9d
movups xmmword [rsp + 0x2c], xmm0
mov dword [rsp + 0x3c], ecx
lea rdx, [rsp + 0x24]
mov rcx, rdi
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
jne 0x14020ba30
call sym.std::sys::pal::windows::os::errno::h64d3f6efc49f2d2e
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, rbx
call sym._ZN3std2io5error5Error4kind17h58f73e445c83dc12E.llvm.15326042789056206605
cmp al, 0xd
jne 0x14020ba46
mov rcx, rbx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h00989f37ef59300fE.llvm.15326042789056206605
mov qword [rsi], rdi
mov qword [rsi + 8], 0
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov qword [rsi + 8], rbx
mov qword [rsi], 0xffffffffffffffff
mov rcx, rdi
call fcn.1402dac44
jmp 0x14020ba3b

Function at 0x14020bd30
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x40
movzx eax, word [rdx]
cmp eax, 2
je 0x14020bd55
mov r8, qword [rdx + 8]
cmp eax, 3
jne 0x14020bd59
mov edx, 1
add rsp, 0x40
pop rsi
jmp sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
xor eax, eax
jmp 0x14020bd8f
mov word [rsp + 0x20], ax
mov eax, dword [rdx + 2]
mov dword [rsp + 0x22], eax
movzx eax, word [rdx + 6]
mov word [rsp + 0x26], ax
mov qword [rsp + 0x28], r8
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x30], xmm0
xor esi, esi
lea r8, [rsp + 0x20]
xor edx, edx
call sym.std::sys_common::net::UdpSocket::connect::h045641db31a0bdfb
test rax, rax
je 0x14020bd9d
test rax, rax
lea rsi, str.could_not_resolve_to_any_addresses
cmovne rsi, rax
mov rax, rsi
add rsp, 0x40
pop rsi
ret

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

Disassembly:
mov rcx, qword [0x1402de4a0]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h10b2f0e186095a67

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

Disassembly:
mov rcx, qword [0x1402de4a0]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h10b2f0e186095a67

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

Disassembly:
mov rcx, qword [0x1402de4a0]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h10b2f0e186095a67
Function at 0x140211860
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov edi, dword [rcx]
mov edx, 1
mov ecx, edi
call fcn.1402db1bc
mov edx, 8
mov r8d, 4
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, edi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1402db1bc

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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x1402119e7
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x1402119dc
je 0x1402119da
test rdi, rdi
je 0x140211907
mov rax, qword [rdi]
mov qword [rdi], 0
test rax, rax
je 0x140211907
movups xmm0, xmmword [rdi + 8]
movups xmm1, xmmword [rdi + 0x18]
movups xmm2, xmmword [rdi + 0x28]
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
jmp 0x140211911
lea rcx, [rsp + 0x28]
call sym.parking_lot_core::parking_lot::ThreadData::new::he996d680672ac43a
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x98], esi
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0x40
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140211a01
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x1402119d5
mov rcx, rdi
call sym.__parking_lot_core::parking_lot::ThreadData_as_core::ops::drop::Drop_::drop::h4dea35cdb02f38e4
mov edx, 0x40
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x1402119dc
xor eax, eax
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x1402118cb
jmp 0x1402119dc
mov ecx, 8
mov edx, 0x40
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2
Function at 0x140211b90
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov esi, dword [0x1402de470]
test esi, esi
je 0x140211bb8
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x140211bd3
add rax, 4
jmp 0x140211c36
lea rcx, sym.std::sys::thread_local::os::destroy_value::h5051026dde8b7b39
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x140211bb2
je 0x140211c34
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 8
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x140211c40
mov rbx, rax
mov dword [rax], esi
add rax, 4
mov r14, rax
mov byte [rbx + 4], 0
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x140211c2f
mov edx, 8
mov r8d, 4
mov rcx, rdi
call sym.__rust_dealloc
mov rax, r14
jmp 0x140211c36
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 4
mov edx, 8
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3

Function at 0x140212390
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov edi, dword [rcx + 0x38]
mov edx, 1
mov ecx, edi
call fcn.1402db1bc
lock dec qword [0x1403bbb08]
mov edx, 0x40
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, edi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1402db1bc
Function at 0x140212eb0
Capabilities:
Link many functions at runtime

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rcx, str.api_ms_win_core_synch_l1_2_0.dll
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x140212f02
mov rsi, rax
lea rdx, str.WaitOnAddress
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140212f02
mov rdi, rax
lea rdx, str.WakeByAddressSingle
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140212f02
mov rbx, rax
xor esi, esi
jmp 0x140212f86
lea rcx, str.ntdll.dll
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x140212ff8
mov rdi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140212ff8
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140212ff8
mov rsi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140212ff8
mov rdi, rax
lea rcx, [rsp + 0x28]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x140212ff8
mov rbx, qword [rsp + 0x28]
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14021302f
mov r14, rax
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rbx
xor eax, eax
lock cmpxchg qword [0x1403bbb18], r14
je 0x140212feb
mov rsi, rax
cmp qword [r14], 0
je 0x140212fd5
mov rcx, qword [r14 + 0x10]
call sub.kernel32.dll_CloseHandle
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call sym.__rust_dealloc
mov r14, rsi
mov rax, r14
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rax, str.parking_lot_requires_either_NT_Keyed_Events__WinXP__or_WaitOnAddress_WakeByAddress__Win8_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea rdx, str._home_revy_.cargo_registry_src_index.crates.io_6f17d22bba15001f_parking_lot_core_0.9.10_src_thread_parker_windows_mod.rs8
lea rcx, [rsp + 0x28]
call sym.core::panicking::panic_fmt::h50bba86df16ca19f
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2

Function at 0x140213080
Capabilities:
Check os version

Disassembly:
sub rsp, 0x148
lea rcx, [rsp + 0x30]
mov r8d, 0x118
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rsp + 0x2c], 0x11c
lea rcx, [rsp + 0x2c]
call sub.ntdll.dll_RtlGetVersion
test eax, eax
js 0x1402130cc
mov ecx, dword [rsp + 0x30]
mov al, 1
cmp ecx, 6
ja 0x1402130c4
jne 0x1402130d6
cmp dword [rsp + 0x34], 3
setae al
add rsp, 0x148
ret
mov al, 1
add rsp, 0x148
ret
xor eax, eax
add rsp, 0x148
ret
Function at 0x140214f80
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, rdx
mov rsi, rcx
lea rdx, [rsp + 0x24]
mov rcx, rax
call sub.shell32.dll_CommandLineToArgvW
test rax, rax
je 0x1402150cf
mov rdi, rax
mov qword [rsp + 0x58], rsi
movsxd rbp, dword [rsp + 0x24]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x38], 0
test rbp, rbp
je 0x1402150af
shl rbp, 3
xor esi, esi
lea r14, [rsp + 0x40]
jmp 0x14021501c
mov rax, qword [rsp + 0x30]
lea rcx, [r15 + r15*2]
mov qword [rax + rcx*8], r12
mov qword [rax + rcx*8 + 8], r13
mov qword [rax + rcx*8 + 0x10], rbx
inc r15
mov qword [rsp + 0x38], r15
add rsi, 8
cmp rbp, rsi
je 0x1402150af
mov r12, qword [rdi + rsi]
mov rcx, r12
call sub.msvcrt.dll_wcslen
mov r13, rax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x50], 0
shr rax, 1
mov r8d, r13d
and r8d, 1
add r8, rax
je 0x14021505f
mov rcx, r14
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h342c723aad6a170c
lea rax, [r12 + r13*2]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
mov rdx, r14
call sym._ZN102__LT_core..iter..adapters..map..Map_LT_I_C_F_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4fold17h1e9dea8e3a
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
cmp r15, qword [rsp + 0x28]
jne 0x140214ff0
lea rcx, [rsp + 0x28]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h0bfe30b1f24680fd
jmp 0x140214ff0
mov rcx, rdi
call sub.kernel32.dll_LocalFree
movups xmm0, xmmword [rsp + 0x28]
mov rcx, qword [rsp + 0x58]
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x10], rax
jmp 0x1402150e6
mov qword [rsi], 0
mov qword [rsi + 8], 8
mov qword [rsi + 0x10], 0
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

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

Disassembly:
mov rcx, qword [0x1402de7d8]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h84cf90d03eafc23d
Function at 0x140219b60
Capabilities:
Get memory capacity

Disassembly:
push rsi
sub rsp, 0xe0
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rcx
xorps xmm6, xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov dword [rsp + 0x90], 0x40
lea rcx, [rsp + 0x90]
call sub.kernel32.dll_GlobalMemoryStatusEx
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rsi + 0x138], xmm0
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x20]
mov edx, 0x68
call sub.psapi.dll_GetPerformanceInfo
cmp eax, 1
jne 0x140219c4c
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor r10d, r10d
sub rdx, r9
cmovb rdx, r10
mov rcx, qword [rsp + 0x70]
mov rax, rcx
mul rdx
mov r8, rax
mov r11, 0xffffffffffffffff
cmovo r8, r11
mov rdx, qword [rsp + 0x28]
sub rdx, r9
cmovb rdx, r10
mov rax, rcx
mul rdx
cmovo rax, r11
mov qword [rsi + 0x148], r8
mov qword [rsi + 0x150], rax
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe0
pop rsi
ret
Function at 0x14021a480
Capabilities:
Get disk information

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rcx
call sub.kernel32.dll_GetLogicalDrives
mov dword [rsp + 0x2c], eax
test eax, eax
je 0x14021a4f1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 8
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x2c]
mov qword [rsp + 0x48], rax
movabs rax, 0x2000000000
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x48]
call sym._ZN5rayon4iter6extend91__LT_impl_u20_rayon..iter..ParallelExtend_LT_T_GT__u20_for_u20_alloc..vec..Vec_LT_T_GT__GT_10par_extend
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jmp 0x14021a4fd
mov r15d, 8
xor r14d, r14d
xor r12d, r12d
lea rbx, [rsi + 0xa8]
mov rcx, rbx
call sym.__alloc::vec::Vec_T_A__as_core::ops::drop::Drop_::drop::head5d4a27cd70dd7
mov rax, qword [rbx]
test rax, rax
je 0x14021a52e
mov rcx, qword [rsi + 0xb0]
shl rax, 4
lea rdx, [rax + rax*8]
mov r8d, 8
call sym.__rust_dealloc
mov qword [rsi + 0xa8], r12
mov qword [rsi + 0xb0], r15
mov qword [rsi + 0xb8], r14
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret

Function at 0x14021b150
Capabilities:
Get hostname

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov dword [rsp + 0x2c], 0
lea r8, [rsp + 0x2c]
mov ecx, 5
xor edx, edx
call sub.kernel32.dll_GetComputerNameExW
mov edi, dword [rsp + 0x2c]
test rdi, rdi
je 0x14021b1d6
lea r14, [rdi + rdi]
mov edx, 2
mov rcx, r14
call sym.__rust_alloc_zeroed
test rax, rax
je 0x14021b276
mov rbx, rax
lea r8, [rsp + 0x2c]
mov ecx, 5
mov rdx, rax
call sub.kernel32.dll_GetComputerNameExW
cmp eax, 1
jne 0x14021b21f
xor r8d, r8d
nop word cs:[rax + rax]
cmp word [rbx + r8*2], 0
je 0x14021b1f7
inc r8
add r14, 0xfffffffffffffffe
jne 0x14021b1c0
mov r8, rdi
jmp 0x14021b1f7
mov ebx, 2
lea r8, [rsp + 0x2c]
mov edx, 2
mov ecx, 5
call sub.kernel32.dll_GetComputerNameExW
cmp eax, 1
jne 0x14021b230
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sym.alloc::string::String::from_utf16::h92bc63552228ad98
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x30], rax
jne 0x14021b23f
mov qword [rsi], rax
test rdi, rdi
jne 0x14021b255
jmp 0x14021b269
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call sym.__rust_dealloc
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x14021b269
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
test rdi, rdi
je 0x14021b269
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 2
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
mov rsi, rax
test rdi, rdi
je 0x14021b29f
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rcx, rsi
call sym._Unwind_Resume
int3
Function at 0x14021dc20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14021dcef
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14021dce2
je 0x14021dce0
test rdi, rdi
je 0x14021dc69
movups xmm6, xmmword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
jne 0x14021dc85
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 [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14021dd09
movups xmmword [rax], xmm6
mov dword [rax + 0x10], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x14021dcdb
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14021dce2
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14021dc4d
jmp 0x14021dce2
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3

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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14021ddc3
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14021ddbb
je 0x14021ddb9
test rdi, rdi
je 0x14021dd5c
cmp dword [rdi], 0
mov dword [rdi], 0
je 0x14021dd5c
mov rdi, qword [rdi + 4]
jmp 0x14021dd5e
xor edi, edi
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0xc
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x14021dddd
mov qword [rax], rdi
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x14021ddb4
mov edx, 0xc
mov r8d, 4
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14021ddbb
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14021dd44
jmp 0x14021ddbb
mov ecx, 4
mov edx, 0xc
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3
Function at 0x14021ddf0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rbx, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14021ded7
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14021decf
je 0x14021decd
test rbx, rbx
je 0x14021de34
mov rdi, qword [rbx + 8]
cmp qword [rbx], 0
mov qword [rbx], 0
jne 0x14021de44
call sym.crossbeam_epoch::default::default_collector::hccf5fb05f37e3dd3
mov rcx, rax
call sym.crossbeam_epoch::collector::Collector::register::h748c97f0be74e1bd
mov rdi, rax
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14021def1
mov qword [rax], rdi
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x14021dec8
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x820]
lea rdx, [rax - 1]
mov qword [rcx + 0x820], rdx
cmp qword [rcx + 0x818], 0
jne 0x14021deb5
cmp rax, 1
jne 0x14021deb5
call sym.crossbeam_epoch::internal::Local::finalize::hbfbff793beb4bf2a
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14021decf
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14021de18
jmp 0x14021decf
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2

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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14021e007
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14021dfff
je 0x14021dfa0
test rdi, rdi
je 0x14021dfa4
mov rbx, qword [rdi]
mov qword [rdi], 0
test rbx, rbx
je 0x14021dfa6
mov rbx, qword [rdi + 8]
jmp 0x14021dfa6
xor eax, eax
jmp 0x14021dfff
xor ebx, ebx
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14021e021
mov qword [rax], rbx
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402db1bc
test rdi, rdi
je 0x14021dffc
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14021df84
jmp 0x14021dfff
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3