Function at 0x18000ba77
Capabilities:
Acquire credentials from windows credential manager
Encrypt data using dpapi

Disassembly:
push rbp
sub rsp, 0x540
lea rbp, [rsp + 0x40]
mov qword [rsp], rax
mov rax, 0x53c
mov dword [rsp + rax], 0xcccccccc
sub rax, 4
cmp rax, 4
jg 0x18000ba8f
mov rax, qword [rsp]
mov dword [rsp], 0xcccccccc
mov dword [rsp + 4], 0xcccccccc
mov qword [rbp + 0x170], rsi
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x510], rcx
mov dword [rbp + 0x518], edx
mov rax, qword [0x1800f4ae8]
xor rax, rbp
mov qword [rbp + 0x4f0], rax
mov byte [rbp + 0x71], 0
mov byte [rbp + 0x70], 0
mov eax, 0
mov edx, 0
mov rcx, qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rbp + 0x100], rcx
mov rcx, rax
mov rax, qword [rbp + 0x100]
call rax
mov dword [rbp + 0x74], eax
mov dword [rbp + 0x78], 0
mov eax, dword [rbp + 0x78]
cmp eax, 0x25
jge 0x18000bb5b
mov eax, dword [rbp + 0x78]
movsxd rax, eax
lea rdx, [0x18010157f]
add rdx, rax
movsx eax, byte [rdx]
movsx rax, al
imul eax, eax, 4
lea rdx, [rbp + 0x180]
mov ecx, dword [rbp + 0x78]
movsxd rcx, ecx
imul rcx, rcx, 2
add rdx, rcx
mov word [rdx], ax
mov eax, 1
add eax, dword [rbp + 0x78]
mov dword [rbp + 0x78], eax
jmp 0x18000bb15
lea rax, [rbp + 0x180]
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x48], 0x4a
mov dword [rbp + 0x7c], 0
mov byte [rbp + 0x70], 1
mov byte [rbp + 0x71], 1
mov eax, 0
mov edx, 0
lea rcx, [rbp + 8]
lea rbx, [rbp + 0x60]
mov rsi, qword [sym.imp.ADVAPI32.dll_CredEnumerateW]
mov qword [rbp + 0x108], rcx
mov rcx, rax
mov rax, qword [rbp + 0x108]
mov r8, rax
mov r9, rbx
call rsi
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x80]
test eax, eax
je 0x18000c12b
mov dword [rbp + 0x84], 0
movzx eax, byte [rbp + 0x70]
test eax, eax
jne 0x18000bbe3
lea rax, [0x18010156c]
mov rcx, rax
call fcn.180064a90
mov eax, dword [rbp + 0x84]
mov edx, dword [rbp + 8]
cmp eax, edx
jb 0x18000bc08
jmp 0x18000c104
mov eax, 1
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x84], eax
jmp 0x18000bbcc
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000bc1f
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
mov eax, dword [rbp + 0x84]
imul rax, rax, 8
add rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov eax, dword [rax + 4]
cmp eax, 1
jne 0x18000bbf5
lea rax, [0x180101544]
mov rcx, rax
call fcn.1800622d0
mov qword [rbp + 0x98], rax
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000bc65
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
mov eax, dword [rbp + 0x84]
imul rax, rax, 8
add rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [0x18010151c]
mov rcx, qword [rbp + 0x98]
mov qword [rbp + 0x110], rcx
mov rcx, rax
mov rax, qword [rbp + 0x110]
mov r8, rax
call fcn.180063cc0
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x88]
test eax, eax
jne 0x18000bbf5
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000bccc
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
mov eax, dword [rbp + 0x84]
imul rax, rax, 8
add rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x20], rax
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000bcfc
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
mov eax, dword [rbp + 0x84]
imul rax, rax, 8
add rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov eax, dword [rax + 0x20]
mov dword [rbp + 0x18], eax
lea rax, [rbp + 0x18]
mov edx, 0
lea rcx, [rbp + 0x48]
mov ebx, 0
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
lea rsi, [rbp + 0x30]
mov qword [rsp + 0x30], rsi
mov rsi, qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
mov qword [rbp + 0x118], rcx
mov rcx, rax
mov rax, qword [rbp + 0x118]
mov r8, rax
mov r9, rbx
call rsi
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
test eax, eax
je 0x18000bbf5
lea rax, [rbp + 0x1d2]
mov edx, 0x100
lea rcx, [0x1801014dc]
mov rbx, qword [rbp + 0x38]
mov qword [rbp + 0x120], rcx
mov rcx, rax
mov rax, qword [rbp + 0x120]
mov r8, rax
mov r9, rbx
call fcn.1800667e0
mov dword [rbp + 0x90], eax
lea rax, [rbp + 0x1d2]
mov edx, 0x3a
mov rcx, rax
call fcn.180001794
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x18000be8c
mov rax, qword [rbp + 0xa8]
mov word [rax], 0
lea rax, [rbp + 0x3da]
lea rdx, [rbp + 0x1d2]
mov ecx, 0x40
mov qword [rbp + 0x128], rcx
mov rcx, rax
mov rax, qword [rbp + 0x128]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0x3da]
add rax, 0x7e
mov word [rax], 0
mov eax, 2
add rax, qword [rbp + 0xa8]
mov qword [rbp + 0xa8], rax
lea rax, [rbp + 0x462]
mov rdx, qword [rbp + 0xa8]
mov ecx, 0x40
mov qword [rbp + 0x130], rcx
mov rcx, rax
mov rax, qword [rbp + 0x130]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x462]
add rax, 0x7e
mov word [rax], 0
jmp 0x18000bedb
lea rax, [rbp + 0x3da]
lea rdx, [rbp + 0x1d2]
mov ecx, 0x40
mov qword [rbp + 0x138], rcx
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0x3da]
add rax, 0x7e
mov word [rax], 0
lea rax, [rbp + 0x462]
mov word [rax], 0
lea rax, [0x1801014e4]
mov rcx, rax
call fcn.1800622d0
mov qword [rbp + 0xc8], rax
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000bf08
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
lea rax, [rbp + 0x1d2]
mov edx, dword [rbp + 0x84]
imul rdx, rdx, 8
add rdx, qword [rbp + 0x60]
mov rdx, qword [rdx]
mov rcx, qword [rbp + 0xc8]
imul rcx, rcx, 2
add rcx, qword [rdx + 8]
mov edx, 0x100
mov qword [rbp + 0x140], rcx
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x148], rdx
mov rdx, rax
mov rax, qword [rbp + 0x148]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xd0], rax
lea rax, [rbp + 0x1d2]
add rax, 0x1fe
mov word [rax], 0
mov eax, dword [rbp + 0x7c]
mov edx, dword [rbp + 0x518]
cmp eax, edx
jae 0x18000c0e8
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
lea rdx, [0x18010150c]
mov rcx, rax
call fcn.180062660
mov qword [rbp + 0xd8], rax
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
lea rax, [rax + 0x80]
lea rdx, [rbp + 0x1d2]
mov ecx, 0x100
mov qword [rbp + 0x150], rcx
mov rcx, rax
mov rax, qword [rbp + 0x150]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xe8], rax
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
add rax, 0x1fe
add rax, 0x80
mov word [rax], 0
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
lea rax, [rax + 0x280]
lea rdx, [rbp + 0x3da]
mov ecx, 0x40
mov qword [rbp + 0x158], rcx
mov rcx, rax
mov rax, qword [rbp + 0x158]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xf0], rax
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
add rax, 0x7e
add rax, 0x280
mov word [rax], 0
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
lea rax, [rax + 0x300]
lea rdx, [rbp + 0x462]
mov ecx, 0x40
mov qword [rbp + 0x160], rcx
mov rcx, rax
mov rax, qword [rbp + 0x160]
mov r8, rax
call fcn.180063c00
mov qword [rbp + 0xf8], rax
mov eax, dword [rbp + 0x7c]
imul rax, rax, 0x380
add rax, qword [rbp + 0x510]
add rax, 0x7e
add rax, 0x300
mov word [rax], 0
mov eax, 1
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x38]
mov rdx, qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rax
call rdx
mov qword [rbp + 0xe0], rax
jmp 0x18000bbf5
movzx eax, byte [rbp + 0x71]
test eax, eax
jne 0x18000c11b
lea rax, [0x180101574]
mov rcx, rax
call fcn.180064a90
mov rax, qword [rbp + 0x60]
mov rdx, qword [sym.imp.ADVAPI32.dll_CredFree]
mov rcx, rax
call rdx
mov rax, qword [sym.imp.ole32.dll_CoUninitialize]
call rax
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x94], eax
lea rax, reloc.WS2_32.dll_htons
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0x4f0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x94]
mov rbx, qword [rbp + 0x168]
mov rsi, qword [rbp + 0x170]
lea rsp, [rbp + 0x500]
pop rbp
ret