Function at 0x667ed9
Capabilities:
Encode data using base64

Disassembly:
call 0x667c50
push edi
lea esp, [esp + 4]
mov al, byte [ecx]
push ebx
cmp al, 0x41
jb 0x667ea9
cmp al, 0x5a
jbe 0x6a8d9f
ja 0x667ea9
cdq
cdq
xor cl, byte [ebx + edi - 0x73]
and al, 3
lea esp, [esp + 3]
mov dword [esp + 4], esi
not si
push ax
push word [esp]
lea esi, reloc.RASAPI32.dll_RasGetConnectStatusA
lea esp, [esp]
mov dword [esp + 2], edx
mov esi, dword [esp]
pushfd
mov dl, byte [esp + 3]
not dx
mov dword [esp], esp
lea esi, [edx + ebx]
mov dword [esp + 1], eax
xchg edx, esi
mov dh, byte [esp]
mov dh, 0x87
xchg edx, eax
setns dh
lea esi, [edi*4]
lea esi, [edi*4]
setg dh
mov eax, dword [esp + 1]
push eax
mov word [esp], bx
lea edx, [ebx*4]
mov dh, 0x8a
xchg byte [esp + 1], dh
mov dx, word [esp + 1]
mov edx, dword [esp + 0xa]
mov esi, 0x617779b9
lea esi, [ecx + esi]
mov si, word [esp]
mov esi, 0x363660a5
lea esi, [edi - 0xdb]
push bp
pop si
bswap si
mov esi, dword [esp + 0x10]
lea esp, [esp + 0x24]
lea esp, [esp + 4]
jmp 0x667dd8
cmp al, 0x61
jmp 0x6a8dec
inc ecx
cmp al, 0x30
jb 0x6a8dfd
cmp al, 0x39
jbe 0x6a8d9f
ja 0x6a8dfd
ja 0x667eba
fdivr st(4)
xchg dword [ecx], esi
push edx
mov dword [esp], ebp
mov dword [esp], esp
mov word [esp + 1], di
lea esp, [esp]
mov byte [esp + 2], ah
pop word [esp]
push di
lea esp, [esp + 3]
pushal
lea esp, [esp + 6]
jmp 0x667dfe
mov dl, byte [ecx + 1]
cmp dl, 0x41
jb 0x6a8e2f
jmp 0x6a8ed5
jb 0x667ebb
cmp al, 0x7a
jbe 0x6a8d9f
ja 0x667ebb
cmp al, 0x2b
je 0x6a8d9f
cmp al, 0x2f
jne 0x6a8e65
je 0x6a8d9f
sub byte [ecx + 0x9bb4829], bh
mul byte [ebx + eax - 2]
cmp al, 0x1c
xchg ebx, eax
add esp, dword [esi - 0x6b]
and al, 0x86
mov eax, 0x34f98313
cmp dl, 0x61
jmp 0x6a8e81
cmp dl, 0x30
jb 0x6a8eb9
cmp dl, 0x39
jbe 0x6a8e9d
ja 0x6a8eb9
xor dword [ebx + reloc.RASAPI32.dll_RasGetConnectStatusA], ebp
popal
hlt
mov eax, 0x403
lea ebx, [eax + esi]
not bx
jmp 0x6a9054
shr ecx, cl
fiadd word [ecx]
add byte [eax], al
loopne 0x6a8ef1
jmp 0x86340a05
jb 0x6a8e41
cmp dl, 0x7a
jbe 0x6a8e9d
ja 0x6a8e41
jl 0x6a8e70
jp 0x6a8eab
in al, dx
pop eax
mov dl, 0x29
mov ecx, 0xab992bd8
cmp ebp, dword [ebx + reloc.RASAPI32.dll_RasGetConnectStatusA]
mov bl, byte [ecx + 2]
cmp bl, 0x41
jb 0x6a8ee0
cmp bl, 0x5a
jmp 0x6a91c2
add byte [eax], al
xor al, 0xa9
cmp dword [eax - 0x55], ebx
pop ss
test eax, 0x8993181d
arpl word [eax - 0x208bd406], ax
cmp dl, 0x2b
je 0x6a8e9d
cmp dl, 0x2f
jne 0x6a8e65
je 0x6a8e9d
retf 0xc456
cmp dl, 0x5a
jbe 0x6a8e9d
ja 0x6a8e2f
cmp bl, 0x61
jmp 0x6a919f
mov eax, dword [eax - reloc.RASAPI32.dll_RasGetConnectStatusA]
mov al, 0
add byte [eax], al
cmp bl, 0x30
jb 0x6a8fab
cmp bl, 0x39
jbe 0x6a99b2
ja 0x6a8fab
xor al, 0xb6
and al, 0x43
mov esi, 0x39b29b08
mov eax, 0xfc02d6e8
inc dword [ebx - reloc.RASAPI32.dll_RasGetConnectStatusA]
jmp 0x6671a9
cmp cl, 0x30
jb 0x6a8f8a
cmp cl, 0x39
jbe 0x6a8f47
ja 0x6a8f8a
xor esi, dword [eax + reloc.RASAPI32.dll_RasGetConnectStatusA]
insb byte es:[edi], dx
in al, dx
bound eax, qword [0x31b246f4]
mov eax, dword [reloc.RASAPI32.dll_RasGetConnectStatusA]
sub esi, dword [eax + 0x27]
mov byte [0xe92bf880], al
stosd dword es:[edi], eax
add byte [eax], al
add dh, al
inc eax
salc
mov cl, 0x40
sbb dword [edx - 0x6b], 0xf8808711
das
cmp al, 0x2b
jmp 0x6a8ffa
cmp al, 0x2f
jne 0x6a902e
push 0x3f
jmp 0x6a8fc3
cmp cl, 0x61
jb 0x6a8f24
cmp cl, 0x7a
jbe 0x6a8f47
ja 0x6a8f24
cmp cl, 0x2b
je 0x6a8f47
cmp cl, 0x2f
je 0x6a8f47
jne 0x6a8e65
mov al, byte [0x2adfb82a]
cwde
cmp dh, byte [edi + 0x7cb14227]
shl bl, cl
fsubr dword [edi + reloc.RASAPI32.dll_RasGetConnectStatusA]
cmp bl, 0x2b
je 0x6a99b2
cmp bl, 0x2f
jne 0x6a8e65
je 0x6a99b2
lea eax, [ecx*4]
mov ah, dl
pushfd
setg al
mov eax, dword [esp + 4]
push bp
lea esp, [esp + 1]
pushal
pushal
lea esp, [esp + 1]
lea esp, [esp + 0x48]
jmp 0x6a9004
jne 0x6a8f59
push 0x3e
jmp 0x6a8fc3
push esi
cmp dl, 0x2b
jne 0x6a90af
push 0x3e
jmp 0x6a9083
movzx esi, dl
cmp dl, 0x39
ja 0x6a90bc
jmp 0x6a9124
cmp al, 0x39
ja 0x6a9158
movzx eax, al
add eax, 4
jmp 0x6a9004
xchg bl, bh
mov bx, 0x13d9
not bx
mov ebx, dword [esp]
pushfd
mov byte [esp + 2], dh
mov dword [esp], esi
lea esp, [esp + 2]
mov word [esp], dx
lea esp, [esp + 1]
lea esp, [esp + 1]
lea esp, [esp + 4]
ret
pushfd
mov esi, dword [esp + 3]
bswap esi
lea esp, [esp + 3]
bswap si
lea esp, [esp + 1]
mov esi, dword [esp]
pushfd
lea esp, [esp]
push word [esp + 3]
jmp 0x6a90ff
cmp dl, 0x2f
jne 0x6a9012
push 0x3f
jmp 0x6a9083
cmp dl, 0x5a
ja 0x6a9129
sub esi, 0x41
jmp 0x6a90dd
cmp bl, 0x2b
jne 0x6a912e
push 0x3e
jmp 0x6a9168
lea esp, [esp + 2]
lea esp, [esp + 8]
jmp 0x6a90dd
sub eax, 0x47
jmp 0x6a9004
add esi, 4
jmp 0x6a90dd
sub esi, 0x47
jmp 0x6a90dd
cmp bl, 0x2f
jne 0x6a97bb
push 0x3f
jmp 0x6a9168
cmp cl, 0x2b
jne 0x6a9338
push 0x3e
jmp 0x6a92a3
cmp al, 0x5a
movzx eax, al
ja 0x6a911c
sub eax, 0x41
jmp 0x6a9004
lea edx, [ebp*4]
pushfd
xchg byte [esp + 1], dh
not dx
lea edx, reloc.RASAPI32.dll_RasGetConnectStatusA
lea edx, reloc.RASAPI32.dll_RasGetConnectStatusA
mov edx, dword [esp + 4]
lea esp, [esp + 8]
jmp 0x6a913b
jb 0x6a8ef2
cmp bl, 0x7a
jbe 0x6a99b2
ja 0x6a8ef2
push ebx
into
pop esp
cmp edx, esi
pushal
movsd dword es:[edi], dword [esi]
add eax, 0x8a0ffc95
mov word [eax + 0xf], ss
xchg dl, ch
pop es
add byte [eax], al
jbe 0x6a99b2
ja 0x6a8ee0
sub ecx, 0x47
jmp 0x6a9207
cmp cl, 0x5a
movzx ecx, cl
ja 0x6a91ce
sub ecx, 0x41
jmp 0x6a9207
shl eax, 6
or eax, esi
shl eax, 6
or eax, edx
shl eax, 6
pushfd
sub esp, 8
push word [esp + 2]
mov dword [esp + 9], esi
sub esp, 0xb
push dword [esp + 0x14]
mov word [esp + 0xf], sp
jmp 0x6a9266
cmp cl, 0x39
ja 0x6a91ea
movzx ecx, cl
add ecx, 4
jmp 0x6a9207
lea esp, [esp + 1]
or eax, ecx
lea esp, [esp + 0x1c]
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
pop ecx
jmp 0x6a9207
cmp cl, 0x2f
jne 0x6a923a
push 0x3f
jmp 0x6a92a3
sub edx, 0x47
jmp 0x6a913b
cmp bl, 0x5a
ja 0x6a95e5
sub edx, 0x41
jmp 0x6a913b
movzx edx, bl
cmp bl, 0x39
ja 0x6a979c
add edx, 4
jmp 0x6a913b
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x6a8f7e
cmp cl, 0x5a
jbe 0x6a8f47
ja 0x6a8f7e