Function at 0x100777bc
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
jmp 0x10077992
mov ecx, dword [ebp + 0x10]
pushfd
test byte [0x1007780a], 0x84
je 0x1007790b
xor al, byte [ecx]
add byte [eax], al
aaa
aaa
pop edi
jge 0x100777da
insb byte es:[edi], dx
pop ecx
scasb al, byte es:[edi]
test al, 0x3c
sbb bl, 0x7c
inc byte [ecx + 0x7f0caab0]
xchg cl, cl
and dword [ebx - 0x78a33a05], ebp
sbb eax, 0xf429e3c5
rcr byte [edi], 0xfc
mov esi, 0xde2797af
lodsd eax, dword [esi]
fdivp st(7)
pop eax
mov ebx, 0x3a1951fa
jg 0x100777c8
popal
xlatb
add al, 0x53
push ebp
inc ebx
dec esi
arpl word [0x187cad90], dx
adc esp, dword [edx]
xchg edx, eax
xor dword [edi + 0xacac72], edx
js 0x10077861
mov al, byte [0x8cd53092]
mov dword [edx + ecx*4 + 0x3674dd7d], esp
out 0x2c, eax
or eax, 0x66f2aa5b
xchg esp, eax
push ebp
mov cl, 0x3f
dec esp
pushfd
out 0xa5, eax
in eax, dx
loopne 0x100777ed
jno 0x1007784b
xchg esi, eax
pop ecx
outsd dx, dword [esi]
mov dh, 0x56
sbb eax, 0x12c1f0b2
jg 0x100777d5
int 0x23
and esp, dword [edx + ebp*2]
fmul st(5), st(0)
cmp eax, 0x657d3cc7
sub edx, dword [eax - 0x2a6d84fe]
scasb al, byte es:[edi]
nop
add bh, byte [ebx - 0x6e]
aad 0xae
movsb byte es:[edi], byte [esi]
xchg ebp, eax
bound ebx, qword [ebp + 0x77]
xor eax, 0xcd581562
shr byte ss:[ebp - 0x1fde6650], 1
ror byte [ebx], cl
ficom dword fs:[edx + edi]
ror ch, 1
cdq
xchg dh, dl
dec esp
scasb al, byte es:[edi]
das
dec esi
daa
scasb al, byte es:[edi]
push eax
out 0xd5, eax
sbb byte [esi], bh
mov ch, 0xa0
arpl word [ecx + 0x79], si
fbld tbyte [edi + 0x46ba8e91]
out dx, al
mov eax, dword [0xfd92eaa7]
and esi, dword [edi - 0x26]
add al, 0xb9
push ebp
add eax, 0x4de2021b
out 0x7f, eax
inc ebx
in al, 0xb6
push 0xb427508
inc dword [esi - 0x1d45b8af]
sar dx, 1
salc
out 0xdb, al
mov al, 0x50
pop esi
mov ebp, gs
rcr byte [esi + 0x52], 1
leave
not eax
test eax, 0xe5de88d
add eax, 0xc34aedc8
aad 0x3e
scasb al, byte es:[edi]
jle 0x100778a2
int3
retf 0x9338
popfd
push esi
pushfd
test byte [0x10077984], 0x74
jne 0x10077985
mov dword [0x226697ef], eax
adc eax, 0x2074d601
inc edx
mov ch, 0x68
int1
je 0x10077941
xor ebx, 0x91bc4c13
sar byte [esi], cl
scasb al, byte es:[edi]
mov al, 0xc9
in eax, 0x9f
movsb byte es:[edi], byte [esi]
rcr dword [ecx - 0x62479b7d], cl
mov ecx, 0x3acb690b
xor dl, byte [edx]
mov word [edx + 0xc], es
lodsb al, byte [esi]
adc cl, byte [edx + eax*2 - 0x428853f4]
ja 0x10077905
add al, 0xbb
cmpsb byte [esi], byte es:[edi]
into
push ebx
cwde
xchg esp, eax
imul bl
cdq
mov bh, 0xd0
xchg ebp, eax
shl dword [eax], cl
xchg esi, eax
dec cx
or byte [ebp + ebp*4 - 0x6ef48e9a], bl
mov dword [eax - 0x5e], eax
sti
push ecx
imul ebp, dword [edi], 0xae93c219
dec ecx
inc edi
jb 0x1007799c
xchg ebx, eax
rol dword [edx + 0x7729105b], cl
pop eax
popfd
push es
push esp
and edi, ebx
xchg ecx, eax
mov bl, 0xbd
inc eax
sub al, 0x52
popfd
call fcn.10005d3b
add dword [ebp + 0x10], 0x1c
add esi, 0x1c
cmp esi, dword [ebp + 0xc]
jne 0x100777c8
pushfd
test byte [0x10077a53], 0x3e
jne 0x10077a54
push esi
sbb eax, 0xe9ef0e57
xlatb
pop esp
cwde
jb 0x10077946
lahf
mov bl, byte [ebx + 0x786b5932]
popfd
mov bl, 0x3d
jne 0x10077a01
sub al, 6
and eax, 0xc74f809
mov bh, 0xa
push edx
js 0x10077959
mov byte [edx - 0x16], dl
stc
std
pop edi
sub eax, 0x95c0f6f1
jno 0x10077a04
lodsd eax, dword [esi]
xchg ecx, eax
pushfd
pop es
push 0xe0c8c0c9
lahf
push edx
call 0x605be843
push edx
dec ebx
int1
pop ebx
adc al, 0x71
pop esp
adc al, byte [edi]
xchg ebx, eax
mov dword [edx + 0x30], ecx
cmp dword [ecx + eax*4], ebx
das
and dword [ebx + 0x6167e9fe], ebx
popal
jb 0x10077a62
dec edx
invalid
popfd
mov eax, dword [ebp + 0x10]
pop esi
pop ebp
pushfd
test byte [0x10077ac0], 0xcc
jne 0x10077ac1
and dword [ecx], ebp
pop ds
add al, 0x70
sub dword [esi - 0x80], edx
pop ecx
fdiv dword [esi + 0x47]
mov cl, byte [esi]
imul ecx, dword [eax], 0x1c76216b
cmp esp, dword [ebp - 0x3d220296]
movsd dword es:[edi], dword [esi]
mov gs, eax
sbb esi, eax
scasb al, byte es:[edi]
pop ebp
push cs
cmpsb byte [esi], byte es:[edi]
mov word [ebx + 0x16], ss
jnp 0x10077ab5
sti
mov dword [0xcb51cb3c], eax
int 0x24
int3
into
movsd dword es:[edi], dword [esi]
mov eax, 0xae1477b
pushal
sub edi, edi
mov ah, bl
popfd
ret