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

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov ecx, dword [0x1400860b0]
test ecx, ecx
je 0x140075394
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x1400752d4
mov rdi, rax
cmp qword [rax + 8], 0
je 0x1400752d4
add rdi, 0x10
jmp 0x14007538a
mov ecx, dword [0x1400860b0]
test ecx, ecx
je 0x1400753a7
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140075388
mov rsi, rax
test rax, rax
jne 0x140075357
mov qword [rsp + 0x28], 0
lea rax, dbg.destroy_value_core::cell::Cell_core::option::Option_alloc::sync::Arc_std::sync::mutex::Mutex_alloc::vec::Vec_u8__alloc::alloc::Global____alloc::alloc::Global____
mov qword [rsp + 0x20], rax
movzx eax, byte [0x1400a41f8]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400753ca
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
mov ecx, dword [0x1400860b0]
test ecx, ecx
je 0x1400753ba
dec ecx
mov rdx, rsi
call fcn.14008401c
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 0x14007538a
test rcx, rcx
je 0x14007538a
lock dec qword [rcx]
jne 0x14007538a
call dbg.drop_slow<std::sync::mutex::Mutex<alloc::vec::Vec<u8, alloc::alloc::Global>>, alloc::alloc::Global>
jmp 0x14007538a
xor edi, edi
mov rax, rdi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, dbg.destroy_value_core::cell::Cell_core::option::Option_alloc::sync::Arc_std::sync::mutex::Mutex_alloc::vec::Vec_u8__alloc::alloc::Global____alloc::alloc::Global____
call dbg.init
mov ecx, eax
jmp 0x1400752b6
lea rcx, dbg.destroy_value_core::cell::Cell_core::option::Option_alloc::sync::Arc_std::sync::mutex::Mutex_alloc::vec::Vec_u8__alloc::alloc::Global____alloc::alloc::Global____
call dbg.init
mov ecx, eax
jmp 0x1400752e4
lea rcx, dbg.destroy_value_core::cell::Cell_core::option::Option_alloc::sync::Arc_std::sync::mutex::Mutex_alloc::vec::Vec_u8__alloc::alloc::Global____alloc::alloc::Global____
call dbg.init
mov ecx, eax
jmp 0x14007534f
mov ecx, 8
mov edx, 0x18
call dbg.handle_alloc_error
ud2

Function at 0x140075490
Capabilities:
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov qword [rsp + 0x30], rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400754a9
dec ecx
jmp 0x1400754b3
mov rcx, rsi
call dbg.init
mov ecx, eax
mov edx, 1
call fcn.14008401c
mov rdi, qword [rsp + 0x30]
cmp qword [rdi + 8], 0
je 0x1400754e1
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400754e1
lock dec qword [rax]
jne 0x1400754e1
mov rcx, qword [rdi + 0x10]
call dbg.drop_slow<std::sync::mutex::Mutex<alloc::vec::Vec<u8, alloc::alloc::Global>>, alloc::alloc::Global>
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, rdi
call fcn.1400840d4
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x1400754fd
dec ecx
jmp 0x140075507
mov rcx, rsi
call dbg.init
mov ecx, eax
xor edx, edx
add rsp, 0x68
pop rdi
pop rsi
jmp fcn.14008401c
Function at 0x140075e60
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov ebx, r9d
mov rsi, rcx
lea rcx, [rsp + 0x30]
call dbg.spec_new_impl
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x140075ebe
lea rax, str._bC_t_
mov qword [rsi + 8], rax
mov qword [rsi], 1
cmp qword [rsp + 0x38], 0
je 0x140075f4a
mov rcx, qword [0x1400a4150]
xor edx, edx
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.1400840d4
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x58], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x28]
mov rcx, rdi
xor edx, edx
call sub.WS2_32.dll_getaddrinfo
test eax, eax
je 0x140075f1b
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x140075f2e
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], bx
xor eax, eax
mov qword [rsi], rax
mov byte [rdi], 0
test r14, r14
je 0x140075f4a
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, rdi
call fcn.1400840d4
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret

Function at 0x140075f60
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 0x140075fb8
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 0x140075fd2
lea rax, [0x140084294]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, str.called__Option::unwrap____on_a__None__value_home_kali_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winapi_util_0.1.5_src_win.rs
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call dbg.panic
ud2
mov qword [rsp + 0x30], 0
lea rdx, [0x140094f98]
lea r9, str.library_std_src_syswindows_net.rs
lea rcx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
ud2

Function at 0x140076000
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 0x140076058
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 0x140076072
lea rax, [0x140084294]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, str.called__Option::unwrap____on_a__None__value_home_kali_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winapi_util_0.1.5_src_win.rs
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call dbg.panic
ud2
mov qword [rsp + 0x30], 0
lea rdx, [0x140094f98]
lea r9, str.library_std_src_syswindows_net.rs
lea rcx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
ud2
Function at 0x140076b80
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
test dx, dx
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x140076bce
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x140076c3e
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2726
je 0x140076be1
cmp eax, 0x2739
jne 0x140076c2b
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x140076c26
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
test eax, eax
je 0x140076c45
mov qword [rsi + 8], rdi
jmp 0x140076bc5
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0x38
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
add rsp, 0x38
pop rdi
pop rsi
jmp sub.WS2_32.dll_closesocket

Function at 0x140076dd0
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rcx, rdx
mov rdx, rax
xor r9d, r9d
call sub.WS2_32.dll_send
cmp eax, 0xffffffff
je 0x140076e09
cdqe
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140076e1f
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0x20
pop rsi
ret

Function at 0x140076e30
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rcx, rdx
mov rdx, rax
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x140076e63
cdqe
jmp 0x140076e71
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x140076e79
xor eax, eax
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140076e8a
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0x20
pop rsi
ret
Function at 0x140077730
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov r14, rcx
movzx eax, byte [0x1400a41f8]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400777fb
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [dbg.thread_start]
xor edi, edi
xor ecx, ecx
mov rdx, r14
mov r9, rax
call sub.KERNEL32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x1400777ee
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400777c9
cmp qword [rbx + 0x10], 0x11
jb 0x1400777b8
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, rdi
call fcn.1400840d4
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, rsi
call fcn.1400840d4
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 8
mov edx, 0x10
call dbg.handle_alloc_error
ud2

Function at 0x140077930
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rsi
sub rsp, 0x80
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
mov edx, 0x10
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x140077966
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rsp, 0x80
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x40], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h777c0ce01dc2e028]
mov qword [rsp + 0x48], rax
lea rax, str.fallback_RNG_broken:
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rsp + 0x50]
call dbg.panic_fmt
ud2
Function at 0x14007d160
Capabilities:
Generate random numbers via winapi
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x30
mov ecx, dword [0x1400860d0]
test ecx, ecx
je 0x14007d259
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x14007d190
cmp qword [rax + 8], 0
je 0x14007d190
add rax, 0x10
jmp 0x14007d253
mov ecx, dword [0x1400860d0]
test ecx, ecx
je 0x14007d26c
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14007d233
mov rsi, rax
test rax, rax
jne 0x14007d203
movzx eax, byte [0x1400a41f8]
mov ecx, 0x20
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14007d292
mov rsi, rax
lea rax, dbg.destroy_value_core::cell::Cell__u64__u64___
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x1400860d0]
test ecx, ecx
je 0x14007d27f
dec ecx
mov rdx, rsi
call fcn.14008401c
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 0x14007d237
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x14007d23f
xor eax, eax
jmp 0x14007d253
call dbg.fallback_rng
mov rcx, rax
mov qword [rsi + 8], 1
lea rax, [rsi + 0x10]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
add rsp, 0x30
pop rsi
ret
lea rcx, dbg.destroy_value_core::cell::Cell__u64__u64___
call dbg.init
mov ecx, eax
jmp 0x14007d175
lea rcx, dbg.destroy_value_core::cell::Cell__u64__u64___
call dbg.init
mov ecx, eax
jmp 0x14007d1a0
lea rcx, dbg.destroy_value_core::cell::Cell__u64__u64___
call dbg.init
mov ecx, eax
jmp 0x14007d1fb
mov ecx, 8
mov edx, 0x20
call dbg.handle_alloc_error
ud2
Function at 0x14007e244
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x14007e27a
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x14007e282
mov esi, dword [rdx]
mov r9d, 4
jmp 0x14007e287
xor r10d, r10d
jmp 0x14007e335
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x14007e2aa
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x14007e2c1
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x14007e2e1
add r11, r8
jmp 0x14007e405
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x14007e3a9
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x14007e357
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x14007e3bb
mov r9d, dword [rdx + r10]
mov r8d, 4
jmp 0x14007e3c1
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14007e3e7
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x14007e401
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret

Function at 0x14007fd3b
Capabilities:
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x70
mov qword [rsp + 0x28], rcx
mov rsi, qword [rcx]
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14007fd53
dec ecx
jmp 0x14007fd5d
mov rcx, rsi
call dbg.init
mov ecx, eax
mov edx, 1
call fcn.14008401c
mov rax, qword [rsp + 0x28]
lea rcx, [rsp + 0x38]
mov qword [rcx], rax
call sym._ZN4core3ptr211drop_in_place_LT_alloc..boxed..Box_LT_std..sys..common..thread_local..os_local..Value_LT_core..cell..RefCell_LT
mov ecx, dword [rsi + 0x18]
test ecx, ecx
je 0x14007fd84
dec ecx
jmp 0x14007fd8e
mov rcx, rsi
call dbg.init
mov ecx, eax
xor edx, edx
call fcn.14008401c
xor ecx, ecx
call sym._ZN4core3ptr130drop_in_place_LT_core..result..Result_LT__LP__RP__C_alloc..boxed..Box_LT_dyn_u20_core..any..Any_u2b_core..marke
nop
add rsp, 0x70
pop rsi
ret
Function at 0x140080524
Capabilities:
Create pipe

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rdi, r9
mov rbx, r8
mov ebp, edx
mov rsi, rcx
lea r8, [rsp + 0x30]
mov dword [r8], 0x18
xor eax, eax
mov qword [r8 + 8], rax
mov dword [r8 + 0x10], 1
lea rcx, [rsp + 0x20]
mov qword [rcx], rax
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
xor r9d, r9d
call sub.KERNEL32.dll_CreatePipe
test eax, eax
je 0x1400805bd
mov rax, qword [rsp + 0x20]
mov r15, qword [rsp + 0x28]
test bpl, bpl
mov r14, rax
cmovne r14, r15
cmovne r15, rax
mov rcx, r14
xor edx, edx
call sym.subprocess::popen::os::set_inheritable::h0b15ec64d43cf0b5
test rax, rax
je 0x1400805df
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], rax
mov qword [rsi], 1
mov rcx, r15
call fcn.1400841dc
mov rcx, r14
call fcn.1400841dc
jmp 0x14008061b
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], rax
mov qword [rsi], 1
jmp 0x14008061b
cmp qword [rbx], 0
je 0x1400805ee
mov rcx, qword [rbx + 8]
call fcn.1400841dc
mov qword [rbx], 1
mov qword [rbx + 8], r14
mov rcx, r15
call sym.alloc::rc::Rc_T_::new::hdf2b91f2bd13e790
mov rbx, rax
mov rcx, qword [rdi]
test rcx, rcx
je 0x140080611
call sym.__alloc::rc::Rc_T_A__as_core::ops::drop::Drop_::drop::hb4a30ba417a218f6
mov qword [rdi], rbx
mov qword [rsi], 0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140082083
Capabilities:
Create process on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1a0]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov dword [rsp + 0xa0], 0x68
test rdx, rdx
je 0x1400820ef
mov rdx, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0xf0], rdx
test rax, rax
je 0x14008210c
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xf8], rax
test rcx, rcx
je 0x140082121
mov rcx, qword [rsp + 0x1c8]
mov qword [rsp + 0x100], rcx
mov dword [rsp + 0xdc], 0x100
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x180]
add rax, r9
lea rdx, [rsp + 0x108]
mov qword [rdx], r9
mov qword [rdx + 8], rax
mov word [rdx + 0x10], 0
mov dword [rdx + 0x18], 1
lea rcx, [rsp + 0x70]
call sym._ZN111__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter_nested..SpecFromIterNested_LT_T_C_I_GT__GT_9from_ite
test rbx, rbx
je 0x1400821b6
add rsi, rbx
lea rdx, [rsp + 0x108]
mov qword [rdx], rbx
mov qword [rdx + 8], rsi
mov word [rdx + 0x10], 0
mov dword [rdx + 0x18], 1
lea rcx, [rsp + 0x88]
call sym._ZN111__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter_nested..SpecFromIterNested_LT_T_C_I_GT__GT_9from_ite
mov rsi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
jmp 0x1400821b8
xor esi, esi
mov rax, qword [rsp + 0x190]
test rax, rax
je 0x14008220b
mov rcx, qword [rsp + 0x198]
add rcx, rax
lea rdx, [rsp + 0x108]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
mov word [rdx + 0x10], 0
mov dword [rdx + 0x18], 1
lea rcx, [rsp + 0x88]
call sym._ZN111__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter_nested..SpecFromIterNested_LT_T_C_I_GT__GT_9from_ite
mov r15, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
jmp 0x14008220e
xor r15d, r15d
mov rax, qword [rsp + 0x188]
mov r14, qword [rsp + 0x70]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x400
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x140082285
mov rcx, qword [rsp + 0x58]
call fcn.1400841dc
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x60]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rcx
mov qword [rdi], 0
jmp 0x14008229d
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rdi + 8], rax
mov qword [rdi], 1
test r15, r15
je 0x1400822b8
test r12, r12
je 0x1400822b8
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, r15
call fcn.1400840d4
test rsi, rsi
je 0x1400822d3
test rbx, rbx
je 0x1400822d3
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, rsi
call fcn.1400840d4
cmp qword [rsp + 0x78], 0
je 0x1400822ec
mov rcx, qword [0x1400a4150]
xor edx, edx
mov r8, r14
call fcn.1400840d4
nop
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x14008233f
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rsi, rcx
mov ecx, dword [0x1400860f0]
test ecx, ecx
je 0x1400824c0
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x140082377
mov rbx, rax
cmp qword [rax + 8], 0
je 0x140082377
add rbx, 0x10
jmp 0x1400824b5
mov ecx, dword [0x1400860f0]
test ecx, ecx
je 0x1400824d3
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140082453
mov rdi, rax
test rax, rax
jne 0x140082406
mov qword [rsp + 0x28], 0
lea rax, sym.std::sys::common::thread_local::os_local::destroy_value::he80997bb5b4669bc
mov qword [rsp + 0x20], rax
mov al, byte [0x1400a41f8]
mov ecx, 0x30
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400824f9
mov rdi, rax
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov ecx, dword [0x1400860f0]
test ecx, ecx
je 0x1400824e6
dec ecx
mov rdx, rdi
call fcn.14008401c
lea rbx, [rdi + 8]
test rsi, rsi
je 0x140082461
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsi], 0
cmp qword [rsp + 0x20], 0
je 0x140082457
movups xmm0, xmmword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
jmp 0x140082469
xor ebx, ebx
jmp 0x1400824b5
lea rcx, [rsp + 0x20]
call sym._ZN4core3ptr159drop_in_place_LT_core..option..Option_LT_core..cell..RefCell_LT__u5b_core..option..Option_LT_alloc..rc..Rc_LT_s
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rbx + 0x20]
lea rcx, [rsp + 0x20]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
mov qword [rdi + 8], 1
lea rbx, [rdi + 0x10]
movaps xmm0, xmmword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rdx
call sym._ZN4core3ptr159drop_in_place_LT_core..option..Option_LT_core..cell..RefCell_LT__u5b_core..option..Option_LT_alloc..rc..Rc_LT_s
mov rax, rbx
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::he80997bb5b4669bc
call dbg.init
mov ecx, eax
jmp 0x140082359
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::he80997bb5b4669bc
call dbg.init
mov ecx, eax
jmp 0x140082387
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::he80997bb5b4669bc
call dbg.init
mov ecx, eax
jmp 0x1400823fe
mov ecx, 8
mov edx, 0x30
call dbg.handle_alloc_error
ud2