Function at 0x40b920
Capabilities:
Encode data using base64 via winapi

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e790d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
mov ecx, 0x524e73
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], esi
call fcn.004e6414
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*2 + 2]
mov ebx, eax
shr ebx, 3
test ebx, ebx
jne 0x40b982
pop edi
mov dword [esi], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push eax
mov edx, edi
lea ecx, [ebp - 0x20]
call fcn.0040b800
add esp, 4
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x40b969
mov ecx, dword [eax]
xor edx, edx
mov eax, dword [eax + 4]
or ecx, 1
or eax, 1
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x40bac2
mov ecx, dword [ebp - 0x18]
nop dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, dword [ecx]
imul eax, dword [ebp - 0x24]
add edi, dword [ecx]
rol eax, 0x10
imul eax, eax, 0xcf98b111
rol eax, 0x10
imul eax, eax, 0x87085b9f
rol eax, 0x10
imul eax, eax, 0x12ceb96d
rol eax, 0x10
imul edx, eax, 0x257e1d83
mov eax, edi
imul edi, dword [ebp - 0x24]
rol eax, 0x10
imul eax, eax, 0x10fa9605
add dword [ebp - 0x10], edx
sub edi, eax
mov eax, edi
shr eax, 0x10
imul esi, eax, 0x689b6b9f
imul eax, edi, 0x79f8a395
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi + 4]
add esi, eax
mov eax, esi
rol eax, 0x10
imul eax, eax, 0xc3efea97
add esi, eax
lea eax, [ecx + edx]
imul eax, dword [ebp - 0x28]
add dword [ebp - 0x14], esi
add esi, ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
add ecx, 8
rol eax, 0x10
imul eax, eax, 0xa27416f5
mov dword [ebp - 0x18], ecx
rol eax, 0x10
imul eax, eax, 0xd38396ff
rol eax, 0x10
imul eax, eax, 0x7c932b89
rol eax, 0x10
imul eax, eax, 0xbfa49f69
add edx, eax
mov dword [ebp - 0x1c], eax
mov eax, esi
mov dword [ebp - 0x10], edx
imul esi, dword [ebp - 0x28]
rol eax, 0x10
imul eax, eax, 0x3ce8ec25
sub esi, eax
mov eax, esi
imul edi, esi, 0x59c3af2d
shr eax, 0x10
imul eax, eax, 0x2232e0f1
sub edi, eax
mov eax, edi
rol eax, 0x10
imul eax, eax, 0x35bd1ec9
add edi, eax
mov eax, dword [ebp - 0x14]
add eax, edi
mov dword [ebp - 0x14], eax
sub ebx, 1
jne 0x40b9d0
mov esi, dword [ebp - 0x2c]
xor edi, dword [ebp - 0x1c]
xor eax, edx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x40000001
push 8
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], edi
push eax
mov dword [ebp - 0x1c], 0
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
test eax, eax
jne 0x40baf3
mov dword [esi], eax
jmp 0x40bb43
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, 2
mul ecx
seto bl
neg ebx
or ebx, eax
push ebx
call fcn.004b90e1
push ebx
mov edi, eax
push 0
push edi
call fcn.004bc490
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push edi
push 0x40000001
push 8
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
test eax, eax
jne 0x40bb41
push edi
mov dword [esi], eax
call fcn.004b8e5b
add esp, 4
jmp 0x40bb43
mov dword [esi], edi
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x40bb53
push eax
call fcn.004b8e5b
add esp, 4
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret