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

Disassembly:
call 0x54d6a1
jmp 0x54d89b
lea esp, [esp + 4]
jmp 0x54da5b
jmp 0x54d8d3
jmp 0x54d8ef
push ebp
jmp 0x54d90b
jmp 0x54d927
mov ebp, esp
jmp 0x54d943
jmp 0x54d95f
movzx eax, byte [ecx]
jmp 0x54d97b
jmp 0x54d997
shl eax, 0x10
jmp 0x54d9b3
jmp 0x54d9cf
cmp dword [ebp + 0xc], 2
jmp 0x54da07
jmp 0x5847ac
jmp 0x54da23
jb 0x54d9eb
jae 0x54da3f
push ecx
add dword [edi + 0x2d4ad450], edi
fdiv qword [edx]
mov word [edi], cs
lahf
cli
or esi, edi
push ss
pushfd
xor dl, byte [ebp - 0x5c]
inc esi
mov al, byte [edi]
xchg edi, eax
jmp 0x5840f3
jmp 0x54d8b7
jmp 0x54d87a
pop edi
pop ebx
leave
ret
movzx edx, byte [ecx + 1]
shl edx, 8
jmp 0x5847a5
or eax, edx
jmp 0x54d9eb
cmp dword [ebp + 0xc], 3
jmp 0x584847
xor eax, eax
jmp 0x5840e9
cmp edi, 3
jne 0x5847ca
mov byte [ecx + 2], al
jmp 0x5847ca
push ebx
push esi
push edi
mov ecx, eax
push 0x3f
mov esi, eax
shr ecx, 0x12
pop edx
shr esi, 0xc
and ecx, edx
and esi, edx
cmp dword [ebp + 0xc], 2
jb 0x584853
mov edi, eax
shr edi, 6
out dx, eax
push es
and edi, edx
jmp 0x584883
jne 0x584806
movzx ecx, byte [ecx + 2]
or eax, ecx
jmp 0x584806
mov edi, dword [ebp + 0xc]
jmp 0x584883
mov ebx, dword [ebp + 0xc]
jmp 0x5848c3
cmp dword [ebp + 0xc], 3
jne 0x58485c
je 0x5848e0
sbb byte [edx + 0x3dba4f28], bh
mov ebx, dword es:[ebx]
jle 0x584823
or al, 0xb8
cmp ch, byte [eax + 0x35ee3acf]
cmp eax, 0xfbbe6c16
mov ecx, dword [ebp + 8]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
cmp edi, 2
jb 0x5847e8
mov edx, eax
shr edx, 8
mov byte [ecx + 1], dl
jmp 0x5847e8
push 0x3e
jmp 0x58495d
and eax, edx
mov ebx, eax
jmp 0x5848c3
cmp ecx, 0x34
jmp 0x5849c6
lea edx, [ecx + 0x41]
jmp 0x5849a2
pop eax
cmp ecx, 0x1a
jae 0x584920
jb 0x58493e
push esi
invalid
mov ecx, dword [ebp + 8]
mov byte [ecx], dl
cmp esi, 0x1a
jae 0x584b95
jb 0x584ad2
retf 0xc959
jae 0x584a0b
lea edx, [ecx + 0x47]
jmp 0x5849a2
cmp ecx, eax
jae 0x584a52
lea edx, [ecx - 4]
jmp 0x5849a2
xor edx, edx
cmp ecx, eax
setne dl
lea edx, [edx*4 + 0x2b]
jmp 0x5849a2
cmp dword [ebp + 0xc], 2
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jb 0x584c20
jae 0x584be4
and ah, byte [edx + edi + 0x1b45ac5d]
pushfd
xor dl, byte [ebp - 0x5c]
inc esp
loopne 0x584b18
in eax, dx
invalid
lea ecx, [esi + 0x41]
jmp 0x584aaa
cmp esi, eax
jae 0x584b69
lea ecx, [esi - 4]
jmp 0x584aaa
add byte [eax], al
add byte [ecx], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esp + ecx*4], al
add ah, byte [ebp - 0x6c]
pop edi
dec eax
invalid
xor ecx, ecx
cmp esi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x584aaa
cmp esi, 0x34
jae 0x584af1
lea ecx, [esi + 0x47]
jmp 0x584aaa
cmp edi, 0x34
jae 0x584c67
lea ecx, [edi + 0x47]
jmp 0x584c92
cmp edi, 0x1a
jae 0x584bb4
lea ecx, [edi + 0x41]
jmp 0x584c92
mov byte [edx + 2], 0x3d
jmp 0x584cb8
xor ecx, ecx
cmp edi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x584c92
cmp edi, eax
jae 0x584c3d
lea ecx, [edi - 4]
jmp 0x584c92
mov byte [edx + 2], cl
jmp 0x584cb8
cmp dword [ebp + 0xc], 3
jne 0x584fd0
cmp ebx, 0x1a
jae 0x584f25
jb 0x584e17
imul esi, ebp, 0x54ff0c65
adc eax, 0x8a7f188a
cmp eax, 0xe49d0d93
pop ss
mov esp, 0xc1cf33
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x35], bl
pop ebx
int 0x7c
nop
pop eax
xchg dword [ebx], edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp ebx, eax
jae 0x584d69
jb 0x584da6
cmp dword [ecx + 0x1e9b6809], ebx
sbb edi, dword [eax + 0x3fb8492e]
stosd dword es:[edi], eax
das
mov edi, 0x87e329da
pop eax
out 0xa8, eax
invalid
mov byte [edx + 3], cl
jmp 0x584dbc
xor ecx, ecx
cmp ebx, eax
jmp 0x584db0
lea ecx, [ebx - 4]
jmp 0x584d46
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x584d46
pop edi
pop esi
pop ebx
pop ebp
ret
lea ecx, [ebx + 0x41]
jmp 0x584d46
cmp ebx, 0x34
jae 0x584d28
lea ecx, [ebx + 0x47]
jmp 0x584d46
mov byte [edx + 3], 0x3d
jmp 0x584dbc