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

Disassembly:
xor r10, r10
xor r11, r11
xor r12, r12
cmp r9, 0xd
jne 0x472047
mov r10, qword [rcx]
mov r11, qword [rcx + 5]
shr r11, 0x18
mov r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
ret
cmp r9, 0x10
jb 0x4720ea
add r10, qword [rcx]
adc r11, qword [rcx + 8]
adc r12, 1
lea rcx, [rcx + 0x10]
sub r9, 0x10
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
jmp 0x472047
cmp r9, 0
je 0x4721a3
xor r13, r13
xor r14, r14
xor r15, r15
add rcx, r9
shld r14, r13, 8
shl r13, 8
mov r15b, byte [rcx - 1]
xor r13, r15
dec rcx
dec r9
jne 0x472100
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
ret
Function at 0x140036710
Capabilities:
Reference http user-agent string

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x20], rcx
call fcn.140036660
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
mov eax, 1
xor ecx, ecx
cmp rdx, 0
cmove rax, rcx
cmp rax, 1
jne 0x140036776
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
lock xadd qword [rcx], rax
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 1
je 0x14003677d
jmp 0x1400367b5
jmp 0x140036778
add rsp, 0x58
ret
mov ecx, 2
call fcn.140033800
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rax]
call fcn.140033ca0
mov r8, rax
mov r9, rdx
mov rdx, qword [rsp + 0x48]
lea rcx, str.srcloader_srclib.rsUser_AgentMozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_122.0.0.0_Safari_537.36_Edg_122.0.0.0_:_____n
call fcn.140036570
jmp 0x140036778
jmp 0x140036778
Function at 0x1400383a0
Capabilities:
Reference http user-agent string

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc8], 0xfffffffffffffffe
mov al, r9b
mov r9, r8
mov r8, rdx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov byte [rbp - 9], al
lea rdx, [0x1401f06b8]
lea rcx, [rbp + 0x10]
mov qword [rbp - 0x40], rcx
call fcn.14003c2a0
mov rdx, qword [rbp - 0x40]
lea r8, str.srcloader_srclib.rsUser_AgentMozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_122.0.0.0_Safari_537.36_Edg_122.0.0.0_:_____n
lea rcx, [rbp - 8]
call fcn.14003a030
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa0], rax
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x70]
mov qword [rbp - 0x38], rcx
lea rdx, [rbp + 0x90]
call fcn.14003c810
mov rdx, qword [rbp - 0x38]
lea rax, [rbp - 9]
mov qword [rbp + 0xa8], rax
mov r8, qword [rbp + 0xa8]
lea rcx, [rbp + 0x48]
mov qword [rbp - 0x30], rcx
call fcn.14003cc50
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp + 0x30]
mov qword [rbp - 0x28], rcx
call fcn.14003d140
mov rcx, qword [rbp - 0x28]
call fcn.140150cc0
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rax
jmp 0x140038468
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0xb0]
call fcn.1401c5180
jmp 0x14003847e
lea rcx, [rbp + 0xb0]
call fcn.140039cc0
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rax
jmp 0x140038494
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
call fcn.14003d490
jmp 0x1400384a7
lea rcx, [rbp + 0x30]
call fcn.1401491b0
mov rax, qword [rbp - 0x48]
add rsp, 0x150
pop rbp
ret
Function at 0x1400410e0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Execute shellcode via windows callback function

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rbp - 0x38], rcx
mov qword [rbp + 0x20], 0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x28], rax
call fcn.140150a80
mov qword [rbp - 0x30], rax
jmp 0x140041127
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x20], rax
mov rax, rsp
mov dword [rax + 0x28], 4
mov dword [rax + 0x20], 0x3000
mov rax, qword [sym.imp.ntdll.dll_NtAllocateVirtualMemory]
xor ecx, ecx
mov r8d, ecx
mov rcx, 0xffffffffffffffff
lea rdx, [rbp - 0x28]
lea r9, [rbp - 0x20]
call rax
jmp 0x14004115f
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x48], rax
call fcn.14003c5e0
mov qword [rbp - 0x40], rax
jmp 0x140041176
mov rcx, qword [rbp - 0x38]
call fcn.140150a80
mov qword [rbp - 0x50], rax
jmp 0x140041185
mov r9, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 8], 0
mov rax, qword [rbp + 8]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 8]
mov rax, rsp
mov qword [rax + 0x20], rcx
mov rax, qword [sym.imp.ntdll.dll_NtWriteVirtualMemory]
mov rcx, 0xffffffffffffffff
call rax
jmp 0x1400411c6
mov dword [rbp - 0x14], 4
mov rax, rsp
lea rcx, [rbp - 0x14]
mov qword [rax + 0x20], rcx
mov rax, qword [sym.imp.ntdll.dll_NtProtectVirtualMemory]
mov rcx, 0xffffffffffffffff
lea rdx, [rbp - 0x28]
lea r8, [rbp - 0x20]
mov r9d, 0x40
call rax
jmp 0x1400411f8
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x10], rax
mov r8, qword [rbp - 0x10]
mov ecx, reloc.WS2_32.dll_recv
xor edx, edx
call sub.KERNEL32.dll_EnumSystemGeoID
jmp 0x140041212
mov rcx, qword [rbp - 0x38]
call fcn.14003b9b0
nop
add rsp, 0xb0
pop rbp
ret

Function at 0x140045d50
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rcx
movdqa xmm0, xmmword [rdx]
aeskeygenassist xmm0, xmm0, 2
movdqa xmmword [rcx], xmm0
ret
Function at 0x1401683d0
Capabilities:
Hash data using sha512

Disassembly:
sub rsp, 0x218
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x68]
lea rdx, [0x140219a48]
call fcn.140153600
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.140153720
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.140153720
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.140153720
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x68]
mov r8d, 0xd8
call fcn.1401db590
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x140]
call fcn.140153d30
mov rax, qword [rsp + 0x60]
add rsp, 0x218
ret

Function at 0x140179310
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne fcn.140179310
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
ret

Function at 0x14017941a
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x1401793f0
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
aesenclast xmm8, xmm0
aesenclast xmm9, xmm0
ret
Function at 0x14017af00
Capabilities:
Encode data using xor

Disassembly:
xor r10, r10
xor r11, r11
xor r12, r12
cmp r8, 0xd
jne 0x14017afae
mov r10, qword [rcx]
mov r11, qword [rcx + 5]
shr r11, 0x18
mov r12d, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
ret
cmp r8, 0x10
jb 0x14017b059
add r10, qword [rcx]
adc r11, qword [rcx + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea rcx, [rcx + 0x10]
sub r8, 0x10
jmp 0x14017afae
cmp r8, 0
je 0x14017b11f
xor r13, r13
xor r14, r14
xor r15, r15
add rcx, r8
shld r14, r13, 8
shl r13, 8
movzx r15, byte [rcx - 1]
xor r13, r15
dec rcx
dec r8
jne 0x14017b06f
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
ret
Function at 0x14018e240
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
vmovdqu xmm4, xmmword [r9 - 0x80]
vmovdqu xmm2, xmmword [r11 + 0x20]
lea r13, [r10 - 1]
vmovups xmm15, xmmword [r9 - 0x70]
lea r12, [r9 - 0x60]
vpxor xmm9, xmm1, xmm4
add ebx, 0x6000000
jb 0x14018e360
vpaddb xmm10, xmm1, xmm2
vpaddb xmm11, xmm10, xmm2
vpxor xmm10, xmm10, xmm4
vpaddb xmm12, xmm11, xmm2
vpxor xmm11, xmm11, xmm4
vpaddb xmm13, xmm12, xmm2
vpxor xmm12, xmm12, xmm4
vpaddb xmm14, xmm13, xmm2
vpxor xmm13, xmm13, xmm4
vpaddb xmm1, xmm14, xmm2
vpxor xmm14, xmm14, xmm4
jmp 0x14018e2a0
vaesenc xmm9, xmm9, xmm15
vaesenc xmm10, xmm10, xmm15
vaesenc xmm11, xmm11, xmm15
vaesenc xmm12, xmm12, xmm15
vaesenc xmm13, xmm13, xmm15
vaesenc xmm14, xmm14, xmm15
vmovups xmm15, xmmword [r12]
lea r12, [r12 + 0x10]
dec r13d
jne 0x14018e2a0
vmovdqu xmm3, xmmword [r12]
vaesenc xmm9, xmm9, xmm15
vpxor xmm4, xmm3, xmmword [rcx]
vaesenc xmm10, xmm10, xmm15
vpxor xmm5, xmm3, xmmword [rcx + 0x10]
vaesenc xmm11, xmm11, xmm15
vpxor xmm6, xmm3, xmmword [rcx + 0x20]
vaesenc xmm12, xmm12, xmm15
vpxor xmm8, xmm3, xmmword [rcx + 0x30]
vaesenc xmm13, xmm13, xmm15
vpxor xmm2, xmm3, xmmword [rcx + 0x40]
vaesenc xmm14, xmm14, xmm15
vpxor xmm3, xmm3, xmmword [rcx + 0x50]
lea rcx, [rcx + 0x60]
vaesenclast xmm9, xmm9, xmm4
vaesenclast xmm10, xmm10, xmm5
vaesenclast xmm11, xmm11, xmm6
vaesenclast xmm12, xmm12, xmm8
vaesenclast xmm13, xmm13, xmm2
vaesenclast xmm14, xmm14, xmm3
vmovups xmmword [rdx], xmm9
vmovups xmmword [rdx + 0x10], xmm10
vmovups xmmword [rdx + 0x20], xmm11
vmovups xmmword [rdx + 0x30], xmm12
vmovups xmmword [rdx + 0x40], xmm13
vmovups xmmword [rdx + 0x50], xmm14
lea rdx, [rdx + 0x60]
ret
vpshufb xmm6, xmm1, xmm0
vmovdqu xmm5, xmmword [r11 + 0x30]
vpaddd xmm10, xmm6, xmmword [r11 + 0x40]
vpaddd xmm11, xmm6, xmm5
vpaddd xmm12, xmm10, xmm5
vpshufb xmm10, xmm10, xmm0
vpaddd xmm13, xmm11, xmm5
vpshufb xmm11, xmm11, xmm0
vpxor xmm10, xmm10, xmm4
vpaddd xmm14, xmm12, xmm5
vpshufb xmm12, xmm12, xmm0
vpxor xmm11, xmm11, xmm4
vpaddd xmm1, xmm13, xmm5
vpshufb xmm13, xmm13, xmm0
vpxor xmm12, xmm12, xmm4
vpshufb xmm14, xmm14, xmm0
vpxor xmm13, xmm13, xmm4
vpshufb xmm1, xmm1, xmm0
vpxor xmm14, xmm14, xmm4
jmp 0x14018e2a0
Function at 0x140191ed0
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
sub rsp, 0xb8
mov r8, rdx
mov rdx, rcx
mov eax, 0xffffffff
mov eax, eax
mov r9d, eax
lea rcx, [rsp + 0x60]
lea rax, str.C:Users_test.cargo_registry_srcgithub.com_1ecc6299db9ec823getrandom_0.2.12_srcwindows.rs
mov qword [rsp + 0x20], rax
call fcn.140192060
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.140192110
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x78]
call fcn.140192130
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x90]
mov eax, 1
xor ecx, ecx
cmp rdx, 0
cmove rax, rcx
cmp rax, 0
jne 0x140191f74
mov dword [rsp + 0x44], 0
jmp 0x140192015
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xb0], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0xa0]
mov r8d, eax
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
mov dword [rsp + 0x40], eax
shr eax, 0x1e
cmp eax, 3
jne 0x140191f30
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov edx, eax
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
cmp al, 0
jne 0x140191f30
mov ecx, dword [rsp + 0x40]
xor ecx, 0x80000000
call fcn.140192300
mov ecx, eax
call fcn.140192310
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
add rsp, 0xb8
ret

