joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14016fc40
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
lea rcx, [rsp + 0x60]
mov r8d, 0xb
mov rdx, rax
call fcn.14019c480
mov dword [rsp + 0x38], 0x800
mov dword [rsp + 0x3c], 0
movzx eax, byte [0x14043f240]
mov edx, 0x800
xor ecx, ecx
call fcn.1401d3670
test rax, rax
je 0x14016fdcb
mov rbx, rax
mov qword [rsp + 0x48], 0x800
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
mov r14, qword [rsp + 0x68]
lea rbp, [rsp + 0x38]
lea r15, [rsp + 0x3c]
mov r12, qword [sym.imp.advapi32.dll_RegQueryValueExW]
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
sub rsi, r13
nop word [rax + rax]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
mov r9, r15
call r12
cmp eax, 0xea
jne 0x14016fd1e
mov r8d, dword [rsp + 0x38]
cmp rsi, r8
jae 0x14016fce0
lea rcx, [rsp + 0x48]
mov rdx, r13
call fcn.14032f9f0
mov rbx, qword [rsp + 0x50]
jmp 0x14016fcca
test eax, eax
jne 0x14016fd40
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
jbe 0x14016fda8
movabs rax, 0xde00000002
jmp 0x14016fd48
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rcx], rax
cmp qword [rsp + 0x48], 0
je 0x14016fd7a
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x14043f190]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x60], 0
je 0x14016fd96
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14043f190]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x18], al
cmp qword [rsp + 0x60], 0
jne 0x14016fd82
jmp 0x14016fd96
mov ecx, 1
mov edx, 0x800
call fcn.14032afb0
int3

