joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140082c50
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x140082c60
test al, 1
je 0x140082d08
test al, 2
jne 0x140082d20
test al, 8
jne 0x140082c9a
lea rcx, [rsi + 0x20]
mov byte [rsp + 0xc8], 4
lea rdx, [rsp + 0x58]
call fcn.1400c4b60
jmp 0x140082cb8
test al, 0x10
je 0x140082cb8
mov rax, qword [rsi + 0xb8]
test rax, rax
je 0x140082da4
mov rcx, qword [rsi + 0xc0]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.1400fecd0
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x28], rax
shl eax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x28]
jb 0x140082d38
jne 0x140082cfe
mov rcx, rsi
add rsp, 0xd0
pop rsi
jmp fcn.140081390
nop
add rsp, 0xd0
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140165b78]
mov edx, 0x23
call fcn.140121b80
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140165bb8]
mov edx, 0x25
call fcn.140121b80
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [fcn.140008da0]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
lea rax, str.current:___sub:
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 2
lea rdx, [0x140165c00]
lea rcx, [rsp + 0x58]
call fcn.140121ad0
lea rax, str.waker_missing
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_taskcore.rs
lea rcx, [rsp + 0x58]
call fcn.140121ad0
int3
Function at 0x140082de0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x140082df0
test al, 1
je 0x140082e98
test al, 2
jne 0x140082eb0
test al, 8
jne 0x140082e2a
lea rcx, [rsi + 0x20]
mov byte [rsp + 0xc8], 4
lea rdx, [rsp + 0x58]
call fcn.1400c4b60
jmp 0x140082e48
test al, 0x10
je 0x140082e48
mov rax, qword [rsi + 0xb8]
test rax, rax
je 0x140082f34
mov rcx, qword [rsi + 0xc0]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.1400ff070
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x28], rax
shl eax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x28]
jb 0x140082ec8
jne 0x140082e8e
mov rcx, rsi
add rsp, 0xd0
pop rsi
jmp fcn.140081460
nop
add rsp, 0xd0
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140165b78]
mov edx, 0x23
call fcn.140121b80
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140165bb8]
mov edx, 0x25
call fcn.140121b80
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [fcn.140008da0]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
lea rax, str.current:___sub:
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 2
lea rdx, [0x140165c00]
lea rcx, [rsp + 0x58]
call fcn.140121ad0
lea rax, str.waker_missing
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_taskcore.rs
lea rcx, [rsp + 0x58]
call fcn.140121ad0
int3
Function at 0x140083e10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x208
mov rsi, rcx
mov rax, qword [rcx]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rsi], rcx
jne 0x140083e20
test al, 1
je 0x140083f0f
test al, 2
jne 0x140083f27
test al, 8
jne 0x140083e5b
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x50], 0xc
lea rdx, [rsp + 0x50]
call fcn.1400c5fc0
jmp 0x140083e79
test al, 0x10
je 0x140083e79
mov rax, qword [rsi + 0x1f8]
test rax, rax
je 0x140083fab
mov rcx, qword [rsi + 0x200]
call qword [rax + 0x10]
lea rdi, [rsi + 0x20]
mov rcx, qword [rsi + 0x20]
mov rdx, rsi
call fcn.1400fecd0
cmp rax, 1
mov eax, 2
sbb rax, 0
mov qword [rsp + 0x20], rax
shl eax, 6
neg rax
lock xadd qword [rsi], rax
shr rax, 6
cmp rax, qword [rsp + 0x20]
jb 0x140083f3f
jne 0x140083f04
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x140083ec8
mov rcx, rdi
call fcn.140092d30
lea rcx, [rsi + 0x30]
call fcn.14007fb10
mov rax, qword [rsi + 0x1f8]
test rax, rax
je 0x140083ee7
mov rcx, qword [rsi + 0x200]
call qword [rax + 0x18]
mov r8, qword [rsi - 8]
mov rcx, qword [0x14019f258]
xor edx, edx
add rsp, 0x208
pop rdi
pop rsi
jmp qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0x208
pop rdi
pop rsi
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140165b78]
mov edx, 0x23
call fcn.140121b80
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140165bb8]
mov edx, 0x25
call fcn.140121b80
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [fcn.140008da0]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
lea rax, str.current:___sub:
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 2
lea rdx, [0x140165c00]
lea rcx, [rsp + 0x50]
call fcn.140121ad0
lea rax, str.waker_missing
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_taskcore.rs
lea rcx, [rsp + 0x50]
call fcn.140121ad0
int3
Function at 0x140086c90
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, r8
mov rdi, rdx
mov qword [rsp + 0x40], rcx
and al, 0x40
Function at 0x1400a8850
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
cmp byte [rcx + 0x79], 0
je 0x1400a8864
mov r8, qword [rcx + 0x48]
mov r9, qword [rcx + 0x50]
test byte [rcx], 1
add dword [rcx], eax

