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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
movups xmm0, xmmword [rdx + 0x38]
movups xmm1, xmmword [rdx + 0x48]
movaps xmmword [rbp - 0x30], xmm1
movaps xmmword [rbp - 0x40], xmm0
mov rax, qword [rdx + 0x28]
movzx ebx, byte [rdx + 0x30]
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x48], bl
movzx eax, byte [0x1401f1d21]
mov ecx, 0x5f0
mov edx, 8
call fcn.140021bf0
test rax, rax
mov qword [rbp - 8], r14
je 0x1400af0b0
mov rdi, rax
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [r14 + 0x60]
mov qword [rbp - 0x18], rax
movabs rcx, 0x7465646279746573
movabs rdx, 0x6c7967656e657261
movabs r8, 0xded7d4e2d7dedfc6
movabs r9, 0xa60c596fc19fead0
movabs r10, 0xe414a674f0de7325
movabs r11, 0x800000000000000
mov r12d, 1
lock xadd qword [0x1401f1d38], r12
mov r14, r12
xor r14, rcx
lea r15, [r14 + rdx]
mov rax, r14
rol rax, 0x10
xor rax, r15
lea r15, [rax + r8]
rol rax, 0x15
add r14, r9
mov r13, r14
xor r13, r10
rol r14, 0x20
xor r12, r15
add r12, r13
rol r13, 0xd
xor r15, r11
xor r13, r12
rol r12, 0x20
xor r15, rax
add r14, r15
rol r15, 0x10
xor r15, r14
add r12, r15
rol r15, 0x15
add r14, r13
rol r13, 0x11
xor r15, r12
xor r13, r14
rol r14, 0x20
xor r12, r11
add r12, r13
rol r13, 0xd
xor r13, r12
rol r12, 0x20
xor r14, 0xff
add r14, r15
rol r15, 0x10
xor r15, r14
add r12, r15
rol r15, 0x15
add r14, r13
rol r13, 0x11
xor r13, r14
rol r14, 0x20
xor r15, r12
add r12, r13
rol r13, 0xd
xor r13, r12
rol r12, 0x20
add r14, r15
rol r15, 0x10
xor r15, r14
add r12, r15
rol r15, 0x15
add r14, r13
rol r13, 0x11
xor r13, r14
rol r14, 0x20
xor r15, r12
add r12, r13
rol r13, 0xd
add r14, r15
rol r15, 0x10
xor r15, r14
rol r15, 0x15
xor r13, r12
add r14, r13
rol r13, 0x11
mov r12, r14
rol r12, 0x20
xor r12, r13
xor r12, r15
xor r12, r14
je 0x1400aef00
mov rcx, qword [rbp - 8]
mov rax, qword [rcx + 0x58]
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rsi + 0x128], xmm1
movups xmmword [rsi + 0x118], xmm0
mov rdx, qword [rbp - 0x10]
mov qword [rsi + 0x138], rdx
mov byte [rsi + 0x140], bl
mov qword [rsi], 0
mov qword [rsi + 8], rdi
mov qword [rsi + 0x80], 0
mov qword [rsi + 0x88], rdi
mov rdx, qword [rbp - 0x18]
mov qword [rsi + 0x100], rdx
mov qword [rsi + 0x108], r12
mov qword [rsi + 0x110], rax
mov rdx, qword [rcx + 0x10]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1400af09c
test rdx, rdx
je 0x1400af09c
mov rcx, qword [rcx + 0x18]
mov r8d, 1
call fcn.140021c00
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 8
mov edx, 0x5f0
call fcn.14013d6a0
ud2
Function at 0x1400b35c0
Capabilities:
Get common file path

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov qword [rsp + 0x28], 0
lea rcx, [0x1401787c8]
lea r9, [rsp + 0x28]
xor edx, edx
xor r8d, r8d
call sub.shell32.dll_SHGetKnownFolderPath
mov rcx, qword [rsp + 0x28]
test eax, eax
je 0x1400b3604
call sub.ole32.dll_CoTaskMemFree
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1400b3623
call sub.kernel32.dll_lstrlenW
movsxd r8, eax
mov rdx, qword [rsp + 0x28]
mov rcx, rsi
call fcn.14010b3b0
mov rcx, qword [rsp + 0x28]
call sub.ole32.dll_CoTaskMemFree
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x1400b3630
Capabilities:
Get common file path

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov qword [rsp + 0x28], 0
lea rcx, [0x1401787d8]
lea r9, [rsp + 0x28]
xor edx, edx
xor r8d, r8d
call sub.shell32.dll_SHGetKnownFolderPath
mov rcx, qword [rsp + 0x28]
test eax, eax
je 0x1400b3674
call sub.ole32.dll_CoTaskMemFree
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1400b3693
call sub.kernel32.dll_lstrlenW
movsxd r8, eax
mov rdx, qword [rsp + 0x28]
mov rcx, rsi
call fcn.14010b3b0
mov rcx, qword [rsp + 0x28]
call sub.ole32.dll_CoTaskMemFree
mov rax, rsi
add rsp, 0x30
pop rsi
ret
Function at 0x1400baa80
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub rsp, 0x48
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
cmp r8, 0x80
jb 0x1400bac9d
movdqu xmm4, xmmword [rdx]
movdqu xmm3, xmmword [rdx + 0x10]
movdqu xmm2, xmmword [rdx + 0x20]
movdqu xmm1, xmmword [rdx + 0x30]
not ecx
movd xmm0, ecx
pxor xmm0, xmm4
add rdx, 0x40
add r8, 0xffffffffffffffc0
movabs rax, 0x154442bd4
movq xmm4, rax
movdqa xmm5, xmmword [0x14017a0e0]
nop word cs:[rax + rax]
movdqa xmm6, xmm0
pclmulqdq xmm6, xmm4, 0
movdqa xmm7, xmm0
pclmulqdq xmm7, xmm5, 0x11
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmm6
pxor xmm0, xmm7
movdqu xmm6, xmmword [rdx + 0x10]
movdqu xmm7, xmmword [rdx + 0x20]
movdqu xmm8, xmmword [rdx + 0x30]
movdqa xmm9, xmm3
pclmulqdq xmm9, xmm4, 0
pxor xmm9, xmm6
pclmulqdq xmm3, xmm5, 0x11
pxor xmm3, xmm9
movdqa xmm6, xmm2
pclmulqdq xmm6, xmm4, 0
pxor xmm6, xmm7
pclmulqdq xmm2, xmm5, 0x11
pxor xmm2, xmm6
movdqa xmm6, xmm1
pclmulqdq xmm6, xmm4, 0
pxor xmm6, xmm8
pclmulqdq xmm1, xmm5, 0x11
pxor xmm1, xmm6
add rdx, 0x40
add r8, 0xffffffffffffffc0
cmp r8, 0x3f
ja 0x1400baaf0
movabs rax, 0x1751997d0
movq xmm4, rax
movdqa xmm6, xmm0
pclmulqdq xmm6, xmm4, 0
movdqa xmm5, xmmword [0x14017a0f0]
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm6
pxor xmm0, xmm3
movdqa xmm3, xmm0
pclmulqdq xmm3, xmm4, 0
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm0
pclmulqdq xmm2, xmm4, 0
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm2
pxor xmm0, xmm1
cmp r8, 0x10
jb 0x1400bac1a
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rdx]
add r8, 0xfffffffffffffff0
add rdx, 0x10
movdqa xmm2, xmm0
pclmulqdq xmm2, xmm4, 0
pxor xmm2, xmm1
pclmulqdq xmm0, xmm5, 0x11
pxor xmm0, xmm2
cmp r8, 0xf
ja 0x1400babf0
movdqa xmm1, xmmword [0x14017a0f0]
pclmulqdq xmm1, xmm0, 1
psrldq xmm0, 8
pxor xmm0, xmm1
pxor xmm1, xmm1
pxor xmm2, xmm2
pblendw xmm2, xmm0, 3
movabs rax, 0x163cd6124
movq xmm3, rax
pclmulqdq xmm3, xmm2, 0
psrldq xmm0, 4
pxor xmm0, xmm3
pxor xmm2, xmm2
pblendw xmm2, xmm0, 3
pclmulqdq xmm2, xmmword [0x14017a100], 0x10
pblendw xmm2, xmm1, 0xfc
movabs rax, 0x1db710641
movq xmm1, rax
pclmulqdq xmm1, xmm2, 0
pxor xmm1, xmm0
pextrd ecx, xmm1, 1
not ecx
test r8, r8
je 0x1400bacbb
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
jmp fcn.1400ba560
mov eax, ecx
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x1400c2c50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 1
mov qword [rbp - 8], 0
test rdx, rdx
je 0x1400c2e2f
mov rdi, rdx
lea rcx, [rbp - 0x18]
xor edx, edx
mov r8, rdi
call fcn.140134fc0
movabs r12, 0x2d358dccaa6c78a5
movabs r13, 0x8bb84b93962eacc9
mov r15d, 0x3e
lea rsi, [0x14017f330]
jmp 0x1400c2ce8
mov rax, qword [rbp - 0x10]
mov byte [rax + r14], bl
inc r14
mov qword [rbp - 8], r14
dec rdi
je 0x1400c2e2f
call fcn.1400f0190
mov r14, rax
cmp qword [rax], 0
je 0x1400c2d10
mov r9, r14
add r9, 8
mov rcx, qword [r14 + 8]
jmp 0x1400c2d3b
call fcn.1400f01b0
mov rcx, rdx
test rax, rax
movabs rax, 0xef6f79ed30ba75a
cmove rcx, rax
mov r9, r14
add r9, 8
mov qword [r14], 1
mov qword [r14 + 8], rcx
lea r10, [rcx + r12]
mov rax, r10
xor rax, r13
mul r10
mov r8, rdx
xor r8, rax
mov rax, r8
mul r15
lea rax, [r8 + r8]
shl r8, 6
sub r8, rax
cmp r8, 0xf
ja 0x1400c2dab
movabs rax, 0x5a6b1b9954d8f14a
add rcx, rax
nop word cs:[rax + rax]
add r10, r12
mov rax, rcx
xor rax, r13
mul rcx
xor rdx, rax
mov r8, rdx
shl r8, 6
sub r8, rdx
sub r8, rdx
add rcx, r12
cmp r8, 0x10
jb 0x1400c2d80
mov rax, rdx
mul r15
movzx ebx, byte [rdx + rsi]
mov qword [r9], r10
test bl, bl
js 0x1400c2de0
mov r14, qword [rbp - 8]
cmp r14, qword [rbp - 0x18]
jne 0x1400c2cd0
lea rcx, [rbp - 0x18]
call fcn.14002fb90
jmp 0x1400c2cd0
mov rax, qword [rbp - 0x18]
mov r14, qword [rbp - 8]
sub rax, r14
cmp rax, 1
ja 0x1400c2e07
mov r8d, 2
lea rcx, [rbp - 0x18]
mov rdx, r14
call fcn.140134fc0
mov r14, qword [rbp - 8]
mov eax, ebx
shr al, 6
or al, 0xc0
and bl, 0xbf
mov rcx, qword [rbp - 0x10]
mov byte [rcx + r14], al
mov byte [rcx + r14 + 1], bl
add r14, 2
mov qword [rbp - 8], r14
dec rdi
jne 0x1400c2ce8
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x20]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x18]
mov qword [rax], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rax + 8], rcx
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400db640
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rax
mov rax, rcx
add qword [rcx + 0x30], 8
mov qword [rsp], rdx
mov r10, qword [rcx + 0x40]
test r10, r10
je 0x1400db6e7
mov esi, 8
mov r9d, 8
sub r9, r10
cmp r9, 8
cmovb rsi, r9
xor r11d, r11d
xor r8d, r8d
cmp r9, 4
mov ecx, edx
cmovae r11, rcx
setae r8b
lea rcx, [r8*4 + 1]
shl r8, 2
cmp rcx, rsi
jae 0x1400db6ae
movzx edx, word [rsp + r8]
lea ecx, [r8*8]
shl rdx, cl
or r11, rdx
or r8, 2
cmp r8, rsi
jae 0x1400db6c5
movzx edx, byte [rsp + r8]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r11, rdx
lea ecx, [r10*8]
shl r11, cl
or r11, qword [rax + 0x38]
mov qword [rax + 0x38], r11
cmp r10, 8
jbe 0x1400db6ec
add r10, 8
jmp 0x1400db826
xor r9d, r9d
jmp 0x1400db740
mov r8, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, rdx
rol rdx, 0xd
xor r8, r11
xor rdx, rcx
rol rcx, 0x20
mov r10, qword [rax + 8]
add r10, r8
rol r8, 0x10
xor r8, r10
add rcx, r8
rol r8, 0x15
xor r8, rcx
add r10, rdx
rol rdx, 0x11
mov qword [rax + 0x18], r8
xor rdx, r10
rol r10, 0x20
mov qword [rax + 0x10], rdx
mov qword [rax + 8], r10
xor rcx, r11
mov qword [rax], rcx
mov ecx, 8
sub rcx, r9
mov r10d, ecx
and r10d, 7
and rcx, 0xfffffffffffffff8
cmp r9, rcx
jae 0x1400db7c2
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rsi, qword [rax + 0x18]
mov r11, qword [rax + 0x10]
nop word [rax + rax]
add rdx, r11
rol r11, 0xd
mov rdi, qword [rsp + r9]
xor r11, rdx
rol rdx, 0x20
xor rsi, rdi
add r8, rsi
rol rsi, 0x10
xor rsi, r8
add rdx, rsi
rol rsi, 0x15
add r8, r11
rol r11, 0x11
xor r11, r8
rol r8, 0x20
xor rsi, rdx
xor rdx, rdi
add r9, 8
cmp r9, rcx
jb 0x1400db770
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], r11
mov qword [rax + 8], r8
mov qword [rax], rdx
cmp r10d, 4
jb 0x1400db7df
mov r8d, dword [rsp + r9]
mov edx, 4
mov rcx, rdx
or rcx, 1
cmp rcx, r10
jb 0x1400db7f0
jmp 0x1400db80a
xor r8d, r8d
xor edx, edx
mov rcx, rdx
or rcx, 1
cmp rcx, r10
jae 0x1400db80a
lea rcx, [rsp + rdx]
movzx r11d, word [r9 + rcx]
lea ecx, [rdx*8]
shl r11, cl
or r8, r11
or rdx, 2
cmp rdx, r10
jae 0x1400db822
add r9, rdx
movzx r9d, byte [rsp + r9]
shl edx, 3
mov ecx, edx
shl r9, cl
or r8, r9
mov qword [rax + 0x38], r8
mov qword [rax + 0x40], r10
add rsp, 8
pop rdi
pop rsi
ret
Function at 0x1400dbaa0
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r12, r8
mov r15, rdx
mov rsi, rcx
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rsi
call fcn.1400dbd30
mov ecx, dword [rsp + 0x28]
cmp ecx, 2
jne 0x1400dbae1
mov rdx, qword [rsp + 0x30]
mov eax, 1
jmp 0x1400dbca9
mov eax, 1
test ecx, ecx
je 0x1400dbc1f
mov rdx, qword [rsi + 0x60]
mov r14, qword [rsi + 0x68]
cmp r14, rdx
jne 0x1400dbc59
mov rdi, qword [rsp + 0x30]
mov ebp, edi
shr rdi, 0x20
cmp r12, rdi
cmovb rdi, r12
mov r13d, dword [rsp + 0x2c]
lea r12, [rdi + r13]
add rbp, r12
sub rbp, r14
jbe 0x1400dbb66
mov rax, qword [rsi + 0x50]
sub rax, r14
cmp rax, rbp
jb 0x1400dbcba
mov rbx, qword [rsi + 0x58]
lea rcx, [rbx + r14]
cmp rbp, 2
jb 0x1400dbb57
lea r8, [rbp - 1]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add r14, rbp
dec r14
add rbx, r14
mov rcx, rbx
lea rbx, [rsp + 0x28]
mov byte [rcx], 0
inc r14
mov qword [rsi + 0x60], r14
cmp r12, r14
ja 0x1400dbcf3
mov rcx, qword [rsi + 0x58]
add rcx, r13
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsi + 0x60]
cmp rdx, r13
jb 0x1400dbd05
cmp rdx, r12
jb 0x1400dbd14
mov rax, qword [rsi + 0x58]
lea rcx, [rax + r13]
sub edx, r12d
add r12, rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], 7
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], 1
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], 6
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movabs rax, 0x400000000
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
lea rcx, [rsi + 0xc8]
lea r8, [rsp + 0x68]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x1400dbc2b
mov edx, eax
shl rdx, 0x20
or rdx, 2
jmp 0x1400dbad7
movabs rdx, 0x8009031700000002
jmp 0x1400dbca9
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x48]
mov rdx, qword [rsi + 0x60]
cmp rdx, rax
jb 0x1400dbc47
mov qword [rsi + 0x60], rax
mov rdx, rax
mov qword [rsi + 0x68], 0
mov qword [rsi + 0xf0], rdi
xor r14d, r14d
cmp r14, rdx
je 0x1400dbca0
lea rdi, [rsi + 0xc0]
nop word cs:[rax + rax]
mov r8, rdx
sub r8, r14
jb 0x1400dbce4
mov rdx, qword [rsi + 0x58]
add rdx, r14
mov rcx, rdi
call fcn.14010b2f0
test rax, rax
jne 0x1400dbad7
add r14, rdx
mov qword [rsi + 0x68], r14
mov rdx, qword [rsi + 0x60]
cmp r14, rdx
jne 0x1400dbc70
mov rdx, qword [rsi + 0xf0]
xor eax, eax
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsi + 0x50]
mov rdx, r14
mov r8, rbp
call fcn.140134fc0
mov r14, qword [rsi + 0x60]
mov rbx, qword [rsi + 0x58]
lea rcx, [rbx + r14]
cmp rbp, 2
jae 0x1400dbb40
jmp 0x1400dbb57
lea r8, [0x1401819d0]
mov rcx, r14
call fcn.14013dc40
lea r8, [0x140181918]
mov rcx, r12
mov rdx, r14
call fcn.14013dcb0
lea r8, [0x140181930]
mov rcx, r13
call fcn.14013dcb0
lea r8, [0x140181948]
mov rcx, r12
call fcn.14013dcb0
int3
Function at 0x1400eff80
Capabilities:
Get hostname

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rbp - 0xc], 0
lea r8, [rbp - 0xc]
mov ecx, 5
xor edx, edx
call qword [sym.imp.kernel32.dll_GetComputerNameExW]
test eax, eax
jne 0x1400effd8
call fcn.1400f0100
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], edx
mov qword [rbp - 0x40], 1
test rax, rax
je 0x1400effd8
lea rcx, [rbp - 0x38]
call fcn.1400f0120
mov ebx, dword [rbp - 0xc]
test rbx, rbx
je 0x1400f0006
lea rdi, [rbx + rbx]
movzx eax, byte [0x1401f1d21]
mov edx, 2
mov rcx, rdi
call fcn.140021bf0
test rax, rax
je 0x1400f00a6
mov r14, rax
jmp 0x1400f000c
mov r14d, 2
mov qword [rbp - 0x18], rbx
lea r8, [rbp - 0xc]
mov ecx, 5
mov rdx, r14
call qword [sym.imp.kernel32.dll_GetComputerNameExW]
test eax, eax
mov qword [rbp - 0x20], r14
je 0x1400f004b
mov r8d, dword [rbp - 0xc]
lea rcx, [rbp - 0x40]
mov rdx, r14
call fcn.14010b3b0
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x1400f007e
call fcn.1400f0100
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], edx
shl rdx, 0x20
or rdx, 2
mov qword [rsi + 8], rdx
movabs rcx, 0x8000000000000000
mov qword [rsi], rcx
test rax, rax
je 0x1400f007e
lea rcx, [rbp - 0x40]
call fcn.1400f0120
mov rdx, qword [rbp - 0x18]
test edx, edx
mov rcx, qword [rbp - 0x20]
je 0x1400f0098
add rdx, rdx
mov r8d, 2
call fcn.140021c00
mov rax, rsi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov ecx, 2
mov rdx, rdi
call fcn.14013d680
int3

Function at 0x1400f17a0
Capabilities:
Connect socket

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
mov r8d, dword [rdx + 0x80]
call qword [sym.imp.ws2_32.dll_connect]
test eax, eax
je 0x1400f17ca
call fcn.140112c60
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret
Function at 0x1400f31a0
Capabilities:
Get remote cert context via schannel

Disassembly:
sub rsp, 0x28
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x20]
mov edx, 0x53
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
mov edx, eax
xor eax, eax
test edx, edx
setne cl
jne 0x1400f31d4
mov rdx, qword [rsp + 0x20]
mov al, cl
add rsp, 0x28
ret
shl rdx, 0x20
or rdx, 2
mov al, cl
add rsp, 0x28
ret
Function at 0x140107190
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 qword [sym.imp.kernel32.dll_GetSystemInfo]
mov ecx, dword [rbp - 0x10]
xor eax, eax
test rcx, rcx
sete al
lea rdx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
cmovne rdx, rcx
add rsp, 0x50
pop rbp
ret

Function at 0x1401071d0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3f0], 0xfffffffffffffffe
mov qword [rbp + 0x3d0], rcx
mov qword [rbp + 0x3d8], 0
mov qword [rbp + 0x3e0], 2
mov qword [rbp + 0x3e8], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3c8], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x140107270
jmp 0x14010725f
jae 0x14010732f
cmp r8, 0x201
jae 0x140107270
mov r14d, 0x200
lea r15, [rbp - 0x58]
mov r12, r8
jmp 0x1401072c7
sub r8, rbx
sub rdi, rbx
cmp r8, rdi
jbe 0x14010729f
lea rcx, [rbp + 0x3d8]
mov rdx, rbx
call fcn.14013c3d0
mov rsi, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x3c8], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x3e8], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3c8]
mov r12, rbx
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov ecx, r12d
mov rdx, r15
call qword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
mov r13d, eax
test eax, eax
jne 0x1401072f0
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14010739b
mov r8d, r13d
cmp r12, r8
jne 0x140107250
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1401073cf
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x14010725f
jmp 0x140107270
cmp r14, r8
jb 0x1401073e9
lea rcx, [rbp + 0x3a8]
mov rdx, r15
call fcn.14010b3b0
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3d0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3d8]
test rdx, rdx
je 0x140107384
mov rcx, qword [rbp + 0x3e0]
add rdx, rdx
mov r8d, 2
call fcn.140021c00
mov rax, rsi
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3d0]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3d8]
test rdx, rdx
jne 0x14010736f
jmp 0x140107384
lea rcx, str.internal_error:_entered_unreachable_code_rustc_fda509e817abeeecb5b76bc1de844f355675c81elibrary_alloc_src_vecmod.rs
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14013d8c0
jmp 0x1401073fe
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14013dcb0
ud2
Function at 0x140107db0
Capabilities:
Create directory

