joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100103398
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x210
mov qword [rsp + 0x190], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rbx, rcx
lea rbp, [0x10003c720]
mov qword [rsp + 0x40], rbp
lea r12, [0x10003cc60]
mov qword [rsp + 0x48], r12
lea r13, [0x10003c708]
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x58], 0x2d1
mov dword [rsp + 0x5c], 0xb
mov dword [rsp + 0x60], 0xff
xor esi, esi
mov word [rax - 0x158], si
mov byte [rax - 0x156], sil
mov byte [rax - 0x155], 1
lea edi, [rsi + 0x78]
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x68]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1a0]
call fcn.1000e8000
nop
cmp byte [rbx + 0x28], sil
je 0x1001035ea
mov r8, qword [rbx + 0x20]
cmp r8, rsi
je 0x1001035ea
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x240], eax
lea rax, [rsp + 0x248]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x240]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rbx]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov edi, eax
cmp eax, esi
je 0x1001035d1
cmp eax, 0x103
je 0x10010353a
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x58], 0x2ea
mov dword [rsp + 0x5c], 0xb
mov dword [rsp + 0x60], 0xff
mov word [rsp + 0xe0], si
mov byte [rsp + 0xe2], sil
mov byte [rsp + 0xe3], 1
xor edx, edx
lea r8d, [rsi + 0x78]
lea rcx, [rsp + 0x68]
call sub.msvcrt.dll_memset
movzx r8d, di
or r8d, 0x80070000
cmp edi, esi
cmovle r8d, edi
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x38], eax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0x28], eax
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
lea r9, [0x10003cd20]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1a0]
call fcn.1000e9e30
int3
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xf8], r13
mov dword [rsp + 0x100], 0x2ee
mov dword [rsp + 0x104], 0xb
mov dword [rsp + 0x108], 0xff
mov word [rsp + 0x188], si
mov byte [rsp + 0x18a], sil
mov byte [rsp + 0x18b], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x110]
call sub.msvcrt.dll_memset
mov r11d, dword [rbx + 8]
mov dword [rsp + 0x28], r11d
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0x20], eax
lea r9, [0x10003cd70]
mov r8d, 0x8000ffff
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x1a0]
call fcn.1000e9e30
int3
mov rbx, qword [rbx + 0x20]
lea rcx, [rsp + 0x1a0]
call fcn.1000e80ec
mov rax, rbx
jmp 0x100103670
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xf8], r13
mov dword [rsp + 0x100], 0x2d5
mov dword [rsp + 0x104], 0xb
mov dword [rsp + 0x108], 0xff
mov word [rsp + 0x188], si
mov byte [rsp + 0x18a], sil
mov byte [rsp + 0x18b], 1
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x110]
call sub.msvcrt.dll_memset
lea r9, [0x10003ccc0]
mov r8d, 0x8000ffff
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x1a0]
call fcn.1000e93c0
nop
mov rbx, qword [rsp + 0x250]
add rsp, 0x210
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x100109d7c
Capabilities:
Get disk information
Get disk size

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov rdi, qword [rsp + 0xa8]
xor r13d, r13d
mov rbp, rcx
mov word [rdx], r13w
lea r12d, [r13 + 1]
mov rsi, r9
mov ecx, r12d
mov rbx, rdx
mov dword [rax - 0x38], r13d
mov dword [rax + 0x20], r13d
mov dword [rax + 0x10], r13d
mov dword [rax - 0x30], r13d
mov dword [rax - 0x34], r13d
mov word [r9], r13w
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [rsp + 0x38], 0x10
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, 0x100
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea r9, [rsp + 0x48]
mov ebx, eax
lea rax, [rsp + 0x44]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x98]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ecx, dword [rsp + 0x88]
imul ecx, dword [rsp + 0x98]
mov dword [rdi], ecx
cmp ebx, r13d
je 0x100109e44
cmp eax, r13d
jne 0x100109e47
mov r12d, r13d
mov eax, r12d
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x10010df44
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov rdi, rcx
xor esi, esi
lea rcx, [0x100040eb0]
mov r12, rdx
lea ebx, [rsi + 1]
call fcn.10011c978
and dword [rsp + 0x60], esi
test rdi, rdi
jne 0x10010dfc4
lea r9d, [rsi + 0x57]
xor ebx, ebx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e177
test byte [rcx + 0x1c], 8
je 0x10010e177
lea edx, [rdi + 0x67]
lea rax, [0x100040ee0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100004010]
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x10010e177
test r12, r12
jne 0x10010e000
lea r9d, [r12 + 0x57]
xor ebx, ebx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e177
test byte [rcx + 0x1c], 8
je 0x10010e177
lea edx, [rbx + 0x68]
lea rax, [0x100040a48]
jmp 0x10010dfaa
and qword [rsp + 0x30], rsi
and dword [rsp + 0x28], esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rdi
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x10010e067
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e163
test byte [rcx + 0x1c], 8
je 0x10010e163
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbp + 0x6a]
jmp 0x10010e13d
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdx, str.__xml_version_1.0__encoding_UTF_16___
and qword [rsp + 0x20], rax
mov rdi, rdx
lea r9, [rsp + 0x60]
repne scasw ax, word [rdi]
not rcx
sub rcx, rbx
mov rdi, rcx
mov rcx, rbp
add edi, edi
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10010e111
cmp dword [rsp + 0x60], edi
jne 0x10010e111
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
and qword [rsp + 0x20], rax
repne scasw ax, word [rdi]
lea r9, [rsp + 0x60]
not rcx
mov rdx, r12
sub rcx, rbx
mov rdi, rcx
mov rcx, rbp
add edi, edi
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10010e0e3
cmp dword [rsp + 0x60], edi
je 0x10010e163
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e163
test byte [rcx + 0x1c], 8
je 0x10010e163
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbx + 0x6b]
jmp 0x10010e13d
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e163
test byte [rcx + 0x1c], 8
je 0x10010e163
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbx + 0x6a]
mov rcx, qword [0x100177368]
mov r9d, eax
lea rax, [0x10003ffd8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100004010]
mov qword [rsp + 0x20], rax
call fcn.100106904
test rbp, rbp
je 0x10010e177
cmp rbp, 0xffffffffffffffff
je 0x10010e177
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x100040eb0]
call fcn.10011c9b8
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r12
pop rdi
pop rsi
ret
Function at 0x100113060
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov r12, rcx
xor ebx, ebx
lea rcx, [0x100041b50]
lea ebp, [rbx + 1]
call fcn.10011c978
mov rsi, rbx
mov dword [rsp + 0x50], ebx
cmp r12, rbx
je 0x100113256
lea r9, [rsp + 0x50]
lea ecx, [rbx + 0x62]
xor r8d, r8d
xor edx, edx
mov word [r12], bx
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
mov edi, eax
jge 0x100113107
cmp eax, 0xc0000023
je 0x100113107
cmp eax, 0x80000005
je 0x100113107
cmp eax, 0xc0000004
je 0x100113107
mov ecx, eax
mov ebp, ebx
call fcn.10011c9f8
mov ebx, eax
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x10011329a
test byte [rcx + 0x1c], 8
je 0x10011329a
lea edx, [rsi + 0x18]
lea rax, [0x100041b88]
mov r9d, edi
jmp 0x1001131cb
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
cmp rax, rbx
jne 0x100113155
mov r9d, 0xe
mov ebp, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x10011329a
test byte [rcx + 0x1c], 8
je 0x10011329a
lea edx, [r9 + 0xb]
lea rax, [0x100041b98]
jmp 0x100113285
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rdx, rax
mov ecx, 0x62
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
jge 0x1001131e5
mov ecx, eax
mov ebp, ebx
call fcn.10011c9f8
mov ebx, eax
mov rax, qword [0x100177368]
lea rdx, [0x100177368]
cmp rax, rdx
je 0x10011329a
test byte [rax + 0x1c], 8
je 0x10011329a
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rdx, rsi
mov ecx, 0x62
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov edx, 0x1a
mov r9d, eax
lea rax, [0x100041bb0]
mov rcx, qword [0x100177368]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x10011329a
movzx r9d, word [rsi]
mov r8, qword [rsi + 8]
mov edi, 0x104
mov rdx, rdi
mov rcx, r12
shr r9, 1
call fcn.1000525a8
cmp eax, ebx
jge 0x10011329a
mov ecx, eax
mov ebp, ebx
call fcn.10011ca20
mov ebx, eax
mov rax, qword [0x100177368]
lea rdx, [0x100177368]
cmp rax, rdx
je 0x10011329a
test byte [rax + 0x1c], 8
je 0x10011329a
movzx r9d, word [rsi]
mov r8, qword [rsi + 8]
mov rdx, rdi
shr r9, 1
mov rcx, r12
call fcn.1000525a8
mov edx, 0x1b
mov r9d, eax
lea rax, [0x100041c20]
jmp 0x1001131c4
mov r9d, 0x57
mov ebp, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x10011329a
test byte [rcx + 0x1c], 8
je 0x10011329a
lea edx, [r9 - 0x41]
lea rax, [0x100041a98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [0x100041b50]
call fcn.10011c9b8
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x58]
mov eax, ebp
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
Function at 0x100117680
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x38], rax
xor ebx, ebx
lea rdx, [rsp + 0x20]
xor r9d, r9d
lea r8d, [rbx + 0x14]
lea ecx, [rbx + 0x5a]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
jl 0x1001176ba
cmp dword [rsp + 0x30], 3
cmovl ebx, dword [rsp + 0x30]
mov eax, ebx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.100130830
add rsp, 0x40
pop rbx
ret

