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

Disassembly:
jmp 0x550715
lea esp, [esp + 4]
jmp 0x550811
jmp 0x55074d
jmp 0x550769
mov al, byte [ecx]
jmp 0x550785
jmp 0x5507a1
push ebx
jmp 0x5507bd
jmp 0x5507d9
cmp al, 0x41
jmp 0x59a6d7
jmp 0x59a820
jmp 0x550731
jb 0x5507f5
popal
sti
dec dword [edi]
or dword [eax - 0x76fffffe], 0x16
jae 0x59a96b
mov dword [esi], edx
test bl, ah
push ds
test eax, 0xc9ae38a4
cmp byte [ecx + 0x20e9048], dl
xchg esp, eax
test 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
add cl, dh
insb byte es:[edi], dx
loop 0x59a69a
je 0x59a6da
dec edi
arpl word [esi], ax
cmc
je 0x59a782
or esi, dword [ecx - 0x7c10c4a5]
sti
xor al, 0x73
lea ecx, [bp + di + 0x47]
invalid
cmp al, 0x30
jb 0x59a83f
cmp al, 0x39
jbe 0x59a862
jmp 0x59a83f
cmp al, 0x61
jb 0x59a7f8
cmp al, 0x7a
jbe 0x59a862
jmp 0x59a7f8
cmp al, 0x2b
je 0x59a862
cmp al, 0x2f
jmp 0x59a882
mov dl, byte [ecx + 1]
cmp dl, 0x41
jmp 0x59a933
jne 0x59a8b5
jmp 0x59a862
cmp dl, 0x61
jb 0x59a8dc
jae 0x59a946
mov cl, 0x25
mov ch, 0xdc
das
iretd
mov eax, 0x403
pop ebx
ret
cmp dl, 0x30
jb 0x59a94e
cmp dl, 0x39
jmp 0x59a97b
mov bl, byte [ecx + 2]
cmp bl, 0x41
jb 0x59a9ec
cmp bl, 0x5a
jbe 0x59a9cf
jmp 0x59a9ec
jb 0x59a895
cmp dl, 0x5a
jbe 0x59a8ff
jmp 0x59a895
cmp dl, 0x7a
jbe 0x59a8ff
jmp 0x59a8dc
cmp dl, 0x2b
jmp 0x59a980
cmp al, 0x5a
jbe 0x59a862
jmp 0x5507f5
jbe 0x59a8ff
jmp 0x59a94e
je 0x59a8ff
jne 0x59a9bf
add al, byte [ecx + 0x63837011]
pop esi
fmul dword [esi + 0x29]
fdiv dword [ecx]
xchg byte [edi], al
xchg edi, eax
add edi, ebp
pop ss
and ebx, eax
cmp dl, 0x2f
jne 0x59a8b5
jmp 0x59a8ff
mov cl, byte [ecx + 3]
jmp 0x59ad65
cmp bl, 0x61
jb 0x59aa2e
jae 0x59aa7d
nop
push ds
mov ebx, gs
ret 0x74fb
cmp bl, 0x30
jb 0x59aa4d
jae 0x59aa8a
cmpsd dword [esi], dword es:[edi]
xor al, 0xaa
int 0x3c
leave
adc byte [eax], 0x86
loope 0x59aa50
mov bh, 0x66
cmc
or al, 0xff
lcall 0x8048, 0x5734212c
sti
sub ecx, dword [edi]
test byte [ecx - 1], bh
invalid
cmp bl, 0x2b
je 0x59a9cf
cmp bl, 0x2f
jne 0x59a8b5
jmp 0x59a9cf
cmp bl, 0x7a
jbe 0x59a9cf
jmp 0x59aa2e
cmp bl, 0x39
jbe 0x59a9cf
jmp 0x59aa4d
cmp al, 0x2b
jmp 0x59aafa
cmp cl, 0x61
jb 0x59abfc
cmp cl, 0x7a
jbe 0x59aac8
jmp 0x59abfc
jne 0x59ab21
push 0x3e
jmp 0x59ab6c
cmp al, 0x2f
jmp 0x59ab96
cmp al, 0x39
ja 0x59ac0e
movzx eax, al
add eax, 4
jmp 0x59abdf
pop eax
jmp 0x59abdf
jne 0x59ab3e
push 0x3f
jmp 0x59ab6c
cmp cl, 0x2b
je 0x59aac8
cmp cl, 0x2f
je 0x59aac8
jmp 0x59a8b5
push esi
cmp dl, 0x2b
jmp 0x59ad31
cmp cl, 0x30
jb 0x59abb4
cmp cl, 0x39
jbe 0x59aac8
jmp 0x59abb4
cmp al, 0x5a
movzx eax, al
ja 0x59ac5a
jbe 0x59acb9
pushal
in eax, dx
jge 0x59ac24
not dword [edi]
aaa
mov ecx, 0x50bb4829
sub dword [eax - 0x45], ecx
push eax
into
inc ecx
sal dword [eax + 0x5711b543], 1
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
or dword [ecx + 0x719b6809], ebx
cwde
or dword [ecx - 0x3c03f408], ebx
popal
sub eax, 0x47
jmp 0x59abdf
cmp dl, 0x2f
jne 0x59ad0a
push 0x3f
jmp 0x59aced
cmp bl, 0x2b
jmp 0x59af18
sub eax, 0x41
jmp 0x59abdf
pop esi
jmp 0x59ac71
movzx esi, dl
cmp dl, 0x39
ja 0x59ad96
jbe 0x59add6
and byte [ebx], 0xb3
salc
and eax, 0xa737ad94
ret 0x9631
jne 0x59ac62
push 0x3e
jmp 0x59aced
cmp cl, 0x41
jb 0x59aae5
cmp cl, 0x5a
jbe 0x59aac8
jmp 0x59aae5
cmp dl, 0x5a
ja 0x59adf1
sub esi, 0x41
jmp 0x59ac71
add esi, 4
jmp 0x59ac71
sub esi, 0x47
jmp 0x59ac71
cmp bl, 0x2f
jne 0x59aefa
je 0x59af50
invalid
pop edx
jmp 0x59af2c
movzx edx, bl
jmp 0x59af58
jne 0x59adfb
push 0x3e
jmp 0x59aecd
cmp cl, 0x2b
jne 0x59b028
je 0x59afef
inc edx
invalid
push 0x3f
jmp 0x59aecd
cmp bl, 0x39
jmp 0x59afc3
cmp bl, 0x5a
ja 0x59ba43
sub edx, 0x41
jmp 0x59af2c
ja 0x59af9a
add edx, 4
jmp 0x59af2c
push 0x3e
jmp 0x59b00b
pop ecx
jmp 0x59b2a2
cmp cl, 0x2f
jne 0x59b380
push 0x3f
jmp 0x59b00b
sub ecx, 0x47
jmp 0x59b2a2
cmp cl, 0x5a
movzx ecx, cl
ja 0x59b076
sub ecx, 0x41
jmp 0x59b2a2
shl eax, 6
or eax, esi
shl eax, 6
or eax, edx
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
mov edx, eax
shr edx, 8
pop esi
mov byte [ecx + 2], al
mov byte [ecx + 1], dl
xor eax, eax
pop ebx
ret
cmp cl, 0x39
ja 0x59b0e6
movzx ecx, cl
add ecx, 4
jmp 0x59b2a2
sub edx, 0x47
jmp 0x59af2c