Function at 0x1400e6370
Capabilities:
Encrypt data using rc4 via systemfunction033
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rdi
push r13
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r15, rcx
mov dword [rbp - 0x80], 0x10
xor edi, edi
mov dword [rbp - 0x7c], 0x10
lea rcx, [rbp - 0x18]
mov dword [rsp + 0x70], 0x30
mov qword [rbp - 0x78], rcx
lea r8, str.Policy
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x74], 0x30
mov qword [rsp + 0x28], rcx
mov r13d, edi
mov rcx, r15
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x20], 0x20019
call fcn.14000d810
test eax, eax
je 0x1400e6b05
mov qword [rsp + 0x140], rbx
lea rcx, reloc.Cabinet.dll_FCICreate
mov qword [rsp + 0x108], r12
call fcn.14000afb0
mov rdx, qword [rsp + 0x38]
lea r9, str.Local
lea r8, [0x140179b9c]
mov rcx, r15
call fcn.1400e6140
mov rdx, qword [rsp + 0x38]
lea r9, [0x140160120]
lea r8, [0x140179ba4]
mov rcx, r15
call fcn.1400e6140
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r8, str.PolDnDDN
mov rcx, r15
mov dword [rsp + 0x20], 0x20019
call fcn.14000d810
test eax, eax
je 0x1400e64fd
mov rdx, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.14000e070
mov ebx, eax
cmp dword [r15], edi
jne 0x1400e64b6
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1400e64b6
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r12, qword [rsp + 0x48]
test ebx, ebx
je 0x1400e650e
movzx eax, word [r12]
lea rdx, [rsp + 0x60]
mov word [rsp + 0x60], ax
lea rcx, str.Domain_FQDN_:__wZ_n
movzx eax, word [r12 + 2]
mov word [rsp + 0x62], ax
mov eax, dword [r12 + 4]
add rax, r12
mov qword [rsp + 0x68], rax
call fcn.14000afb0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400e650e
lea rcx, str.ERROR_kull_m_registry_OpenAndQueryWithAlloc___kull_m_registry_RegOpenKeyEx_KO_n
call fcn.14000afb0
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r8, str.PolRevision
mov rcx, r15
mov dword [rsp + 0x20], 0x20019
call fcn.14000d810
test eax, eax
je 0x1400e6ab0
mov rdx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.14000e070
mov ebx, eax
cmp dword [r15], edi
jne 0x1400e657c
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1400e657c
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
je 0x1400e6abc
mov rbx, qword [rsp + 0x40]
lea rcx, str._nPolicy_subsystem_is_:__hu._hu_n
movzx r8d, word [rbx]
movzx edx, word [rbx + 2]
call fcn.14000afb0
cmp word [rbx], 9
lea rax, str.PolEKList
mov rdx, qword [rsp + 0x38]
lea r8, str.PolSecretEncryptionKey
cmova r8, rax
mov rcx, r15
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20019
call fcn.14000d810
test eax, eax
je 0x1400e6a99
mov ecx, dword [r15]
mov r9d, edi
mov qword [rsp + 0x110], rsi
mov r8d, 0x6b6e
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x100], r14
mov r14d, edi
mov dword [rsp + 0x30], edi
test ecx, ecx
je 0x1400e669d
cmp ecx, 1
jne 0x1400e682e
mov rdx, rdi
test rsi, rsi
je 0x1400e6620
mov rax, rsi
jmp 0x1400e6628
mov rax, qword [r15 + 8]
mov rax, qword [rax + 0x18]
cmp word [rax + 4], r8w
jne 0x1400e6680
mov r10d, dword [rax + 0x28]
test r10d, r10d
je 0x1400e6680
movsxd rcx, dword [rax + 0x2c]
cmp ecx, 0xffffffff
je 0x1400e6680
mov rax, qword [r15 + 8]
mov r8d, edi
mov rbx, qword [rax + 0x10]
lea r11, [rbx + rcx]
test r10d, r10d
je 0x1400e6680
test rdx, rdx
jne 0x1400e6680
mov eax, r8d
movsxd rcx, dword [r11 + rax*4 + 4]
mov eax, 0x6b76
add rcx, rbx
cmp word [rcx + 4], ax
jne 0x1400e6678
cmp word [rcx + 6], di
cmove rdx, rcx
inc r8d
cmp r8d, r10d
jb 0x1400e6655
test rdx, rdx
mov ebx, edi
setne bl
test rdx, rdx
je 0x1400e66d4
mov r9d, dword [rdx + 8]
btr r9d, 0x1f
mov dword [rsp + 0x30], r9d
jmp 0x1400e66d4
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
mov ebx, edi
sete bl
test eax, eax
je 0x1400e66cf
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r9d, dword [rsp + 0x30]
test ebx, ebx
je 0x1400e682e
test r9d, r9d
je 0x1400e683a
mov edx, r9d
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r12, rax
test rax, rax
je 0x1400e683a
mov ecx, dword [r15]
test ecx, ecx
je 0x1400e67d3
cmp ecx, 1
jne 0x1400e6805
mov rcx, rdi
test rsi, rsi
jne 0x1400e6723
mov rax, qword [r15 + 8]
mov rsi, qword [rax + 0x18]
mov eax, 0x6b6e
cmp word [rsi + 4], ax
jne 0x1400e677f
mov r9d, dword [rsi + 0x28]
test r9d, r9d
je 0x1400e677f
movsxd rdx, dword [rsi + 0x2c]
cmp edx, 0xffffffff
je 0x1400e677f
mov rax, qword [r15 + 8]
mov r8d, edi
mov r11, qword [rax + 0x10]
lea r10, [r11 + rdx]
test r9d, r9d
je 0x1400e677f
test rcx, rcx
jne 0x1400e6782
mov eax, r8d
movsxd rdx, dword [r10 + rax*4 + 4]
mov eax, 0x6b76
add rdx, r11
cmp word [rdx + 4], ax
jne 0x1400e6777
cmp word [rdx + 6], di
cmove rcx, rdx
inc r8d
cmp r8d, r9d
jb 0x1400e6754
test rcx, rcx
setne r14b
test rcx, rcx
je 0x1400e6805
mov r8d, dword [rcx + 8]
mov r14d, edi
mov ebx, r8d
btr ebx, 0x1f
cmp dword [rsp + 0x30], ebx
setae r14b
jb 0x1400e67cd
lea rdx, [rcx + 0xc]
test r8d, r8d
js 0x1400e67c2
mov rax, qword [r15 + 8]
movsxd rdx, dword [rdx]
mov rax, qword [rax + 0x10]
add rax, 4
add rdx, rax
mov r8d, ebx
mov rcx, r12
call fcn.14011b4a0
mov dword [rsp + 0x30], ebx
jmp 0x1400e6805
lea rax, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r12
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
sete r14b
test eax, eax
je 0x1400e6805
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14d, r14d
je 0x1400e6814
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], eax
jmp 0x1400e683a
lea rcx, str.ERROR_kull_m_registry_QueryWithAlloc___kull_m_registry_RegQueryValueEx_KO_n
call fcn.14000afb0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r12, rax
jmp 0x1400e683a
lea rcx, str.ERROR_kull_m_registry_QueryWithAlloc___pre___kull_m_registry_RegQueryValueEx_KO_n
call fcn.14000afb0
cmp dword [r15], edi
jne 0x1400e6856
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1400e6856
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14d, r14d
je 0x1400e6a2e
mov rax, qword [rsp + 0x40]
cmp word [rax], 9
jbe 0x1400e696f
mov r9, qword [rbp + 0x60]
xor r8d, r8d
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.1400e8be0
test eax, eax
je 0x1400e6a25
mov edx, dword [r12 + 0x3c]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r13, rax
test rax, rax
je 0x1400e6a25
mov r8d, dword [r12 + 0x3c]
lea rdx, [r12 + 0x4c]
mov rcx, rax
call fcn.14011b4a0
mov edx, dword [r13 + 0x18]
lea rcx, str.LSA_Key_s__:__u__default
call fcn.14000afb0
lea rcx, [r13 + 4]
call fcn.1400126d0
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000afb0
mov esi, edi
mov r14d, edi
cmp dword [r13 + 0x18], edi
jbe 0x1400e6a25
nop dword [rax + rax]
mov ebx, r14d
lea rcx, str.____02u_
mov edx, esi
add rbx, r13
call fcn.14000afb0
lea rdx, [rsp + 0x50]
lea rcx, [rbx + 0x1c]
call qword [sym.imp.ntdll.dll_RtlStringFromGUID]
test eax, eax
js 0x1400e6933
lea rdx, [rsp + 0x50]
lea rcx, [0x14015fbb8]
call fcn.14000afb0
lea rcx, [rsp + 0x50]
call qword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
lea rcx, [0x14016f29c]
call fcn.14000afb0
mov edx, dword [rbx + 0x30]
lea rcx, [rbx + 0x34]
xor r8d, r8d
call fcn.1400124b0
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000afb0
add r14d, 0x18
inc esi
add r14d, dword [rbx + 0x30]
cmp esi, dword [r13 + 0x18]
jb 0x1400e68f0
jmp 0x1400e6a25
lea rcx, [rbp - 0x70]
call qword [sym.imp.cryptdll.dll_MD5Init]
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp - 0x70]
mov r8d, 0x10
call qword [sym.imp.cryptdll.dll_MD5Update]
mov ebx, 0x3e8
nop dword [rax]
nop word [rax + rax]
mov r8d, 0x10
lea rdx, [r12 + 0x3c]
lea rcx, [rbp - 0x70]
call qword [sym.imp.cryptdll.dll_MD5Update]
sub rbx, 1
jne 0x1400e69a0
lea rcx, [rbp - 0x70]
call qword [sym.imp.cryptdll.dll_MD5Final]
lea rax, [r12 + 0xc]
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_SystemFunction033]
test eax, eax
js 0x1400e6a25
lea edx, [rbx + 0x10]
lea ecx, [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
test rax, rax
je 0x1400e6a25
movups xmm0, xmmword [r12 + 0x1c]
lea rcx, str.LSA_Key_:
movups xmmword [rax], xmm0
call fcn.14000afb0
xor r8d, r8d
lea edx, [rbx + 0x10]
mov rcx, rax
call fcn.1400124b0
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000afb0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x40]
mov rbx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r14, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x110]
test r13, r13
jne 0x1400e6a56
test rbx, rbx
je 0x1400e6abc
cmp dword [rbp + 0x68], 0
mov rcx, r15
mov rdx, qword [rsp + 0x38]
je 0x1400e6a7d
mov r9, qword [rbp + 0x58]
mov r8, qword [rbp + 0x50]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r13
call fcn.1400e6b20
jmp 0x1400e6abc
mov rax, qword [rbp + 0x70]
mov r9, r13
mov r8, qword [rbp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.1400e6e90
jmp 0x1400e6abc
lea rcx, str.ERROR_kull_m_registry_OpenAndQueryWithAlloc___kull_m_registry_RegOpenKeyEx_KO_n
call fcn.14000afb0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400e6abc
lea rcx, str.ERROR_kull_m_registry_OpenAndQueryWithAlloc___kull_m_registry_RegOpenKeyEx_KO_n
call fcn.14000afb0
cmp dword [r15], 0
mov r12, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x140]
jne 0x1400e6ae9
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1400e6ae9
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r13, r13
je 0x1400e6af7
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rdi, rdi
je 0x1400e6b05
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
add rsp, 0x118
pop r15
pop r13
pop rdi
pop rbp
ret