Function at 0x10011cc2c
Capabilities:
Access the windows event log

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0xa0
mov r12d, ecx
xor ebx, ebx
lea rcx, [0x1000439c0]
movzx ebp, dx
lea edi, [rbx + 1]
call fcn.10011c978
lea r8d, [rbx + 0x48]
lea rcx, [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x50], rbx
call sub.msvcrt.dll_memset
lea rdx, [0x100036ef8]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rsi, rax
cmp rax, rbx
jne 0x10011cce7
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [0x100177368]
lea rcx, [0x100177368]
cmp rdx, rcx
je 0x10011ce08
test byte [rdx + 0x1c], 8
je 0x10011ce08
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r8, [0x100003220]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x10003ffd8]
mov edx, 0xf
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x10011ce08
mov r10d, dword [rsp + 0xe0]
cmp r10d, 0xa
jle 0x10011cd4b
mov r9d, 0x7a
mov edi, ebx
mov ebx, r9d
mov rax, qword [0x100177368]
lea rcx, [0x100177368]
cmp rax, rcx
je 0x10011cdff
test byte [rax + 0x1c], 8
je 0x10011cdff
lea rcx, [0x1000410c0]
mov dword [rsp + 0x28], r10d
lea edx, [r9 - 0x6a]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rax + 0x10]
lea r8, [0x100003220]
call fcn.10010d274
jmp 0x10011cdff
cmp r10d, ebx
lea rcx, [rsp + 0xe8]
jle 0x10011cd77
add rcx, 0xfffffffffffffff8
lea rdx, [rsp + 0x50]
mov r8, r10
add rcx, 8
mov rax, qword [rcx]
mov qword [rdx], rax
add rdx, 8
sub r8, rdi
jne 0x10011cd64
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebx
mov word [rsp + 0x28], r10w
mov r9d, r12d
movzx edx, bp
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
cmp eax, ebx
jne 0x10011cdff
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [0x100177368]
lea rcx, [0x100177368]
cmp rax, rcx
je 0x10011cdff
test byte [rax + 0x1c], 8
je 0x10011cdff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r8, [0x100003220]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x10003ffd8]
mov edx, 0x11
mov qword [rsp + 0x20], rax
call fcn.100106904
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea rcx, [0x1000439c0]
call fcn.10011c9b8
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
add rsp, 0xa0
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x10011fd94
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x2c0
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
xor ebx, ebx
mov rsi, rcx
lea edi, [rbx + 1]
cmp rcx, rbx
jne 0x10011fdff
lea r9d, [rbx + 0x57]
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10011ff19
test byte [rcx + 0x1c], 8
je 0x10011ff19
lea edx, [r9 - 0x49]
lea rax, [0x100044680]
jmp 0x10011fef5
lea rcx, [rsp + 0xa0]
mov edx, 0x105
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
cmp eax, ebx
jne 0x10011fe51
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10011ff19
test byte [rcx + 0x1c], 8
je 0x10011ff19
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0xf
jmp 0x10011fee4
cmp eax, 0x104
jbe 0x10011fe91
mov r9d, 0x7a
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10011ff19
test byte [rcx + 0x1c], 8
je 0x10011ff19
lea edx, [r9 - 0x6a]
lea rax, [0x1000410c0]
jmp 0x10011fef5
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
mov r8d, 0x32
mov word [rsp + 0xa6], bx
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebx
jne 0x10011ff0c
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10011ff19
test byte [rcx + 0x1c], 8
je 0x10011ff19
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x11
mov rcx, qword [0x100177368]
mov r9d, eax
lea rax, [0x10003fae0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x10011ff19
lea rcx, [rsp + 0x30]
call fcn.10011ce74
mov qword [rsi], rax
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.100130830
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1001201a4
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x250
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rdi, rcx
xor ebx, ebx
lea rcx, [0x100044740]
mov r12d, r8d
mov rbp, rdx
lea esi, [rbx + 1]
call fcn.10011c978
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x208
mov word [rsp + 0x30], bx
call sub.msvcrt.dll_memset
cmp rdi, rbx
jne 0x100120239
lea r9d, [rbx + 0x57]
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120409
test byte [rcx + 0x1c], 8
je 0x100120409
lea edx, [r9 - 0x41]
lea rax, [0x1000418d0]
jmp 0x1001203f4
cmp rbp, rbx
jne 0x10012027a
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120409
test byte [rcx + 0x1c], 8
je 0x100120409
lea edx, [r9 - 0x40]
lea rax, [0x100043548]
jmp 0x1001203f4
mov r13d, 0x105
lea r8, [0x10003f460]
lea rcx, [rsp + 0x30]
mov r9, rdi
mov rdx, r13
mov word [rbp], bx
call fcn.1000526f0
cmp eax, ebx
jge 0x1001202fb
mov ecx, eax
mov esi, ebx
call fcn.10011ca20
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120409
test byte [rcx + 0x1c], 8
je 0x100120409
lea r8, [0x10003f460]
lea rcx, [rsp + 0x30]
mov r9, rdi
mov rdx, r13
call fcn.1000526f0
lea rcx, [0x100044780]
mov edx, 0x19
mov qword [rsp + 0x20], rcx
mov r9d, eax
jmp 0x100120387
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x30]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
cmp word [rsp + rcx*2 + 0x2e], 0x5c
je 0x1001203a0
lea r8, [0x1000021a0]
lea rcx, [rsp + 0x30]
mov rdx, r13
call fcn.100052624
cmp eax, ebx
jge 0x1001203a0
mov ecx, eax
mov esi, ebx
call fcn.10011ca20
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120409
test byte [rcx + 0x1c], 8
je 0x100120409
lea r8, [0x1000021a0]
lea rcx, [rsp + 0x30]
mov rdx, r13
call fcn.100052624
mov edx, 0x1a
mov r9d, eax
lea rax, [0x1000447d0]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x100177368]
lea r8, [0x100002d20]
mov rcx, qword [rcx + 0x10]
call fcn.100106904
jmp 0x100120409
lea rcx, [rsp + 0x30]
mov r8d, r12d
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebx
jne 0x100120409
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120409
test byte [rcx + 0x1c], 8
je 0x100120409
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
mov edx, 0x1b
mov r9d, eax
lea rax, [0x100044810]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106904
lea rcx, [0x100044740]
call fcn.10011c9b8
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.100130830
mov rbx, qword [rsp + 0x298]
add rsp, 0x250
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x10012212c
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
xor ebx, ebx
mov rbp, r9
mov r12, r8
mov r13, rdx
mov r14, rcx
mov rdi, rbx
mov dword [rax + 0x10], 0x100
mov dword [rax - 0x38], ebx
lea esi, [rbx + 1]
cmp rdx, rbx
je 0x100122256
cmp word [rdx], bx
je 0x100122256
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [rsp + 0x78]
call fcn.10011ce34
mov rdi, rax
cmp rax, rbx
je 0x100122225
lea rax, [rsp + 0x78]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, eax
cmp eax, ebx
je 0x1001221f8
cmp eax, 0xea
je 0x100122173
mov esi, ebx
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10012229a
test byte [rcx + 0x1c], 8
je 0x10012229a
mov edx, 0x16
lea rax, [0x100044678]
jmp 0x100122285
cmp r12, rbx
je 0x100122204
mov qword [r12], rdi
mov rdi, rbx
cmp rbp, rbx
je 0x100122210
mov eax, dword [rsp + 0x78]
mov dword [rbp], eax
mov rcx, qword [rsp + 0x90]
cmp rcx, rbx
je 0x10012229a
mov eax, dword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x10012229a
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10012229a
test byte [rcx + 0x1c], 8
je 0x10012229a
lea edx, [r9 + 7]
lea rax, [0x100044ca4]
jmp 0x100122285
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10012229a
test byte [rcx + 0x1c], 8
je 0x10012229a
lea edx, [r9 - 0x43]
lea rax, [0x1000444d8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000029c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [rsp + 0x40]
mov eax, esi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret

Function at 0x10012256c
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor ebx, ebx
lea edi, [rbx + 1]
cmp rdx, rbx
je 0x1001225ce
cmp r8, rbx
je 0x1001225ce
lea r9d, [rbx + 4]
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], r8
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r9d, eax
cmp eax, ebx
je 0x100122612
mov edi, ebx
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122612
test byte [rcx + 0x1c], 8
je 0x100122612
mov edx, 0x24
lea rax, [0x100044678]
jmp 0x1001225fd
mov r9d, 0x57
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122612
test byte [rcx + 0x1c], 8
je 0x100122612
lea edx, [r9 - 0x34]
lea rax, [0x100041158]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000029c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x40]
mov eax, edi
add rsp, 0x30
pop rdi
ret
Function at 0x10012475c
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x58], rax
sub edx, 1
mov rdi, r8
je 0x1001247f3
cmp edx, 1
je 0x10012478c
mov ebx, 0xc000000d
jmp 0x100124819
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x30]
lea rdx, [0x100045508]
call fcn.1001244d4
mov ebx, eax
test eax, eax
js 0x1001247e2
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, 0x23000003
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0x10
call fcn.100124b30
mov ebx, eax
test eax, eax
js 0x1001247e2
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x100124819
call fcn.100127c5c
jmp 0x100124819
xor r9d, r9d
lea rdx, [rsp + 0x40]
lea r8d, [r9 + 0x14]
lea ecx, [r9 + 0x5a]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov ebx, eax
test eax, eax
js 0x100124819
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.100130830
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret