Function at 0x100defd0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x10
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push esi
push edi
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x100deff5
mov edi, ebp
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x100defe8
sub edi, ecx
mov dword [esp + 0x2c], edi
xor ecx, ecx
lea eax, [edi - 4]
xor edx, edx
mov dword [esp + 0x28], ecx
mov ebx, 0x3f
mov dword [esp + 0x14], ebx
test eax, eax
jle 0x100df24d
mov edi, dword [esp + 0x24]
lea ecx, [eax - 1]
shr ecx, 2
inc ecx
mov dword [esp + 0x10], ecx
lea eax, [ecx + ecx*2]
shl ecx, 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
nop
mov edx, dword [ebp]
or esi, 0xffffffff
mov al, dl
sub al, 0x41
cmp al, 0x19
ja 0x100df046
movsx esi, dl
sub esi, 0x41
jmp 0x100df078
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100df056
movsx esi, dl
sub esi, 0x47
jmp 0x100df078
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100df066
movsx esi, dl
add esi, 4
jmp 0x100df078
cmp dl, 0x2b
jne 0x100df072
mov esi, 0x3e
jmp 0x100df078
cmp dl, 0x2f
cmove esi, ebx
mov ecx, edx
or ebx, 0xffffffff
shr ecx, 8
mov al, cl
sub al, 0x41
mov byte [esp + 0x24], al
cmp al, 0x19
ja 0x100df094
movsx ebx, cl
sub ebx, 0x41
jmp 0x100df0cb
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df0a4
movsx ebx, cl
sub ebx, 0x47
jmp 0x100df0cb
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df0b4
movsx ebx, cl
add ebx, 4
jmp 0x100df0cb
cmp cl, 0x2b
jne 0x100df0c0
mov ebx, 0x3e
jmp 0x100df0cb
cmp cl, 0x2f
mov eax, 0x3f
cmove ebx, eax
lea eax, [esi*4]
sar ebx, 4
or ebx, eax
or esi, 0xffffffff
cmp byte [esp + 0x24], 0x19
movzx eax, bl
mov dword [esp + 0x18], eax
ja 0x100df0f0
movsx esi, cl
sub esi, 0x41
jmp 0x100df127
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df100
movsx esi, cl
sub esi, 0x47
jmp 0x100df127
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df110
movsx esi, cl
add esi, 4
jmp 0x100df127
cmp cl, 0x2b
jne 0x100df11c
mov esi, 0x3e
jmp 0x100df127
cmp cl, 0x2f
mov eax, 0x3f
cmove esi, eax
mov ecx, edx
or ebx, 0xffffffff
shr ecx, 0x10
mov ah, cl
sub ah, 0x41
cmp ah, 0x19
ja 0x100df141
movsx ebx, cl
sub ebx, 0x41
jmp 0x100df175
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df151
movsx ebx, cl
sub ebx, 0x47
jmp 0x100df175
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df161
movsx ebx, cl
add ebx, 4
jmp 0x100df175
cmp cl, 0x2b
jne 0x100df16d
mov ebx, 0x3e
jmp 0x100df175
cmp cl, 0x2f
cmove ebx, dword [esp + 0x14]
sar ebx, 2
shl esi, 4
or ebx, esi
movzx esi, bl
or ebx, 0xffffffff
cmp ah, 0x19
ja 0x100df190
movsx ebx, cl
sub ebx, 0x41
jmp 0x100df1c4
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df1a0
movsx ebx, cl
sub ebx, 0x47
jmp 0x100df1c4
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df1ad
movsx ebx, cl
jmp 0x100df1c4
cmp cl, 0x2b
jne 0x100df1b9
mov ebx, 0x3e
jmp 0x100df1c4
cmp cl, 0x2f
mov eax, 0x3f
cmove ebx, eax
shr edx, 0x18
or ecx, 0xffffffff
mov al, dl
sub al, 0x41
cmp al, 0x19
ja 0x100df1da
movsx ecx, dl
sub ecx, 0x41
jmp 0x100df211
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100df1ea
movsx ecx, dl
sub ecx, 0x47
jmp 0x100df211
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100df1fa
movsx ecx, dl
add ecx, 4
jmp 0x100df211
cmp dl, 0x2b
jne 0x100df206
mov ecx, 0x3e
jmp 0x100df211
cmp dl, 0x2f
mov eax, 0x3f
cmove ecx, eax
shl ebx, 6
add ebp, 4
or ebx, ecx
movzx eax, bl
mov ebx, 0x3f
shl eax, 8
or eax, esi
shl eax, 8
or eax, dword [esp + 0x18]
mov dword [edi], eax
add edi, 3
sub dword [esp + 0x10], 1
jne 0x100df030
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x2c]
cmp edx, edi
jge 0x100df4b3
sub edi, edx
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x2c], ecx
test edi, edi
jle 0x100df276
mov al, byte [ebp]
lea ebp, [ebp + 1]
mov byte [esp + edx + 0x2c], al
inc edx
cmp edx, edi
jl 0x100df263
mov ecx, dword [esp + 0x2c]
lea edx, [ecx - 0x41]
cmp dl, 0x19
jbe 0x100df2ac
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df28b
lea edx, [ecx - 0x47]
jmp 0x100df2ac
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df298
lea edx, [ecx + 4]
jmp 0x100df2ac
cmp cl, 0x2b
jne 0x100df2a1
mov dl, 0x3e
jmp 0x100df2ac
or al, 0xff
cmp cl, 0x2f
movzx edx, al
cmove edx, ebx
mov eax, ecx
mov edi, 0x3f
shr eax, 8
mov dword [esp + 0x2c], eax
lea ebx, [eax - 0x41]
cmp bl, 0x19
ja 0x100df2ca
movsx eax, al
sub eax, 0x41
jmp 0x100df303
sub al, 0x61
cmp al, 0x19
mov eax, dword [esp + 0x2c]
ja 0x100df2dc
movsx eax, al
sub eax, 0x47
jmp 0x100df303
sub al, 0x30
cmp al, 9
mov eax, dword [esp + 0x2c]
ja 0x100df2ee
movsx eax, al
add eax, 4
jmp 0x100df303
cmp al, 0x2b
jne 0x100df2f9
mov eax, 0x3e
jmp 0x100df303
cmp al, 0x2f
mov eax, 0xffffffff
cmove eax, edi
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
shl dl, 2
inc ebp
sar eax, 4
or al, dl
mov edx, dword [esp + 0x2c]
mov byte [esi], al
inc esi
cmp dl, 0x3d
je 0x100df3c5
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x24], eax
cmp al, 0x3d
je 0x100df3c5
cmp bl, 0x19
jbe 0x100df36c
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100df347
lea ebx, [edx - 0x47]
jmp 0x100df368
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100df354
lea ebx, [edx + 4]
jmp 0x100df368
cmp dl, 0x2b
jne 0x100df35d
mov bl, 0x3e
jmp 0x100df368
or al, 0xff
cmp dl, 0x2f
movzx ebx, al
cmove ebx, edi
mov eax, dword [esp + 0x24]
sub al, 0x41
or edx, 0xffffffff
cmp al, 0x19
mov eax, dword [esp + 0x24]
ja 0x100df381
movsx edx, al
sub edx, 0x41
jmp 0x100df3b9
sub al, 0x61
cmp al, 0x19
ja 0x100df393
mov eax, dword [esp + 0x24]
movsx edx, al
sub edx, 0x47
jmp 0x100df3b9
mov al, byte [esp + 0x24]
sub al, 0x30
cmp al, 9
mov eax, dword [esp + 0x24]
ja 0x100df3a9
movsx edx, al
add edx, 4
jmp 0x100df3b9
cmp al, 0x2b
jne 0x100df3b4
mov edx, 0x3e
jmp 0x100df3b9
cmp al, 0x2f
cmove edx, edi
sar edx, 2
shl bl, 4
or dl, bl
mov byte [esi], dl
inc esi
inc ebp
mov ebx, ecx
shr ebx, 0x10
cmp bl, 0x3d
je 0x100df4a4
shr ecx, 0x18
cmp ecx, 0x3d
je 0x100df4a4
lea edx, [ebx - 0x41]
cmp dl, 0x19
jbe 0x100df414
mov al, bl
sub al, 0x61
cmp al, 0x19
ja 0x100df3f4
lea edx, [ebx - 0x47]
jmp 0x100df414
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x100df400
mov dl, bl
jmp 0x100df414
cmp bl, 0x2b
jne 0x100df409
mov dl, 0x3e
jmp 0x100df414
or al, 0xff
cmp bl, 0x2f
movzx edx, al
cmove edx, edi
mov al, cl
sub al, 0x41
cmp al, 0x19
jbe 0x100df48c
mov al, cl
sub al, 0x61
cmp al, 0x19
mov al, cl
ja 0x100df440
sub al, 0x47
shl dl, 6
or dl, al
lea eax, [ebp + 1]
pop edi
mov byte [esi], dl
mov byte [esi + 1], 0
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
sub al, 0x30
cmp al, 9
ja 0x100df462
mov al, cl
shl dl, 6
add al, 4
or dl, al
lea eax, [ebp + 1]
pop edi
mov byte [esi], dl
mov byte [esi + 1], 0
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
cmp cl, 0x2b
jne 0x100df481
mov al, 0x3e
shl dl, 6
or dl, al
lea eax, [ebp + 1]
pop edi
mov byte [esi], dl
mov byte [esi + 1], 0
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
or al, 0xff
cmp cl, 0x2f
movzx eax, al
cmove eax, edi
shl dl, 6
or dl, al
lea eax, [ebp + 1]
pop edi
mov byte [esi], dl
mov byte [esi + 1], 0
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
pop edi
mov byte [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
mov esi, dword [esp + 0x24]
mov eax, ecx
pop edi
mov byte [esi], 0
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc