Function at 0x18000b660
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using rc4 via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
mov rax, rsp
push rbp
push r13
push r14
lea rbp, [rax - 0x57]
sub rsp, 0x90
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov rsi, r9
mov r13, r8
mov r12d, edx
mov rdi, rcx
mov dword [rsp + 0x20], 0xc8
lea r14, str.......DLLsDLApiCryptHelpers.cpp
mov r9, r14
xor r8d, r8d
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008d80
mov r9d, 0xff
lea r8, [0x180040730]
lea rdx, str.DlEncryptMemory
lea rcx, [rbp + 0x17]
call fcn.18000a9b0
nop
mov dword [rsp + 0x20], 0
mov r9d, 1
lea r8, str.Microsoft_Base_Cryptographic_Provider_v1.0
xor edx, edx
lea rcx, [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x18000b830
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, 1
lea r8, str.Microsoft_Base_Cryptographic_Provider_v1.0
xor edx, edx
lea rcx, [rbp - 9]
cmp eax, 0x80090016
jne 0x18000b7dd
mov dword [rsp + 0x20], 8
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x18000b830
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.180003830
mov rcx, rax
mov dword [rsp + 0x28], 0xd9
mov qword [rsp + 0x20], r14
mov r9d, ebx
lea r8, str.CryptAcquireContext_NEWKEYSET__failed
lea rdx, str.DlEncryptMemory
call fcn.180009160
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 1
lea r8, str.Microsoft_Base_Cryptographic_Provider_v1.0
xor edx, edx
lea rcx, [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x18000b830
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rsp + 0x28], 0xde
mov qword [rsp + 0x20], r14
lea r9, str.CryptAcquireContext_VERIFYCONTEXT__failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
mov dword [rsp + 0x20], 0xf0000000
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x18000b830
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rsp + 0x28], 0xe7
mov qword [rsp + 0x20], r14
lea r9, str.CryptAcquireContext_VERIFYCONTEXT__failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x18000b893
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rsp + 0x28], 0xf4
mov qword [rsp + 0x20], r14
lea r9, str.CryptCreateHash_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
xor r9d, r9d
mov r8d, dword [rbp + 0x7f]
mov rdx, rsi
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x18000b8ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rsp + 0x28], 0xfb
mov qword [rsp + 0x20], r14
lea r9, str.CryptHashData_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
mov r9d, 0x380000
mov r8, qword [rbp - 1]
mov edx, 0x6801
mov rcx, qword [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
jne 0x18000b953
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rsp + 0x28], 0x102
mov qword [rsp + 0x20], r14
lea r9, str.CryptDeriveKey_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x18000b993
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
test eax, eax
jne 0x18000b98b
mov dword [rsp + 0x20], 0x10b
mov r9, r14
lea r8, str.CryptDestroyHash_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180009070
mov qword [rbp - 1], 0
mov ecx, 0x3f0
call fcn.1800144c8
mov rsi, rax
test rax, rax
jne 0x18000b9e0
mov dword [rsp + 0x28], 0x120
mov qword [rsp + 0x20], r14
lea r9, str.Out_of_memory
xor r8d, r8d
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
xor ebx, ebx
test r12d, r12d
je 0x18000baa7
sub r13, rdi
nop
mov eax, r12d
sub eax, ebx
mov ecx, 0x3e8
cmp eax, ecx
cmovb ecx, eax
mov dword [rbp - 0x11], ecx
mov r8d, ecx
mov rdx, rdi
mov rcx, rsi
call fcn.180016bf0
xor r8d, r8d
cmp dword [rbp - 0x11], 0x3e8
setb r8b
mov dword [rsp + 0x30], 0x3f0
lea rax, [rbp - 0x11]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor edx, edx
mov rcx, qword [rbp + 7]
call qword [sym.imp.ADVAPI32.dll_CryptEncrypt]
test eax, eax
je 0x18000ba6c
mov r8d, dword [rbp - 0x11]
lea rcx, [r13 + rdi]
mov rdx, rsi
call fcn.180016bf0
add ebx, 0x3e8
add rdi, 0x3e8
cmp ebx, r12d
jb 0x18000b9f0
jmp 0x18000baa7
mov dword [rsp + 0x28], 0x130
mov qword [rsp + 0x20], r14
lea r9, str.CryptEncrypt_failed
xor r8d, r8d
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
xor eax, eax
jmp 0x18000bb57
mov rcx, rsi
call fcn.180016bd8
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x18000bae7
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
test eax, eax
jne 0x18000bae7
mov dword [rsp + 0x20], 0x141
mov r9, r14
lea r8, str.CryptDestroyKey_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180009070
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x18000bb21
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test eax, eax
jne 0x18000bb21
mov dword [rsp + 0x20], 0x148
mov r9, r14
lea r8, str.CryptReleaseContext_failed
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180009070
mov dword [rsp + 0x28], 0x191
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, str.DlEncryptMemory
lea rcx, [0x180040730]
call fcn.180008f00
nop
lea rcx, [rbp + 0x17]
call fcn.180009670
mov eax, 1
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop rbp
ret