Function at 0x5d5c82
Capabilities:
Encode data using base64
Encrypt data using speck

Disassembly:
mov edi, dword [ebp + 0xc]
jmp 0x598bff
jmp 0x5d5cf7
cmp dword [ebp + 0xc], 3
jmp 0x5d5d0d
cmp dword [ebp + 0xc], 3
jmp 0x5d5ee6
mov ebx, dword [ebp + 0xc]
jmp 0x598c6c
push eax
jmp 0x5d5ecf
cmp ecx, 0x34
jae 0x598cb5
jb 0x5d5e4a
mov bl, 0xaa
lds esi, [ecx + esi - 0x41]
dec edi
pop edi
mov ch, 0x2b
mov al, byte [0xa200eb3d]
jle 0x598c95
fld xword [edi + 0x76]
popal
mov al, byte [0x3d1c4e9]
add byte [edx + 0x74], dl
and dl, cl
pop ds
cld
cmp eax, 0xe6517b51
mov dword [edx + 0x38751ae3], ebp
jmp 0x5d5e35
jmp 0x5d5f42
xchg edi, eax
invalid
xor edx, edx
sub esp, 0xc
mov dword [esp], esi
jmp 0x5d5ea8
cmp ecx, eax
jmp 0x5d5e52
cmp dword [ebp + 0xc], 2
push esi
jmp 0x598cec
mov esi, ebp
lea esi, [esi + 8]
mov edx, dword [esi]
pop esi
jmp 0x5d5f97
cmp edi, 0x34
pushfd
jmp 0x5d601f
stosd dword es:[edi], eax
salc
clc
invalid
call 0x5d60a2
mov ah, 0x33
std
js 0x598d38
mov cs, word [ebp + 0x18]
and al, 0x6f
xchg ecx, eax
retf
cmp edi, eax
call fcn.005d605a
int3
daa
adc byte [edx + ecx*4], 0xed
sbb al, 0xda
adc al, 0x81
adc dword [eax - 0x7d], esi
xor eax, 0x8d3a83c0
and al, 0x20
xchg ebp, eax
jmp 0x5d5ca4
push ds
jmp 0x5d5c6c
lea esp, [esp + 4]
cmp dword [ebp + 0xc], 2
jb 0x598be9
jae 0x5d5cb5
jo 0x5d5c81
jns 0x5d5cb2
jmp 0x5d5ccb
lea esp, [esp + 4]
mov ebp, esp
mov ax, si
movzx eax, byte [ecx]
call fcn.005d5c84
invalid
movzx edx, byte [ecx + 1]
shl edx, 8
call fcn.005d5cf3
out 0x7d, al
in eax, dx
je 0x5d5c4d
inc esi
ror byte [esi - 0x24], 1
mov ebx, 0xa65f9456
push esi
xchg esp, eax
pop edi
cmpsb byte [esi], byte es:[edi]
shl eax, 0x10
push bx
add esp, 0
lea esp, [esp + 2]
jmp 0x5d5c86
pushal
jmp 0x5d5d1e
jne 0x598bd1
movzx ecx, byte [ecx + 2]
or eax, ecx
jmp 0x598bd1
lea esp, [esp + 0x20]
push ebx
inc cx
jmp 0x5d5f8b
lea esp, [esp + 4]
pop edx
pushal
jmp 0x5d5d85
push edx
mov esi, eax
mov dx, word [esp]
shr ecx, 0x12
jmp 0x5d5d4d
shr esi, 0xc
call fcn.005d5d6f
and ecx, edx
pushfd
and esi, edx
jmp 0x5d5dd7
mov edi, eax
shr edi, 6
call fcn.005d5dc1
lea esp, [esp + 4]
jmp 0x598bff
lea esp, [esp + 4]
push 0x3f
push ecx
pop edx
setp dh
jmp 0x5d5d63
lea esp, [esp + 0x38]
cmp dword [ebp + 0xc], 2
jb 0x598bbb
sbb di, di
cmc
jmp 0x5d5d94
sub esp, 5
lea esp, [esp + 1]
mov ecx, eax
xchg dh, dl
lea esi, [eax*4]
jmp 0x5d5db4
pop eax
call fcn.005d5e6d
mov dword [esp], edx
lea esp, [esp + 4]
jae 0x598c4b
mov dh, byte [esp]
jmp 0x5d5e42
push 0x3e
not ax
lea eax, [ebx - 0x66]
mov al, byte [esp]
jmp 0x5d5e12
lea edx, [ecx + 0x41]
jmp 0x598c35
not dx
call fcn.005d5e7c
pushfd
push dword [esp + 1]
lea esp, [esp + 8]
jae 0x598c98
mov dl, byte [esp]
jmp 0x5d5ebe
lea ebx, [edx + ebx]
mov ebx, 0x89a04be1
mov ebx, eax
jmp 0x598c6c
cmp ecx, eax
push ebx
call fcn.005d5ec6
arpl bx, di
imul ecx, dword [esi], 0xfffffffd
cmp eax, 0x1572dc4b
in al, 0x50
test eax, 0xfc518dc8
lea edx, [ecx - 4]
jmp 0x598c35
mov eax, ebp
jmp 0x5d5f0d
jne 0x598c15
and eax, edx
xchg bh, bl
mov ebx, 0x2e8286dd
jmp 0x5d5e99
lea eax, [eax + 8]
mov ecx, dword [eax]
pop eax
mov byte [ecx], dl
call fcn.005d5ef7
lea esp, [esp + 4]
cmp esi, 0x1a
jmp 0x5d5f58
xchg ebp, eax
sub eax, dword [eax]
add byte [eax], al
jmp 0x598c35
cmp esi, 0x34
call fcn.005d5f6d
jno 0x5d5f38
bound eax, qword [0xf95946f4]
imul ecx, dword [eax], 0xbb587efb
jae 0x598c82
lea ecx, [ebx*4]
lea ecx, [esi + 0x41]
jmp 0x598ce1
push esi
setl ch
push edi
dec cl
jmp 0x5d5dfe
mov byte [edx + 1], cl
jmp 0x5d5fd1
jb 0x598d3e
cmp edi, 0x1a
call 0x5d5fe0
mov byte [0x424648d], al
jmp 0x5d6011
jae 0x598d22
lea ecx, [edi + 0x41]
jmp 0x598d0c
push dword [esp]
pushal
lea esp, [esp + 0x28]
jae 0x598d54
mov cl, 0x32
jmp 0x5d60bf
lea ecx, [edi + 0x47]
jmp 0x598d0c