Function at 0x18005b524
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using rc4 via systemfunction032

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x2f]
sub rsp, 0x100
mov edi, dword [rcx]
lea rax, [rbp - 0x69]
add rdi, rdx
mov qword [rbp - 0x71], rax
xor ebx, ebx
lea rax, [rbp + 0x17]
cmp dword [rbp + 0x7f], ebx
lea rdx, str.LM
mov qword [rsp + 0x50], rax
mov rsi, rcx
lea rax, str.NTLM
mov r14, r8
lea r12d, [rbx + 0x10]
cmovne rdx, rax
lea rcx, str._s_:
mov dword [rbp - 0x79], r12d
mov dword [rbp - 0x75], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], r12d
call fcn.1800090bc
cmp dword [rsi], ebx
je 0x18005b74e
movzx edx, word [rdi + 2]
mov ecx, edx
sub ecx, 1
je 0x18005b67c
cmp ecx, 1
je 0x18005b5c3
lea rcx, str.ERROR_kuhl_m_lsadump_getHash___Unknow_SAM_HASH_revision___hu_
call fcn.1800090bc
jmp 0x18005b74e
cmp dword [rdi + 4], r12d
jb 0x18005b74e
mov esi, dword [rsi + 4]
lea rcx, [rbp + 0x67]
mov r9d, Ordinal_27
mov dword [rsp + 0x20], 0xf0000000
xor r8d, r8d
xor edx, edx
sub esi, r9d
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x18005b625
lea rax, [rbp + 0x67]
mov r9d, esi
mov qword [rsp + 0x30], rax
lea r8, [rdi + 0x18]
lea rax, [rbp + 0x5f]
mov rcx, r14
mov qword [rsp + 0x28], rax
lea rdx, [rdi + 8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.180004150
jmp 0x18005b63b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptAcquireContext__0x_08x__n
call fcn.1800090bc
xor eax, eax
test eax, eax
je 0x18005b74e
mov edx, dword [rbp + 0x5f]
cmp edx, r12d
mov rdi, qword [rsp + 0x40]
sete bl
test ebx, ebx
je 0x18005b65f
movups xmm0, xmmword [rdi]
movdqu xmmword [rbp - 0x69], xmm0
jmp 0x18005b66e
mov r8d, r12d
lea rcx, str.ERROR_kuhl_m_lsadump_getHash___Hash_size__u____u
call fcn.1800090bc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x18005b710
cmp dword [rsi + 4], 0x14
jne 0x18005b74e
lea rcx, [rbp - 0x41]
call qword [sym.imp.cryptdll.dll_MD5Init]
mov r8d, r12d
lea rcx, [rbp - 0x41]
mov rdx, r14
call qword [sym.imp.cryptdll.dll_MD5Update]
mov r8d, 4
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x41]
call qword [sym.imp.cryptdll.dll_MD5Update]
cmp dword [rbp + 0x7f], ebx
lea rax, str.NTPASSWORD
lea rdx, str.LMPASSWORD
mov r8d, Ordinal_13
cmovne rdx, rax
lea rcx, [rbp - 0x41]
call qword [sym.imp.cryptdll.dll_MD5Update]
lea rcx, [rbp - 0x41]
call qword [sym.imp.cryptdll.dll_MD5Final]
movups xmm0, xmmword [rdi + 4]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x79]
movdqu xmmword [rbp - 0x69], xmm0
call qword [sym.imp.ADVAPI32.dll_SystemFunction032]
test eax, eax
setns bl
test ebx, ebx
jne 0x18005b714
lea rcx, str.ERROR_kuhl_m_lsadump_getHash___RtlEncryptDecryptRC4
call fcn.1800090bc
test ebx, ebx
je 0x18005b74e
lea r8, [rbp - 0x59]
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x69]
call qword [sym.imp.ADVAPI32.dll_SystemFunction025]
xor ebx, ebx
test eax, eax
setns bl
test ebx, ebx
je 0x18005b742
xor r8d, r8d
lea rcx, [rbp - 0x59]
mov edx, r12d
call fcn.18000e2ec
jmp 0x18005b74e
lea rcx, str.ERROR_kuhl_m_lsadump_getHash___RtlDecryptDES2blocks1DWORD
call fcn.1800090bc
lea rcx, [0x1800a38e8]
call fcn.1800090bc
mov eax, ebx
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret