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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov rsi, rcx
mov r8, qword [rdx + 0x178]
mov rcx, qword [rdx + 0x168]
mov rdx, qword [rdx + 0x170]
lea r9, [0x1400dd2a8]
call fcn.140065437
xor ecx, ecx
test rax, rax
cmove edx, ecx
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rcx + 0x30], xmm0
mov dword [rcx], edx
mov dword [rcx + 4], 1
mov qword [rcx + 8], rax
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rcx, [rdi + 0x1f0]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.secur32.dll_DecryptMessage]
cmp eax, 0x80090318
je 0x140065c2b
test eax, eax
je 0x140065ba3
cmp eax, 0x90317
je 0x140065c25
cmp eax, 0x90321
jne 0x140065c49
mov dword [rdi + 0x1d0], 0x10000
xor ebx, ebx
mov byte [rdi + 0x1d4], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x178]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call fcn.140065a5c
and qword [rdi + 0x210], 0
mov byte [rsi + 1], bl
jmp 0x140065c57
mov r8, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x168]
mov rdx, qword [rdi + 0x170]
sub r8, rcx
mov r9d, dword [rsp + 0x30]
add r9, r8
lea rbx, [rdi + 0x140]
and qword [rdi + 0x150], 0
call fcn.140065823
lea r8, [rdx + rax]
mov rcx, rbx
mov rdx, rax
call fcn.1400a6e65
and qword [rdi + 0x158], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x178]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call fcn.140065a5c
xor eax, eax
cmp qword [rdi + 0x178], rbx
sete al
mov qword [rdi + 0x210], rax
mov byte [rsi + 1], 0
jmp 0x140065c57
mov byte [rsi + 1], 1
jmp 0x140065c45
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x210], rax
mov byte [rsi + 1], 0
xor ebx, ebx
jmp 0x140065c57
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
Function at 0x140065c61
Capabilities:
Receive data
Receive data on socket

Disassembly:
cmp dword [rcx], 2
jne 0x140065c73
add rcx, 8
jmp fcn.14009a37e
push r15
push r14
push r13
push r12
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.140065e07
mov rbx, rax
mov r14, rdx
lea r15, [rsp + 0x28]
mov rcx, rsi
call fcn.140065edb
test rdx, rdx
jne 0x140065d16
mov rcx, r15
mov rdx, rsi
call fcn.140064769
mov eax, dword [rsp + 0x28]
cmp eax, 2
je 0x140065daa
test eax, eax
je 0x140065d16
cmp qword [rsi + 0x110], 0
je 0x140065cf9
mov rcx, r15
mov rdx, rsi
call fcn.140065491
cmp qword [rsp + 0x28], 0
jne 0x140065daa
cmp qword [rsp + 0x30], 0
je 0x140065d16
and qword [rsi + 0x110], 0
mov rcx, r15
mov rdx, rsi
call fcn.140065694
cmp byte [rsp + 0x28], 0
jne 0x140065daa
cmp byte [rsp + 0x29], 0
je 0x140065c9f
mov rcx, rsi
call fcn.140065edb
mov r15, rdx
test rax, rax
je 0x140065daf
mov r13, rax
cmp r14, r15
mov r12, r15
cmovb r12, r14
lea r9, [0x1400dcaf8]
mov rcx, r12
mov rdx, rbx
mov r8, r14
call fcn.140065448
mov rbx, rax
mov r14, rdx
lea r9, [0x1400dcb10]
mov rcx, r13
mov rdx, r15
mov r8, r12
call fcn.140022eef
mov r9, rdx
lea rcx, [0x1400dcb28]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.140011eb3
mov rax, qword [rsi + 0x58]
add rax, r12
cmp rax, qword [rsi + 0x50]
ja 0x140065dee
mov qword [rsi + 0x58], rax
mov rcx, rdi
mov rdx, r12
call fcn.140065e74
and qword [rsi + 0x38], 0
xor r15d, r15d
jmp 0x140065dd9
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
mov rcx, r15
call fcn.1400152f8
and qword [rsi + 0x38], 0
cmp al, 0xd
jne 0x140065dd9
lea rcx, [rsp + 0x28]
call fcn.140024b22
mov eax, 1
xor r15d, r15d
jmp 0x140065ddb
xor eax, eax
mov rdx, r15
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1400dcc66]
lea r8, [0x1400dcca8]
mov edx, 0x3b
call fcn.1400a88e0
int3

Function at 0x140069142
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push rbp
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov r15, r8
mov rbx, rdx
mov qword [rsp + 0x58], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
je 0x14006918e
cmp eax, 3
jne case.default.0x14006918c
lea r12, [rbx + 0x1f0]
movzx eax, byte [rbx + 0x280]
lea rcx, [0x140110604]
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
adc byte [r8 - 0x77], cl
sbb byte [r8 - 0x7d], cl
invalid
and byte [rax], al
mov qword [rbx + 0x40], rax
xor edi, edi
jmp 0x1400691c2
lea rcx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainC:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_util_0.7.10_srcutilpoll_buf.rs
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientconnecthttp.rs
Function at 0x14007adfd
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 rdi, rdx
mov rsi, rcx
lea r15, [rsp + 0x58]
mov r8d, 0xb
mov rcx, r15
mov rdx, rax
call fcn.14007af40
lea r12, [rsp + 0x38]
mov dword [r12], 0x800
lea rbx, [rsp + 0x3c]
and dword [rbx], 0
mov ecx, 0x800
call fcn.140031010
lea r14, [rsp + 0x40]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
mov r15, qword [r15 + 8]
mov r13, qword [sym.imp.advapi32.dll_RegQueryValueExW]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdx
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9, rbx
call r13
cmp eax, 0xea
jne 0x14007ae99
mov edx, dword [rsp + 0x38]
mov rcx, r14
call fcn.1400a013c
mov rdx, qword [rsp + 0x48]
jmp 0x14007ae66
test eax, eax
jne 0x14007aebb
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb
jbe 0x14007aee5
movabs rax, 0xde00000002
jmp 0x14007aec3
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.140031079
jmp 0x14007aef9
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 rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.140062485
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14007f8a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae fcn.14000a620
cmp rax, rcx
je 0x14007f8c5
cmp rdx, 4
jae 0x14007f8c8
xor eax, eax
xor r8d, r8d
jmp 0x14007f960
xor eax, eax
ret
mov r8d, edx
and r8d, 0x1c
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1400ad660]
movdqa xmm3, xmmword [0x1400ad670]
pxor xmm1, xmm1
nop dword [rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x14007f8f0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x14007f977
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x14007f960
ret
Function at 0x1400833bc
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x68], 4
mov dword [rsp + 0xb0], 0x400010
movabs rax, 0x8000000000000000
cmp qword [rcx + 0x18], rax
je 0x14008342a
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x90], edx
mov rdx, qword [rcx + 0x20]
mov qword [rsp + 0x98], rdx
cmp qword [rcx + 0x30], rax
je 0x140083465
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x14008345c
mov r8, qword [rcx + 0x38]
xor edx, edx
lea r9, [0x14010f430]
xor r10d, r10d
movzx r11d, byte [r8 + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp rax, r10
jne 0x140083449
jmp 0x14008345e
xor edx, edx
mov dword [rsp + 0xa0], edx
mov r15, qword [rcx + 0x10]
lea rsi, [r15*8]
test r15, r15
je 0x1400834b7
mov rax, r15
shr rax, 0x3c
jne 0x140083579
mov rbx, qword [rcx + 8]
mov ecx, 8
mov rdx, rsi
call fcn.140094924
test rax, rax
je 0x14008357e
mov rdi, rax
xor eax, eax
mov rcx, qword [rbx + rax*8]
mov qword [rdi + rax*8], rcx
inc rax
cmp r15, rax
jne 0x1400834a2
mov eax, r15d
jmp 0x1400834be
xor eax, eax
mov edi, 8
lea rcx, [rsp + 0x68]
mov dword [rcx + 4], eax
mov qword [rcx + 8], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
ror byte [rdi], 0x11
and al, 0x28
mov qword [rsp + 0x20], rcx
and qword [rsp + 0x40], 0
lea rdx, [0x1400e2343]
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.secur32.dll_AcquireCredentialsHandleA]
test eax, eax
je 0x140083515
mov ebx, eax
shl rbx, 0x20
or rbx, 2
add al, byte [rcx - 0x42]
add dword [rax], eax
add byte [rax], al
jmp 0x14008354d
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov ecx, 8
mov edx, 0x20
call fcn.140094924
test rax, rax
je 0x14008358b
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov dword [rbx], eax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r12
xor r14d, r14d
test r15, r15
je 0x140083562
invalid
mov edx, 8
mov rcx, rdi
mov r8, rsi
call fcn.14000228a
mov rax, r14
mov rdx, rbx
add rsp, 0xb8
add esp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.140007810
mov ecx, 8
mov rdx, rsi
call fcn.1400a8580
mov ecx, 8
mov edx, 0x20
call fcn.1400a8580
out 0x4f, al
add al, byte [rax]
int3

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

Disassembly:
sub rsp, 0x28
lea r8, [rsp + 0x20]
lea eax, [rsp + 0x20]
and al, 0x20
and qword [r8], 0
mov edx, 0x53
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
mov edx, eax
xor eax, eax
test edx, edx
ror byte [rdi], cl
xchg ebp, eax
invalid
jne case.0x1400602a8.361
invalid
mov rdx, qword [rsp + 0x20]
jmp 0x140083c2a
shl rdx, 0x20
or rdx, 2
mov al, cl
add rsp, 0x28
ret
Function at 0x140085aee
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140085b1b
xor eax, eax
jmp 0x140085b20
call fcn.140031991
nop
add rsp, 0x38
ret
Function at 0x14008b3a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
in al, dx
and byte [rdi + rcx - 0x4a], al
cmp byte [rdi], cl
mov dh, 0x42
invalid
test al, al

Function at 0x14008c3d0
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push rsi
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 - 0x60]
call fcn.1400881d0
mov rax, qword [rbp - 0x60]
movabs rdi, 0x8000000000000000
cmp rax, rdi
jne 0x14008c426
lea rcx, [rbp - 0x58]
call fcn.140087450
mov al, 0xff
dec dword [rax - 0x77]
notrack jmp 0x14008c668
mov qword [rbp + 0x3f8], rsi
mov qword [rbp + 0x3f0], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x400], rax
mov dword [rbp + 0x400], eax
mov qword [rbp + 0x408], 0
mov qword [rbp + 0x410], 2
mov qword [rbp + 0x418], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor edi, edi
xor ebx, ebx
xor r14d, r14d
cmp r8, 0x201
jae 0x14008c4b0
jmp 0x14008c49f
jae 0x14008c576
cmp r8, 0x201
jae 0x14008c4b0
mov r15d, 0x200
lea r12, [rbp - 0x60]
mov r13, r8
jmp 0x14008c508
sub r8, r14
sub rbx, r14
cmp rbx, r8
cmp ebx, eax
jae case.0x140041e73.1041
lea rcx, [rbp + 0x408]
mov rdx, r14
call fcn.1400ab010
jmp 0x14008c4ca
add byte [rax - 0x75], cl
mov ebp, 0x408
mov rax, qword [rbp + 0x410]
test dword [rax], edx
add al, 0
add byte [rax - 0x77], cl
test eax, ebp
add eax, dword [rax]
invalid
mov eax, 0xffffffff
cmp rdi, rax
mov r14d, 0xffffffff
invalid
dec dword [rdi + rcx + 0x42]
test dword [rcx + rcx*4 - 0x4b], 0x418
mov rbx, rdi
mov r15, r14
mov r12, qword [rbp + 0x3e8]
mov r13, r14
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, qword [rbp + 0x400]
mov rdx, r12
mov edx, esp
mov r8d, r13d
call qword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov esi, eax
test eax, eax
jne 0x14008c537
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14008c5f6
mov r8d, esi
cmp r13, r8
jne 0x14008c490
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14008c67d
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jb 0x14008c49f
jmp 0x14008c4b0
cmp r15, r8
jb 0x14008c697
sbb byte [rcx], al
add byte [rax], al
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x3c8], rax
enter 3, 0
movabs rsi, 0x8000000000000000
mov qword [rbp + 0x3c0], rsi
add byte [rax - 0x7d], cl
mov ebp, 0x408
add al, 0
add byte [rax], al
je 0x14008c637
mov rcx, qword [rbp + 0x410]
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.1400a88e0
jmp 0x14008c6ac
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r15
cli
mov r8, rax
call fcn.1400a88d0
invalid
ud2
Function at 0x140090400
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 [0x1401172e0]
mov edx, 0x10
xor ecx, ecx
call fcn.140090a70
test rax, rax
je 0x1400904d4
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x140090570]
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 0x1400904c6
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 0x1400904a3
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.140007740
mov edx, 8
mov rcx, qword [rbp - 0x18]
call fcn.140007740
call qword [sym.imp.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 - 0x18], r14
mov qword [rbp - 0x10], rdi
mov ecx, 8
mov edx, 0x10
call fcn.1400a8580
ud2

Function at 0x1400906a0
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, 0x10
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x1400906e3
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.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.14008cf80]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
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_syspalwindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.1400a8800
ud2

Function at 0x140093910
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
sub dword [rsp + 0x20], eax
and al, 0x20
and al, 0x20
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov eax, 0x10
add byte [rax], al
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x140093945
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x14009394a
call fcn.1400906a0
nop
add rsp, 0x38
add esp, 0x38
invalid
ret

Function at 0x1400998d3
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 0x1400998da
test al, 1
je 0x1400998f9
test al, 2
jne 0x140099911
xor rax, 3
add rsp, 0x28
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1400e95a8]
mov edx, 0x23
call fcn.1400a88e0
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1400e95e8]
mov edx, 0x25
call fcn.1400a88e0
int3
Function at 0x14009a32e
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x30
mov ebx, edx
call fcn.14009918c
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 qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14009a36a
xor eax, eax
jmp 0x14009a378
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
add rsp, 0x30
pop rbx
ret
Function at 0x14009a5df
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, 0x68
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [rsp + 0xd0]
lea r15, [rsp + 0x3a]
lea r13, [rsp + 0x52]
mov rbp, qword [rdx + 0x10]
mov r12, qword [rdx + 0x18]
mov ecx, 0x7fffffff
cmp rax, rcx
cmovb rcx, rax
mov qword [rsp + 0x60], rcx
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x58], rax
lea rsi, [rsp + 0x30]
mov qword [rsp + 0x40], rbp
Function at 0x1400a7950
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
test rax, rax
je 0x1400a799a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400a799a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400a799a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400a799a
cmp dword [rcx + 0x84], 0xe
jbe 0x1400a799a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400a799c
xor al, al
add rsp, 0x28
ret
Function at 0x140001290
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov rsi, rcx
lea rdi, [rsp + 0x40]
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
mov r8d, 0x208
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x38], rdi
mov rdx, qword [rsp + 0x38]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [rsp + 0x34], eax
mov eax, 0x85e16c6e
mov ebp, 0xa7ed0f3b
movaps xmm6, xmmword [0x14010fe10]
lea rdi, [0x1401107c2]
nop dword [rax + rax]
cmp eax, 0x10a23e29
jle 0x140001320
cmp eax, 0x10a23e2a
je 0x140001349
cmp eax, 0x7ff72703
jne 0x140001300
jmp 0x14000138d
cmp eax, 0x85e16c6e
je 0x14000137b
cmp eax, 0xa7ed0f3b
jne 0x140001300
mov qword [rsi], 0
movups xmmword [rsi + 0x10], xmm6
mov word [rsi], 0
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
jmp 0x14000136f
mov rbx, qword [rsp + 0x38]
mov qword [rsi], 0
movups xmmword [rsi + 0x10], xmm6
mov word [rsi], 0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.1400035f0
mov eax, 0x7ff72703
jmp 0x140001300
cmp dword [rsp + 0x34], 0
mov eax, 0x10a23e2a
cmove eax, ebp
jmp 0x140001300
mov rax, qword [rsp + 0x28]
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
ret
Function at 0x140005d80
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbx, r8
mov r15, rdx
mov r14, rcx
mov rax, qword [rcx + 0x68]
mov qword [rsp + 0x48], rax
mov eax, 0x285cd67a
jmp 0x140005dc0
mov rdi, rbx
sub rdi, rbp
mov eax, 0xdbc354d2
nop word cs:[rax + rax]
nop
cmp eax, 0xd0ed30f7
jle 0x140005e00
cmp eax, 0x285cd679
jle 0x140005e30
cmp eax, 0x73dee035
je 0x140005eaa
cmp eax, 0x3d99bb2b
je 0x140005ed6
cmp eax, 0x285cd67a
jne 0x140005dc0
cmp qword [rsp + 0x48], 0
mov eax, 0xa5dcc9ae
mov ecx, 0x869e3820
cmove eax, ecx
jmp 0x140005dc0
cmp eax, 0x9c25242e
jle 0x140005e70
cmp eax, 0x9c25242f
je 0x140005efd
cmp eax, 0xa5dcc9ae
je 0x140005f1c
cmp eax, 0xb3d46932
jne 0x140005dc0
mov eax, 0x84ae6acb
mov rsi, rbx
jmp 0x140005dc0
cmp eax, 0xd0ed30f8
je 0x140005da9
cmp eax, 0xefe6efe6
jne 0x140005fa8
mov rax, qword [r14 + 0x80]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
mov eax, 0x73dee035
mov ecx, 0xd0ed30f8
cmove eax, ecx
mov rbp, qword [rsp + 0x28]
jmp 0x140005dc0
cmp eax, 0x84ae6acb
je 0x140005f38
cmp eax, 0x869e3820
jne 0x140005dc0
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x40]
cmp qword [rcx], 0
je 0x140005f78
mov rax, qword [rax + 0x58]
movsxd rax, dword [rax]
jmp 0x140005f7a
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rbp, qword [rsp + 0x28]
sub rbp, rax
mov eax, 0xd0ed30f8
jmp 0x140005dc0
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x50], r13
cmp qword [rsp + 0x28], 0
mov eax, 0xd0ed30f8
mov ecx, 0xefe6efe6
cmovg eax, ecx
mov rbp, qword [rsp + 0x28]
jmp 0x140005dc0
mov rax, qword [rsp + 0x38]
cmp rax, rbx
mov eax, 0x84ae6acb
mov ecx, 0xb3d46932
cmovg eax, ecx
mov rsi, qword [rsp + 0x38]
jmp 0x140005dc0
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rdi, rax
mov eax, 0xdbc354d2
jmp 0x140005dc0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x40]
mov rcx, qword [rax]
mov rdx, r15
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x58]
sub dword [rcx], esi
lea r13, [r15 + rsi]
mov r12, rbx
sub r12, rsi
mov rax, qword [rax + 0x40]
movsxd rcx, esi
add qword [rax], rcx
mov eax, 0x3d99bb2b
jmp 0x140005dc0
xor eax, eax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
mov eax, 0x3d99bb2b
mov ecx, 0x9c25242f
cmovg eax, ecx
test rbx, rbx
mov ecx, 0x3d99bb2b
cmovle eax, ecx
mov r12, rbx
mov r13, r15
jmp 0x140005dc0
cmp eax, 0xdbc354d2
jne 0x140005dc0
mov rax, rdi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140007490
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rdx
mov rdx, rcx
mov rcx, rax
jmp 0x140011b30
mov rax, qword gs:[0x30]
mov r10, rcx
mov r8, qword [rax + 0x60]
mov r9, qword [r8 + 0x18]
add r9, 0x20
mov rax, qword [r9]
nop dword [rax + rax]
cmp qword [rax + 0x20], rdx
je 0x140011b6d
test rdx, rdx
je 0x140011b6d
mov rax, qword [rax]
cmp rax, r9
jne 0x140011b50
mov qword [rcx], 0
xor eax, eax
ret
mov rcx, qword [rax + 0x40]
mov qword [r10], rcx
movzx eax, word [rax + 0x38]
shr eax, 1
ret