joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400d4700
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x28
cmp byte [rcx + 0x17], 0
jns 0x1400d470d
mov rcx, qword [rcx]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
setne al
add rsp, 0x28
ret

Function at 0x1400d5df0
Capabilities:
Terminate process

Disassembly:
push rsi
push rdi
sub rsp, 0x168
mov rsi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rax, qword [0x140133638]
test rax, rax
jne 0x1400d5e34
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 1
call rdi
mov rax, qword [0x140133638]
test rax, rax
je 0x1400d5e21
cmp eax, 2
jne 0x1400d5e8c
mov ecx, 2
call fcn.14006c3e0
test al, al
je 0x1400d5ee9
lea rdx, str....._third_partycrashpadcrashpadclientcrashpad_client_win.cc
lea rsi, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x90
mov r9d, 2
call fcn.14003a070
lea rcx, [rsp + 0x38]
lea rdx, str.crash_server_failed_to_launch__self_terminating
mov r8d, 0x2f
call fcn.1400ba030
mov rcx, rsi
call fcn.14003a660
jmp 0x1400d5ee9
mov eax, 1
lock xadd qword [0x140133670], rax
inc rax
cmp rax, 2
jl 0x1400d5eb0
mov ecx, 0xffffffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SleepEx]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1401335f8], eax
mov qword [0x1401335f0], rsi
mov rcx, qword [0x140123188]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, 0xea60
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 2
call fcn.14006c3e0
test al, al
jne 0x1400d5f19
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xffff7001
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140084b80
xor eax, eax
add rsp, 0x168
pop rdi
pop rsi
ret
lea rdx, str....._third_partycrashpadcrashpadclientcrashpad_client_win.cc
lea rsi, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0xbc
mov r9d, 2
call fcn.14003a070
lea rcx, [rsp + 0x38]
lea rdx, str.crash_server_did_not_respond__self_terminating
mov r8d, 0x2e
jmp 0x1400d5e7d
Function at 0x1400d6bf0
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x250
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x248], rax
mov sil, 1
cmp qword [0x1401338c8], 0
je 0x1400d6c36
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.140084b80
mov eax, esi
add rsp, 0x250
pop rbx
pop rdi
pop rsi
ret
mov rdi, qword [0x1401338a0]
test rdi, rdi
je 0x1400d6cd7
test byte [0x140123b78], 1
je 0x1400d6c19
cmp byte [rdi + 0x17], 0
jns 0x1400d6c58
mov rdi, qword [rdi]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov rcx, rdi
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1401338c8], rax
inc rax
cmp rax, 1
ja 0x1400d6c19
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.140086cd0
mov word [rdi], 0
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xfffffefb
cmp eax, 0xfffffefc
jae 0x1400d6d99
xor esi, esi
jmp 0x1400d6c19
mov ecx, 0x18
call fcn.140083658
mov rdi, rax
lea rbx, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rbx
mov dl, 0xaa
call fcn.140086cd0
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x1400fc0f0]
movups xmmword [rdi], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
mov rcx, rdi
mov rdx, rbx
call fcn.1400b9ed0
movzx eax, byte [rdi + 0x17]
mov rcx, rdi
test al, al
jns 0x1400d6d3f
mov rax, qword [rdi + 8]
mov rcx, qword [rdi]
test rax, rax
jne 0x1400d6d65
lea rdx, str.debug.log
mov r8d, 9
mov rcx, rdi
call fcn.14005f410
mov qword [0x1401338a0], rdi
jmp 0x1400d6c46
add rax, rax
test rax, rax
je 0x1400d6d44
lea rdx, [rax - 2]
cmp word [rcx + rax - 2], 0x5c
mov rax, rdx
jne 0x1400d6d68
cmp rdx, 0xfffffffffffffffe
je 0x1400d6d44
sar rdx, 1
inc rdx
mov rcx, rdi
mov r8, 0xffffffffffffffff
call fcn.14005c6e0
jmp 0x1400d6d44
mov rcx, qword [0x1401338a0]
lea rdx, [rsp + 0x40]
call fcn.1400273d0
mov rcx, qword [0x1401338a0]
call fcn.1400d0750
cmp word [rax], 0x5c
je 0x1400d6dd5
mov rcx, qword [0x1401338a0]
lea rdx, [0x1400feaca]
mov r8d, 1
call fcn.14005f410
mov rcx, qword [0x1401338a0]
lea rdx, str.debug.log
mov r8d, 9
call fcn.14005f410
mov rcx, qword [0x1401338a0]
cmp byte [rcx + 0x17], 0
jns 0x1400d6dfe
mov rcx, qword [rcx]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1401338c8], rax
inc rax
cmp rax, 1
ja 0x1400d6c19
mov qword [0x1401338c8], 0
jmp 0x1400d6cd0
Function at 0x1400dceb0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x20], xmm0
mov rdi, qword [rcx + 0x50]
mov r12, qword [rcx + 0x58]
mov ebx, 1
cmp rdi, r12
je 0x1400dcf44
mov rsi, r8
mov r14, rcx
lea r15, [rsp + 0x20]
mov rcx, rdi
mov rdx, r15
call fcn.1400dc760
test al, al
jne 0x1400dcf0c
add rdi, 0x70
cmp rdi, r12
jne 0x1400dcef1
mov rdi, r12
cmp rdi, qword [r14 + 0x58]
je 0x1400dcf44
cmp byte [rdi + 0x27], 0
js 0x1400dcf1e
lea rcx, [rdi + 0x10]
jmp 0x1400dcf22
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
shr ecx, 3
and ecx, 2
cmp eax, 0xffffffff
mov ebx, 1
cmovne ebx, ecx
test ebx, ebx
jne 0x1400dcf44
mov qword [rsi], rdi
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140084b80
mov eax, ebx
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x1400e4920
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x170
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x168], rax
cmp byte [rcx + 0x17], 0
jns 0x1400e494a
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400e4969
mov edi, eax
bt eax, 0xa
jae 0x1400e4961
test bl, bl
je 0x1400e4977
and edi, 0x10
shr edi, 4
jmp 0x1400e4979
mov ecx, 2
call fcn.14006c3e0
test al, al
jne 0x1400e4996
xor edi, edi
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.140084b80
mov eax, edi
add rsp, 0x170
pop rbx
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r8d, 0x80
mov r9d, 2
call fcn.1400d7420
lea rcx, [rsp + 0x38]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.1400ba030
mov rcx, rax
mov rdx, rsi
call fcn.1400d36c0
mov rcx, rdi
call fcn.1400d74a0
jmp 0x1400e4977

Function at 0x1400e49f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
sub rsp, 0x178
mov rsi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x170], rax
cmp byte [rcx + 0x17], 0
jns 0x1400e4a17
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400e4a47
test eax, 0x410
sete sil
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140084b80
mov eax, esi
add rsp, 0x178
pop rdi
pop rsi
ret
mov ecx, 2
call fcn.14006c3e0
test al, al
jne 0x1400e4a59
xor esi, esi
jmp 0x1400e4a2b
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov r8d, 0x73
mov r9d, 2
call fcn.1400d7420
lea rcx, [rsp + 0x40]
lea rdx, str.GetFileAttributes
mov r8d, 0x12
call fcn.1400ba030
mov rcx, rax
mov rdx, rsi
call fcn.1400d36c0
mov rcx, rdi
call fcn.1400d74a0
jmp 0x1400e4a55
Function at 0x1400e4ab0
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
push rsi
push rdi
sub rsp, 0x178
mov rsi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x170], rax
cmp byte [rcx + 0x17], 0
jns 0x1400e4ad7
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400e4aee
and eax, 0x410
cmp eax, 0x410
je 0x1400e4b33
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1400e4afa
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dil, 1
test eax, eax
jne 0x1400e4b17
mov ecx, 2
call fcn.14006c3e0
test al, al
jne 0x1400e4b54
xor edi, edi
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140084b80
mov eax, edi
add rsp, 0x178
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140084b80
mov rcx, rsi
add rsp, 0x178
pop rdi
pop rsi
jmp fcn.1400e4bb0
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rdi, [rsp + 0x30]
mov rcx, rdi
mov r8d, 0x93
mov r9d, 2
call fcn.1400d7420
lea rcx, [rsp + 0x40]
lea rdx, str.DeleteFile
mov r8d, 0xb
call fcn.1400ba030
mov rcx, rax
mov rdx, rsi
call fcn.1400d36c0
mov rcx, rdi
call fcn.1400d74a0
jmp 0x1400e4b15

Function at 0x1400e4bb0
Capabilities:
Delete directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x170
mov rsi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x168], rax
cmp byte [rcx + 0x17], 0
jns 0x1400e4bd8
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov edi, eax
test eax, eax
jne 0x1400e4bf2
mov ecx, 2
call fcn.14006c3e0
test al, al
jne 0x1400e4c14
test edi, edi
setne bl
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.140084b80
mov eax, ebx
add rsp, 0x170
pop rbx
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_filesystem_win.cc
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov r8d, 0x2f
mov r9d, 2
call fcn.1400d7420
lea rcx, [rsp + 0x38]
lea rdx, str.RemoveDirectory
mov r8d, 0x10
call fcn.1400ba030
mov rcx, rax
mov rdx, rsi
call fcn.1400d36c0
mov rcx, rbx
call fcn.1400d74a0
jmp 0x1400e4bf2
Function at 0x1400ec1a0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test rdx, rdx
je 0x1400ec1b3
cmp dword [0x1401386b0], ecx
jle 0x1400ec1ba
add rsp, 0x28
pop rdi
pop rsi
ret
mov rsi, rdx
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rdi, eax
mov rcx, rsi
mov rdx, rdi
call fcn.1400ec200
test edi, edi
je 0x1400ec1b3
cmp byte [rsi + rdi - 1], 0xa
je 0x1400ec1b3
lea rcx, str._n_l__
mov edx, 1
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1400ec200

Function at 0x1400ec200
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
add rsi, rdi
lea r14, [rsp + 0x34]
mov r15, qword [sym.imp.KERNEL32.dll_WriteFile]
cmp rdi, rsi
jae 0x1400ec277
mov dword [rsp + 0x34], 0
mov r8d, esi
sub r8d, edi
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rdi
mov r9, r14
call r15
mov ecx, dword [rsp + 0x34]
test eax, eax
cmovne eax, ecx
je 0x1400ec277
add rdi, rax
test ecx, ecx
jne 0x1400ec23d
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140084b80
nop
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140010188
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140019760], eax
call fcn.140010b30
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140019760], 0
jne case.default.0x1400101de
mov ecx, 1
call fcn.140010b30
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
or dword [rdx], ebp
cmp al, 0xb1
invalid
Function at 0x14000c220
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x14005b0e8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rbp, qword [rsp + 0xa0]
lea rax, [rsp + 0x38]
xor r14d, r14d
mov qword [rsp + 0x20], rax
mov rdi, r9
mov qword [rsp + 0x38], r14
mov rsi, r8
mov dword [rsp + 0x30], r14d
xor r8d, r8d
mov ebx, r14d
lea r9d, [r14 + 1]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000c2f8
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov r9, rbp
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c2f8
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x14000c2f8
mov ecx, eax
call qword [sym.imp.msvcrt.dll_malloc]
mov rbx, rax
test rax, rax
je 0x14000c2f8
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov r9, rbp
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000c2f8
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rdi, rdi
je 0x14000c2f3
mov eax, dword [rsp + 0x30]
mov dword [rdi], eax
mov rax, rbx
jmp 0x14000c320
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000c308
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x14000c316
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
test rdi, rdi
je 0x14000c31e
mov dword [rdi], r14d
xor eax, eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140029990
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140013f90
Capabilities:
Get local ipv4 addresses

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14005b0e8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov eax, 0x3a98
mov rsi, rcx
mov dword [rsp + 0x30], eax
xor edi, edi
nop dword [rax]
mov ebx, eax
call qword [sym.imp.KERNEL32.DLL_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x140014065
mov r8d, dword [rsp + 0x30]
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x30]
mov r9, rbx
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x80
xor ecx, ecx
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
cmp eax, 0x6f
jne 0x140014036
call qword [sym.imp.KERNEL32.DLL_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_HeapFree]
xor ebx, ebx
inc edi
cmp edi, 3
jae 0x14001403a
mov eax, dword [rsp + 0x30]
jmp 0x140013fc0
test eax, eax
je 0x140014053
call qword [sym.imp.KERNEL32.DLL_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_HeapFree]
jmp 0x14001415f
mov eax, dword [rsp + 0x30]
add rax, rbx
mov qword [rsi], rax
mov rax, rbx
jmp 0x140014161
mov rsi, qword [0x1417bba30]
mov qword [rsp + 0x58], rbp
mov rbx, qword [rsi + 0x240]
test rbx, rbx
jne 0x1400140d1
mov ecx, 0x32
lea edx, [rbx + 1]
add ecx, 2
call qword [sym.imp.msvcrt.dll_calloc]
mov qword [rsi + 0x240], rax
mov rcx, rax
test rax, rax
je 0x14001417e
movups xmm0, xmmword [str.Memory_allocation_failed_in_GetXpAdaptersAddresses]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14003fe28]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14003fe38]
movups xmmword [rax + 0x20], xmm0
movzx eax, word [0x14003fe48]
mov word [rcx + 0x30], ax
jmp 0x14001415a
mov edx, 1
lea eax, [rdx - 1]
cmp byte [rax + rbx], 0
jne 0x1400140e7
mov edi, edx
cmp byte [rdi + rbx], 0
je 0x1400140eb
inc edx
jmp 0x1400140d6
lea ecx, [rdx + 0x32]
mov rax, 0xffffffffffffffff
add ecx, 2
cmovb rcx, rax
lea edx, [rax + 2]
call qword [sym.imp.msvcrt.dll_calloc]
mov rbp, rax
test rax, rax
je 0x14001417e
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [str.Memory_allocation_failed_in_GetXpAdaptersAddresses]
mov rcx, rbx
movups xmmword [rdi + rbp], xmm0
movups xmm1, xmmword [0x14003fe28]
movups xmmword [rdi + rbp + 0x10], xmm1
movups xmm0, xmmword [0x14003fe38]
movups xmmword [rdi + rbp + 0x20], xmm0
movzx eax, word [0x14003fe48]
mov word [rdi + rbp + 0x30], ax
call qword [sym.imp.msvcrt.dll_free]
mov qword [rsi + 0x240], rbp
mov rbp, qword [rsp + 0x58]
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140029990
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
lea rdx, str.Failed_to_allocate_memory_in_NWL_NodeAppendMultiSz
mov ecx, 0xe
call fcn.140001650
int3
Function at 0x140017b50
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x14005b0e8]
xor rax, rsp
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rsp + 0x20], 0x40
xorps xmm1, xmm1
mov qword [rsp + 0x28], rax
movups xmmword [rcx], xmm1
mov rbx, rcx
mov qword [rsp + 0x30], rax
movups xmmword [rcx + 0x10], xmm1
mov qword [rsp + 0x38], rax
movups xmmword [rcx + 0x20], xmm1
mov qword [rsp + 0x40], rax
movups xmmword [rcx + 0x30], xmm1
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
mov qword [rsp + 0x50], rax
movups xmmword [rcx + 0x40], xmm1
mov qword [rsp + 0x58], rax
movups xmmword [rcx + 0x50], xmm1
mov qword [rcx + 0x60], rax
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x60], 0x68
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], eax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
call qword [sym.imp.KERNEL32.DLL_GlobalMemoryStatusEx]
mov rcx, qword [rsp + 0x30]
mov edx, 0x68
mov eax, dword [rsp + 0x24]
mov dword [rbx], eax
mov rax, qword [rsp + 0x28]
mov qword [rbx + 0x10], rax
sub rax, rcx
mov qword [rbx + 0x20], rcx
lea rcx, [rsp + 0x60]
mov qword [rbx + 0x18], rax
call qword [sym.imp.PSAPI.DLL_GetPerformanceInfo]
mov rax, qword [rbp - 0x70]
lea rcx, [0x140017b30]
mov qword [rbx + 0x58], rax
mov rdx, rbx
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0x60], rax
call qword [sym.imp.PSAPI.DLL_EnumPageFilesW]
mov r8, qword [rbx + 0x28]
mov r9, qword [rbx + 0x30]
mov r10, r8
sub r10, r9
test r8, r8
je 0x140017c8a
cmp r8, r9
jb 0x140017c8a
imul rax, r9, 0x64
xor edx, edx
div r8
mov dword [rbx + 4], eax
mov rcx, qword [rbx + 0x60]
imul r10, rcx
mov rax, rcx
imul rcx, r8
imul rax, r9
mov qword [rbx + 0x28], rcx
lea rcx, str.ntdll
mov qword [rbx + 0x38], r10
mov qword [rbx + 0x30], rax
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
test rax, rax
je 0x140017ce1
lea rdx, str.NtQuerySystemInformation
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
test rax, rax
je 0x140017ce1
xor r9d, r9d
lea rdx, [rbp - 0x30]
lea r8d, [r9 + 0x40]
lea ecx, [r9 + 0x15]
call rax
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x30]
mov rax, rcx
sub rax, rdx
mov qword [rbx + 0x48], rdx
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x50], rax
test rcx, rcx
je 0x140017d11
cmp rcx, rdx
jb 0x140017d11
imul rax, rdx, 0x64
xor edx, edx
div rcx
mov dword [rbx + 8], eax
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140029990
mov rbx, qword [rsp + 0x138]
add rsp, 0x120
pop rbp
ret
Function at 0x14001fed0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0xa0
mov rax, qword [0x14005b0e8]
xor rax, rsp
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
mov rbx, rdx
add rdx, 8
mov rdi, rcx
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
call fcn.14001f7a0
mov dword [rbx + 0x58], eax
mov r8d, eax
cmp eax, 0xffffffff
jne 0x14001ff36
mov dword [0x1417fde28], 0xfffffff9
lea eax, [r8 - 6]
jmp 0x140020095
mov dword [rbx + 4], 0
cmp dword [rdi], 1
jl 0x14001ffa2
mov edx, dword [rdi + 0x10]
shr edx, 8
and edx, 0xf
mov dword [rbx + 0xdc], edx
mov r9d, dword [rdi + 0x10]
shr r9d, 4
and r9d, 0xf
mov dword [rbx + 0xe0], r9d
mov eax, dword [rdi + 0x10]
and eax, 0xf
mov dword [rbx + 0xe4], eax
mov eax, dword [rdi + 0x10]
mov ecx, eax
shr ecx, 0x10
shr eax, 0x14
and ecx, 0xf
movzx r10d, al
cmp r8d, 1
jne 0x14001ff8d
cmp edx, 0xf
jb 0x14001ff90
add edx, r10d
shl ecx, 4
add ecx, r9d
mov dword [rbx + 0xe8], edx
mov dword [rbx + 0xec], ecx
mov eax, dword [rdi + 0x200]
sub eax, 0x80000000
cmp eax, 4
jl 0x14002005b
lea r8, [rsp + 0x50]
mov edx, 3
lea r9, [rsp + 0x54]
sub r8, rdi
lea r10, [rsp + 0x58]
sub r9, rdi
sub r10, rdi
lea r11, [rsp + 0x5c]
sub r11, rdi
lea rax, [rdi + 0x224]
mov ecx, dword [rax - 4]
mov dword [r8 + rax - 0x224], ecx
mov ecx, dword [rax]
mov dword [r9 + rax - 0x224], ecx
mov ecx, dword [rax + 4]
mov dword [r10 + rax - 0x224], ecx
mov ecx, dword [rax + 8]
mov dword [r11 + rax - 0x224], ecx
lea rax, [rax + 0x10]
sub rdx, 1
jne 0x14001ffe2
cmp byte [rsp + 0x50], 0x20
mov byte [rsp + 0x80], dl
jne 0x14002003b
lea rax, [rsp + 0x50]
nop word [rax + rax]
inc edx
lea rax, [rax + 1]
cmp byte [rax], 0x20
je 0x140020030
movsxd rax, edx
lea r8, [rsp + 0x50]
mov edx, 0x40
lea rcx, [rbx + 0x18]
mov r9d, edx
add r8, rax
call fcn.140037030
mov byte [rbx + 0x48], 0
mov rdx, rbx
mov rcx, rdi
call fcn.14001f4d0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov eax, dword [rsp + 0x40]
mov rcx, rbx
mov dword [rbx + 0xf8], eax
call fcn.14001fb70
mov dword [rbx + 0x21ec], eax
xor eax, eax
mov dword [0x1417fde28], 0
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140029990
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop rdi
ret
Function at 0x1400200c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
xor r14d, r14d
mov rbx, rdx
mov qword [r8 + 0x10], r14
lea rdx, [rsp + 0x20]
mov qword [r8 + 0x18], r14
mov rdi, r8
mov dword [r8 + 0x20], r14d
xor sil, sil
mov word [r8 + 0x26], r14w
xor bpl, bpl
mov word [r8 + 0x24], cx
mov rcx, rbx
mov qword [r8], 0xffffffffffffffff
mov qword [r8 + 8], 0xffffffffffffffff
call fcn.14001f7a0
cmp eax, 0xffffffff
je 0x140020241
cmp eax, 1
ja 0x14002024b
cmp dword [rbx], 0xb
jb 0x14002024b
movzx eax, word [rbx + 0xb4]
test eax, eax
je 0x14002024b
mov r9d, dword [rbx + 0x480]
xor cl, cl
test r9d, r9d
je 0x140020196
mov edx, r14d
nop word [rax + rax]
mov rax, rdx
add rax, rax
cmp dword [rbx + rax*8 + 0x484], r14d
je 0x140020196
cmp cl, 4
jae 0x140020196
lea rax, [rdx + 0x48]
inc cl
add rax, rax
movzx edx, cl
movzx ebp, byte [rbx + rax*8]
lea rax, [rdx + 0x48]
add rax, rax
and bpl, 0x1f
cmp dword [rbx + rax*8], r14d
jne 0x140020160
xor r8b, r8b
mov r10d, 0xffffffff
test r9d, r9d
je 0x14002022b
movzx r11d, bpl
mov r9, r14
nop
mov rax, r9
add rax, rax
cmp dword [rbx + rax*8 + 0x484], 0
je 0x14002022b
cmp r8b, 4
jae 0x14002022b
mov esi, dword [rbx + rax*8 + 0x488]
mov edx, dword [rbx + rax*8 + 0x48c]
shr esi, 8
movzx ecx, sil
mov dword [rdi], edx
sub ecx, 1
je 0x1400201fb
cmp ecx, 1
jne 0x140020217
mov ecx, r11d
mov eax, r10d
shl eax, cl
not eax
xor eax, r14d
and eax, edx
mov dword [rdi + 8], eax
jmp 0x140020217
lea rax, [r9 + 0x48]
add rax, rax
mov ecx, dword [rbx + rax*8]
mov eax, r10d
and ecx, 0x1f
shl eax, cl
not eax
and edx, eax
mov r14d, eax
mov dword [rdi + 0xc], edx
inc r8b
movzx r9d, r8b
lea rax, [r9 + 0x48]
add rax, rax
cmp dword [rbx + rax*8], 0
jne 0x1400201b0
movzx ecx, bpl
shl r10d, cl
and r10d, dword [rdi]
test sil, sil
mov dword [rdi + 4], r10d
setne al
jmp 0x14002024d
mov dword [0x1417fde28], 0xfffffff9
xor al, al
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret