joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140076de4
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aeskeygenassist xmm0, xmmword [rdx], 2
movdqa xmmword [rcx], xmm0
ret
Function at 0x140079952
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
mov eax, 0x2080
call dbg.___chkstk_ms
sub rsp, rax
mov rdi, rcx
call sym._ZN3std3sys7windows16thread_local_key9StaticKey3get17hc9a251dbcb4d1b31E.2996
cmp rax, 2
jb 0x140079983
mov rsi, rax
cmp qword [rax + 8], 0
je 0x140079983
add rsi, 8
jmp 0x140079a82
call sym._ZN3std3sys7windows16thread_local_key9StaticKey3get17hc9a251dbcb4d1b31E.2996
cmp rax, 1
je 0x140079a80
mov rsi, rax
test rax, rax
jne 0x1400799e2
mov al, byte [0x1401d0208]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x140079af7
mov rsi, rax
lea rax, sym.std::sys::common::thread_local::os_local::destroy_value::h94dbb80a8a2c65a8
mov qword [rsi], rax
and qword [rsi + 8], 0
mov ecx, dword [0x140137040]
test ecx, ecx
je 0x140079a90
dec ecx
mov rdx, rsi
call fcn.140134cac
test rdi, rdi
je 0x1400799fa
mov rbx, qword [rdi]
and qword [rdi], 0
test rbx, rbx
jne 0x140079a6f
xor ecx, ecx
call sym._ZN4core3ptr172drop_in_place_LT_core..option..Option_LT_alloc..rc..Rc_LT_core..cell..RefCell_LT_rand..reseeding..ReseedingRng_
lea rdi, [rsp + 0x38]
mov rcx, rdi
call sym.rand::StdRng::new::hda561f3bb91a203d
cmp qword [rdi], 0
jne 0x140079aa3
lea rdx, [rsp + 0x40]
lea rdi, [rsp + 0x1060]
mov r8d, 0x1020
mov rcx, rdi
call sym.memcpy
mov ecx, 0x1048
call sym._ZN5alloc5alloc15exchange_malloc17h873e2453ad129073E.2978
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov qword [rbx + 8], rax
and qword [rbx + 0x10], 0
lea rcx, [rbx + 0x18]
mov r8d, 0x1020
mov rdx, rdi
call sym.memcpy
mov qword [rbx + 0x1038], 0x8000
and qword [rbx + 0x1040], 0
add rsi, 8
mov rcx, qword [rsi]
mov qword [rsi], rbx
call sym._ZN4core3ptr172drop_in_place_LT_core..option..Option_LT_alloc..rc..Rc_LT_core..cell..RefCell_LT_rand..reseeding..ReseedingRng_
jmp 0x140079a82
xor esi, esi
mov rax, rsi
add rsp, 0x2080
pop rbx
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h94dbb80a8a2c65a8
call dbg.init
mov ecx, eax
jmp 0x1400799da
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x20]
mov qword [rcx], rax
lea rax, [rsp + 0x28]
mov qword [rax], rcx
lea rdx, str.No_entropy_available:
lea rcx, [rsp + 0x1060]
mov qword [rcx], rdx
mov edx, 1
mov qword [rcx + 8], rdx
and qword [rcx + 0x20], 0
lea r8, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h0ae59b4b5a93ace0]
mov qword [rax + 8], r8
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rdx
lea rdx, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_0.4.6_src_lib.rs
call dbg.panic_fmt
mov ecx, 8
mov edx, 0x10
call dbg.handle_alloc_error
int3

Function at 0x140079d77
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x140137040]
test ecx, ecx
je 0x140079d90
dec ecx
add rsp, 0x28
jmp fcn.140134cb4
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h94dbb80a8a2c65a8
call dbg.init
mov ecx, eax
jmp 0x140079d87
Function at 0x140079da0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
mov rsi, qword [rcx]
mov edx, 1
mov rcx, rsi
call sym.std::sys::windows::thread_local_key::StaticKey::set::h153203d1f1ddd8f8
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140079dc7
call sym.__alloc::rc::Rc_T_A__as_core::ops::drop::Drop_::drop::he132e99d50803b77
mov edx, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rcx, rsi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp sym.std::sys::windows::thread_local_key::StaticKey::set::h153203d1f1ddd8f8
Function at 0x14007ac26
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov rax, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x14007ac3f
dec ecx
add rsp, 0x28
jmp fcn.140134cb4
mov rcx, rax
call dbg.init
mov ecx, eax
jmp 0x14007ac36
Function at 0x1400ba989
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [0x1401370d8]
test ecx, ecx
je 0x1400ba9a2
dec ecx
add rsp, 0x28
jmp fcn.140134cb4
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h68becba2960c3c22
call dbg.init
mov ecx, eax
jmp 0x1400ba999

Function at 0x1400ba9b2
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rdi, qword [rcx]
mov edx, 1
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::set::h153203d1f1ddd8f8
mov edx, 8
mov rcx, rsi
call sym.__rust_dealloc
mov rcx, rdi
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp sym.std::sys::windows::thread_local_key::StaticKey::set::h153203d1f1ddd8f8
Function at 0x1400efb70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov r8, qword [rcx]
test r8, r8
je 0x1400efbcb
mov r10, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
cmp rcx, r10
jae 0x1400efbcb
movzx eax, byte [r8 + rcx]
cmp eax, 0x49
je 0x1400efbe6
cmp eax, 0x42
jne 0x1400efbcb
lea r11, [rcx + 1]
mov qword [rsi + 0x10], r11
cmp r11, r10
jae 0x1400efc96
cmp byte [r8 + r11], 0x5f
jne 0x1400efc96
lea rax, [rcx + 2]
mov qword [rsi + 0x10], rax
xor eax, eax
jmp 0x1400efcfe
mov rcx, rsi
xor edx, edx
call dbg.print_path
mov edi, eax
add dil, dil
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
inc rcx
mov qword [rsi + 0x10], rcx
mov rcx, rsi
xor edx, edx
call dbg.print_path
test al, al
jne 0x1400efd91
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400efc22
lea rdx, [0x1401b46c3]
mov r8d, 1
call dbg.pad
test al, al
jne 0x1400efd91
mov rax, qword [rsi]
mov dil, 1
test rax, rax
je 0x1400efbda
xor r14d, r14d
lea rbx, [0x1401b4a31]
nop word [rax + rax]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 8]
jae 0x1400efc54
cmp byte [rax + rcx], 0x45
je 0x1400efdb3
sub r14, 1
jb 0x1400efc79
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400efc79
mov r8d, 2
mov rdx, rbx
call dbg.pad
test al, al
jne 0x1400efd91
mov rcx, rsi
call dbg.print_generic_arg
test al, al
jne 0x1400efd91
mov rax, qword [rsi]
test rax, rax
jne 0x1400efc40
jmp 0x1400efbda
xor eax, eax
mov edi, 0x3e
nop dword [rax]
mov r9b, 1
cmp r11, r10
jae 0x1400efd58
movzx edx, byte [r8 + r11]
cmp dl, 0x5f
je 0x1400efcf2
lea ebx, [rdx - 0x30]
cmp bl, 0xa
jb 0x1400efcdc
lea ebx, [rdx - 0x61]
cmp bl, 0x1a
jae 0x1400efccb
add dl, 0xa9
jmp 0x1400efcda
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
jae 0x1400efd58
add dl, 0xe3
mov ebx, edx
inc r11
mov qword [rsi + 0x10], r11
mul rdi
jo 0x1400efd58
movzx edx, bl
add rax, rdx
jae 0x1400efca0
jmp 0x1400efd58
inc r11
mov qword [rsi + 0x10], r11
inc rax
je 0x1400efd58
cmp rax, rcx
jae 0x1400efd55
mov ecx, dword [rsi + 0x18]
inc ecx
cmp ecx, 0x1f4
ja 0x1400efdab
cmp qword [rsi + 0x20], 0
je 0x1400efda4
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], ecx
mov rcx, rsi
call dbg.print_path_maybe_open_generics
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x1400efbdc
mov r9b, 1
xor edi, edi
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400efd99
mov eax, r9d
xor al, 1
movzx eax, al
lea r8, [rax + rax*8]
add r8, 0x10
lea rax, str.invalid_syntaxrecursion_limit_reached_for_______::closureshim_as__mut_const___dyn___unsafe_extern__
lea rdx, [0x1401b4a10]
test r9b, r9b
cmovne rdx, rax
call dbg.pad
test al, al
je 0x1400efd99
mov dil, 2
jmp 0x1400efbda
mov qword [rsi], 0
mov byte [rsi + 8], dil
xor edi, edi
jmp 0x1400efbda
mov dil, 1
xor r9d, r9d
jmp 0x1400efd5a
inc rcx
mov qword [rsi + 0x10], rcx
jmp 0x1400efbda
Function at 0x1400f2240
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
movzx eax, byte [0x1401d01b0]
test al, al
je 0x1400f23df
test edx, edx
je 0x1400f2267
cmp edx, 3
jne 0x1400f23df
mov rbx, qword [0x1401d01b8]
test rbx, rbx
je 0x1400f23df
xor r14d, r14d
jmp 0x1400f2289
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400f22bd
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400f242a
dec esi
mov ecx, esi
call fcn.140134cb4
test rax, rax
je 0x1400f2280
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.140134cac
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x1400f2280
test r14b, 1
je 0x1400f23df
mov rbx, qword [0x1401d01b8]
test rbx, rbx
je 0x1400f23df
xor r14d, r14d
jmp 0x1400f22e9
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400f231d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400f242a
dec esi
mov ecx, esi
call fcn.140134cb4
test rax, rax
je 0x1400f22e0
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.140134cac
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x1400f22e0
test r14b, 1
je 0x1400f23df
mov rbx, qword [0x1401d01b8]
test rbx, rbx
je 0x1400f23df
xor r14d, r14d
jmp 0x1400f2349
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400f237d
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400f242a
dec esi
mov ecx, esi
call fcn.140134cb4
test rax, rax
je 0x1400f2340
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.140134cac
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x1400f2340
test r14b, 1
je 0x1400f23df
mov rbx, qword [0x1401d01b8]
test rbx, rbx
je 0x1400f23df
xor r14d, r14d
jmp 0x1400f23a9
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400f23d9
mov esi, dword [rbx + 0x18]
mov r15, qword [rbx]
test r15, r15
je 0x1400f242a
dec esi
mov ecx, esi
call fcn.140134cb4
test rax, rax
je 0x1400f23a0
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.140134cac
mov rcx, rdi
call r15
mov r14b, 1
jmp 0x1400f23a0
test r14b, 1
jne 0x1400f23eb
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rbx, qword [0x1401d01b8]
jmp 0x1400f23f8
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400f23df
mov esi, dword [rbx + 0x18]
mov r14, qword [rbx]
test r14, r14
je 0x1400f242a
dec esi
mov ecx, esi
call fcn.140134cb4
test rax, rax
je 0x1400f23f4
mov rdi, rax
mov ecx, esi
xor edx, edx
call fcn.140134cac
mov rcx, rdi
call r14
jmp 0x1400f23f4
lea rcx, [0x1401ba54b]
lea r8, str.library_std_src_syswindows_thread_local_key.rs
mov edx, 0x2b
call dbg.panic
ud2
Function at 0x1400f2f70
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
cmp qword [rcx], 0
je 0x1400f2ff5
mov dword [rsp + 0x2c], 0
lea rbx, [rsi + 0x10]
lea r8, [rsp + 0x2c]
mov rcx, rbx
xor edx, edx
xor r9d, r9d
call sub.KERNEL32.dll_InitOnceBeginInitialize
mov dword [rsp + 0x28], eax
cmp eax, 1
jne 0x1400f3036
cmp dword [rsp + 0x2c], 0
je 0x1400f301a
call sub.KERNEL32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x1400f304e
mov edi, eax
inc eax
mov dword [rsi + 0x18], eax
mov rax, qword [0x1401d01b8]
nop
mov qword [rsi + 8], rax
lock cmpxchg qword [0x1401d01b8], rsi
jne 0x1400f2fd0
mov byte [0x1401d01b0], 1
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.KERNEL32.dll_InitOnceComplete
jmp 0x1400f302c
call sub.KERNEL32.dll_TlsAlloc
mov dword [rsp + 0x28], eax
cmp eax, 0xffffffff
je 0x1400f3098
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
jne 0x1400f301f
mov edi, dword [rsp + 0x28]
jmp 0x1400f302c
mov edi, dword [rsi + 0x18]
jmp 0x1400f302a
mov edi, eax
mov ecx, dword [rsp + 0x28]
call sub.KERNEL32.dll_TlsFree
dec edi
mov eax, edi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
mov rcx, rbx
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, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rdx, str.library_std_src_syswindows_thread_local_key.rs
lea rcx, [rsp + 0x30]
call dbg.panic_fmt
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, str._home_thor_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winreg_0.10.1_src_lib.rs_b
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call dbg.assert_failed<u32, u32>
int3
Function at 0x1400f3550
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov ecx, dword [0x140137188]
test ecx, ecx
je 0x1400f3630
dec ecx
call fcn.140134cb4
cmp rax, 2
jb 0x1400f3584
mov rdi, rax
cmp qword [rax + 8], 0
je 0x1400f3584
add rdi, 0x10
jmp 0x1400f3626
mov ecx, dword [0x140137188]
test ecx, ecx
je 0x1400f3643
dec ecx
call fcn.140134cb4
cmp rax, 1
je 0x1400f3624
mov rsi, rax
test rax, rax
jne 0x1400f35f3
movzx eax, byte [0x1401d0208]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400f3666
mov rsi, rax
lea rax, dbg.destroy_value_std::sys_common::thread_info::ThreadInfo_
add al, 0
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140137188]
test ecx, ecx
je 0x1400f3656
dec ecx
mov rdx, rsi
call fcn.140134cac
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
cmp qword [rsi + 8], 0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 0
je 0x1400f3626
test rcx, rcx
je 0x1400f3626
lock dec qword [rcx]
jne 0x1400f3626
call dbg.drop_slow<std::thread::Inner, alloc::alloc::Global>
jmp 0x1400f3626
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, dbg.destroy_value_std::sys_common::thread_info::ThreadInfo_
call dbg.init
mov ecx, eax
jmp 0x1400f3566
lea rcx, dbg.destroy_value_std::sys_common::thread_info::ThreadInfo_
call dbg.init
mov ecx, eax
jmp 0x1400f3594
invalid
invalid
invalid
lea rcx, dbg.destroy_value_std::sys_common::thread_info::ThreadInfo_
call dbg.init
mov ecx, eax
jmp 0x1400f35eb
mov ecx, 8
mov edx, 0x18
call dbg.handle_alloc_error
int3

Function at 0x1400f3760
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rdi, qword [rcx]
mov edi, dword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400f3777
dec ecx
jmp 0x1400f3781
mov rcx, rdi
call dbg.init
mov ecx, eax
invalid
mov edx, 1
call fcn.140134cac
cmp qword [rsi + 8], 0
je 0x1400f37aa
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400f37aa
lock dec qword [rax]
jne 0x1400f37aa
mov rcx, qword [rsi + 0x10]
call dbg.drop_slow<std::thread::Inner, alloc::alloc::Global>
mov edx, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
leave
je 0x1400f37c2
dec ecx
jmp 0x1400f37cc
mov rcx, rdi
call dbg.init
mov ecx, eax
invalid
xor edx, edx
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.140134cac
Function at 0x1400f3c40
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x1401371a8]
test ecx, ecx
je 0x1400f3cdf
dec ecx
call fcn.140134cb4
cmp rax, 2
jb 0x1400f3c69
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x1400f3cce
mov ecx, dword [0x1401371a8]
test ecx, ecx
je 0x1400f3cf2
dec ecx
call fcn.140134cb4
cmp rax, 1
je 0x1400f3cd4
mov rsi, rax
test rax, rax
jne 0x1400f3cc8
movzx eax, byte [0x1401d0208]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400f3d15
mov rsi, rax
lea rax, dbg.destroy_value_u8_
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x1401371a8]
test ecx, ecx
je 0x1400f3d05
dec ecx
mov rdx, rsi
call fcn.140134cac
mov word [rsi + 8], 1
add rsi, 9
jmp 0x1400f3cd6
xor esi, esi
mov rax, rsi
add rsp, 0x20
pop rsi
ret
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f3c55
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f3c75
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f3cc0
mov ecx, 8
mov edx, 0x10
call dbg.handle_alloc_error
int3
Function at 0x1400f47e0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
iretd
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400f47f7
invalid
dec ecx
jmp 0x1400f4801
mov rcx, rsi
call dbg.init
mov ecx, eax
mov edx, 1
call fcn.140134cac
add al, 4
add byte [rdx + 8], bh
mov rcx, rdi
stc
call sym.__rust_dealloc
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400f4823
dec ecx
jmp 0x1400f482d
mov rcx, rsi
call dbg.init
mov ecx, eax
xor edx, edx
add rsp, 0x28
add esp, 0x28
pop rdi
pop rsi
jmp fcn.140134cac

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

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x140137168]
test ecx, ecx
je 0x1400f49fd
dec ecx
call fcn.140134cb4
cmp rax, 2
jb 0x1400f4970
cmp qword [rax + 8], 0
je 0x1400f4970
add rax, 0x10
jmp 0x1400f49f7
mov ecx, dword [0x140137168]
test ecx, ecx
je 0x1400f4a10
dec ecx
call fcn.140134cb4
cmp rax, 1
je 0x1400f49f5
mov rsi, rax
test rax, rax
jne 0x1400f49db
movzx eax, byte [0x1401d0208]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400f4a33
mov rsi, rax
lea rax, dbg.destroy_value_u8_
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140137168]
test ecx, ecx
je 0x1400f4a23
dec ecx
mov rdx, rsi
call fcn.140134cac
mov qword [rsi + 8], 1
lea rax, [rsi + 0x10]
mov qword [rsi + 0x10], 0
mov byte [rsi + 0x18], 0
jmp 0x1400f49f7
xor eax, eax
add rsp, 0x20
pop rsi
ret
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f4955
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f4980
lea rcx, dbg.destroy_value_u8_
call dbg.init
mov ecx, eax
jmp 0x1400f49d3
mov ecx, 8
mov edx, 0x20
call dbg.handle_alloc_error
int3
Function at 0x1400f6280
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x20], rax
xor edi, edi
invalid
mov ebx, 0xffffffff
xor esi, esi
xor r14d, r14d
cmp r8, 0x201
jae 0x1400f6300
jmp 0x1400f62ef
jae 0x1400f63a5
cmp r8, 0x201
jae 0x1400f6300
mov r15d, 0x200
lea r12, [rsp + 0x68]
mov r13, r8
jmp 0x1400f6347
sub r8, r14
sub rsi, r14
cmp rsi, r8
jae 0x1400f6327
invalid
lea rcx, [rsp + 0x30]
mov rdx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h0f5ccd690f57f673
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
cmp rdi, rbx
mov r14d, 0xffffffff
cmovb r14, rdi
mov qword [rsp + 0x40], r14
mov rsi, rdi
mov r15, r14
mov r12, qword [rsp + 0x20]
and byte [rbp - 0x77], cl
cmc
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, r13d
mov rdx, r12
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov ebp, eax
test eax, eax
jne 0x1400f636c
invalid
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1400f63fa
mov es, word [rax]
add byte [rax], al
mov r8d, ebp
cmp r13, r8
jne 0x1400f62e0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jp 0x1400f6390
invalid
sahf
add byte [rax], al
invalid
add r13, r13
cmp r13, rbx
cmovae r13, rbx
mov r8, r13
cmp r8, 0x201
jb 0x1400f62ef
jmp 0x1400f6300
cmp r15, r8
jb 0x1400f643e
nop
add byte [rax], al
invalid
lea rcx, [rsp + 0x48]
mov rdx, r12
call dbg.from_wide
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
mov rax, qword [rsp + 0x28]
sub byte [rdi], cl
adc dword [rax + 0x10], ecx
movups xmmword [rax], xmm0
test rdi, rdi
invalid
je 0x1400f63e5
mov edx, 2
mov rcx, qword [rsp + 0x20]
call sym.__rust_dealloc
invalid
invalid
nop
add rsp, 0x468
add esp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
invalid
or rax, 2
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
movabs rax, 0x8000000000000000
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x48018948], al
add dword [rax - 0x7b], ecx
invalid
jne 0x1400f63d6
jmp 0x1400f63e5
lea rcx, str.internal_error:_entered_unreachable_code_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_borrow.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call dbg.panic
jmp 0x1400f6453
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call dbg.slice_end_index_len_fail
ud2
Function at 0x1400f9e50
Capabilities:
Read file via mapping

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rax, r8
mov rsi, rcx
mov dword [rsp + 0x88], 0
xorps xmm6, xmm6
movups xmmword [rsp + 0x90], xmm6
mov dword [rsp + 0xa0], 7
mov qword [rsp + 0xa4], 0
mov word [rsp + 0xac], 0
mov byte [rsp + 0xa8], 1
lea r8, [rsp + 0x88]
mov rcx, rdx
mov rdx, rax
call dbg.open
mov rdi, rdx
test rax, rax
je 0x1400f9ee8
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x48], rdi
call dbg.drop_in_place<std::io::error::Error>
mov qword [rsi], 0
jmp 0x1400fa0b9
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov dword [rsp + 0x70], 0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call sub.KERNEL32.dll_GetFileInformationByHandle
test eax, eax
je 0x1400f9fa4
test dword [rsp + 0x40], 0x400
je 0x1400f9f49
mov qword [rsp + 0x80], 0
lea r8, [rsp + 0x80]
mov rcx, rdi
mov edx, 9
mov r9d, 8
call sub.KERNEL32.dll_GetFileInformationByHandleEx
test eax, eax
je 0x1400f9fa4
mov r12d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x64]
test rdi, rdi
je 0x1400f9ff9
mov qword [rsp + 0x40], 0
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov rcx, rax
mov rdx, rdi
mov r8, rax
call sub.KERNEL32.dll_DuplicateHandle
test eax, eax
je 0x1400fa07c
mov rbx, qword [rsp + 0x40]
jmp 0x1400f9ffb
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x88], 2
call dbg.drop_in_place<std::io::error::Error>
mov qword [rsi], 0
mov rcx, rdi
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.140134f6c
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 0x1400fa06b
mov r14, rax
shl r12, 0x20
or r12, r15
mov qword [rsp + 0x20], r12
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.140134f6c
test r15, r15
je 0x1400fa06b
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov qword [rsi], 1
jmp 0x1400fa0b1
mov qword [rsi], 0
mov rcx, rbx
call fcn.140134f6c
jmp 0x1400fa0b1
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x88], 1
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x90], rax
call dbg.drop_in_place<std::io::error::Error>
mov qword [rsi], 0
mov rcx, rdi
call fcn.140134f6c
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret