Function at 0x5e6fb95a
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
wait
mov esi, 0x406693da
mov ecx, ecx
push ebp
test byte [0x6109a52c], 0x1c
jne 0x5e6fb997
mov bl, 0x3e
xor eax, 0x67d5e178
mov ebx, 0xefc103f2
and ebx, dword [ecx]
pop ecx
test dh, dl
lodsb al, byte [esi]
pop esi
mov byte [0xbf236e26], al
cmpsd dword [esi], dword es:[edi]
je 0x5e6fb9ab
sub dword [eax + edx*8], edi
and esi, dword [ecx + esi*2 - 0x48e6c698]
enter 0xffffffffffffd1bd, 0xffffffffffffff93
dec edx
mov ecx, 0x63a00126
cmp dword [ecx - 0x36741375], eax
mov ebp, esp
mov ecx, ecx
sub esp, 0x10
and dword [ebp - 4], 0
mov ecx, ecx
mov ecx, 0x2000
push ebx
nop
nop
mov ebx, dword [ebp + 8]
cmp word [0x610570d4], 0xcc95
je 0x5e70a55e
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, eax
sub ecx, dword [ebx + 0x10c]
mov eax, dword [ebx + 0x104]
add ecx, ecx
push 2
test dword [0x6108ebb2], 0x9600fc84
jne 0x5e6ca024
pop esi
mov eax, eax
mov dword [ebp - 8], esi
mov dword [ebp + 8], ecx
mov dword [edi + 4], eax
push eax
mov eax, ecx
sub eax, esi
pop eax
jbe 0x5e6fbd0c
nop
mov eax, dword [ebx + 0xfc]
nop
nop
mov ecx, dword [ebx + 0x100]
cmp eax, ecx
jne 0x5e6fbb07
cmp byte [0x6100c451], 0x86
je 0x5e6ec796
lea eax, [ebx + 0x128]
cmp word [0x610a8ee7], 0xfcf8
je 0x5e705cf1
push eax
call fcn.5e6fd51d
mov edx, dword [ebx + 0xf8]
pop ecx
mov ecx, dword [ebx + 0x170]
dec ecx
and ecx, 7
shl ecx, 0xd
mov dword [ebx + 0xfc], ecx
mov dword [ebx + 0x100], ecx
mov eax, dword [edx + ecx*4]
add eax, ecx
inc ecx
mov dword [ebx + 0x100], eax
mov dword [ebx + 0xfc], ecx
mov eax, dword [edx + ecx*4]
mov dword [ebx + 0x104], eax
lea eax, [ecx + 1]
mov dword [ebx + 0xfc], eax
test word [0x6108c89b], 0xf46b
jne 0x5e6fbab8
lodsd eax, dword [esi]
push ss
popfd
lodsb al, byte [esi]
aaa
mov dh, 0x87
mov eax, dword [0x8e54500b]
dec esp
dec eax
aas
mov al, 0x2e
in al, dx
mov al, 0xb3
invalid
mov eax, dword [ebx + 0x104]
add eax, dword [ebp - 4]
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x104]
push edx
mov edx, eax
sub edx, dword [ebx + 0x110]
pop edx
jae 0x5e6fbd03
add eax, esi
mov ecx, ecx
mov dword [edi], eax
lea eax, [edi + esi*4]
cmp dword [ebx + 0x104], 0
je 0x5e6fbd0e
nop
nop
and dword [eax], 0
lea eax, [eax + 4]
dec dword [ebx + 0x104]
jne 0x5e6fbaf0
nop
nop
jmp 0x5e6fbd0e
mov edx, dword [ebx + 0x10c]
sub ecx, eax
mov ecx, ecx
mov eax, dword [ebx + 0x104]
cmp edx, eax
mov edi, dword [ebx + 0x11c]
cmovae edx, eax
mov ecx, ecx
mov esi, dword [ebx + 0x114]
sub eax, edx
nop
nop
inc eax
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [ebx + 0x120]
sub eax, edi
push ebx
mov ebx, eax
sub ebx, ecx
pop ebx
cmovb ecx, eax
lea eax, [ebp - 0x10]
nop
nop
nop
push eax
nop
nop
mov eax, dword [ebp + 8]
push ecx
nop
nop
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [ebx + 0xfc]
nop
nop
nop
push eax
mov eax, dword [ebx + 0xf8]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp + 0xc]
mov eax, eax
push eax
nop
mov eax, dword [ebx + 0x110]
nop
nop
dec eax
mov ecx, ecx
add byte [eax - 0x3674b770], dl
push eax
mov eax, dword [ebp - 8]
nop
lea eax, [ecx + eax*4]
mov ecx, dword [ebx + 0x120]
push eax
push dword [ebx + 0x124]
push ecx
push edi
mov eax, eax
push dword [ebx + 0x108]
cmp dword [0x61079132], 0xfb8cfe0d
jne 0x5e6fbbe0
fmul dword [esi]
xor byte [edx], 0x6b
jecxz 0x5e6fbb79
jl 0x5e6fbb54
push cs
push cs
adc ecx, dword [edi]
pop edx
invalid
push dword [ebx + 0x118]
mov ecx, ecx
push esi
push edx
mov eax, eax
call 0x5e6fc120
cmp byte [0x6101f9e3], 0xd1
jne 0x5e6fbc32
xchg ebx, eax
retf 0x859b
sub eax, dword [ebp + 0xc]
add esp, 0x34
mov eax, eax
mov edx, dword [ebp - 0x10]
mov eax, eax
mov ecx, edx
test dword [0x60ff0dc0], 0x98086b71
jns 0x5e6b4177
ror byte [ebx - 0x3ffa0836], 0xd
jmp dword [eax + 0x71]
sar eax, 2
sub ecx, esi
add dword [ebx + 0xfc], ecx
mov ecx, edx
mov dword [ebp - 8], eax
sub ecx, esi
cmp word [0x6108865d], 0x75f4
jns 0x5e6fbca7
fisubr dword [edx + 0x42]
push es
push 0x7d
sbb eax, 0x46b0b949
pop edx
adc al, 0x8f
scasd eax, dword es:[edi]
mov bh, byte [ebp - 0x41a4b7dc]
jb 0x5e6fbcf1
insb byte es:[edi], dx
bound edx, qword [bx - 0x5c12]
push ebp
inc edi
jne 0x5e6fbc84
sub eax, 0x74039ca5
push ds
pop ebx
loop 0x5e6fbcdb
push edi
push ds
das
jmp 0x5e6fbc3e
mov eax, edx
mov ecx, ecx
add edi, ecx
mov ecx, dword [ebx + 0x114]
sub eax, esi
add dword [ebx + 0x118], eax
mov eax, edx
cmp byte [0x60fe9f01], 0x68
jne 0x5e6dab3e
mov esi, dword [ebp - 8]
sub eax, ecx
add dword [ebp - 4], eax
sub ecx, edx
add dword [ebx + 0x104], ecx
cmp word [0x6107b527], 0xe577
je 0x5e7156f8
cmp dword [0x6107b527], 0x840fe577
setp byte [ecx]
add byte [ebx], dh
sar byte [ebx], 0xbb
and byte [ecx], al
add byte [eax], al
xor eax, eax
cmp edi, dword [ebx + 0x120]
mov dword [ebx + 0x114], edx
cmove edi, eax
mov dword [ebx + 0x11c], edi
mov edi, dword [ebp + 0xc]
cmp esi, dword [ebp + 8]
jb 0x5e6fb9fd
mov dword [edi], esi
pop edi
mov ecx, ecx
pop esi
mov eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
js 0x5e6f93a3
push 0x10
push 0x610e01d4
push dword [ebp + 0xc]
nop
nop
nop
call int.5e70e3ca
nop
add esp, 0xc
test eax, eax
jne 0x5e70a58c
mov eax, dword [ebp + 8]
mov dword [esi], eax
inc dword [eax + 4]
nop
nop
xor eax, eax
jmp 0x5e70a591
mov eax, 0x80004002
mov ecx, ecx
pop esi
pop ebp
ret 0xc