Function at 0x10007da3
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
xor ebx, ebx
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [eax], ebx
cmp dword [ebp + 0xc], ebx
jne 0x10007dbd
xor eax, eax
jmp 0x10007e35
push edi
push dword [ebp + 0xc]
call fcn.100134f1
mov edi, eax
pop ecx
mov dword [ebp - 0xc], edi
cmp edi, ebx
je 0x10007e32
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0x10007e47
cmp word [esi], bx
je 0x10007e47
push esi
call fcn.100134f1
mov esi, eax
pop ecx
mov dword [ebp - 4], esi
cmp esi, ebx
je 0x10007df0
cmp byte [esi], bl
jne 0x10007e39
cmp byte [edi], bl
je 0x10007e04
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007df9
sub eax, edx
jmp 0x10007e06
xor eax, eax
push edi
mov ecx, eax
call fcn.10007c17
pop ecx
cmp esi, ebx
je 0x10007e27
cmp byte [esi], bl
je 0x10007e27
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007e1c
sub eax, edx
jmp 0x10007e29
xor eax, eax
push esi
mov ecx, eax
call fcn.10007c17
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007e3c
sub eax, edx
mov ebx, eax
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007e4c
sub eax, edx
lea edi, [eax + 1]
cmp edi, 1
jb 0x10007e79
cmp dword [ebp - 4], 0
je 0x10007e9a
test ebx, ebx
je 0x10007e9a
push ebx
push dword [ebp - 4]
call fcn.10007c5a
pop ecx
pop ecx
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x10007eb1
xor ebx, ebx
mov esi, dword [ebp - 0xc]
cmp byte [esi], 0
je 0x10007fdb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007e8c
sub eax, edx
jmp 0x10007fdd
push 0x40
pop ebx
push ebx
call dword [sym.imp.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_]
push ebx
mov esi, eax
mov dword [ebp + 0xc], eax
call fcn.10008336
pop ecx
pop ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x24], edi
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
movzx eax, byte [ebp + 0x10]
neg eax
sbb eax, eax
and eax, 4
or eax, 1
push eax
xor esi, esi
push esi
push esi
lea eax, [ebp - 0x1c]
push eax
push esi
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.CRYPT32.dll_CryptProtectData]
test eax, eax
jne 0x10007f07
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.10007c17
pop ecx
or ebx, 0xffffffff
jmp 0x10007e7b
cmp dword [ebp - 4], esi
je 0x10007f39
mov edi, dword [ebp - 0x14]
push edi
push dword [ebp - 0x10]
call fcn.10007c5a
pop ecx
pop ecx
cmp eax, esi
push dword [ebp + 0xc]
mov dword [ebp - 8], eax
mov ecx, ebx
jne 0x10007f54
call fcn.10007c17
pop ecx
lea esi, [ebp - 0x14]
call fcn.10007c34
jmp 0x10007e79
mov eax, dword [ebp - 0x14]
push eax
push dword [ebp - 0x10]
mov esi, ebx
push dword [ebp + 0xc]
lea edi, [eax + ebx]
call fcn.10007c89
add esp, 0xc
test eax, eax
jmp 0x10007f1c
call fcn.10007c17
pop ecx
lea esi, [ebp - 0x14]
call fcn.10007c34
xor ebx, ebx
inc ebx
cmp dword [ebp - 8], 0
je 0x10007e7b
test edi, edi
je 0x10007e7b
push dword [ebp - 8]
call fcn.10001238
mov edx, dword [ebp - 0xc]
cmp byte [edx], 0
mov edi, dword [ebp + 8]
pop ecx
mov dword [edi], eax
je 0x10007f9d
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007f92
sub eax, esi
jmp 0x10007f9f
xor eax, eax
push edx
mov ecx, eax
call fcn.10007c17
mov esi, dword [ebp - 4]
pop ecx
test esi, esi
je 0x10007fc4
cmp byte [esi], 0
je 0x10007fc4
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007fb9
sub eax, edx
jmp 0x10007fc6
xor eax, eax
push esi
mov ecx, eax
call fcn.10007c17
xor eax, eax
cmp dword [edi], eax
pop ecx
setne al
jmp 0x10007e34
xor eax, eax
push esi
mov ecx, eax
call fcn.10007c17
mov esi, dword [ebp - 4]
pop ecx
test esi, esi
je 0x10008002
cmp byte [esi], 0
je 0x10008002
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10007ff7
sub eax, edx
jmp 0x10008004
xor eax, eax
push esi
mov ecx, eax
call fcn.10007c17
pop ecx
test ebx, ebx
jg 0x10007e32
mov eax, ebx
jmp 0x10007e34