joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000aae0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
mov rdi, rdx
test rcx, rcx
je 0x1400063ce
mov r8, rdx
mov rdx, qword [rbx]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x14000aae0
cmp byte [0x14003af10], 0
jne 0x140006419
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140006409
lea rdx, [0x140028238]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov byte [0x14003af10], 1
mov qword [0x14003af08], rax
jmp 0x140006420
mov rax, qword [0x14003af08]
mov byte [0x14003af10], 1
jmp 0x140006420
mov rax, qword [0x14003af08]
mov rcx, qword [rbx]
mov rdx, rdi
test rax, rax
je 0x14000643f
mov r8d, dword [rbx + 8]
xor r9d, r9d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
cmp qword [rcx], 0
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
je 0x14000ab54
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je case.default.0x14000ab6f
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je case.default.0x14000ab6f
mov rcx, qword [rbx]
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call rax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
cmp dword [rcx + 8], 0
je case.default.0x14000ab6f
mov rdx, r8
mov rcx, rsi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, 1
add rsp, 0x30
pop rdi
ret
fdivp st(7)
invalid
Function at 0x14000aed0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x490
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov r15, r9
mov rsi, r8
mov rbx, rdx
xor r14d, r14d
mov qword [rsp + 0x50], r14
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r14
xor edx, edx
mov r8d, 0x408
lea rcx, [rsp + 0x70]
call fcn.140013860
mov qword [rsp + 0x70], r14
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14000af7c
xor edx, edx
lea r8d, [r14 + 2]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14000af7c
call fcn.140003d20
mov ebx, eax
jmp 0x14000b0a4
mov r8, r15
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x14000af9d
call fcn.140003d20
jmp 0x14000b093
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x14000afc0
call fcn.140003d20
jmp 0x14000b093
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov dword [rsp + 0x30], eax
inc eax
cmp eax, ebx
jae 0x14000afe2
mov ebx, 0x8007000e
jmp 0x14000b095
mov ecx, eax
test eax, eax
je 0x14000b01a
xor edx, edx
or rax, 0xffffffffffffffff
div rcx
cmp rax, 2
jb 0x14000b010
lea rdx, [rcx + rcx]
cmp rdx, 0x400
jbe 0x14000b01a
lea rcx, [rsp + 0x70]
call fcn.1400033b0
jmp 0x14000b024
mov ecx, 0x80070216
call fcn.140004960
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
jmp 0x14000b037
cmp qword [rsp + 0x70], 0
jne 0x14000b046
mov ebx, 0x8007000e
jmp 0x14000b095
mov dword [rsp + 0x28], ebx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, rsi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x14000b070
call fcn.140003d20
jmp 0x14000b093
mov ecx, eax
mov rax, qword [rsp + 0x70]
mov word [rax + rcx*2], r14w
mov r8d, dword [rsp + 0x4e0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x58]
call fcn.14000abf0
mov ebx, eax
test rdi, rdi
je 0x14000b0a4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x70], rax
je 0x14000b0bb
lea rcx, [rsp + 0x70]
call fcn.1400068b0
nop
mov eax, ebx
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140013750
add rsp, 0x490
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x14000bf90
Capabilities:
Set registry value

Disassembly:
sub rsp, 0x48
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], r8d
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140013750
add rsp, 0x48
ret

Function at 0x14000c0a0
Capabilities:
Set registry value

Disassembly:
sub rsp, 0x38
mov r9, r8
mov r10, rdx
test r8, r8
jne 0x14000c0b8
lea eax, [r8 + 0xd]
add rsp, 0x38
ret
xor r8d, r8d
mov rdx, r9
nop
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000c0c4
inc eax
lea rdx, [rdx + rax*2]
lea r8d, [r8 + rax*2]
cmp eax, 1
jne 0x14000c0c0
mov rcx, qword [rcx]
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], r9
lea r9d, [rax + 6]
xor r8d, r8d
mov rdx, r10
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
add rsp, 0x38
ret

