Function at 0x103ab70
Capabilities:
Decode data using base64 via winapi
Encode data using base64 via winapi
Encrypt data using aes via winapi

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push esi
xor esi, esi
push edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
cmp dword [ecx + 0xc], esi
jne 0x103ab99
push esi
call fcn.0103a66a
mov edi, dword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
push esi
push esi
lea eax, [ebp - 8]
push eax
push esi
push 1
push esi
push dword [ebp + 8]
call edi
test eax, eax
jne 0x103abdd
push esi
push 0x1008cc8
push 0x672
push 0x1008a98
push 0x10018c8
mov ecx, 0x104abe8
call fcn.0102f8f0
mov dword [ebp - 4], 0x80004005
jmp 0x103ae1e
push ebx
push dword [ebp - 8]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xc], eax
cmp eax, esi
jne 0x103ac0d
mov eax, 0x8007000e
push eax
push 0x1008cc8
push 0x675
jmp 0x103ade2
push esi
push esi
lea ecx, [ebp - 8]
push ecx
push eax
push 1
push esi
push dword [ebp + 8]
call edi
test eax, eax
jne 0x103ac30
push esi
push 0x1008cc8
push 0x67e
jmp 0x103ada3
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x10]
push eax
push esi
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [edi + 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x103ac5c
push esi
push 0x1008cc8
push 0x686
jmp 0x103ada3
add edi, 0x10
cmp dword [ebp + 0x10], 1
jne 0x103ac9c
mov eax, dword [edi]
cmp eax, esi
je 0x103ac74
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov dword [edi], esi
mov eax, dword [ebp - 0x1c]
push edi
push 1
push 0x6610
push dword [eax + 0xc]
call dword [sym.imp.ADVAPI32.dll_CryptGenKey]
test eax, eax
jne 0x103acb5
push esi
push 0x1008cc8
push 0x69a
jmp 0x103ada3
cmp dword [edi], esi
jne 0x103acb5
mov eax, 0x80004003
push eax
push 0x1008cc8
push 0x69e
jmp 0x103ade2
lea eax, [ebp - 8]
push eax
push esi
push esi
push 1
push dword [ebp - 0x10]
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_CryptExportKey]
test eax, eax
jne 0x103acdc
push esi
push 0x1008cc8
push 0x6ab
jmp 0x103ada3
push dword [ebp - 0xc]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [ebp - 8]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xc], eax
cmp eax, esi
jne 0x103ad12
mov eax, 0x8007000e
push eax
push 0x1008cc8
push 0x6af
jmp 0x103ade2
lea ecx, [ebp - 8]
push ecx
push eax
push esi
push 1
push dword [ebp - 0x10]
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_CryptExportKey]
test eax, eax
jne 0x103ad36
push esi
push 0x1008cc8
push 0x6b7
jmp 0x103ada3
mov edi, dword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
lea eax, [ebp - 0x18]
push eax
push esi
push 1
push dword [ebp - 8]
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x103ad5c
push esi
push 0x1008cc8
push 0x6c1
jmp 0x103ada3
mov eax, dword [ebp - 0x18]
add eax, eax
push eax
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x14], eax
cmp eax, esi
jne 0x103ad85
mov eax, 0x8007000e
push eax
push 0x1008cc8
push 0x6c4
jmp 0x103ade2
lea ecx, [ebp - 0x18]
push ecx
push eax
push 1
push dword [ebp - 8]
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x103adc0
push esi
push 0x1008cc8
push 0x6cb
push 0x1008a98
push 0x10018c8
mov ecx, 0x104abe8
call fcn.0102f8f0
mov dword [ebp - 4], 0x80004005
jmp 0x103adf9
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
cmp eax, esi
jne 0x103adf9
mov eax, 0x8007000e
push eax
push 0x1008cc8
push 0x6ce
push 0x1008a98
push 0x10018c8
mov ecx, 0x104abe8
mov dword [ebp - 4], eax
call fcn.0102f8f0
cmp dword [ebp - 0xc], esi
je 0x103ae0b
push dword [ebp - 0xc]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x14], esi
je 0x103ae1d
push dword [ebp - 0x14]
push esi
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop ebx
cmp dword [ebp - 0x10], esi
pop edi
pop esi
je 0x103ae2e
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov eax, dword [ebp - 4]
leave
ret 0xc