joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100102d14
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push r12
push r13
push r14
sub rsp, 0x160
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
lea r12, [0x10003c880]
mov qword [rsp + 0x40], r12
lea r13, [0x10003ca30]
mov qword [rsp + 0x48], r13
lea r14, [0x10003c868]
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x58], 0x16c
mov dword [rsp + 0x5c], reloc.VssTrace.DLL_Ordinal_11
mov dword [rsp + 0x60], 0xff
xor ebp, ebp
mov word [rax - 0x98], bp
mov byte [rax - 0x96], bpl
mov byte [rax - 0x95], 1
xor edx, edx
lea r8d, [rbp + 0x78]
lea rcx, [rsp + 0x68]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xf0]
call fcn.1000e842c
nop
mov dword [rsp + 0x28], 0x48
mov qword [rsp + 0x20], rsi
lea r9d, [rbp + 3]
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rdi + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
cmp eax, ebp
je 0x100102e86
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x58], 0x17f
mov dword [rsp + 0x5c], reloc.VssTrace.DLL_Ordinal_11
mov dword [rsp + 0x60], 0xff
mov word [rsp + 0xe0], bp
mov byte [rsp + 0xe2], bpl
mov byte [rsp + 0xe3], 1
xor edx, edx
lea r8d, [rbp + 0x78]
lea rcx, [rsp + 0x68]
call sub.msvcrt.dll_memset
movzx r8d, bx
or r8d, 0x80070000
cmp ebx, ebp
cmovle r8d, ebx
mov dword [rsp + 0x38], 0x48
mov qword [rsp + 0x30], rsi
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x20], rax
lea r9, [0x10003ca70]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xf0]
call fcn.1000ea25c
nop
lea rcx, [rsp + 0xf0]
call fcn.1000e8518
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret
Function at 0x10010a378
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], reloc.ATL.DLL_AtlModuleInit
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 0x10010a440
cmp eax, r13d
jne 0x10010a443
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 0x10010e504
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, [0x100041010]
mov r12, rdx
lea ebx, [rsi + 1]
call fcn.10011cf34
and dword [rsp + 0x60], esi
test rdi, rdi
jne 0x10010e584
lea r9d, [rsi + 0x57]
xor ebx, ebx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e737
test byte [rcx + 0x1c], 8
je 0x10010e737
lea edx, [rdi + 0x67]
lea rax, [0x100041040]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100004010]
mov qword [rsp + 0x20], rax
call fcn.100106f14
jmp 0x10010e737
test r12, r12
jne 0x10010e5c0
lea r9d, [r12 + 0x57]
xor ebx, ebx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e737
test byte [rcx + 0x1c], 8
je 0x10010e737
lea edx, [rbx + 0x68]
lea rax, [0x100040ba8]
jmp 0x10010e56a
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 0x10010e627
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e723
test byte [rcx + 0x1c], 8
je 0x10010e723
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbp + 0x6a]
jmp 0x10010e6fd
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 0x10010e6d1
cmp dword [rsp + 0x60], edi
jne 0x10010e6d1
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 0x10010e6a3
cmp dword [rsp + 0x60], edi
je 0x10010e723
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e723
test byte [rcx + 0x1c], 8
je 0x10010e723
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbx + 0x6b]
jmp 0x10010e6fd
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x10010e723
test byte [rcx + 0x1c], 8
je 0x10010e723
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rbx + 0x6a]
mov rcx, qword [0x100177368]
mov r9d, eax
lea rax, [0x100040138]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100004010]
mov qword [rsp + 0x20], rax
call fcn.100106f14
test rbp, rbp
je 0x10010e737
cmp rbp, 0xffffffffffffffff
je 0x10010e737
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x100041010]
call fcn.10011cf74
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 0x10011365c
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, [0x100041cb0]
lea ebp, [rbx + 1]
call fcn.10011cf34
mov rsi, rbx
mov dword [rsp + 0x50], ebx
cmp r12, rbx
je 0x100113852
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 0x100113703
cmp eax, 0xc0000023
je 0x100113703
cmp eax, 0x80000005
je 0x100113703
cmp eax, 0xc0000004
je 0x100113703
mov ecx, eax
mov ebp, ebx
call fcn.10011cfb4
mov ebx, eax
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x100113896
test byte [rcx + 0x1c], 8
je 0x100113896
lea edx, [rsi + 0x18]
lea rax, [0x100041ce8]
mov r9d, edi
jmp 0x1001137c7
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
cmp rax, rbx
jne 0x100113751
mov r9d, AtlModuleInit
mov ebp, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x100113896
test byte [rcx + 0x1c], 8
je 0x100113896
lea edx, [r9 + 0xb]
lea rax, [0x100041cf8]
jmp 0x100113881
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 0x1001137e1
mov ecx, eax
mov ebp, ebx
call fcn.10011cfb4
mov ebx, eax
mov rax, qword [0x100177368]
lea rdx, [0x100177368]
cmp rax, rdx
je 0x100113896
test byte [rax + 0x1c], 8
je 0x100113896
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rdx, rsi
mov ecx, 0x62
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov edx, AtlComPtrAssign
mov r9d, eax
lea rax, [0x100041d10]
mov rcx, qword [0x100177368]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106f14
jmp 0x100113896
movzx r9d, word [rsi]
mov r8, qword [rsi + 8]
mov edi, 0x104
mov rdx, rdi
mov rcx, r12
shr r9, 1
call fcn.100052748
cmp eax, ebx
jge 0x100113896
mov ecx, eax
mov ebp, ebx
call fcn.10011cfdc
mov ebx, eax
mov rax, qword [0x100177368]
lea rdx, [0x100177368]
cmp rax, rdx
je 0x100113896
test byte [rax + 0x1c], 8
je 0x100113896
movzx r9d, word [rsi]
mov r8, qword [rsi + 8]
mov rdx, rdi
shr r9, 1
mov rcx, r12
call fcn.100052748
mov edx, AtlComPtrAssign
mov r9d, eax
lea rax, [0x100041d80]
jmp 0x1001137c0
mov r9d, 0x57
mov ebp, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rdx, [0x100177368]
cmp rcx, rdx
je 0x100113896
test byte [rcx + 0x1c], 8
je 0x100113896
lea edx, [r9 - 0x41]
lea rax, [0x100041bf8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106f14
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [0x100041cb0]
call fcn.10011cf74
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 0x100117c3c
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 0x100117c76
cmp dword [rsp + 0x30], 3
cmovl ebx, dword [rsp + 0x30]
mov eax, ebx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.100130df0
add rsp, 0x40
pop rbx
ret

Function at 0x10011d1e8
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, [0x100043b20]
movzx ebp, dx
lea edi, [rbx + 1]
call fcn.10011cf34
lea r8d, [rbx + 0x48]
lea rcx, [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x50], rbx
call sub.msvcrt.dll_memset
lea rdx, [0x100037068]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rsi, rax
cmp rax, rbx
jne 0x10011d2a3
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [0x100177368]
lea rcx, [0x100177368]
cmp rdx, rcx
je 0x10011d3c4
test byte [rdx + 0x1c], 8
je 0x10011d3c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r8, [0x100003220]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x100040138]
mov edx, AtlModuleInit
mov qword [rsp + 0x20], rax
call fcn.100106f14
jmp 0x10011d3c4
mov r10d, dword [rsp + 0xe0]
cmp r10d, 0xa
jle 0x10011d307
mov r9d, 0x7a
mov edi, ebx
mov ebx, r9d
mov rax, qword [0x100177368]
lea rcx, [0x100177368]
cmp rax, rcx
je 0x10011d3bb
test byte [rax + 0x1c], 8
je 0x10011d3bb
lea rcx, [0x100041220]
mov dword [rsp + 0x28], r10d
lea edx, [r9 - 0x6a]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rax + 0x10]
lea r8, [0x100003220]
call fcn.10010d870
jmp 0x10011d3bb
cmp r10d, ebx
lea rcx, [rsp + 0xe8]
jle 0x10011d333
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 0x10011d320
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 0x10011d3bb
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [0x100177368]
lea rcx, [0x100177368]
cmp rax, rcx
je 0x10011d3bb
test byte [rax + 0x1c], 8
je 0x10011d3bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r8, [0x100003220]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x100040138]
mov edx, reloc.ATL.DLL_AtlModuleRegisterClassObjects
mov qword [rsp + 0x20], rax
call fcn.100106f14
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea rcx, [0x100043b20]
call fcn.10011cf74
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 0x100120350
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 0x1001203bb
lea r9d, [rbx + 0x57]
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001204d5
test byte [rcx + 0x1c], 8
je 0x1001204d5
lea edx, [r9 - 0x49]
lea rax, [0x1000447e0]
jmp 0x1001204b1
lea rcx, [rsp + 0xa0]
mov edx, 0x105
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
cmp eax, ebx
jne 0x10012040d
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001204d5
test byte [rcx + 0x1c], 8
je 0x1001204d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, AtlModuleInit
jmp 0x1001204a0
cmp eax, 0x104
jbe 0x10012044d
mov r9d, 0x7a
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001204d5
test byte [rcx + 0x1c], 8
je 0x1001204d5
lea edx, [r9 - 0x6a]
lea rax, [0x100041220]
jmp 0x1001204b1
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 0x1001204c8
mov edi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001204d5
test byte [rcx + 0x1c], 8
je 0x1001204d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, reloc.ATL.DLL_AtlModuleRegisterClassObjects
mov rcx, qword [0x100177368]
mov r9d, eax
lea rax, [0x10003fc40]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106f14
jmp 0x1001204d5
lea rcx, [rsp + 0x30]
call fcn.10011d430
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.100130df0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x100120760
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, [0x1000448a0]
mov r12d, r8d
mov rbp, rdx
lea esi, [rbx + 1]
call fcn.10011cf34
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x208
mov word [rsp + 0x30], bx
call sub.msvcrt.dll_memset
cmp rdi, rbx
jne 0x1001207f5
lea r9d, [rbx + 0x57]
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001209c5
test byte [rcx + 0x1c], 8
je 0x1001209c5
lea edx, [r9 - 0x41]
lea rax, [0x100041a30]
jmp 0x1001209b0
cmp rbp, rbx
jne 0x100120836
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001209c5
test byte [rcx + 0x1c], 8
je 0x1001209c5
lea edx, [r9 - 0x40]
lea rax, [0x1000436a8]
jmp 0x1001209b0
mov r13d, 0x105
lea r8, [0x10003f5c0]
lea rcx, [rsp + 0x30]
mov r9, rdi
mov rdx, r13
mov word [rbp], bx
call fcn.100052890
cmp eax, ebx
jge 0x1001208b7
mov ecx, eax
mov esi, ebx
call fcn.10011cfdc
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001209c5
test byte [rcx + 0x1c], 8
je 0x1001209c5
lea r8, [0x10003f5c0]
lea rcx, [rsp + 0x30]
mov r9, rdi
mov rdx, r13
call fcn.100052890
lea rcx, [0x1000448e0]
mov edx, 0x19
mov qword [rsp + 0x20], rcx
mov r9d, eax
jmp 0x100120943
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 0x10012095c
lea r8, [0x1000021a0]
lea rcx, [rsp + 0x30]
mov rdx, r13
call fcn.1000527c4
cmp eax, ebx
jge 0x10012095c
mov ecx, eax
mov esi, ebx
call fcn.10011cfdc
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001209c5
test byte [rcx + 0x1c], 8
je 0x1001209c5
lea r8, [0x1000021a0]
lea rcx, [rsp + 0x30]
mov rdx, r13
call fcn.1000527c4
mov edx, AtlComPtrAssign
mov r9d, eax
lea rax, [0x100044930]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x100177368]
lea r8, [0x100002d20]
mov rcx, qword [rcx + 0x10]
call fcn.100106f14
jmp 0x1001209c5
lea rcx, [rsp + 0x30]
mov r8d, r12d
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebx
jne 0x1001209c5
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x1001209c5
test byte [rcx + 0x1c], 8
je 0x1001209c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
mov edx, AtlComPtrAssign
mov r9d, eax
lea rax, [0x100044970]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106f14
lea rcx, [0x1000448a0]
call fcn.10011cf74
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.100130df0
mov rbx, qword [rsp + 0x298]
add rsp, 0x250
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1001226e8
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 0x100122812
cmp word [rdx], bx
je 0x100122812
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [rsp + 0x78]
call fcn.10011d3f0
mov rdi, rax
cmp rax, rbx
je 0x1001227e1
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 0x1001227b4
cmp eax, 0xea
je 0x10012272f
mov esi, ebx
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122856
test byte [rcx + 0x1c], 8
je 0x100122856
mov edx, AtlModuleUpdateRegistryFromResourceD
lea rax, [0x1000447d8]
jmp 0x100122841
cmp r12, rbx
je 0x1001227c0
mov qword [r12], rdi
mov rdi, rbx
cmp rbp, rbx
je 0x1001227cc
mov eax, dword [rsp + 0x78]
mov dword [rbp], eax
mov rcx, qword [rsp + 0x90]
cmp rcx, rbx
je 0x100122856
mov eax, dword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x100122856
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122856
test byte [rcx + 0x1c], 8
je 0x100122856
lea edx, [r9 + 7]
lea rax, [0x100044e04]
jmp 0x100122841
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122856
test byte [rcx + 0x1c], 8
je 0x100122856
lea edx, [r9 - 0x43]
lea rax, [0x100044638]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000029c0]
mov qword [rsp + 0x20], rax
call fcn.100106f14
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 0x100122b28
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 0x100122b8a
cmp r8, rbx
je 0x100122b8a
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 0x100122bce
mov edi, ebx
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122bce
test byte [rcx + 0x1c], 8
je 0x100122bce
mov edx, 0x24
lea rax, [0x1000447d8]
jmp 0x100122bb9
mov r9d, 0x57
mov edi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100122bce
test byte [rcx + 0x1c], 8
je 0x100122bce
lea edx, [r9 - 0x34]
lea rax, [0x1000412b8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000029c0]
mov qword [rsp + 0x20], rax
call fcn.100106f14
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 0x100124d18
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 0x100124daf
cmp edx, 1
je 0x100124d48
mov ebx, 0xc000000d
jmp 0x100124dd5
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x30]
lea rdx, [0x100045668]
call fcn.100124a90
mov ebx, eax
test eax, eax
js 0x100124d9e
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], reloc.ATL.DLL_AtlModuleInit
call fcn.1001250ec
mov ebx, eax
test eax, eax
js 0x100124d9e
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x100124dd5
call fcn.100128274
jmp 0x100124dd5
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 0x100124dd5
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.100130df0
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret