joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140076858
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rdi, qword [0x14017de00]
mov rax, qword [0x14017de08]
mov rsi, rcx
mov ebx, 1
jmp 0x1400768ff
test ebx, ebx
js 0x140076a3e
mov r14, qword [rdi]
test r14, r14
je 0x1400768fb
mov r9, qword [r14 + 0x10]
and qword [rsp + 0x40], 0
test r9, r9
jne 0x1400768a8
xor ebx, ebx
jmp 0x1400768fb
mov rcx, qword [r14 + 0x18]
lea r8, [rsp + 0x40]
lea rdx, [0x1400072d8]
call r9
mov ebx, eax
test eax, eax
js 0x1400768e4
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r14]
mov r9d, 5
lea rax, [r14 + 0x28]
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ole32.dll_CoRegisterClassObject]
mov ebx, eax
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400768f4
mov rax, qword [rcx]
call qword [rax + CoRevokeClassObject]
mov rax, qword [0x14017de08]
add rdi, 8
cmp rdi, rax
jb 0x140076885
test ebx, ebx
js 0x140076a3e
lea r14, [0x1400072e8]
jne 0x140076a22
cmp byte [rsi + 0x60], 0
je 0x1400769c0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi + 0x50], rax
test rax, rax
je 0x1400769b9
lea rax, [rsp + 0x40]
lea r8, [0x14007712c]
mov r9, rsi
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x140076971
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rdi, rdi
je 0x1400769b9
call qword [sym.imp.ole32.dll_CoResumeClassObjects]
mov ebx, eax
test eax, eax
jns 0x1400769ae
lea rcx, [0x1400019a8]
mov r8, r14
mov edx, 0xd9a
call fcn.1400a8be8
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, dword [rsi + 0x58]
mov rcx, rdi
add edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400769e0
mov ebx, 0x80004005
jmp 0x1400769e4
call qword [sym.imp.ole32.dll_CoResumeClassObjects]
mov ebx, eax
test eax, eax
jns 0x140076a3e
lea rcx, [0x1400019a8]
mov r8, r14
mov edx, 0xda5
call fcn.1400a8be8
test ebx, ebx
jns 0x140076a3e
mov rdi, qword [0x14017de00]
mov rcx, qword [0x14017de08]
xor eax, eax
jmp 0x140076a1b
test eax, eax
jne 0x140076a26
mov rdx, qword [rdi]
test rdx, rdx
je 0x140076a17
cmp dword [rdx + 0x28], eax
je 0x140076a17
mov ecx, dword [rdx + 0x28]
call qword [sym.imp.ole32.dll_CoRevokeClassObject]
mov rcx, qword [0x14017de08]
add rdi, 8
cmp rdi, rcx
jb 0x1400769f6
jmp 0x140076a26
mov byte [rsi + 0x60], 0
test ebx, ebx
jns 0x140076a3e
lea rcx, [0x1400019a8]
mov r8, r14
mov edx, 0xdc5
call fcn.1400a8be8
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop r14
ret
Function at 0x140076a5c
Capabilities:
Delete registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
mov sil, cl
xor edx, edx
mov r8d, 0xf003f
xor ecx, ecx
xor edi, edi
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
je 0x140076ace
lea r8d, [rdi + 1]
lea rdx, [0x14017e6c8]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x140076ab7
mov rcx, rax
mov edi, 1
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test edi, edi
je 0x140076ace
mov eax, 0x80004005
jmp 0x140076c42
and qword [rbp - 0x18], 0
and qword [rbp - 0x10], 0
mov edx, 1
lea rax, [0x1400076a8]
lea rbx, [0x140006df0]
lea ecx, [rdx + 0x66]
lea r8, [rbp - 0x28]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rbx
call fcn.14001d0f4
test eax, eax
js 0x140076c42
and qword [rbp - 0x28], 0
and qword [rbp - 0x20], 0
and qword [rbp - 0x18], 0
lea r8, [0x140001aa8]
lea rcx, [rbp - 0x28]
mov r9d, 0x20006
mov rdx, 0xffffffff80000000
call fcn.14001b008
test eax, eax
je 0x140076b56
mov ecx, eax
call fcn.14001ae34
mov rcx, qword [rbp - 0x28]
mov ebx, eax
test rcx, rcx
je 0x140076b4f
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x140076c42
and qword [rbp - 0x40], 0
and qword [rbp - 0x38], 0
and qword [rbp - 0x30], 0
mov r8, rbx
mov rbx, qword [rbp - 0x28]
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.14001af54
test eax, eax
je 0x140076ba9
mov ecx, eax
call fcn.14001ae34
mov rcx, qword [rbp - 0x40]
mov edi, eax
test rcx, rcx
je 0x140076b94
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x140076ba2
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x140076c42
mov rdi, qword [rbp - 0x40]
test rdi, rdi
jne 0x140076bca
lea r8, [0x1400019c8]
lea rcx, [0x1400019a8]
mov edx, 0x14ea
call fcn.1400a8be8
lea rdx, [0x140006f88]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test sil, sil
je 0x140076c24
lea r8, [0x14017e6c8]
lea rdx, [0x140006f88]
lea rcx, [rbp - 0x40]
call fcn.14001b0c4
call fcn.140076e90
test eax, eax
jne 0x140076c24
test rdi, rdi
je 0x140076c0d
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x140076ac4
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140076ac4
test rdi, rdi
je 0x140076c32
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x140076c40
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x140076d24
Capabilities:
Delete registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
call fcn.14007719c
test eax, eax
jne 0x140076d4e
mov eax, 0x80004005
jmp 0x140076e71
and qword [rbp - 0x40], 0
and qword [rbp - 0x38], 0
and qword [rbp - 0x30], 0
mov ebx, 0x20006
lea r8, [0x140001aa8]
lea rcx, [rbp - 0x40]
mov r9d, ebx
mov rdx, 0xffffffff80000000
call fcn.14001b008
test eax, eax
je 0x140076d9f
mov ecx, eax
call fcn.14001ae34
mov rcx, qword [rbp - 0x40]
mov ebx, eax
test rcx, rcx
je 0x140076d98
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x140076e71
and qword [rbp - 0x28], 0
and qword [rbp - 0x20], 0
and qword [rbp - 0x18], 0
mov r9d, ebx
mov rbx, qword [rbp - 0x40]
lea rsi, [0x140006df0]
lea rcx, [rbp - 0x28]
mov rdx, rbx
mov r8, rsi
call fcn.14001b008
test eax, eax
je 0x140076df9
mov ecx, eax
call fcn.14001ae34
mov rcx, qword [rbp - 0x28]
mov edi, eax
test rcx, rcx
je 0x140076de7
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x140076df5
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x140076e71
mov rdi, qword [rbp - 0x28]
test rdi, rdi
jne 0x140076e1a
lea r8, [0x1400019c8]
lea rcx, [0x1400019a8]
mov edx, 0x14ea
call fcn.1400a8be8
lea rdx, [0x140006f88]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
and qword [rbp - 0x18], 0
and qword [rbp - 0x10], 0
xor edx, edx
lea r11, [0x1400076a8]
lea r8, [rbp - 0x28]
lea ecx, [rdx + 0x67]
mov qword [rbp - 0x28], r11
mov qword [rbp - 0x20], rsi
call fcn.14001d0f4
mov esi, eax
test rdi, rdi
je 0x140076e61
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x140076e6f
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x1400787b0
Capabilities:
Get user security identifier

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x140
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, rdx
mov rbx, rcx
lea rsi, [rcx + 0x50]
mov dword [rsi], 7
lea r15, [rcx + 0x58]
mov rcx, r15
call fcn.1400786e0
lea r12, [rbx + 0x60]
mov rcx, r12
call fcn.1400786e0
lea rax, [rbx + 0x68]
mov rcx, rax
call fcn.1400786e0
lea r13, [rbx + 0x70]
mov rcx, r13
call fcn.1400786e0
mov byte [rbx + 0x4c], 0
test rdi, rdi
jne 0x14007884a
lea r8, [0x140007300]
mov edx, 0x9c
lea rcx, [0x140007638]
call fcn.1400a8be8
jmp 0x1400789ca
and qword [rsp + 0x50], 0
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.14001dc08
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x44], 0x44
mov dword [rsp + 0x40], 0x80
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x44]
lea r8, [rbp - 0x20]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
test eax, eax
jne 0x14007890d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140078989
cmp dword [rsp + 0x44], 0x44
jbe 0x1400788c1
mov ecx, 0x80004005
call fcn.14001ad98
int3
cmp dword [rsp + 0x40], 0x80
jbe 0x1400788e1
mov edx, dword [rsp + 0x40]
add rdx, rdx
lea rcx, [rsp + 0x50]
call fcn.14007830c
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x44]
lea r8, [rbp - 0x20]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
test eax, eax
je 0x140078989
lea rcx, [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_GetLengthSid]
cmp eax, 0x44
jb 0x140078934
lea r8, [0x140007310]
mov edx, 0xc4
lea rcx, [0x140007638]
call fcn.1400a8be8
mov byte [rbx + 0x4c], 1
lea rdx, [rbx + 8]
lea r8, [rbp - 0x20]
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.ADVAPI32.dll_CopySid]
test eax, eax
je 0x140078989
mov rdx, r14
mov rcx, r12
call fcn.1400785b0
mov rdx, rdi
mov rcx, r15
call fcn.1400785b0
xor edx, edx
mov rcx, r13
call fcn.1400785b0
nop
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x50], rcx
je 0x140078985
lea rcx, [rsp + 0x50]
call fcn.14001d97c
mov al, 1
jmp 0x1400789cc
mov dword [rsi], 7
mov rcx, r15
call fcn.1400786e0
mov rcx, r12
call fcn.1400786e0
lea rcx, [rbx + 0x68]
call fcn.1400786e0
mov rcx, r13
call fcn.1400786e0
mov byte [rbx + 0x4c], 0
lea rax, [rsp + 0x58]
cmp qword [rsp + 0x50], rax
je 0x1400789ca
lea rcx, [rsp + 0x50]
call fcn.14001d97c
xor al, al
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140168920
mov rbx, qword [rsp + 0x190]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140096dbc
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r13
push r14
sub rsp, 0x40
mov ebp, r8d
mov r14, rdx
mov rdi, rcx
mov rcx, qword [0x14017d3a8]
lea rsi, [0x14017d3a8]
lea r13, [0x140009258]
cmp rcx, rsi
je 0x140096e1b
test byte [rcx + 0x1c], 1
je 0x140096e1b
cmp byte [rcx + 0x19], 4
jb 0x140096e1b
mov rcx, qword [rcx + 0x10]
mov edx, 0x25
mov r8, r13
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
xor ebx, ebx
mov dword [rsp + 0x70], ebx
test rdi, rdi
jne 0x140096e45
lea r8, [0x140009038]
lea rcx, [0x140008f60]
mov edx, 0x20e
call fcn.1400a8be8
mov rcx, qword [0x14017d3a8]
test ebp, ebp
jne 0x140096e68
lea r8, [0x140009050]
lea rcx, [0x140008f60]
mov edx, 0x20f
call fcn.1400a8be8
mov rcx, qword [0x14017d3a8]
test r14, r14
jne 0x140096e8c
lea r8, [0x140009060]
lea rcx, [0x140008f60]
mov edx, 0x210
call fcn.1400a8be8
mov rcx, qword [0x14017d3a8]
cmp rcx, rsi
je 0x140096eb1
test byte [rcx + 0x1c], 1
je 0x140096eb1
cmp byte [rcx + 0x19], 4
jb 0x140096eb1
mov rcx, qword [rcx + 0x10]
mov edx, 0x26
mov r9, rdi
mov r8, r13
call fcn.14001ec40
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov edx, 0x40000000
lea r8d, [r9 + 3]
mov rcx, rdi
mov dword [rsp + 0x28], reloc.ADVAPI32.dll_TraceEvent
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140096f44
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11d, eax
movzx eax, ax
or eax, 0x80070000
test r11d, r11d
cmovle eax, r11d
mov ebx, eax
mov rcx, qword [0x14017d3a8]
lea rbp, [0x14017d3a8]
cmp rcx, rbp
je 0x140097007
test byte [rcx + 0x1c], 1
je 0x140096fe5
cmp byte [rcx + 0x19], 2
jb 0x140096fe5
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x28]
mov r9, rdi
mov r8, r13
mov dword [rsp + 0x20], eax
call fcn.14001ecbc
jmp 0x140096fde
lea r9, [rsp + 0x70]
mov r8d, ebp
mov rdx, r14
mov rcx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140096fb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11d, eax
movzx eax, ax
or eax, 0x80070000
test r11d, r11d
cmovle eax, r11d
mov ebx, eax
mov rcx, qword [0x14017d3a8]
lea rbp, [0x14017d3a8]
cmp rcx, rbp
je 0x140096fd5
test byte [rcx + 0x1c], 1
je 0x140096fd5
cmp byte [rcx + 0x19], 2
jb 0x140096fd5
mov rcx, qword [rcx + 0x10]
mov edx, 0x28
mov r9d, eax
mov r8, r13
call fcn.14001de24
jmp 0x140096fd5
cmp ebp, dword [rsp + 0x70]
je 0x140096fce
lea r8, [0x140009078]
lea rcx, [0x140008f60]
mov edx, 0x233
call fcn.1400a8be8
lea rbp, [0x14017d3a8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x14017d3a8]
cmp rcx, rbp
je 0x140097007
test byte [rcx + 0x1c], 1
je 0x140097007
cmp byte [rcx + 0x19], 4
jb 0x140097007
mov rcx, qword [rcx + 0x10]
mov edx, 0x29
mov r8, r13
call fcn.14001dd24
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop r14
pop r13
pop rdi
ret
Function at 0x14009ad20
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
xor ebp, ebp
xor ecx, ecx
mov qword [rsp + 0x40], rbp
mov r14, rdx
call fcn.14009b3f0
mov rcx, qword gs:[0x60]
movzx ebx, word [rsi]
xor edx, edx
mov rcx, qword [rcx + 0x30]
add ebx, 0xe
mov r8d, ebx
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdi, rax
test rax, rax
jne 0x14009ad76
mov ebx, 0xc0000017
jmp 0x14009adf8
mov dword [rax], 1
mov dword [rax + 4], ebx
mov dword [rax + 8], 3
movzx r8d, word [rsi]
mov rdx, qword [rsi + 8]
lea rcx, [rax + 0xc]
call sub.msvcrt.dll_memcpy
movzx r11d, word [rsi]
lea r8, [rsp + 0x40]
shr r11, 1
xor edx, edx
mov rcx, rdi
mov word [rdi + r11*2 + 0xc], bp
call fcn.14009b004
mov ebx, eax
test eax, eax
js 0x14009ade0
mov rsi, qword [rsp + 0x40]
lea rdx, [0x140169920]
mov rcx, rsi
call fcn.14009d9c4
xor edx, edx
mov rcx, rsi
call fcn.14009b684
mov ebx, eax
test eax, eax
js 0x14009ade0
mov qword [r14], rsi
mov rcx, qword gs:[0x60]
mov r8, rdi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rbp, qword [rsp + 0x50]
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x14009c738
Capabilities:
Check for peb beingdebugged flag

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r13d, r13d
mov r15, rdx
mov r12, rcx
mov ebp, r13d
mov edi, r13d
mov qword [rax + 0x18], r13
call fcn.14009c920
cmp eax, 1
je 0x14009c78c
add eax, 0xfffffffe
cmp eax, 1
ja 0x14009c782
lea rsi, [0x140169960]
jmp 0x14009c793
mov ebx, 0xc00000bb
jmp 0x14009c8fb
lea rsi, [0x140169940]
lea rcx, [rsp + 0x60]
call fcn.14009c558
mov ebx, eax
test eax, eax
js 0x14009c89c
test r12, r12
je 0x14009c814
mov rcx, qword [rsp + 0x60]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x14009c7b5
mov rcx, qword gs:[0x60]
add eax, 2
xor edx, edx
mov rcx, qword [rcx + 0x30]
lea r8, [rax + rax]
mov r14d, eax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdi, rax
test rax, rax
jne 0x14009c7f0
mov ebx, 0xc000009a
jmp 0x14009c89c
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcscpy_s]
lea r8, [0x140169620]
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcscat_s]
add rsi, 2
mov edx, 0x5c
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov r14, rax
test rax, rax
jne 0x14009c835
mov ebx, 0xc000000d
jmp 0x14009c89c
test r15, r15
je 0x14009c88b
mov rcx, qword gs:[0x60]
sub r14, rsi
xor edx, edx
mov rcx, qword [rcx + 0x30]
sar r14, 1
inc r14d
mov r13d, r14d
lea r8, [r14*2]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rbp, rax
test rdi, rdi
jne 0x14009c875
mov ebx, 0xc000009a
xor r13d, r13d
jmp 0x14009c89c
lea r9d, [r14 - 1]
mov r8, rsi
mov rdx, r13
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcsncpy_s]
xor r13d, r13d
test r12, r12
je 0x14009c894
mov qword [r12], rdi
test r15, r15
je 0x14009c89c
mov qword [r15], rbp
cmp qword [rsp + 0x60], r13
je 0x14009c8bd
mov rcx, qword gs:[0x60]
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test ebx, ebx
jns 0x14009c8fb
test rdi, rdi
je 0x14009c8de
mov rcx, qword gs:[0x60]
mov r8, rdi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test rbp, rbp
je 0x14009c8fb
mov rcx, qword gs:[0x60]
mov r8, rbp
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14009c920
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x14017d140]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov al, byte [0x14017e456]
test al, al
je 0x14009c947
mov eax, dword [reloc.ole32.dll_CoRegisterClassObject]
jmp 0x14009c980
mov ebx, 1
lea rdx, [rsp + 0x20]
xor r9d, r9d
lea r8d, [rbx + 0x1f]
lea ecx, [rbx + 0x59]
call qword [sym.imp.ntdll.dll_ZwQuerySystemInformation]
test eax, eax
js 0x14009c971
xor ebx, ebx
cmp dword [rsp + 0x30], 3
cmovl ebx, dword [rsp + 0x30]
mov dword [reloc.ole32.dll_CoRegisterClassObject], ebx
mov eax, ebx
mov byte [0x14017e456], 1
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140168920
add rsp, 0x50
pop rbx
ret

Function at 0x14009cdec
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
lea eax, [rdx + 0x26]
mov r14, rcx
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x30]
mov sil, r8b
xor edx, edx
mov r8d, eax
mov ebx, eax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdi, rax
test rax, rax
jne 0x14009ce39
mov ebx, 0xc000009a
jmp 0x14009cf00
shr rbx, 1
lea r9, [0x1401695e0]
lea r8, [0x140169660]
mov rcx, rax
mov rdx, rbx
mov qword [rsp + 0x20], r14
call qword [sym.imp.msvcrt.dll_swprintf_s]
lea rcx, [rbp - 0x48]
mov rdx, rdi
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
and qword [rbp - 0x30], 0
and qword [rbp - 0x18], 0
and qword [rbp - 0x10], 0
lea rax, [rbp - 0x48]
lea rdx, [rbp + 0x38]
mov ecx, CoDisconnectObject
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x38], 0x30
mov dword [rbp - 0x20], 0x40
call fcn.14009dde8
mov ebx, eax
test eax, eax
js 0x14009cee8
test sil, sil
jne 0x14009ceb2
lea rcx, [rbp - 0x38]
call qword [sym.imp.ntdll.dll_ZwUnloadKey]
jmp 0x14009ced2
lea rdx, [rbp - 0x50]
lea rcx, [0x140169670]
call fcn.14009e23c
lea rcx, [rbp - 0x38]
test eax, eax
js 0x14009ceaa
mov edx, 1
call qword [rbp - 0x50]
cmp byte [rbp + 0x3c], 0
mov ebx, eax
jne 0x14009cee8
mov ecx, dword [rbp + 0x38]
lea r8, [rbp + 0x28]
xor edx, edx
call fcn.14009de28
mov rcx, qword gs:[0x60]
mov r8, rdi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
lea r11, [rsp + 0x80]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x14009d184
Capabilities:
Delete registry key

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x20
and qword [rsp + 0x50], 0
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rdi, rcx
call fcn.14009d4c4
test eax, eax
js 0x14009d1f2
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x14009d1f2
mov rbx, qword [rsp + 0x50]
mov esi, eax
mov rdx, qword [rbx]
lea r9, [rsp + 0x58]
mov r8d, 0xf003f
mov rcx, rdi
call fcn.14009d23c
test eax, eax
js 0x14009d1e9
mov rcx, qword [rsp + 0x58]
call fcn.14009d184
test eax, eax
jns 0x14009d1e9
mov rcx, qword [rsp + 0x58]
call fcn.14009cf20
add rbx, 8
dec rsi
jne 0x14009d1b7
cmp qword [rsp + 0x50], 0
je 0x14009d214
mov rcx, qword gs:[0x60]
mov r8, qword [rsp + 0x50]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rcx, rdi
call qword [sym.imp.ntdll.dll_ZwDeleteKey]
mov ebx, eax
test eax, eax
js 0x14009d22c
mov rcx, rdi
call qword [sym.imp.ntdll.dll_ZwClose]
mov eax, ebx
add rsp, 0x20
pop rdi
pop rsi
pop rbx
ret
Function at 0x14009d848
Capabilities:
Check for peb beingdebugged flag
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, rdx
mov r15, rcx
xor edi, edi
mov r14d, edi
mov rsi, rdi
mov dword [rsp + 0x88], edi
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.ntdll.dll_ZwQueryKey]
mov ebx, eax
mov dword [rsp + 0x80], eax
cmp eax, 0xc0000023
je 0x14009d8bd
test eax, eax
js 0x14009d95e
mov ebx, 0xc000000d
mov dword [rsp + 0x80], ebx
jmp 0x14009d95e
mov r8d, dword [rsp + 0x88]
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rsi, rax
test rax, rax
jne 0x14009d8e9
mov ebx, 0xc000009a
jmp 0x14009d8b1
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x88]
mov r8, rsi
xor edx, edx
mov rcx, r15
call qword [sym.imp.ntdll.dll_ZwQueryKey]
mov ebx, eax
mov dword [rsp + 0x80], eax
test eax, eax
js 0x14009d95e
mov r8d, dword [rsi + 0xc]
add r8, 2
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r12, rax
test rax, rax
je 0x14009d8e2
mov r8d, dword [rsi + 0xc]
lea rdx, [rsi + 0x10]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r11d, dword [rsi + 0xc]
shr r11, 1
mov word [r12 + r11*2], di
mov qword [r13], r12
test rsi, rsi
je 0x14009d97b
mov rcx, qword gs:[0x60]
mov r8, rsi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
cmp ebx, 0xc000017d
jne 0x14009d9ab
int3
mov eax, ebx
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret

Function at 0x14009d9c4
Capabilities:
Delete registry value

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
lea rcx, [rsp + 0x20]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
and qword [rsp + 0x40], 0
lea r9, [rsp + 0x40]
lea rdx, [0x140169560]
mov r8d, 0x2001f
mov rcx, rsi
call fcn.14009d23c
mov edi, eax
test eax, eax
js 0x14009da14
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x20]
call qword [sym.imp.ntdll.dll_ZwDeleteValueKey]
mov edi, eax
cmp qword [rsp + 0x40], rsi
je 0x14009da2e
cmp qword [rsp + 0x40], 0
je 0x14009da2e
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ntdll.dll_ZwClose]
mov eax, edi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret