Function at 0x140181650
Capabilities:
Encrypt data using dpapi

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov rbx, qword [0x14053f2c0]
cmp rbx, 1
jbe 0x14018167f
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp 0x1401816d0
lea rcx, [0x14053f2c0]
call fcn.14015b750
test al, al
je 0x1401816c7
mov ecx, 0x38
call fcn.1402dd130
mov rbx, rax
mov word [rax], 0
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
lea rcx, [0x14053f2c0]
mov rdx, rax
xor r8d, r8d
xor r9d, r9d
call fcn.14015b810
jmp 0x14018166a
mov rbx, qword [0x14053f2c0]
jmp 0x14018166a
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x100
movaps xmmword [rsp + 0xf0], xmm6
mov rsi, r8
mov rdi, rdx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0xe8], rax
cmp byte [rcx + 1], 0
jne 0x140181957
mov rbx, rcx
movaps xmm6, xmmword [0x14047fb40]
lea r14, [rsp + 0xc0]
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rcx, r14
mov edx, 1
call fcn.1401bf6a0
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0xa0]
mov qword [r15 + 0x10], rax
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.140181990
mov rcx, r14
mov rdx, r15
call fcn.1401bf7b0
xor r14d, r14d
lea rbx, [rsp + 0x80]
mov qword [rbx + 0x10], r14
xorps xmm6, xmm6
movaps xmmword [rbx], xmm6
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call fcn.140153e90
mov edx, SafeArrayDestroy
mov rcx, rax
call fcn.140165a70
lea rax, [rsp + 0x50]
mov qword [rax + 0x10], r14
movaps xmmword [rax], xmm6
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r14
movzx eax, byte [rbx + 0x17]
test al, al
js 0x1401817b2
and eax, 0x7f
jmp 0x1401817c2
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
test rax, rax
js 0x1401818ff
test rbx, rbx
jne 0x1401817e3
test rax, rax
jne 0x14018192b
movzx eax, byte [rdi + 0x17]
test al, al
js 0x1401817f0
and eax, 0x7f
jmp 0x1401817f7
mov rax, qword [rdi + 8]
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rax
test rax, rax
js 0x1401818ff
test rdi, rdi
jne 0x140181818
test rax, rax
jne 0x14018192b
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x70]
call fcn.1401bf9b0
mov ebx, eax
cmp byte [rsp + 0x67], 0
js 0x1401818f0
test bl, bl
je 0x14018188a
lea r8, [rsp + 0x80]
movzx eax, byte [r8 + 0x17]
mov r9d, eax
and r9d, 0x7f
test al, al
cmovs r9, qword [r8 + 8]
cmovs r8, qword [r8]
mov rcx, rsi
xor edx, edx
call fcn.14024f460
lea r8, [0x1404e7747]
mov r9d, 3
mov rcx, rsi
xor edx, edx
call fcn.14024f460
cmp byte [rsp + 0x97], 0
js 0x1401818e1
cmp byte [rsp + 0xb7], 0
jns 0x1401818ab
mov rcx, qword [rsp + 0xa0]
call fcn.1402dd16c
lea rcx, [rsp + 0xc0]
call fcn.1401bf770
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1402ddd70
mov eax, ebx
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x100
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x80]
call fcn.1402dd16c
jmp 0x140181894
mov rcx, qword [rsp + 0x50]
call fcn.1402dd16c
jmp 0x140181846
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.14032ac00
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.14032ac00
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1402ddd70
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x100
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x140181ab0
push rsi
push rdi
push rbx
sub rsp, 0x1c0
mov rsi, rdx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x1b8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1a0], rax
movzx edx, byte [rcx + 0x17]
mov r8d, edx
and r8d, 0x7f
test dl, dl
mov rdx, qword [rcx]
cmovns rdx, rcx
mov qword [rsp + 0x1a8], rdx
cmovs r8d, dword [rcx + 8]
mov dword [rsp + 0x1a0], r8d
movaps xmm0, xmmword [0x14047fb40]
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rsp + 0x188]
mov qword [rcx], rax
call fcn.14025bf70
lea rax, [0x140492036]
lea rdx, [rsp + 0x178]
mov qword [rdx], rax
mov qword [rdx + 8], 5
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.140185930
cmp byte [rdi + 0x17], 0
jns 0x140181b5b
mov rdi, qword [rsp + 0x38]
lea rax, [rsp + 0x190]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x1a0]
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call sub.CRYPT32.dll_CryptProtectData
mov edi, eax
cmp byte [rsp + 0x4f], 0
jns 0x140181ba2
mov rcx, qword [rsp + 0x38]
call fcn.1402dd16c
lea rbx, [rsp + 0x1b0]
mov rcx, rbx
call fcn.14025bf70
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x188]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
mov qword [rsp + 0x38], rax
mov rax, qword [0x14053f2b0]
test rax, rax
jne 0x140181c16
mov dword [rsp + 0x20], 1
lea rcx, str.OSCrypt.Win.Encrypt.Time
mov edx, 0x3e8
mov r8d, 0x989680
mov r9d, 0x32
call fcn.140269640
mov qword [0x14053f2b0], rax
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.140267330
test edi, edi
setne dl
lea rcx, str.OSCrypt.Win.Encrypt.Result
call fcn.140267230
test edi, edi
je 0x140181c80
mov r8d, dword [rsp + 0x190]
mov rdx, qword [rsp + 0x198]
mov rcx, rsi
call fcn.14022a560
mov rcx, qword [rsp + 0x198]
call qword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
setne bl
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
call fcn.1402ddd70
mov eax, ebx
add rsp, 0x1c0
pop rbx
pop rdi
pop rsi
ret
mov ecx, 2
call fcn.14026cdd0
test al, al
je 0x140181c5e
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....componentsos_crypt_syncos_crypt_win.cc
lea rsi, [rsp + 0x38]
mov rcx, rsi
mov r8d, 0x44
mov r9d, 2
call fcn.14037ed30
lea rcx, [rsp + 0x48]
lea rdx, str.Failed_to_encrypt
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.14031d7c0
mov rcx, rsi
call fcn.14037edb0
jmp 0x140181c5e