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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rbx, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400fc5e0
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fc523
mov rdi, rax
cmp qword [rax + 8], 0
jne 0x1400fc5da
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fc605
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fc61e
mov rdi, rax
test rax, rax
jne 0x1400fc58c
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fc63a
mov rdi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fc62b
dec ecx
mov rdx, rdi
call fcn.140165224
test rsi, rsi
je 0x1400fc5fe
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1400fc5fe
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rax
test rdx, rdx
je 0x1400fc5da
test rcx, rcx
je 0x1400fc5da
lock dec qword [rcx]
jne 0x1400fc5da
lea rcx, [rsp + 0x28]
call sym._ZN5alloc4sync16Arc_LT_T_C_A_GT_9drop_slow17h9ef7a3c07d5c5149E.llvm.13646362345875007801
add rdi, 0x10
jmp 0x1400fc620
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fc515
jmp 0x1400fc523
call sym.std::sync::mpmc::context::Context::new::hd0846556d798fd7d
jmp 0x1400fc5a2
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fc53f
xor edi, edi
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fc584
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2
Function at 0x1400fc650
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400fc680
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fc695
cmp byte [rax + 8], 0
je 0x1400fc695
add rax, 9
jmp 0x1400fc724
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fc671
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fc70d
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fc722
mov rbx, rax
test rax, rax
jne 0x1400fc6ea
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fc738
mov rbx, rax
mov qword [rax], rdi
mov byte [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fc72c
dec ecx
mov rdx, rbx
call fcn.140165224
xor ecx, ecx
test rsi, rsi
je 0x1400fc700
cmp byte [rsi], 0
mov byte [rsi], 0
movzx eax, byte [rsi + 1]
cmove eax, ecx
mov ecx, eax
lea rax, [rbx + 9]
mov byte [rbx + 8], 1
mov byte [rbx + 9], cl
jmp 0x1400fc724
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fc6a9
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fc6e2
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2
Function at 0x1400fc750
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rbx, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400fc846
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fc783
mov rdi, rax
cmp qword [rax + 8], 0
jne 0x1400fc840
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fc864
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fc87d
mov rdi, rax
test rax, rax
jne 0x1400fc7ec
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fc899
mov rdi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fc88a
dec ecx
mov rdx, rdi
call fcn.140165224
test rsi, rsi
je 0x1400fc806
mov rax, qword [rsi]
mov qword [rsi], 0
test rax, rax
je 0x1400fc808
mov rax, qword [rsi + 8]
jmp 0x1400fc808
xor eax, eax
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rax
test rdx, rdx
je 0x1400fc840
test rcx, rcx
je 0x1400fc840
lock dec qword [rcx]
jne 0x1400fc840
lea rcx, [rsp + 0x28]
call sym.alloc::sync::Arc_T_A_::drop_slow::h85d5a0b517fa1f6e
add rdi, 0x10
jmp 0x1400fc87f
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fc775
jmp 0x1400fc783
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fc79f
xor edi, edi
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fc7e4
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2
Function at 0x1400fc8b0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400fc8e1
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fc8f6
cmp qword [rax + 8], 0
je 0x1400fc8f6
add rax, 0x10
jmp 0x1400fc9ad
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fc8d1
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fc992
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fc9ab
mov rbx, rax
test rax, rax
jne 0x1400fc95b
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fc9c1
mov rbx, rax
mov qword [rax], rdi
mov qword [rax + 8], 0
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fc9b5
dec ecx
mov rdx, rbx
call fcn.140165224
xor ecx, ecx
test rsi, rsi
je 0x1400fc97b
mov rax, qword [rsi]
mov qword [rsi], 0
cmp rax, 1
jne 0x1400fc97b
mov rdx, qword [rsi + 8]
mov ecx, dword [rsi + 0x10]
jmp 0x1400fc97d
xor edx, edx
mov qword [rbx + 8], 1
lea rax, [rbx + 0x10]
mov qword [rbx + 0x10], rdx
mov byte [rbx + 0x18], cl
jmp 0x1400fc9ad
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fc912
xor eax, eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fc953
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2
Function at 0x1400fc9e0
Capabilities:
Generate random numbers via winapi
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rdx
mov rbx, rcx
mov ecx, dword [rcx + 0x18]
test ecx, ecx
je 0x1400fca14
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fca29
mov rcx, rax
cmp qword [rax + 8], 0
je 0x1400fca29
add rcx, 0x10
jmp 0x1400fcb15
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fca01
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fcafa
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fcb13
mov rdi, rax
test rax, rax
jne 0x1400fca92
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fcb2f
mov rdi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0
mov ecx, dword [rbx + 0x18]
test ecx, ecx
je 0x1400fcb20
dec ecx
mov rdx, rdi
call fcn.140165224
test rsi, rsi
je 0x1400fcaaf
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rsi], 0
cmp rcx, 1
je 0x1400fcae4
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x1400fcadf
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1400fcae4
call sym._ZN3std3sys7windows4rand12fallback_rng17h44b42e5ca75f0d21E.llvm.3884465614687036520
mov qword [rdi + 8], 1
lea rcx, [rdi + 0x10]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rdx
jmp 0x1400fcb15
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fca45
xor ecx, ecx
mov rax, rcx
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fca8a
mov ecx, 8
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2

Function at 0x1400fcb40
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcb68
dec ecx
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
jne 0x1400fcb83
jmp 0x1400fcb9b
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
je 0x1400fcb9b
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400fcb9b
lock dec qword [rax]
jne 0x1400fcb9b
lea rcx, [rsi + 0x10]
call sym._ZN5alloc4sync16Arc_LT_T_C_A_GT_9drop_slow17h9ef7a3c07d5c5149E.llvm.13646362345875007801
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcbb9
dec ecx
jmp 0x1400fcbc3
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.140165224
Function at 0x1400fcc80
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcca8
dec ecx
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
jne 0x1400fccc3
jmp 0x1400fccdb
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
je 0x1400fccdb
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400fccdb
lock dec qword [rax]
jne 0x1400fccdb
lea rcx, [rsi + 0x10]
call sym.alloc::sync::Arc_T_A_::drop_slow::h85d5a0b517fa1f6e
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fccf9
dec ecx
jmp 0x1400fcd03
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.140165224

Function at 0x1400fcdc0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcdd7
dec ecx
jmp 0x1400fcde1
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
mov edx, 1
call fcn.140165224
mov edx, 0x20
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fce09
dec ecx
jmp 0x1400fce13
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.140165224

Function at 0x1400fceb0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcec7
dec ecx
jmp 0x1400fced1
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
mov edx, 1
call fcn.140165224
mov edx, 0x10
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcef9
dec ecx
jmp 0x1400fcf03
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.140165224
Function at 0x1400fcfa0
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rsi, rcx
mov rdi, qword [rcx]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fcfc8
dec ecx
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
jne 0x1400fcfe3
jmp 0x1400fcffb
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
mov edx, 1
call fcn.140165224
cmp qword [rsi + 8], 0
je 0x1400fcffb
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400fcffb
lock dec qword [rax]
jne 0x1400fcffb
lea rcx, [rsi + 0x10]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2dd41a2ad51935e4
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call sym.__rust_dealloc
mov ecx, dword [rdi + 0x18]
test ecx, ecx
je 0x1400fd019
dec ecx
jmp 0x1400fd023
mov rcx, rdi
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.140165224
Function at 0x1400fd150
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov ecx, dword [0x140167268]
test ecx, ecx
je 0x1400fd252
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400fd182
mov rdi, rax
cmp qword [rax + 8], 0
jne 0x1400fd24c
mov ecx, dword [0x140167268]
test ecx, ecx
je 0x1400fd274
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400fd291
mov rdi, rax
test rax, rax
jne 0x1400fd1f8
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400fd2b0
mov rdi, rax
lea rax, sym.std::sys::common::thread_local::os_local::destroy_value::hedab737fe13cd1ea
mov qword [rdi], rax
mov qword [rdi + 8], 0
mov ecx, dword [0x140167268]
test ecx, ecx
je 0x1400fd29d
dec ecx
mov rdx, rdi
call fcn.140165224
test rsi, rsi
je 0x1400fd212
mov rax, qword [rsi]
mov qword [rsi], 0
test rax, rax
je 0x1400fd214
mov rax, qword [rsi + 8]
jmp 0x1400fd214
xor eax, eax
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rcx
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rax
test rdx, rdx
je 0x1400fd24c
test rcx, rcx
je 0x1400fd24c
lock dec qword [rcx]
jne 0x1400fd24c
lea rcx, [rsp + 0x30]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2dd41a2ad51935e4
add rdi, 0x10
jmp 0x1400fd293
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::hedab737fe13cd1ea
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400fd174
jmp 0x1400fd182
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::hedab737fe13cd1ea
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400fd1a1
xor edi, edi
mov rax, rdi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::hedab737fe13cd1ea
call sym.std::sys::windows::thread_local_key::StaticKey::init::h7afa5cacbabe961a
mov ecx, eax
jmp 0x1400fd1f0
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h8e8b408db101c68d
ud2

Function at 0x1400fd770
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rdi
sub rsp, 0x1f8
mov rax, qword [rcx]
mov rdi, qword [rax]
mov qword [rax], 0
test rdi, rdi
je 0x1400fd7c8
lea rsi, [rsp + 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 [rsp + 0x2c], eax
test eax, eax
jne 0x1400fd7e2
lea rax, [0x140165624]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, [0x14018b0c8]
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call sym.core::panicking::panic::h297b186b0eb73132
ud2
mov qword [rsp + 0x30], 0
lea rax, str.library_std_src_syswindows_net.rs
mov qword [rsp + 0x20], rax
lea r8, [0x14018b2a4]
lea rdx, [rsp + 0x2c]
lea r9, [rsp + 0x30]
xor ecx, ecx
call sym.core::panicking::assert_failed::h3c5de362f29b677d
ud2
Function at 0x1401006c0
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rdi
sub rsp, 0x1f8
mov rax, qword [rcx]
mov rdi, qword [rax]
mov qword [rax], 0
test rdi, rdi
je 0x140100718
lea rsi, [rsp + 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 [rsp + 0x2c], eax
test eax, eax
jne 0x140100732
lea rax, [0x140165624]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, [0x14018b0c8]
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call sym.core::panicking::panic::h297b186b0eb73132
ud2
mov qword [rsp + 0x30], 0
lea rax, str.library_std_src_syswindows_net.rs
mov qword [rsp + 0x20], rax
lea r8, [0x14018b2a4]
lea rdx, [rsp + 0x2c]
lea r9, [rsp + 0x30]
xor ecx, ecx
call sym.core::panicking::assert_failed::h3c5de362f29b677d
ud2

Function at 0x140101580
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
test rax, rax
je 0x140101635
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rdi, rdi
je 0x140101635
mov rcx, rdi
xor edx, edx
call sub.KERNEL32.dll_CreateDirectoryW
test eax, eax
je 0x14010160a
test rsi, rsi
je 0x140101606
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
xor esi, esi
jmp 0x140101635
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
test rsi, rsi
je 0x140101632
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rsi, rbx
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret

Function at 0x1401019c0
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
test rax, rax
je 0x140101a73
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rdi, rdi
je 0x140101a73
mov rcx, rdi
call sub.KERNEL32.dll_DeleteFileW
test eax, eax
je 0x140101a48
test rsi, rsi
je 0x140101a44
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
xor esi, esi
jmp 0x140101a73
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
test rsi, rsi
je 0x140101a70
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rsi, rbx
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
Function at 0x140101a80
Capabilities:
Move file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov r14, r9
mov r15, r8
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
test rax, rax
je 0x140101bda
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rdi, rdi
je 0x140101b90
lea rcx, [rsp + 0x20]
mov rdx, r15
mov r8, r14
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
test rax, rax
je 0x140101bc1
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov r14, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
test r14, r14
je 0x140101bc1
mov rcx, rdi
mov rdx, r14
mov r8d, 1
call sub.KERNEL32.dll_MoveFileExW
test eax, eax
je 0x140101b95
test rbx, rbx
je 0x140101b73
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov rdx, rbx
call sym.__rust_dealloc
test rsi, rsi
je 0x140101b8c
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
xor ebx, ebx
jmp 0x140101bda
mov rbx, rsi
jmp 0x140101bda
call sub.KERNEL32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
test rbx, rbx
je 0x140101bbe
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov rdx, rbx
call sym.__rust_dealloc
mov rbx, r15
test rsi, rsi
je 0x140101bda
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rax, rbx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret

Function at 0x140101c10
Capabilities:
Delete directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
test rax, rax
je 0x140101cc3
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rdi, rdi
je 0x140101cc3
mov rcx, rdi
call sub.KERNEL32.dll_RemoveDirectoryW
test eax, eax
je 0x140101c98
test rsi, rsi
je 0x140101c94
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
xor esi, esi
jmp 0x140101cc3
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
test rsi, rsi
je 0x140101cc0
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rsi, rbx
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
Function at 0x140102d90
Capabilities:
Set file attributes

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov ebx, r8d
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call sym._ZN3std3sys7windows7to_u16s5inner17h2c0eb6cb6cd7c0ceE.llvm.7997682821320084952
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
test rax, rax
je 0x140102e48
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov r8b, 1
call sym.std::sys::windows::path::get_long_path::h8fe53c1e1d2a4007
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rdi, rdi
je 0x140102e48
mov rcx, rdi
mov edx, ebx
call sub.KERNEL32.dll_SetFileAttributesW
test eax, eax
je 0x140102e1d
test rsi, rsi
je 0x140102e19
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
xor esi, esi
jmp 0x140102e48
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
test rsi, rsi
je 0x140102e45
add rsi, rsi
mov r8d, 2
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rsi, rbx
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret