Function at 0x100df810
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 0x100df835
mov edi, ebp
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x100df828
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 0x100dfa8d
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 0x100df886
movsx esi, dl
sub esi, 0x41
jmp 0x100df8b8
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100df896
movsx esi, dl
sub esi, 0x47
jmp 0x100df8b8
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100df8a6
movsx esi, dl
add esi, 4
jmp 0x100df8b8
cmp dl, 0x2b
jne 0x100df8b2
mov esi, 0x3e
jmp 0x100df8b8
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 0x100df8d4
movsx ebx, cl
sub ebx, 0x41
jmp 0x100df90b
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df8e4
movsx ebx, cl
sub ebx, 0x47
jmp 0x100df90b
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df8f4
movsx ebx, cl
add ebx, 4
jmp 0x100df90b
cmp cl, 0x2b
jne 0x100df900
mov ebx, 0x3e
jmp 0x100df90b
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 0x100df930
movsx esi, cl
sub esi, 0x41
jmp 0x100df967
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df940
movsx esi, cl
sub esi, 0x47
jmp 0x100df967
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df950
movsx esi, cl
add esi, 4
jmp 0x100df967
cmp cl, 0x2b
jne 0x100df95c
mov esi, 0x3e
jmp 0x100df967
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 0x100df981
movsx ebx, cl
sub ebx, 0x41
jmp 0x100df9b5
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df991
movsx ebx, cl
sub ebx, 0x47
jmp 0x100df9b5
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df9a1
movsx ebx, cl
add ebx, 4
jmp 0x100df9b5
cmp cl, 0x2b
jne 0x100df9ad
mov ebx, 0x3e
jmp 0x100df9b5
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 0x100df9d0
movsx ebx, cl
sub ebx, 0x41
jmp 0x100dfa04
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100df9e0
movsx ebx, cl
sub ebx, 0x47
jmp 0x100dfa04
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100df9ed
movsx ebx, cl
jmp 0x100dfa04
cmp cl, 0x2b
jne 0x100df9f9
mov ebx, 0x3e
jmp 0x100dfa04
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 0x100dfa1a
movsx ecx, dl
sub ecx, 0x41
jmp 0x100dfa51
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100dfa2a
movsx ecx, dl
sub ecx, 0x47
jmp 0x100dfa51
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100dfa3a
movsx ecx, dl
add ecx, 4
jmp 0x100dfa51
cmp dl, 0x2b
jne 0x100dfa46
mov ecx, 0x3e
jmp 0x100dfa51
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 0x100df870
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x2c]
cmp edx, edi
jge 0x100dfcf3
sub edi, edx
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x2c], ecx
test edi, edi
jle 0x100dfab6
mov al, byte [ebp]
lea ebp, [ebp + 1]
mov byte [esp + edx + 0x2c], al
inc edx
cmp edx, edi
jl 0x100dfaa3
mov ecx, dword [esp + 0x2c]
lea edx, [ecx - 0x41]
cmp dl, 0x19
jbe 0x100dfaec
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100dfacb
lea edx, [ecx - 0x47]
jmp 0x100dfaec
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100dfad8
lea edx, [ecx + 4]
jmp 0x100dfaec
cmp cl, 0x2b
jne 0x100dfae1
mov dl, 0x3e
jmp 0x100dfaec
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 0x100dfb0a
movsx eax, al
sub eax, 0x41
jmp 0x100dfb43
sub al, 0x61
cmp al, 0x19
mov eax, dword [esp + 0x2c]
ja 0x100dfb1c
movsx eax, al
sub eax, 0x47
jmp 0x100dfb43
sub al, 0x30
cmp al, 9
mov eax, dword [esp + 0x2c]
ja 0x100dfb2e
movsx eax, al
add eax, 4
jmp 0x100dfb43
cmp al, 0x2b
jne 0x100dfb39
mov eax, 0x3e
jmp 0x100dfb43
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 0x100dfc05
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x24], eax
cmp al, 0x3d
je 0x100dfc05
cmp bl, 0x19
jbe 0x100dfbac
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x100dfb87
lea ebx, [edx - 0x47]
jmp 0x100dfba8
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100dfb94
lea ebx, [edx + 4]
jmp 0x100dfba8
cmp dl, 0x2b
jne 0x100dfb9d
mov bl, 0x3e
jmp 0x100dfba8
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 0x100dfbc1
movsx edx, al
sub edx, 0x41
jmp 0x100dfbf9
sub al, 0x61
cmp al, 0x19
ja 0x100dfbd3
mov eax, dword [esp + 0x24]
movsx edx, al
sub edx, 0x47
jmp 0x100dfbf9
mov al, byte [esp + 0x24]
sub al, 0x30
cmp al, 9
mov eax, dword [esp + 0x24]
ja 0x100dfbe9
movsx edx, al
add edx, 4
jmp 0x100dfbf9
cmp al, 0x2b
jne 0x100dfbf4
mov edx, 0x3e
jmp 0x100dfbf9
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 0x100dfce4
shr ecx, 0x18
cmp ecx, 0x3d
je 0x100dfce4
lea edx, [ebx - 0x41]
cmp dl, 0x19
jbe 0x100dfc54
mov al, bl
sub al, 0x61
cmp al, 0x19
ja 0x100dfc34
lea edx, [ebx - 0x47]
jmp 0x100dfc54
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x100dfc40
mov dl, bl
jmp 0x100dfc54
cmp bl, 0x2b
jne 0x100dfc49
mov dl, 0x3e
jmp 0x100dfc54
or al, 0xff
cmp bl, 0x2f
movzx edx, al
cmove edx, edi
mov al, cl
sub al, 0x41
cmp al, 0x19
jbe 0x100dfccc
mov al, cl
sub al, 0x61
cmp al, 0x19
mov al, cl
ja 0x100dfc80
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 0x100dfca2
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 0x100dfcc1
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