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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
je 0x1400e000b
setns al
js 0x1400e0032
mov rbx, r8
movzx r14d, al
mov rcx, rdi
mov rdx, r14
call fcn.1400032b0
test rax, rax
je 0x1400e0039
mov rcx, rax
mov qword [rsi], rdi
mov qword [rsi + 8], rax
mov qword [rsp + 0x20], rbx
mov rbx, qword [rbx]
xor r9d, r9d
movabs r10, 0xa0761d6478bd642f
movabs r11, 0xe7037ed1a0b428db
mov r14d, 0x3e
movabs r15, 0x40ec3ac8f17ac85e
lea r13, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789called__Option::unwrap____on_a__None__value_rustc_88fb1b922b047981fc0cfc62aa1418b4361ae72elibrary_alloc_srccollections_btree_navigate.rs__
mov rbp, rdi
jmp 0x1400dff94
mov rbx, r12
movzx eax, byte [rdx + r13]
mov byte [rcx + r9], al
inc r9
test rbp, rbp
je 0x1400dfffd
lea r12, [rbx + r10]
mov rax, r12
xor rax, r11
mul r12
mov r8, rdx
dec rbp
xor r8, rax
mov rax, r8
mul r14
lea rax, [r8 + r8]
shl r8, 6
sub r8, rax
cmp r8, 0xf
ja 0x1400dff80
add rbx, r15
nop word cs:[rax + rax]
add r12, r10
mov rax, rbx
xor rax, r11
mul rbx
xor rdx, rax
mov r8, rdx
shl r8, 6
sub r8, rdx
sub r8, rdx
add rbx, r10
cmp r8, 0x10
jb 0x1400dffd0
mov rax, rdx
mul r14
jmp 0x1400dff80
mov rax, qword [rsp + 0x20]
mov qword [rax], rbx
mov qword [rsi + 0x10], rdi
jmp 0x1400e001e
mov qword [rsi], rdi
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 0
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14011d010
ud2
mov rcx, rdi
mov rdx, r14
call fcn.140146840
ud2
Function at 0x1400e10d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rcx
mov r11, qword [rdx + 8]
mov r10, qword [rdx + 0x10]
lea rcx, [r10 + 1]
mov qword [rdx + 0x10], rcx
mov al, 1
cmp rcx, r11
jae 0x1400e1111
mov rax, qword [rdx]
movzx edi, byte [rax + rcx]
mov al, 1
cmp edi, 0x2b
je 0x1400e1106
cmp edi, 0x2d
jne 0x1400e1111
xor eax, eax
add r10, 2
mov qword [rdx + 0x10], r10
mov rcx, r10
cmp rcx, r11
jae 0x1400e12a1
mov rdi, qword [rdx]
movzx r10d, byte [rdi + rcx]
lea rbx, [rcx + 1]
mov qword [rdx + 0x10], rbx
add r10b, 0xd0
cmp r10b, 0xa
jae 0x1400e12ac
movzx r10d, r10b
cmp rbx, r11
jae 0x1400e11a9
mov ebx, 1
sub rbx, r11
add rcx, 2
jmp 0x1400e116c
movzx r11d, r11b
lea r10d, [r10 + r10*4]
lea r10d, [r11 + r10*2]
lea r11, [rbx + rcx]
inc r11
inc rcx
cmp r11, 2
je 0x1400e11a9
movzx r11d, byte [rdi + rcx - 1]
add r11b, 0xd0
cmp r11b, 0xa
jae 0x1400e11a9
mov qword [rdx + 0x10], rcx
cmp r10d, 0xccccccc
jl 0x1400e1150
jne 0x1400e1191
cmp r11b, 7
jbe 0x1400e1150
test r9, r9
sete r9b
mov byte [rsp + 0x20], al
mov rcx, rsi
call fcn.140144e40
jmp 0x1400e128e
mov ecx, dword [rsp + 0x80]
test al, al
je 0x1400e11c5
lea eax, [rcx + r10]
sar eax, 0x1f
add eax, 0x80000000
add ecx, r10d
jmp 0x1400e11d5
xor eax, eax
cmp ecx, r10d
setns al
add eax, 0x7fffffff
sub ecx, r10d
cmovo ecx, eax
movq xmm1, r9
punpckldq xmm1, xmmword [0x1401a28b0]
subpd xmm1, xmmword [0x1401a28c0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 0x135
jb 0x1400e1248
xorpd xmm1, xmm1
movsd xmm2, qword [0x1401a28d0]
nop word cs:[rax + rax]
ucomisd xmm0, xmm1
jne 0x1400e1228
jnp 0x1400e1277
test ecx, ecx
jns 0x1400e12d2
divsd xmm0, xmm2
add ecx, 0x134
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 0x134
ja 0x1400e1220
mov eax, eax
mov r9, qword [0x1402150c0]
movsd xmm1, qword [r9 + rax*8]
test ecx, ecx
js 0x1400e1296
mulsd xmm0, xmm1
ucomisd xmm0, qword [0x1401a28d8]
jae 0x1400e12d2
movsd xmm1, qword [0x1401a28e0]
ucomisd xmm1, xmm0
jae 0x1400e12d2
test r8b, r8b
jne 0x1400e1284
xorpd xmm0, xmmword [0x1401a28f0]
movsd qword [rsi + 8], xmm0
xor eax, eax
mov qword [rsi], rax
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
divsd xmm0, xmm1
test r8b, r8b
je 0x1400e127c
jmp 0x1400e1284
mov qword [rsp + 0x28], 5
jmp 0x1400e12b5
mov qword [rsp + 0x28], reloc.WS2_32.dll_listen
lea rax, [rsp + 0x28]
mov rcx, rdx
mov rdx, rax
call fcn.140144ee0
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1400e128e
mov qword [rsp + 0x28], send
lea rax, [rsp + 0x28]
mov rcx, rdx
mov rdx, rax
call fcn.140144ee0
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x1400e128b
Function at 0x1400e3ed0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rax
add qword [rdx + 0x30], 8
mov rcx, qword [rcx]
mov qword [rsp], rcx
mov r9, qword [rdx + 0x40]
test r9, r9
je 0x1400e3f72
mov r11d, 8
mov r8d, 8
sub r8, r9
cmp r8, 8
cmovb r11, r8
xor r10d, r10d
xor eax, eax
cmp r11, 4
mov ecx, ecx
cmovae r10, rcx
setae al
lea rcx, [rax*4 + 1]
shl rax, 2
cmp rcx, r11
jae 0x1400e3f3b
movzx esi, word [rsp + rax]
lea ecx, [rax*8]
shl rsi, cl
or r10, rsi
or rax, 2
cmp rax, r11
jae 0x1400e3f50
movzx r11d, byte [rsp + rax]
shl eax, 3
mov ecx, eax
shl r11, cl
or r10, r11
lea ecx, [r9*8]
shl r10, cl
or r10, qword [rdx + 0x38]
mov qword [rdx + 0x38], r10
cmp r9, 8
jbe 0x1400e3f77
add r9, 8
jmp 0x1400e40b6
xor r8d, r8d
jmp 0x1400e3fcb
mov r9, qword [rdx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rax, qword [rdx]
add rax, rcx
rol rcx, 0xd
xor r9, r10
xor rcx, rax
rol rax, 0x20
mov r11, qword [rdx + 8]
add r11, r9
rol r9, 0x10
xor r9, r11
add rax, r9
rol r9, 0x15
xor r9, rax
add r11, rcx
rol rcx, 0x11
mov qword [rdx + 0x18], r9
xor rcx, r11
rol r11, 0x20
mov qword [rdx + 0x10], rcx
mov qword [rdx + 8], r11
xor rax, r10
mov qword [rdx], rax
mov eax, 8
sub rax, r8
mov r9d, eax
and r9d, 7
and rax, 0xfffffffffffffff8
cmp r8, rax
jae 0x1400e4052
mov rcx, qword [rdx]
mov r10, qword [rdx + 8]
mov rsi, qword [rdx + 0x18]
mov r11, qword [rdx + 0x10]
nop word cs:[rax + rax]
add rcx, r11
rol r11, 0xd
mov rdi, qword [rsp + r8]
xor r11, rcx
rol rcx, 0x20
xor rsi, rdi
add r10, rsi
rol rsi, 0x10
xor rsi, r10
add rcx, rsi
rol rsi, 0x15
add r10, r11
rol r11, 0x11
xor r11, r10
rol r10, 0x20
xor rsi, rcx
xor rcx, rdi
add r8, 8
cmp r8, rax
jb 0x1400e4000
mov qword [rdx + 0x18], rsi
mov qword [rdx + 0x10], r11
mov qword [rdx + 8], r10
mov qword [rdx], rcx
cmp r9d, 3
jbe 0x1400e406f
mov r10d, dword [rsp + r8]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, r9
jb 0x1400e4080
jmp 0x1400e409a
xor eax, eax
xor r10d, r10d
mov rcx, rax
or rcx, 1
cmp rcx, r9
jae 0x1400e409a
lea rcx, [rax + r8]
movzx r11d, word [rsp + rcx]
lea ecx, [rax*8]
shl r11, cl
or r10, r11
or rax, 2
cmp rax, r9
jae 0x1400e40b2
add r8, rax
movzx r8d, byte [rsp + r8]
shl eax, 3
mov ecx, eax
shl r8, cl
or r10, r8
mov qword [rdx + 0x38], r10
mov qword [rdx + 0x40], r9
add rsp, 8
pop rdi
pop rsi
ret
Function at 0x1400ea1f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
cmp rdx, r9
jne 0x1400ea3b0
lea r9, [rcx + rdx]
add rdx, r8
nop word cs:[rax + rax]
mov al, 1
cmp rcx, r9
je 0x1400ea3b2
movzx ebx, byte [rcx]
movzx r10d, bl
test r10b, r10b
js 0x1400ea240
inc rcx
cmp r8, rdx
jne 0x1400ea2d0
jmp 0x1400ea3b2
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x1400ea29a
movzx esi, byte [rcx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x1400ea2b2
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x1400ea3b2
add rcx, 4
cmp r8, rdx
jne 0x1400ea2d0
jmp 0x1400ea3b2
add rcx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
cmp r8, rdx
jne 0x1400ea2d0
jmp 0x1400ea3b2
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r8, rdx
je 0x1400ea3b2
nop dword [rax]
movzx ebx, byte [r8]
movzx r11d, bl
test r11b, r11b
js 0x1400ea300
inc r8
cmp r10d, 0x110000
jne 0x1400ea390
jmp 0x1400ea3b2
mov esi, r11d
and esi, 0x1f
movzx ebp, byte [r8 + 1]
and ebp, 0x3f
cmp r11b, 0xdf
jbe 0x1400ea356
movzx edi, byte [r8 + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x1400ea36d
movzx r11d, byte [r8 + 3]
and esi, 7
shl esi, 0x12
shl edi, 6
and r11d, 0x3f
or r11d, edi
or r11d, esi
cmp r11d, 0x110000
je 0x1400ea3b2
add r8, 4
cmp r10d, 0x110000
jne 0x1400ea390
jmp 0x1400ea3b2
add r8, 2
shl esi, 6
or esi, ebp
mov r11d, esi
cmp r10d, 0x110000
jne 0x1400ea390
jmp 0x1400ea3b2
add r8, 3
shl esi, 0xc
or edi, esi
mov r11d, edi
cmp r10d, 0x110000
je 0x1400ea3b2
nop word cs:[rax + rax]
cmp r10d, 0x7f
ja 0x1400ea3b0
lea eax, [r10 - 0x41]
mov esi, r10d
xor esi, 0x20
cmp eax, 0x1a
cmovae esi, r10d
cmp esi, r11d
je 0x1400ea210
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
ret
Function at 0x1400f02d0
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 0x1400f04ed
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 [0x1401a96b0]
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 0x1400f0340
movabs rax, 0x1751997d0
movq xmm4, rax
movdqa xmm6, xmm0
pclmulqdq xmm6, xmm4, 0
movdqa xmm5, xmmword [0x1401a96c0]
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 0x1400f046a
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 0x1400f0440
movdqa xmm1, xmmword [0x1401a96c0]
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 [0x1401a96d0], 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 0x1400f050b
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x48
jmp fcn.1400efe60
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 0x140107090
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 + 0x3e0], rcx
mov qword [rbp + 0x3c8], 0
mov qword [rbp + 0x3d0], 2
mov qword [rbp + 0x3d8], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor ebx, ebx
xor edi, edi
xor r13d, r13d
cmp r8, 0x201
jae 0x140107130
jmp 0x14010711f
jae 0x1401071f0
cmp r8, 0x201
jae 0x140107130
lea r12, [rbp - 0x58]
mov esi, 0x200
mov r15, r8
jmp 0x140107188
sub r8, r13
sub rdi, r13
cmp rdi, r8
jae 0x14010715f
lea rcx, [rbp + 0x3c8]
mov rdx, r13
call fcn.140145760
mov rbx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp rbx, rax
mov r13d, 0xffffffff
cmovb r13, rbx
mov qword [rbp + 0x3d8], r13
mov rdi, rbx
mov r12, qword [rbp + 0x3e8]
mov rsi, r13
mov r15, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, r15d
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r14d, eax
test eax, eax
jne 0x1401071b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140107258
mov r8d, r14d
cmp r15, r8
jne 0x140107110
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14010727b
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x14010711f
jmp 0x140107130
cmp rsi, r8
jb 0x140107295
lea rcx, [rbp + 0x3a8]
mov rdx, r12
call fcn.14010b440
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3e0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
test rbx, rbx
je 0x140107241
add rbx, rbx
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rbx
call fcn.1400032c0
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 + 0x3e0]
mov qword [rsi], rax
mov byte [rsi + 0x18], 2
test rbx, rbx
jne 0x140107229
jmp 0x140107241
lea rcx, [0x1401e0feb]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.1401469e0
jmp 0x1401072aa
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.140146e40
ud2
Function at 0x14010abd0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x14010ac31
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14010ac31
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14010ac31
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14010ac31
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x14010ac73
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1006
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14010ac60
xor eax, eax
add rsp, 0x38
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret

Function at 0x14010ac80
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x14010ace1
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14010ace1
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14010ace1
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14010ace1
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x14010ad23
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1005
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14010ad10
xor eax, eax
add rsp, 0x38
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret

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

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rdx, rax
mov r9d, 2
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14010ad67
cdqe
jmp 0x14010ad76
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14010ad7e
xor eax, eax
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14010ad8f
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x20
pop rsi
ret

Function at 0x14010ada0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 6
mov r8d, 1
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14010add8
xor eax, eax
add rsp, 0x38
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
Function at 0x14010adf0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdx, qword [r8 + 8]
mov rsi, qword [r8 + 0x10]
mov rax, rdx
sub rax, rsi
jb 0x14010ae6c
mov rdi, r8
mov rcx, qword [rcx]
cmp rax, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, rax
mov rdx, qword [rdi]
add rdx, rsi
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14010ae4c
cdqe
add rsi, rax
mov qword [rdi + 0x10], rsi
mov rax, qword [rdi + 0x18]
cmp rax, rsi
cmova rsi, rax
mov qword [rdi + 0x18], rsi
xor eax, eax
jmp 0x14010ae65
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14010ae5d
xor eax, eax
jmp 0x14010ae65
shl rax, 0x20
or rax, 2
add rsp, 0x28
pop rdi
pop rsi
ret
lea r8, str.library_std_srcio_readbuf.rs
mov rcx, rsi
call fcn.140146e30
ud2

Function at 0x14010af20
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
mov r8d, 0xffffffff
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x3c], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x3c]
mov rdx, rax
call qword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
je 0x14010af72
mov eax, dword [rsp + 0x3c]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14010af89
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
mov rax, rsi
add rsp, 0x40
pop rsi
ret

Function at 0x14010afb0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
mov rcx, qword [rdx]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x2c], 0x80
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x14010b023
movsxd r8, dword [rsp + 0x2c]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140114840
jmp 0x14010b03a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov word [rsi], 2
mov rax, rsi
add rsp, 0xb0
pop rsi
ret

Function at 0x14010b2f0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x24], eax
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x14010b31a
xor eax, eax
add rsp, 0x28
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret
Function at 0x14010b370
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rdx, rax
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x14010b3aa
cdqe
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14010b3c1
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
mov rax, rsi
add rsp, 0x20
pop rsi
ret

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

Disassembly:
push rsi
sub rsp, 0x20
mov rax, r8
mov rsi, rcx
mov rcx, qword [rdx]
cmp r9, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r9
mov rdx, rax
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14010b404
cdqe
jmp 0x14010b413
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14010b41b
xor eax, eax
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14010b42c
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x20
pop rsi
ret
Function at 0x14010bfa0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
movzx ebp, byte [rdx + 0x38]
xor ebx, ebx
cmp bpl, 1
setne dl
mov eax, 0
sbb eax, eax
mov rsi, rcx
or al, dl
movzx ecx, al
cmp cl, 0xff
je 0x14010bfd0
test ecx, ecx
jne 0x14010c020
movzx ebx, byte [rdi + 0x3a]
cmp al, 0xff
je 0x14010bfdc
test ecx, ecx
jne 0x14010c020
mov rcx, rdi
call fcn.14010be80
movzx eax, al
test bpl, bpl
jne 0x14010c027
lea rdx, [rdi + 0x10]
xor ecx, ecx
cmp byte [rdi + 0x10], 6
cmove rdx, rcx
je case.0x14010c013.2
movzx r8d, byte [rdx]
mov ecx, 6
lea r9, [0x14010c198]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov rcx, qword [rdx + 0x10]
add rcx, 4
jmp case.0x14010c013.2
xor eax, eax
test bpl, bpl
je 0x14010bfec
xor ecx, ecx
add rax, rcx
movzx r10d, bl
lea rcx, [rax + r10]
mov rdx, qword [rdi + 8]
cmp rdx, rcx
jb 0x14010c179
mov r11, qword [rdi]
lea r8, [r11 + rcx]
cmp rdx, rcx
jne 0x14010c05a
movzx r9d, byte [rdi + 0x10]
xor r10d, r10d
jmp 0x14010c0d9
movzx r9d, byte [rdi + 0x10]
add rax, r10
sub rax, rdx
inc rax
lea rdi, [rdx + r11]
dec rdi
xor r10d, r10d
cmp r9b, 3
jae 0x14010c0a0
nop dword [rax + rax]
cmp byte [rdi], 0x5c
je 0x14010c0bb
inc rax
dec rdi
cmp rax, 1
jne 0x14010c080
jmp 0x14010c0d9
movzx ebx, byte [rdi]
cmp ebx, 0x2f
je 0x14010c0bb
cmp ebx, 0x5c
je 0x14010c0bb
inc rax
dec rdi
cmp rax, 1
jne 0x14010c0a0
jmp 0x14010c0d9
neg rax
add rcx, rax
inc rcx
cmp rdx, rcx
jb 0x14010c187
add r11, rcx
mov r10d, 1
mov r8, r11
sub rdx, rcx
je 0x14010c103
mov al, 9
cmp rdx, 2
je 0x14010c107
cmp rdx, 1
jne 0x14010c117
cmp byte [r8], 0x2e
jne 0x14010c117
xor eax, eax
cmp r9b, 3
setae al
lea eax, [rax + rax*2]
add eax, 7
jmp 0x14010c117
mov al, 0xa
jmp 0x14010c117
cmp byte [r8], 0x2e
jne 0x14010c117
cmp byte [r8 + 1], 0x2e
sete al
xor al, 9
add r10, rdx
mov qword [rsi], r10
mov qword [rsi + 8], r8
mov qword [rsi + 0x10], rdx
mov byte [rsi + 0x18], al
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 8
jmp case.0x14010c013.2
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 2
jmp case.0x14010c013.2
mov ecx, 2
jmp case.0x14010c013.2
lea r8, str.library_std_srcpath.rs
call fcn.140146e30
ud2
lea r8, str.library_std_srcpath.rs
call fcn.140146e30
ud2