Function at 0x1400167fd
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
jmp 0x140020e60
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x298
lea rbp, [rsp + 0x50]
lea rdi, [rsp + 0x50]
mov ecx, 0x62
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [0x140073348]
xor rax, rbp
mov qword [rbp + 0x238], rax
lea rcx, [0x14007cacf]
call fcn.140016b68
mov dword [rbp + 4], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x128], 0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
jne 0x140020f09
jmp 0x140021196
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140049e88]
lea rcx, [rbp + 0x28]
call fcn.1400164d3
test eax, eax
jge 0x140020f28
jmp 0x140021196
mov dword [rbp + 0xa4], 0
mov dword [rbp + 0xc4], 0
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0xc4]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0xa4]
lea rdx, str.ObjectLength
mov rcx, qword [rbp + 0x28]
call fcn.1400166cc
test eax, eax
jge 0x140020f76
jmp 0x140021196
mov eax, dword [rbp + 0xa4]
mov r8d, eax
mov edx, 8
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x108], rax
cmp qword [rbp + 0x108], 0
jne 0x140020fa4
jmp 0x140021196
mov dword [rbp + 0xe4], 0
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0xc4]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0xe4]
lea rdx, str.BlockLength
mov rcx, qword [rbp + 0x28]
call fcn.1400166cc
test eax, eax
jge 0x140020fe8
jmp 0x140021196
cmp dword [rbp + 0xe4], 0x10
jbe 0x140020ff6
jmp 0x140021196
mov dword [rsp + 0x30], 0
mov eax, dword [rbp + 0x280]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x278]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0xa4]
mov r8, qword [rbp + 0x108]
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x28]
call fcn.140016505
test eax, eax
jge 0x140021038
jmp 0x140021196
mov dword [rbp + 0x84], 0
mov dword [rsp + 0x48], 1
lea rax, [rbp + 0x84]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rbp + 0xe4]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x270]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rbp + 0x268]
mov rdx, qword [rbp + 0x260]
mov rcx, qword [rbp + 0x48]
call fcn.1400160f0
test eax, eax
jge 0x1400210a0
jmp 0x140021196
mov eax, dword [rbp + 0x84]
mov qword [rbp + 0x148], rax
lea r9, [rbp + 0x164]
mov r8d, 4
mov edx, 0x3000
lea rcx, [rbp + 0x148]
call fcn.140016019
mov qword [rbp + 0x128], rax
cmp dword [rbp + 0x164], 0
jl 0x1400210e5
cmp qword [rbp + 0x128], 0
jne 0x1400210ea
jmp 0x140021196
mov dword [rbp + 0xc4], 0
mov dword [rsp + 0x48], 1
lea rax, [rbp + 0xc4]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x84]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0xe4]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x270]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rbp + 0x268]
mov rdx, qword [rbp + 0x260]
mov rcx, qword [rbp + 0x48]
call fcn.1400160f0
test eax, eax
jge 0x140021154
jmp 0x140021196
mov rcx, qword [rbp + 0x48]
call fcn.140016aa5
mov qword [rbp + 0x48], 0
mov rax, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x128]
mov qword [rax], rcx
mov rax, qword [rbp + 0x290]
mov ecx, dword [rbp + 0x84]
mov dword [rax], ecx
mov dword [rbp + 4], 1
xor eax, eax
test eax, eax
jne 0x140020eec
cmp qword [rbp + 0x48], 0
je 0x1400211a6
mov rcx, qword [rbp + 0x48]
call fcn.140016aa5
cmp qword [rbp + 0x28], 0
je 0x1400211b8
xor edx, edx
mov rcx, qword [rbp + 0x28]
call fcn.140016870
cmp qword [rbp + 0x68], 0
je 0x1400211c9
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
cmp dword [rbp + 4], 0
jne 0x140021202
cmp qword [rbp + 0x128], 0
je 0x1400211e7
xor edx, edx
mov rcx, qword [rbp + 0x128]
call fcn.1400161ae
mov rax, qword [rbp + 0x288]
mov qword [rax], 0
mov rax, qword [rbp + 0x290]
mov dword [rax], 0
mov eax, dword [rbp + 4]
mov edi, eax
lea rcx, [rbp - 0x50]
lea rdx, reloc.OLEAUT32.dll_VariantClear
call fcn.1400169a6
mov eax, edi
mov rcx, qword [rbp + 0x238]
xor rcx, rbp
call fcn.1400165b9
lea rsp, [rbp + 0x248]
pop rdi
pop rbp
ret