Function at 0x1401a88d0
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
test rcx, rcx
je 0x1401a88f1
mov r8, qword [rcx]
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov qword [rcx], 0
cmp r8, 1
je 0x1401a8927
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 0x1401a8922
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1401a8927
call fcn.1401b3b70
mov r8d, dword [0x1402a3dd8]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + r8*8]
mov qword [rcx + 0x58], 1
mov qword [rcx + 0x60], rax
mov qword [rcx + 0x68], rdx
add rsp, 0x38
ret

Function at 0x1401a90e0
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x50
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x40]
test rax, rax
je 0x1401a9116
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1401a9126
lea rax, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x50
pop rsi
ret
Function at 0x1401a9140
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 r12d, r12d
xor r13d, r13d
xor edi, edi
cmp r8, 0x201
jae 0x1401a91e0
jmp 0x1401a91cf
jae 0x1401a929e
cmp r8, 0x201
jae 0x1401a91e0
lea rbx, [rbp - 0x58]
mov r14d, 0x200
mov rsi, r8
jmp 0x1401a9237
sub r8, rdi
sub r13, rdi
cmp r13, r8
jae 0x1401a920f
lea rcx, [rbp + 0x3c8]
mov rdx, rdi
call fcn.1401e9170
mov r12, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp r12, rax
mov edi, 0xffffffff
cmovb rdi, r12
mov qword [rbp + 0x3d8], rdi
mov r13, r12
mov rbx, qword [rbp + 0x3e8]
mov r14, rdi
mov rsi, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, esi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r15d, eax
test eax, eax
jne 0x1401a925f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1401a9306
mov r8d, r15d
cmp rsi, r8
jne 0x1401a91c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1401a9329
add rsi, rsi
mov eax, 0xffffffff
cmp rsi, rax
cmovae rsi, rax
mov r8, rsi
cmp r8, 0x201
jb 0x1401a91cf
jmp 0x1401a91e0
cmp r14, r8
jb 0x1401a9343
lea rcx, [rbp + 0x3a8]
mov rdx, rbx
call fcn.1401ace50
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 r12, r12
je 0x1401a92ef
add r12, r12
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, r12
call fcn.14000fc10
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 r12, r12
jne 0x1401a92d7
jmp 0x1401a92ef
lea rcx, [0x14024f45b]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.1401ea1a0
jmp 0x1401a9358
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.1401ea600
ud2
Function at 0x1401aca80
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1401acae0
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1401acae0
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1401acae0
imul r10d, edx, 0xf4240
xor edx, edx
sub r8d, r10d
setne dl
add rax, rdx
jb 0x1401acae0
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1401acb22
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 0x1401acb0f
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 0x1401acb30
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1401acb90
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1401acb90
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1401acb90
imul r10d, edx, 0xf4240
xor edx, edx
sub r8d, r10d
setne dl
add rax, rdx
jb 0x1401acb90
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1401acbd2
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 0x1401acbbf
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 0x1401acc80
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 0x1401accd2
mov eax, dword [rsp + 0x3c]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1401acce9
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 0x1401acd80
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 0x1401acdba
cdqe
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1401acdd1
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