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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101508d3
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x24]
push eax
push 0x201
push 0
push ebx
push ecx
mov dword [ebp - 0x24], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test edi, edi
je 0x100dce64
push str.GetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xd8]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100dce52
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dce52
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dce52
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dce52
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xd8]
call fcn.1000ad70
xor al, al
jmp 0x100dcf8e
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
lea ecx, [ebp - 0x1c]
push 0x7fff
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10002350
push 0xfffe
push 0
push eax
lea esi, [eax + 0xfffe]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], esi
call fcn.10117ff0
add esp, 0xc
mov dword [ebp - 0x18], esi
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x1c]
sub esi, ecx
sar esi, 1
lea eax, [esi + esi]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
push ecx
push 0
push 0
push ebx
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
test edi, edi
jne 0x100dcf0b
mov esi, dword [ebp - 0x1c]
mov edx, esi
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100dcef0
sub edx, ecx
mov ecx, dword [ebp - 0x2c]
sar edx, 1
push edx
push esi
call fcn.10002060
jmp 0x100dcf78
push str.GetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x180]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 2
mov al, byte [esi + 0x48]
test al, al
je 0x100dcf6d
mov edx, str.RegQueryValueEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dcf6d
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dcf6d
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dcf6d
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x180]
call fcn.1000ad70
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x1c]
call fcn.100825d0
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100dd200
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10150976
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push eax
push 0x202
push 0
push edi
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test ebx, ebx
je 0x100dd375
push str.SetVolatileRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc0]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd2c3
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd2c3
mov edx, edi
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd2c3
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dd2c3
push ebx
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
call fcn.1000ad70
push 0
lea eax, [ebp - 0x14]
push eax
push 0
push 0xf023f
push 1
push 0
push 0
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
test ebx, ebx
je 0x100dd372
push str.SetVolatileRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc0]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 1
mov al, byte [esi + 0x48]
test al, al
je 0x100dd360
mov edx, str.RegCreateKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd360
mov edx, edi
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd360
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd360
push ebx
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc0]
call fcn.1000ad70
xor al, al
jmp 0x100dd431
mov esi, dword [ebp - 0x18]
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100dd380
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push esi
push 1
push 0
push str.value
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x100dd423
push str.SetVolatileRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x168]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 2
mov al, byte [esi + 0x48]
test al, al
je 0x100dd418
mov edx, str.RegSetValueEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd418
mov edx, str.value
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd418
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dd418
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x168]
call fcn.1000ad70
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100dd450
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101509bb
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x18]
push ecx
push 0x202
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x18], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test edi, edi
je 0x100dd523
push str.DeleteRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc4]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd511
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd511
mov edx, dword [ebp - 0x1c]
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd511
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd511
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc4]
call fcn.1000ad70
xor al, al
jmp 0x100dd5b1
push ebx
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, eax
test edi, edi
je 0x100dd5a3
push str.DeleteRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x16c]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 1
mov al, byte [esi + 0x48]
test al, al
je 0x100dd598
mov edx, str.RegDeleteValue
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd598
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd598
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dd598
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x16c]
call fcn.1000ad70
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100dd810
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10150a66
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x18]
push eax
push 0x202
push 0
push ebx
push ecx
mov dword [ebp - 0x18], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test edi, edi
je 0x100dd985
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xcc]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd8d8
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd8d8
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd8d8
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dd8d8
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 0xffffffff
call fcn.1000ad70
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0xf023f
push 0
push 0
push 0
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test edi, edi
je 0x100dd985
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xcc]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 1
mov al, byte [esi + 0x48]
test al, al
je 0x100dd973
mov edx, str.RegCreateKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd973
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dd973
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dd973
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xcc]
call fcn.1000ad70
xor al, al
jmp 0x100dda20
push dword [ebp + 0x10]
mov ebx, dword [ebp - 0x24]
push dword [ebp - 0x20]
push 3
push 0
push ebx
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x100dda12
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x174]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 2
mov al, byte [esi + 0x48]
test al, al
je 0x100dda07
mov edx, str.RegSetValueEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dda07
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dda07
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dda07
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x174]
call fcn.1000ad70
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100dda40
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10150a0b
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0x1c]
mov esi, dword [ebp + 0xc]
push edx
push 0x201
push 0
push eax
push ecx
mov dword [ebp - 0x1c], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test edi, edi
je 0x100ddb12
push str.GetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc8]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddb00
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddb00
mov edx, dword [ebp - 0x20]
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddb00
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddb00
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc8]
call fcn.1000ad70
xor al, al
jmp 0x100ddbbc
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push 0
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
test edi, edi
jne 0x100ddb3e
cmp dword [ebp - 0x18], 4
je 0x100ddbae
xor al, al
jmp 0x100ddbbc
push str.GetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x170]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 1
mov al, byte [esi + 0x48]
test al, al
je 0x100ddba3
mov edx, str.RegQueryValueEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddba3
mov edx, ebx
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddba3
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100ddba3
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x170]
call fcn.1000ad70
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100ddbe0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10150976
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x202
push 0
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test ebx, ebx
je 0x100ddd4c
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc0]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddc9d
mov edx, str.RegOpenKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddc9d
mov edx, edi
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddc9d
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100ddc9d
push ebx
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
call fcn.1000ad70
push 0
lea eax, [ebp - 0x14]
push eax
push 0
push 0xf023f
push 0
push 0
push 0
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
test ebx, ebx
je 0x100ddd4c
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0xc0]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 1
mov al, byte [esi + 0x48]
test al, al
je 0x100ddd3a
mov edx, str.RegCreateKeyEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddd3a
mov edx, edi
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100ddd3a
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100ddd3a
push ebx
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0xc0]
call fcn.1000ad70
xor al, al
jmp 0x100dddeb
push 4
lea eax, [ebp + 0xc]
push eax
push 4
push 0
push str.LastInstallChoice
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x100ddddd
push str.SetRegKeyValue
mov edx, 4
lea ecx, [ebp - 0x168]
call fcn.1000aed0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 2
mov al, byte [esi + 0x48]
test al, al
je 0x100dddd2
mov edx, str.RegSetValueEx
mov ecx, esi
call fcn.10020800
mov al, byte [esi + 0x48]
test al, al
je 0x100dddd2
mov edx, str.LastInstallChoice
mov ecx, esi
call fcn.100205a0
mov al, byte [esi + 0x48]
test al, al
je 0x100dddd2
mov edx, 0x1016dc00
mov ecx, esi
call fcn.10020800
cmp byte [esi + 0x48], 0
je 0x100dddd2
push edi
mov ecx, esi
call fcn.100201d0
lea ecx, [ebp - 0x168]
call fcn.1000ad70
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
ret
Function at 0x100df170
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10150cfe
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xbc
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x1019f158
mov dword [0x1019f158], 0
mov dword [0x1019f168], 0
mov dword [0x1019f16c], 7
mov dword [0x1019f170], 0
mov dword [0x1019f180], 0
mov dword [0x1019f184], 7
mov dword [0x1019f188], 0
mov dword [0x1019f198], 0
mov dword [0x1019f19c], 7
mov dword [0x1019f1a0], 0
mov dword [0x1019f1b0], 0
mov dword [0x1019f1b4], 7
mov dword [ebp - 4], 0
push 0x2c
mov dword [0x1019f1b8], 0
mov dword [0x1019f1bc], 0
call fcn.101157fb
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x1019f1b8], eax
mov byte [ebp - 4], 1
push 0x2c
mov dword [0x1019f1c0], 0
mov dword [0x1019f1c4], 0
call fcn.101157fb
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x1019f1c0], eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 2
call fcn.100dea10
mov ecx, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp byte [ecx + 0x30], 0
lea eax, [ebp - 0x64]
cmove eax, ecx
lea ecx, [ebp - 0x94]
push eax
call fcn.1006d520
cmp dword [ebp - 0x68], 0x10
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x2c]
cmovae edx, dword [ebp - 0x7c]
call fcn.1000c8d0
lea ecx, [ebp - 0x94]
call fcn.1000da00
lea ecx, [ebp - 0x64]
call fcn.1000da00
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 7
call fcn.100e1220
sub esp, 0x60
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x30], ecx
push 0x1019ee08
call fcn.10001ce0
movups xmm0, xmmword [ebp - 0x2c]
sub esp, 0x18
mov ecx, esi
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [eax + 0x10], xmm0
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.100dec30
call fcn.100df400
lea ecx, [ebp - 0x2c]
call fcn.10002400
mov eax, 0x1019f158
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101157bc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x100e53e0
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0x25
push 0
mov esi, ecx
mov dword [ebp - 0xc], 0x25
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
movups xmm0, xmmword [str.5B1674C0_22B8_411D_BD44_56BD4689568B]
mov dword [ebp - 8], eax
push esi
movups xmmword [eax], xmm0
push 4
movups xmm0, xmmword [0x10167540]
push 0
push 0
movups xmmword [eax + 0x10], xmm0
mov ecx, dword [0x10167550]
mov dword [eax + 0x20], ecx
mov cl, byte [0x10167554]
mov byte [eax + 0x24], cl
lea eax, [ebp - 0xc]
push eax
push 0
lea eax, [ebp + 8]
push eax
call dword [sym.imp.CRYPT32.dll_CryptProtectData]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp eax, 1
mov eax, dword [ebp - 8]
sete bl
test eax, eax
je 0x100e545c
push eax
call esi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100e5466
push ecx
call esi
mov ecx, dword [ebp - 4]
mov al, bl
pop esi
xor ecx, ebp
pop ebx
call fcn.101157bc
mov esp, ebp
pop ebp
ret

Function at 0x100e5480
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x1019a128]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0x25
push 0
mov esi, ecx
mov dword [ebp - 0xc], 0x25
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
movups xmm0, xmmword [str.5B1674C0_22B8_411D_BD44_56BD4689568B]
mov dword [ebp - 8], eax
push esi
movups xmmword [eax], xmm0
push 4
movups xmm0, xmmword [0x10167540]
push 0
push 0
movups xmmword [eax + 0x10], xmm0
mov ecx, dword [0x10167550]
mov dword [eax + 0x20], ecx
mov cl, byte [0x10167554]
mov byte [eax + 0x24], cl
lea eax, [ebp - 0xc]
push eax
push 0
lea eax, [ebp + 8]
push eax
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp eax, 1
mov eax, dword [ebp - 8]
sete bl
test eax, eax
je 0x100e54fc
push eax
call esi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100e5506
push ecx
call esi
mov ecx, dword [ebp - 4]
mov al, bl
pop esi
xor ecx, ebp
pop ebx
call fcn.101157bc
mov esp, ebp
pop ebp
ret