joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002ea50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rcx
mov r11, qword [rdx + 0x20]
mov r10, qword [rdx + 0x28]
lea rcx, [r10 + 1]
mov qword [rdx + 0x28], rcx
mov al, 1
cmp rcx, r11
jae 0x14002ea92
mov rax, qword [rdx + 0x18]
movzx edi, byte [rax + rcx]
mov al, 1
cmp edi, 0x2b
je 0x14002ea87
cmp edi, 0x2d
jne 0x14002ea92
xor eax, eax
add r10, 2
mov qword [rdx + 0x28], r10
mov rcx, r10
cmp rcx, r11
jae 0x14002ec3a
mov rdi, qword [rdx + 0x18]
movzx r10d, byte [rdi + rcx]
lea rbx, [rcx + 1]
mov qword [rdx + 0x28], rbx
add r10b, 0xd0
cmp r10b, 0xa
jae 0x14002ec45
movzx r10d, r10b
cmp rbx, r11
jae 0x14002eb40
mov ebx, 1
sub rbx, r11
add rcx, 2
jmp 0x14002eafc
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 0x14002eb40
movzx r11d, byte [rdi + rcx - 1]
add r11b, 0xd0
cmp r11b, 0xa
jae 0x14002eb40
mov qword [rdx + 0x28], rcx
cmp r10d, 0xccccccb
jle 0x14002eae0
cmp r10d, 0xccccccc
jne 0x14002eb28
cmp r11b, 7
jbe 0x14002eae0
test r9, r9
sete r9b
mov byte [rsp + 0x20], al
mov rcx, rsi
call fcn.1401b4ff0
jmp 0x14002ec27
mov ecx, dword [rsp + 0x80]
test al, al
je 0x14002eb5c
lea eax, [rcx + r10]
sar eax, 0x1f
add eax, 0x80000000
add ecx, r10d
jmp 0x14002eb6c
xor eax, eax
cmp ecx, r10d
setns al
add eax, 0x7fffffff
sub ecx, r10d
cmovo ecx, eax
movq xmm1, r9
punpckldq xmm1, xmmword [0x1401bee60]
subpd xmm1, xmmword [0x1401bee70]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 0x135
jb 0x14002ebd8
xorpd xmm1, xmm1
movsd xmm2, qword [0x1401bee80]
nop word [rax + rax]
ucomisd xmm0, xmm1
jne 0x14002ebb8
jnp 0x14002ec10
test ecx, ecx
jns 0x14002ec6b
divsd xmm0, xmm2
add ecx, 0x134
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 0x134
ja 0x14002ebb0
mov eax, eax
mov r9, qword [0x14020e058]
movsd xmm1, qword [r9 + rax*8]
test ecx, ecx
js 0x14002ec2f
mulsd xmm0, xmm1
movq rax, xmm0
movabs rcx, 0x7fffffffffffffff
and rcx, rax
movabs rax, 0x7ff0000000000000
cmp rcx, rax
je 0x14002ec6b
test r8b, r8b
jne 0x14002ec1d
xorpd xmm0, xmmword [0x1401bee90]
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 0x14002ec15
jmp 0x14002ec1d
mov qword [rsp + 0x28], 5
jmp 0x14002ec4e
mov qword [rsp + 0x28], 0xd
lea rax, [rsp + 0x28]
mov rcx, rdx
mov rdx, rax
call fcn.1401b5090
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14002ec27
mov qword [rsp + 0x28], 0xe
lea rax, [rsp + 0x28]
mov rcx, rdx
mov rdx, rax
call fcn.1401b5090
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x14002ec24
Function at 0x14002ec90
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
aesimc xmm11, xmmword [rdx + 0xc0]
aesimc xmm12, xmmword [rdx + 0xd0]
movaps xmm13, xmmword [rdx]
movaps xmm14, xmmword [rdx + 0xe0]
movaps xmmword [rcx], xmm13
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movdqa xmmword [rcx + 0xc0], xmm11
movdqa xmmword [rcx + 0xd0], xmm12
movaps xmmword [rcx + 0xe0], xmm14
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
add rsp, 0x98
ret
Function at 0x14004f2b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov qword [rbp + 0x18], rcx
mov rax, qword [rcx]
nop
mov rdx, rax
xor rdx, 3
lock cmpxchg qword [rcx], rdx
jne 0x14004f2d0
test al, 1
je 0x14004f399
test al, 2
jne 0x14004f3b1
xor rax, 3
mov qword [rbp], rax
mov rcx, rbp
lea rdx, [rbp + 0x18]
call fcn.1400349e0
test rax, rax
je 0x14004f32e
mov qword [rbp + 0x10], rax
mov rcx, rax
mov qword [rbp + 0x20], rdx
call qword [rdx]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + 8]
test rdx, rdx
mov rcx, qword [rbp + 0x10]
je 0x14004f32e
mov r8, qword [rax + 0x10]
call fcn.140031dc0
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], 1
mov rax, 0xffffffffffffffc0
lock xadd qword [rcx], rax
shr rax, 6
cmp rax, qword [rbp + 8]
jb 0x14004f3c9
jne 0x14004f38f
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x20], rax
lea rcx, [rax + 0x28]
call fcn.14003b5f0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14004f37b
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx + 0x60]
call qword [rax + 0x18]
mov edx, 0x80
mov r8d, 0x80
mov rcx, qword [rbp + 0x20]
call fcn.140031dc0
nop
add rsp, 0xb0
pop rbp
ret
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x1401bfbf8]
mov edx, 0x23
call fcn.1401b8b50
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x1401bfc38]
mov edx, 0x25
call fcn.1401b8b50
mov qword [rbp - 8], rax
lea rax, [rbp - 8]
mov qword [rbp - 0x28], rax
lea rax, [fcn.14007e960]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 8]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
lea rax, str.current:___sub:_P
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 2
mov qword [rbp - 0x38], 0
lea rax, [rbp - 0x28]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 2
lea rdx, [0x1401bfc80]
lea rcx, [rbp - 0x58]
call fcn.1401b8a80
int3

