Function at 0x100211b0
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
sub esp, 8
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
jne 0x100211dd
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100211d0
sub eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ebp, ecx
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffc
cmp ecx, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edi
jle 0x10021466
dec ecx
shr ecx, 2
inc ecx
lea eax, [ecx*4]
lea edx, [ecx + ecx*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
lea ecx, [ecx]
mov ebx, dword [ebp]
or edi, 0xffffffff
cmp bl, 0x41
jl 0x10021238
cmp bl, 0x5a
jg 0x10021238
movsx edi, bl
sub edi, 0x41
jmp 0x10021272
cmp bl, 0x61
jl 0x1002124a
cmp bl, 0x7a
jg 0x1002124a
movsx edi, bl
sub edi, 0x47
jmp 0x10021272
cmp bl, 0x30
jl 0x1002125c
cmp bl, 0x39
jg 0x1002125c
movsx edi, bl
add edi, 4
jmp 0x10021272
cmp bl, 0x2b
jne 0x10021268
mov edi, 0x3e
jmp 0x10021272
cmp bl, 0x2f
jne 0x10021272
mov edi, 0x3f
mov ecx, ebx
shr ecx, 8
or edx, 0xffffffff
cmp cl, 0x41
jl 0x1002128c
cmp cl, 0x5a
jg 0x1002128c
movsx edx, cl
sub edx, 0x41
jmp 0x100212c6
cmp cl, 0x61
jl 0x1002129e
cmp cl, 0x7a
jg 0x1002129e
movsx edx, cl
sub edx, 0x47
jmp 0x100212c6
cmp cl, 0x30
jl 0x100212b0
cmp cl, 0x39
jg 0x100212b0
movsx edx, cl
add edx, 4
jmp 0x100212c6
cmp cl, 0x2b
jne 0x100212bc
mov edx, 0x3e
jmp 0x100212c6
cmp cl, 0x2f
jne 0x100212c6
mov edx, 0x3f
lea esi, [edx*4]
sar esi, 6
lea edx, [edi*4]
or esi, edx
and esi, 0xff
or edx, 0xffffffff
cmp cl, 0x41
jl 0x100212f4
cmp cl, 0x5a
jg 0x100212f4
movsx edx, cl
sub edx, 0x41
jmp 0x1002132e
cmp cl, 0x61
jl 0x10021306
cmp cl, 0x7a
jg 0x10021306
movsx edx, cl
sub edx, 0x47
jmp 0x1002132e
cmp cl, 0x30
jl 0x10021318
cmp cl, 0x39
jg 0x10021318
movsx edx, cl
add edx, 4
jmp 0x1002132e
cmp cl, 0x2b
jne 0x10021324
mov edx, 0x3e
jmp 0x1002132e
cmp cl, 0x2f
jne 0x1002132e
mov edx, 0x3f
mov ecx, ebx
shr ecx, 0x10
or edi, 0xffffffff
cmp cl, 0x41
jl 0x10021348
cmp cl, 0x5a
jg 0x10021348
movsx edi, cl
sub edi, 0x41
jmp 0x10021382
cmp cl, 0x61
jl 0x1002135a
cmp cl, 0x7a
jg 0x1002135a
movsx edi, cl
sub edi, 0x47
jmp 0x10021382
cmp cl, 0x30
jl 0x1002136c
cmp cl, 0x39
jg 0x1002136c
movsx edi, cl
add edi, 4
jmp 0x10021382
cmp cl, 0x2b
jne 0x10021378
mov edi, 0x3e
jmp 0x10021382
cmp cl, 0x2f
jne 0x10021382
mov edi, 0x3f
shl edi, 2
sar edi, 4
shl edx, 4
or edi, edx
and edi, 0xff
or edx, 0xffffffff
cmp cl, 0x41
jl 0x100213a8
cmp cl, 0x5a
jg 0x100213a8
movsx edx, cl
sub edx, 0x41
jmp 0x100213e2
cmp cl, 0x61
jl 0x100213ba
cmp cl, 0x7a
jg 0x100213ba
movsx edx, cl
sub edx, 0x47
jmp 0x100213e2
cmp cl, 0x30
jl 0x100213cc
cmp cl, 0x39
jg 0x100213cc
movsx edx, cl
add edx, 4
jmp 0x100213e2
cmp cl, 0x2b
jne 0x100213d8
mov edx, 0x3e
jmp 0x100213e2
cmp cl, 0x2f
jne 0x100213e2
mov edx, 0x3f
shr ebx, 0x18
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x100213fa
cmp bl, 0x5a
jg 0x100213fa
movsx ecx, bl
sub ecx, 0x41
jmp 0x10021434
cmp bl, 0x61
jl 0x1002140c
cmp bl, 0x7a
jg 0x1002140c
movsx ecx, bl
sub ecx, 0x47
jmp 0x10021434
cmp bl, 0x30
jl 0x1002141e
cmp bl, 0x39
jg 0x1002141e
movsx ecx, bl
add ecx, 4
jmp 0x10021434
cmp bl, 0x2b
jne 0x1002142a
mov ecx, 0x3e
jmp 0x10021434
cmp bl, 0x2f
jne 0x10021434
mov ecx, 0x3f
shl edx, 6
shl ecx, 2
sar ecx, 2
or ecx, edx
xor edx, edx
mov dh, cl
mov ecx, dword [esp + 0x1c]
add ebp, 4
add eax, 3
or edx, edi
shl edx, 8
or edx, esi
mov dword [eax - 3], edx
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x10021220
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x100216ea
sub ecx, eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x1002149a
mov eax, ecx
shr ecx, 2
mov esi, ebp
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
or ebx, 0xffffffff
cmp al, 0x41
jl 0x100214ad
cmp al, 0x5a
jg 0x100214ad
movsx ebx, al
sub ebx, 0x41
jmp 0x100214e1
cmp al, 0x61
jl 0x100214bd
cmp al, 0x7a
jg 0x100214bd
movsx ebx, al
sub ebx, 0x47
jmp 0x100214e1
cmp al, 0x30
jl 0x100214cd
cmp al, 0x39
jg 0x100214cd
movsx ebx, al
add ebx, 4
jmp 0x100214e1
cmp al, 0x2b
jne 0x100214d8
mov ebx, 0x3e
jmp 0x100214e1
cmp al, 0x2f
jne 0x100214e1
mov ebx, 0x3f
mov ecx, eax
shr ecx, 8
or edx, 0xffffffff
cmp cl, 0x41
jl 0x100214fb
cmp cl, 0x5a
jg 0x100214fb
movsx edx, cl
sub edx, 0x41
jmp 0x10021535
cmp cl, 0x61
jl 0x1002150d
cmp cl, 0x7a
jg 0x1002150d
movsx edx, cl
sub edx, 0x47
jmp 0x10021535
cmp cl, 0x30
jl 0x1002151f
cmp cl, 0x39
jg 0x1002151f
movsx edx, cl
add edx, 4
jmp 0x10021535
cmp cl, 0x2b
jne 0x1002152b
mov edx, 0x3e
jmp 0x10021535
cmp cl, 0x2f
jne 0x10021535
mov edx, 0x3f
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
shl edx, 2
sar edx, 6
shl bl, 2
or dl, bl
mov byte [esi], dl
inc esi
inc edi
cmp cl, 0x3d
je 0x10021610
mov ebx, eax
shr ebx, 0x10
cmp bl, 0x3d
je 0x10021610
or edx, 0xffffffff
cmp cl, 0x41
jl 0x10021578
cmp cl, 0x5a
jg 0x10021578
movsx edx, cl
sub edx, 0x41
jmp 0x100215b2
cmp cl, 0x61
jl 0x1002158a
cmp cl, 0x7a
jg 0x1002158a
movsx edx, cl
sub edx, 0x47
jmp 0x100215b2
cmp cl, 0x30
jl 0x1002159c
cmp cl, 0x39
jg 0x1002159c
movsx edx, cl
add edx, 4
jmp 0x100215b2
cmp cl, 0x2b
jne 0x100215a8
mov edx, 0x3e
jmp 0x100215b2
cmp cl, 0x2f
jne 0x100215b2
mov edx, 0x3f
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x100215c7
cmp bl, 0x5a
jg 0x100215c7
movsx ecx, bl
sub ecx, 0x41
jmp 0x10021601
cmp bl, 0x61
jl 0x100215d9
cmp bl, 0x7a
jg 0x100215d9
movsx ecx, bl
sub ecx, 0x47
jmp 0x10021601
cmp bl, 0x30
jl 0x100215eb
cmp bl, 0x39
jg 0x100215eb
movsx ecx, bl
add ecx, 4
jmp 0x10021601
cmp bl, 0x2b
jne 0x100215f7
mov ecx, 0x3e
jmp 0x10021601
cmp bl, 0x2f
jne 0x10021601
mov ecx, 0x3f
shl ecx, 2
sar ecx, 4
shl dl, 4
or cl, dl
mov byte [esi], cl
inc esi
inc edi
mov ecx, eax
shr ecx, 0x10
cmp cl, 0x3d
je 0x100216dd
mov ebx, eax
shr ebx, 0x18
cmp ebx, 0x3d
je 0x100216dd
or edx, 0xffffffff
cmp cl, 0x41
jl 0x10021641
cmp cl, 0x5a
jg 0x10021641
movsx edx, cl
sub edx, 0x41
jmp 0x1002167b
cmp cl, 0x61
jl 0x10021653
cmp cl, 0x7a
jg 0x10021653
movsx edx, cl
sub edx, 0x47
jmp 0x1002167b
cmp cl, 0x30
jl 0x10021665
cmp cl, 0x39
jg 0x10021665
movsx edx, cl
add edx, 4
jmp 0x1002167b
cmp cl, 0x2b
jne 0x10021671
mov edx, 0x3e
jmp 0x1002167b
cmp cl, 0x2f
jne 0x1002167b
mov edx, 0x3f
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x10021690
cmp bl, 0x5a
jg 0x10021690
movsx ecx, bl
sub ecx, 0x41
jmp 0x100216ca
cmp bl, 0x61
jl 0x100216a2
cmp bl, 0x7a
jg 0x100216a2
movsx ecx, bl
sub ecx, 0x47
jmp 0x100216ca
cmp bl, 0x30
jl 0x100216b4
cmp bl, 0x39
jg 0x100216b4
movsx ecx, bl
add ecx, 4
jmp 0x100216ca
cmp bl, 0x2b
jne 0x100216c0
mov ecx, 0x3e
jmp 0x100216ca
cmp bl, 0x2f
jne 0x100216ca
mov ecx, 0x3f
lea eax, [ecx*4]
sar eax, 2
shl dl, 6
or al, dl
mov byte [esi], al
inc esi
inc edi
mov eax, edi
pop edi
mov byte [esi], 0
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx], 0
pop ebx
add esp, 8
ret