joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14007034e
Capabilities:
Decrypt data via sspi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, qword [rdx + 0x198]
cmp qword [rdx + 0x190], rax
jb 0x1400704e9
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x180]
xorps xmm0, xmm0
lea r8, [rsp + 0x20]
movups xmmword [r8 + 0x30], xmm0
mov dword [r8], eax
mov dword [r8 + 4], 1
mov qword [r8 + 8], rcx
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], r8
lea rcx, [rdi + 0x1c0]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x80090318
je 0x140070428
test eax, eax
je 0x140070447
cmp eax, 0x90317
je 0x1400704c9
cmp eax, 0x90321
jne 0x1400704d1
mov dword [rdi + 0x140], 0x10000
xor ebx, ebx
mov byte [rdi + 0x144], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x198]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call fcn.1400702e2
and qword [rdi + 0x1f8], 0
mov byte [rsi + 1], bl
jmp 0x1400704df
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x1f8], rax
mov byte [rsi + 1], 0
jmp 0x1400704cd
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x190]
sub r8, rcx
mov r9d, dword [rsp + 0x30]
add r9, r8
lea rbx, [rdi + 0x160]
and qword [rdi + 0x170], 0
call fcn.14007011a
lea r8, [rdx + rax]
mov rcx, rbx
mov rdx, rax
call fcn.140025bdc
and qword [rdi + 0x178], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x198]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call fcn.1400702e2
xor eax, eax
cmp qword [rdi + 0x198], rbx
sete al
mov qword [rdi + 0x1f8], rax
mov byte [rsi + 1], 0
jmp 0x1400704df
mov byte [rsi + 1], 1
xor ebx, ebx
jmp 0x1400704df
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
mov byte [rsi], bl
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
ud2
Function at 0x1400704ed
Capabilities:
Receive data
Receive data on socket

Disassembly:
cmp dword [rcx], 2
jne 0x1400704ff
add rcx, 8
jmp fcn.1400c812a
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rdi, r8
mov rsi, rcx
mov qword [rcx + 0x38], rdx
mov rcx, r8
call fcn.140070627
mov rbx, rax
mov r15, rdx
lea r14, [rsp + 0x28]
mov rcx, rsi
call fcn.140070674
test rdx, rdx
jne 0x140070596
mov rcx, r14
mov rdx, rsi
call fcn.14006f1ab
mov eax, dword [rsp + 0x28]
cmp eax, 2
je 0x1400705e1
test eax, eax
je 0x140070596
cmp qword [rsi + 0xf8], 0
je 0x14007057d
mov rcx, r14
mov rdx, rsi
call fcn.14006fd95
cmp qword [rsp + 0x28], 0
jne 0x1400705e1
cmp qword [rsp + 0x30], 0
je 0x140070596
and qword [rsi + 0xf8], 0
mov rcx, r14
mov rdx, rsi
call fcn.14006ff83
cmp byte [rsp + 0x28], 0
jne 0x1400705e1
cmp byte [rsp + 0x29], 0
je 0x140070527
mov rcx, rsi
call fcn.140070674
mov r14, rdx
test rax, rax
je 0x1400705e6
cmp r15, r14
cmovb r14, r15
mov rcx, rbx
mov rdx, rax
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 0x78]
add rax, r14
cmp rax, qword [rsi + 0x70]
ja 0x140070623
mov qword [rsi + 0x78], rax
add r14, qword [rdi + 0x10]
jb 0x140070623
cmp qword [rdi + 0x18], r14
jb 0x140070623
mov qword [rdi + 0x10], r14
xor r14d, r14d
jmp 0x14007060d
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x28], r14
mov rcx, r14
call fcn.140041ad6
cmp al, 0xd
jne 0x14007060d
and qword [rsi + 0x38], 0
lea rcx, [rsp + 0x28]
call fcn.14006567d
mov eax, 1
jmp 0x140070614
and qword [rsi + 0x38], 0
xor eax, eax
mov rdx, r14
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
ud2

Function at 0x1400737ae
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov rbx, rdx
mov qword [rsp + 0x50], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
mov qword [rsp + 0x58], r8
je 0x140073803
cmp eax, 3
jne case.0x140073d19.1
mov r15, r8
lea r12, [rbx + 0x1f0]
movzx eax, byte [rbx + 0x280]
lea rcx, [0x14010b47c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rcx
and qword [rbx + 0x20], 0
mov qword [rbx + 0x40], rax
Function at 0x1400a5370
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, r8
mov r14, rdx
mov rsi, rcx
lea rdi, [rsp + 0x58]
mov r8d, 0xb
mov rcx, rdi
mov rdx, rax
call fcn.1400a5498
lea r13, [rsp + 0x38]
mov dword [r13], 0x800
lea r15, [rsp + 0x3c]
and dword [r15], 0
mov ecx, 0x800
call fcn.1400b14fe
mov rbx, rax
lea r12, [rsp + 0x40]
mov qword [r12], rax
mov qword [r12 + 8], rdx
and qword [r12 + 0x10], 0
mov rdi, qword [rdi]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x1400a540d
mov edx, dword [rsp + 0x38]
mov rcx, r12
call fcn.140025c1f
mov rbx, qword [rsp + 0x40]
jmp 0x1400a53d8
test eax, eax
jne 0x1400a542f
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
jbe 0x1400a544d
movabs rax, 0xde00000002
jmp 0x1400a5437
shl rax, 0x20
or rax, 2
mov qword [rsi], rax
mov byte [rsi + 0x18], 0xc
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140025ee7
jmp 0x1400a5461
mov rcx, qword [rsp + 0x50]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
mov byte [rsi + 0x18], al
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1400b1675
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400ab4ed
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
movaps xmmword [rsp + 0xb0], xmm6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x60], 4
mov dword [rsp + 0xa8], 0x400010
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x1400ab556
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1400ab58c
mov r8, qword [rcx + 0x40]
xor edx, edx
test r8, r8
je 0x1400ab585
lea r9, [0x1401901a8]
xor r10d, r10d
movzx r11d, byte [rax + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp r8, r10
jne 0x1400ab574
mov dword [rsp + 0x98], edx
mov r15, qword [rcx + 0x10]
lea rsi, [r15*8]
test r15, r15
je 0x1400ab5dd
mov rax, r15
shr rax, 0x3c
jne 0x1400ab691
mov rbx, qword [rcx]
mov ecx, 8
mov rdx, rsi
call fcn.1400656bc
test rax, rax
je 0x1400ab691
mov rdi, rax
xor eax, eax
mov rcx, qword [rbx + rax*8]
mov qword [rdi + rax*8], rcx
inc rax
cmp r15, rax
jne 0x1400ab5c8
mov eax, r15d
jmp 0x1400ab5e4
xor eax, eax
mov edi, 8
lea rcx, [rsp + 0x60]
mov dword [rcx + 4], eax
mov qword [rcx + 8], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rcx
and qword [rsp + 0x40], 0
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call sub.secur32.dll_AcquireCredentialsHandleA
test eax, eax
je 0x1400ab63a
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov r14d, 1
jmp 0x1400ab65f
movaps xmm6, xmmword [rsp + 0x50]
mov ecx, 0x20
call fcn.1400ab06f
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov qword [rbx + 8], rax
movups xmmword [rbx + 0x10], xmm6
xor r14d, r14d
test r15, r15
je 0x1400ab674
mov edx, 8
mov rcx, rdi
mov r8, rsi
call fcn.140010a9a
mov rax, r14
mov rdx, rbx
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
ud2

Function at 0x1400abb66
Capabilities:
Get remote cert context via schannel

Disassembly:
sub rsp, 0x28
lea r8, [rsp + 0x20]
and qword [r8], 0
mov edx, 0x53
call sub.secur32.dll_QueryContextAttributesW
mov edx, eax
xor eax, eax
test edx, edx
setne cl
jne 0x1400abb8f
mov rdx, qword [rsp + 0x20]
jmp 0x1400abb97
shl rdx, 0x20
or rdx, 2
mov al, cl
add rsp, 0x28
ret
Function at 0x1400afba1
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov eax, edx
lea r9, [rsp + 0x34]
mov dword [r9], r8d
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, eax
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400afbcd
xor eax, eax
jmp 0x1400afbd2
call fcn.140070135
nop
add rsp, 0x38
ret
Function at 0x1400b36d2
Capabilities:
Allocate thread local storage

Disassembly:
mov eax, dword [rcx + 0x18]
test eax, eax
je 0x1400b36d2
dec eax
ret
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
cmp qword [rcx], 0
je 0x1400b3749
lea r8, [rsp + 0x2c]
and dword [r8], 0
lea rbx, [rsi + 0x10]
mov rcx, rbx
xor edx, edx
xor r9d, r9d
call sub.kernel32.dll_InitOnceBeginInitialize
cmp eax, 1
jne 0x1400b3790
cmp dword [rsp + 0x2c], 0
je 0x1400b3771
call sub.kernel32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x1400b3780
mov edi, eax
inc eax
mov dword [rsi + 0x18], eax
mov rax, qword [0x1401ab180]
mov qword [rsi + 8], rax
lock cmpxchg qword [0x1401ab180], rsi
jne 0x1400b3724
mov byte [0x1401ab178], 1
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
jmp 0x1400b3776
call sub.kernel32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x1400b3790
mov edi, eax
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
je 0x1400b3776
mov esi, eax
mov ecx, edi
call sub.kernel32.dll_TlsFree
dec esi
mov edi, esi
jmp 0x1400b3776
mov edi, dword [rsi + 0x18]
dec edi
mov eax, edi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rcx, rbx
mov edx, 4
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
ud2

Function at 0x1400b41af
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov ecx, 0x10
adc byte [rax], al
add byte [rax], al
Function at 0x1400b43e2
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x478
mov rsi, rcx
lea rdi, [rsp + 0x78]
mov rcx, rdi
call fcn.1400b3ded
mov rax, qword [rdi]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400b4527
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rax], 2
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov r8d, 0x200
mov r12d, 2
xor r15d, r15d
mov r14d, 0xffffffff
xor r13d, r13d
cmp r8, 0x201
jae 0x1400b446b
lea rbp, [rsp + 0x78]
mov edi, 0x200
mov rbx, r8
jmp 0x1400b44a0
sub r8, r13
lea rcx, [rsp + 0x40]
mov rdx, r8
call fcn.1400b15cb
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
cmp r15, r14
mov r13d, 0xffffffff
cmovb r13, r15
mov qword [rsp + 0x50], r13
mov rbp, r12
mov rdi, r13
mov rbx, r13
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
mov r8d, ebx
call sub.kernel32.dll_GetEnvironmentVariableW
mov esi, eax
test eax, eax
jne 0x1400b44c6
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1400b4537
mov r8d, esi
cmp rbx, r8
jne 0x1400b44ee
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400b45a9
add rbx, rbx
cmp rbx, r14
cmovae rbx, r14
mov r8, rbx
jmp 0x1400b4453
jb 0x1400b4453
cmp rdi, r8
jb 0x1400b45a9
lea rsi, [rsp + 0x58]
mov rcx, rsi
mov rdx, rbp
call fcn.1400b0bc4
mov bl, byte [rsi + 0x18]
mov rcx, r12
mov rdx, r15
call fcn.1400b1675
cmp bl, 2
jne 0x1400b456c
mov rbx, qword [rsp + 0x58]
jmp 0x1400b4554
lea rcx, [rsp + 0x78]
call fcn.1400b3eeb
mov byte [rsi + 0x18], 2
jmp 0x1400b4594
call fcn.140070135
mov rbx, rax
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x70], 2
mov rcx, r12
mov rdx, r15
call fcn.1400b1675
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov byte [rax + 0x18], 2
mov rcx, rbx
call fcn.1400affb8
jmp 0x1400b4587
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.1400b1675
nop
add rsp, 0x478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
Function at 0x1400b5975
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x140169ce8]
lea rax, [rsp + 0x60]
movaps xmmword [rax], xmm0
mov ecx, 0xffffffff
cmp r9, rcx
cmovb rcx, r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rax
mov rcx, rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x1400b59dd
mov rcx, rdi
mov edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x1400b59ec
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x1400b5a20
cmp eax, 0x103
je 0x1400b5a2a
test eax, eax
js 0x1400b5a06
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
and qword [rsi], 0
jmp 0x1400b5a20
mov ecx, eax
call sub.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
lea rcx, [rsp + 0x58]
mov byte [rcx + 4], 0
and dword [rcx], 0
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
lea rdx, [rsp + 0x78]
mov qword [rdx], rax
mov qword [rdx + 8], 1
lea rax, [rsp + 0x50]
mov qword [rdx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rdx + 0x18], xmm0
call fcn.1400b272d
mov rcx, rax
call fcn.1400b21fd
mov ecx, 7
int 0x29
ud2

Function at 0x1400b78ae
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov rax, r8
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
movaps xmmword [r8 + 0x20], xmm0
movaps xmmword [r8 + 0x10], xmm0
mov dword [r8 + 8], 1
lea r9, [rsp + 0x28]
and qword [r9], 0
mov rcx, rax
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x1400b7901
call fcn.1400b791e
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x1400b7914
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
add rsp, 0x68
pop rdi
pop rsi
ret

Function at 0x1400b794e
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rdi
sub rsp, 0x1b8
mov rax, qword [rcx]
mov rdi, qword [rax]
and qword [rax], 0
test rdi, rdi
je 0x1400b799f
lea rsi, [rsp + 0x20]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
test eax, eax
jne 0x1400b799f
lea rax, [0x140105930]
mov qword [rdi], rax
add rsp, 0x1b8
pop rdi
pop rsi
ret
ud2

Function at 0x1400b79a3
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movaps xmmword [rcx], xmm0
mov edx, 0x10
call sub.advapi32.dll_SystemFunction036
test al, al
je 0x1400b79cf
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.140070135
ud2
Function at 0x1400b8045
Capabilities:
Generate random numbers via winapi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rdi, rcx
lea rcx, [0x1401080f8]
call fcn.140063c5e
cmp rax, 2
jb 0x1400b8074
mov rcx, rax
cmp qword [rax + 8], 0
je 0x1400b8074
add rcx, 0x10
jmp 0x1400b811c
lea rbx, [0x1401080f8]
mov rcx, rbx
call fcn.140063c5e
cmp rax, 1
je 0x1400b80ff
mov rsi, rax
test rax, rax
jne 0x1400b80b6
mov ecx, 0x20
mov edx, 8
call fcn.1400b36a2
mov rsi, rax
mov qword [rax], rbx
and qword [rax + 8], 0
mov rcx, rbx
mov rdx, rax
call fcn.1400366ab
test rdi, rdi
je 0x1400b80d1
mov rax, qword [rdi]
and qword [rdi], 0
test rax, rax
je 0x1400b80d1
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
jmp 0x1400b8108
xorps xmm0, xmm0
lea rdx, [rsp + 0x20]
movaps xmmword [rdx], xmm0
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x1400b8103
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1400b8108
xor ecx, ecx
jmp 0x1400b811c
call fcn.1400b79a3
mov qword [rsi + 8], 1
lea rcx, [rsi + 0x10]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rdx
mov rax, rcx
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret

Function at 0x1400b8fb7
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rax, rdx
mov rsi, rcx
lea rdx, [rsp + 0x2c]
mov rcx, rax
call sub.shell32.dll_CommandLineToArgvW
test rax, rax
je 0x1400b9050
mov rdi, rax
movsxd r12, dword [rsp + 0x2c]
lea rbx, [rsp + 0x30]
mov qword [rbx], 8
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
shl r12, 3
xor r13d, r13d
lea r14, [rsp + 0x48]
cmp r12, r13
je 0x1400b9035
mov r15, qword [rdi + r13]
mov rcx, r15
call sub.msvcrt.dll_wcslen
mov rcx, r14
mov rdx, r15
mov r8, rax
call fcn.1400b8be7
mov rcx, rbx
mov rdx, r14
call fcn.1400b923d
add r13, 8
jmp 0x1400b9005
mov rcx, rdi
call sub.kernel32.dll_LocalFree
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
jmp 0x1400b905e
mov qword [rsi], 8
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400bdadd
Capabilities:
Get memory capacity

Disassembly:
push rsi
push rdi
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rcx
xorps xmm6, xmm6
lea rdi, [rsp + 0x90]
movaps xmmword [rdi], xmm6
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
mov dword [rdi], 0x40
mov rcx, rdi
call sub.kernel32.dll_GlobalMemoryStatusEx
mov rax, qword [rdi + 8]
mov qword [rsi + 0xa0], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0xa8], rax
lea rcx, [rsp + 0x20]
movaps xmmword [rcx + 0x50], xmm6
movaps xmmword [rcx + 0x40], xmm6
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
and qword [rcx + 0x60], 0
mov edx, 0x68
call sub.psapi.dll_GetPerformanceInfo
cmp eax, 1
jne 0x1400bdbb0
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor r10d, r10d
sub rdx, r9
cmovb rdx, r10
mov rcx, qword [rsp + 0x70]
mov rax, rcx
mul rdx
mov r8, rax
mov r11, 0xffffffffffffffff
cmovo r8, r11
mov rdx, qword [rsp + 0x28]
sub rdx, r9
cmovb rdx, r10
mov rax, rcx
mul rdx
cmovo rax, r11
mov qword [rsi + 0xb0], r8
mov qword [rsi + 0xb8], rax
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rdi
pop rsi
ret
Function at 0x1400be9bf
Capabilities:
Get disk size

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, rcx
imul rbx, rdx, 0x90
xor r14d, r14d
lea rdi, [rsp + 0x28]
mov r15, rcx
cmp rbx, r14
je 0x1400bea24
cmp qword [r15 + 0x78], 0
je 0x1400bea14
and qword [rsp + 0x28], 0
mov rcx, qword [rsi + r14 + 0x48]
xor edx, edx
xor r8d, r8d
mov r9, rdi
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x1400bea14
mov rax, qword [rsp + 0x28]
mov qword [rsi + r14 + 0x80], rax
add r15, 0x90
add r14, 0x90
jmp 0x1400be9df
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400bf6fb
Capabilities:
Reference wmi statements

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
and qword [rsp + 0x38], 0
mov rsi, rdx
mov rdi, rcx
cmp qword [rdx + 0x10], 0
je 0x1400bf7bf
lea rcx, [0x14016a252]
call sub.oleaut32.dll_SysAllocString
mov rbx, rax
lea rcx, str.SELECT__FROM_MSAcpi_ThermalZoneTemperature
call sub.oleaut32.dll_SysAllocString
mov r14, rax
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x28], rdx
and qword [rsp + 0x20], 0
mov rdx, rbx
mov r8, r14
mov r9d, 0x30
call qword [rax + 0xa0]
mov ebp, eax
mov rcx, rbx
call fcn.140105ad8
mov rcx, r14
call fcn.140105ad8
test ebp, ebp
js 0x1400bf7bf
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
call fcn.1400bc879
mov qword [rsi + 0x20], 1
mov qword [rsi + 0x28], rbx
mov rax, qword [rsi + 0x30]
mov qword [rdi + 0x30], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rsi + 0x20]
mov qword [rdi + 0x20], rax
mov rax, qword [rsi + 0x28]
mov qword [rdi + 0x28], rax
jmp 0x1400bf7ce
mov qword [rdi], 2
mov rcx, rsi
call fcn.1400bc7fd
nop
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret

Function at 0x1400bfe6e
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x38
lea rax, [rsp + 0x34]
and dword [rax], 0
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov r9, rax
call sub.advapi32.dll_RegQueryValueExW
nop
add rsp, 0x38
ret

Function at 0x1400c7b6b
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx]
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x1400c7b6e
test al, 1
je 0x1400c7b89
test al, 2
jne 0x1400c7b89
xor rax, 3
ret
ud2

Function at 0x1400c80e5
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
cmp rcx, 0xffffffffffffffff
je 0x1400c8126
movzx eax, dl
lea r9, [rsp + 0x34]
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 0x1400c811b
xor eax, eax
jmp 0x1400c8120
call fcn.1400b791e
nop
add rsp, 0x38
ret
ud2
Function at 0x1400c812a
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r15, rdx
mov rbx, rcx
lea r13, [rsp + 0x3a]
lea rbp, [rsp + 0x4a]
mov r14, qword [rcx + 0x10]
mov r12, qword [rcx + 0x18]
mov rax, qword [r8 + 8]
mov rdi, qword [r8 + 0x10]
mov qword [rsp + 0x50], r8
mov rcx, qword [r8]
add rcx, rdi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rcx, rax
sub rcx, rdi
mov eax, 0x7fffffff
cmp rcx, rax
cmovae rcx, rax
mov qword [rsp + 0x60], rcx
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x28], r14
lea rcx, [rsp + 0x30]
mov rdx, r14
mov r8, r15
xor r9d, r9d
call fcn.1400c7f0c
mov al, byte [rsp + 0x39]
cmp al, 3
je 0x1400c82bc
mov rsi, qword [rsp + 0x30]
cmp al, 2
je 0x1400c82f4
mov cl, byte [rsp + 0x38]
movzx edx, word [r13 + 4]
mov word [rbp + 4], dx
mov edx, dword [r13]
mov dword [rbp], edx
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x48], cl
mov byte [rsp + 0x49], al
cmp qword [rsp + 0x70], rdi
jb 0x1400c830a
cmp r12, 0xffffffffffffffff
je 0x1400c830a
mov rcx, r12
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
jne 0x1400c82c3
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
je 0x1400c82c8
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call fcn.140041ad6
cmp al, 0xd
jne 0x1400c8296
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400c8296
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x1400c830a
mov r14, r12
mov r12, rbx
add rcx, 0x10
mov r8, qword [rax + 0x10]
mov r9b, byte [rax + 0x18]
call fcn.14005f8b5
mov rbx, rax
xor ecx, ecx
call fcn.14005eb7b
test rbx, rbx
je 0x1400c828b
mov ecx, 1
mov rdx, rsi
call fcn.14005f9be
mov rsi, rbx
mov rbx, r12
mov r12, r14
mov r14, qword [rsp + 0x28]
mov rcx, rsi
call fcn.1400c4189
cmp al, 0xd
jne 0x1400c82f4
mov rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.1400c7ea9
mov rcx, rsi
call fcn.1400626a5
jmp 0x1400c8194
mov eax, 1
jmp 0x1400c82f6
movsxd r8, eax
jmp 0x1400c82cb
xor r8d, r8d
lea rax, [rdi + r8]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 0x18]
cmp rax, rcx
jbe 0x1400c82e4
mov qword [rdx + 0x18], rax
mov rcx, rax
add rdi, r8
jb 0x1400c830a
cmp rcx, rax
jb 0x1400c830a
mov qword [rdx + 0x10], rax
xor esi, esi
xor eax, eax
mov rdx, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2