joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400160e0
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x140016190
test rcx, rcx
je 0x140016190
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x140016190
xor ebp, ebp
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rbp
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x30], ebp
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x14001617b
mov eax, dword [rsp + 0x30]
cmp rax, rdi
jb 0x140016190
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x34]
mov r8d, edi
mov dword [rsp + 0x34], ebp
mov rdx, rsi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x140016171
jmp 0x140016192
mov rcx, rbx
call fcn.140015f60
jmp 0x140016190
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], bpl
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140075340
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400161b0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, r8
test r8, r8
jne 0x1400161e2
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140075340
add rsp, 0x40
pop rbx
ret
test rcx, rcx
je 0x140016217
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x140016217
test rdx, rdx
je 0x140016217
xor eax, eax
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x140016217
cmp dword [rsp + 0x30], ebx
je 0x1400161cd
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140075340
add rsp, 0x40
pop rbx
ret
Function at 0x140016700
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0xae0
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0xad0], rax
mov rbx, rdx
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
lea rax, [rsp + 0x80]
mov r8, rcx
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400167b3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_opening_Steam_key_n
jmp 0x140016879
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rdx, str.SteamExe
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x38], 0x208
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140016867
mov ecx, dword [rsp + 0x38]
cmp ecx, 1
jb 0x140016867
shr ecx, 1
je 0x140016825
lea rax, [rsp + 0xc0]
cmp word [rax], 0x2f
jne 0x14001681b
mov word [rax], 0x5c
add rax, 2
sub rcx, 1
jne 0x140016810
lea rax, [rsp + 0x40]
mov edx, 0x800
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r8, str.__s__steam:__rungameid__s
lea rcx, [rsp + 0x2d0]
call fcn.140016590
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x80]
call fcn.140016230
jmp 0x140016881
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_reading_SteamExe_key_n
mov rcx, rax
call fcn.1400168a0
mov rcx, qword [rsp + 0xad0]
xor rcx, rsp
call fcn.140075340
add rsp, 0xae0
pop rbx
ret
Function at 0x140016aa0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov edx, dword [rcx]
mov r9d, 0x138
mov r10, rcx
xorps xmm1, xmm1
cmp edx, r9d
jne 0x140016b0a
lea r8, [rcx + 0x10]
movabs r11, 0xb5026f5aa96619e9
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
lea r8, [r8 + 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8 - 8]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x140016ac5
mov edx, dword [r10]
jmp 0x140016c15
cmp edx, 0x270
jb 0x140016c15
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [rcx + 0x9c8]
mov qword [rsp], rdi
mov r9, qword [rbx]
mov edi, 0x9c
nop dword [rax + rax]
mov r8, qword [rbx + 8]
lea rbx, [rbx + 8]
xor r9, r8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rbx + 0x4d8]
xor rcx, r9
mov r9, r8
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x140016b40
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov r9, qword [rbx]
nop
mov r8, qword [rbx + 8]
lea rbx, [rbx + 8]
xor r9, r8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rbx - 0xea8]
xor rcx, r9
mov r9, r8
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x140016b90
mov rdx, qword [r10 + 8]
xor rdx, qword [r10 + 0x1380]
mov rdi, qword [rsp]
and rdx, 0xffffffff80000000
xor rdx, qword [r10 + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
xor edx, edx
mov qword [r10 + 0x9c0], rcx
mov dword [r10], edx
mov eax, edx
xorps xmm0, xmm0
mov rcx, qword [r10 + rax*8 + 8]
lea eax, [rdx + 1]
mov dword [r10], eax
movabs rdx, 0x38eb3ffff6d3
mov rax, rcx
shr rax, 0x1d
and rax, qword [r10 + 0x1388]
xor rcx, rax
mov rax, rcx
and rax, rdx
shl rax, 0x11
xor rcx, rax
mov rax, rcx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
mov rdx, rcx
shr rdx, 0x2b
xor rdx, rcx
js 0x140016c70
cvtsi2sd xmm0, rdx
jmp 0x140016c85
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x14007a120]
add rsp, 8
ret
Function at 0x140018240
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rbx, rdx
mov rbp, rcx
lea rdx, [0x14008bd2c]
mov ecx, 0xb0
mov rdi, r9
mov r14d, r8d
call fcn.1400755dc
mov rsi, rax
test rax, rax
je 0x140018439
lea rcx, [rax + 1]
xor edx, edx
mov r8d, 0xaf
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsi + 8]
mov byte [rsi], 1
mov edx, 2
call sub.MSVCP140.dll__Mtx_init_in_situ
lea rcx, [rsi + 0x58]
call sub.MSVCP140.dll__Cnd_init_in_situ
mov qword [0x1400bbfb8], rsi
xorps xmm0, xmm0
movups xmmword [rsi + 0xa0], xmm0
test r14d, r14d
je 0x1400182e0
test rdi, rdi
je 0x1400182d6
cmp byte [rdi], 0
je 0x1400182d6
mov rdx, rdi
mov rcx, rbp
call fcn.140016700
jmp 0x1400182e0
xor edx, edx
mov rcx, rbp
call fcn.140016660
call sub.KERNEL32.dll_GetCurrentProcessId
lea rcx, [0x14009ab30]
mov dword [0x1400bbfb4], eax
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x140018469
cmp dword [0x14009ab7c], 0x7fffffff
je 0x140018474
test rbx, rbx
je 0x14001832f
movups xmm0, xmmword [rbx]
movups xmmword [0x1400bbc48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x1400bbc58], xmm1
movups xmm0, xmmword [rbx + 0x20]
jmp 0x14001834f
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [0x1400bbc48], xmm0
movups xmmword [0x1400bbc58], xmm0
movups xmmword [0x1400bbc68], xmm0
lea rcx, [0x14009ab30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [0x1400bbc78], xmm0
movups xmmword [0x1400bbc88], xmm0
movups xmmword [0x1400bbc98], xmm0
call sub.MSVCP140.dll__Mtx_unlock
cmp qword [0x1400bbc40], 0
jne 0x140018442
mov rcx, rbp
call fcn.140019a10
mov qword [0x1400bbc40], rax
lea rcx, [0x1400168f0]
mov qword [rax + 0x10], rcx
lea rcx, [0x140016900]
mov rax, qword [0x1400bbc40]
mov qword [rax + 0x18], rcx
mov eax, 1
mov rdi, qword [0x1400bbfb8]
mov ecx, 8
xchg byte [rdi], al
call fcn.140075188
xor ebx, ebx
test rax, rax
je 0x1400183ed
mov qword [rax], rdi
jmp 0x1400183f0
mov rax, rbx
lea rcx, [rsp + 0x38]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea r8, [0x140016950]
xor ecx, ecx
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001845a
cmp dword [rdi + 0xa8], ebx
jne 0x140018432
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rdi + 0xa0], xmm1
jmp 0x140018442
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
xor ebx, ebx
mov qword [0x1400bbfb8], rbx
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, 6
mov dword [rsp + 0x38], ebx
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 6
mov dword [0x14009ab7c], 0x7ffffffe
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
Function at 0x14001e2d0
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0x48
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x38], rax
movzx eax, byte [rsp + 0x70]
mov r10d, ecx
mov rcx, qword [0x1400d0490]
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x31], r8b
mov byte [rsp + 0x32], r9b
mov byte [rsp + 0x33], al
test rcx, rcx
je 0x14001e37a
mov r9d, 0x40
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x34]
mov edx, r10d
mov ebx, r10d
mov qword [rsp + 0x20], rax
lea r8d, [r9 - 0x3c]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rcx, qword [0x1400d0490]
lea r8, [rsp + 0x30]
mov r9d, 4
mov qword [rsp + 0x20], 0
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [rsp + 0x34]
lea rax, [rsp + 0x34]
mov rcx, qword [0x1400d0490]
mov r8d, 4
mov edx, ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140075340
add rsp, 0x48
ret

Function at 0x14001e390
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0x58
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x3b], al
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x3c], al
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x3d], al
movzx eax, byte [rsp + 0x98]
mov r10d, ecx
mov rcx, qword [0x1400d0490]
mov byte [rsp + 0x3e], al
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x3f], al
mov byte [rsp + 0x38], dl
mov byte [rsp + 0x39], r8b
mov byte [rsp + 0x3a], r9b
test rcx, rcx
je 0x14001e46d
mov r9d, 0x40
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x30]
mov edx, r10d
mov ebx, r10d
mov qword [rsp + 0x20], rax
lea r8d, [r9 - 0x38]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rcx, qword [0x1400d0490]
lea r8, [rsp + 0x38]
mov r9d, 8
mov qword [rsp + 0x20], 0
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [rsp + 0x30]
lea rax, [rsp + 0x30]
mov rcx, qword [0x1400d0490]
mov r8d, 8
mov edx, ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140075340
add rsp, 0x58
ret

Function at 0x14001f770
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x10], al
je 0x14001f793
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xf
jb 0x14001f780
mov byte [rcx + 0x10], 0
lea r8, [rcx + 0xf]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x14001f7b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x15], al
je 0x14001f7d3
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x14
jb 0x14001f7c0
mov byte [rcx + 0x15], 0
lea r8, [rcx + 0x14]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x14001f7f0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x19], al
je 0x14001f813
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x18
jb 0x14001f800
mov byte [rcx + 0x19], 0
lea r8, [rcx + 0x18]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x14001f830
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x1a], al
je 0x14001f853
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x19
jb 0x14001f840
mov byte [rcx + 0x1a], 0
lea r8, [rcx + 0x19]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x14001f870
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x24], al
je 0x14001f893
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x23
jb 0x14001f880
mov byte [rcx + 0x24], 0
lea r8, [rcx + 0x23]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x14001f8b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x29], al
je 0x14001f8d3
lea edx, [rax - 0x22]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x28
jb 0x14001f8c0
mov byte [rcx + 0x29], 0
lea r8, [rcx + 0x28]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140008760
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x14001ff40
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r14, r8
mov r15, rdx
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov dword [rsp + 0x40], ebp
mov esi, 0xfff
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], 7
mov word [rcx], bp
mov dword [rsp + 0x40], 1
xor r8d, r8d
mov edx, esi
call fcn.140021a90
mov dword [rsp + 0xa8], 0x1ffe
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x14001ffbd
mov rax, qword [rbx]
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x14001ffca
mov r8, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001ffd7
mov rdx, qword [r15]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
mov rcx, 0xffffffff80000002
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
cmp eax, 0xea
jne 0x140020103
nop dword [rax]
mov eax, dword [rsp + 0xa8]
shr eax, 1
mov ecx, eax
mov dword [rsp + 0xa8], eax
cmp eax, esi
jbe 0x14002002a
mov esi, ecx
jmp 0x140020037
add rsi, rsi
lea eax, [rsi + rsi]
mov dword [rsp + 0xa8], eax
mov rdi, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rsi, rdi
ja 0x14002005a
mov rax, rbx
cmp rcx, 8
jb 0x140020050
mov rax, qword [rbx]
mov qword [rbx + 0x10], rsi
mov word [rax + rsi*2], bp
jmp 0x1400200a7
mov rdx, rsi
sub rdx, rdi
mov rax, rcx
sub rax, rdi
cmp rdx, rax
ja 0x140020094
mov qword [rbx + 0x10], rsi
mov r8, rbx
cmp rcx, 8
jb 0x14002007b
mov r8, qword [rbx]
lea rdi, [r8 + rdi*2]
test rdx, rdx
je 0x14002008d
movzx eax, bp
mov rcx, rdx
rep stosw word [rdi], ax
mov word [r8 + rsi*2], bp
jmp 0x1400200a7
mov word [rsp + 0x20], bp
mov r9, rdx
xor r8d, r8d
mov rcx, rbx
call fcn.14001dee0
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400200b4
mov rax, qword [rbx]
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1400200c1
mov r8, qword [r14]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x1400200ce
mov rdx, qword [r15]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
mov rcx, 0xffffffff80000002
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
cmp eax, 0xea
je 0x140020010
test eax, eax
jne 0x14002014f
mov ecx, dword [rsp + 0xa8]
shr ecx, 1
mov dword [rsp + 0xa8], ecx
xor r8d, r8d
lea edx, [rcx - 1]
mov rcx, rbx
call fcn.140021a90
mov rax, rbx
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140075340
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.140026720
nop
mov r8, rax
lea rdx, str.Registry_Problemwindow_problem
lea rcx, [rsp + 0x88]
call fcn.140008560
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14001ed80
lea rdx, [0x140095c80]
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
Function at 0x140020600
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor edi, edi
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 3
jb 0x140020767
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14002064e
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 3
lea r9, [0x14007b1cc]
mov r8, rbx
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.14000a2d0
lea r9, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae r9, qword [rsp + 0x50]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r8, str.cmd.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400206ea
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400206e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400206e5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400751c4
movdqa xmm0, xmmword [0x14007eba0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140020733
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14002072e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140020760
mov rcx, r8
call fcn.1400751c4
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140075340
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400015f0
nop
int3
Function at 0x1400209f0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x170
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rbp, rcx
xor edx, edx
lea ecx, [rdx + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
mov dword [rsp + 0x30], 0x130
xor edx, edx
mov r8d, Ordinal_301
lea rcx, [rsp + 0x34]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x30]
mov rcx, rdi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x140020b39
xor r14d, r14d
lea esi, [r14 - 1]
nop dword [rax]
mov ecx, Ordinal_27
call fcn.140075188
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140020a9d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, [rsp + 0x5c]
call fcn.1400762c0
mov qword [rbx], rax
jmp 0x140020aa0
mov rbx, r14
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x140020bb7
mov rax, qword [rbx + 8]
test rax, rax
jne 0x140020ad4
mov rcx, qword [rbx]
call fcn.1400761a0
mov qword [rbx + 8], rax
test rax, rax
jne 0x140020ad4
mov rcx, qword [rbx]
call fcn.1400761a0
mov qword [rbx + 8], rax
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140020b6c
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140020b24
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020b05
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020b17
call fcn.1400751c4
mov qword [rbx + 8], r14
mov edx, Ordinal_27
mov rcx, rbx
call fcn.1400751c4
lea rdx, [rsp + 0x30]
mov rcx, rdi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x140020a60
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140075340
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x38]
lock xadd dword [rbx + 0x10], esi
cmp esi, 1
jne 0x140020bb3
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020b94
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020ba6
call fcn.1400751c4
mov qword [rbx + 8], r14
mov edx, Ordinal_27
mov rcx, rbx
call fcn.1400751c4
mov eax, edi
jmp 0x140020b44
mov ecx, 0x8007000e
call fcn.140076190
int3
Function at 0x1400265f0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xb0
mov rax, qword [0x14009a478]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rdi, rcx
mov qword [rsp + 0x90], rcx
lea r8, [0x14007b1bc]
xor edx, edx
call fcn.14000a0c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x24], 0x40
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
lea rax, str.cmd.exe
mov qword [rsp + 0x38], rax
mov rax, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140026686
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
jne 0x1400266b7
mov rcx, rdi
call fcn.140006ce0
mov eax, 0xffffffff
jmp 0x1400266ff
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [rsp + 0x98]
mov rcx, rdi
call fcn.140006ce0
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140075340
mov rbx, qword [rsp + 0xc8]
add rsp, 0xb0
pop rdi
ret