Disassembly:
push rbp
mov rbp, rsp
cmp byte [rcx], 0
je 0x140107dc5
mov rcx, rdx
mov rdx, r8
pop rbp
jmp fcn.140107de0
mov rcx, rdx
mov rdx, r8
pop rbp
jmp fcn.140111e30

Function at 0x14010b160
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 0x14010b1c7
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14010b1c7
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14010b1c7
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14010b1c7
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x14010b209
mov dword [rbp - 4], r9d
mov dword [rsp + 0x20], 4
lea r9, [rbp - 4]
mov edx, 0xffff
mov r8d, 0x1006
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14010b1f5
xor eax, eax
add rsp, 0x30
pop rbp
ret
call qword [sym.imp.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 0x14010b220
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 0x14010b287
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14010b287
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14010b287
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14010b287
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x14010b2c9
mov dword [rbp - 4], r9d
mov dword [rsp + 0x20], 4
lea r9, [rbp - 4]
mov edx, 0xffff
mov r8d, 0x1005
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14010b2b5
xor eax, eax
add rsp, 0x30
pop rbp
ret
call qword [sym.imp.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 0x14010b2f0
Capabilities:
Send data
Send 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
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
je 0x14010b326
movsxd rdx, eax
xor eax, eax
add rsp, 0x20
pop rbp
ret
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x20
pop rbp
ret

Function at 0x14010b350
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
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14010b382
movsxd rdx, eax
xor ecx, ecx
jmp 0x14010b3a6
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
xor edx, edx
mov ecx, 0