Function at 0x1001a2e0
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 0x1001a30d
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1001a300
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 0x1001a596
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 0x1001a368
cmp bl, 0x5a
jg 0x1001a368
movsx edi, bl
sub edi, 0x41
jmp 0x1001a3a2
cmp bl, 0x61
jl 0x1001a37a
cmp bl, 0x7a
jg 0x1001a37a
movsx edi, bl
sub edi, 0x47
jmp 0x1001a3a2
cmp bl, 0x30
jl 0x1001a38c
cmp bl, 0x39
jg 0x1001a38c
movsx edi, bl
add edi, 4
jmp 0x1001a3a2
cmp bl, 0x2b
jne 0x1001a398
mov edi, 0x3e
jmp 0x1001a3a2
cmp bl, 0x2f
jne 0x1001a3a2
mov edi, 0x3f
mov ecx, ebx
shr ecx, 8
or edx, 0xffffffff
cmp cl, 0x41
jl 0x1001a3bc
cmp cl, 0x5a
jg 0x1001a3bc
movsx edx, cl
sub edx, 0x41
jmp 0x1001a3f6
cmp cl, 0x61
jl 0x1001a3ce
cmp cl, 0x7a
jg 0x1001a3ce
movsx edx, cl
sub edx, 0x47
jmp 0x1001a3f6
cmp cl, 0x30
jl 0x1001a3e0
cmp cl, 0x39
jg 0x1001a3e0
movsx edx, cl
add edx, 4
jmp 0x1001a3f6
cmp cl, 0x2b
jne 0x1001a3ec
mov edx, 0x3e
jmp 0x1001a3f6
cmp cl, 0x2f
jne 0x1001a3f6
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 0x1001a424
cmp cl, 0x5a
jg 0x1001a424
movsx edx, cl
sub edx, 0x41
jmp 0x1001a45e
cmp cl, 0x61
jl 0x1001a436
cmp cl, 0x7a
jg 0x1001a436
movsx edx, cl
sub edx, 0x47
jmp 0x1001a45e
cmp cl, 0x30
jl 0x1001a448
cmp cl, 0x39
jg 0x1001a448
movsx edx, cl
add edx, 4
jmp 0x1001a45e
cmp cl, 0x2b
jne 0x1001a454
mov edx, 0x3e
jmp 0x1001a45e
cmp cl, 0x2f
jne 0x1001a45e
mov edx, 0x3f
mov ecx, ebx
shr ecx, 0x10
or edi, 0xffffffff
cmp cl, 0x41
jl 0x1001a478
cmp cl, 0x5a
jg 0x1001a478
movsx edi, cl
sub edi, 0x41
jmp 0x1001a4b2
cmp cl, 0x61
jl 0x1001a48a
cmp cl, 0x7a
jg 0x1001a48a
movsx edi, cl
sub edi, 0x47
jmp 0x1001a4b2
cmp cl, 0x30
jl 0x1001a49c
cmp cl, 0x39
jg 0x1001a49c
movsx edi, cl
add edi, 4
jmp 0x1001a4b2
cmp cl, 0x2b
jne 0x1001a4a8
mov edi, 0x3e
jmp 0x1001a4b2
cmp cl, 0x2f
jne 0x1001a4b2
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 0x1001a4d8
cmp cl, 0x5a
jg 0x1001a4d8
movsx edx, cl
sub edx, 0x41
jmp 0x1001a512
cmp cl, 0x61
jl 0x1001a4ea
cmp cl, 0x7a
jg 0x1001a4ea
movsx edx, cl
sub edx, 0x47
jmp 0x1001a512
cmp cl, 0x30
jl 0x1001a4fc
cmp cl, 0x39
jg 0x1001a4fc
movsx edx, cl
add edx, 4
jmp 0x1001a512
cmp cl, 0x2b
jne 0x1001a508
mov edx, 0x3e
jmp 0x1001a512
cmp cl, 0x2f
jne 0x1001a512
mov edx, 0x3f
shr ebx, 0x18
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x1001a52a
cmp bl, 0x5a
jg 0x1001a52a
movsx ecx, bl
sub ecx, 0x41
jmp 0x1001a564
cmp bl, 0x61
jl 0x1001a53c
cmp bl, 0x7a
jg 0x1001a53c
movsx ecx, bl
sub ecx, 0x47
jmp 0x1001a564
cmp bl, 0x30
jl 0x1001a54e
cmp bl, 0x39
jg 0x1001a54e
movsx ecx, bl
add ecx, 4
jmp 0x1001a564
cmp bl, 0x2b
jne 0x1001a55a
mov ecx, 0x3e
jmp 0x1001a564
cmp bl, 0x2f
jne 0x1001a564
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 0x1001a350
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x1001a81a
sub ecx, eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x1001a5ca
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 0x1001a5dd
cmp al, 0x5a
jg 0x1001a5dd
movsx ebx, al
sub ebx, 0x41
jmp 0x1001a611
cmp al, 0x61
jl 0x1001a5ed
cmp al, 0x7a
jg 0x1001a5ed
movsx ebx, al
sub ebx, 0x47
jmp 0x1001a611
cmp al, 0x30
jl 0x1001a5fd
cmp al, 0x39
jg 0x1001a5fd
movsx ebx, al
add ebx, 4
jmp 0x1001a611
cmp al, 0x2b
jne 0x1001a608
mov ebx, 0x3e
jmp 0x1001a611
cmp al, 0x2f
jne 0x1001a611
mov ebx, 0x3f
mov ecx, eax
shr ecx, 8
or edx, 0xffffffff
cmp cl, 0x41
jl 0x1001a62b
cmp cl, 0x5a
jg 0x1001a62b
movsx edx, cl
sub edx, 0x41
jmp 0x1001a665
cmp cl, 0x61
jl 0x1001a63d
cmp cl, 0x7a
jg 0x1001a63d
movsx edx, cl
sub edx, 0x47
jmp 0x1001a665
cmp cl, 0x30
jl 0x1001a64f
cmp cl, 0x39
jg 0x1001a64f
movsx edx, cl
add edx, 4
jmp 0x1001a665
cmp cl, 0x2b
jne 0x1001a65b
mov edx, 0x3e
jmp 0x1001a665
cmp cl, 0x2f
jne 0x1001a665
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 0x1001a740
mov ebx, eax
shr ebx, 0x10
cmp bl, 0x3d
je 0x1001a740
or edx, 0xffffffff
cmp cl, 0x41
jl 0x1001a6a8
cmp cl, 0x5a
jg 0x1001a6a8
movsx edx, cl
sub edx, 0x41
jmp 0x1001a6e2
cmp cl, 0x61
jl 0x1001a6ba
cmp cl, 0x7a
jg 0x1001a6ba
movsx edx, cl
sub edx, 0x47
jmp 0x1001a6e2
cmp cl, 0x30
jl 0x1001a6cc
cmp cl, 0x39
jg 0x1001a6cc
movsx edx, cl
add edx, 4
jmp 0x1001a6e2
cmp cl, 0x2b
jne 0x1001a6d8
mov edx, 0x3e
jmp 0x1001a6e2
cmp cl, 0x2f
jne 0x1001a6e2
mov edx, 0x3f
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x1001a6f7
cmp bl, 0x5a
jg 0x1001a6f7
movsx ecx, bl
sub ecx, 0x41
jmp 0x1001a731
cmp bl, 0x61
jl 0x1001a709
cmp bl, 0x7a
jg 0x1001a709
movsx ecx, bl
sub ecx, 0x47
jmp 0x1001a731
cmp bl, 0x30
jl 0x1001a71b
cmp bl, 0x39
jg 0x1001a71b
movsx ecx, bl
add ecx, 4
jmp 0x1001a731
cmp bl, 0x2b
jne 0x1001a727
mov ecx, 0x3e
jmp 0x1001a731
cmp bl, 0x2f
jne 0x1001a731
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 0x1001a80d
mov ebx, eax
shr ebx, 0x18
cmp ebx, 0x3d
je 0x1001a80d
or edx, 0xffffffff
cmp cl, 0x41
jl 0x1001a771
cmp cl, 0x5a
jg 0x1001a771
movsx edx, cl
sub edx, 0x41
jmp 0x1001a7ab
cmp cl, 0x61
jl 0x1001a783
cmp cl, 0x7a
jg 0x1001a783
movsx edx, cl
sub edx, 0x47
jmp 0x1001a7ab
cmp cl, 0x30
jl 0x1001a795
cmp cl, 0x39
jg 0x1001a795
movsx edx, cl
add edx, 4
jmp 0x1001a7ab
cmp cl, 0x2b
jne 0x1001a7a1
mov edx, 0x3e
jmp 0x1001a7ab
cmp cl, 0x2f
jne 0x1001a7ab
mov edx, 0x3f
or ecx, 0xffffffff
cmp bl, 0x41
jl 0x1001a7c0
cmp bl, 0x5a
jg 0x1001a7c0
movsx ecx, bl
sub ecx, 0x41
jmp 0x1001a7fa
cmp bl, 0x61
jl 0x1001a7d2
cmp bl, 0x7a
jg 0x1001a7d2
movsx ecx, bl
sub ecx, 0x47
jmp 0x1001a7fa
cmp bl, 0x30
jl 0x1001a7e4
cmp bl, 0x39
jg 0x1001a7e4
movsx ecx, bl
add ecx, 4
jmp 0x1001a7fa
cmp bl, 0x2b
jne 0x1001a7f0
mov ecx, 0x3e
jmp 0x1001a7fa
cmp bl, 0x2f
jne 0x1001a7fa
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