Function at 0x140050220
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [rsp + 0x40]
add rsp, 0x58
ret
Function at 0x14005bd70
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aeskeygenassist xmm0, xmmword [rdx], 2
movdqa xmmword [rcx], xmm0
ret

Function at 0x14005c7f0
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x14005c862
mov rsi, rdx
mov rdi, rcx
mov r14d, 0xffffffff
mov r15, qword [sym.imp.bcrypt.dll_BCryptGenRandom]
mov r12, qword [sym.imp.advapi32.dll_SystemFunction036]
jmp 0x14005c828
add rdi, rbx
sub rsi, rbx
je 0x14005c862
cmp rsi, r14
mov ebx, 0xffffffff
cmovb rbx, rsi
xor ecx, ecx
mov rdx, rdi
mov r8d, ebx
mov r9d, 2
call r15
cmp eax, 0xbfffffff
jbe 0x14005c820
mov ebp, eax
mov rcx, rdi
mov edx, ebx
call r12
test al, al
jne 0x14005c820
add ebp, 0x80000000
jmp 0x14005c864
xor ebp, ebp
mov eax, ebp
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140061530
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 r12d, r12d
cmp r8, 0x201
jae 0x1400615d0
jmp 0x1400615bf
jae 0x140061690
cmp r8, 0x201
jae 0x1400615d0
mov esi, 0x200
lea r13, [rbp - 0x58]
mov r15, r8
jmp 0x140061628
sub r8, r12
sub rdi, r12
cmp rdi, r8
jae 0x1400615ff
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.1401b80f0
mov rbx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp rbx, rax
mov r12d, 0xffffffff
cmovb r12, rbx
mov qword [rbp + 0x3d8], r12
mov rdi, rbx
mov rsi, r12
mov r13, qword [rbp + 0x3e8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov ecx, r15d
mov rdx, r13
call qword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
mov r14d, eax
test eax, eax
jne 0x140061651
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x1400616f8
mov r8d, r14d
cmp r15, r8
jne 0x1400615b0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140061725
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x1400615bf
jmp 0x1400615d0
cmp rsi, r8
jb 0x14006173f
lea rcx, [rbp + 0x3a8]
mov rdx, r13
call fcn.140064d70
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 0x1400616e1
add rbx, rbx
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rbx
call fcn.140031dc0
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 + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
test rbx, rbx
jne 0x1400616c9
jmp 0x1400616e1
lea rcx, str.internal_error:_entered_unreachable_code_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syspalwindowsmod.rs
mov edx, 0x28
call fcn.1401b8b50
jmp 0x140061754
lea rax, str.library_std_src_syspalwindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.1401b9040
ud2
Function at 0x14006bd00
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.14006ee60
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
movabs rbx, 0x8000000000000000
cmp rax, rbx
je 0x14006bdbf
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call fcn.14006d570
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
je 0x14006bdbf
mov rcx, rsi
call qword [sym.imp.kernel32.dll_DeleteFileW]
test eax, eax
je 0x14006bd93
test rdi, rdi
je 0x14006bd8f
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call fcn.140031dc0
xor esi, esi
jmp 0x14006bdbf
call qword [sym.imp.kernel32.dll_GetLastError]
mov ebx, eax
shl rbx, 0x20
or rbx, 2
test rdi, rdi
je 0x14006bdbc
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call fcn.140031dc0
mov rsi, rbx
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret

Function at 0x14006c430
Capabilities:
Copy file

Disassembly:
push rbp
push r15
push rdi
push r14
push rsi
push rdi
push rbx
sub rsp, 0x98
sub esp, 0x98

Function at 0x14006c9d0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rsp + 0xe0]
movups xmm0, xmmword [0x1401de998]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
test rcx, rcx
je 0x14006ca14
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rdx
test rcx, rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x80]
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, 0x103
jne 0x14006ca73
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x14006ca82
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x14006caba
cmp eax, 0x103
je 0x14006cac4
test eax, eax
js 0x14006ca9f
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x14006caba
mov ecx, eax
call qword [sym.imp.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
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x1401dea00]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1400649a0
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.14005f640
mov ecx, 7
int 0x29
ud2
Function at 0x14006cb30
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rsp + 0xe0]
movups xmm0, xmmword [0x1401de998]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
test rcx, rcx
je 0x14006cb74
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rdx
test rcx, rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x80]
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x14006cbda
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x14006cc11
test eax, eax
js 0x14006cbeb
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x14006cc04
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x1401dea00]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1400649a0
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.14005f640
mov ecx, 7
int 0x29
ud2

Function at 0x14006dd30
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x14006dd68
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.14006dd80
nop
add rsp, 0x38
ret

Function at 0x14006dd80
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 0x14006ddc3
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, [0x140062a80]
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.1401b8a80
ud2
Function at 0x14006e450
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 [0x140213501]
mov ecx, 0x10
mov edx, 8
call fcn.140031db0
test rax, rax
je 0x14006e52f
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x14006e5e0]
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 0x14006e521
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]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14006e4f8
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.140031dc0
mov edx, 0x10
mov r8d, 8
mov rcx, qword [rbp - 0x18]
call fcn.140031dc0
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
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], rdi
jge 0x14006e527
Function at 0x14007d910
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x14007d98a
mov rax, rdx
mov rdx, qword [rsp + 0x70]
mov esi, ecx
shr esi, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov rbx, rax
movzx edi, byte [rax + 1]
add rax, 2
lea r10, [r11 + rdi]
cmp byte [rbx], sil
jne 0x14007d980
cmp r11, r10
ja 0x14007da15
cmp r10, rdx
ja 0x14007da27
add r11, r9
xor ebx, ebx
nop dword [rax]
cmp rdi, rbx
je 0x14007d982
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x14007d960
jmp 0x14007d9f7
ja 0x14007d98a
mov r11, r10
cmp rax, r8
jne 0x14007d932
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14007d9fb
mov r8, qword [rsp + 0x78]
add rdx, r8
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r10, [r8 + 1]
movzx r9d, byte [r8]
test r9b, r9b
js 0x14007d9d0
mov r8, r10
sub ecx, r9d
jns 0x14007d9ee
jmp 0x14007d9fd
cmp r10, rdx
je 0x14007da09
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14007d9fd
xor al, 1
cmp r8, rdx
jne 0x14007d9b0
jmp 0x14007d9fd
xor eax, eax
jmp 0x14007d9fd
mov al, 1
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.1401b89f0
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.1401b90c0
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.1401b9040
int3
Function at 0x1400a6be0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov ebx, ecx
call fcn.140195a20
test eax, eax
jne 0x1400a6d82
mov qword [rsp + 0x30], rbp
xor ebp, ebp
cmp byte [0x14020e0b4], bpl
mov qword [rsp + 0x38], rsi
jne 0x1400a6c15
mov esi, ebp
jmp 0x1400a6c31
mov ecx, 5
call qword [0x14020e120]
mov rsi, rax
test rax, rax
je 0x1400a6c31
mov rcx, rax
call qword [0x14020e130]
test ebx, ebx
jle 0x1400a6d64
test rdi, rdi
je 0x1400a6d64
cmp dword [0x1402136f0], ebp
jne 0x1400a6ce8
xor ecx, ecx
call fcn.140083e40
movups xmm0, xmmword [str.expand_32_byte_k]
movaps xmmword [0x1402136f0], xmm0
test rax, rax
jne 0x1400a6c88
xorps xmm0, xmm0
mov qword [0x140213720], rax
movups xmmword [0x140213700], xmm0
mov dword [0x140213728], eax
movups xmmword [0x140213710], xmm0
jmp 0x1400a6ccc
mov ecx, dword [0x14020e260]
test ecx, ecx
je 0x1400a6cba
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x140213700], xmm0
mov dword [0x140213700], ecx
movups xmmword [0x140213710], xmm0
mov qword [0x140213720], rax
mov dword [0x140213728], eax
jmp 0x1400a6ccc
lea r8, [0x140213700]
mov edx, 0x2c
mov rcx, rax
call qword [rax + 0x68]
mov eax, dword [0x140213720]
xor cl, cl
mov byte [0x140213770], cl
mov dword [0x14021372c], eax
mov dword [0x140213720], ebp
jmp 0x1400a6cef
movzx ecx, byte [0x140213770]
movzx eax, cl
lea rbp, [0x140213730]
cmp ebx, eax
jle 0x1400a6d41
nop dword [rax]
test cl, cl
je 0x1400a6d1f
movzx r8d, cl
mov rdx, rbp
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movzx ecx, byte [0x140213770]
sub ebx, ecx
add rdi, rcx
inc dword [0x140213720]
lea rdx, [0x1402136f0]
mov rcx, rbp
call fcn.1400b57e0
mov cl, 0x40
mov byte [0x140213770], cl
cmp ebx, 0x40
jg 0x1400a6d00
movzx eax, cl
mov rcx, rdi
sub eax, ebx
movsxd r8, ebx
movsxd rdx, eax
add rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
sub byte [0x140213770], bl
test rsi, rsi
jne 0x1400a6d6f
jmp 0x1400a6d78
mov dword [0x1402136f0], ebp
test rsi, rsi
je 0x1400a6d78
mov rcx, rsi
call qword [0x14020e140]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400b06d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rsi, qword [rcx + 0xa0]
mov rbx, rcx
mov rax, qword [rcx]
mov rdi, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
test rsi, rsi
je 0x1400b08e7
mov qword [rsp + 0x70], r12
xor r9d, r9d
mov qword [rsp + 0x78], r13
lea r12, [rdi + 0x88]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x68], rbp
nop word [rax + rax]
movsxd r14, dword [rsi + 0x10]
mov r15d, dword [rsi + 0x14]
shl r14, 5
add r14, qword [rax + 0x20]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400b0740
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x1400b0756
dec al
lea r12, [rdi + 0x88]
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe4]
movsxd rcx, dword [rdi + 0x90]
lea r8d, [r15 + 2]
lea edx, [rcx + 7]
cmp dword [rdi + 0x94], ecx
jg 0x1400b0783
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x37
mov rcx, rdi
call fcn.140108480
jmp 0x1400b07ae
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
mov dword [rax + rcx*8], 0x37
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r9
mov r9, qword [r14 + 0x18]
xor edx, edx
mov r8d, dword [rsi + 0x10]
mov rcx, rbx
mov dword [rsp + 0x20], 0x71
mov r9, qword [r9 + 0x68]
call fcn.1401617e0
mov eax, dword [rdi + 0x90]
add eax, 5
cmp eax, dword [rdi + 0x94]
jle 0x1400b07f2
mov edx, 5
mov rcx, rdi
call fcn.1401084f0
test eax, eax
jne 0x1400b08ce
movsxd rax, dword [rdi + 0x90]
xor r9d, r9d
lea rcx, [rax + rax*2]
mov rax, qword [r12]
mov dword [rax + rcx*8 + 8], 2
mov byte [rax + rcx*8], 0x33
mov dword [rax + rcx*8 + 4], r9d
lea rax, [rax + rcx*8]
mov ecx, dword [rdi + 0x90]
mov dword [rax + 0xc], r9d
add ecx, 2
mov dword [rax + 8], ecx
mov byte [rax + 1], r9b
mov qword [rax + 0x10], r9
mov word [rax + 2], r9w
mov qword [rax + 0x18], 0x7f
mov qword [rax + 0x20], r9
mov qword [rax + 0x28], r9
mov qword [rax + 0x30], 0x61
mov qword [rax + 0x38], 2
mov qword [rax + 0x40], r9
mov qword [rax + 0x48], 0x80
mov qword [rax + 0x50], r9
mov qword [rax + 0x58], r9
mov qword [rax + 0x60], 0x7a
mov qword [rax + 0x68], r9
mov qword [rax + 0x70], r9
add dword [rdi + 0x90], 5
test rax, rax
je 0x1400b08ce
mov dword [rax + 0x3c], ebp
lea edx, [r15 + 1]
mov dword [rax + 4], edx
lea ecx, [r15 - 1]
mov dword [rax + 0x20], edx
mov dword [rax + 0x34], ecx
mov dword [rax + 0x54], edx
mov dword [rax + 0x50], ebp
mov word [rax + 0x4a], 8
test ebp, ebp
je 0x1400b08bc
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1400b08bc
mov dword [rbx + rax*4 + 0xe4], ebp
inc byte [rbx + 0x1f]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400b08ce
mov rax, qword [rsp + 0x60]
jmp 0x1400b0720
mov rbp, qword [rsp + 0x68]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret