Function at 0x1005c5e0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x11c
mov eax, dword [0x1026d48c]
xor eax, esp
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x12c]
push ebx
mov ebx, dword [esp + 0x12c]
push ebp
mov ebp, dword [esp + 0x128]
push edi
mov edi, dword [esp + 0x130]
test edi, edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ecx
je 0x1005c839
test ebp, ebp
je 0x1005c839
lea edx, [edi*4 + 8]
mov eax, 0xaaaaaaab
mul edx
push esi
mov esi, edx
shr esi, 1
lea eax, [esi + esi]
xor edx, edx
div edi
lea esi, [esi + eax + 3]
push esi
call fcn.10010960
test al, al
je 0x1005c835
mov eax, 0xaaaaaaab
mul edi
xor ecx, ecx
mov edi, edx
xor esi, esi
shr edi, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
je 0x1005c74a
jmp 0x1005c684
mov ebp, dword [esp + 0x14]
movzx eax, byte [esi + ebp]
movzx edi, byte [esi + ebp + 1]
mov edx, eax
shr edx, 2
and edx, 0x3f
movzx edx, byte [edx + ebx]
mov byte [esp + ecx + 0x20], dl
add esi, 1
movzx ebp, byte [esi + ebp + 1]
mov edx, edi
shr edx, 4
and edx, 0xf
and eax, 3
add esi, 1
shl eax, 4
or edx, eax
movzx eax, byte [edx + ebx]
and edi, 0xf
mov edx, ebp
shr edx, 6
add ecx, 1
add edi, edi
mov byte [esp + ecx + 0x20], al
and edx, 3
add edi, edi
or edx, edi
movzx eax, byte [edx + ebx]
add ecx, 1
and ebp, 0x3f
movzx edx, byte [ebx + ebp]
mov byte [esp + ecx + 0x20], al
add ecx, 1
mov byte [esp + ecx + 0x20], dl
add ecx, 1
add esi, 1
cmp ecx, 0x100
jl 0x1005c714
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
call fcn.10010df0
test al, al
je 0x1005c835
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add eax, 1
cmp eax, edi
mov dword [esp + 0x18], eax
jb 0x1005c680
test ecx, ecx
je 0x1005c746
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10010df0
test al, al
je 0x1005c835
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x134]
lea edx, [edi + edi*2]
sub ecx, edx
sub ecx, 1
mov al, 1
je 0x1005c7ca
sub ecx, 1
jne 0x1005c81c
movzx edi, byte [esi + ebp]
movzx esi, byte [esi + ebp + 1]
mov ebp, dword [esp + 0x10]
mov eax, edi
sar eax, 2
and eax, 0x3f
movzx ecx, byte [eax + ebx]
push ecx
mov ecx, ebp
call fcn.100139f0
test al, al
je 0x1005c835
mov edx, esi
sar edx, 4
and edi, 3
and edx, 0xf
shl edi, 4
or edx, edi
movzx eax, byte [edx + ebx]
push eax
mov ecx, ebp
call fcn.100139f0
test al, al
je 0x1005c835
and esi, 0xf
movzx ecx, byte [ebx + esi*4]
push ecx
mov ecx, ebp
call fcn.100139f0
test al, al
je 0x1005c835
mov ecx, ebp
jmp 0x1005c80f
movzx esi, byte [esi + ebp]
mov edi, dword [esp + 0x10]
mov edx, esi
sar edx, 2
and edx, 0x3f
movzx eax, byte [edx + ebx]
push eax
mov ecx, edi
call fcn.100139f0
test al, al
je 0x1005c835
and esi, 3
shl esi, 4
movzx ecx, byte [esi + ebx]
push ecx
mov ecx, edi
call fcn.100139f0
test al, al
je 0x1005c835
push 0x3d
mov ecx, edi
call fcn.100139f0
test al, al
je 0x1005c835
mov ecx, edi
push 0x3d
call fcn.100139f0
test al, al
je 0x1005c835
mov al, 1
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.1018f87e
add esp, 0x11c
ret
xor al, al
jmp 0x1005c81c
mov ecx, dword [esp + 0x124]
pop edi
pop ebp
pop ebx
xor ecx, esp
mov al, 1
call fcn.1018f87e
add esp, 0x11c
ret