Function at 0x54df07
Capabilities:
Encode data using base64

Disassembly:
cmp al, 0x30
jmp 0x54de8d
cmp al, 0x2b
je 0x54de49
cmp al, 0x2f
jne 0x54dea4
je 0x54de49
movsd dword es:[edi], dword [esi]
jmp 0x60d563
mov dl, byte [ecx + 1]
cmp dl, 0x41
jb 0x54df1f
cmp dl, 0x5a
jbe 0x593577
ja 0x54df1f
enter 0x5043, 0x5d
lea ebp, [ecx]
push ds
in eax, dx
pop esp
mov byte [0xd017e49d], cl
cmp edi, dword [ebp - 0x7fb78dd3]
clc
pop edx
jb 0x54dec0
cmp al, 0x5a
jbe 0x54de49
ja 0x54dec0
movsd dword es:[edi], dword [esi]
jmp 0x60d61f
jb 0x54de2a
cmp al, 0x39
jbe 0x54de49
ja 0x54de2a
movsd dword es:[edi], dword [esi]
jmp 0x60d5f8
mov eax, 0x403
mov bx, 0x4d64
jmp 0x593782
mov ecx, 0x6e028de
cmp al, 0x61
jb 0x54de18
cmp al, 0x7a
jbe 0x54de49
ja 0x54de18
and dword [eax], ecx
sbb al, 0xf5
fnstsw word [ecx + 0x38aa3001]
pop edi
stosb byte es:[edi], al
outsb dx, byte [esi]
std
push di
push di
push word [esp + 1]
lea esp, [esp + 4]
mov al, byte [ecx]
push ebx
cmp al, 0x41
jmp 0x54de76
push eax
pushfd
lea esp, [esp + 8]
lea esp, [esp + 4]
jmp 0x54dee7
cmp dl, 0x61
jb 0x5936ba
cmp dl, 0x7a
jbe 0x593577
ja 0x5936ba
je 0x54deba
jnp 0x54df8c
outsb dx, byte [esi]
ljmp 0xc2a7
push cx
mov byte [esp], bh
lea esp, [esp + 2]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
pushfd
mov dword [esp], edx
or eax, edx
push eax
mov byte [esp + 2], bl
jmp 0x54e0a9
sbb al, 0x89
jl 0x54dfb4
sbb byte [eax - 0x77], ah
jl 0x54dfb9
adc edx, dword [esi - 0x78]
dec esp
and al, 0x1f
pop dword [esp + 0x28]
lea esp, [esp + 0xa]
mov word [esp + 0x1e], sp
push dword [esp + 0x2d]
mov dword [esp + 0x37], edx
bswap edx
mov dh, ch
mov dx, word [esp]
bswap dx
bswap edx
sets dh
mov dword [esp + 0x18], ecx
mov cl, byte [esp]
lea edx, [edi*4]
mov cx, bp
lea ecx, [ebx*4]
mov edx, dword [esp]
lea edx, [esi + 0xf5]
mov dh, byte [esp]
mov ch, byte [esp]
mov dword [esp + 0x11], edi
pushfd
mov dl, 0xfd
mov ecx, 0x12711188
setbe ch
mov di, 0x411e
mov ch, byte [esp]
lea edi, [esp - 0x9a]
bswap dx
mov di, 0x3fbc
setne dl
mov cx, word [esp]
mov cx, 0x6592
lea ecx, [edx + 0x62b]
lea edi, [edx + 0x389b]
mov edi, dword [esp + 0x15]
mov edx, 0x1a476ab6
mov dx, word [esp]
pushfd
lea ecx, [ebp + 0x6ce979b9]
not dx
mov ecx, dword [esp + 0x20]
bswap edx
mov dx, word [esp]
mov dh, byte [esp]
bswap edx
mov dh, 0xd9
mov edx, 0x7f1b0db6
lea edx, [eax - 0x1217]
bswap edx
setp dl
mov dx, 0x4976
setge dl
mov edx, 0xd1a73ec
mov dh, byte [esp]
mov edx, dword [esp + 0x3f]
lea esp, [esp + 0x48]
lea esp, [esp + 4]
jmp 0x54df4e
mov byte [esp + 0xa], dl
lea esp, [esp + 0x28]
or eax, ecx
mov ecx, eax
push 0x3f
jmp 0x593af7
mov byte [esp + 2], ah
pop word [esp]
lea esp, [esp + 2]
lea esp, [esp + 4]
push ebx
push esi
push esp
mov word [esp], ax
shl eax, 8
pushal
mov dword [esp + 7], edx
pushfd
jmp 0x54e08b
mov bl, byte [ecx + 2]
cmp bl, 0x41
jb 0x5936e1
cmp bl, 0x5a
jbe 0x59375b
ja 0x5936e1
and ch, byte [esi + 0x72b65b3c]
xor dword [edx + edx*2 + 0x7606c435], edi
sti
xchg edx, eax
cmp dl, 0x2b
je 0x593577
cmp dl, 0x2f
jmp 0x5936fd
cmp dl, 0x30
jb 0x59369e
cmp dl, 0x39
jbe 0x593577
ja 0x59369e
mov dh, 0x2e
mov esp, 0xbf8736db
mov ah, 0xd3
jmp 0x5936dd
push 0x80fffba8
sti
popal
cmp bl, 0x61
jb 0x59373e
cmp bl, 0x7a
jbe 0x59375b
ja 0x59373e
mov cl, 0x2d
mov ebp, 0x588737c4
lds edx, [ebp + 0x3c]
iretd
jne 0x54dea4
je 0x593577
cmpsd dword [esi], dword es:[edi]
cmp dword [ecx - 0x4678c438], ebp
and al, 0xba
invalid
cmp bl, 0x2b
je 0x59375b
cmp bl, 0x2f
jne 0x54dea4
je 0x59375b
insd dword es:[edi], dx
int 0x5d
and al, 0xd7
push edx
mov ch, 0xf7
outsd dx, dword [esi]
cmp dh, byte [ebx + 0x6b]
cmp bl, 0x30
jb 0x593722
cmp bl, 0x39
jbe 0x59375b
ja 0x593722
inc esi
les ebx, [edx + 0x3d]
int3
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x593853
cmp cl, 0x5a
jbe 0x5937c5
ja 0x593853
cmp cl, 0x2b
je 0x5937c5
cmp cl, 0x2f
je 0x5937c5
jne 0x54dea4
lea ebx, [0x6b981469]
bswap bx
not bx
xchg bl, bh
mov ebx, dword [esp]
pushfd
push dword [esp]
jmp 0x59381a
cmp cl, 0x30
jb 0x593772
cmp cl, 0x39
jbe 0x5937c5
ja 0x593772
loop 0x593816
int1
nop
arpl word [edx - 0x1174e46d], sp
sbb eax, 0xf43ab8ac
xor ebx, dword [edi + 0x2bf88090]
cmp al, 0x2b
jne 0x5937fa
push 0x3e
jmp 0x5937dc
lea eax, [ecx*4]
bswap eax
sete ah
mov al, dh
jmp 0x5938d1
cmp al, 0x2f
jne 0x593833
push 0x3f
jmp 0x5937dc
jmp 0x593823
lea esp, [esp + 1]
push word [esp]
mov byte [esp + 5], bh
push cx
lea esp, [esp + 3]
jl 0x593849
add eax, 0x648d5166
and al, 3
lea esp, [esp + 0xc]
ret
cmp al, 0x39
ja 0x59386b
movzx eax, al
add eax, 4
jmp 0x593892
invalid
cmp cl, 0x61
jb 0x5937a7
cmp cl, 0x7a
jbe 0x5937c5
ja 0x5937a7
cmp al, 0x5a
movzx eax, al
ja 0x5938ae
sub eax, 0x41
jmp 0x593892
pushfd
push word [esp + 2]
mov dword [esp], eax
mov word [esp + 2], dx
jmp 0x5938b3
sub eax, 0x47
jmp 0x593892
lea esp, [esp + 2]
mov dword [esp], esi
push esp
mov word [esp], bx
lea esp, [esp + 4]
jmp 0x5938e0
mov ah, 0x2f
not ax
mov eax, dword [esp]
lea esp, [esp + 4]
jmp 0x593892
cmp dl, 0x2b
jne 0x593bfd
push 0x3e
jmp 0x593ab2
movzx esi, dl
cmp dl, 0x39
ja 0x593942
add esi, 4
jmp 0x593976
sub esi, 0x47
jmp 0x593976
cmp bl, 0x2f
jne 0x59399d
push 0x3f
jmp 0x59394c
cmp dl, 0x5a
ja 0x593920
sub esi, 0x41
jmp 0x593976
pop edx
jmp 0x593959
cmp cl, 0x2b
jne 0x593a09
push 0x3e
jmp 0x5939d0
cmp bl, 0x2b
jne 0x593925
push 0x3e
jmp 0x59394c
cmp bl, 0x5a
ja 0x593a47
sub edx, 0x41
jmp 0x593959
movzx edx, bl
cmp bl, 0x39
ja 0x59397f
add edx, 4
jmp 0x593959
cmp cl, 0x39
ja 0x593a12
movzx ecx, cl
add ecx, 4
jmp 0x5939dd
pop ecx
jmp 0x5939dd
shl eax, 6
or eax, esi
push ebp
push dword [esp + 1]
pop word [esp + 3]
lea esp, [esp + 2]
shl eax, 6
push ax
lea esp, [esp + 2]
jmp 0x593a4f
cmp cl, 0x2f
jne 0x5939aa
push 0x3f
jmp 0x5939d0
cmp cl, 0x5a
movzx ecx, cl
jmp 0x593a7b
sub ecx, 0x47
jmp 0x5939dd
sub edx, 0x47
jmp 0x593959
lea esp, [esp + 4]
push sp
lea esp, [esp + 1]
mov byte [esp], dh
lea esp, [esp]
add esp, 0
mov byte [esp], dh
lea esp, [esp]
lea esp, [esp + 1]
jmp 0x593a85
ja 0x593a27
sub ecx, 0x41
jmp 0x5939dd
or eax, edx
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
pushal
lea ebp, [edi*4]
mov bx, 0x1a6f
jmp 0x593b3a
mov si, word [esp]
pushfd
pop esi
mov si, word [esp]
mov esi, dword [esp]
push sp
lea esp, [esp + 1]
push esi
lea esp, [esp + 1]
lea esp, [esp + 8]
jmp 0x593976
mov dh, 0x50
lea esp, [esp + 2]
mov dword [esp + 0x14], eax
push ax
mov byte [esp], ch
mov byte [esp], ah
jmp 0x593bdf
bswap ebx
bswap bx
setbe bl
mov ebx, dword [esp]
pushfd
push cx
push esi
mov word [esp + 2], si
pop dword [esp]
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x28]
pushal
mov ebp, dword [esp]
mov dx, word [esp]
seto bh
bswap bx
xchg dl, cl
pushfd
pop word [esp]
jmp 0x593ad3
mov dh, byte [esp]
mov dword [esp + 0x14], eax
push edx
push dword [esp]
mov byte [esp + 4], dl
mov word [esp], cx
lea esp, [esp + 8]
popal
push edx
push dword [esp + 1]
push ebx
push word [esp + 5]
mov dword [esp + 5], edi
pop word [esp]
pop dword [esp + 3]
mov byte [esp + 5], cl
shr edx, 8
push edx
mov word [esp + 1], bx
push dword [esp]
lea esp, [esp + 0x10]
pop esi
mov byte [ecx + 2], al
mov byte [ecx + 1], dl
push bx
push word [esp]
xor eax, eax
lea esp, [esp + 4]
lea ebx, [eax*4]
mov ebx, 0x35532b7d
lea ebx, [ecx + edi]
lea ebx, [eax*4]
mov ebx, dword [esp]
bswap bx
mov bh, ch
mov bh, 0x90
mov ebx, dword [esp]
push edx
lea esp, [esp + 8]
ret
push sp
mov byte [esp + 2], bl
lea esp, [esp + 2]
lea esp, [esp + 8]
popal
jmp 0x593c61
mov word [esp], di
push word [esp + 1]
push dword [esp]
mov word [esp + 5], bp
jmp 0x593bc0
cmp dl, 0x2f
jne 0x5938f0
push 0x3f
jmp 0x593ab2
mov dword [esp + 0x15], edi
pushfd
and ecx, ebx
pushfd
mov byte [esp + 2], ah
push word [esp]
jmp 0x59473b
mov byte [esp + 3], ah
push dword [esp + 1]
push word [esp + 1]
push word [esp + 0xd]
shr edx, 0xc
pushfd
pop word [esp]
push eax
lea esp, [esp + 2]
lea esp, [esp + 0x14]
shr esi, 6
stc
clc
pushal
jmp 0x593c0d
mov esi, eax
push ebp
mov byte [esp + 2], dl
push bx
push dword [esp + 4]
mov word [esp + 4], bx
push di
mov dword [esp + 1], ebx
mov dword [esp + 6], edx
pushfd
shr ecx, 0x12
pushal
pop dword [esp + 0xa]
push dword [esp + 0xb]
push dword [esp + 2]
push word [esp + 0x12]
push dword [esp + 8]
pop word [esp + 0x17]
push dword [esp + 0x19]
push dword [esp + 0x10]
lea esp, [esp + 0x40]
pushfd
push word [esp + 3]
mov dword [esp], ebx
push word [esp]
jmp 0x593c2c
cmp esi, 0x34
jae 0x593d11
lea ecx, [esi + 0x47]
jmp 0x593d40
xor ecx, ecx
cmp esi, 0x3e
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x593d40
xor ecx, ecx
cmp edx, 0x3e
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x593df7
cmp esi, 0x3e
jae 0x593cde
lea ecx, [esi - 4]
jmp 0x593d40
cmp eax, 0x34
jae 0x593d7d
lea ecx, [eax + 0x47]
jmp 0x593d9b
bswap si
bswap esi
bswap esi
mov esi, dword [esp]
pushal
mov dword [esp + 0x16], ebx
lea esp, [esp + 0x24]
mov byte [edi + 2], cl
pop ebx
cmp eax, 0x1a
jae 0x593d1b
lea ecx, [eax + 0x41]
jmp 0x593d9b
pushal
xor ecx, ecx
pushfd
lea esp, [esp + 2]
mov word [esp], sp
jmp 0x593dc6
cmp eax, 0x3e
jae 0x593d61
lea ecx, [eax - 4]
jmp 0x593d9b
mov byte [edi + 3], cl
ret
cmp edx, 0x3e
jae 0x593cfd
lea ecx, [edx - 4]
jmp 0x593df7
mov byte [esp], ch
lea esp, [esp]
mov word [esp], di
lea esp, [esp + 2]
lea esp, [esp + 0x20]
cmp eax, 0x3e
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0x593d9b
mov byte [edi + 1], cl
cmp esi, 0x1a
jae 0x593cd4
lea ecx, [esi + 0x41]
jmp 0x593d40
cmp edx, 0x34
jae 0x593db8
lea ecx, [edx + 0x47]
jmp 0x593df7
xor ebx, ebx
cmp ecx, 0x3e
setne bl
lea ebx, [ebx*4 + 0x2b]
jmp 0x594019
cmp ecx, 0x3e
jae 0x593e81
lea ebx, [ecx - 4]
jmp 0x594019
mov byte [edi], bl
cmp edx, 0x1a
jae 0x593e52
lea ecx, [edx + 0x41]
jmp 0x593df7
cmp ecx, 0x34
jae 0x593fa7
lea ebx, [ecx + 0x47]
jmp 0x594019
mov word [esp + 1], cx
lea esp, [esp + 2]
lea esp, [esp + 0x28]
and edx, ebx
sub esp, 0x1d
pushfd
lea esp, [esp + 1]
and esi, ebx
push si
pushal
mov byte [esp + 0xe], ch
push dword [esp + 0xc]
lea esp, [esp + 2]
lea esp, [esp + 0x44]
and eax, ebx
cmp ecx, 0x1a
jae 0x5941d7
lea ebx, [ecx + 0x41]
jmp 0x594019
push 0x20abcb0a
call fcn.00560c5b
arpl word fs:[esi], ax
cmc
inc ebx
xchg edi, eax
pop ds
invalid
push 0x20abcac0
call fcn.00560c5b
call 0x60d64a
dec eax
les ebx, [edx + 0x3d]
int3
push 0x20abcada
call fcn.00560c5b
pop word [esp + 0xb]
push word [esp + 0xe]
mov dword [esp + 0xd], eax
push dword [esp + 0x12]
jmp 0x60d68a
lea esp, [esp + 0x16]
push word [esp]
mov byte [esp + 2], dl
mov word [esp + 4], dx
push dword [esp]
mov byte [esp + 1], dl
lea esp, [esp + 2]
lea esp, [esp + 0xc]
pop word [esp]
jmp 0x60db60
pushfd
push word [esp + 5]
lea esp, [esp + 4]
lea esp, [esp + 3]
mov byte [esp], bl
lea esp, [esp]
jmp 0x60db34
lea esp, [esp + 3]
mov byte [esp], bl
jmp 0x60d8d0
push word [esp + 5]
lea esp, [esp + 4]
jmp 0x60dae7
lea esp, [esp + 1]
jmp 0x60db69
pushfd
jae 0x60db18
lea esp, [esp + 1]
jmp 0x60db69
lea esp, [esp + 9]
mov word [esp + 0x10], cx
pop word [esp + 0xb]
lea esp, [esp + 3]
push ecx
call fcn.0060dbdb
popal
stc
imul ecx, dword [eax], 0xb25f3dfb
pop eax
ja 0x60db71
je 0x60d8bf
pushfd
jmp 0x60db0d
mov dword [esp], 0x20ab9807
pushal
jl 0x60db3d
jge 0x60db83
salc
push ebx
ret
lea esp, [esp + 9]
mov word [esp + 0x10], cx
jmp 0x60dc2b
push ecx
jmp 0x60db50
pop word [esp + 0xb]
lea esp, [esp + 3]
jmp 0x60dbfb