Function at 0x521403
Capabilities:
Encode data using base64

Disassembly:
call fcn.00521225
jmp 0x52141f
lea esp, [esp + 4]
jmp 0x5215df
jmp 0x521457
jmp 0x521473
push ebp
jmp 0x52148f
jmp 0x5214ab
mov ebp, esp
jmp 0x5214c7
jmp 0x5214e3
movzx eax, byte [ecx]
jmp 0x5214ff
jmp 0x52151b
shl eax, 0x10
jmp 0x521537
jmp 0x521553
add dh, byte [ecx]
sbb eax, 0x95660393
xor al, 0x8f
push ds
mov ebx, gs
in eax, 0xbe
sub byte [esi + 0x46ca28d9], bh
xlatb
inc edi
and dl, cl
cmp dword [ebp + 0xc], 2
jmp 0x52158b
jmp 0x553e1f
jmp 0x5215a7
jb 0x52156f
jae 0x5215c3
push ecx
add ecx, ebp
xchg byte [0xef0ffc95], al
pop es
xchg dword [edi], edx
jb 0x52153a
test ax, 0xbc2e
invalid
jmp 0x553e5b
jmp 0x52143b
jmp 0x5213fe
cmp dword [ebp + 0xc], 3
jmp 0x553e6a
push ebx
push esi
jmp 0x553ebb
movzx edx, byte [ecx + 1]
shl edx, 8
or eax, edx
jmp 0x52156f
jne 0x553e3e
movzx ecx, byte [ecx + 2]
jmp 0x553eb0
or eax, ecx
jmp 0x553e3e
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 0x553f05
mov edi, eax
shr edi, 6
and edi, edx
jmp 0x553f8a
mov edi, dword [ebp + 0xc]
jmp 0x553f8a
mov ebx, dword [ebp + 0xc]
jmp 0x553fdf
cmp dword [ebp + 0xc], 3
jne 0x553f6c
and eax, edx
mov ebx, eax
jmp 0x553fdf
cmp ecx, 0x34
jae 0x55416d
jb 0x554004
cmp byte [esi + 0x54b65b3c], ch
das
mov eax, 0x52b8492e
xchg esi, eax
add dl, byte [eax + 0xdea02f7]
cmp ch, byte [edx + 0x3e]
push 0x3e
pop eax
cmp ecx, 0x1a
jmp 0x5548aa
lea edx, [ecx + 0x47]
jmp 0x554364
xor edx, edx
cmp ecx, eax
setne dl
lea edx, [edx*4 + 0x2b]
jmp 0x554364
cmp esi, 0x34
jmp 0x5540fc
cmp esi, eax
jae 0x5542ef
lea ecx, [esi - 4]
jmp 0x5540d0
cmp dword [ebp + 0xc], 2
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jb 0x554231
cmp edi, 0x1a
jmp 0x55417f
jae 0x5540a1
lea ecx, [esi + 0x47]
jmp 0x5540d0
cmp ecx, eax
jae 0x554016
lea edx, [ecx - 4]
jmp 0x554364
jae 0x5541a6
lea ecx, [edi + 0x41]
jmp 0x5541e1
cmp edi, 0x34
jmp 0x5541fe
cmp edi, eax
jae 0x554296
jb 0x554262
lds edx, fs:[ebp + 0x3c]
iretd
mov byte [edx + 2], cl
jmp 0x5542b4
jae 0x5541c3
lea ecx, [edi + 0x47]
jmp 0x5541e1
mov byte [edx + 2], 0x3d
jmp 0x5542b4
mov byte [edx + 3], 0x3d
jmp 0x55443f
lea ecx, [edi - 4]
jmp 0x5541e1
xor ecx, ecx
cmp edi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x5541e1
cmp dword [ebp + 0xc], 3
jmp 0x554303
xor ecx, ecx
cmp esi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x5540d0
jne 0x554244
je 0x554343
stosb byte es:[edi], al
aas
scasd eax, dword es:[edi]
retf 0xb239
cmp ebx, 0x1a
jae 0x55475b
jb 0x55451a
dec edi
fmul dword [esi + 0x29]
fdiv dword [edx]
sbb byte [edx + eax + 0x797c9465], cl
push cs
jg 0x5542f1
insb byte es:[edi], dx
sbb eax, 0x88084d8b
adc dword [ebx - 0x7cf0e502], eax
out dx, al
cld
invalid
mov ecx, dword [ebp + 8]
mov byte [ecx], dl
cmp esi, 0x1a
jae 0x554060
lea ecx, [esi + 0x41]
jmp 0x5540d0
cmp ebx, eax
jae 0x5543fa
lea ecx, [ebx - 4]
jmp 0x5543de
mov byte [edx + 3], cl
jmp 0x55443f
xor ecx, ecx
cmp ebx, eax
jmp 0x554467
pop edi
pop esi
pop ebx
pop ebp
ret
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x5543de
lea ecx, [ebx + 0x41]
jmp 0x5543de
cmp ebx, 0x34
jae 0x5543bc
lea ecx, [ebx + 0x47]
jmp 0x5543de
jae 0x553fc0
lea edx, [ecx + 0x41]
jmp 0x554364