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

Disassembly:
call fcn.00553b80
jmp 0x553d7a
lea esp, [esp + 4]
jmp 0x553f3a
jmp 0x553db2
jmp 0x553dce
push ebp
jmp 0x553dea
jmp 0x553e06
mov ebp, esp
jmp 0x553e22
jmp 0x553e3e
movzx eax, byte [ecx]
jmp 0x553e5a
jmp 0x553e76
shl eax, 0x10
jmp 0x553e92
jmp 0x553eae
cmp dword [ebp + 0xc], 2
jmp 0x553ee6
jmp 0x59732d
jmp 0x553f02
jb 0x553eca
jae 0x553f1e
push ecx
add dword [eax], ebx
xchg byte [edx + esi*4], bl
aad 0x24
sbb byte [esi + 0x24d5b21c], al
aad 0x92
setg dl
or dword [ecx + 0x1c75e57f], esp
out dx, eax
inc esp
jl 0x553f08
jnp 0x553f08
jmp 0x5972b1
invalid
jmp 0x553d96
jmp 0x553d59
movzx edx, byte [ecx + 1]
jmp 0x5972d9
shl edx, 8
or eax, edx
jmp 0x553eca
push ebx
push esi
push edi
mov ecx, eax
push 0x3f
mov esi, eax
shr ecx, 0x12
jmp 0x597385
cmp dword [ebp + 0xc], 3
jmp 0x597365
jne 0x597308
movzx ecx, byte [ecx + 2]
or eax, ecx
jmp 0x597308
pop edx
shr esi, 0xc
and ecx, edx
and esi, edx
cmp dword [ebp + 0xc], 2
jb 0x5973c0
mov edi, eax
shr edi, 6
and edi, edx
jmp 0x597493
mov edi, dword [ebp + 0xc]
jmp 0x597493
mov ebx, dword [ebp + 0xc]
jmp 0x597470
cmp ecx, 0x34
jae 0x5974ed
lea edx, [ecx + 0x47]
jmp 0x5974a8
lea edx, [ecx + 0x41]
jmp 0x5974a8
push 0x3e
pop eax
cmp ecx, 0x1a
jae 0x597404
invalid
jb 0x597449
popfd
cmp eax, 0xc247b4ad
wait
cmp byte [esi + 0x17bf38c9], ch
wait
or ebp, dword [esi - 0x63]
dec edi
stc
jp 0x597477
invalid
cmp dword [ebp + 0xc], 3
jne 0x5973d0
and eax, edx
mov ebx, eax
jmp 0x597470
mov ecx, dword [ebp + 8]
mov byte [ecx], dl
cmp esi, 0x1a
jae 0x597542
jb 0x5975b1
sub ch, byte [edx + 0x4baa5f38]
ficomp word [ebp - 0x33]
xchg esp, eax
xchg dword [si], esp
lea ecx, [ecx + 0x1e]
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
scasd eax, dword es:[edi]
aas
je 0x597501
movsd dword es:[edi], dword [esi]
cmp ecx, eax
jae 0x597528
lea edx, [ecx - 4]
jmp 0x5974a8
in al, dx
salc
mov ch, 0x69
hlt
xor edx, edx
cmp ecx, eax
setne dl
lea edx, [edx*4 + 0x2b]
jmp 0x5974a8
cmp esi, 0x34
jae 0x59780a
jb 0x59774f
movsb byte es:[edi], byte cs:[esi]
cmp bl, byte [ebp - 0x54]
dec esi
arpl ax, bp
jle 0x597574
call 0x201f9baf
pop eax
push cs
ret 0x5d09
cmp dword [ebp + 0xc], 2
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jb 0x597634
cmp edi, 0x1a
jae 0x597667
lea ecx, [edi + 0x41]
jmp 0x5976fe
lea ecx, [esi + 0x41]
jmp 0x59757a
xor ecx, ecx
cmp esi, eax
jmp 0x597696
mov byte [edx + 2], 0x3d
jmp 0x597768
mov byte [edx + 3], 0x3d
jmp 0x597883
cmp edi, 0x34
jae 0x5976e0
lea ecx, [edi + 0x47]
jmp 0x5976fe
rol dword [ecx - 0x2f], cl
mov al, 0x43
out 0x2c, al
imul byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
daa
xor byte [edi], cl
xchg ebp, eax
ror dword [ebp + 0x2b8d0c], 0
add cl, ch
aad 0xfe
invalid
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x59757a
cmp edi, eax
jae 0x5977b0
jb 0x59775f
dec ecx
aam 0x4a
sub eax, 0x51f16bdc
shl dword [eax + 0x7cdfd653], 0x12
jne 0x59767f
add ecx, dword [edi + ecx*8 - 0x78]
dec edx
add ch, bl
lodsb al, byte cs:[esi]
and al, byte [ebp - 0x4c]
pushal
retf
mov byte [edx + 2], cl
jmp 0x597768
lea ecx, [esi + 0x47]
jmp 0x59757a
lea ecx, [edi - 4]
jmp 0x5976fe
cmp dword [ebp + 0xc], 3
jne 0x597647
cmp ebx, 0x1a
jmp 0x597837
xor ecx, ecx
cmp edi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x5976fe
cmp ebx, 0x34
jae 0x5979f4
jb 0x597999
arpl word fs:[esi], ax
cmc
sbb eax, 0xa8c959d5
pop ebx
mov ebp, 0xd9be28a7
sub dl, cl
mov edi, 0xff03bd5
and ecx, 0xfffffffd
invalid
cmp esi, eax
jae 0x5975f3
lea ecx, [esi - 4]
jmp 0x59757a
mov byte [edx + 3], cl
jmp 0x597883
jae 0x5977e7
lea ecx, [ebx + 0x41]
jmp 0x59781a
xor ecx, ecx
cmp ebx, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x59781a
pop edi
pop esi
pop ebx
pop ebp
ret
lea ecx, [ebx + 0x47]
jmp 0x59781a
cmp ebx, eax
jae 0x59783f
lea ecx, [ebx - 4]
jmp 0x59781a