Function at 0x180024b00
Capabilities:
Decode data using base64 via winapi
Encrypt data using dpapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x180243280]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rdx
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1f], xmm1
xor ebx, ebx
mov r14d, ebx
mov qword [rbp + 0x2f], rbx
mov dword [rbp + 0x17], ebx
mov rcx, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x180024b4c
mov rcx, qword [rdx]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x17]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x180024bd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rax, str.CryptStringToBinaryA_failed__1_:
add rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], rbx
mov qword [rbp - 1], rbx
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180024ba0
lea rcx, [rbp - 0x19]
call fcn.180005800
nop
lea rcx, [rbp - 0x19]
call fcn.18001ff50
nop
lea rcx, [rbp - 0x19]
call fcn.180004420
mov rdi, qword [rbp + 0x1f]
jmp 0x180024d19
mov edx, dword [rbp + 0x17]
test rdx, rdx
je 0x180024be5
lea rcx, [rbp + 0x1f]
call fcn.18004b3d0
mov r14, qword [rbp + 0x2f]
cmp qword [rsi + 0x18], 0xf
jbe 0x180024bef
mov rsi, qword [rsi]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x17]
mov qword [rsp + 0x20], rax
mov rdi, qword [rbp + 0x1f]
mov r9, rdi
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rsi
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x180024c70
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rax, str.CryptStringToBinaryA_failed__2_:
add rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], rbx
mov qword [rbp - 1], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180024c44
lea rcx, [rbp - 0x19]
call fcn.180005800
nop
lea rcx, [rbp - 0x19]
call fcn.18001ff50
nop
lea rcx, [rbp - 0x19]
call fcn.180004420
jmp 0x180024d19
lea rax, [rdi + 5]
mov qword [rbp + 0xf], rax
mov eax, dword [rbp + 0x17]
add eax, 0xfffffffb
mov dword [rbp + 7], eax
mov ecx, reloc.WS2_32.dll_recv
call fcn.18017b314
mov rsi, rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 7]
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
jne 0x180024d16
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rax, str.CryptUnprotectData_failed:
add rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], rbx
mov qword [rbp - 1], rbx
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180024ce0
lea rcx, [rbp - 0x19]
call fcn.180005800
nop
lea rcx, [rbp - 0x19]
call fcn.18001ff50
nop
lea rcx, [rbp - 0x19]
call fcn.180004420
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.18017b2e0
jmp 0x180024d19
mov rbx, rsi
test rdi, rdi
je 0x180024d4d
sub r14, rdi
mov rax, rdi
cmp r14, 0x1000
jb 0x180024d42
add r14, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180024d74
mov rdx, r14
mov rcx, rdi
call fcn.18017b2e0
mov rax, rbx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.18017ae80
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.1801b2a94
int3