Function at 0x14000c7c0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x50], rax
test rax, rax
jne 0x14000c804
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140013750
add rsp, 0x40
pop rbx
ret
lea rax, [rsp + 0x30]
lea r8, [0x140008680]
mov r9, rbx
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x14000c845
mov rcx, qword [rbx + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x50], rdi
mov rax, rdi
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140013750
add rsp, 0x40
pop rbx
ret

Function at 0x14000d200
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp byte [0x14003ae59], 0
mov esi, edx
mov rdi, rcx
je 0x14000d226
or eax, 0xffffffff
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor ecx, ecx
mov qword [rsp + 0x30], rbx
call qword [sym.imp.ole32.dll_CoInitialize]
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x14000d268
cmp eax, 0x80010106
jne 0x14000d2a4
lea rcx, str.Mscoree.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x14000d26c
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rdi + 0x62], 1
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov rdx, rax
call fcn.1400093f0
cmp al, 1
jne 0x14000d294
mov edx, esi
mov rcx, rdi
call fcn.14000be10
mov ebx, eax
jmp 0x14000d298
mov ebx, dword [rsp + 0x40]
cmp byte [rdi + 0x62], 0
je 0x14000d2a4
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rsi, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14000dff0
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, r8
xor ebx, ebx
lea r8, str.GSDBFB22DB52F7
lea edx, [rbx + 1]
xor ecx, ecx
mov edi, r9d
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14000e08b
xor ecx, ecx
mov qword [0x14003c8f0], rbp
call fcn.140008280
test al, al
je 0x14000e050
lea rcx, [0x14003af70]
mov edx, edi
call fcn.14000d200
mov ebx, eax
mov rdi, qword [0x14003c8f0]
lea rdx, str._profile
mov rcx, rdi
call fcn.140012850
test rax, rax
jne 0x14000e07f
lea rdx, str._import
mov rcx, rdi
call fcn.140012850
test rax, rax
je 0x14000e08b
mov rcx, qword [0x14003c8f0]
call fcn.140007740
test rsi, rsi
je 0x14000e099
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14000e5d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor edi, edi
lea rax, [rsp + 0x30]
mov rbx, rdx
mov rdx, rcx
lea r9d, [rdi + 1]
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], 4
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x38], 4
test eax, eax
jne 0x14000e699
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
lea rdx, str.Install
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rcx, [rsp + 0x38]
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x30]
lea rdx, str.Release
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000e69b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000e69b
mov dword [rbx], edi
mov eax, 1
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140013750
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
Function at 0x14000f470
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x2c0
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbx, qword [0x14003cab0]
mov r14, rcx
movzx edx, dx
mov r8d, 0xf0
mov rcx, rbx
mov edi, 1
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x14000f69d
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14000f69d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x14000f69d
mov qword [rsp + 0x2b8], rsi
mov qword [rsp + 0x2b0], r12
mov qword [rsp + 0x2a8], r13
mov qword [rsp + 0x2a0], r15
mov r13d, 0x403
mov r12d, 0x1234
xor r15d, r15d
mov qword [rsp + 0x2f0], rbp
nop dword [rax]
movzx esi, word [rbx]
cmp r15w, si
je 0x14000f657
movzx eax, word [rbx + 2]
mov ebp, dword [rbx + 4]
add rbx, 8
cmp r13w, ax
jne 0x14000f5cb
lea rcx, [rsp + 0x180]
xor edx, edx
mov r8d, 0x108
call fcn.140013860
lea rax, [rsp + 0x188]
lea rcx, [rsp + 0x180]
mov r8d, 3
mov rdx, rbx
mov qword [rsp + 0x180], rax
call fcn.14000fa40
mov rax, qword [rsp + 0x180]
mov rcx, qword [r14 + 8]
movzx edx, si
xor r9d, r9d
mov r8d, 0x143
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rcx, qword [rsp + 0x180]
cmp rax, 0xffffffffffffffff
lea rax, [rsp + 0x188]
cmove edi, r15d
cmp rcx, rax
je 0x14000f64c
call fcn.140012450
jmp 0x14000f64c
cmp r12w, ax
jne 0x14000f64c
lea rax, [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov r8d, 3
mov rdx, rbx
mov dword [rsp + 0x140], 1
mov qword [rsp + 0x148], 0xffffffffffffffff
mov qword [rsp + 0x30], rax
call fcn.14000fa40
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x150], rcx
cmp rcx, rax
je 0x14000f621
call fcn.140012450
mov rcx, qword [r14 + 8]
lea rax, [rsp + 0x140]
movzx edx, si
xor r9d, r9d
mov r8d, 0x40b
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 0xffffffffffffffff
cmove edi, r15d
add rbx, rbp
test edi, edi
jne 0x14000f520
mov rbp, qword [rsp + 0x2f0]
mov r12, qword [rsp + 0x2b0]
mov rsi, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2a8]
mov r15, qword [rsp + 0x2a0]
mov eax, edi
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140013750
add rsp, 0x2c0
pop r14
pop rdi
pop rbx
ret
mov eax, edi
jmp 0x14000f681
Function at 0x14000f7e0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x840
mov rax, qword [0x1400382d0]
xor rax, rsp
mov qword [rsp + 0x830], rax
lea rdx, [rsp + 0x20]
lea rcx, str.SOFTWAREWow6432NodeMicrosoftNET_Framework_SetupNDP_v4Full
mov dword [rsp + 0x20], 0
call fcn.14000e5d0
lea rdx, [rsp + 0x20]
lea rcx, str.SOFTWAREWow6432NodeMicrosoftNET_Framework_SetupNDP_v4Client
call fcn.14000e5d0
xor edi, edi
cmp dword [rsp + 0x20], 0x5c615
lea rcx, [rsp + 0x30]
mov edx, 0x800
setae dil
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov rbx, qword [0x14003c8f0]
lea rdx, str.customApp
xor ecx, ecx
nop word [rax + rax]
movzx eax, word [rbx + rcx*2]
cmp ax, word [rdx + rcx*2]
jne 0x14000f8dc
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [rdx + rcx*2 + 2]
jne 0x14000f8dc
add rcx, 2
cmp rcx, 0xa
jne 0x14000f860
lea rbx, [0x14003c080]
lea r8, [rsp + 0x30]
mov edx, 0x400
mov rcx, rbx
call fcn.140012718
lea r8, [0x140028564]
lea rcx, [0x14003b810]
mov edx, 0x432
call fcn.140012718
mov edx, 0x432
mov rcx, rbx
lea r8, str.CustomModeApp.exe
test edi, edi
jne 0x14000f8cb
lea r8, str.CustomModeAppv2_0.exe
call fcn.140012690
mov qword [0x14003c8e8], rbx
jmp 0x14000fa1c
xor ecx, ecx
lea rdx, str.dpApp
nop word [rax + rax]
movzx eax, word [rbx + rcx*2]
inc rcx
cmp ax, word [rdx + rcx*2 - 2]
jne 0x14000f960
cmp rcx, 6
jne 0x14000f8f0
lea rbx, [0x14003c080]
lea r8, [rsp + 0x30]
mov edx, 0x400
mov rcx, rbx
call fcn.140012718
lea r8, [0x140028564]
lea rcx, [0x14003b810]
mov edx, 0x432
call fcn.140012718
mov edx, 0x432
mov rcx, rbx
lea r8, str.DPTopologyApp.exe
test edi, edi
jne 0x14000f94f
lea r8, str.DPTopologyAppv2_0.exe
call fcn.140012690
mov qword [0x14003c8e8], rbx
jmp 0x14000fa1c
lea rdx, str._profile
mov rcx, rbx
call fcn.140012850
test rax, rax
jne 0x14000fa1c
lea rdx, str._import
mov rcx, rbx
call fcn.140012850
test rax, rax
jne 0x14000fa1c
lea r8, [rsp + 0x30]
lea rcx, [0x14003b810]
mov edx, 0x400
call fcn.140012718
lea r8, [0x140029e30]
lea rcx, [0x14003c080]
mov edx, 0x432
call fcn.140012718
mov qword [0x14003c8e8], 0
mov edx, 0x432
lea rcx, [0x14003b810]
lea r8, str.Gfxv4_0.exe
test edi, edi
jne 0x14000f9e7
lea r8, str.Gfxv2_0.exe
call fcn.140012690
lea r8, [0x140029e74]
lea rcx, [0x14003b810]
mov edx, 0x432
call fcn.140012690
mov r8, qword [0x14003c8f0]
lea rcx, [0x14003b810]
mov edx, 0x432
call fcn.140012690
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.140013750
mov rbx, qword [rsp + 0x850]
add rsp, 0x840
pop rdi
ret
Function at 0x1400166f0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r15
sub rsp, 0x30
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor esi, esi
xor eax, eax
lock cmpxchg qword [0x140026878], rbx
je 0x14001673c
cmp rax, rbx
jne 0x14001672f
mov ebx, 1
mov esi, ebx
jmp 0x140016741
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140016714
mov ebx, 1
mov eax, dword [0x140026880]
cmp eax, ebx
jne 0x140016757
mov ecx, 0x1f
call sub.msvcrt.dll__amsg_exit
jmp 0x1400167bc
mov eax, dword [0x140026880]
test eax, eax
jne 0x1400167b6
mov dword [0x140026880], ebx
lea r15, [0x14001a6f0]
lea rdi, [0x14001a6d8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
cmp rdi, r15
jae 0x1400167a8
test eax, eax
jne 0x1400167ac
cmp qword [rdi], 0
je 0x14001679d
mov rax, qword [rdi]
mov rcx, qword [case.0x140006774.0]
call rcx
mov dword [rsp + 0x20], eax
add rdi, 8
mov qword [rsp + 0x28], rdi
jmp 0x14001677e
test eax, eax
je 0x1400167bc
mov eax, 0xff
jmp 0x140016898
mov dword [0x140026178], ebx
mov eax, dword [0x140026880]
cmp eax, ebx
jne 0x1400167e3
lea rdx, [0x14001a6d0]
lea rcx, [0x14001a618]
call sub.msvcrt.dll__initterm
mov dword [0x140026880], 2
test esi, esi
jne 0x1400167f0
xor eax, eax
xchg qword [0x140026878], rax
cmp qword [0x140026898], 0
je 0x140016824
lea rcx, [0x140026898]
call fcn.140017310
test eax, eax
je 0x140016824
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140026898]
mov r9, qword [case.0x140006774.0]
call r9
mov r8, qword [0x140026190]
mov rdx, qword [0x140026188]
mov ecx, dword [0x140026180]
call fcn.140002c70
mov dword [0x140026174], eax
cmp dword [0x140026198], 0
jne 0x140016854
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x140026178], 0
jne 0x140016869
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x140026174]
jmp 0x140016898
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r15
ret
sub rsp, 0x28
call fcn.140157000
add rsp, 0x28
jmp 0x1400166f0

