joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180002890
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x18002c008]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rsi, rcx
xor edx, edx
mov rcx, qword gs:[0x60]
lea r8d, [rdx + 0x30]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x1800029aa
mov rcx, qword [0x18002c868]
lea r9, [rsp + 0x40]
and qword [rax + 0x10], 0
xor edx, edx
and dword [rax + 0x18], 0
mov rdi, rbx
and qword [rbx + 0x20], 0
lea rax, sym.ulib.dll_const_DSTRING::vftable
and dword [rbx + 0x28], 0
mov qword [rbx + 8], rcx
lea rcx, [rsi + 0x218]
or esi, 0xffffffff
mov byte [rsp + 0x28], 1
mov r8d, esi
mov qword [rbx], rax
mov dword [rsp + 0x20], 0x104
call sym.ulib.dll_public:_unsigned_short_int____ptr64___cdecl_WSTRING::QueryWSTR_unsigned_long_int__unsigned_long_int__unsigned_short_int____ptr64__unsigned_long_int__unsigned_char_const___ptr64
test rax, rax
je 0x18000e266
lea r9, [rsp + 0x30]
mov edx, 0x104
lea r8, [rsp + 0x250]
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFullPathNameW]
nop dword [rax + rax]
test eax, eax
je 0x18000e266
mov r8d, esi
lea rdx, [rsp + 0x250]
mov rcx, rbx
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_unsigned_short_int_const____ptr64__unsigned_long_int____ptr64
test al, al
je 0x18000e266
mov rax, rbx
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.18000d460
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
xor eax, eax
jmp 0x180002984
mov rax, qword [rdi]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, rdi
call qword [0x1800214b0]
nop
jmp 0x1800029aa
Function at 0x180004690
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov r8, qword [rcx + 0x18]
lea rax, [0x180020300]
xor edi, edi
mov qword [rcx], rax
mov dword [rcx + 0x10], edi
mov rbx, rcx
test r8, r8
je 0x1800046d4
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov qword [rbx + 0x18], rdi
lea rax, vtable.LL__qHV_.0
mov qword [rbx + 0x20], rdi
mov qword [rbx], rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

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

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, 0x20
mov r14, rcx
mov ebp, edx
mov rcx, qword gs:[0x60]
xor edx, edx
mov edi, r8d
mov rcx, qword [rcx + 0x30]
lea r8d, [rdx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
xor esi, esi
mov rbx, rax
test rax, rax
je 0x18000f201
mov qword [rax + 0x10], rsi
mov dword [rax + 0x18], esi
lea rax, sym.ulib.dll_const_DSTRING::vftable
mov qword [rbx], rax
mov rax, qword [0x18002c868]
mov qword [rbx + 8], rax
mov qword [rbx + 0x20], rsi
mov dword [rbx + 0x28], esi
mov eax, dword [r14 + 0x18]
sub eax, ebp
cmp edi, eax
jb 0x180005b3e
mov edi, eax
movabs r10, 0xa83017b4345c9970
mov rax, qword [sym.ulib.dll_public_virtual:_unsigned_char___cdecl_DSTRING::NewBuf_unsigned_long_int____ptr64]
mov edx, edi
mov rcx, rbx
call qword [0x1800214b0]
test al, al
je 0x18000f1d0
mov rcx, qword [r14 + 0x10]
mov r8d, edi
add r8, r8
lea rdx, [rcx + rbp*2]
mov rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, rbx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov ecx, 0xc0000017
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
mov rax, qword [rbx]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, rbx
call qword [0x1800214b0]
jmp 0x18000f212
mov ecx, 0xc0000017
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
mov rax, rsi
jmp 0x180005b7c
Function at 0x180008080
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
and dword [rcx + 0x24], 0
mov rsi, rcx
and dword [rcx + 0x28], 0
mov r8d, 0x100
mov qword [rcx + 0x10], rdx
xor edx, edx
mov dword [rcx + 0x20], 0x40
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov qword [rsi + 0x18], rax
test rax, rax
je 0x180008242
or r8d, 0xffffffff
lea rdx, [0x180022188]
lea rcx, [rsi + 0x60]
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_unsigned_short_int_const____ptr64__unsigned_long_int____ptr64
test al, al
je 0x180008242
or r8d, 0xffffffff
lea rdx, [0x18002218c]
lea rcx, [rsi + 0x30]
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_unsigned_short_int_const____ptr64__unsigned_long_int____ptr64
test al, al
je 0x180008242
lea rcx, [rsi + 0x150]
mov rax, qword [rcx]
movabs r10, 0xf9159e96785a6370
mov rax, qword [rax + 0x18]
xor edx, edx
call qword [0x1800214b0]
test al, al
je 0x180008242
lea r14, [rsi + 0xc0]
mov rax, qword [r14]
movabs r10, 0xf9159e96785a6370
mov rax, qword [rax + 0x18]
xor edx, edx
mov rcx, r14
call qword [0x1800214b0]
test al, al
je 0x180008242
lea rcx, [rsi + 0x120]
mov rax, qword [rcx]
movabs r10, 0xf9159e96785a6370
mov rax, qword [rax + 0x18]
xor edx, edx
call qword [0x1800214b0]
test al, al
je 0x180008242
lea rcx, [rsi + 0x180]
mov rax, qword [rcx]
movabs r10, 0xf9159e96785a6370
mov rax, qword [rax + 0x18]
xor edx, edx
call qword [0x1800214b0]
test al, al
je 0x180008242
lea rbx, [rsi + 0x90]
mov rax, qword [rbx]
movabs r10, 0xf9159e96785a6370
mov rax, qword [rax + 0x18]
xor edx, edx
mov rcx, rbx
call qword [0x1800214b0]
lea rdi, [rsi + 0xf0]
or r9d, 0xffffffff
mov rcx, rdi
xor r8d, r8d
mov rdx, rbx
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Initialize_class_WSTRING_const____ptr64__unsigned_long_int__unsigned_long_int____ptr64
lea rdx, [rsi + 0x30]
mov rcx, rdi
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Strcat_class_WSTRING_const____ptr64____ptr64
lea rdx, [rsi + 0x60]
mov rcx, rdi
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Strcat_class_WSTRING_const____ptr64____ptr64
mov rdx, r14
mov rcx, rdi
call sym.ulib.dll_public:_unsigned_char___cdecl_WSTRING::Strcat_class_WSTRING_const____ptr64____ptr64
mov al, 1
mov word [rsi + 0x1d8], 1
mov byte [rsi + 0x1da], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
xor al, al
jmp 0x180008228
Function at 0x180008a90
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov dword [rcx + 0x80], r8d
mov word [rcx + 0x84], bp
mov rax, rdx
mov qword [rcx + 0x70], rdx
mov rbx, rcx
mov sil, bpl
test r8d, r8d
je 0x18000fd74
mov byte [rcx + 0xa1], bpl
neg sil
sbb edx, edx
and edx, 0xff00
add edx, 0x100
mov rcx, rbx
call fcn.180008b08
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
lea rdi, [rcx + 0x90]
mov byte [rcx + 0xa1], 1
mov r8, rdi
mov qword [rsp + 0x40], rbp
mov r9d, 2
mov rdx, rbp
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointerEx]
nop dword [rax + rax]
test eax, eax
je 0x18000fe5d
cmp qword [rdi], rbp
jne 0x18000fdc9
lea rdi, [rbx + 0x88]
mov byte [rbx + 0xa0], 1
mov qword [rdi], rbp
mov byte [rbx + 0x84], 1
jmp 0x18000fe3f
mov rcx, qword [rbx + 0x70]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
xor edx, edx
mov dword [rsp + 0x20], ebp
lea r8d, [r9 + 2]
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_CreateFileMappingW]
nop dword [rax + rax]
mov qword [rbx + 0x78], rax
test rax, rax
je 0x18000fe5d
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_MapViewOfFile]
nop dword [rax + rax]
lea rdi, [rbx + 0x88]
mov qword [rdi], rax
test rax, rax
jne 0x18000fe3f
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbx + 0x78], rbp
mov sil, 1
mov byte [rbx + 0xa1], bpl
cmp byte [rbx + 0xa1], bpl
je 0x180008ad1
mov rax, qword [rdi]
xor edx, edx
mov qword [rbx + 0x98], rax
jmp 0x180008ae2
xor al, al
jmp 0x180008aea
Function at 0x18000ad80
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push rbx
sub rsp, 0x20
and dword [rcx + 0x10], 0
mov rbx, rcx
mov r8, qword [rcx + 0x18]
test r8, r8
jne 0x180010b12
and qword [rbx + 0x20], 0
add rsp, 0x20
pop rbx
ret
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
jmp 0x18000ad9a
Function at 0x18000c460
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x20]
mov rbx, rcx
mov edi, r8d
test rax, rax
jne 0x180010b38
lea eax, [rdx + rdi]
mov dword [rcx + 0x10], edx
cmp eax, edx
jb 0x18000c4c9
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8d, eax
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x18000c4c9
mov ecx, edi
add rax, rdi
not rcx
and rax, rcx
mov qword [rbx + 0x20], rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
xor eax, eax
jmp 0x18000c4bd
cmp edx, dword [rcx + 0x10]
ja 0x18000c4c9
test rax, rdi
jne 0x18000c4c9
jmp 0x18000c4bd

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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov r8, qword [rcx + 0x18]
xor edi, edi
mov dword [rcx + 0x10], edi
mov rbx, rcx
test r8, r8
jne 0x18000c51d
mov qword [rcx + 0x20], rdi
mov al, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov qword [rbx + 0x18], rdi
mov al, 1
mov qword [rbx + 0x20], rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x18000d810
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18000d838
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x18000d838
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov r8, qword [rcx + 0x18]
lea rax, [0x180020b70]
mov qword [rcx], rax
mov rbx, rcx
test r8, r8
je 0x18001364c
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
lea rax, vtable.LL__qHV_.0
mov qword [rbx], rax
add rsp, 0x20
pop rbx
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, r8d
mov rdi, rdx
mov r8, qword [rcx + 0x18]
mov rbx, rcx
test r8, r8
je 0x1800137b1
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 rax, qword [rdi]
movabs r10, 0x89d5bef330d63170
mov rax, qword [rax + 0x20]
mov rcx, rdi
call qword [0x1800214b0]
test eax, 0xfffffffd
jne 0x18001380c
mov rcx, qword gs:[0x60]
mov r8, rsi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x18001380c
and dword [rbx + 0x2c], 0
mov qword [rbx + 0x20], rax
mov al, 1
mov qword [rbx + 0x10], rdi
mov dword [rbx + 0x28], esi
jmp 0x18001380e
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x180016174
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x40
mov rbx, rcx
xor ebp, ebp
test r9d, r9d
mov ecx, 0x80
mov rsi, rdx
mov dil, bpl
cmovne ecx, r9d
mov r15d, 0xc0000000
test r8d, r8d
mov dword [rbx + 0x80], r8d
mov word [rbx + 0x84], 0x100
sete al
mov byte [rbx + 0xa0], bpl
mov byte [rbx + 0xa1], al
test r8d, r8d
jne 0x1800161d8
lea eax, [rbp + 3]
mov edx, 0x80000000
mov r8d, eax
jmp 0x1800161f7
cmp r8d, 1
mov r8d, 1
jne 0x1800161ef
mov edx, 0x40000000
lea eax, [r8 + 3]
jmp 0x1800161f7
mov edx, r15d
mov eax, 3
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsi + 0x238]
mov dword [rsp + 0x20], eax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
nop dword [rax + rax]
mov qword [rbx + 0x70], rax
cmp rax, 0xffffffffffffffff
je 0x18001631e
cmp byte [rbx + 0xa1], bpl
je 0x18001630b
mov ecx, dword [rsi + 0x290]
mov dword [rsp + 0x60], ecx
mov ecx, dword [rsi + 0x28c]
mov dword [rsp + 0x64], ecx
mov rcx, qword [rsp + 0x60]
mov qword [rbx + 0x90], rcx
test rcx, rcx
jne 0x180016271
mov qword [rbx + 0x88], rbp
mov byte [rbx + 0xa0], 1
mov byte [rbx + 0x84], 1
jmp 0x1800162e8
cmp rcx, r15
ja 0x1800162de
xor r9d, r9d
mov qword [rsp + 0x28], rbp
xor edx, edx
mov dword [rsp + 0x20], ebp
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_CreateFileMappingW]
nop dword [rax + rax]
mov qword [rbx + 0x78], rax
test rax, rax
je 0x1800162de
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_MapViewOfFile]
nop dword [rax + rax]
mov qword [rbx + 0x88], rax
test rax, rax
jne 0x1800162e8
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbx + 0x78], rbp
mov byte [rbx + 0xa1], bpl
mov dil, 1
cmp byte [rbx + 0xa1], bpl
je 0x18001630b
mov rax, qword [rbx + 0x88]
xor edx, edx
mov qword [rbx + 0x98], rax
mov rcx, rbx
call fcn.180008b08
jmp 0x180016320
neg dil
sbb edx, edx
and edx, 0xff00
add edx, 0x100
jmp 0x180016301
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop rdi
pop rsi
ret
Function at 0x180017fc0
Capabilities:
Access peb ldr_data
Get kernel32 base address
Set file attributes

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 + 8], rcx
push rbp
push r14
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xb0
movzx eax, word [rdx + 0x18]
lea r9, [rbp + 7]
xor r15d, r15d
mov dword [rbp + 0x17], 0x30
mov dword [r11 - 0x78], r15d
lea rcx, [rbp + 0x67]
mov qword [r11 - 0x80], r15
add ax, ax
xorps xmm0, xmm0
mov dword [rsp + 0x40], 0x204040
movups xmmword [rbp - 9], xmm0
mov word [rbp - 9], ax
mov r14, r8
mov word [rbp - 7], ax
lea r8, [rbp + 0x17]
mov rax, qword [rdx + 0x10]
mov edx, 0x110000
mov dword [rsp + 0x38], 1
mov qword [rbp - 1], rax
lea rax, [rbp - 9]
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x67], r15
mov qword [rbp + 0x1f], r15
mov dword [rbp + 0x2f], 0x40
movdqu xmmword [rbp + 0x37], xmm0
mov qword [rsp + 0x20], r15
movups xmmword [rbp + 7], xmm0
call qword [sym.imp.ntdll.dll_NtCreateFile]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x180018106
mov ebx, dword [r14 + 0x18]
xor edx, edx
mov rcx, qword gs:[0x60]
add ebx, ebx
mov esi, ebx
mov rcx, qword [rcx + 0x30]
lea r8, [rbx + 0x18]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x1800180b5
mov ebx, 0xc0000017
jmp 0x180018106
xorps xmm0, xmm0
lea rcx, [rdi + 0x14]
movups xmmword [rdi], xmm0
xor eax, eax
mov r8, rsi
mov qword [rdi + 0x10], rax
mov rdx, qword [r14 + 0x10]
call sub.msvcrt.dll_memcpy
mov byte [rdi], r15b
lea r9d, [rbx + 0x18]
mov qword [rdi + 8], r15
lea rdx, [rbp + 7]
mov dword [rdi + 0x10], ebx
mov r8, rdi
mov rcx, qword [rbp + 0x67]
mov dword [rsp + 0x20], 0xa
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
nop dword [rax + rax]
test eax, eax
mov ebx, eax
cmovns ebx, r15d
mov rcx, qword [rbp + 0x67]
test rcx, rcx
je 0x18001811b
call qword [sym.imp.ntdll.dll_NtClose]
nop dword [rax + rax]
lea r11, [rsp + 0xb0]
mov eax, ebx
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x180019670
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x40
and qword [rax + 0x18], 0
lea rbp, [0x180020890]
mov edi, edx
mov dword [rax - 0x18], edx
lea rdx, [rax - 0x28]
mov qword [rax - 0x28], rbp
lea r8, [rax + 0x18]
mov rsi, rcx
call fcn.180012764
test rax, rax
je 0x1800196b3
inc dword [rax + 0x14]
jmp 0x180019719
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
lea r8d, [rdx + 0x18]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x180019719
mov qword [rax], rbp
lea r8, [rsp + 0x60]
mov rdx, rax
mov dword [rax + 0x10], edi
mov rcx, rsi
mov dword [rax + 0x14], 1
call sym.ulib.dll_public:_unsigned_char___cdecl_ARRAY::OrderedInsert_class_OBJECT____ptr64__void____ptr64____ptr64____ptr64
test al, al
jne 0x180019719
mov rax, qword [rbx]
movabs r10, 0xfd980fd51c5c1870
mov rax, qword [rax]
mov edx, 1
mov rcx, rbx
call qword [0x1800214b0]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x1800197c0
Capabilities:
Get disk information

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x660
mov rax, qword [0x18002c008]
xor rax, rsp
mov qword [rsp + 0x650], rax
mov rsi, r8
mov r14, rdx
mov r12d, 0x104
lea rdx, [rsp + 0x230]
mov r8d, r12d
mov rbp, rcx
call qword [sym.imp.KERNELBASE.dll_GetVolumeNameForVolumeMountPointW]
nop dword [rax + rax]
xor r15d, r15d
test eax, eax
je 0x180019986
mov rdx, r14
lea rcx, [rsp + 0x230]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x180019859
mov r8, rbp
mov edx, r12d
mov rcx, rsi
call fcn.180012aac
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rsi + rbx*2], r15w
jne 0x180019842
mov word [rsi + rbx*2 - 2], r15w
mov al, 1
jmp 0x180019988
call fcn.18000d958
test al, al
je 0x180019975
mov ecx, 1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
nop dword [rax + rax]
mov r8d, r12d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x230]
mov ebx, eax
call qword [sym.imp.ext_ms_win_fsutilext_ulib_l1_1_0.dll_FindFirstVolumeMountPointWStub]
nop dword [rax + rax]
mov ecx, ebx
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
nop dword [rax + rax]
or rbx, 0xffffffffffffffff
cmp rdi, rbx
je 0x180019986
mov rcx, rbx
inc rcx
cmp word [rbp + rcx*2], r15w
jne 0x1800198b6
lea rdx, [rsp + 0x20]
mov rax, rbx
inc rax
cmp word [rdx + rax*2], r15w
jne 0x1800198c9
add rcx, rax
cmp rcx, r12
jae 0x180019966
mov r8, rbp
lea rcx, [rsp + 0x440]
mov rdx, r12
call fcn.180012aac
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x440]
call fcn.18001a544
mov r8, rsi
lea rcx, [rsp + 0x440]
mov rdx, r14
call fcn.1800197c0
mov rcx, rdi
test al, al
jne 0x1800199ab
mov r8d, r12d
lea rdx, [rsp + 0x20]
call qword [sym.imp.ext_ms_win_fsutilext_ulib_l1_1_0.dll_FindNextVolumeMountPointWStub]
nop dword [rax + rax]
test eax, eax
je 0x180019966
mov rax, rbx
inc rax
cmp word [rbp + rax*2], r15w
jne 0x18001993d
lea rdx, [rsp + 0x20]
mov rcx, rbx
inc rcx
cmp word [rdx + rcx*2], r15w
jne 0x180019950
add rax, rcx
cmp rax, r12
jb 0x1800198df
mov rcx, rdi
call qword [sym.imp.ext_ms_win_fsutilext_ulib_l1_1_0.dll_FindVolumeMountPointCloseStub]
nop dword [rax + rax]
mov ecx, 0xc0000033
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
xor al, al
mov rcx, qword [rsp + 0x650]
xor rcx, rsp
call fcn.18000d460
add rsp, 0x660
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.ext_ms_win_fsutilext_ulib_l1_1_0.dll_FindVolumeMountPointCloseStub]
nop dword [rax + rax]
jmp 0x180019852
Function at 0x18001b330
Capabilities:
Manipulate console buffer

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx + 0x50]
mov word [rsp + 0x3a], dx
mov word [rsp + 0x38], r8w
mov edx, dword [rsp + 0x38]
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_SetConsoleCursorPosition]
nop dword [rax + rax]
test eax, eax
setne al
add rsp, 0x28
ret
Function at 0x18001d8e0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x40
and qword [rsp + 0x30], 0
lea rax, [rsp + 0x60]
and dword [rsp + 0x28], 0
mov ebx, edx
mov r8d, ecx
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0x1300
xor r9d, r9d
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_FormatMessageW]
nop dword [rax + rax]
test eax, eax
je 0x18001d943
mov rdx, qword [rsp + 0x60]
lea rcx, [0x1800229d8]
call qword [sym.imp.msvcrt.dll_wprintf]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
test ebx, ebx
je 0x18001d959
mov ecx, 5
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_ExitProcess]
add rsp, 0x40
pop rbx
ret

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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov r15, qword [rcx + 0x228]
mov rsi, r8
and dword [rax + 8], 0
mov r14d, edx
mov rcx, qword gs:[0x60]
mov edi, 0x1770
mov r8d, edi
xor edx, edx
mov rbp, r9
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x18001da63
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rbp
mov r9d, edi
mov qword [rsp + 0x20], rax
mov r8, rbx
mov edx, r14d
mov rcx, r15
call fcn.18001da98
test al, al
jne 0x18001da52
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x18001da74
mov rcx, rbx
mov edi, eax
call qword [sym.imp.KERNELBASE.dll_GlobalFree]
nop dword [rax + rax]
mov rcx, qword gs:[0x60]
mov r8d, edi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x18001da63
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rbp
mov r9d, edi
mov qword [rsp + 0x20], rax
mov r8, rbx
mov edx, r14d
mov rcx, r15
call fcn.18001da98
test al, al
je 0x18001da74
mov dword [rsi], edi
mov al, 1
mov qword [rsi + 8], rbx
mov dword [rsi + 0x10], 1
jmp 0x18001da76
mov ecx, 0xc0000017
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret