joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400345f0
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
movabs rbx, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rbx
je 0x14003464f
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x14003465a
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
xor edx, edx
call sub.KERNEL32.dll_CreateDirectoryW
test eax, eax
je 0x140034685
test rdi, rdi
je 0x1400346b0
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140034652
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140034652
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x14003464f
xor eax, eax
jmp 0x140034652
Function at 0x140034ac0
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
movabs rbx, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rbx
je 0x140034b25
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x140034b30
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
call sub.KERNEL32.dll_DeleteFileW
test eax, eax
je 0x140034b59
test rdi, rdi
je 0x140034b84
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140034b28
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140034b28
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x140034b25
xor eax, eax
jmp 0x140034b28

Function at 0x140034b90
Capabilities:
Move file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rbx, r9
mov r14, r8
mov r8, rdx
mov rdx, rcx
movabs r15, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, r15
je 0x140034c76
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, r15
je 0x140034c76
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
cmp rax, r15
je 0x140034c57
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
cmp r14, r15
jne 0x140034c85
mov rax, rbx
test rdi, rdi
je 0x140034c79
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rsi
mov rdx, rbx
mov r8d, 1
call sub.KERNEL32.dll_MoveFileExW
test eax, eax
je 0x140034cd0
test r14, r14
je 0x140034cb3
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call sym.__rust_dealloc
test rdi, rdi
je 0x140034d02
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140034c79
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
test r14, r14
je 0x140034c5a
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
mov rbx, rax
call sym.__rust_dealloc
jmp 0x140034c57
xor eax, eax
jmp 0x140034c79
Function at 0x140034d30
Capabilities:
Delete directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
movabs rbx, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rbx
je 0x140034d95
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x140034da0
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
call sub.KERNEL32.dll_RemoveDirectoryW
test eax, eax
je 0x140034dc9
test rdi, rdi
je 0x140034df4
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140034d98
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140034d98
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x140034d95
xor eax, eax
jmp 0x140034d98

Function at 0x140036220
Capabilities:
Set file attributes

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov ebx, r8d
mov r8, rdx
mov rdx, rcx
movabs r14, 0x8000000000000000
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
cmp rax, r14
je 0x14003628a
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
cmp rdi, r14
jne 0x140036297
mov rax, rsi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
mov edx, ebx
call sub.KERNEL32.dll_SetFileAttributesW
test eax, eax
je 0x1400362c2
test rdi, rdi
je 0x1400362ed
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x14003628d
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x14003628d
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x14003628a
xor eax, eax
jmp 0x14003628d
Function at 0x1400363a0
Capabilities:
Copy file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rbx, r9
mov r14, r8
mov r8, rdx
mov rdx, rcx
movabs r15, 0x8000000000000000
lea rcx, [rsp + 0x50]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
cmp rax, r15
je 0x14003648b
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
cmp rdi, r15
je 0x14003648b
lea rcx, [rsp + 0x50]
mov rdx, r14
mov r8, rbx
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp rax, r15
je 0x14003646a
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h88cb93aa9a4dfabe
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
cmp rbx, r15
jne 0x1400364a2
mov eax, 1
test rdi, rdi
je 0x140036493
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rsi, rdx
mov rdx, rdi
call sym.__rust_dealloc
mov eax, 1
mov rdx, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [sym.std::sys::pal::windows::fs::copy::callback::h987537bd5b17c15e]
lea r9, [rsp + 0x38]
mov rcx, rsi
mov r14, rdx
call sub.KERNEL32.dll_CopyFileExW
test eax, eax
je 0x140036521
mov rdx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400364fb
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov r14, rdx
mov rdx, rbx
call sym.__rust_dealloc
mov rdx, r14
test rdi, rdi
je 0x14003651a
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rsi, rdx
mov rdx, rdi
call sym.__rust_dealloc
mov rdx, rsi
xor eax, eax
jmp 0x140036493
call fcn.1400a21b8
mov edx, eax
shl rdx, 0x20
or rdx, 2
test rbx, rbx
je 0x14003646a
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov r14, rdx
mov rdx, rbx
call sym.__rust_dealloc
mov rdx, r14
jmp 0x14003646a
Function at 0x140036a80
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
cmp qword [rcx], 0
je 0x140036b10
mov rax, qword [sym.std::sys::pal::windows::thread_local_key::on_tls_callback::h820cdd08037e6a4a]
mov dword [rsp + 0x2c], 0
lea rdi, [rsi + 0x10]
lea r8, [rsp + 0x2c]
mov rcx, rdi
xor edx, edx
xor r9d, r9d
call sub.KERNEL32.dll_InitOnceBeginInitialize
mov dword [rsp + 0x28], eax
cmp eax, 1
jne 0x140036b51
cmp dword [rsp + 0x2c], 0
je 0x140036b35
call sub.KERNEL32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x140036b7e
mov ebx, eax
inc eax
mov dword [rsi + 0x18], eax
mov rax, qword [0x1400d6128]
nop dword [rax]
mov qword [rsi + 8], rax
lock cmpxchg qword [0x1400d6128], rsi
jne 0x140036af0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call sub.KERNEL32.dll_InitOnceComplete
mov eax, ebx
jmp 0x140036b49
call sub.KERNEL32.dll_TlsAlloc
mov dword [rsp + 0x28], eax
cmp eax, 0xffffffff
je 0x140036bc8
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
jne 0x140036b3a
mov eax, dword [rsp + 0x28]
jmp 0x140036b49
mov eax, dword [rsi + 0x18]
jmp 0x140036b47
mov ecx, dword [rsp + 0x28]
mov esi, eax
call sub.KERNEL32.dll_TlsFree
mov eax, esi
dec eax
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rax, str._Users_elyzianfields_.rustup_toolchains_nightly_aarch64_apple_darwin_lib_rustlib_src_rust_library_std_src_sys_pal_windows_thread_local_key.rs
mov qword [rsp + 0x20], rax
lea r8, [0x1400acb50]
lea rdx, [rsp + 0x28]
lea r9, [rsp + 0x30]
xor ecx, ecx
call sym.core::panicking::assert_failed::h6b22719950514560
mov rcx, rdi
mov edx, 4
xor r8d, r8d
call sub.KERNEL32.dll_InitOnceComplete
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, sym._ZN4core3ptr27drop_in_place_LT__RF_u8_GT_17h7afedd953380c78bE.llvm.11487075907344560806
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rdx, str._Users_elyzianfields_.rustup_toolchains_nightly_aarch64_apple_darwin_lib_rustlib_src_rust_library_std_src_sys_pal_windows_thread_local_key.rs
lea rcx, [rsp + 0x30]
call sym.core::panicking::panic_fmt::h42f2b602a3a68c01
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, sym._ZN4core3ptr27drop_in_place_LT__RF_u8_GT_17h7afedd953380c78bE.llvm.11487075907344560806
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rax, str._Users_elyzianfields_.rustup_toolchains_nightly_aarch64_apple_darwin_lib_rustlib_src_rust_library_std_src_sys_pal_windows_thread_local_key.rs
mov qword [rsp + 0x20], rax
lea r8, [0x1400acb70]
lea rdx, [rsp + 0x28]
lea r9, [rsp + 0x30]
mov cl, 1
call sym.core::panicking::assert_failed::h8090c685793a0fb6
int3
Function at 0x140036c20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
cmp edx, 3
je 0x140036c38
test edx, edx
jne 0x140036daf
mov rbx, qword [0x1400d6128]
test rbx, rbx
je 0x140036daf
xor r14d, r14d
jmp 0x140036c59
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140036c8d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x140036dfa
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140036c50
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.1400a2018
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140036c50
test r14b, 1
je 0x140036daf
mov rbx, qword [0x1400d6128]
test rbx, rbx
je 0x140036daf
xor r14d, r14d
jmp 0x140036cb9
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140036ced
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x140036dfa
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140036cb0
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.1400a2018
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140036cb0
test r14b, 1
je 0x140036daf
mov rbx, qword [0x1400d6128]
test rbx, rbx
je 0x140036daf
xor r14d, r14d
jmp 0x140036d19
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140036d4d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x140036dfa
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140036d10
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.1400a2018
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140036d10
test r14b, 1
je 0x140036daf
mov rbx, qword [0x1400d6128]
test rbx, rbx
je 0x140036daf
xor r14d, r14d
jmp 0x140036d79
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140036da9
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x140036dfa
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140036d70
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.1400a2018
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x140036d70
test r14b, 1
jne 0x140036dbb
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rbx, qword [0x1400d6128]
jmp 0x140036dc8
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140036daf
mov esi, dword [rbx + 0x18]
mov r14, qword [rbx]
test r14, r14
je 0x140036dfa
dec esi
mov ecx, esi
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140036dc4
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.1400a2018
mov rcx, rdi
call r14
jmp 0x140036dc4
lea rcx, str._Users_elyzianfields_.rustup_toolchains_nightly_aarch64_apple_darwin_lib_rustlib_src_rust_library_std_src_sys_pal_windows_thread_local_key.rs
call sym.core::option::unwrap_failed::h33810b69b67c35d3
ud2
Function at 0x140037120
Capabilities:
Read file via mapping

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rdi, r8
mov rsi, rcx
mov rbx, qword [rdx]
test rbx, rbx
je 0x140037181
mov qword [rsp + 0x38], 0
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov rcx, rax
mov rdx, rbx
mov r8, rax
call sub.KERNEL32.dll_DuplicateHandle
test eax, eax
je 0x1400371fd
mov rbx, qword [rsp + 0x38]
jmp 0x140037183
xor ebx, ebx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 2
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileMappingA
test rax, rax
je 0x1400371ec
mov r14, rax
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_MapViewOfFile
mov r15, rax
mov rcx, r14
call fcn.1400a22f8
test r15, r15
je 0x1400371ec
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], rdi
mov qword [rsi], 1
jmp 0x140037229
mov qword [rsi], 0
mov rcx, rbx
call fcn.1400a22f8
jmp 0x140037229
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x48], rax
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h169a66b91825197bE.llvm.11487075907344560806
mov qword [rsi], 0
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400403d0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rsi, rcx
movabs r14, 0x8000000000000000
lea rcx, [rsp + 0x40]
call sym._ZN3std3sys3pal7windows7to_u16s5inner17h061608515dc22956E.llvm.12857077654368372277
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
cmp rax, r14
je 0x140040433
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::haa1abfc10aacd5ce
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp rdi, r14
jne 0x14004044a
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h169a66b91825197bE.llvm.1102970351966538488
mov qword [rsi], r14
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov r15, qword [rsp + 0x38]
mov rbx, rcx
call sub.KERNEL32.dll_GetFileAttributesW
cmp eax, 0xffffffff
je 0x140040469
mov qword [rsi], rdi
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
jmp 0x14004043b
mov qword [rsi], r14
test rdi, rdi
je 0x14004043b
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
jmp 0x14004043b

Function at 0x140040670
Capabilities:
Terminate process

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [rcx]
mov rcx, rsi
mov edx, 1
call sub.KERNEL32.dll_TerminateProcess
test eax, eax
je 0x14004068e
xor eax, eax
jmp 0x1400406eb
call fcn.1400a21b8
cmp eax, 5
jne 0x1400406e3
mov rdi, rax
mov rcx, rsi
xor edx, edx
call sub.KERNEL32.dll_WaitForSingleObject
test eax, eax
je 0x1400406b2
cmp eax, 0x102
je 0x14004068a
jmp 0x1400406cb
mov dword [rsp + 0x24], 0
lea rdx, [rsp + 0x24]
mov rcx, rsi
call sub.KERNEL32.dll_GetExitCodeProcess
test eax, eax
jne 0x14004068a
call fcn.1400a21b8
shl rax, 0x20
or rax, 2
mov rcx, rax
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h169a66b91825197bE.llvm.1102970351966538488
mov rax, rdi
shl rax, 0x20
or rax, 2
add rsp, 0x28
pop rdi
pop rsi
ret

Function at 0x140042dc0
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call sub.KERNEL32.dll_GetSystemInfo
mov ecx, dword [rsp + 0x40]
xor eax, eax
test rcx, rcx
sete al
lea rdx, str.p_n_
cmovne rdx, rcx
add rsp, 0x58
ret
Function at 0x140045650
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140045680
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140045695
cmp qword [rax + 8], 0
je 0x140045695
add rax, 0x10
jmp 0x14004574f
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140045670
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045734
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14004574d
test rax, rax
jne 0x1400456fa
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140045768
mov qword [rax], rdi
mov qword [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x140045756
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14004571a
mov rdx, qword [rsi]
mov qword [rsi], 0
cmp rdx, 1
jne 0x14004571a
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x14004571c
xor edx, edx
mov qword [rax + 8], 1
lea r8, [rax + 0x10]
mov qword [rax + 0x10], rdx
mov byte [rax + 0x18], cl
mov rax, r8
jmp 0x14004574f
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400456b1
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x1400456ec
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
int3
Function at 0x140045780
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400457af
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400457c4
cmp byte [rax + 8], 0
je 0x1400457c4
add rax, 9
jmp 0x140045856
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400457a0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x14004583f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140045854
test rax, rax
jne 0x140045819
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14004586f
mov qword [rax], rdi
mov byte [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x14004585d
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
xor ecx, ecx
test rsi, rsi
je 0x14004582f
cmp byte [rsi], 0
mov byte [rsi], 0
movzx edx, byte [rsi + 1]
cmove edx, ecx
mov ecx, edx
lea rdx, [rax + 9]
mov byte [rax + 8], 1
mov byte [rax + 9], cl
mov rax, rdx
jmp 0x140045856
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400457d8
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x14004580b
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
int3
Function at 0x140045880
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x140045986
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400458af
cmp qword [rax + 8], 0
jne 0x140045980
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400459b4
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400459cd
test rax, rax
jne 0x14004592c
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400459eb
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400459d6
dec ecx
mov rdx, rax
mov rdi, rax
call fcn.1400a2018
mov rax, rdi
test rsi, rsi
je 0x1400459a4
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1400459a4
mov r8, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdx
mov qword [rax + 8], 1
mov qword [rax + 0x10], rcx
test r8, r8
je 0x140045980
test rdx, rdx
je 0x140045980
lock dec qword [rdx]
jne 0x140045980
lea rcx, [rsp + 0x28]
mov rsi, rax
call sym._ZN5alloc4sync16Arc_LT_T_C_A_GT_9drop_slow17h0342b206b2b42b46E.llvm.17224621830389769283
mov rax, rsi
add rax, 0x10
jmp 0x1400459cf
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400458a4
jmp 0x1400458af
mov rsi, rax
call sym.std::sync::mpmc::context::Context::new::h59573f66b8e6b3c6
mov rcx, rax
mov rax, rsi
jmp 0x140045942
mov rcx, rdi
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400458cb
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
ret
mov rcx, rdi
mov rdi, rax
call sym.std::sys::pal::windows::thread_local_key::StaticKey::init::h42516d6844fc07a4
mov ecx, eax
mov rax, rdi
jmp 0x14004591e
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::hc29ae932b255401d
ud2