joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000baf0
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ef162]
call fcn.140143510
nop
movss xmm1, dword [rbp + 0x180]
lea rcx, [rbp + 0x108]
call fcn.1400135f0
mov qword [rbp + 0x138], rax
mov rcx, qword [rbp + 0x138]
call fcn.14000f440
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.14000a1d0
nop
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, [0x14014fad0]
call fcn.1401432e0
movdqu xmm0, xmmword [rsp + 0x30]
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret
Function at 0x14000cdd0
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x170], rax
lea rcx, [0x1401ef112]
call fcn.140143510
nop
mov rax, qword [rbp + 0x1a0]
cmp qword [rax + 0x68], 0
je 0x14000ce37
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x14000ce3e
mov al, 1
jmp 0x14000cfae
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x158], rax
call fcn.140010250
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.140010250
mov dword [rbp + 0x168], eax
mov edx, dword [rbp + 0x164]
mov ecx, dword [rbp + 0x168]
call fcn.140010280
movzx eax, al
test eax, eax
je 0x14000cea1
xor al, al
jmp 0x14000cfae
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 0x14000cf14
cmp dword [rbp + 0x160], 1
je 0x14000cf1f
cmp dword [rbp + 0x160], 3
je 0x14000cf9d
jmp 0x14000cfac
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 0x14000cf6f
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 0x14000cf6f
xor al, al
jmp 0x14000cfae
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x14000cf8a
mov dword [rbp + 0x154], 1
jmp 0x14000cf94
mov dword [rbp + 0x154], 0
movzx eax, byte [rbp + 0x154]
jmp 0x14000cfae
mov rax, qword [rbp + 0x1a0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x14000cfae
xor al, al
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1401500c0]
call fcn.1401432e0
mov rax, rdi
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x188]
pop rdi
pop rbp
ret
Function at 0x140014120
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, [0x1401ef112]
call fcn.140143510
nop
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x68], 0
je 0x140014178
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 0x14001428a
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 0x140014223
cmp qword [rbp + 0x28], 0
jle 0x140014223
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x130], rax
jge 0x1400141c1
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.14000f9f0
nop
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]
nop
cmp qword [rbp + 0x130], 0
jle 0x140014279
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x80], 0
je 0x140014279
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 0x140017ec0
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1401ef38a]
call fcn.140143510
nop
mov edx, 8
lea rcx, [rbp + 8]
call fcn.1400244e0
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.1400193d0
nop
lea rax, [0x140017b70]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.14002a670
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 0x140017f9c
lea rcx, [rbp + 8]
call fcn.14002c740
nop
jmp 0x140017fb5
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.14001c300
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1401572c0]
call fcn.1401432e0
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x14001d6d0
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, [0x1401ef39a]
call fcn.140143510
nop
mov rax, qword [rbp + 0x100]
cmp dword [rax], 0x270
jne 0x14001d70e
mov rcx, qword [rbp + 0x100]
call fcn.140023be0
nop
jmp 0x14001d72a
mov rax, qword [rbp + 0x100]
cmp dword [rax], 0x4e0
jb 0x14001d72a
mov rcx, qword [rbp + 0x100]
call fcn.140023980
nop
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 0x14001db50
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x14001dba8
jmp 0x14001dbec
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 0x14001dbc6
jmp 0x14001dbec
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 0x14001dbe5
jmp 0x14001dbec
mov rax, qword [rbp + 0x28]
mov byte [rax], 0xc3
lea rcx, [rbp - 0x20]
lea rdx, [0x140156010]
call fcn.1401432e0
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret

Function at 0x14001dc20
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
call fcn.14001e330
nop
call fcn.14001e200
nop
call fcn.14002b1d0
nop
call fcn.14001e110
nop
call fcn.14001ddb0
nop
call fcn.14001e030
nop
call fcn.140029fc0
nop
call fcn.14002b4a0
nop
call fcn.14002b3f0
nop
call fcn.140020570
nop
call fcn.140020460
nop
call fcn.14001e2f0
nop
call fcn.14001db50
nop
call fcn.140026be0
nop
call fcn.140026cf0
nop
call fcn.140026e40
nop
call fcn.140026c80
nop
lea rdx, str.C:WindowsSysWOW64x64debugger.exe
lea rcx, [rbp + 0x28]
call fcn.140008a60
nop
lea rax, [rbp + 0x28]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 8]
call fcn.14002a540
movzx eax, al
test eax, eax
je 0x14001dd21
lea rcx, str._n______You_are_banned_____
call fcn.140014550
nop
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
call fcn.140027600
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
lea rcx, [rbp + 0x28]
call fcn.14000a1d0
nop
lea rcx, [rbp - 0x20]
lea rdx, [0x1401563c0]
call fcn.1401432e0
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret
Function at 0x14001ddb0
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x1d8], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
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 [0x140158508]
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 0x14001df69
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 0x14001e005
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 0x14001dff2
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
call fcn.140027600
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x14001df5b
lea rcx, [rbp - 0x40]
lea rdx, [0x140156240]
call fcn.1401432e0
mov rcx, qword [rbp + 0x1d8]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x1e0]
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001e030
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x120], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
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 0x14001e0e0
call fcn.140027600
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x140156070]
call fcn.1401432e0
mov rcx, qword [rbp + 0x120]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x138]
pop rdi
pop rbp
ret

Function at 0x14001e110
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
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 0x14001e1d4
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
call fcn.140027600
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1401561d0]
call fcn.1401432e0
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret
Function at 0x14001e200
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x140], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
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 0x14001e2b9
call fcn.140027600
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll_exit]
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x140156120]
call fcn.1401432e0
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret

Function at 0x14001f030
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 [0x1401d6f80]
xor rax, rbp
mov qword [rbp + 0x228], rax
lea rcx, [0x1401ef3f2]
call fcn.140143510
nop
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 0x14001f0a5
xor eax, eax
jmp 0x14001f12a
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x158]
call sub.KERNEL32.dll_Process32First
nop
lea rdx, [rbp + 0x3c]
mov rcx, qword [rbp + 0x250]
call fcn.1400276e0
test eax, eax
jne 0x14001f0dd
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov eax, dword [rbp + 0x18]
jmp 0x14001f12a
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x158]
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x14001f11a
lea rdx, [rbp + 0x3c]
mov rcx, qword [rbp + 0x250]
call fcn.1400276e0
test eax, eax
jne 0x14001f118
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov eax, dword [rbp + 0x18]
jmp 0x14001f12a
jmp 0x14001f0dd
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x140155ea0]
call fcn.1401432e0
mov rax, rdi
mov rcx, qword [rbp + 0x228]
xor rcx, rbp
call fcn.140143750
lea rsp, [rbp + 0x238]
pop rdi
pop rbp
ret
Function at 0x140020360
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, [0x1401ef3cf]
call fcn.140143510
nop
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 0x1400203af
xor al, al
jmp 0x14002044d
mov edx, 0x1e
lea rcx, [0x1401d7ab0]
call fcn.14001e360
nop
mov r8d, 0x1e
lea rdx, [0x1401d7ab0]
mov rcx, qword [rbp + 8]
call sub.VCRUNTIME140D.dll_memcpy
nop
mov edx, 0x1e
lea rcx, [0x1401d7ab0]
call fcn.14001efb0
nop
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
nop
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
nop
cmp dword [rbp + 0x24], 0
jle 0x14002043f
mov byte [rbp + 0xf4], 1
jmp 0x140020446
mov byte [rbp + 0xf4], 0
movzx eax, byte [rbp + 0xf4]
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret
Function at 0x140023980
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, [0x1401ef39a]
call fcn.140143510
nop
mov qword [rbp + 8], 0x26f
mov qword [rbp + 0x28], 0xe3
mov qword [rbp + 0x48], 0
jmp 0x1400239c5
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0xe3
jae 0x140023a56
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 0x140023a1b
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x140023a25
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 0x1400239ba
mov qword [rbp + 0x88], 0xe3
jmp 0x140023a74
mov rax, qword [rbp + 0x88]
inc rax
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0x26f
jae 0x140023b1d
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 0x140023ad9
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x140023ae3
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 0x140023a63
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 0x140023b7d
mov dword [rbp + 0x1b4], 0x9908b0df
jmp 0x140023b87
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