Function at 0x1401772d0
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rdx + 0x251]
push rcx
add al, byte [rax]
invalid
test eax, eax
je 0x140177310
cmp eax, 3
jne 0x140177bf6
mov rdx, qword [rsi + 0x240]
mov r9, qword [rsi + 0x248]
jmp 0x140177584
movups xmm0, xmmword [rsi + 0x70]
movups xmmword [rsi + 0x148], xmm0
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [rsi + 0x138], xmm0
movups xmm0, xmmword [rsi + 0x50]
movups xmmword [rsi + 0x128], xmm0
adc dword [rsi + 0x128], eax
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.27_srcconnect.rs
call fcn.14032bcf0
Function at 0x140177dc0
Capabilities:
Connect socket

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x14043f660]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xe8]
test eax, eax
je 0x140177ebf
cmp eax, 1
je 0x140177eed
xor ebp, ebp
movzx eax, byte [rdi + 0xe0]
test eax, eax
jne 0x140177f27
mov eax, dword [0x14043f660]
mov rcx, qword gs:[0x58]
add byte [rax], al
Function at 0x14018a180
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov rdi, rdx
mov qword [rsp + 0x68], rcx
lea rax, [rdx + 0xa4]
mov qword [rsp + 0x118], rax
lea rbx, [rdx + 0xc0]
lea rax, [rdx + 0xe8]
mov qword [rsp + 0xf0], rax
xorps xmm6, xmm6
movzx eax, byte [rdi + 0xa0]
test eax, eax
je 0x14018a224
Function at 0x14018c930
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm6
mov rdi, rdx
mov qword [rsp + 0x68], rcx
lea rax, [rdx + 0x1cc]
mov qword [rsp + 0x118], rax
lea r13, [rdx + 0x10]
lea rax, [rdx + 0x1e8]
mov qword [rsp + 0xf8], rax
lea r15, [rsp + 0x70]
xorps xmm6, xmm6
mov qword [rsp + 0xf0], r13
movzx eax, byte [rdi + 0x1c8]
test eax, eax
je 0x14018c9d6
Function at 0x14018f750
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
lea rcx, [rdx + 0xe8]
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x20]
mov edx, 0x53
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
je 0x14018f790
movabs r12, 0x8000000000000000
jmp 0x14018f7ea
mov rbx, qword [rsp + 0x20]
mov r15, qword [rbx + 8]
mov edi, dword [rbx + 0x10]
test rdi, rdi
je 0x14018f7ca
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rdx, rdi
call fcn.1401d3670
mov r14, rax
mov r12, rdi
test rax, rax
jne 0x14018f7d3
mov ecx, 1
mov rdx, rdi
call fcn.14032afb0
xor r12d, r12d
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov qword [rsi], r12
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140194e70
Capabilities:
Encode data using xor
Hash data using fnv
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, 0x798
movapd xmmword [rsp + 0x780], xmm12
movaps xmmword [rsp + 0x770], xmm11
movdqa xmmword [rsp + 0x760], xmm10
movdqa xmmword [rsp + 0x750], xmm9
movapd xmmword [rsp + 0x740], xmm8
movaps xmmword [rsp + 0x730], xmm7
movaps xmmword [rsp + 0x720], xmm6
mov r14, r8
mov rdi, rdx
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdx + 0x130]
test rcx, rcx
je 0x140194eeb
mov rdx, r14
call fcn.1401db340
test al, al
je 0x140197a3d
lea rax, [rdi + 0x20]
mov qword [rsp + 0x250], rax
lea rax, [rdi + 0x88]
mov qword [rsp + 0x38], rax
lea rax, [rdi + 0xf8]
mov qword [rsp + 0x198], rax
lea rax, [rdi + 0xf9]
mov qword [rsp + 0x360], rax
lea r15, [rsp + 0x38a]
lea rax, [rdi + 0x28]
mov qword [rsp + 0x378], rax
lea r13, [rsp + 0x98]
lea rax, [rdi + 0xc8]
mov qword [rsp + 0x190], rax
lea rax, [0x1403d25a0]
xorps xmm6, xmm6
movaps xmm7, xmmword [0x14033a9f0]
movq xmm8, rax
shufpd xmm8, xmmword [0x14033a950], 2
movdqa xmm9, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm10, xmmword [0x14033aac0]
lea rax, [rdi + 0xe0]
mov qword [rsp + 0x4c0], rax
lea rax, [rdi + 0x50]
mov qword [rsp + 0x4c8], rax
lea rsi, [rsp + 0x2b0]
lea rbp, [rsp + 0x80]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x370], r14
movzx eax, byte [0x14043f240]
mov edx, 0x70
xor ecx, ecx
call fcn.1401d3670
test rax, rax
je 0x140198653
mov rsi, rax
movabs r13, 0x8000000000000000
mov qword [rax], r13
mov qword [rax + 0x58], 1
lea rax, [0x1403d2cc0]
mov qword [rsi + 0x60], rax
mov word [rsi + 0x68], 1
mov r15, qword [rdi + 0x90]
mov rbx, qword [rdi + 0x98]
test rbx, rbx
je 0x140197aba
js 0x140198550
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rdx, rbx
call fcn.1401d3670
test rax, rax
je 0x140198646
mov r14, rax
jmp 0x140197ac0
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movups xmm6, xmmword [rdi + 0xb4]
movups xmm0, xmmword [rdi + 0xc8]
movzx eax, byte [rdi + 0xd8]
mov byte [rsp + 0x90], al
movaps xmmword [rsp + 0x80], xmm0
movzx edx, word [rdi + 0xb0]
movzx r8d, word [rdi + 0xb2]
mov ecx, dword [rdi + 0xc4]
mov r12d, dword [rdi + 0xa0]
mov ebp, dword [rdi + 0xa4]
mov r15d, dword [rdi + 0xa8]
mov edi, dword [rdi + 0xac]
mov rax, qword [rsi]
cmp rax, r13
je 0x140197b5b
test rax, rax
je 0x140197b5b
mov word [rsp + 0x38], r8w
mov r8, qword [rsi + 8]
mov dword [rsp + 0x30], ecx
mov rcx, qword [0x14043f190]
mov r13d, edx
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movzx r8d, word [rsp + 0x38]
mov edx, r13d
mov ecx, dword [rsp + 0x30]
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], r12d
mov dword [rsi + 0x1c], ebp
mov dword [rsi + 0x20], r15d
mov dword [rsi + 0x24], edi
mov word [rsi + 0x28], dx
mov word [rsi + 0x2a], r8w
movups xmmword [rsi + 0x2c], xmm6
mov dword [rsi + 0x3c], ecx
jmp 0x140197fda
Function at 0x1401ae880
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x498
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rdx + 0x251]
test eax, eax
je 0x1401ae8c0
cmp eax, 3
jne 0x1401af036
mov rdx, qword [rsi + 0x240]
mov r9, qword [rsi + 0x248]
jmp 0x1401aeae6
movups xmm0, xmmword [rsi + 0x70]
movups xmmword [rsi + 0x148], xmm0
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [rsi + 0x138], xmm0
movups xmm0, xmmword [rsi + 0x50]
movups xmmword [rsi + 0x128], xmm0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rsi + 0x118], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [rsi + 0x108], xmm3
movups xmmword [rsi + 0xf8], xmm2
movups xmmword [rsi + 0xe8], xmm1
movups xmmword [rsi + 0xd8], xmm0
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rsi + 0x158], xmm0
movups xmm0, xmmword [rsi + 0x90]
movups xmmword [rsi + 0x168], xmm0
movups xmm0, xmmword [rsi + 0xa0]
movups xmmword [rsi + 0x178], xmm0
adc dword [rsi + 0x178], eax
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.27_srcconnect.rs
call fcn.14032bcf0
Function at 0x1401c1ed0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401c1ef5
cmp rax, rcx
je 0x1401c1efb
cmp rdx, 4
jae 0x1401c1eff
xor eax, eax
xor r8d, r8d
jmp 0x1401c1f90
pop rbp
jmp fcn.1400385b0
xor eax, eax
pop rbp
ret
mov r8d, edx
and r8d, 0x1c
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x14033a9d0]
movdqa xmm3, xmmword [0x14033a9e0]
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 0x1401c1f20
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x1401c1fa7
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x1401c1f90
pop rbp
ret

