Function at 0x43ca10
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47666d
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x490040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov dword [eax], 0
test edi, edi
je 0x43cc3b
mov dword [edi], 0
cmp dword [esi + 4], 0
je 0x43cc3b
mov eax, dword [esi + 8]
test eax, eax
je 0x43cc3b
push eax
call fcn.00452cb2
push dword [esi + 8]
mov ebx, eax
push dword [esi + 4]
push ebx
call fcn.004544d0
add esp, 0x10
push 0
push dword [esi + 8]
push ebx
call dword [sym.imp.CRYPT32.dll_CryptUnprotectMemory]
test eax, eax
jne 0x43cbbd
push ecx
or edx, 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0041a470
add esp, 4
mov edi, eax
mov dword [ebp - 4], 0
cmp dword [edi + 0x14], 7
jbe 0x43caba
mov edi, dword [edi]
mov eax, dword fs:[0x2c]
movaps xmm0, xmmword [0x488b60]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0x7919cf21
mov ecx, dword [eax]
movaps xmm0, xmmword [0x488040]
mov eax, dword [0x49a74c]
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x3c], 0x8b
cmp eax, dword [ecx + 4]
jle 0x43cb50
push 0x49a74c
call fcn.00452992
add esp, 4
cmp dword [0x49a74c], 0xffffffff
jne 0x43cb50
xorps xmm0, xmm0
mov byte [0x49a749], 1
movlpd qword [ebp - 0x38], xmm0
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x60]
mov byte [ecx + 0x49a724], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x43cb39
cmp ecx, 0x25
jb 0x43cb20
push 0x47d0e0
call fcn.00452c62
push 0x49a74c
call fcn.00452941
add esp, 8
mov ecx, 0x49a724
call fcn.00415a90
push edi
push 0x49a724
push 1
call fcn.00401610
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp ecx, 7
jbe 0x43cba4
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43cb9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cc5b
push ecx
push edx
call fcn.00452c7c
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 0x29], al
jmp 0x43cc04
mov eax, dword [esi + 0xc]
lea ecx, [eax + 1]
cmp dword [esi + 8], ecx
je 0x43cc29
test eax, eax
je 0x43cc29
push ecx
call fcn.00452cb2
mov ecx, eax
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x43cbef
push eax
push ebx
push ecx
call fcn.004544d0
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x29], 1
mov byte [ecx + eax], 0
mov dword [edi], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [esi + 8]
mov ecx, ebx
test edx, edx
je 0x43cc1b
nop dword [eax]
mov byte [ecx], 0
lea ecx, [ecx + 1]
sub edx, 1
jne 0x43cc10
push ebx
call fcn.00452cad
mov al, byte [ebp - 0x29]
add esp, 4
jmp 0x43cc3d
mov ecx, dword [ebp - 0x30]
mov byte [eax + ebx], 0
mov dword [edi], ebx
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov al, 1
jmp 0x43cc3d
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00452933
mov esp, ebp
pop ebp
ret 8
call fcn.004579bf
int3