Function at 0x1400ae920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test byte [rdx], 1
je 0x1400ae960
lea rax, [rdx + 8]
cmp qword [rdx + 0x38], 0xffffffffffffffff
mov r8, qword [rdx + 0x48]
mov r9, qword [rdx + 0x50]
mov r10, qword [rdx + 0x58]
mov rdx, qword [rdx + 0x60]
je 0x1400aea82
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r10
mov byte [rsp + 0x30], 0
jmp 0x1400aea91
cmp byte [rdx + 0x1a], 0
jne 0x1400aeab8
mov r8, qword [rdx + 8]
mov rax, qword [rdx + 0x48]
mov r9, qword [rdx + 0x50]
movzx r10d, byte [rdx + 0x18]
jmp 0x1400ae987
Function at 0x1400ccf20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, qword [rcx]
movups xmm0, xmmword [rcx + 8]
movups xmm1, xmmword [rcx + 0x18]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rsi, qword [rdi + 0x28]
cmp rsi, 0x7fff
jbe 0x1400ccf87
lea rcx, [rdx + 0x18]
mov r9, qword [rdx]
mov rax, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
mov rdx, rax
call qword [r9 + 0x10]
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x1400ccf80
lea rcx, [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
call qword [rax + 0x10]
xor eax, eax
jmp 0x1400cd099
lea r15, [rcx + 8]
movzx ebp, word [rcx + 0x30]
mov r14, qword [rcx + 0x28]
movzx ebx, byte [rcx + 0x32]
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
cmp rsi, qword [rdi + 0x18]
jne 0x1400ccfc0
lea rcx, [rdi + 0x18]
call fcn.140018780
mov rcx, qword [rdi + 0x20]
imul rax, rsi, 0x68
mov qword [rcx + rax], 0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rcx + rax + 0x18], xmm0
movups xmmword [rcx + rax + 0x28], xmm1
mov rdx, qword [rsp + 0x60]
mov qword [rcx + rax + 0x38], rdx
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rcx + rax + 0x40], xmm0
movups xmmword [rcx + rax + 0x50], xmm1
mov word [rcx + rax + 0x60], bp
lea rcx, [rsi + 1]
mov qword [rdi + 0x28], rcx
mov rcx, qword [rdi + 0x48]
mov r8, qword [rdi + 0x50]
xor edx, edx
mov r9d, esi
nop dword [rax + rax]
mov r10, r14
mov r14d, 0
cmp r10, r8
jae 0x1400cd020
movzx r11d, word [rcx + r10*4]
cmp r11w, 0xffff
je 0x1400cd05c
inc rdx
movzx r14d, word [rcx + r10*4 + 2]
mov word [rcx + r10*4], r9w
mov word [rcx + r10*4 + 2], bp
inc r10
mov ebp, r14d
mov r9d, r11d
mov r14, r10
jmp 0x1400cd020
xor bl, 1
mov word [rcx + r10*4], r9w
mov word [rcx + r10*4 + 2], bp
cmp rdx, 0x80
setb cl
test cl, bl
jne 0x1400cd085
cmp qword [rdi], 0
jne 0x1400cd085
mov qword [rdi], 1
mov rdx, qword [rdi + 0x28]
cmp rsi, rdx
jae 0x1400cd0a6
mov rcx, qword [rdi + 0x20]
add rax, rcx
add rax, 0x18
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcheadermap.rssize_overflows_MAX_SIZE
mov rcx, rsi
call fcn.140121a60
int3
Function at 0x1400d3210
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae 0x1400d3235
cmp rax, rcx
je 0x1400d323b
cmp rdx, 4
jae 0x1400d323f
xor eax, eax
xor r8d, r8d
jmp 0x1400d32d0
pop rbp
jmp fcn.140009150
xor eax, eax
pop rbp
ret
mov r8d, edx
and r8d, 0x1c
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x14012e6c0]
movdqa xmm3, xmmword [0x14012e6d0]
pxor xmm1, xmm1
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x1400d3260
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x1400d32e7
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x1400d32d0
pop rbp
ret
Function at 0x1400d9e90
Capabilities:
Create tcp socket
Create udp socket
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, 0xf8
lea rdi, str.127.0.0.1:34254could_not_resolve_to_any_addresses
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0xf
lea rcx, [rsp + 0x38]
call fcn.14000ba00
mov rbx, rax
test bl, 1
je 0x1400da07d
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x1400da078
mov r10, qword [rsp + 0x38]
cmp byte [r10], 0x3a
jne 0x1400da078
mov r9, r8
dec r9
je 0x1400da078
movabs rax, 0xffffffff00
and rbx, rax
shr rbx, 8
xor r11d, r11d
mov si, 0xa
xor eax, eax
nop word cs:[rax + rax]
movzx ebp, byte [r10 + r11 + 1]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x1400d9f53
mul si
jo 0x1400da078
mov ecx, eax
add ax, bp
jb 0x1400da078
movsx eax, bp
add eax, ecx
inc r11
cmp r9, r11
jne 0x1400d9f20
xor ecx, ecx
jmp 0x1400d9f5c
mov rcx, r9
sub rcx, r11
mov r9d, r11d
mov qword [rsp + 0x40], rcx
test r9d, r9d
je 0x1400da078
movzx eax, ax
shl rax, 0x30
shl rbx, 0x10
or rbx, rax
mov eax, 1
or rax, rbx
cmp ax, 1
jne 0x1400da08e
cmp qword [rsp + 0x40], 0
jne 0x1400da0a3
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa8], rax
movzx eax, byte [0x14019f308]
mov edx, 0x20
xor ecx, ecx
call fcn.1400e7f40
test rax, rax
je 0x1400da593
mov rsi, rax
mov word [rax], 0
mov rax, rbx
shr rax, 0x10
and rax, 0xffffffffffffff00
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
or rcx, rax
shr rbx, 0x30
mov word [rsi + 6], bx
mov dword [rsi + 2], ecx
mov rax, qword [rsp + 0xa8]
mov qword [rsi + 8], rax
mov eax, dword [rsp + 0xb0]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x14], 0
mov rax, rsi
add rax, 0x20
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xd0], rax
mov rax, rsi
mov qword [rsp + 0x40], r8
xor ebx, ebx
xor eax, eax
or rax, rbx
cmp ax, 1
je 0x1400d9f8a
movzx eax, ax
test eax, eax
jne 0x1400da0a3
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0xf
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0xf
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x60], 1
movabs rax, 0x3a0000003a
mov qword [rsp + 0x58], rax
mov bl, 0x3a
mov r8d, 0xf
jmp 0x1400da0e6
mov ecx, 4
mov edx, 0x20
call fcn.1401216c0
int3
Function at 0x1400e2a30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12

