joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400112a3
Capabilities:
Terminate process

Disassembly:
jmp 0x1400151f0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x28
ret

Function at 0x140011366
Capabilities:
Parse pe header

Disassembly:
jmp 0x140016540
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140016560
xor al, al
jmp 0x1400165e1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140016573
xor al, al
jmp 0x1400165e1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001659d
xor al, al
jmp 0x1400165e1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x1400165b1
xor al, al
jmp 0x1400165e1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x1400165c3
xor al, al
jmp 0x1400165e1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x1400165df
xor al, al
jmp 0x1400165e1
mov al, 1
add rsp, 0x38
ret
Function at 0x140014420
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.1400114d3
movzx eax, al
test eax, eax
jne 0x140014440
mov ecx, 7
call fcn.140011424
nop
mov byte [rsp + 0x20], 0
call fcn.140011438
mov byte [rsp + 0x21], al
cmp dword [0x140020878], 1
jne 0x140014464
mov ecx, 7
call fcn.140011424
nop
jmp 0x1400144bc
cmp dword [0x140020878], 0
jne 0x1400144b7
mov dword [0x140020878], 1
lea rdx, [0x14001c660]
lea rcx, [0x14001c330]
call fcn.140011235
test eax, eax
je 0x140014498
mov eax, 0xff
jmp 0x1400145c1
lea rdx, [0x14001c220]
lea rcx, [section..rdata]
call fcn.14001142e
mov dword [0x140020878], 2
jmp 0x1400144bc
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.140011410
call fcn.14001138e
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x140014519
mov rcx, qword [rsp + 0x30]
call fcn.1400111cc
movzx eax, al
test eax, eax
je 0x140014519
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x140027020]
nop
call fcn.1400113ca
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x14001454d
mov rcx, qword [rsp + 0x38]
call fcn.1400111cc
movzx eax, al
test eax, eax
je 0x14001454d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.140011488
nop
call fcn.140014670
mov dword [rsp + 0x28], eax
call fcn.140011366
movzx eax, al
test eax, eax
jne 0x14001456c
mov ecx, dword [rsp + 0x28]
call fcn.140011069
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x14001457b
call fcn.140011492
nop
xor edx, edx
mov cl, 1
call fcn.1400111b3
mov eax, dword [rsp + 0x28]
jmp 0x1400145c1
add rsp, 0x68
ret
Function at 0x14000b9ac
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140016950], eax
call fcn.14000b730
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140016950], 0
jne case.default.0x14000ba02
mov ecx, 1
call fcn.14000b730
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
xchg edi, eax
mov esi, ecx
invalid

Function at 0x1418058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.014181df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, pe_nt_image_headers64
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1418089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x141806f
add dl, dl
jne 0x1418096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14180f6
xor eax, eax
add dl, dl
jne 0x14180a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14181ad
add dl, dl
jne 0x14180b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14180c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14180d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14180dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x14180ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x141807e
mov eax, 1
add dl, dl
jne 0x1418106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1418113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14180fb
sub eax, ebx
mov ebx, 1
jne 0x141814c
mov ecx, 1
add dl, dl
jne 0x141812e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x141813b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1418123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141807e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1418168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1418175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141815d
cmp eax, 0x7d00
jae 0x141819b
cmp eax, 0x500
jb 0x1418196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141807e
cmp eax, 0x7f
ja 0x141819e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141807e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x14181d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x141807e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140c72058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.140c721df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
Function at 0x140001010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x140253450]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x140253460]
mov dword [rax], 1
mov rax, qword [0x140253470]
mov dword [rax], 1
mov rax, qword [0x140253440]
mov dword [rax], 1
mov rax, qword [0x140253320]
cmp word [rax], 0x5a4d
jne 0x140001067
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400010d0
mov rax, qword [0x140253430]
mov dword [0x14027200c], ecx
mov eax, dword [rax]
test eax, eax
jne 0x1400010c0
mov ecx, 1
call sym.__set_app_type
call sym.__p__fmode
mov rdx, qword [str.0__]
mov edx, dword [rdx]
mov dword [rax], edx
call sym.__p__commode
mov rdx, qword [0x1402533f0]
mov edx, dword [rdx]
mov dword [rax], edx
call sym._setargv
mov rax, qword [0x1402532b0]
cmp dword [rax], 1
je 0x140001108
xor eax, eax
add rsp, 0x28
ret
mov ecx, 2
call sym.__set_app_type
jmp 0x140001084
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x140001120
cmp dx, 0x20b
jne 0x140001067
cmp dword [rax + 0x84], 0xe
jbe 0x140001067
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x140001067
lea rcx, [sym._matherr]
call sym.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x140001067
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x140001067
Function at 0x1400235c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
test rdx, rdx
je 0x140023791
add rdx, rcx
xor eax, eax
xor r9d, r9d
jmp 0x1400235fa
xor r11b, 1
movzx r8d, r11b
add rax, r8
mov r8d, r9d
mov r9d, r8d
cmp rcx, rdx
je 0x140023793
movzx r10d, byte [rcx]
test r10b, r10b
js 0x140023620
inc rcx
mov r8b, 1
cmp r10d, 0x20
jae 0x1400236b0
jmp 0x1400235ee
mov r8d, r10d
and r8d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r10b, 0xe0
jb 0x140023676
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140023692
movzx r10d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r10d, r8d
mov r8b, 1
cmp r10d, 0x20
jae 0x1400236b0
jmp 0x1400235ee
add rcx, 2
shl r8d, 6
or r8d, esi
mov r10d, r8d
mov r8b, 1
cmp r10d, 0x20
jae 0x1400236b0
jmp 0x1400235ee
add rcx, 3
shl r8d, 0xc
or r11d, r8d
mov r10d, r11d
mov r8b, 1
cmp r10d, 0x20
jb 0x1400235ee
nop dword [rax]
cmp r10d, 0x7f
je 0x1400235ee
mov r11d, r9d
and r11b, 1
je 0x1400235e0
cmp r10d, 0x6d
jne 0x1400235e0
cmp rcx, rdx
je 0x140023793
movzx r10d, byte [rcx]
test r10b, r10b
js 0x1400236f5
inc rcx
cmp r10d, 0x20
jae 0x140023779
jmp 0x1400235ee
mov r9d, r10d
and r9d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x140023748
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140023761
movzx r10d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r10d, r9d
cmp r10d, 0x20
jae 0x140023779
jmp 0x1400235ee
add rcx, 2
shl r9d, 6
or r9d, esi
mov r10d, r9d
cmp r10d, 0x20
jae 0x140023779
jmp 0x1400235ee
add rcx, 3
shl r9d, 0xc
or r11d, r9d
mov r10d, r11d
cmp r10d, 0x20
jb 0x1400235ee
xor r11d, r11d
mov r9d, 0
cmp r10d, 0x7f
jne 0x1400235e0
jmp 0x1400235ee
xor eax, eax
pop rsi
ret
Function at 0x140049fe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x100
mov rsi, r8
mov rdi, rdx
mov byte [rsp + 0xfd], cl
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x20], 2
mov qword [rsp + 0x88], 0
movabs rax, 0x8000000000000001
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x98], 3
mov byte [rsp + 0x9c], 3
mov byte [rsp + 0xa0], 3
mov word [rsp + 0xa4], 0
mov byte [rsp + 0xa6], 3
mov byte [rsp + 0xaa], 3
mov byte [rsp + 0xae], 3
mov word [rsp + 0xb2], 0
mov byte [rsp + 0xb4], 3
mov byte [rsp + 0xb8], 3
mov byte [rsp + 0xbc], 3
mov word [rsp + 0xc0], 0
mov byte [rsp + 0xc2], 3
mov byte [rsp + 0xc6], 3
mov byte [rsp + 0xca], 3
mov word [rsp + 0xce], 0
mov byte [rsp + 0xd0], 3
mov byte [rsp + 0xd4], 3
mov byte [rsp + 0xd8], 3
mov word [rsp + 0xdc], 0
mov byte [rsp + 0xde], 3
mov byte [rsp + 0xe2], 3
mov byte [rsp + 0xe6], 3
mov word [rsp + 0xea], 0
mov byte [rsp + 0xec], 3
mov byte [rsp + 0xf0], 3
mov byte [rsp + 0xf4], 3
mov word [rsp + 0xf8], 0
mov word [rsp + 0xfb], 0x202
mov byte [rsp + 0xfa], 0
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov ecx, 0xe0
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14004a1c3
mov rbx, rax
lea rdx, [rsp + 0x20]
mov r8d, 0xe0
mov rcx, rax
call sym.memcpy
cmp dword [rbx], 2
je 0x14004a198
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14004a198
mov rcx, qword [rbx + 0x10]
mov r8d, 1
call sym.__rust_dealloc
mov qword [rbx], 1
movups xmm0, xmmword [rsi]
movups xmmword [rbx + 8], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x18], rax
mov rcx, rbx
mov rdx, rdi
add rsp, 0x100
pop rbx
pop rdi
pop rsi
jmp sym.clap_builder::error::Error_F_::with_cmd::he241395c36a5273d
mov ecx, 8
mov edx, 0xe0
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2

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

Disassembly:
mov rcx, qword [0x140124170]
xor edx, edx
jmp sym.std::sys::thread_local::os::Storage_T_::get::h649b1ba41a19b03d
Function at 0x14007fb70
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14007fc3f
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14007fc32
je 0x14007fc30
test rdi, rdi
je 0x14007fbb9
movups xmm6, xmmword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
jne 0x14007fbd5
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
call sub.bcryptprimitives.dll_ProcessPrng
movaps xmm6, xmmword [rsp + 0x20]
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov ecx, 0x18
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14007fc59
movups xmmword [rax], xmm6
mov dword [rax + 0x10], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1401216ec
test rdi, rdi
je 0x14007fc2b
mov edx, 0x18
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14007fc32
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14007fb9d
jmp 0x14007fc32
mov ecx, 8
mov edx, 0x18
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3
Function at 0x140080c10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
cmp byte [rsp + 0x118], 0x6d
jne 0x14008176e
cmp byte [rsp + 0x110], 0
jne 0x14008176e
mov esi, dword [rcx + 0x18]
mov r13d, dword [rcx + 0x1c]
mov dword [rsp + 0x6c], r13d
mov r8d, esi
shr r8d, 8
mov dword [rsp + 0x68], r8d
mov r8d, esi
shr r8d, 0x10
mov dword [rsp + 0x78], r8d
mov r12d, esi
shr r12d, 0x18
mov r8d, r13d
shr r8d, 8
mov dword [rsp + 0x64], r8d
mov r15d, r13d
shr r15d, 0x10
shr r13d, 0x18
mov ebx, dword [rcx + 0x20]
mov edi, ebx
shr edi, 8
mov r14d, ebx
shr r14d, 0x10
mov ebp, ebx
shr ebp, 0x18
mov qword [rsp + 0x90], rcx
movzx eax, word [rcx + 0x24]
mov word [rsp + 0x5a], ax
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0x98]
call sym.__anstyle_parse::params::ParamsIter_as_core::iter::traits::iterator::Iterator_::next::h68aa74a0feebf440
mov dword [rsp + 0x8c], r12d
mov dword [rsp + 0x38], r12d
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x3c], ecx
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0x34], r15d
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x7c], ebp
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x48], ebx
movzx ecx, word [rsp + 0x5a]
mov ebx, ecx
test rax, rax
je 0x1400815fe
lea r14, [0x1402294fc]
lea rbp, [0x140229528]
lea r12, [0x140229510]
xor esi, esi
xor r13d, r13d
mov dword [rsp + 0x5c], ecx
xor r15d, r15d
mov dword [rsp + 0x44], ecx
xor edi, edi
movzx ecx, word [rsp + 0x5a]
mov ebx, ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x70]
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x80]
Function at 0x1400acfe0
Capabilities:
Get system information on windows

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call sub.kernel32.dll_GetSystemInfo
mov ecx, dword [rbp - 0x10]
xor eax, eax
test rcx, rcx
sete al
lea rdx, str.HU_
cmovne rdx, rcx
add rsp, 0x50
pop rbp
ret

Function at 0x1400ae2f0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x468
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3c8], rcx
mov qword [rbp + 0x3d0], 0
mov qword [rbp + 0x3d8], 2
mov qword [rbp + 0x3e0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3c0], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x1400ae380
jmp 0x1400ae36f
jae 0x1400ae43b
cmp r8, 0x201
jae 0x1400ae380
mov r14d, 0x200
lea r15, [rbp - 0x60]
mov r12, r8
jmp 0x1400ae3d7
sub r8, rbx
sub rdi, rbx
cmp r8, rdi
jbe 0x1400ae3af
lea rcx, [rbp + 0x3d0]
mov rdx, rbx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h498cd2a0878ddf3d
mov rsi, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3d8]
mov qword [rbp + 0x3c0], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x3e0], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3c0]
mov r12, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov ecx, r12d
mov rdx, r15
call sub.kernel32.dll_GetCurrentDirectoryW
mov r13d, eax
test eax, eax
jne 0x1400ae3fd
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1400ae4a7
mov r8d, r13d
cmp r12, r8
jne 0x1400ae360
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400ae4da
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x1400ae36f
jmp 0x1400ae380
cmp r14, r8
jb 0x1400ae4f4
lea rcx, [rbp + 0x3a0]
mov rdx, r15
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::h4f0d847f13879248
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
mov rsi, qword [rbp + 0x3c8]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3d0]
test rdx, rdx
je 0x1400ae490
mov rcx, qword [rbp + 0x3d8]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x468
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3c8]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3d0]
test rdx, rdx
jne 0x1400ae47b
jmp 0x1400ae490
lea rcx, str.internal_error:_entered_unreachable_codeH
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::h82631201f060ca88
jmp 0x1400ae509
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
ud2
Function at 0x1400ae540
Capabilities:
Query environment variable

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x1400ae55f
mov rdx, rax
add rsp, 0x68
pop rsi
pop rbp
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
mov rax, rbp
mov qword [rbp - 0x10], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::hab0355a4f2b8b8d2]
mov qword [rbp - 8], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x20], 0
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 1
lea rdx, str.library_std_src_syspalwindowsos.rs
lea rcx, [rbp - 0x40]
call sym.core::panicking::panic_fmt::h50bba86df16ca19f
ud2
Function at 0x1400b04a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movdqa xmmword [rbp - 0x10], xmm7
movdqa xmmword [rbp - 0x20], xmm6
mov rsi, r8
mov rdi, rcx
test r8, r8
je 0x1400b052c
js 0x1400b0676
mov r15, rdx
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov ebx, 1
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc
test rax, rax
je 0x1400b0678
mov r14, rax
mov rbx, rax
mov rcx, r14
mov rdx, r15
mov r8, rsi
call sym.memcpy
mov rdx, r14
cmp rsi, 8
jb 0x1400b062c
movabs rax, 0x7fffffffffffffe0
cmp rsi, 0x20
jae 0x1400b0536
xor ecx, ecx
jmp 0x1400b05c6
mov ebx, 1
jmp 0x1400b064f
mov rcx, rsi
and rcx, rax
xor edx, edx
movdqa xmm0, xmmword [0x14022e600]
movdqa xmm1, xmmword [0x14022e610]
movdqa xmm2, xmmword [0x14022e620]
nop word cs:[rax + rax]
movdqu xmm3, xmmword [rbx + rdx]
movdqu xmm4, xmmword [rbx + rdx + 0x10]
movdqa xmm5, xmm3
paddb xmm5, xmm0
movdqa xmm6, xmm4
paddb xmm6, xmm0
movdqa xmm7, xmm5
pminub xmm7, xmm1
pcmpeqb xmm7, xmm5
pand xmm7, xmm2
movdqa xmm5, xmm6
pminub xmm5, xmm1
pcmpeqb xmm5, xmm6
pand xmm5, xmm2
pxor xmm7, xmm3
pxor xmm5, xmm4
movdqu xmmword [rbx + rdx], xmm7
movdqu xmmword [rbx + rdx + 0x10], xmm5
add rdx, 0x20
cmp rcx, rdx
jne 0x1400b0560
cmp rcx, rsi
je 0x1400b064f
test sil, 0x18
je 0x1400b0626
add rax, 0x18
and rax, rsi
lea rdx, [r14 + rax]
movdqa xmm0, xmmword [0x14022e630]
movdqa xmm1, xmmword [0x14022e640]
movdqa xmm2, xmmword [0x14022e650]
nop dword [rax]
movq xmm3, qword [rbx + rcx]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
pxor xmm5, xmm3
movq qword [rbx + rcx], xmm5
add rcx, 8
cmp rax, rcx
jne 0x1400b05f0
cmp rax, rsi
jne 0x1400b062c
jmp 0x1400b064f
add rcx, r14
mov rdx, rcx
add r14, rsi
nop
movzx eax, byte [rdx]
lea ecx, [rax - 0x61]
cmp cl, 0x1a
setb cl
shl cl, 5
xor cl, al
mov byte [rdx], cl
lea rax, [rdx + 1]
mov rdx, rax
cmp rax, r14
jne 0x1400b0630
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
mov byte [rdi + 0x18], 0
mov rax, rdi
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
xor ebx, ebx
mov rcx, rbx
mov rdx, rsi
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
int3

Function at 0x1400b1cd0
Capabilities:
Create directory

Disassembly:
push rbp
mov rbp, rsp
cmp byte [rcx], 0
je 0x1400b1ce5
mov rcx, rdx
mov rdx, r8
Function at 0x1400bb130
Capabilities:
Set socket configuration

Disassembly:
push rbp
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1400bb197
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1400bb197
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400bb197
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x1400bb197
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1400bb1d7
mov dword [rbp - 4], r9d
mov dword [rsp + 0x20], 4
lea r9, [rbp - 4]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400bb1c4
xor eax, eax
add rsp, 0x30
pop rbp
ret
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rbp
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x30
pop rbp
ret

Function at 0x1400bb1f0
Capabilities:
Set socket configuration

Disassembly:
push rbp
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1400bb257
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1400bb257
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400bb257
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x1400bb257
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1400bb297
mov dword [rbp - 4], r9d
mov dword [rsp + 0x20], 4
lea r9, [rbp - 4]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400bb284
xor eax, eax
add rsp, 0x30
pop rbp
ret
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rbp
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x30
pop rbp
ret

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

Disassembly:
push rbp
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rcx, qword [rcx]
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
mov r9d, 2
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400bb404
movsxd rdx, eax
xor ecx, ecx
jmp 0x1400bb427
call sub.ws2_32.dll_WSAGetLastError
xor edx, edx
mov ecx, 0
cmp eax, 0x274a
je 0x1400bb427
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x20
pop rbp
ret

Function at 0x1400bb430
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rsi
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rcx, qword [rcx]
xor esi, esi
xor eax, eax
cmp r8d, 0x3b9aca00
setne al
cmove edx, esi
mov word [rbp + 4], ax
mov word [rbp + 6], dx
mov dword [rsp + 0x20], 4
lea r9, [rbp + 4]
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400bb487
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x38
pop rsi
pop rbp
ret