joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000b7b0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x20], r9
movss dword [rsp + 0x18], xmm2
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x198
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ec15e]
call fcn.14013fbf0
movss xmm1, dword [rbp + 0x180]
lea rcx, [rbp + 0x108]
call fcn.1400131b0
mov qword [rbp + 0x138], rax
mov rcx, qword [rbp + 0x138]
call fcn.14000f070
mov rcx, qword [rbp + 0x188]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x20
lea r9, [rbp + 8]
mov r8, rax
mov rdx, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rbp + 0x108]
call fcn.140009e30
lea rcx, [rbp + 8]
call qword [sym.imp.ucrtbased.dll_atof]
cvtsd2ss xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
lea rdx, [0x14014bae0]
call fcn.14013f9c0
movdqu xmm0, xmmword [rsp + 0x30]
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret
Function at 0x14000ca80
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1b8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x32
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x170], rax
lea rcx, [0x1401ec10f]
call fcn.14013fbf0
mov rax, qword [rbp + 0x1a0]
cmp qword [rax + 0x68], 0
je 0x14000cae6
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x14000caed
mov al, 1
jmp 0x14000cc5d
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x158], rax
call fcn.14000fe60
mov dword [rbp + 0x160], eax
mov edx, dword [rbp + 0x160]
mov rcx, qword [rbp + 0x1a0]
call qword [rbp + 0x158]
mov dword [rbp + 0x164], eax
call fcn.14000fe60
mov dword [rbp + 0x168], eax
mov edx, dword [rbp + 0x164]
mov ecx, dword [rbp + 0x168]
call fcn.14000fe90
movzx eax, al
test eax, eax
je 0x14000cb50
xor al, al
jmp 0x14000cc5d
mov qword [rbp + 8], 0x20
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x158], rax
lea rax, [rbp + 0x48]
mov rcx, qword [rbp + 0x1a0]
add rcx, 0x74
lea rdx, [rbp + 0x68]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rbp + 0x28]
mov rdx, rcx
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov dword [rbp + 0x160], eax
cmp dword [rbp + 0x160], 0
je 0x14000cbc3
cmp dword [rbp + 0x160], 1
je 0x14000cbce
cmp dword [rbp + 0x160], 3
je 0x14000cc4c
jmp 0x14000cc5b
mov rax, qword [rbp + 0x1a0]
mov byte [rax + 0x71], 0
lea rax, [rbp + 0x28]
mov rcx, qword [rbp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jbe 0x14000cc1e
mov rax, qword [rbp + 0x1a0]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x88]
mov edx, 1
lea rcx, [rbp + 0x28]
call qword [sym.imp.ucrtbased.dll_fwrite]
cmp qword [rbp + 0x88], rax
je 0x14000cc1e
xor al, al
jmp 0x14000cc5d
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x14000cc39
mov dword [rbp + 0x154], 1
jmp 0x14000cc43
mov dword [rbp + 0x154], 0
movzx eax, byte [rbp + 0x154]
jmp 0x14000cc5d
mov rax, qword [rbp + 0x1a0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x14000cc5d
xor al, al
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14014c0d0]
call fcn.14013f9c0
mov rax, rdi
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x188]
pop rdi
pop rbp
ret
Function at 0x140013cd0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x1401ec10f]
call fcn.14013fbf0
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x68], 0
je 0x140013d27
mov r8, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x140013e33
mov rax, qword [rbp + 0x130]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x130], 0
jle 0x140013dcc
cmp qword [rbp + 0x28], 0
jle 0x140013dcc
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x130], rax
jge 0x140013d6c
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x128]
mov rcx, rax
call fcn.14000f600
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x128]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov edx, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
cmp qword [rbp + 0x130], 0
jle 0x140013e22
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x80], 0
je 0x140013e22
mov rax, qword [rbp + 0x120]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x130]
mov edx, 1
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret
Function at 0x140017890
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1401ec381]
call fcn.14013fbf0
mov edx, 8
lea rcx, [rbp + 8]
call fcn.140023c50
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.140018de0
nop
lea rax, [0x140017580]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.140029d80
mov rcx, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rbp + 0x28]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll__beginthreadex]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbp + 0x130]
cmp qword [rax], 0
je 0x14001796a
lea rcx, [rbp + 8]
call fcn.14002be10
jmp 0x140017983
mov rax, qword [rbp + 0x130]
mov dword [rax + 8], 0
mov ecx, 6
call sub.MSVCP140D.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
lea rcx, [rbp + 8]
call fcn.14001bc40
lea rcx, [rbp - 0x30]
lea rdx, [0x140153360]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x14001cfe0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x108
lea rbp, [rsp + 0x20]
lea rcx, [0x1401ec390]
call fcn.14013fbf0
mov rax, qword [rbp + 0x100]
cmp dword [rax], 0x270
jne 0x14001d01c
mov rcx, qword [rbp + 0x100]
call fcn.140023380
jmp 0x14001d037
mov rax, qword [rbp + 0x100]
cmp dword [rax], 0x4e0
jb 0x14001d037
mov rcx, qword [rbp + 0x100]
call fcn.140023120
mov rax, qword [rbp + 0x100]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x100]
mov eax, dword [rcx + rax*4 + 4]
mov dword [rbp + 0xd4], eax
mov rax, qword [rbp + 0x100]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0x100]
mov dword [rcx], eax
mov eax, dword [rbp + 0xd4]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 0xb
mov rcx, qword [rbp + 0x100]
and eax, dword [rcx + 0x1384]
mov ecx, dword [rbp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shl eax, 7
and eax, 0x9d2c5680
mov ecx, dword [rbp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shl eax, 0xf
and eax, 0xefc60000
mov ecx, dword [rbp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 0x12
mov ecx, dword [rbp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
lea rsp, [rbp + 0xe8]
pop rdi
pop rbp
ret
Function at 0x14001d400
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x1a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x14001d457
jmp 0x14001d49b
lea rdx, str.DbgBreakPoint
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x14001d475
jmp 0x14001d49b
lea r9, [rbp + 0x44]
mov r8d, 0x40
mov edx, 1
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14001d494
jmp 0x14001d49b
mov rax, qword [rbp + 0x28]
mov byte [rax], 0xc3
lea rcx, [rbp - 0x20]
lea rdx, [0x140152050]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret

Function at 0x14001d4d0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x1a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
call fcn.14001dbb0
call fcn.14001da90
call fcn.14002a8e0
call fcn.14001d9a0
call fcn.14001d640
call fcn.14001d8c0
call fcn.1400296d0
call fcn.14002ab90
call fcn.14002aae0
call fcn.14001fdc0
call fcn.14001fcb0
call fcn.14001db70
call fcn.14001d400
call fcn.140026310
call fcn.140026420
call fcn.140026570
call fcn.1400263b0
lea rdx, str.C:WindowsSysWOW64x64debugger.exe
lea rcx, [rbp + 0x28]
call fcn.140008750
nop
lea rax, [rbp + 0x28]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 8]
call fcn.140029c50
movzx eax, al
test eax, eax
je 0x14001d5bc
lea rcx, str._n______You_are_banned_____
call fcn.1400140d0
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140026d40
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
lea rcx, [rbp + 0x28]
call fcn.140009e30
lea rcx, [rbp - 0x20]
lea rdx, [0x140152400]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret
Function at 0x14001d640
Capabilities:
Terminate process

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x220
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x48
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x1d8], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
lea rax, [rbp + 0x10]
lea rcx, str..EXTREM
mov rdi, rax
mov rsi, rcx
mov ecx, 0xb
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1b]
mov rdi, rax
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
lea rax, [rbp + 0x24]
lea rcx, str..ICEEXT
mov rdi, rax
mov rsi, rcx
mov ecx, 0xb
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x2f]
mov rdi, rax
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
lea rax, [rbp + 0x38]
lea rcx, str..NDBGMSG.VXD
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x48]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
lea rax, [rbp + 0x4c]
lea rcx, str..RING0
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x56]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
lea rax, [rbp + 0x60]
lea rcx, str..SIWVID
mov rdi, rax
mov rsi, rcx
mov ecx, 0xb
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x6b]
mov rdi, rax
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
lea rax, [rbp + 0x74]
lea rcx, str..SYSER
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x7e]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
mov rax, qword [str..TRW]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x90]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
lea rax, [rbp + 0x9c]
lea rcx, str..SYSERBOOT
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xaa]
mov rdi, rax
xor eax, eax
mov ecx, 6
rep stosb byte [rdi], al
movzx eax, word [0x140154548]
mov word [rbp + 0xb0], ax
lea rax, [rbp + 0xb2]
mov rdi, rax
xor eax, eax
mov ecx, 0x12
rep stosb byte [rdi], al
mov dword [rbp + 0xe4], 0
jmp 0x14001d7f8
mov eax, dword [rbp + 0xe4]
inc eax
mov dword [rbp + 0xe4], eax
movsxd rax, dword [rbp + 0xe4]
imul rax, rax, 0x14
lea rax, [rbp + rax + 0x10]
mov ecx, 1
imul rcx, rcx, 0
movsx eax, byte [rax + rcx]
test eax, eax
je 0x14001d890
movsxd rax, dword [rbp + 0xe4]
imul rax, rax, 0x14
lea rax, [rbp + rax + 0x10]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rbp + 0x108], rax
cmp qword [rbp + 0x108], 0xffffffffffffffff
je 0x14001d87e
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140026d40
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001d7ea
lea rcx, [rbp - 0x40]
lea rdx, [0x140152280]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x1d8]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x1e0]
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001d8c0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
sub rsp, 0x168
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x1e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x120], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
mov dword [rbp + 4], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x118], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x20], 0
mov r9d, 4
lea r8, [rbp + 4]
mov edx, 0x1f
mov rcx, rax
call qword [rbp + 0x118]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 4], 0
jne 0x14001d96d
call fcn.140026d40
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
lea rcx, [rbp - 0x30]
lea rdx, [0x1401520b0]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x120]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x138]
pop rdi
pop rbp
ret

Function at 0x14001d9a0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
sub rsp, 0x188
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
mov qword [rbp + 8], 0
mov dword [rbp + 0x44], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x138], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rcx, [rbp + 0x44]
mov qword [rsp + 0x20], rcx
mov r9d, 8
lea r8, [rbp + 8]
mov edx, 0x1e
mov rcx, rax
call qword [rbp + 0x138]
mov dword [rbp + 0x24], eax
cmp qword [rbp + 8], 0
je 0x14001da60
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140026d40
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
lea rcx, [rbp - 0x30]
lea rdx, [0x140152210]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret
Function at 0x14001da90
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
sub rsp, 0x188
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
mov qword [rbp + 8], 0
mov dword [rbp + 0x24], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x138], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rcx, [rbp + 0x24]
mov qword [rsp + 0x20], rcx
mov r9d, 8
lea r8, [rbp + 8]
mov edx, 7
mov rcx, rax
call qword [rbp + 0x138]
mov dword [rbp + 0x44], eax
cmp qword [rbp + 8], 0
je 0x14001db46
call fcn.140026d40
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
lea rcx, [rbp - 0x30]
lea rdx, [0x140152160]
call fcn.14013f9c0
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret

Function at 0x14001e8a0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x258
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x5e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x278]
mov rax, qword [0x1401d3f80]
xor rax, rbp
mov qword [rbp + 0x228], rax
lea rcx, [0x1401ec3e7]
call fcn.14013fbf0
mov dword [rbp + 0x10], 0x130
xor edx, edx
mov ecx, 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov qword [rbp + 0x158], rax
cmp qword [rbp + 0x158], 0xffffffffffffffff
jne 0x14001e914
xor eax, eax
jmp 0x14001e995
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x158]
call sub.KERNEL32.dll_Process32First
lea rdx, [rbp + 0x3c]
mov rcx, qword [rbp + 0x250]
call fcn.140026e20
test eax, eax
jne 0x14001e94a
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp + 0x18]
jmp 0x14001e995
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x158]
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x14001e986
lea rdx, [rbp + 0x3c]
mov rcx, qword [rbp + 0x250]
call fcn.140026e20
test eax, eax
jne 0x14001e984
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp + 0x18]
jmp 0x14001e995
jmp 0x14001e94a
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x140151ee0]
call fcn.14013f9c0
mov rax, rdi
mov rcx, qword [rbp + 0x228]
xor rcx, rbp
call fcn.14013fe30
lea rsp, [rbp + 0x238]
pop rdi
pop rbp
ret
Function at 0x14001fbb0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x1401ec3c4]
call fcn.14013fbf0
mov r9d, 0x40
mov r8d, 0x1000
mov edx, 0x1000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x14001fbfe
xor al, al
jmp 0x14001fc97
mov edx, 0x1e
lea rcx, [0x1401d4ab0]
call fcn.14001dbe0
mov r8d, 0x1e
lea rdx, [0x1401d4ab0]
mov rcx, qword [rbp + 8]
call sub.VCRUNTIME140D.dll_memcpy
mov edx, 0x1e
lea rcx, [0x1401d4ab0]
call fcn.14001e820
mov rax, qword [rbp + 8]
mov qword [rbp + 0xf8], rax
mov edx, dword [rbp + 0x128]
mov rcx, qword [rbp + 0x120]
call qword [rbp + 0xf8]
mov dword [rbp + 0x24], eax
mov r8d, 0x1000
xor edx, edx
mov rcx, qword [rbp + 8]
call sub.VCRUNTIME140D.dll_memset
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
cmp dword [rbp + 0x24], 0
jle 0x14001fc89
mov byte [rbp + 0xf4], 1
jmp 0x14001fc90
mov byte [rbp + 0xf4], 0
movzx eax, byte [rbp + 0xf4]
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret
Function at 0x140023120
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1e8
lea rbp, [rsp + 0x20]
lea rcx, [0x1401ec390]
call fcn.14013fbf0
mov qword [rbp + 8], 0x26f
mov qword [rbp + 0x28], 0xe3
mov qword [rbp + 0x48], 0
jmp 0x140023164
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0xe3
jae 0x1400231f5
mov rax, qword [rbp + 0x1e0]
mov rcx, qword [rbp + 0x48]
mov eax, dword [rax + rcx*4 + 0x9c4]
and eax, 0x80000000
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rcx + rdx*4 + 0x9c8]
btr ecx, 0x1f
or eax, ecx
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x64]
and eax, 1
test eax, eax
je 0x1400231ba
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x1400231c4
mov dword [rbp + 0x1b4], 0
mov eax, dword [rbp + 0x64]
shr eax, 1
xor eax, dword [rbp + 0x1b4]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x48]
xor eax, dword [rcx + rdx*4 + 0xff8]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x48]
mov dword [rcx + rdx*4 + 4], eax
jmp 0x140023159
mov qword [rbp + 0x88], 0xe3
jmp 0x140023213
mov rax, qword [rbp + 0x88]
inc rax
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0x26f
jae 0x1400232bc
mov rax, qword [rbp + 0x1e0]
mov rcx, qword [rbp + 0x88]
mov eax, dword [rax + rcx*4 + 0x9c4]
and eax, 0x80000000
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x88]
mov ecx, dword [rcx + rdx*4 + 0x9c8]
btr ecx, 0x1f
or eax, ecx
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0xa4]
and eax, 1
test eax, eax
je 0x140023278
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x140023282
mov dword [rbp + 0x1b4], 0
mov eax, dword [rbp + 0xa4]
shr eax, 1
xor eax, dword [rbp + 0x1b4]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x88]
xor eax, dword [rcx + rdx*4 - 0x388]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x88]
mov dword [rcx + rdx*4 + 4], eax
jmp 0x140023202
mov qword [rbp + 0xc8], 0x26f
mov eax, 4
imul rax, rax, 0x4df
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rcx + rax + 4]
and eax, 0x80000000
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x1e0]
mov ecx, dword [rdx + rcx + 4]
btr ecx, 0x1f
or eax, ecx
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe4]
and eax, 1
test eax, eax
je 0x14002331c
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x140023326
mov dword [rbp + 0x1b4], 0
mov eax, dword [rbp + 0xe4]
shr eax, 1
xor eax, dword [rbp + 0x1b4]
mov ecx, 4
imul rcx, rcx, 0x18c
mov rdx, qword [rbp + 0x1e0]
xor eax, dword [rdx + rcx + 4]
mov ecx, 4
imul rcx, rcx, 0x26f
mov rdx, qword [rbp + 0x1e0]
mov dword [rdx + rcx + 4], eax
mov rax, qword [rbp + 0x1e0]
mov dword [rax], 0
lea rsp, [rbp + 0x1c8]
pop rdi
pop rbp
ret