Function at 0x140016e34
Capabilities:
Print debug messages

Disassembly:
jmp 0x140016e40
push rbx
sub rsp, 0x540
mov rax, qword [0x140026110]
xor rax, rsp
mov qword [rsp + 0x530], rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.ntdll.dll_RtlCaptureContext]
mov rbx, qword [rsp + 0x158]
lea rdx, [rsp + 0x40]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x140016ebd
and qword [rsp + 0x38], 0
lea rcx, [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov qword [rsp + 0x30], rcx
mov r8, rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_RtlVirtualUnwind]
jmp 0x140016edd
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x548]
mov qword [rsp + 0xf8], rax
lea rcx, str.Invalid_parameter_passed_to_C_runtime_function._n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [rsp + 0x530]
xor rcx, rsp
call fcn.1400168f0
add rsp, 0x540
pop rbx
ret
Function at 0x1400074d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x140007512
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x14000751a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14000752b
jmp 0x140007542
xor r10d, r10d
jmp 0x1400075cd
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140007542
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x140007559
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x140007579
add r11, r8
jmp 0x1400076aa
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x140007642
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
xor rsi, r9
rol r9, 0x20
xor rdi, rcx
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x1400075f0
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x140007660
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x140007672
jmp 0x14000768c
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14000768c
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x1400076a6
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x1400189d0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbp - 0x28], rcx
lea rcx, [rbp - 0x48]
mov rdx, r8
mov r8, r9
call fcn.1400a38d0
mov dword [rbp - 4], 0x800
mov dword [rbp - 8], 0
movzx eax, byte [0x1402c9f71]
mov ecx, 0x800
mov edx, 1
call fcn.14000c710
test rax, rax
je 0x140018b4e
mov rbx, rax
mov qword [rbp - 0x20], 0x800
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 0
mov rsi, qword [rbp - 0x40]
lea r12, [rbp - 4]
lea r15, [rbp - 8]
mov rdi, qword [sym.imp.advapi32.dll_RegQueryValueExW]
mov r13, qword [rbp - 0x20]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rax
sub r13, rax
nop
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
mov r9, r15
call rdi
cmp eax, 0xea
jne 0x140018aab
mov r8d, dword [rbp - 4]
cmp r13, r8
jae 0x140018a70
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
call fcn.1401b6390
mov rbx, qword [rbp - 0x18]
jmp 0x140018a60
test eax, eax
jne 0x140018aca
mov eax, dword [rbp - 4]
mov qword [rbp - 0x10], rax
mov eax, dword [rbp - 8]
cmp eax, 0xb
jbe 0x140018b2d
movabs rax, 0xde00000002
jmp 0x140018ad2
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp - 0x28]
mov qword [rcx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rcx], rax
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x140018afe
mov r8d, 1
mov rcx, rbx
call fcn.14000c720
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x140018b18
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.14000c720
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x28]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x18], al
mov rdx, qword [rbp - 0x48]
test rdx, rdx
jne 0x140018b07
jmp 0x140018b18
mov ecx, 1
mov edx, 0x800
call fcn.1401bda40
ud2
Function at 0x14001e560
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
call fcn.14018c8e0
cmp qword [rax], 0
je 0x14001e57e
add rax, 8
jmp 0x14001e588
mov rcx, rax
xor edx, edx
call fcn.140012090
mov r11, qword [rax]
mov rcx, qword [rax + 8]
lea r9, [r11 + 1]
movabs rdx, 0x736f6d6570736575
xor rdx, r11
movabs r8, 0x646f72616e646f6d
xor r8, rcx
add rdx, r8
rol r8, 0xd
mov qword [rax], r9
xor r8, rdx
rol rdx, 0x20
movabs r9, 0x6c7967656e657261
mov r10, r8
rol r10, 0x11
xor r9, r11
mov r11d, 1
movabs rsi, 0x7465646279746573
movabs rdi, 0x800000000000000
nop dword [rax]
mov r12, rcx
xor r12, r11
xor r12, rsi
lea rbx, [r12 + r9]
rol r12, 0x10
xor r12, rbx
lea r14, [r12 + rdx]
rol r12, 0x15
add rbx, r8
mov r15, rbx
xor r15, r10
rol rbx, 0x20
mov rax, r14
xor rax, r11
add rax, r15
rol r15, 0xd
xor r14, rdi
xor r15, rax
rol rax, 0x20
xor r14, r12
add rbx, r14
rol r14, 0x10
xor r14, rbx
add rax, r14
rol r14, 0x15
add rbx, r15
rol r15, 0x11
xor r14, rax
xor r15, rbx
rol rbx, 0x20
xor rax, rdi
add rax, r15
rol r15, 0xd
xor r15, rax
rol rax, 0x20
xor rbx, 0xff
add rbx, r14
rol r14, 0x10
xor r14, rbx
add rax, r14
rol r14, 0x15
add rbx, r15
rol r15, 0x11
xor r15, rbx
rol rbx, 0x20
xor r14, rax
add rax, r15
rol r15, 0xd
xor r15, rax
rol rax, 0x20
add rbx, r14
rol r14, 0x10
xor r14, rbx
add rax, r14
rol r14, 0x15
add rbx, r15
rol r15, 0x11
xor r15, rbx
rol rbx, 0x20
xor r14, rax
add rax, r15
rol r15, 0xd
add rbx, r14
rol r14, 0x10
xor r14, rbx
rol r14, 0x15
xor r15, rax
add rbx, r15
rol r15, 0x11
mov rax, rbx
rol rax, 0x20
xor rax, r15
xor rax, r14
inc r11
xor rax, rbx
je 0x14001e5f0
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret