Function at 0x42d3a0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, eax
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42d3b0
sub eax, edx
mov ebp, eax
test ebp, ebp
jg 0x42d3d0
mov eax, 0x4546d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 4
lea eax, [ebp + ebp*2 + 0x80]
push eax
call fcn.004343c0
mov esi, dword [esp + 0x24]
add esp, 4
add esi, 0x10
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.0042c7a0
mov ebx, dword [esp + 0x10]
lea eax, [ebp - 3]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x20], edi
jle 0x42d4cf
lea ecx, [eax - 1]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
add edx, 1
mov dword [esp + 0x14], edx
lea edx, [edx + edx*2]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 2
and eax, 0x3f
cmp eax, 0x3f
ja 0x42d43e
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d440
mov al, 0x3d
movsx edx, al
mov eax, ecx
shr eax, 0xc
mov esi, ecx
and esi, 3
and eax, 0xf
shl esi, 4
or eax, esi
cmp eax, 0x3f
ja 0x42d462
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d464
mov al, 0x3d
movsx edi, al
mov eax, ecx
shr eax, 8
and eax, 0xf
add eax, eax
mov esi, ecx
shr esi, 0x16
add eax, eax
and esi, 3
or eax, esi
cmp eax, 0x3f
ja 0x42d48a
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d48c
mov al, 0x3d
shr ecx, 0x10
and ecx, 0x3f
cmp ecx, 0x3f
movsx esi, al
ja 0x42d4a2
mov al, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d4a4
mov al, 0x3d
add dword [esp + 0x20], 3
movsx ecx, al
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, edi
shl ecx, 8
or ecx, edx
mov dword [ebx], ecx
add ebx, 4
sub dword [esp + 0x14], 1
jne 0x42d423
mov ecx, dword [esp + 0x18]
cmp ecx, ebp
jge 0x42d584
sub ebp, ecx
xor ecx, ecx
test ebp, ebp
mov dword [esp + 0x14], ecx
jle 0x42d4fa
mov edx, dword [esp + 0x20]
push ebp
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00434880
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, ecx
shr eax, 2
and eax, 0x3f
cmp eax, 0x3f
ja 0x42d50f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d511
mov al, 0x3d
mov byte [ebx], al
mov eax, ecx
shr eax, 0xc
mov edx, ecx
and edx, 3
and eax, 0xf
shl edx, 4
or eax, edx
cmp eax, 0x3f
ja 0x42d532
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d534
mov al, 0x3d
cmp ebp, 1
mov byte [ebx + 1], al
jle 0x42d55f
mov eax, ecx
shr eax, 8
and eax, 0xf
add eax, eax
mov edx, ecx
shr edx, 0x16
add eax, eax
and edx, 3
or eax, edx
cmp eax, 0x3f
ja 0x42d55f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d561
mov al, 0x3d
cmp ebp, 2
mov byte [ebx + 2], al
jle 0x42d57c
shr ecx, 0x10
and ecx, 0x3f
cmp ecx, 0x3f
ja 0x42d57c
mov al, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x42d57e
mov al, 0x3d
mov byte [ebx + 3], al
add ebx, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ebx], 0
pop ebx
add esp, 0xc
ret 4