Function at 0x14007bfc0
Capabilities:
Encrypt or decrypt via wincrypt

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x548]
sub rsp, 0x620
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r14, r9
mov esi, r8d
mov r15, rdx
mov r13, rcx
cmp qword [rcx + 0x10], 0
jne 0x14007c07b
lea rdx, str.Encrypt_data_failed__key_not_initialized.
lea rcx, [rsp + 0x58]
call fcn.140027a80
mov rdi, rax
lea rax, str.PCCrypt.cpp
mov qword [rsp + 0x20], rax
lea r9, str.CPcCrypt::EncryptData
mov edx, 4
mov r8d, 0x121
lea rcx, [rbp - 0x20]
call fcn.14002c550
nop
mov rdx, rdi
mov rcx, rax
call fcn.14002cda0
nop
lea rcx, [rbp - 0x20]
call fcn.1400298d0
nop
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14007c071
inc r8
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.14002e610
mov eax, 0x139f
jmp 0x14007c2cd
test r8d, r8d
je 0x14007c257
cmp qword [rdx], 0
je 0x14007c257
mov r12, qword [rbp + 0x570]
mov dword [r12], esi
lea ecx, [rsi + rsi]
call fcn.14026ded8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movzx r8d, byte [rbp + 0x550]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140055480
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.140031f10
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14007c109
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14007c109
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x14007c109
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdi, qword [r14]
test rdi, rdi
jne 0x14007c18f
lea rdx, str.Encrypt_data_failed__memory_related_problems.
lea rcx, [rsp + 0x78]
call fcn.140027a80
mov rdi, rax
lea rax, str.PCCrypt.cpp
mov qword [rsp + 0x20], rax
lea r9, str.CPcCrypt::EncryptData
mov edx, 4
mov r8d, 0x12d
lea rcx, [rbp + 0x130]
call fcn.14002c550
nop
mov rdx, rdi
mov rcx, rax
call fcn.14002cda0
nop
lea rcx, [rbp + 0x130]
call fcn.1400298d0
nop
mov r8, qword [rbp - 0x70]
cmp r8, 8
jb 0x14007c185
inc r8
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.14002e610
mov eax, 8
jmp 0x14007c2cd
mov ecx, dword [r12]
add ecx, esi
xor eax, eax
rep stosb byte [rdi], al
mov r9, rsi
mov edx, dword [r12]
add edx, esi
mov r8, qword [r15]
mov rcx, qword [r14]
call fcn.140028d70
mov ecx, dword [r12]
add ecx, esi
mov rax, qword [r14]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.ADVAPI32.dll_CryptEncrypt]
mov ebx, eax
cmp eax, 1
je 0x14007c253
lea rdx, str.Encrypt_data_failed__CryptEncrypt_call_failed.
lea rcx, [rbp - 0x68]
call fcn.140027a80
mov rdi, rax
lea rax, str.PCCrypt.cpp
mov qword [rsp + 0x20], rax
lea r9, str.CPcCrypt::EncryptData
mov edx, 4
mov r8d, 0x138
lea rcx, [rbp + 0x280]
call fcn.14002c550
nop
mov rdx, rdi
mov rcx, rax
call fcn.14002cda0
nop
lea rcx, [rbp + 0x280]
call fcn.1400298d0
nop
mov r8, qword [rbp - 0x50]
cmp r8, 8
jb 0x14007c24f
inc r8
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.14002e610
mov eax, ebx
jmp 0x14007c2cd
xor eax, eax
jmp 0x14007c2cd
lea rdx, str.Encrypt_data_failed__size_and_input_are_invalid.
lea rcx, [rbp - 0x48]
call fcn.140027a80
mov rdi, rax
lea rax, str.PCCrypt.cpp
mov qword [rsp + 0x20], rax
lea r9, str.CPcCrypt::EncryptData
mov edx, 4
mov r8d, 0x126
lea rcx, [rbp + 0x3d0]
call fcn.14002c550
nop
mov rdx, rdi
mov rcx, rax
call fcn.14002cda0
nop
lea rcx, [rbp + 0x3d0]
call fcn.1400298d0
nop
mov r8, qword [rbp - 0x30]
cmp r8, 8
jb 0x14007c2c8
inc r8
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp - 0x48]
call fcn.14002e610
mov eax, 0x57
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret