joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400ac3b0
Capabilities:
Create process on windows
Set registry value

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov r8, qword [0x140155998]
mov rdi, rdx
mov rax, qword [str.SoftwareMicrosoftWindowsCurrentVersionAppletsRegedit]
mov r14, rcx
mov word [rsp + 0x48], r8w
mov word [rsp + 0x4a], r8w
mov qword [rsp + 0x50], rax
cmp r8, 0xfffe
ja 0x1400ac5e3
xor r8d, r8d
lea rax, [rsp + 0x40]
lea r9, [rbp + 0x60]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
lea rcx, [r8 - 9]
call fcn.1400beed0
test eax, eax
js 0x1400ac5e3
xor eax, eax
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x30], rax
lea r8, [rbp + 0x60]
mov dword [rsp + 0x28], eax
lea rcx, [rbp + 0xc8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov edx, 0x20006
call qword [sym.imp.ntdll.dll_NtCreateKey]
mov rcx, qword [rsp + 0x40]
mov ebx, eax
test rcx, rcx
je 0x1400ac460
call qword [sym.imp.ntdll.dll_NtClose]
test ebx, ebx
js 0x1400ac5db
lea rax, str.LastKey
mov qword [rsp + 0x1b8], rsi
mov rcx, rdi
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x58], 0x10000e
call fcn.1400ac1d0
mov r9d, 1
lea rdx, [rsp + 0x58]
xor r8d, r8d
mov rbx, rax
mov ecx, dword [rax]
add ecx, 2
mov dword [rsp + 0x28], ecx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0xc8]
call qword [sym.imp.ntdll.dll_NtSetValueKey]
or edi, 0xffffffff
lea rcx, [rbx - 0x10]
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400ac4d4
call fcn.1400ae900
mov rcx, qword [rbp + 0xc8]
call qword [sym.imp.ntdll.dll_NtClose]
lea rdx, str._regedit.exe
mov ecx, 0x24
call sym.CodeyalPython.exe_PhGetKnownLocation
mov rsi, rax
test rax, rax
jne 0x1400ac50c
lea edx, [rax + 0x16]
lea rcx, str.regedit.exe
call sym.CodeyalPython.exe_PhCreateStringEx
mov rsi, rax
lea rcx, [rbp - 0x20]
call sym.CodeyalPython.exe_PhGetOwnTokenAttributes
mov rbx, qword [rsi + 8]
xor edx, edx
test byte [rax + 8], 1
lea r8d, [rdx + 0x6c]
jne 0x1400ac58c
lea rcx, [rsp + 0x74]
mov dword [rsp + 0x70], 0x70
call fcn.1400e43c0
cmp dword [sym.CodeyalPython.exe_WindowsVersion], 0x3c
lea rax, [0x14010bbf8]
mov qword [rbp - 0x70], rax
lea rcx, [rsp + 0x70]
lea rax, str.runas
mov qword [rbp - 0x78], rbx
cmovb rax, qword [rbp - 0x80]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x74], 0x40
mov dword [rbp - 0x60], 1
mov qword [rsp + 0x78], r14
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x1400ac5c0
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.ntdll.dll_NtClose]
jmp 0x1400ac5c0
lea rcx, [rbp - 0xc]
mov dword [rbp - 0x10], 0x70
call fcn.1400e43c0
lea rax, [0x14010bbf8]
mov qword [rbp + 8], rbx
lea rcx, [rbp - 0x10]
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x20], 5
mov qword [rbp - 8], r14
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
lea rcx, [rsi - 0x10]
lock xadd dword [rcx + 8], edi
mov rsi, qword [rsp + 0x1b8]
cmp edi, 1
jne 0x1400ac5db
call fcn.1400ae900
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x190
pop r14
pop rdi
pop rbp
ret
Function at 0x1400ad620
Capabilities:
Hash data using sha1

Disassembly:
sub rsp, 0x28
mov dword [rcx], edx
test edx, edx
je 0x1400ad678
sub edx, 1
je 0x1400ad64a
cmp edx, 1
je 0x1400ad640
mov ecx, 0xc00000f0
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
xor eax, eax
mov dword [rcx + 4], eax
add rsp, 0x28
ret
xor eax, eax
mov dword [rcx + 0x1c], 0x67452301
mov qword [rcx + 0x30], rax
mov dword [rcx + 0x20], 0xefcdab89
mov dword [rcx + 0x24], 0x98badcfe
mov dword [rcx + 0x28], 0x10325476
mov dword [rcx + 0x2c], 0xc3d2e1f0
add rsp, 0x28
ret
xor eax, eax
mov dword [rcx + 0xc], 0x67452301
mov qword [rcx + 4], rax
mov dword [rcx + 0x10], 0xefcdab89
mov dword [rcx + 0x14], 0x98badcfe
mov dword [rcx + 0x18], 0x10325476
add rsp, 0x28
ret

Function at 0x1400ad6a0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub rsp, 0x28
mov r9, rdx
mov r11, rcx
mov edx, dword [rcx]
test edx, edx
je 0x1400ad723
sub edx, 1
je 0x1400ad713
cmp edx, 1
je 0x1400ad6c6
mov ecx, 0xc000000d
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
mov r10d, r8d
mov r8d, dword [rcx + 4]
not r8d
test r10, r10
je 0x1400ad707
mov qword [rsp + 0x20], rbx
lea rbx, [0x140135af0]
movsx ecx, byte [r9]
lea r9, [r9 + 1]
mov eax, r8d
xor rcx, rax
shr eax, 8
movzx edx, cl
mov r8d, dword [rbx + rdx*4]
xor r8d, eax
sub r10, 1
jne 0x1400ad6e1
mov rbx, qword [rsp + 0x20]
not r8d
mov dword [r11 + 4], r8d
add rsp, 0x28
ret
add rcx, 4
mov rdx, r9
add rsp, 0x28
jmp fcn.1400e2780
add rcx, 4
mov rdx, r9
add rsp, 0x28
jmp fcn.1400e0970

Function at 0x1400ae420
Capabilities:
Allocate thread local storage

Disassembly:
push rbx
sub rsp, 0x60
lea rcx, [0x14015b1e0]
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
lea rcx, [0x14015b1f0]
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
xor eax, eax
mov dword [0x14015b204], 0x200
mov qword [rsp + 0x20], rax
lea rcx, str.Type
mov qword [rsp + 0x28], rax
xor ebx, ebx
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x20]
mov qword [0x14015b1c8], rax
lea rax, [rsp + 0x20]
mov qword [0x14015e100], rax
mov dword [0x14015b200], ebx
mov qword [0x14015b208], 0x40
call sym.CodeyalPython.exe_PhCreateObjectType
xor r8d, r8d
mov qword [0x14015b1c8], rax
xor edx, edx
movzx ecx, byte [rax + 2]
mov word [rax - 0x10], cx
lea rcx, str.Alloc
mov dword [rax + 4], 1
call sym.CodeyalPython.exe_PhCreateObjectType
mov qword [0x14015b1d0], rax
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [0x14015dac4], eax
mov ecx, 0xc000009a
cmove ebx, ecx
mov eax, ebx
add rsp, 0x60
pop rbx
ret
Function at 0x1400aead0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
xor eax, eax
mov rbx, rcx
mov dword [rcx], eax
mov qword [rcx + 0x208], rax
mov qword [rcx + 0x210], rax
mov ecx, dword [0x14015dac4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [0x14015dac4]
mov rdx, rbx
mov qword [rbx + 0x218], rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1400aeb1d
mov ecx, 0xc0000001
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
add rsp, 0x20
pop rbx
ret

Function at 0x1400aeb30
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.CodeyalPython.exe_PhDrainAutoPool
mov ecx, dword [0x14015dac4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, rbx
je 0x1400aeb5b
mov ecx, 0xc0000001
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
mov rdx, qword [rbx + 0x218]
mov ecx, dword [0x14015dac4]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1400aeb7e
mov ecx, 0xc0000001
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
mov r8, qword [rbx + 0x210]
test r8, r8
je 0x1400aeb9f
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
xor edx, edx
add rsp, 0x20
pop rbx
jmp qword [sym.imp.ntdll.dll_RtlFreeHeap]
add rsp, 0x20
pop rbx
ret

Function at 0x1400aec90
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov ecx, dword [0x14015dac4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rdi, rdi
jne 0x1400aecbe
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, dword [rax]
cmp eax, 0x40
jae 0x1400aecda
mov qword [rbx + rax*8 + 8], rdi
mov rax, rdi
inc dword [rbx]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp qword [rbx + 0x210], 0
jne 0x1400aed0d
mov dword [rbx + 0x20c], 0x40
mov edx, 4
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8d, 0x200
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rbx + 0x210], rax
mov eax, dword [rbx + 0x20c]
cmp dword [rbx + 0x208], eax
jne 0x1400aed4a
mov r8, qword [rbx + 0x210]
add eax, eax
mov r9d, eax
mov edx, 4
mov dword [rbx + 0x20c], eax
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
shl r9, 3
call qword [sym.imp.ntdll.dll_RtlReAllocateHeap]
mov qword [rbx + 0x210], rax
mov ecx, dword [rbx + 0x208]
mov rax, qword [rbx + 0x210]
mov qword [rax + rcx*8], rdi
mov rax, rdi
inc dword [rbx + 0x208]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400af090
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rbp, rcx
mov rdi, r8
lea rcx, [0x14015db00]
mov rsi, rdx
call qword [sym.imp.ntdll.dll_RtlInterlockedPopEntrySList]
test rax, rax
je 0x1400af0c8
lock dec dword [0x14015db10]
jmp 0x1400af0e5
mov r8, qword [0x14015db18]
mov edx, 4
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
add r8, 0x10
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
lea rbx, [rax + 0x10]
xor eax, eax
lea r8, [0x1400af010]
mov qword [rbx], rsi
mov qword [rsp + 0x28], rax
mov r9, rbx
mov rdx, rbp
mov dword [rsp + 0x20], eax
xor ecx, ecx
mov qword [rbx + 8], rdi
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x1400af151
mov eax, dword [0x14015db14]
lea r8, [rbx - 0x10]
cmp dword [0x14015db10], eax
jae 0x1400af140
mov rdx, r8
lea rcx, [0x14015db00]
call qword [sym.imp.ntdll.dll_RtlInterlockedPushEntrySList]
lock inc dword [0x14015db10]
jmp 0x1400af14f
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret

Function at 0x1400af2d0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x30
mov rbx, rdx
mov dword [rsp + 0x28], 4
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], 0
lea r9, [rsp + 0x40]
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
or rcx, 0xffffffffffffffff
call qword [sym.imp.ntdll.dll_NtAllocateVirtualMemory]
test eax, eax
js 0x1400af329
test rbx, rbx
je 0x1400af31e
mov rax, qword [rsp + 0x40]
mov qword [rbx], rax
mov rax, qword [rsp + 0x50]
add rsp, 0x30
pop rbx
ret
xor eax, eax
add rsp, 0x30
pop rbx
ret

Function at 0x1400b3ae0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
xor eax, eax
mov r8, rcx
test rdx, rdx
je 0x1400b3b06
nop word [rax + rax]
movzx ecx, byte [r8]
lea r8, [r8 + 1]
xor eax, ecx
imul eax, eax, 0x1000193
sub rdx, 1
jne 0x1400b3af0
ret

Function at 0x1400b3b10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov r8, qword [rcx]
xor ebx, ebx
test r8, r8
jne 0x1400b3b28
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov qword [rsp + 0x30], rsi
mov rsi, r8
shr rsi, 1
mov qword [rsp + 0x38], rdi
mov rdi, qword [rcx + 8]
test dl, dl
jne 0x1400b3b70
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
xor ebx, eax
imul ebx, ebx, 0x1000193
sub r8, 1
jne 0x1400b3b40
mov rsi, qword [rsp + 0x30]
mov eax, ebx
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
movzx ecx, word [rdi]
lea rdi, [rdi + 2]
call qword [sym.imp.ntdll.dll_RtlUpcaseUnicodeChar]
movzx eax, ax
xor eax, ebx
imul ebx, eax, 0x1000193
sub rsi, 1
jne 0x1400b3b70
mov rsi, qword [rsp + 0x30]
mov eax, ebx
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
Function at 0x1400b8980
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp byte [0x14015e000], 0
mov ebx, edx
mov rdi, rcx
je 0x1400b89a4
call fcn.1400c0500
cmp eax, 0xc00000bb
jne 0x1400b89af
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtTerminateProcess]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x1400b9200
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbx
push rsi
push r12
push r14
sub rsp, 0xb8
xor ebx, ebx
mov r14, r9
mov qword [rsp + 0x20], rbx
mov r12, r8
mov rsi, rcx
test dl, 1
jne 0x1400b9296
lea r9d, [rbx + 0x30]
xor edx, edx
lea r8, [rsp + 0x78]
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
test eax, eax
js 0x1400b93f8
mov rdx, qword [rsp + 0x80]
lea r9d, [rbx + 8]
add rdx, 0x20
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x30]
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
js 0x1400b93f8
mov rdx, qword [rsp + 0x30]
lea r9d, [rbx + 8]
sub rdx, 0xffffffffffffff80
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x38]
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
js 0x1400b93f8
mov rdx, qword [rsp + 0x38]
jmp 0x1400b9315
mov r9d, 8
lea r8, [rsp + 0x40]
lea edx, [r9 + 0x12]
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
test eax, eax
js 0x1400b93f8
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0xe8]
add rdx, 0x10
mov qword [rsp + 0x20], rbx
mov r9d, 4
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
js 0x1400b93f8
mov edx, dword [rsp + 0xe8]
lea r8, [rsp + 0x30]
add rdx, 0x48
mov qword [rsp + 0x20], rbx
mov r9d, 4
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
js 0x1400b93f8
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x28], rbx
lea r9, [rsp + 0x48]
xor r8d, r8d
mov qword [rsp + 0x20], 0x30
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtQueryVirtualMemory]
test eax, eax
js 0x1400b93f8
mov qword [rsp + 0xe0], rbp
lea r9, [rsp + 0x40]
mov ebp, dword [rsp + 0x60]
lea rdx, [rsp + 0x30]
sub ebp, dword [rsp + 0x38]
xor r8d, r8d
add ebp, dword [rsp + 0x48]
or rcx, 0xffffffffffffffff
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xb0], r15
mov r15d, ebp
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x20], 0x1000
call qword [sym.imp.ntdll.dll_NtAllocateVirtualMemory]
test eax, eax
js 0x1400b93db
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x1400b93db
mov rdx, qword [rsp + 0x38]
mov r9d, r15d
mov r8, rdi
mov qword [rsp + 0x20], rbx
mov rcx, rsi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov ebx, eax
test eax, eax
jns 0x1400b93cd
mov rcx, rdi
call sym.CodeyalPython.exe_PhFreePage
mov eax, ebx
jmp 0x1400b93e0
mov qword [r12], rdi
test r14, r14
je 0x1400b93e0
mov dword [r14], ebp
jmp 0x1400b93e0
mov eax, 0xc0000017
mov rdi, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xb0]
add rsp, 0xb8
pop r14
pop r12
pop rsi
pop rbx
ret
Function at 0x1400bc350
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov dword [rsp + 0x38], 0x800
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov edx, 4
mov r8d, 0x800
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rsp + 0x38]
lea r9, [rsp + 0x38]
mov rdx, rax
mov ecx, 0xb
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x1400bc3e3
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rbx
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r8d, dword [rsp + 0x38]
mov edx, 4
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rsp + 0x38]
lea r9, [rsp + 0x38]
mov rdx, rax
mov ecx, 0xb
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x1400bc3ea
mov qword [rdi], rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x1400bc400
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
xor edi, edi
mov r8d, 0x800
mov dword [rsp + 0x30], 0x800
lea edx, [rdi + 4]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rax
lea ecx, [rdi + 0xb]
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x1400bc48a
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rbx
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r8d, dword [rsp + 0x30]
lea edx, [rdi + 4]
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rax
lea ecx, [rdi + 0xb]
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jns 0x1400bc49b
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rbx], 1
jb 0x1400bc4c1
lea rcx, [rbx + 0x30]
or rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [rcx + rdx], dil
jne 0x1400bc4b0
call sym.CodeyalPython.exe_PhConvertMultiByteToUtf16Ex
mov rdi, rax
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rbx
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rbx, qword [rsp + 0x38]
mov rax, rdi
add rsp, 0x20
pop rdi
ret

