joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800c5660
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x420], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [rbp - 0x58]
call fcn.1800c2290
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x410], rax
test rax, rax
je 0x1800c57e5
mov qword [rbp + 0x3c8], rsi
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x3f0], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3f8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x418], rax
xor edi, edi
xor ebx, ebx
xor r13d, r13d
cmp r8, 0x201
jae 0x1800c5720
jmp 0x1800c570f
jae 0x1800c57f7
cmp r8, 0x201
jae 0x1800c5720
lea r12, [rbp - 0x58]
mov esi, 0x200
mov r15, r8
jmp 0x1800c5778
sub r8, r13
sub rbx, r13
cmp rbx, r8
jae 0x1800c574f
lea rcx, [rbp + 0x3f0]
mov rdx, r13
call fcn.180148cb0
mov rax, qword [rbp + 0x3f0]
mov qword [rbp + 0x418], rax
mov rdi, qword [rbp + 0x3f8]
mov eax, 0xffffffff
cmp rdi, rax
mov r13d, 0xffffffff
cmovb r13, rdi
mov qword [rbp + 0x400], r13
mov rbx, rdi
mov r12, qword [rbp + 0x418]
mov rsi, r13
mov r15, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x410]
mov rdx, r12
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov r14d, eax
test eax, eax
jne 0x1800c57a7
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1800c582d
mov r8d, r14d
cmp r15, r8
jne 0x1800c5700
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1800c58cf
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x1800c570f
jmp 0x1800c5720
lea rcx, [rbp - 0x50]
call fcn.1800bfe40
mov byte [rsi + 0x18], 2
jmp 0x1800c5899
cmp rsi, r8
jb 0x1800c58e9
lea rcx, [rbp + 0x3a8]
mov rdx, r12
call fcn.1800c36c0
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
movaps xmmword [rbp + 0x3e0], xmm1
movaps xmmword [rbp + 0x3d0], xmm0
jmp 0x1800c5848
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x3d0], rax
mov byte [rbp + 0x3e8], 2
test rdi, rdi
mov rsi, qword [rbp + 0x3c8]
je 0x1800c5865
mov edx, 2
mov rcx, qword [rbp + 0x418]
call fcn.180010ed0
cmp byte [rbp + 0x3e8], 2
jne 0x1800c58ae
mov byte [rsi + 0x18], 2
lea rcx, [rbp + 0x3d0]
call fcn.1800bfe40
cmp qword [rbp + 0x408], 0
je 0x1800c5899
mov edx, 2
mov rcx, qword [rbp + 0x410]
call fcn.180010ed0
nop
add rsp, 0x4a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movaps xmm0, xmmword [rbp + 0x3d0]
movaps xmm1, xmmword [rbp + 0x3e0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp qword [rbp + 0x408], 0
jne 0x1800c5888
jmp 0x1800c5899
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.180146900
jmp 0x1800c58fe
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.180146880
ud2
Function at 0x1800c8f10
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x1801c63e0]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, 0x103
jne 0x1800c8f7c
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x1800c8f8b
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x1800c8fc3
cmp eax, 0x103
je 0x1800c8fcd
test eax, eax
js 0x1800c8fa8
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x1800c8fc3
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, [0x1801c6448]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1800c0850
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.1800c08f0
mov ecx, 7
int 0x29
ud2
Function at 0x1800c9a90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4f0
mov rbx, rdx
mov rsi, rcx
mov eax, dword [rdx + 0x10]
movzx ebp, word [rdx + 0x40]
movzx r15d, word [rdx + 0x42]
movzx r12d, word [rdx + 0x44]
mov dword [rdx + 0x10], 0
cmp eax, 1
jne 0x1800c9aec
mov r14, qword [rbx]
cmp bp, 0x2e
jne 0x1800c9bdf
test r15w, r15w
je 0x1800c9aec
cmp r15w, 0x2e
jne 0x1800c9bdf
test r12w, r12w
jne 0x1800c9bdf
lea r14, [rsp + 0x80]
mov r8d, 0x250
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [rbx + 8]
mov rcx, rdi
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1800c9bc5
mov r14, qword [rbx]
lea rbx, [rsp + 0x80]
mov r15, qword [sym.imp.KERNEL32.dll_FindNextFileW]
jmp 0x1800c9b41
mov rcx, rdi
mov rdx, rbx
call r15
test eax, eax
je 0x1800c9bc5
cmp word [rsp + 0xac], 0x2e
jne 0x1800c9b6a
movzx eax, word [rsp + 0xae]
test ax, ax
je 0x1800c9b30
cmp ax, 0x2e
jne 0x1800c9b6a
cmp word [rsp + 0xb0], 0
je 0x1800c9b30
lock inc qword [r14]
jle 0x1800c9cc7
mov rdi, qword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x40], eax
movzx ebp, word [rsp + 0xac]
movzx r15d, word [rsp + 0xae]
movzx r12d, word [rsp + 0xb0]
lea rdx, [rsp + 0xb2]
jmp 0x1800c9c0a
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x12
jne 0x1800c9c56
mov qword [rsi], 0
jmp 0x1800c9cb5
lock inc qword [r14]
jle 0x1800c9cc7
lea rdx, [rbx + 0x46]
mov rdi, qword [rbx + 0x14]
mov eax, dword [rbx + 0x3c]
mov dword [rsp + 0x40], eax
movups xmm0, xmmword [rbx + 0x2c]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rbx + 0x1c]
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x2d2]
mov r8d, 0x21e
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x2d2]
mov r8d, 0x21e
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800c9c68
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
xor r14d, r14d
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm1
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x38], eax
mov word [rsi + 0x3c], bp
mov word [rsi + 0x3e], r15w
mov word [rsi + 0x40], r12w
lea rcx, [rsi + 0x42]
lea rdx, [rsp + 0x80]
mov r8d, 0x21e
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], 1
add rsp, 0x4f0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
ud2
Function at 0x1800ccdf0
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1e8
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x180200e30]
cmp rax, 3
jne 0x1800ccfaa
cmp rbx, 0x17f
ja 0x1800ccfbc
lea rcx, [rsp + 0x68]
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x68], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x1800cce68
xor edx, edx
nop dword [rax]
cmp byte [rsp + rdx + 0x68], 0
je 0x1800ccf14
inc rdx
cmp rax, rdx
jne 0x1800cce50
jmp 0x1800ccf73
xor ecx, ecx
mov dl, 1
test dl, dl
jne 0x1800cce9c
jne 0x1800cce9c
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rsp + rdx + 0x68], 0
je 0x1800ccf14
inc rdx
jne 0x1800cce80
xor edx, edx
test dl, dl
jne 0x1800ccf0a
lea rdx, [rbx - 0xf]
jmp 0x1800ccea2
lea rdx, [rbx - 0xf]
xor ecx, ecx
movabs r8, 0xfefefefefefefeff
movabs r9, 0x8080808080808080
nop word cs:[rax + rax]
mov r10, qword [rsp + rcx + 0x68]
mov r11, r10
not r11
add r10, r8
and r10, r11
test r10, r9
jne 0x1800ccf0a
mov r10, qword [rsp + rcx + 0x70]
mov r11, r10
not r11
add r10, r8
and r10, r11
test r10, r9
jne 0x1800ccf0a
add rcx, 0x10
cmp rcx, rdx
jbe 0x1800ccec0
jmp 0x1800ccf0a
cmp byte [rsp + rcx + 0x68], 0
je 0x1800ccf11
inc rcx
cmp rax, rcx
jne 0x1800ccf00
jmp 0x1800ccf73
mov rdx, rcx
cmp rdx, rbx
jne 0x1800ccf73
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x68]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x1800ccf92
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
jmp 0x1800ccf85
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
jmp 0x1800ccf85
call fcn.180148fc0
cmp rbx, 0x17f
jbe 0x1800cce28
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9d, edi
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.180149020
Function at 0x1800d5060
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov rsi, rcx
lea rcx, [rsp + 0x40]
call fcn.1800c2290
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
test rcx, rcx
je 0x1800d50d6
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
call fcn.1800d4f50
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1800d50e4
movdqu xmm6, xmmword [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800d5104
mov qword [rsi], rdi
movdqu xmmword [rsi + 8], xmm6
jmp 0x1800d50f5
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x30]
call fcn.1800bfe40
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rdi
pop rsi
ret
mov qword [rsi], 0
movq rax, xmm6
test rax, rax
je 0x1800d50f5
mov edx, 2
mov rcx, rdi
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rdi
pop rsi
jmp fcn.180010ed0
Function at 0x1800d6ca0
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 [0x180200ed0]
mov ecx, reloc.WS2_32.dll_recv
mov edx, 8
call fcn.180010e40
test rax, rax
je 0x1800d6d76
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1800d7130]
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 0x1800d6d68
mov rcx, qword [rbx]
mov qword [rbp - 0x18], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x10], rax
call qword [rax]
mov rax, qword [rbp - 0x10]
cmp qword [rax + 8], 0
je 0x1800d6d46
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.180010ed0
mov edx, 8
mov rcx, qword [rbp - 0x18]
call fcn.180010ed0
call sub.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, reloc.WS2_32.dll_recv
call fcn.180146460
ud2
Function at 0x1800d7be0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, reloc.WS2_32.dll_recv
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
je 0x1800d7c23
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [fcn.1800c6180]
mov qword [rbp - 0x28], rax
lea rax, [0x1801c6908]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.180146740
ud2

Function at 0x1800da3a0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
cmp qword [rdx], 0
jne 0x1800da4ee
mov rsi, rcx
mov rbx, qword [rdi + 0x18]
mov rax, qword [rbx + 8]
test rax, rax
jne 0x1800da3d8
mov rdx, qword [rbx + 0x10]
lea rax, [rdx + 0xf]
cmp rax, 0xf
jbe 0x1800da4d7
xor eax, eax
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x1800da4b9
sub rax, rdx
add rdx, qword [rbx]
mov r8, qword [rdi + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
mov dword [rsp + 0x2c], 0
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x2c]
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800da43b
mov ecx, dword [rsp + 0x2c]
mov eax, 2
test rcx, rcx
je 0x1800da463
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov byte [rsi + 1], 1
xor eax, eax
jmp 0x1800da4a5
call sub.KERNEL32.dll_GetLastError
mov rcx, rax
shl rcx, 0x20
or rcx, 2
mov qword [rsp + 0x40], rcx
cmp eax, 0x6d
je 0x1800da46b
cmp eax, 0x3e5
jne 0x1800da49f
lea rax, [rsp + 0x30]
jmp 0x1800da479
mov byte [rsi + 1], 0
xor eax, eax
jmp 0x1800da4a5
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x38]
mov qword [rax], 0
lea rcx, [rsp + 0x40]
call fcn.1800bfe40
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
test rax, rax
je 0x1800da4af
cmp rax, 1
je 0x1800da422
mov qword [rsi + 8], rcx
mov al, 1
mov byte [rsi], al
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov eax, 1
jmp 0x1800da42c
mov r8d, 1
mov rcx, rbx
mov rdx, rax
call fcn.180148d70
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
jmp 0x1800da3e5
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.180148d70
mov rax, qword [rbx + 8]
jmp 0x1800da3d8
mov qword [rsp + 0x40], 0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.180149240
ud2

Function at 0x1800de700
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, reloc.WS2_32.dll_recv
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x1800de735
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1800de73a
call fcn.1800d7be0
nop
add rsp, 0x38
ret
Function at 0x1800e615e
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x1800e6165
test al, 1
je 0x1800e6184
test al, 2
jne 0x1800e6199
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1801cb490]
mov edx, 0x23
jmp 0x1800e61ac
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1801cb4d0]
mov edx, 0x25
call fcn.180146900
ud2

Function at 0x1800e6ab8
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x30
mov ebx, edx
call fcn.1800e5b74
mov rcx, qword [rax]
movzx eax, bl
lea r9, [rsp + 0x2c]
mov dword [r9], eax
mov dword [rsp + 0x20], 4
mov edx, 6
mov r8d, 1
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1800e6af3
xor eax, eax
jmp 0x1800e6b01
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rbx
ret
Function at 0x1800e6d5e
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, 0x58
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [rsp + 0xc0]
lea rbp, [rsp + 0x3a]
lea r13, [rsp + 0x52]
lea r15, [rdx + 0x18]
xor ecx, ecx
cmp qword [rdx + 0x18], 0xffffffffffffffff
cmove r15, rcx
mov r12d, 0x7fffffff
cmp rax, r12
cmovb r12, rax
lea rsi, [rsp + 0x30]
mov qword [rsp + 0x40], r15
mov rdx, qword [r14 + 0x10]
mov rcx, rsi
mov r8, rbx
call fcn.1800e6ab0
mov al, byte [rsp + 0x39]
cmp al, 3
je 0x1800e6ecf
mov rcx, qword [rsp + 0x30]
cmp al, 2
je 0x1800e6edd
mov dl, byte [rsp + 0x38]
movzx r8d, word [rbp + 4]
mov word [r13 + 4], r8w
mov r8d, dword [rbp]
mov dword [r13], r8d
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x51], al
mov rcx, r15
lea rdx, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_srciopoll_evented.rs
call fcn.1800048e2
mov rcx, qword [r15]
mov rdx, rdi
mov r8d, r12d
xor r9d, r9d
call sub.WS2_32.dll_send
cmp eax, 0xffffffff
jne 0x1800e6eef
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call fcn.180064e78
cmp al, 0xd
jne 0x1800e6e9f
mov rax, qword [r15 + 8]
test rax, rax
je 0x1800e6e9f
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x1800e6f21
mov r15, r14
mov r14, rbx
add rcx, 0x10
mov r8, qword [rax + 0x10]
mov r9b, byte [rax + 0x18]
call fcn.180064d4f
mov rbx, rax
xor ecx, ecx
call fcn.1800bf55a
test rbx, rbx
je 0x1800e6e94
mov ecx, 1
mov rdx, rsi
call fcn.180064ed4
mov rsi, rbx
mov rbx, r14
mov r14, r15
mov r15, qword [rsp + 0x40]
mov rcx, rsi
call fcn.180001a64
cmp al, 0xd
jne 0x1800e6f00
mov qword [rsp + 0x30], rsi
mov rcx, r14
lea rdx, [rsp + 0x48]
call fcn.1800e6845
lea rsi, [rsp + 0x30]
mov rcx, rsi
call fcn.18002a0c9
jmp 0x1800e6db4
mov rax, qword [rsp + 0x28]
mov qword [rax], 2
jmp 0x1800e6f10
mov rax, qword [rsp + 0x28]
mov qword [rax], 1
mov qword [rax + 8], rcx
jmp 0x1800e6f10
cdqe
mov rcx, qword [rsp + 0x28]
and qword [rcx], 0
mov qword [rcx + 8], rax
jmp 0x1800e6f10
mov rax, qword [rsp + 0x28]
mov qword [rax], 1
mov qword [rax + 8], rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
Function at 0x1800f2a40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, r8
mov r14d, r9d
and ebx, 0x1f
mov rsi, rdx
mov rdi, rcx
movabs r13, 0x9e3779b185ebca87
cmp rbx, 8
jb 0x1800f28fe
mov ebp, ebx
shr rbp, 3
imul rax, rbp, 0xfffffffffffffff8
add rbx, rax
cmp r14d, 1
jne 0x1800f28c6
lea r8d, [r14 + 7]
mov rdx, rsi
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x50]
jmp 0x1800f28c9
mov rdx, qword [rsi]
xor ecx, ecx
call fcn.1800f2a08
xor rax, rdi
mov edx, 0x1b
mov rcx, rax
add rsi, 8
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rdi, rax
movabs rax, 0x7a1435883d4d519d
imul rdi, r13
sub rdi, rax
sub rbp, 1
jne 0x1800f28a8
mov ebp, 4
movabs r15, 0xc2b2ae3d27d4eb4f
movabs r12, 0x165667b19e3779f9
cmp rbx, rbp
jb 0x1800f295d
cmp r14d, 1
jne 0x1800f2938
mov r8d, ebp
lea rcx, [rsp + 0x50]
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x50]
jmp 0x1800f293a
mov eax, dword [rsi]
mov ecx, eax
mov edx, 0x17
imul rcx, r13
add rsi, rbp
xor rcx, rdi
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rdi, rax
imul rdi, r15
add rdi, r12
sub rbx, rbp
test rbx, rbx
je 0x1800f2990
movzx eax, byte [rsi]
movabs rcx, 0x27d4eb2f165667c5
imul rcx, rax
mov edx, 0xb
inc rsi
xor rcx, rdi
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rdi, rax
imul rdi, r13
sub rbx, 1
jne 0x1800f2962
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
shr rax, 0x21
xor rax, rdi
imul rax, r15
mov rcx, rax
shr rcx, 0x1d
xor rcx, rax
imul rcx, r12
mov rax, rcx
shr rax, 0x20
xor rax, rcx
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov r8, qword [rcx]
mov rdi, rcx
cmp r8, 0x20
jb 0x1800f2acd
mov rcx, qword [rcx + 0x20]
mov edx, setsockopt
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rcx, qword [rdi + 0x18]
mov edx, recv
mov rbx, rax
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rcx, qword [rdi + 0x10]
mov edx, 7
add rbx, rax
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rcx, qword [rdi + 8]
mov edx, 1
add rbx, rax
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotl64
mov rdx, qword [rdi + 8]
lea rcx, [rbx + rax]
call fcn.1800f29d4
mov rdx, qword [rdi + 0x10]
mov rcx, rax
call fcn.1800f29d4
mov rdx, qword [rdi + 0x18]
mov rcx, rax
call fcn.1800f29d4
mov rdx, qword [rdi + 0x20]
mov rcx, rax
call fcn.1800f29d4
mov r8, qword [rdi]
jmp 0x1800f2ade
mov rax, qword [rcx + 0x18]
movabs rcx, 0x27d4eb2f165667c5
add rax, rcx
lea rdx, [rdi + 0x28]
xor r9d, r9d
lea rcx, [r8 + rax]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1800f2860
Function at 0x1801409d0
Capabilities:
Encode data using xor