Function at 0x1401c51f0
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
sub dword [rsp + 0xb0], esi
cmp qword [rcx + 0x30], rax
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x1401c53a9
lea rdi, [r14*8]
mov rbx, qword [rcx + 8]
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rsi, rax
xor eax, eax
cmp r14, 6
jb 0x1401c52e0
mov rdx, r14
mov rcx, rax
and rdx, 3
je 0x1401c5300
mov rcx, rax
nop
mov r8, qword [rbx + rcx*8]
mov qword [rsi + rcx*8], r8
inc rcx
inc ecx
sub rax, r14
cmp rax, 0xfffffffffffffffc
ja 0x1401c533f
nop dword [rax]
mov rax, qword [rbx + rcx*8]
mov qword [rsi + rcx*8], rax
mov rax, qword [rbx + rcx*8 + 8]
mov qword [rsi + rcx*8 + 8], rax
mov dword [rsi + rcx*8 + 8], eax
mov eax, r14d
jmp 0x1401c53b0
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov rdx, qword [rcx + 0x20]
mov qword [rsp + 0x90], rdx
nop
add byte [rax], al
add byte [rax + 0x39], cl
xor byte [r15], cl
test dh, dh
invalid
invalid
invalid
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x1401c5393
mov r8, qword [rcx + 0x38]
xor edx, edx
ror byte [rbp + rcx*4 + 0xd], cl
cmp dl, byte [0x1716153a0]
ror byte [rdi], cl
invalid
invalid
movzx r11d, byte [r8 + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp rax, r10
sal byte [rbp - 0x11], 1
xor edx, edx
mov dword [rsp + 0x98], edx
mov r14, qword [rcx + 0x10]
test r14, r14
jne 0x1401c5267
xor eax, eax
mov esi, 8
mov dword [rsp + 0x64], eax
mov edi, eax
shl rdi, 0x20
out 0x20, eax
mov rcx, qword [0x14043f190]
xor edx, edx
mov r8, rsi
movaps xmm6, xmmword [rsp + 0x50]
movzx eax, byte [0x14043f240]
mov edx, 0x20
xor ecx, ecx
call fcn.1401d3670
test rax, rax
je 0x1401c548e
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
xor ebx, ebx
test r14, r14
jne 0x1401c540e
jmp 0x1401c5420
xor ecx, ecx
mov rdx, rdi
call fcn.14032afb0
mov ecx, 8
mov rdx, rdi
call fcn.14032afb0
mov ecx, 8
mov edx, 0x20
call fcn.14032afd0
int3
Function at 0x1401ce390
Capabilities:
Encrypt data using rc4 prga

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

Function at 0x1401d1e20
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 rax, qword [0x14043f198]
cmp rax, 3
jne 0x1401d2012
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
ja 0x1401d2038
lea rbx, [rbp - 0x60]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x60], 0
lea rax, [rdi + 1]
cmp rdi, 0xe
ja 0x1401d1eb8
xor edx, edx
nop word [rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1401d1f74
inc rdx
cmp rax, rdx
jne 0x1401d1ea0
jmp 0x1401d1fdd
lea rcx, [rbp - 0x59]
and rcx, 0xfffffffffffffff8
sub rcx, rbx
je 0x1401d1eee
xor edx, edx
nop word [rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1401d1f74
inc rdx
cmp rcx, rdx
jne 0x1401d1ed0
lea rdx, [rdi - 0xf]
cmp rcx, rdx
jbe 0x1401d1ef2
jmp 0x1401d1f3e
lea rdx, [rdi - 0xf]
movdqa xmm0, xmmword [0x14033a9c0]
movabs r8, 0x8080808080808080
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rbp + rcx - 0x60]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r9, xmm2
test r9, r8
jne 0x1401d1f3e
add rcx, 0x10
cmp rcx, rdx
jbe 0x1401d1f10
sub rax, rcx
je 0x1401d1fdd
lea r8, [rcx + rbp]
add r8, 0xffffffffffffffa0
xor edx, edx
nop word cs:[rax + rax]
cmp byte [r8 + rdx], 0
je 0x1401d1f71
inc rdx
cmp rax, rdx
jne 0x1401d1f60
jmp 0x1401d1fdd
add rdx, rcx
cmp rdx, rdi
jne 0x1401d1fdd
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x130], xmm0
mov dword [rbp + 0x128], 1
mov qword [rbp + 0x158], 0
lea rcx, [rbp - 0x60]
lea r8, [rbp + 0x120]
lea r9, [rbp + 0x158]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x1401d1ff1
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x1401d2009
lea rax, [0x1403db318]
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1401d204a
mov rax, qword [rbp + 0x158]
movzx ecx, word [rbp + 0x166]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
jmp 0x1401d204a
mov rbx, rdx
call fcn.140337d20
mov rdx, rbx
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
jbe 0x1401d1e77
lea r9, [rbp + 0x150]
mov rcx, rsi
mov r8, rdi
call fcn.140337d90
nop
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401d2a60
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 [0x14043f240]
mov edx, 0x10
xor ecx, ecx
call fcn.1401d3670
test rax, rax
je 0x1401d2b59
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1401d2c10]
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 0x1401d2b4b
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 0x1401d2af7
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 0x1401d2b24
cmp qword [rax + 0x10], 0x11
jb 0x1401d2b15
mov r8, qword [r8 - 8]
mov rcx, qword [0x14043f190]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14043f190]
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.14032afd0
ud2
Function at 0x1401d7730
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov eax, 1
test rcx, rcx
jne 0x1401d78be
mov rax, qword [0x14043f198]
cmp rax, 3
jne 0x1401d78c9
mov r14, rdx
cmp word [rdx], 0
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1401d77cb
cmp word [r14], 0
je 0x1401d7841
movups xmm0, xmmword [r14 + 4]
mov eax, dword [r14 + 0x14]
mov edx, dword [r14 + 0x18]
movzx ecx, word [r14 + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x1401d7858
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x1401d77e5
mov ebx, eax
cmp eax, 0x2726
jne 0x1401d78ae
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x1401d78a6
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
jne 0x1401d779e
call qword [sym.imp.kernel32.dll_GetLastError]
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
add bl, ch
insd dword [rdi], dx
mov eax, dword [r14 + 2]
movzx ecx, word [r14 + 6]
invalid
xorps xmm0, xmm0
mov r8d, 0x10
mov r9w, 2
rol cx, 8
mov word [rbp - 0x1c], r9w
mov word [rbp - 0x1a], cx
mov dword [rbp - 0x18], eax
movups xmmword [rbp - 0x14], xmm0
mov dword [rbp - 4], edx
lea rdx, [rbp - 0x1c]
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_bind]
cmp eax, 0xffffffff
je 0x1401d7888
xor eax, eax
mov rdx, rsi
jmp 0x1401d78be
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
mov rdx, rdi
jmp 0x1401d78b9
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rdx, rbx
mov eax, 1
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov rsi, rdx
call fcn.140337d20
mov rdx, rsi
jmp 0x1401d775e
Function at 0x1401dee50
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, 0x38
mov qword [rsp + 0x30], r8
mov rsi, rdx
mov rbx, qword [rcx + 0x10]
cmp rbx, 0xffffffffffffffff
je 0x1401defef
mov r14, qword [rcx + 8]
mov r12, qword [rcx + 0x18]
cmp r9, 0x7fffffff
mov r15d, 0x7fffffff
cmovb r15, r9
jmp 0x1401deec7
mov rcx, qword [0x14043f190]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
dec r13
mov rcx, qword [0x14043f190]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, rsi
mov r9b, 1
call fcn.1401dab70
movzx eax, byte [rsp + 0x29]
cmp al, 3
je 0x1401df00c
mov rbp, qword [rsp + 0x20]
cmp al, 2
je 0x1401df026
movzx edi, byte [rsp + 0x28]
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
mov r8d, r15d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1401df030
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
mov rcx, r13
call fcn.1400afd80
cmp al, 0xd
jne 0x1401def66
test r12, r12
je 0x1401def66
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
lock inc qword [rdx]
jle 0x1401df049
add rcx, 0x10
mov r8, qword [r12 + 0x10]
movzx r9d, byte [r12 + 0x18]
call fcn.1400afb10
test rax, rax
cmovne r13, rax
mov rcx, r13
call fcn.14018b140
cmp al, 0xd
jne 0x1401df01f
movzx ecx, dil
and ebp, 0x23
mov rax, qword [r14 + 0x90]
xor rbp, 0x2f
shl ecx, 0x10
nop dword [rax + rax]
mov edx, eax
shr edx, 0x10
cmp dil, dl
jne 0x1401defac
mov edx, ebp
and edx, eax
or rdx, rcx
lock cmpxchg qword [r14 + 0x90], rdx
jne 0x1401def90
mov eax, r13d
and eax, 3
cmp eax, 1
jne 0x1401deec7
mov rbp, qword [r13 - 1]
mov rdi, qword [r13 + 7]
mov rax, qword [rdi]
test rax, rax
je 0x1401defd0
mov rcx, rbp
call rax
cmp qword [rdi + 8], 0
je 0x1401deeb2
cmp qword [rdi + 0x10], 0x11
jb 0x1401deea0
mov rbp, qword [rbp - 8]
jmp 0x1401deea0
mov rdx, qword [rcx + 8]
lea rcx, [rsp + 0x20]
mov r8, rsi
mov r9b, 1
call fcn.1401dab70
movzx eax, byte [rsp + 0x29]
cmp al, 3
jne 0x1401df016
mov eax, 2
mov r13, rbp
jmp 0x1401df035
cmp al, 2
jne 0x1401df04b
mov r13, qword [rsp + 0x20]
mov eax, 1
jmp 0x1401df035
mov eax, 1
mov r13, rbp
jmp 0x1401df035
movsxd r13, eax
xor eax, eax
mov rdx, r13
add rsp, 0x38
pop rbx
ud2
lea rcx, [0x1403decb8]
call fcn.14032ba30
int3
Function at 0x1401ee1b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [rcx + 0x60]
movzx r8d, byte [rcx + 0x5c]
test eax, eax
jle 0x1401ee1ec
mov edx, dword [rcx + 0x288]
lea r11, [0x1404398a0]
mov r9d, eax
nop dword [rax]
mov eax, edx
shr rax, 0x18
xor rax, r8
shl edx, 8
xor edx, dword [r11 + rax*4]
mov dword [rcx + 0x288], edx
sub r9, 1
jne 0x1401ee1d0
mov eax, dword [rcx + 0x5c]
mov byte [rax + rcx + 0x80], 1
movsxd r9, dword [rcx + 0x60]
mov edx, r9d
sub edx, 1
je 0x1401ee2c4
sub edx, 1
je 0x1401ee2b6
cmp edx, 1
je 0x1401ee280
mov byte [r9 + rcx + 0x7c], 1
mov rax, qword [rcx + 0x40]
movsxd rdx, dword [rcx + 0x6c]
mov byte [rdx + rax], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax + 1], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax + 1], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax + 1], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
movzx r8d, byte [rcx + 0x60]
mov rax, qword [rcx + 0x40]
sub r8b, 4
mov byte [rdx + rax + 1], r8b
inc dword [rcx + 0x6c]
ret
movsxd rdx, dword [rcx + 0x6c]
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax + 1], r8b
movsxd rdx, dword [rcx + 0x6c]
lea eax, [rdx + 1]
mov dword [rcx + 0x6c], eax
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax + 1], r8b
inc dword [rcx + 0x6c]
ret
movsxd rdx, dword [rcx + 0x6c]
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax], r8b
jmp 0x1401ee29f
movsxd rdx, dword [rcx + 0x6c]
mov rax, qword [rcx + 0x40]
mov byte [rdx + rax], r8b
inc dword [rcx + 0x6c]
ret