joyce8/EMBER2024-capa huggingface dataset:
Function at 0x7fff25d88b40
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub rsp, 0x38
test rdx, rdx
je 0x7fff25def7c8
test rcx, rcx
jne 0x7fff25d88b5f
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
xor r9d, r9d
lea r8, [rsp + 0x48]
call qword [sym.imp.ntdll.dll_LdrAccessResource]
nop dword [rax + rax]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x48]
jmp 0x7fff25d88b89
test eax, eax
js 0x7fff25def7cf
mov rax, rcx
add rsp, 0x38
ret

Function at 0x7fff25d88ec0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub rsp, 0x38
test rdx, rdx
je 0x7fff25def7f2
test rcx, rcx
jne 0x7fff25d88edf
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
lea r9, [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.ntdll.dll_LdrAccessResource]
nop dword [rax + rax]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x48]
jmp 0x7fff25d88f07
test eax, eax
js 0x7fff25def7f9
mov eax, ecx
add rsp, 0x38
ret

Function at 0x7fff25d89360
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov esi, r9d
mov rdi, r8
mov r15d, edx
mov r12d, ecx
and dword [rax - 0x28], 0
and dword [rax + 0x20], 0
and dword [rax - 0x24], 0
lea r14d, [r9 + 0x10]
mov r8d, r14d
mov rcx, qword gs:[0x60]
mov edx, dword [0x7fff25fd0c80]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x7fff25d8943f
mov dword [rax], r12d
mov dword [rax + 8], r15d
mov dword [rax + 0xc], esi
mov dword [rax + 4], 1
lea r9, [rsp + 0x68]
mov r8d, r14d
mov rdx, rax
mov ecx, 0x4c
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
nop dword [rax + rax]
mov dword [rsp + 0x20], eax
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
je 0x7fff25d89436
mov ecx, dword [rbx + 0xc]
mov dword [rsp + 0x24], ecx
test eax, eax
js 0x7fff25d89446
test rdi, rdi
je 0x7fff25d89446
mov r8d, dword [rbx + 0xc]
lea rdx, [rbx + 0x10]
mov rcx, rdi
call sub.ntdll.dll_memcpy
jmp 0x7fff25d8942e
xor eax, eax
mov dword [rsp + 0x20], eax
jmp 0x7fff25d89446
cmp eax, 0xc0000023
je 0x7fff25d89401
jmp 0x7fff25d89408
mov eax, 0xc000009a
jmp 0x7fff25d89430
test rbx, rbx
je 0x7fff25d8946d
mov rcx, qword gs:[0x60]
mov r8, rbx
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov eax, dword [rsp + 0x20]
mov ecx, eax
call fcn.7fff25d6b370
mov eax, dword [rsp + 0x24]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x7fff25d8fd5c
Capabilities:
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov rbx, qword [rsp + 0x68]
mov rbp, rdx
mov rdi, qword [rsp + 0x70]
mov r14, rcx
mov rsi, r9
and qword [rbx + 8], 0
lea rcx, [rbx + 0x14]
movzx eax, word [rdi]
mov dword [rbx + 0x10], eax
movzx r8d, word [rdi]
mov rdx, qword [rdi + 8]
call sub.ntdll.dll_memcpy
cmp dword [rsi], 0
je 0x7fff25df0b0c
mov dword [rbx], 5
mov r8, rbx
movzx r9d, word [rdi]
mov rdx, rbp
add r9d, 0x18
mov dword [rsp + 0x20], 0x41
mov rcx, r14
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
cmp eax, 0xc000000d
je 0x7fff25d8fe02
cmp eax, 0xc00000bb
je 0x7fff25d8fe02
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
and dword [rsi], 0
jmp 0x7fff25df0b0c
mov byte [rbx], 1
mov r8, rbx
movzx r9d, word [rdi]
mov rdx, rbp
add r9d, 0x18
mov dword [rsp + 0x20], 0xa
mov rcx, r14
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
nop
jmp 0x7fff25d8fde6
Function at 0x7fff25d90960
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, r8
mov rsi, rcx
test r8, r8
jne 0x7fff25d90a9e
movsxd rbx, edx
test r9d, r9d
je 0x7fff25d90a4d
sub r9d, 1
jne 0x7fff25d90a5a
mov r9d, 8
mov dword [rsp + 0x20], 0xe
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
test eax, eax
js 0x7fff25d90ad9
mov rax, qword [rsp + 0x30]
add rax, rbx
mov qword [rsp + 0x30], rax
test rax, rax
js 0x7fff25d90abe
test rdi, rdi
jne 0x7fff25d909f1
test dword [rsp + 0x34], 0x7fffffff
jne 0x7fff25df0d3a
mov r9d, 8
mov dword [rsp + 0x20], 0xe
lea r8, [rsp + 0x30]
mov rcx, rsi
lea rdx, [rsp + 0x38]
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
test eax, eax
js 0x7fff25df0d69
test rdi, rdi
jne 0x7fff25d90ab3
mov rax, qword [rsp + 0x30]
cmp eax, 0xffffffff
je 0x7fff25df0d51
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.7fff25dce640
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rax, rbx
mov qword [rsp + 0x30], rbx
jmp 0x7fff25d909d5
cmp r9d, 1
jne 0x7fff25df0d3a
mov r9d, 0x18
mov dword [rsp + 0x20], 5
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x38]
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
test eax, eax
js 0x7fff25d90ad9
mov rax, qword [rsp + 0x50]
add rax, rbx
mov qword [rsp + 0x30], rax
jmp 0x7fff25d909d5
mov eax, dword [r8]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], edx
mov rbx, qword [rsp + 0x30]
jmp 0x7fff25d90989
mov eax, dword [rsp + 0x34]
mov dword [rdi], eax
jmp 0x7fff25d90a29
mov ecx, 0x83
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
nop dword [rax + rax]
mov eax, 0xffffffff
jmp 0x7fff25d90a37
mov ecx, eax
call fcn.7fff25d6b370
mov eax, 0xffffffff
jmp 0x7fff25d90a37
mov ecx, 0x57
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
nop dword [rax + rax]
nop
jmp 0x7fff25d90acf
xor ecx, ecx
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
nop dword [rax + rax]
mov rax, qword [rsp + 0x30]
jmp 0x7fff25d90a37
mov ecx, eax
call fcn.7fff25d6b370
test rdi, rdi
je 0x7fff25d90acf
mov dword [rdi], 0xffffffff
jmp 0x7fff25d90acf