Function at 0x1400bc4f0
Capabilities:
Get system information on windows

Disassembly:
mov edx, 5
jmp sym.CodeyalPython.exe_PhEnumProcessesEx
Function at 0x1400bc500
Capabilities:
Get system information on windows

Disassembly:
push rsi
push r14
sub rsp, 0x28
mov r8d, edx
mov esi, edx
mov r14, rcx
sub r8d, 5
je 0x1400bc53d
sub r8d, 0x34
je 0x1400bc536
cmp r8d, 0x5b
je 0x1400bc52f
mov eax, 0xc0000003
add rsp, 0x28
pop r14
pop rsi
ret
mov eax, 2
jmp 0x1400bc53f
mov eax, 1
jmp 0x1400bc53f
xor eax, eax
mov qword [rsp + 0x40], rbx
lea rcx, [0x140155b60]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x20], r15
lea r15, [rcx + rax*4]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x48], eax
mov r8d, eax
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov edx, 4
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rsp + 0x48]
lea r9, [rsp + 0x48]
mov rdx, rax
mov ecx, esi
mov rdi, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov ebx, eax
cmp eax, 0xc0000023
je 0x1400bc59d
cmp eax, 0xc0000004
jne 0x1400bc5b6
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r8d, dword [rsp + 0x48]
jmp 0x1400bc563
test eax, eax
jns 0x1400bc5ce
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x1400bc5df
mov eax, dword [rsp + 0x48]
cmp eax, 0x100000
ja 0x1400bc5dc
mov dword [r15], eax
mov qword [r14], rdi
mov rdi, qword [rsp + 0x50]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x20]
add rsp, 0x28
pop r14
pop rsi
ret

Function at 0x1400bc600
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov eax, dword [0x1401559e4]
mov ebx, edx
mov rsi, rcx
mov dword [rsp + 0x48], eax
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8d, eax
mov edx, 4
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov dword [rsp + 0x20], ebx
mov ecx, dword [rsp + 0x48]
lea r9, [rsp + 0x48]
mov r8d, 0x10
mov dword [rsp + 0x24], ecx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rdi, rax
lea ecx, [r8 + 0x25]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov ebx, eax
cmp eax, 0xc0000023
je 0x1400bc671
cmp eax, 0xc0000004
jne 0x1400bc69c
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r8d, dword [rsp + 0x48]
mov edx, 4
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
jmp 0x1400bc637
test eax, eax
jns 0x1400bc6c4
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov ecx, dword [0x1401559e4]
cmp dword [rsp + 0x48], 0x100000
mov rbx, qword [rsp + 0x40]
cmovbe ecx, dword [rsp + 0x48]
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x50]
mov dword [0x1401559e4], ecx
add rsp, 0x30
pop rdi
ret
Function at 0x1400bc870
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov ebx, dword [0x1401555d4]
mov r14, rcx
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8d, ebx
mov edx, 4
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
xor r9d, r9d
mov r8d, ebx
mov rdx, rax
mov rdi, rax
lea ecx, [r9 + 0x10]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp eax, 0xc0000004
jne 0x1400bc912
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
add ebx, ebx
cmp ebx, 0x10000000
ja 0x1400bc92a
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov edx, 4
mov r8d, ebx
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
xor r9d, r9d
mov r8d, ebx
mov rdx, rax
mov rdi, rax
lea ecx, [r9 + 0x10]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp eax, 0xc0000004
je 0x1400bc8c2
test esi, esi
jns 0x1400bc931
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x1400bc949
mov eax, 0xc000009a
jmp 0x1400bc94b
mov eax, dword [0x1401555d4]
cmp ebx, 0x100000
mov qword [r14], rdi
cmovbe eax, ebx
mov dword [0x1401555d4], eax
mov eax, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret

Function at 0x1400bc970
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov ebx, dword [0x140155a08]
mov r14, rcx
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8d, ebx
mov edx, 4
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
xor r9d, r9d
mov r8d, ebx
mov rdx, rax
mov rdi, rax
lea ecx, [r9 + 0x40]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp eax, 0xc0000004
jne 0x1400bca12
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
add ebx, ebx
cmp ebx, 0x10000000
ja 0x1400bca2a
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov edx, 4
mov r8d, ebx
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
xor r9d, r9d
mov r8d, ebx
mov rdx, rax
mov rdi, rax
lea ecx, [r9 + 0x40]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov esi, eax
cmp eax, 0xc0000004
je 0x1400bc9c2
test esi, esi
jns 0x1400bca31
mov rcx, qword [sym.CodeyalPython.exe_PhHeapHandle]
mov r8, rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x1400bca49
mov eax, 0xc000009a
jmp 0x1400bca4b
mov eax, dword [0x140155a08]
cmp ebx, 0x200000
mov qword [r14], rdi
cmovbe eax, ebx
mov dword [0x140155a08], eax
mov eax, esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret