Function at 0x140091c88
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
lea rax, [rsp + 0x78]
mov r15d, r8d
mov r14, r9
mov qword [rsp + 0x28], rax
lea r8, str.SafenetSafeNetKSPSlots
xor r9d, r9d
mov dword [rsp + 0x20], 0x20119
mov rsi, rcx
call fcn.14000e7cc
xor r12d, r12d
cmp eax, r12d
je 0x140091f20
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x74]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov qword [rsp + 0x20], r12
call fcn.14000ea60
cmp eax, r12d
je 0x140091eff
mov eax, dword [rsp + 0x70]
lea ecx, [r12 + 0x40]
inc eax
mov dword [rsp + 0x70], eax
lea edx, [rax + 1]
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
cmp rax, r12
je 0x140091f13
mov edi, r12d
cmp dword [rsp + 0x74], r12d
jbe 0x140091ef4
mov ecx, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
lea rax, [rsp + 0x80]
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0x30], r12
mov rcx, rsi
mov r9, rbx
mov r8d, edi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.14000ef2c
cmp eax, r12d
je 0x140091ee8
lea rcx, str._n_____s_
mov rdx, rbx
call fcn.14000c030
mov rcx, rbx
call fcn.140012dc8
mov rbp, rax
cmp rax, r12
je 0x140091ee8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea rcx, [rsp + 0xa0]
mov r13d, eax
call sub.cryptdll.dll_MD5Init
mov r12d, 0x5b6
lea rcx, [rsp + 0xa0]
mov r8d, r13d
mov rdx, rbp
call sub.cryptdll.dll_MD5Update
sub r12, 1
jne 0x140091def
lea rcx, [rsp + 0xa0]
call sub.cryptdll.dll_MD5Final
mov r11, r12
lea ecx, [r12 + 0x10]
lea rax, [0x1400d5f88]
mov al, byte [r11 + rax]
inc r11
xor al, byte [rsp + r11 + 0xf7]
sub rcx, 1
mov byte [rsp + r11 + 0x8f], al
jne 0x140091e1d
lea edx, [rcx + 0x10]
lea rcx, [rsp + 0x90]
xor r8d, r8d
call fcn.140012f68
lea rcx, [0x14010110c]
call fcn.14000c030
mov rdx, qword [rsp + 0x78]
lea r11, [rsp + 0x88]
mov qword [rsp + 0x28], r11
xor r9d, r9d
mov r8, rbx
mov rcx, rsi
mov dword [rsp + 0x20], 0x20019
call fcn.14000e7cc
cmp eax, r12d
je 0x140091ecb
lea rcx, reloc.Cabinet.dll_FCICreate
call fcn.14000c030
mov rdx, qword [rsp + 0x88]
lea r8, [rsp + 0x90]
mov r9d, r15d
mov rcx, rsi
mov qword [rsp + 0x20], r14
call fcn.140091f44
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call fcn.14000f310
jmp 0x140091edf
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x140101110]
mov edx, eax
call fcn.14000c030
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
inc edi
cmp edi, dword [rsp + 0x74]
jb 0x140091d65
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x140091f13
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_dpapi_safenet_ksp_registryparser___kull_m_registry_RegQueryInfoKey__0x_08x__n
mov edx, eax
call fcn.14000c030
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.14000f310
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret