Function at 0x10001200
Capabilities:
Encode data using base64

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 8
push ebx
push ebp
xor ebx, ebx
push esi
push edi
cmp dword [esp + 0x24], ebx
jne 0x10001225
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x10001218
sub eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffffc
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov ebp, ecx
mov dword [esp + 0x14], ebx
jle 0x100014a8
dec eax
shr eax, 2
inc eax
lea ecx, [eax + eax*2]
lea edx, [eax*4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edx, dword [ebp]
or esi, 0xffffffff
cmp dl, 0x41
jl 0x10001279
cmp dl, 0x5a
jg 0x10001279
movsx esi, dl
sub esi, 0x41
jmp 0x100012b3
cmp dl, 0x61
jl 0x1000128b
cmp dl, 0x7a
jg 0x1000128b
movsx esi, dl
sub esi, 0x47
jmp 0x100012b3
cmp dl, 0x30
jl 0x1000129d
cmp dl, 0x39
jg 0x1000129d
movsx esi, dl
add esi, 4
jmp 0x100012b3
cmp dl, 0x2b
jne 0x100012a9
mov esi, 0x3e
jmp 0x100012b3
cmp dl, 0x2f
jne 0x100012b3
mov esi, 0x3f
mov eax, edx
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x100012cd
movsx ecx, al
sub ecx, 0x41
jmp 0x10001305
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x100012df
movsx ecx, al
sub ecx, 0x47
jmp 0x10001305
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x100012f1
movsx ecx, al
add ecx, 4
jmp 0x10001305
cmp al, 0x2b
jne 0x100012fc
mov ecx, 0x3e
jmp 0x10001305
cmp al, 0x2f
jne 0x10001305
mov ecx, 0x3f
lea edi, [ecx*4]
sar edi, 6
lea ecx, [esi*4]
or edi, ecx
mov bl, al
sub bl, 0x41
and edi, 0xff
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x10001333
movsx ecx, al
sub ecx, 0x41
jmp 0x1000136b
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x10001345
movsx ecx, al
sub ecx, 0x47
jmp 0x1000136b
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x10001357
movsx ecx, al
add ecx, 4
jmp 0x1000136b
cmp al, 0x2b
jne 0x10001362
mov ecx, 0x3e
jmp 0x1000136b
cmp al, 0x2f
jne 0x1000136b
mov ecx, 0x3f
mov eax, edx
shr eax, 0x10
mov bl, al
sub bl, 0x41
or esi, 0xffffffff
cmp bl, 0x19
ja 0x10001385
movsx esi, al
sub esi, 0x41
jmp 0x100013bd
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x10001397
movsx esi, al
sub esi, 0x47
jmp 0x100013bd
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x100013a9
movsx esi, al
add esi, 4
jmp 0x100013bd
cmp al, 0x2b
jne 0x100013b4
mov esi, 0x3e
jmp 0x100013bd
cmp al, 0x2f
jne 0x100013bd
mov esi, 0x3f
add esi, esi
add esi, esi
sar esi, 4
shl ecx, 4
or esi, ecx
mov bl, al
sub bl, 0x41
and esi, 0xff
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x100013e4
movsx ecx, al
sub ecx, 0x41
jmp 0x1000141c
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x100013f6
movsx ecx, al
sub ecx, 0x47
jmp 0x1000141c
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x10001408
movsx ecx, al
add ecx, 4
jmp 0x1000141c
cmp al, 0x2b
jne 0x10001413
mov ecx, 0x3e
jmp 0x1000141c
cmp al, 0x2f
jne 0x1000141c
mov ecx, 0x3f
shr edx, 0x18
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x10001434
movsx eax, dl
sub eax, 0x41
jmp 0x1000146e
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x10001446
movsx eax, dl
sub eax, 0x47
jmp 0x1000146e
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x10001458
movsx eax, dl
add eax, 4
jmp 0x1000146e
cmp dl, 0x2b
jne 0x10001464
mov eax, 0x3e
jmp 0x1000146e
cmp dl, 0x2f
jne 0x1000146e
mov eax, 0x3f
lea edx, [eax*4]
mov eax, dword [esp + 0x20]
sar edx, 2
shl ecx, 6
or edx, ecx
and edx, 0xff
shl edx, 8
or edx, esi
shl edx, 8
or edx, edi
mov dword [eax], edx
add eax, 3
add ebp, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
jne 0x10001261
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x10001724
sub ecx, eax
xor eax, eax
mov dword [esp + 0x24], eax
test ecx, ecx
jle 0x100014d7
push ecx
lea eax, [esp + 0x28]
push ebp
push eax
call fcn.1000b5e0
mov eax, dword [esp + 0x30]
add esp, 0xc
or edx, 0xffffffff
cmp al, 0x41
jl 0x100014ea
cmp al, 0x5a
jg 0x100014ea
movsx edx, al
sub edx, 0x41
jmp 0x1000151e
cmp al, 0x61
jl 0x100014fa
cmp al, 0x7a
jg 0x100014fa
movsx edx, al
sub edx, 0x47
jmp 0x1000151e
cmp al, 0x30
jl 0x1000150a
cmp al, 0x39
jg 0x1000150a
movsx edx, al
add edx, 4
jmp 0x1000151e
cmp al, 0x2b
jne 0x10001515
mov edx, 0x3e
jmp 0x1000151e
cmp al, 0x2f
jne 0x1000151e
mov edx, 0x3f
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x10001536
movsx ecx, al
sub ecx, 0x41
jmp 0x1000156e
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x10001548
movsx ecx, al
sub ecx, 0x47
jmp 0x1000156e
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x1000155a
movsx ecx, al
add ecx, 4
jmp 0x1000156e
cmp al, 0x2b
jne 0x10001565
mov ecx, 0x3e
jmp 0x1000156e
cmp al, 0x2f
jne 0x1000156e
mov ecx, 0x3f
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
add ecx, ecx
add ecx, ecx
add dl, dl
sar ecx, 6
add dl, dl
or cl, dl
mov byte [edi], cl
inc edi
inc ebp
cmp al, 0x3d
je 0x10001650
mov edx, esi
shr edx, 0x10
cmp dl, 0x3d
je 0x10001650
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x100015b6
movsx ecx, al
sub ecx, 0x41
jmp 0x100015ee
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x100015c8
movsx ecx, al
sub ecx, 0x47
jmp 0x100015ee
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x100015da
movsx ecx, al
add ecx, 4
jmp 0x100015ee
cmp al, 0x2b
jne 0x100015e5
mov ecx, 0x3e
jmp 0x100015ee
cmp al, 0x2f
jne 0x100015ee
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x10001603
movsx eax, dl
sub eax, 0x41
jmp 0x1000163d
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x10001615
movsx eax, dl
sub eax, 0x47
jmp 0x1000163d
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x10001627
movsx eax, dl
add eax, 4
jmp 0x1000163d
cmp dl, 0x2b
jne 0x10001633
mov eax, 0x3e
jmp 0x1000163d
cmp dl, 0x2f
jne 0x1000163d
mov eax, 0x3f
lea edx, [eax*4]
sar edx, 4
shl cl, 4
or dl, cl
mov byte [edi], dl
inc edi
inc ebp
mov eax, esi
shr eax, 0x10
cmp al, 0x3d
je 0x10001717
mov edx, esi
shr edx, 0x18
cmp edx, 0x3d
je 0x10001717
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x10001680
movsx ecx, al
sub ecx, 0x41
jmp 0x100016b8
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x10001692
movsx ecx, al
sub ecx, 0x47
jmp 0x100016b8
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x100016a4
movsx ecx, al
add ecx, 4
jmp 0x100016b8
cmp al, 0x2b
jne 0x100016af
mov ecx, 0x3e
jmp 0x100016b8
cmp al, 0x2f
jne 0x100016b8
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x100016cd
movsx eax, dl
sub eax, 0x41
jmp 0x10001707
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x100016df
movsx eax, dl
sub eax, 0x47
jmp 0x10001707
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x100016f1
movsx eax, dl
add eax, 4
jmp 0x10001707
cmp dl, 0x2b
jne 0x100016fd
mov eax, 0x3e
jmp 0x10001707
cmp dl, 0x2f
jne 0x10001707
mov eax, 0x3f
add eax, eax
add eax, eax
sar eax, 2
shl cl, 6
or al, cl
mov byte [edi], al
inc edi
inc ebp
mov byte [edi], 0
pop edi
pop esi
mov eax, ebp
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