Function at 0x47c013
Capabilities:
Decode data using base64 via winapi

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x1c]
xor ebx, ebx
push eax
push dword [esp + 0x30]
mov esi, edx
mov dword [esp + 0x1c], ebx
push dword [esp + 0x30]
mov edi, ecx
mov dword [esp + 0x2c], ebx
call fcn.0047be13
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x1c], ebx
jne 0x47c240
lea eax, [esp + 0x20]
push eax
push ebx
lea eax, [esp + 0x1c]
push eax
push ebx
push 7
push esi
push edi
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x47c22d
push dword [esp + 0x14]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
je 0x47c240
push 0
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
push 7
push esi
push edi
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x47c215
mov esi, dword [sym.imp.CRYPT32.dll_CryptDecodeObjectEx]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x8000
push dword [esp + 0x24]
push ebx
push 0x2b
push 0x10001
call esi
test eax, eax
je 0x47c0e2
push dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push str.CAPIPRIVATEBLOB
jmp 0x47c1f7
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x8000
push dword [esp + 0x24]
push ebx
push 0x52
push 0x10001
call esi
test eax, eax
je 0x47c1c1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 4]
add ecx, 7
add eax, ecx
push eax
push 0x40
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
je 0x47c201
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
cmp eax, 0x20
je 0x47c158
cmp eax, 0x2a
je 0x47c150
cmp eax, 0x42
jne 0x47c15e
mov dword [esi], 0x36534345
jmp 0x47c163
mov dword [esi], 0x34534345
jmp 0x47c163
mov dword [esi], 0x32534345
cmp dword [esi], 0
je 0x47c1b1
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
dec eax
push eax
mov eax, dword [ecx + 0x14]
inc eax
push eax
lea eax, [esi + 8]
push eax
call fcn.0049fa90
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push dword [eax + 8]
mov eax, dword [eax + 0x10]
add eax, 7
add eax, esi
push eax
call fcn.0049fa90
push dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x44]
push str.ECCPRIVATEBLOB
call fcn.0040472b
add esp, 0x24
mov ebp, eax
jmp 0x47c1bc
push str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___Not_a_PEM_with_256__384_or_521_bits_curve__try_generic_PRIVATE_KEY_or_PKCS8__n
call fcn.00409cda
pop ecx
push esi
call edi
jmp 0x47c201
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x8000
push dword [esp + 0x24]
push ebx
push 0x2c
push 0x10001
call esi
test eax, eax
je 0x47c209
push dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov ecx, ebx
push dword [esp + 0x2c]
push str.PKCS8_PRIVATEKEY
call fcn.0040472b
add esp, 0xc
mov ebp, eax
push dword [esp + 0x10]
call edi
jmp 0x47c228
push str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___Unable_to_decode_format_n
call fcn.00409cda
jmp 0x47c227
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___CryptStringToBinaryA_data___0x_08x__n
call fcn.00409cda
pop ecx
pop ecx
push ebx
call edi
jmp 0x47c240
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ERROR_kuhl_m_crypto_NCrypt_AutoKey___CryptStringToBinaryA_init___0x_08x__n
call fcn.00409cda
pop ecx
pop ecx
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x14
ret