joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400dbf50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x428
mov r15d, dword [rdx + 0x58]
lea r14d, [r15 - 1]
mov rdi, qword [r8 + 8]
cmp rdi, r14
jbe 0x1400dc0c4
mov rbx, rdx
mov rsi, rcx
mov r12, qword [r8]
mov rdx, r14
shl rdx, 0xa
add rdx, r12
lea rcx, [rsp + 0x28]
mov r8d, 0x400
call sub.msvcrt.dll_memmove
mov eax, dword [rbx + 0x44]
cmp rax, 2
jb 0x1400dc05c
add r12, 0x30
lea edx, [r15*2 - 1]
mov r8d, 1
nop word [rax + rax]
mov ecx, r15d
imul ecx, r8d
add ecx, r14d
cmp rdi, rcx
jbe 0x1400dc0b5
mov ecx, edx
shl rcx, 0xa
add rcx, r12
inc r8
xor r9d, r9d
nop word cs:[rax + rax]
movups xmm0, xmmword [rcx + r9*8 - 0x30]
movups xmm1, xmmword [rcx + r9*8 - 0x20]
movups xmm2, xmmword [rsp + r9*8 + 0x28]
xorps xmm2, xmm0
movups xmm0, xmmword [rsp + r9*8 + 0x38]
xorps xmm0, xmm1
movups xmm1, xmmword [rsp + r9*8 + 0x48]
movups xmm3, xmmword [rsp + r9*8 + 0x58]
movups xmmword [rsp + r9*8 + 0x28], xmm2
movups xmmword [rsp + r9*8 + 0x38], xmm0
movups xmm0, xmmword [rcx + r9*8 - 0x10]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r9*8]
xorps xmm1, xmm3
movups xmmword [rsp + r9*8 + 0x48], xmm0
movups xmmword [rsp + r9*8 + 0x58], xmm1
add r9, 8
cmp r9, 0x80
jne 0x1400dbff0
add edx, r15d
cmp r8, rax
jne 0x1400dbfc0
mov edi, dword [rbx + 0x40]
test rdi, rdi
je 0x1400dc07b
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc_zeroed
test rax, rax
je 0x1400dc0d6
mov rbx, rax
jmp 0x1400dc080
mov ebx, 1
lea r8, [rsp + 0x28]
mov r9d, 0x400
mov rcx, rbx
mov rdx, rdi
call sym._ZN6argon24core6hprime17haf13b2131b85c421E.llvm.13003760176750909543
mov qword [rsi], rdi
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
mov rax, rsi
add rsp, 0x428
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str._home_ilexite_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_argon2_1.0.1_src_core.rs
mov rdx, rdi
call sym.core::panicking::panic_bounds_check::hc0bb8aeebe99b9e9
lea r8, str._home_ilexite_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_argon2_1.0.1_src_core.rs
mov rcx, r14
mov rdx, rdi
call sym.core::panicking::panic_bounds_check::hc0bb8aeebe99b9e9
mov ecx, 1
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hc482cb000d7a2d91
mov rsi, rax
test rdi, rdi
je 0x1400dc0fc
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rcx, rsi
call sym._Unwind_Resume
int3
Function at 0x1400e3950
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov ecx, dword [0x1401980b0]
test ecx, ecx
je 0x1400e3980
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400e3999
cmp qword [rax + 8], 0
je 0x1400e3999
add rax, 8
jmp 0x1400e3a2f
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h6784abc5607ac93d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400e3970
mov ecx, dword [0x1401980b0]
test ecx, ecx
je 0x1400e3a14
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400e3a2d
test rax, rax
jne 0x1400e39ff
mov rax, qword [str.Ap3_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400e3a4c
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h6784abc5607ac93d
mov qword [rax], rcx
mov qword [rax + 8], 0
mov ecx, dword [0x1401980b0]
test ecx, ecx
je 0x1400e3a36
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.140195614
mov rax, rdi
add rax, 8
mov rcx, rax
mov rdx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp sym.std::sys::thread_local::lazy::LazyKeyInner_T_::initialize::hcec540301a286653
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h6784abc5607ac93d
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400e39b0
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::thread_local::os_local::destroy_value::h6784abc5607ac93d
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov rax, rdi
jmp 0x1400e39f1
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hb769684bc32a98a2
int3

Function at 0x1400e3e60
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [rcx]
mov rdi, qword [rsi]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400e3e77
dec ecx
jmp 0x1400e3e81
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
mov edx, 1
call fcn.140195614
cmp qword [rsi + 8], 0
je 0x1400e3e9b
lea rcx, [rsi + 8]
call sym.__crossbeam_utils::sync::sharded_lock::Registration_as_core::ops::drop::Drop_::drop::h26c497faf5e1fb15
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400e3eb9
dec ecx
jmp 0x1400e3ec3
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h4859d1153e21d02d
mov ecx, eax
xor esi, esi
xor edx, edx
call fcn.140195614
mov rax, rsi
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x1400f4710
Capabilities:
Encode data using xor

Disassembly:
cmp rdx, r9
jne 0x1400f472a
test rdx, rdx
je 0x1400f472d
cmp rdx, 8
jae 0x1400f4737
xor r9d, r9d
xor eax, eax
jmp 0x1400f4840
xor eax, eax
ret
xor r9d, r9d
test r9b, r9b
sete al
ret
cmp rdx, 0x20
jae 0x1400f4747
xor r9d, r9d
xor eax, eax
jmp 0x1400f47d6
mov rax, rdx
and rax, 0xffffffffffffffe0
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [rcx + r9]
movdqu xmm3, xmmword [rcx + r9 + 0x10]
movdqu xmm4, xmmword [r8 + r9]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [r8 + r9 + 0x10]
pxor xmm2, xmm3
por xmm1, xmm2
add r9, 0x20
cmp rax, r9
jne 0x1400f4760
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r9d, xmm1
cmp rax, rdx
je 0x1400f4858
test dl, 0x18
je 0x1400f4840
mov r10, rax
mov rax, rdx
and rax, 0xfffffffffffffff8
movzx r9d, r9b
movd xmm0, r9d
nop dword [rax]
mov r9, qword [r8 + r10]
xor r9, qword [rcx + r10]
movq xmm1, r9
por xmm0, xmm1
add r10, 8
cmp rax, r10
jne 0x1400f47f0
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd r9d, xmm1
cmp rax, rdx
je 0x1400f4858
nop word [rax + rax]
movzx r10d, byte [r8 + rax]
xor r10b, byte [rcx + rax]
lea r11, [rax + 1]
or r9b, r10b
mov rax, r11
cmp rdx, r11
jne 0x1400f4840
test r9b, r9b
sete al
ret
Function at 0x1400fe610
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aeskeygenassist xmm0, xmmword [rdx], 2
movdqa xmmword [rcx], xmm0
ret
Function at 0x1400fe980
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
movaps xmm9, xmmword [rdx]
movaps xmm10, xmmword [rdx + 0xa0]
movaps xmmword [rcx], xmm9
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movaps xmmword [rcx + 0xa0], xmm10
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x58
ret
Function at 0x1400fedf0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
movaps xmm11, xmmword [rdx]
movaps xmm12, xmmword [rdx + 0xc0]
movaps xmmword [rcx], xmm11
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movaps xmmword [rcx + 0xc0], xmm12
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
add rsp, 0x78
ret
Function at 0x1400fef00
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
aesimc xmm11, xmmword [rdx + 0xc0]
aesimc xmm12, xmmword [rdx + 0xd0]
movaps xmm13, xmmword [rdx]
movaps xmm14, xmmword [rdx + 0xe0]
movaps xmmword [rcx], xmm13
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movdqa xmmword [rcx + 0xc0], xmm11
movdqa xmmword [rcx + 0xd0], xmm12
movaps xmmword [rcx + 0xe0], xmm14
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
add rsp, 0x98
ret

Function at 0x1400ffc10
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
movaps xmm9, xmmword [rdx]
movaps xmm10, xmmword [rdx + 0xa0]
movaps xmmword [rcx], xmm9
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movaps xmmword [rcx + 0xa0], xmm10
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x58
ret
Function at 0x1400ffce0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
movaps xmm11, xmmword [rdx]
movaps xmm12, xmmword [rdx + 0xc0]
movaps xmmword [rcx], xmm11
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movaps xmmword [rcx + 0xc0], xmm12
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
add rsp, 0x78
ret
Function at 0x1400ffdf0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
aesimc xmm11, xmmword [rdx + 0xc0]
aesimc xmm12, xmmword [rdx + 0xd0]
movaps xmm13, xmmword [rdx]
movaps xmm14, xmmword [rdx + 0xe0]
movaps xmmword [rcx], xmm13
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movdqa xmmword [rcx + 0xc0], xmm11
movdqa xmmword [rcx + 0xd0], xmm12
movaps xmmword [rcx + 0xe0], xmm14
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
add rsp, 0x98
ret

Function at 0x140101ed0
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x140101f36
mov rsi, rdx
mov rdi, rcx
mov r14d, 0xffffffff
jmp 0x140101ef8
add rdi, rbx
sub rsi, rbx
je 0x140101f36
cmp rsi, r14
mov ebx, 0xffffffff
cmovb rbx, rsi
xor ecx, ecx
mov rdx, rdi
mov r8d, ebx
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
cmp eax, 0xbfffffff
jbe 0x140101ef0
mov ebp, eax
mov rcx, rdi
mov edx, ebx
call sub.ADVAPI32.dll_SystemFunction036
test al, al
jne 0x140101ef0
and ebp, 0x7fffffff
jmp 0x140101f38
xor ebp, ebp
mov eax, ebp
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
Function at 0x140103830
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov rax, qword [rcx]
mov rdi, qword [rax]
mov qword [rax], 0
test rdi, rdi
je 0x140103893
lea rsi, [rbp - 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
mov dword [rbp + 0x16c], eax
test eax, eax
jne 0x14010389f
lea rax, [0x14019591c]
mov qword [rdi], rax
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.library_std_src_synconce.rs
call sym.core::option::unwrap_failed::h901404c951d91a1a
mov qword [rbp + 0x138], 0
lea rdx, [0x1402e69f8]
lea r9, [0x1402e6a00]
lea rcx, [rbp + 0x16c]
lea r8, [rbp + 0x138]
call sym.core::panicking::assert_failed::h8d7f5214e1149750
int3

Function at 0x140121110
Capabilities:
Get system information on windows

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call sub.KERNEL32.dll_GetSystemInfo
mov ecx, dword [rbp - 0x10]
xor eax, eax
test rcx, rcx
sete al
lea rdx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
cmovne rdx, rcx
add rsp, 0x50
pop rbp
ret
Function at 0x1401224a0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x468
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3c8], rcx
mov qword [rbp + 0x3d0], 0
mov qword [rbp + 0x3d8], 2
mov qword [rbp + 0x3e0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3c0], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x140122530
jmp 0x14012251f
jae 0x1401225eb
cmp r8, 0x201
jae 0x140122530
mov r14d, 0x200
lea r15, [rbp - 0x60]
mov r12, r8
jmp 0x140122587
sub r8, rbx
sub rdi, rbx
cmp rdi, r8
jae 0x14012255f
lea rcx, [rbp + 0x3d0]
mov rdx, rbx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h135cac30476977d0
mov rsi, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3d8]
mov qword [rbp + 0x3c0], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x3e0], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3c0]
mov r12, rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, r12d
mov rdx, r15
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov r13d, eax
test eax, eax
jne 0x1401225ad
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x140122657
mov r8d, r13d
cmp r12, r8
jne 0x140122510
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14012268a
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x14012251f
jmp 0x140122530
cmp r14, r8
jb 0x1401226a4
lea rcx, [rbp + 0x3a0]
mov rdx, r15
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::h71f7fecf6bbb0aee
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
mov rsi, qword [rbp + 0x3c8]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3d0]
test rdx, rdx
je 0x140122640
mov rcx, qword [rbp + 0x3d8]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x468
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3c8]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3d0]
test rdx, rdx
jne 0x14012262b
jmp 0x140122640
lea rcx, str.internal_error:_entered_unreachable_code__._
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::hea78d0b7e4d3ca55
jmp 0x1401226b9
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::h560bfdf2cda73161
ud2
Function at 0x1401226f0
Capabilities:
Query environment variable

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14012270f
mov rdx, rax
add rsp, 0x68
pop rsi
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
mov rax, rbp
mov qword [rbp - 0x10], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::hc0298dea11c7f69b]
mov qword [rbp - 8], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x20], 0
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 1
lea rdx, str.library_std_src_syspalwindowsos.rs
lea rcx, [rbp - 0x40]
call sym.core::panicking::panic_fmt::h3a6293597b60ce66
ud2
Function at 0x1401230e0
Capabilities:
Set environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov r14, r9
mov r15, r8
mov r8, rdx
mov rdx, rcx
movabs r13, 0x8000000000000000
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r9
lea rsi, [rbp - 0x10]
mov rcx, rsi
call sym.std::sys::pal::windows::to_u16s::inner::head201b586d7e69f
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
cmp rdi, r13
jne 0x14012313f
mov r14, rbx
jmp 0x1401231a4
lea rcx, [rbp - 0x10]
mov rdx, r15
mov r8, r14
call sym.std::sys::pal::windows::to_u16s::inner::head201b586d7e69f
mov r12, qword [rbp - 0x10]
mov r15, qword [rbp - 8]
cmp r12, r13
jne 0x140123160
mov r14, r15
jmp 0x14012318b
mov rcx, rbx
mov rdx, r15
call sub.KERNEL32.dll_SetEnvironmentVariableW
test eax, eax
je 0x1401231bd
xor r14d, r14d
test r12, r12
je 0x14012318b
add r12, r12
mov r8d, 2
mov rcx, r15
mov rdx, r12
call sym.__rust_dealloc
test rdi, rdi
je 0x1401231a4
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
test r14, r14
jne 0x1401231d4
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
test r12, r12
jne 0x140123177
jmp 0x14012318b
mov qword [rbp + 0x20], r14
lea rax, [rbp - 0x20]
mov qword [rbp - 0x10], rax
lea rax, [sym.__std::ffi::os_str::Display_as_core::fmt::Debug_::fmt::hb781fae4519fc9e9]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x30]
mov qword [rbp], rcx
mov qword [rbp + 8], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x10], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::hc0298dea11c7f69b]
mov qword [rbp + 0x18], rax
lea rax, str.failed_to_set_environment_variable____to___:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 3
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], 3
lea rdx, str.library_std_srcenv.rs
lea rcx, [rbp - 0x60]
call sym.core::panicking::panic_fmt::h3a6293597b60ce66
ud2