Function at 0x7fff25d90c70
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push rbx
sub rsp, 0x20
mov r8, qword [rcx + 0x18]
mov rbx, rcx
test r8, r8
je 0x7fff25d90ca2
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
and qword [rbx + 0x18], 0
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x7fff25d90ccb
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
and qword [rbx + 0x28], 0
mov rcx, qword gs:[0x60]
mov r8, rbx
xor edx, edx
mov rcx, qword [rcx + 0x30]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.ntdll.dll_RtlFreeHeap]
Function at 0x7fff25d91428
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp - 8], rax
cmp dword [0x7fff25fd233c], 0
mov rdi, rdx
mov rbx, rcx
je 0x7fff25d91486
mov eax, dword [0x7fff25fd2bfc]
mov dword [rcx], eax
mov eax, dword [0x7fff25fd2bf8]
mov dword [rdx], eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.7fff25dce640
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
and dword [rcx], 0
lea r8, [0x7fff25e56318]
and dword [rdx], 0
lea rcx, [rbp - 0x28]
mov edx, 1
call qword [sym.imp.ntdll.dll_NtOpenKey]
nop dword [rax + rax]
test eax, eax
js 0x7fff25d91534
mov rcx, qword [rbp - 0x28]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x20]
mov r8d, 2
mov dword [rsp + 0x20], 0x14
lea rdx, [0x7fff25e56348]
call qword [sym.imp.ntdll.dll_NtQueryValueKey]
nop dword [rax + rax]
test eax, eax
jns 0x7fff25df0e2c
mov rcx, qword [rbp - 0x28]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x20]
mov r8d, 2
mov dword [rsp + 0x20], 0x14
lea rdx, [0x7fff25e56358]
call qword [sym.imp.ntdll.dll_NtQueryValueKey]
nop dword [rax + rax]
test eax, eax
jns 0x7fff25df0e4f
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
mov eax, dword [0x7fff25fd2bfc]
mov dword [rbx], eax
mov eax, dword [0x7fff25fd2bf8]
mov dword [rdi], eax
mov dword [0x7fff25fd233c], 1
jmp 0x7fff25d91467
cmp dword [rbp - 0x1c], 4
jne 0x7fff25d914ea
mov eax, dword [0x7fff25fd2bfc]
cmp dword [rbp - 0x18], 4
cmove eax, dword [rbp - 0x14]
mov dword [0x7fff25fd2bfc], eax
jmp 0x7fff25d914ea
cmp dword [rbp - 0x1c], 4
jne 0x7fff25d91524
mov eax, dword [0x7fff25fd2bf8]
cmp dword [rbp - 0x18], 4
cmove eax, dword [rbp - 0x14]
mov dword [0x7fff25fd2bf8], eax
jmp 0x7fff25d91524
Function at 0x7fff25d92140
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd8
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov r15d, dword [rbp + 0x7f]
mov r14, r9
mov rax, qword [rbp + 0x77]
mov r13d, r15d
mov rbx, qword [rbp + 0x6f]
mov r12d, r15d
mov rsi, r8
mov qword [rsp + 0x40], rdx
mov r8, rbx
mov qword [rsp + 0x48], rcx
mov r9d, 8
mov qword [rsp + 0x50], rax
lea rdx, [rbp - 0x59]
mov dword [rsp + 0x20], 0x23
and r13d, 0x800
and r12d, 0x80000
and r15d, 0x200000
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
mov edi, eax
test eax, eax
js 0x7fff25df13fe
test dword [rbx], 0x400
jne 0x7fff25df1417
mov ebx, 1
mov dword [rsi], ebx
mov eax, edi
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.7fff25dce640
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp eax, 0xc000000d
je 0x7fff25df1410
cmp eax, 0xc0000002
jne 0x7fff25d921e3
xor edi, edi
jmp 0x7fff25d921da
test r15d, r15d
jne 0x7fff25df1517
mov ecx, dword [rbx + 4]
lea eax, [rcx + 0x7fffffdd]
cmp eax, 3
jbe 0x7fff25df1517
cmp ecx, 0xa000001d
je 0x7fff25df1517
cmp ecx, 0xa0000003
je 0x7fff25df1506
cmp ecx, 0xa000000c
jne 0x7fff25df145b
test r13d, r13d
jne 0x7fff25df1506
test r12d, r12d
je 0x7fff25d921e1
cmp ecx, 0x80000017
jne 0x7fff25d921e1
xorps xmm0, xmm0
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
movups xmmword [rbp - 0x79], xmm0
lea ebx, [r9 + 1]
mov edx, ebx
movups xmmword [rbp - 0x69], xmm0
call sym.KERNELBASE.dll_CreateEventA
mov qword [rbp - 0x61], rax
test rax, rax
je 0x7fff25d921e1
mov rcx, qword [rsp + 0x48]
lea rax, [rbp - 0x79]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov edx, 0x900a8
lea rax, [rbp - 0x49]
mov dword [rsp + 0x28], 0x38
mov qword [rsp + 0x20], rax
call sym.KERNELBASE.dll_DeviceIoControl
test eax, eax
je 0x7fff25df14f7
cmp dword [rbp - 0x41], ebx
jne 0x7fff25df14f7
cmp dword [rbp - 0x3d], 2
jne 0x7fff25df14f7
cmp dword [rbp - 0x39], ebx
jne 0x7fff25df14f7
mov rcx, qword [rsp + 0x50]
mov eax, dword [rbp - 0x35]
mov dword [rsi], ebx
mov dword [r14], ebx
mov dword [rcx], eax
mov rcx, qword [rbp - 0x61]
call sym.KERNELBASE.dll_CloseHandle
nop
jmp 0x7fff25d921e1
mov rax, qword [rsp + 0x40]
mov ebx, 1
mov dword [rax], ebx
jmp 0x7fff25d921e1
mov ebx, 1
mov dword [rsi], ebx
mov dword [r14], ebx
jmp 0x7fff25d921e1
Function at 0x7fff25d93d70
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp dword [0x7fff25fd2340], 0
je 0x7fff25d93da8
mov eax, dword [0x7fff25fd2c00]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.7fff25dce640
add rsp, 0x60
pop rbx
ret
mov ebx, 1
lea r8, [0x7fff25e56038]
mov edx, ebx
lea rcx, [rsp + 0x30]
call qword [sym.imp.ntdll.dll_NtOpenKey]
nop dword [rax + rax]
test eax, eax
js 0x7fff25d93e17
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
lea r8d, [rbx + 1]
mov dword [rsp + 0x20], 0x14
lea rdx, [0x7fff25e56068]
call qword [sym.imp.ntdll.dll_NtQueryValueKey]
nop dword [rax + rax]
test eax, eax
jns 0x7fff25df1590
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
mov dword [0x7fff25fd2340], ebx
jmp 0x7fff25d93d8e
cmp dword [rsp + 0x44], 4
jne 0x7fff25d93e06
cmp dword [rsp + 0x48], 4
jne 0x7fff25d93e06
mov eax, dword [0x7fff25fd2c00]
cmp dword [rsp + 0x4c], 0
cmove eax, ebx
mov dword [0x7fff25fd2c00], eax
jmp 0x7fff25d93e06

Function at 0x7fff25d93ee4
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp + 0x4f], rax
xor ebx, ebx
mov dword [rbp + 7], 0x30
lea rax, [0x7fff25e56378]
movzx edi, bl
xorps xmm0, xmm0
mov qword [rbp - 9], rbx
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rbx
mov edx, 0x20019
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 9]
mov dword [rbp + 0x1f], 0x40
movdqu xmmword [rbp + 0x27], xmm0
call qword [sym.imp.ntdll.dll_NtOpenKey]
nop dword [rax + rax]
test eax, eax
js 0x7fff25df1606
mov rcx, qword [rbp - 9]
lea rax, [rbp - 1]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x37]
lea r8d, [rbx + 2]
mov dword [rsp + 0x20], 0x14
lea rdx, [0x7fff25e56368]
call qword [sym.imp.ntdll.dll_NtQueryValueKey]
nop dword [rax + rax]
test eax, eax
js 0x7fff25df15f6
cmp dword [rbp + 0x3b], 4
jne 0x7fff25d93fa1
cmp dword [rbp + 0x3f], 4
movzx eax, byte [rbp + 0x43]
cmove edi, eax
mov rcx, qword [rbp - 9]
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
test dil, dil
jne 0x7fff25d94001
lea rax, [0x7fff25f09e08]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rcx, [0x7fff25fd2860]
mov edx, 0x5f3142
call fcn.7fff25d9400c
mov al, bl
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.7fff25dce640
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
mov bl, 1
jmp 0x7fff25d93fdd
mov rcx, qword [rbp - 9]
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
xor al, al
jmp 0x7fff25d93fdf
Function at 0x7fff25d9a550
Capabilities:
Check for peb beingdebugged flag

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rbx, qword [rax + 0x20]
call qword [sym.imp.ntdll.dll_RtlAcquirePebLock]
nop dword [rax + rax]
mov rbx, qword [rbx + 0x80]
mov rsi, rbx
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rbx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x7fff25d9a590
lea rbx, [rbx + rax*2]
add rbx, 2
cmp word [rbx], 0
jne 0x7fff25d9a582
mov rcx, qword gs:[0x60]
sub rbx, rsi
mov edx, dword [0x7fff25fd0c80]
add edx, 0x180000
mov rcx, qword [rcx + 0x30]
lea r8, [rbx + 2]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x7fff25df2040
lea r8, [rbx + 2]
mov rdx, rsi
mov rcx, rax
call sub.ntdll.dll_memcpy
call qword [sym.imp.ntdll.dll_RtlReleasePebLock]
nop dword [rax + rax]
mov rax, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
Function at 0x7fff25d9e4e0
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp + 8], rax
mov rbx, rdx
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x68]
mov r9d, 0x18
lea r8, [rbp - 0x10]
mov rdi, rcx
call qword [sym.imp.ntdll.dll_NtQueryVolumeInformationFile]
nop dword [rax + rax]
mov esi, 0xc0000000
mov ecx, eax
and eax, esi
cmp eax, esi
je 0x7fff25df3310
mov eax, dword [rbp - 8]
lea r8, [rbp - 0x80]
mov r9d, 0x68
mov dword [rsp + 0x4c], eax
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x20], 0x12
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
mov ecx, eax
and eax, esi
cmp eax, esi
je 0x7fff25df3310
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp - 0x48]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x34], rax
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x3c], rax
mov rax, qword [rbp - 0x70]
movups xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x44], rax
mov eax, dword [rbp - 0x4c]
movups xmm1, xmmword [rsp + 0x40]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x50]
movups xmmword [rbx], xmm0
mov dword [rsp + 0x58], ecx
mov ecx, dword [rbp - 0x3c]
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rsp + 0x5c], ecx
movups xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rbp - 0x40]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm0
mov dword [rbx + 0x30], ecx
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.7fff25dce640
mov rbx, qword [rsp + 0x140]
add rsp, 0x110
pop rdi
pop rsi
pop rbp
ret
call fcn.7fff25d6b370
xor eax, eax
jmp 0x7fff25d9e5d8
Function at 0x7fff25d9eaf8
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp + 0x5c0], rax
xor edi, edi
mov rbx, rdx
lea esi, [rdi + 1]
test rcx, rcx
jne 0x7fff25d9eba2
test rbx, rbx
je 0x7fff25d9eb7d
mov eax, 0xfffe
mov dword [rsp + 0x50], 0x30
add word [rbx], ax
lea r8, [rsp + 0x50]
xorps xmm0, xmm0
mov qword [rsp + 0x58], rdi
mov edx, esi
mov dword [rsp + 0x68], 0x40
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x60], rbx
movdqu xmmword [rsp + 0x70], xmm0
call qword [sym.imp.ntdll.dll_NtOpenSymbolicLinkObject]
nop dword [rax + rax]
add word [rbx], 2
test eax, eax
jns 0x7fff25d9ebe3
mov eax, edi
mov rcx, qword [rbp + 0x5c0]
xor rcx, rsp
call fcn.7fff25dce640
mov rbx, qword [rsp + 0x700]
add rsp, 0x6d0
pop rdi
pop rsi
pop rbp
ret
mov r9d, 0x218
mov dword [rsp + 0x20], 9
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x80]
call qword [sym.imp.ntdll.dll_NtQueryInformationFile]
nop dword [rax + rax]
test eax, eax
js 0x7fff25d9eb2d
mov eax, dword [rbp - 0x70]
shr eax, 1
sub eax, esi
cmp word [rbp + rax*2 - 0x6c], 0x5c
jne 0x7fff25d9eb2d
mov edi, esi
jmp 0x7fff25d9eb7d
mov rcx, qword [rsp + 0x38]
lea rax, [rbp + 0x1b0]
lea r8, [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x4100000
mov dword [rsp + 0x30], edi
call qword [sym.imp.ntdll.dll_NtQuerySymbolicLinkObject]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x38]
mov ebx, eax
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
test ebx, ebx
cmovns edi, esi
jmp 0x7fff25d9eb7d
Function at 0x7fff25da0c08
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rsi, qword gs:[0x60]
mov rdi, rcx
mov ecx, dword [rcx + 8]
mov rbp, r8
mov r14, rdx
call fcn.7fff25d7acf8
mov rbx, rax
test rax, rax
je 0x7fff25df3e2e
mov r8d, dword [rdi + 8]
mov rdx, rdi
mov rcx, rax
call sub.ntdll.dll_memcpy
mov rdi, qword [rsi + 0x20]
or rcx, 0xffffffffffffffff
mov rdx, qword [rdi + 0x400]
call qword [sym.imp.ntdll.dll_NtUnmapViewOfSection]
nop dword [rax + rax]
and qword [rdi + 0x400], 0
mov r9d, 3
mov r8, r14
mov rdx, rbx
mov rcx, rbp
call fcn.7fff25d7a604
mov edi, eax
test eax, eax
js 0x7fff25df3e38
xor ebx, ebx
test byte [rsi + 3], 2
jne 0x7fff25da0cc7
xor edi, edi
mov rcx, rbx
call fcn.7fff25d7b4f4
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov rcx, qword [rbp + 0x58]
mov eax, dword [rcx + 0x18]
add rcx, 0x18
add rcx, rax
call sym.KERNELBASE.dll_SetCurrentDirectoryW
test eax, eax
jne 0x7fff25da0c9f
jmp 0x7fff25df3e57
mov edi, 0x8007000e
jmp 0x7fff25da0ca1
mov rcx, qword [rsp + 0x28]
lea r8, [0x7fff25fa2b70]
mov r9d, eax
mov edx, 0xaf
call fcn.7fff25d81fe8
nop
jmp 0x7fff25da0ca1
call sym.KERNELBASE.dll_GetLastError
mov edi, eax
test eax, eax
jle 0x7fff25da0ca1
movzx edi, ax
or edi, 0x80070000
jmp 0x7fff25da0ca1

Function at 0x7fff25da1950
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
test rcx, rcx
je 0x7fff25da1972
mov eax, dword [0x7fff25fd0df8]
cmp rcx, rax
jb 0x7fff25df4118
and r8d, 0xffffffc0
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], r8d
lea r9, [rsp + 0x48]
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [r8 - 1]
call qword [sym.imp.ntdll.dll_NtAllocateVirtualMemory]
nop dword [rax + rax]
test eax, eax
js 0x7fff25da19ac
mov rax, qword [rsp + 0x40]
add rsp, 0x38
ret
mov ecx, eax
call fcn.7fff25d6b370
xor eax, eax
jmp 0x7fff25da19a6
mov ecx, 0x57
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
nop dword [rax + rax]
nop
jmp 0x7fff25da19b3
Function at 0x7fff25da3280
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x7fff25fcfe70]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword gs:[0x60]
mov rdi, rdx
mov rdx, rcx
mov r8, qword [rax + 0x20]
mov rcx, qword [r8 + 0x10]
test rcx, rcx
jle 0x7fff25df4560
and dword [rsp + 0x48], 0
lea rax, [rsp + 0x50]
and qword [rsp + 0x40], 0
mov r8d, 4
mov qword [rbp - 0x68], rax
xor r9d, r9d
lea rax, [rsp + 0x58]
mov dword [rsp + 0x38], 0x30
mov qword [rbp - 0x58], rax
lea eax, [r8 - 3]
mov dword [rsp + 0x54], r8d
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x74], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov dword [rbp - 0x60], r8d
xor r8d, r8d
mov qword [rbp - 0x80], rdx
xor edx, edx
mov dword [rsp + 0x28], 0x500016
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 0x1000001
mov dword [rbp - 0x70], 0xc
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x7fff25da337a
mov ecx, dword [rsp + 0x58]
mov dword [rdi], ecx
not ebx
shr ebx, 0x1f
mov eax, ebx
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.7fff25dce640
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov ecx, ebx
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
nop dword [rax + rax]
jmp 0x7fff25da3351
mov ebx, 0xc0000008
jmp 0x7fff25da337a