Function at 0x1400e4030
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov r8, rdx

Function at 0x1400e6f40
Capabilities:
Resolve dns

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
mov rax, rdx
mov rsi, rcx
mov rdx, qword [rdx]
mov rdi, qword [rax + 8]
movzx eax, word [rax + 0x10]
mov word [rbp + 0x166], ax
mov eax, dword [0x14019f268]
cmp eax, 3
jne 0x1400e712e
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
ja 0x1400e7154
lea rbx, [rbp - 0x60]
mov rcx, rbx
mov r8, rdi
call fcn.140120b90
mov byte [rbp + rdi - 0x60], 0
lea rax, [rdi + 1]
cmp rdi, 0xe
ja 0x1400e6fd8
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1400e7094
inc rdx
cmp rax, rdx
jne 0x1400e6fc0
jmp 0x1400e70f9
lea rcx, [rbp - 0x59]
and rcx, 0xfffffffffffffff8
sub rcx, rbx
je 0x1400e700e
xor edx, edx
nop word [rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1400e7094
inc rdx
cmp rcx, rdx
jne 0x1400e6ff0
lea rdx, [rdi - 0xf]
cmp rcx, rdx
jbe 0x1400e7012
jmp 0x1400e7060
lea rdx, [rdi - 0xf]
movabs r8, 0x101010101010100
movabs r9, 0x8080808080808080
nop word cs:[rax + rax]
mov rbx, rdx
call fcn.14012a040
mov rdx, rbx
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
jbe 0x1400e6f95
lea r9, [rbp + 0x150]
mov rcx, rsi
mov r8, rdi
call fcn.14012a0b0

Function at 0x1400e7970
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x14019f308]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e7f40
test rax, rax
je 0x1400e7a69
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1400e7b20]
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r9, rax
call qword [sym.imp.kernel32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x1400e7a5b
mov rax, qword [rbx]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
mov rax, qword [rax]
test rax, rax
je 0x1400e7a07
mov rcx, qword [rbp - 0x18]
call rax
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
cmp qword [rax + 8], 0
mov rsi, qword [rbp - 0x20]
je 0x1400e7a34
cmp qword [rax + 0x10], 0x11
jb 0x1400e7a25
mov r8, qword [r8 - 8]
mov rcx, qword [0x14019f258]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
call qword [sym.imp.kernel32.dll_GetLastError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], rdi
mov ecx, 8
mov edx, 0x10
call fcn.1401216c0
ud2
Function at 0x1400ebb60
Capabilities:
Set environment variable

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rdx
mov rdx, rcx
lea rcx, [rbp - 0x30]
mov r8d, 0xb
call fcn.1400e1510
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rax, rdx
neg rax
jno 0x1400ebba4
mov rsi, rcx
jmp 0x1400ebc24
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
lea rcx, [rbp - 0x30]
mov r8d, 0x36
mov rdx, rsi
call fcn.1400e1510
mov rbx, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
mov rax, rbx
neg rax
jno 0x1400ebbde
mov rsi, rdi
cmp qword [rbp - 0x18], 0
mov r14, qword [rbp - 0x10]
jne 0x1400ebc12
jmp 0x1400ebc24
mov r14, qword [rbp - 0x10]
mov rcx, r14
mov rdx, rdi
call qword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
test eax, eax
je 0x1400ebc32
xor esi, esi
test rbx, rbx
je 0x1400ebc0b
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rbp - 0x18], 0
je 0x1400ebc24
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
test rbx, rbx
jne 0x1400ebbf9
jmp 0x1400ebc0b
Function at 0x1400fa6d0
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov qword [rsp + 0x40], r8
mov rbx, rdx
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x38], rax
cmp rax, 0xffffffffffffffff
je 0x1400fa87f
mov r14, qword [rcx + 0x10]
mov r12, qword [rcx + 0x20]
cmp r9, 0x7fffffff
mov r15d, 0x7fffffff
cmovb r15, r9
jmp 0x1400fa747
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
dec r13
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
mov r9b, 1
call fcn.1400eded0
movzx eax, byte [rsp + 0x31]
cmp al, 3
je 0x1400fa89c
mov rbp, qword [rsp + 0x28]
cmp al, 2
je 0x1400fa8b6
movzx edi, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov r8d, r15d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1400fa8c0
test r12, r12
sete sil
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
mov rcx, r13
call fcn.140040cc0
cmp al, 0xd
setne al
or al, sil
jne 0x1400fa7f5
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
lock inc qword [rax]
jle 0x1400fa8d9
add rcx, 0x10
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
movzx r9d, byte [r12 + 0x18]
call fcn.140040a50
test rax, rax
cmovne r13, rax
mov rcx, r13
call fcn.14006a510
cmp al, 0xd
jne 0x1400fa8af
movzx ecx, dil
and ebp, 0x23
mov rax, qword [r14 + 0x90]
xor rbp, 0x2f
shl ecx, 0x10
nop word [rax + rax]
mov edx, eax
shr edx, 0x10
cmp dil, dl
jne 0x1400fa83c
mov edx, ebp
and edx, eax
or rdx, rcx
lock cmpxchg qword [r14 + 0x90], rdx
jne 0x1400fa820
mov eax, r13d
and eax, 3
cmp eax, 1
jne 0x1400fa747
mov rbp, qword [r13 - 1]
mov rdi, qword [r13 + 7]
mov rax, qword [rdi]
test rax, rax
je 0x1400fa860
mov rcx, rbp
call rax
cmp qword [rdi + 8], 0
je 0x1400fa732
cmp qword [rdi + 0x10], 0x11
jb 0x1400fa720
mov rbp, qword [rbp - 8]
jmp 0x1400fa720
mov rdx, qword [rcx + 0x10]
lea rcx, [rsp + 0x28]
mov r8, rbx
mov r9b, 1
call fcn.1400eded0
movzx eax, byte [rsp + 0x31]
cmp al, 3
jne 0x1400fa8a6
mov eax, 2
mov r13, rbp
jmp 0x1400fa8c5
cmp al, 2
jne 0x1400fa8db
mov r13, qword [rsp + 0x28]
mov eax, 1
jmp 0x1400fa8c5
mov eax, 1
mov r13, rbp
jmp 0x1400fa8c5
movsxd r13, eax
xor eax, eax
mov rdx, r13
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
call fcn.140121f20
int3
Function at 0x1401185b0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x20
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
cmp eax, 0xc0000000
jb 0x140118607
mov ebx, eax
lea rcx, [rsp + 0x20]
mov edx, 0x20
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x1401186b6
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [0x14019f2d0]
test rax, rax
je 0x1401186ea
and eax, 0x4000
xor ecx, ecx
lea rbx, [rsp + 0x70]
or rax, rcx
je 0x140118652
lea r8, [0x14018d808]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140046480
jmp 0x140118674
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmm2, xmmword [rbx + 0x20]
movaps xmmword [rdi + 0x20], xmm2
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
mov qword [rdi + 0x40], 0
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov rdx, rsi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
jmp fcn.1400441f0
movzx eax, byte [0x14019f308]
mov edx, 4
xor ecx, ecx
call fcn.1400e7f40
test rax, rax
je 0x1401186f4
and ebx, 0x7fffffff
mov dword [rax], ebx
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, rax
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14011868a
call fcn.14012a690
jmp 0x14011862b
mov ecx, 4
mov edx, 4
call fcn.1401216c0
int3
Function at 0x14011dbd4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
test rax, rax
je 0x14011dc1e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14011dc1e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14011dc1e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14011dc1e
cmp dword [rcx + 0x84], 0xe
jbe 0x14011dc1e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14011dc20
xor al, al
add rsp, 0x28
ret

Function at 0x140120970
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140120998
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140120998
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x140126350
Capabilities:
Link many functions at runtime

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rcx, [0x14015726d]
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x1401263a2
mov rdi, rax
lea rdx, [0x14015728e]
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x1401263a2
mov rsi, rax
lea rdx, [0x14015729c]
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x1401263a2
mov r14, rax
xor edi, edi
jmp 0x140126426
lea rcx, [0x140157228]
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x14012648e
mov rsi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012648e
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012648e
mov rdi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012648e
mov rsi, rax
lea rcx, [rsp + 0x20]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x14012648e
mov r14, qword [rsp + 0x20]
movzx eax, byte [0x14019f308]
mov edx, 0x18
xor ecx, ecx
call fcn.1400e7f40
test rax, rax
je 0x140126493
mov rbx, rax
mov qword [rax], rdi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r14
xor eax, eax
lock cmpxchg qword [0x14019f1c0], rbx
je 0x140126481
mov rsi, rax
cmp qword [rbx], 0
je 0x14012646c
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [0x14019f258]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rbx, rsi
mov rax, rbx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1401264b0
mov ecx, 8
mov edx, 0x18
call fcn.1401216c0
int3