Function at 0x66b2f5
Capabilities:
Encode data using base64

Disassembly:
jmp 0x66b2fd
jmp 0x66b337
pushfd
mov byte [esp + 1], cl
lea esp, [esp + 1]
jmp 0x66b56d
jmp 0x66c5da
call fcn.0066c601
sub bl, bl
adc byte [edx], dh
xchg edx, eax
push esp
pop esp
invalid
mov byte [edi + 1], cl
call fcn.0066c6cf
outsd dx, dword gs:[esi]
pop ebx
arpl bp, cx
and ch, byte [edx - 0x3a45112a]
je 0x62bfcb
and dword [ebx + reloc.SHELL32.dll_SHGetPathFromIDListA], eax
pop es
add al, 0
jnp 0x62bfd4
mov edi, 0x5f9731c7
add dl, byte [esp + edi - 0x72]
sbb dword [eax + 0x5b], edi
call fcn.0066c64b
xor ecx, ecx
stc
call fcn.0066c650
mov dl, 0xad
mov esp, 0xcbfc2a8f
pop es
xchg byte [eax + 0x5b02db3b], dh
push cs
pushfd
call fcn.0066c50d
mov ebx, dword [eax + 0x59]
xor eax, 0x23b9b158
into
pop edi
add dl, byte [ebx + esi*2 + 0x16]
add dword [eax + 3], 0x40743e8
add byte [edx - 0x6348fb6b], bh
pop edx
pop esi
sub dword [eax - reloc.SHELL32.dll_SHGetPathFromIDListA], edi
jbe 0x62c023
mov al, byte [0x7fae8e3]
add al, 0
sahf
jmp 0xe8686ad7
or byte [ebx - 0x795a17fb], ch
add al, 0xfd
xchg ebx, eax
and eax, 0x9d62cb90
in al, dx
xor ecx, ecx
jmp 0x66c760
call 0x66c8a5
stc
mov dword [reloc.SHELL32.dll_SHGetPathFromIDListA], eax
mov bh, 0x21
ljmp 0x65ca
add byte [esi - 0x37046747], ch
lcall 0x3b9b, 0x108607c9
jnp 0x62c097
jmp 0x66c85c
neg ecx
lea ecx, [esi*4]
jmp 0x62c08f
push ebx
jmp 0x66c922
setbe byte [edi - 0x65115836]
mov esp, 0x63bce452
lcall 0x5ede, 0xbe665ff5
pop edi
mov si, 0x5ede
lea esi, [ebp - 0xe5]
jmp 0x66ca65
jmp 0x66b665
cmp esi, 0x34
jmp 0x66b5e5
call 0x66b0ec
jmp 0x66b766
cmp ebx, 0x1a
jae 0x66b196
xchg ch, cl
lea ecx, [eax*4]
jmp 0x66c991
xor ecx, ecx
call fcn.0066b6d6
xchg esi, eax
adc al, 0x8a
in eax, dx
sbb al, 0xab
add byte [ecx + 0x44837011], al
rol byte [ebx + 0x24a883a], 0xe9
jmp 0x66b0ea
mov byte [edx + 2], cl
jmp 0x66b1d7
add byte [eax], al
lea esp, [esp + 4]
mov byte [edx + 2], 0x3d
jmp 0x66b1d7
cmp edi, 0x34
push si
lea esp, [esp + 2]
jmp 0x66b733
cmp edi, eax
jmp 0x66b128
jae 0x66b160
lea ecx, [edi - 4]
jmp 0x66b0e4
mov byte [esp], bh
lea esp, [esp + 2]
jmp 0x66b168
pushal
push dword [esp + 0xf]
jmp 0x66b5ff
push bx
mov word [esp], bx
jmp 0x66b12f
xor ecx, ecx
push si
mov word [esp], ax
call fcn.0066b71d
call 0x62fea1dc
shl byte [ebx], cl
pop edx
mov ch, 0xa4
xlatb
shl eax, 0xc
shl eax, 0xc
cmp ebx, 0x34
jmp 0x66b790
mov byte [edx + 3], 0x3d
jmp 0x66b240
add byte [eax], al
mov dword [ebp - 0x1e], esi
jo 0x66b1d1
loop 0x66b1dc
mov dword [reloc.SHELL32.dll_SHGetPathFromIDListA], eax
mov esi, 0x78198900
mov edi, dword [edi]
mov byte [0x2adfb82a], al
cwde
ror byte [edi - 0x21], 0xba
dec ecx
in al, 0x62
popfd
mov edx, 0x9d62e449
in al, dx
call 0x66b0ae
adc dword [ebx], 0x76
test dword [ebx + ecx*8], esi
inc esp
fidivr dword [ebp + 0x7071f94c]
jae 0x66b256
test ecx, ebp
mov eax, dword [reloc.SHELL32.dll_SHGetPathFromIDListA]
adc eax, dword [ebx + reloc.SHELL32.dll_SHGetPathFromIDListA]
xchg esp, eax
or ch, byte [ebp - 0x64]
sub eax, dword [ecx - reloc.SHELL32.dll_SHGetPathFromIDListA]
jmp 0x66c593
call 0x66b77a
add byte [eax], al
jp 0x66b206
xchg edx, eax
cmc
add al, 0xc7
dec esp
leave
pop ecx
cmp bl, cl
or ebp, eax
or esp, dword [edx - reloc.SHELL32.dll_SHGetPathFromIDListA]
and al, 0x43
mov esi, 0x3bab280e
pop esi
lodsd eax, dword [esi]
sbb eax, 0x1b38d94e
jb 0x66b1b3
mov byte [edx + 3], cl
jmp 0x66b240
dec edx
add ebp, ebx
adc dword [edi], ebp
and esp, ebx
call 0x79f1a1b7
cmp dh, al
push eax
invalid
jmp 0x66b7b4
insd dword es:[edi], dx
jl 0x66b1dc
invalid
ret 0xe904
mov ebp, esp
jmp 0x66b297
pushal
lea esp, [esp + 0x24]
push ebp
bsf ebp, esp
jmp 0x66b260
movzx eax, byte [ecx]
call fcn.0066b281
jb 0x62bca5
clc
jmp 0x66b2f5
jmp 0x66b276
movzx edx, byte [esi]
pop esi
shl edx, 8
or eax, edx
jmp 0x62bca5
push esi
mov esi, ecx
add esi, 1
jmp 0x66b2d6
push ebx
jmp 0x66b35f
lea esp, [esp + 2]
movzx ecx, byte [ecx + 2]
or eax, ecx
jmp 0x62bc85
cmp dword [ebp + 0xc], 3
jne 0x62bc85
push cx
mov word [esp], di
jmp 0x66b313
mov ecx, 0x51fedd24
lea ecx, [ecx*4]
jmp 0x66b37f
push esi
push edi
bsr dx, ax
add ecx, ebp
jmp 0x66b349
mov dword [esp + 0x2c], eax
lea esp, [esp + 0x14]
popal
bswap esi
mov edx, edi
jmp 0x66b70b
pushal
mov bl, byte [esp]
sub esp, 0x17
lea esi, [ecx + ebx]
lea esp, [esp + 3]
jmp 0x66b369
shr esi, 0xc
clc
call fcn.0066b497
cmp ecx, eax
call 0x66b526
mov esp, 0x34c5a22c
mov ebp, dword [edx + reloc.SHELL32.dll_SHGetPathFromIDListA]
xchg byte [eax - 0x2dcc2d05], bl
clc
stc
call 0x66b507
mov byte [esp + 1], cl
jmp 0x66b530
mov word [esp + 1], sp
mov dword [esp], ecx
lea esp, [esp + 8]
setne dl
pushfd
jmp 0x66b55d
lea esp, [esp + 4]
lea edx, [edx*4 + 0x2b]
jmp 0x62bd84
lea esp, [esp + 3]
jmp 0x66b598
mov dh, 0x5d
lea esp, [esp + 0xc]
pop edx
sub esp, 0x1e
lea esp, [esp + 2]
jmp 0x66b4fe
mov ecx, dword [ebp + 8]
stc
mov byte [ecx], dl
push bp
jmp 0x66b5a6
lea esp, [esp]
lea esp, [esp + 2]
jmp 0x66b655
mov esi, eax
mov edx, ebp
mov edx, 0x5252d6ca
shr ecx, 0x12
jmp 0x66b585
jae 0x66b14a
mov ecx, dword [esp]
call 0x66b5cb
lea esp, [esp + 4]
lea ecx, [esi + 0x47]
jmp 0x66b06c
cmp esi, eax
jmp 0x66b638
pushal
lea esp, [esp + 0x20]
lea ecx, [esi + 0x41]
jmp 0x66b06c
lea ecx, [esi - 4]
jmp 0x66b06c
out dx, al
mov dword [eax - 0x45], edi
aad 0x44
lea esp, [esp + 0x24]
jae 0x66b0ce
jb 0x66b622
xlatb
jnp 0x66b632
invalid
cmp esi, 0x1a
pushfd
lea esp, [esp + 4]
jae 0x66b082
jb 0x66b615
cmp dword [ebp + 0xc], 2
jmp 0x66b6a4
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jb 0x66b0a9
call fcn.0066b68e
cmc
lea esp, [esp + 4]
cmp edi, 0x1a
jae 0x66b10a
jb 0x66b6f0
invalid
lea ecx, [edi + 0x41]
jmp 0x66b0e4
lea ecx, reloc.SHELL32.dll_SHGetPathFromIDListA
mov ecx, ebp
jmp 0x66b6da
push 0x3f
dec dl
dec dl
sub esp, 0xd
lea esp, [esp + 1]
jmp 0x66b5bd
jae 0x66b120
lea ecx, [edi + 0x47]
jmp 0x66b0e4
lea esp, [esp + 4]
cmp dword [ebp + 0xc], 3
jne 0x66b1ac
je 0x66b0b3
cmp ebx, eax
jmp 0x66c791
jae 0x66b203
lea ecx, [ebx + 0x47]
jmp 0x66b22a
xchg ebp, ebx
not bx
mov bx, ax
jmp 0x66b825
pop edi
setb bh
pop esi
mov bp, cx
jmp 0x66b79e
pop ebx
mov ebp, dword [esp]
lea esp, [esp + 4]
ret
xor ecx, ecx
cmp ebx, eax
setne cl
call fcn.0066c386
cmc
jmp 0x66c5f0
cmp edx, 0x34
jmp 0x66c617
cmp edx, 0x1a
jae 0x62bf0c
lea ecx, [edx + 0x41]
jmp 0x62bf4f
jae 0x62bf39
lea ecx, [edx + 0x47]
jmp 0x62bf4f
cmp esi, 0x3e
jmp 0x66c91a
lea esp, [esp + 4]
jae 0x66b1ed
lea ecx, [ebx - 4]
jmp 0x66b22a
xor ecx, ecx
call 0x66c864
insb byte es:[edi], dx
lea esp, [esp + 2]
lea esp, [esp + 2]
jmp 0x66c8c0
lea ecx, [ecx*4 + 0x2b]
jmp 0x62c006
cmp eax, 0x3e
push ax
lea esp, [esp + 2]
setne cl
jmp 0x66c899
setne cl
call fcn.0066c848
lea esp, [esp + 4]
push dword [ebp - 4]
mov cl, ah
lea ecx, reloc.SHELL32.dll_SHGetPathFromIDListA
jmp 0x66c96b
mov ecx, esi
call fcn.00647bf0
call fcn.0066d5c7
lea esp, [esp + 4]
pop ecx
jmp 0x66cde4
lea ecx, [ebx + 0x41]
jmp 0x66b22a
mov cl, 0x9f
lea ecx, [ebx + esi]
push eax
mov eax, dword [esp]
xchg ecx, eax
jmp 0x66caa8
fnsave dword [ebx - 3]
jae 0x66c9b0
invalid
imul esi, esi, 3
add eax, esi
not cx
mov ecx, 0x85935ef5
jmp 0x66c999
inc ch
jmp 0x66ca59
not ax
lea eax, [ebp - 4]
call fcn.00647bf5
btr cx, si
jmp 0x66c9c7
add esi, eax
inc eax
mov eax, 0xcfd3adf3
mov al, ch
jmp 0x66ca2d
jne 0x62c0a5
bswap eax
mov eax, 0x475f927f
mov eax, dword [ebp - 4]
jmp 0x66c9ee
mov al, 0x69
pushal
call fcn.0066ca3b
or bh, byte [ebx + 0x13a9a1f7]
aaa
lodsd eax, dword [esi]
jbe 0x66c9b1
leave
leave
push 0x458b228b
or al, 0x83
in al, dx
push ss
mov eax, dword [ebp + 0xc]
sub esp, 0x16
lea esp, [esp + 2]
mov dword [eax], esi
jmp 0x66ca16
mov ecx, dword [esp]
pushfd
lea esp, [esp + 8]
test eax, eax
jmp 0x66ca04
bswap esi
jmp 0x66ca84
mov esi, dword [esp]
lea esp, [esp + 4]
leave
ret
push si
lea esp, [esp + 2]
lea ecx, [ebx + edi*4]
lea eax, [ebp*4]
mov ah, 0xa7
jmp 0x66c9dd
jb 0x62c080
mov eax, dword [ebp + 8]
mov esi, edi
jmp 0x66c9b8
inc edi
add esi, 4
cmp edi, 0x20
jmp 0x66cb68
test eax, eax
jne 0x62c0a5
add dword [ebp - 4], 3
jmp 0x66ccf7