Disassembly:
cmp dword [rcx + 0x60], 0
mov r8, rcx
movzx edx, byte [rcx + 0x5c]
jle 0x180140a0b
mov ecx, dword [rcx + 0x288]
mov r9d, dword [r8 + 0x60]
mov eax, ecx
lea r11, [0x180200890]
shr rax, 0x18
xor rax, rdx
shl ecx, 8
xor ecx, dword [r11 + rax*4]
mov dword [r8 + 0x288], ecx
sub r9, 1
jne 0x1801409e7
mov eax, dword [r8 + 0x5c]
mov byte [rax + r8 + 0x80], 1
mov ecx, dword [r8 + 0x60]
sub ecx, 1
je 0x180140ab3
sub ecx, 1
je 0x180140a97
cmp ecx, 1
je 0x180140a6c
movsxd rax, dword [r8 + 0x60]
mov r9d, 4
mov byte [rax + r8 + 0x7c], 1
movsxd rcx, dword [r8 + 0x6c]
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax], dl
movsxd rcx, dword [r8 + 0x6c]
lea eax, [rcx + 1]
mov dword [r8 + 0x6c], eax
sub r9, 1
jne 0x180140a3f
mov dl, byte [r8 + 0x60]
sub dl, 4
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax + 1], dl
jmp 0x180140abe
movsxd rcx, dword [r8 + 0x6c]
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax], dl
movsxd rcx, dword [r8 + 0x6c]
lea eax, [rcx + 1]
mov dword [r8 + 0x6c], eax
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax + 1], dl
movsxd rcx, dword [r8 + 0x6c]
lea eax, [rcx + 1]
mov dword [r8 + 0x6c], eax
jmp 0x180140a62
mov r9d, 2
movsxd rcx, dword [r8 + 0x6c]
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax], dl
inc dword [r8 + 0x6c]
sub r9, 1
jne 0x180140a9d
ret
movsxd rcx, dword [r8 + 0x6c]
mov rax, qword [r8 + 0x40]
mov byte [rcx + rax], dl
inc dword [r8 + 0x6c]
ret
Function at 0x180149020
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x60
mov rbx, r8
inc rbx
sete bpl
je 0x180149198
js 0x1801491b2
mov edi, r9d
mov r14, r8
mov r12, rdx
mov rsi, rcx
movzx eax, byte [0x180200ed0]
mov edx, 1
mov rcx, rbx
call fcn.180010e40
test rax, rax
je 0x1801491b9
mov r15, rax
mov rcx, rax
mov rdx, r12
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
cmp r14, 0xf
ja 0x1801490a1
test r14, r14
je 0x1801490e9
xor eax, eax
nop dword [rax + rax]
cmp byte [r12 + rax], 0
je 0x1801490b3
inc rax
cmp r14, rax
jne 0x180149090
jmp 0x1801490e9
xor ecx, ecx
mov rdx, r12
mov r8, r14
call fcn.18001e080
test rax, rax
je 0x1801490e9
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test bpl, bpl
jne 0x180149188
mov edx, 1
mov rcx, r15
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.180010ed0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r14
lea rcx, [rsp + 0x30]
call fcn.1800115f0
mov rbx, rax
mov r14, rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
mov rcx, rax
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x18014915d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x180149170
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
mov byte [rbx], 0
test r14, r14
je 0x180149188
mov edx, 1
mov rcx, rbx
call fcn.180010ed0
nop
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [0x1801f050b]
lea r8, str.library_alloc_src_ffic_str.rs
mov edx, 0x2b
call fcn.180146900
ud2
call fcn.180011060
ud2
mov ecx, 1
mov rdx, rbx
call fcn.180146460
ud2