Function at 0x10023320
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp byte [ebp + 0xc], 0
mov eax, ecx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov dword [eax], 0
mov dword [eax + 4], esi
jne 0x100236d4
push edi
mov edi, dword [0x101bdaed]
push 0x101068a8
call edi
mov eax, dword [ebp - 4]
cmp dword [eax], 0
jne 0x100236ca
push ebx
mov ebx, esi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10023362
sub ebx, ecx
mov dword [ebp + 0xc], ebx
je 0x100236c9
push ebx
call fcn.100e13ce
mov ecx, dword [ebp - 4]
add esp, 4
mov dword [ecx], eax
test eax, eax
je 0x100236c9
push ebx
push 0
push eax
call fcn.100cede0
push esi
call fcn.10023bd0
mov ecx, dword [ebp - 4]
add esp, 0x10
mov ebx, dword [ecx]
mov dword [ebp - 8], ebx
cmp eax, 0xffffffff
je 0x10023544
mov eax, dword [ebp + 0xc]
push 0x10106898
mov dword [ebp + 8], eax
call edi
test ebx, ebx
je 0x100236be
test esi, esi
je 0x100236be
push esi
call fcn.10023bd0
add esp, 4
cmp eax, 0xffffffff
je 0x100233e6
mov eax, dword [ebp + 0xc]
add esi, 3
add eax, 0xfffffffd
mov dword [ebp + 8], eax
jmp 0x100233e9
mov eax, dword [ebp + 8]
xor edi, edi
test al, 3
jne 0x100236c0
test eax, eax
jle 0x100236b6
add esi, 2
nop
mov cl, byte [esi - 2]
lea ebx, [ecx - 0x30]
cmp bl, 9
jbe 0x10023439
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x10023418
lea ebx, [ecx - 0x37]
jmp 0x10023439
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x10023425
lea ebx, [ecx - 0x3d]
jmp 0x10023439
cmp cl, 0x2b
je 0x10023437
cmp cl, 0x2f
je 0x10023433
xor bl, bl
jmp 0x10023439
mov bl, 0x3f
jmp 0x10023439
mov bl, 0x3e
mov cl, byte [esi - 1]
lea edx, [ecx - 0x30]
cmp dl, 9
jbe 0x10023472
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x10023451
lea edx, [ecx - 0x37]
jmp 0x10023472
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x1002345e
lea edx, [ecx - 0x3d]
jmp 0x10023472
cmp cl, 0x2b
je 0x10023470
cmp cl, 0x2f
je 0x1002346c
xor dl, dl
jmp 0x10023472
mov dl, 0x3f
jmp 0x10023472
mov dl, 0x3e
mov ah, byte [esi]
mov cl, ah
sub cl, 0x30
cmp cl, 9
jbe 0x100234b0
mov al, ah
sub al, 0x41
cmp al, 0x19
ja 0x1002348d
mov cl, ah
sub cl, 0x37
jmp 0x100234b0
mov al, ah
sub al, 0x61
cmp al, 0x19
ja 0x1002349c
mov cl, ah
sub cl, 0x3d
jmp 0x100234b0
cmp ah, 0x2b
je 0x100234ae
cmp ah, 0x2f
je 0x100234aa
xor cl, cl
jmp 0x100234b0
mov cl, 0x3f
jmp 0x100234b0
mov cl, 0x3e
mov ch, byte [esi + 1]
mov ah, ch
sub ah, 0x30
cmp ah, 9
jbe 0x100234ef
mov al, ch
sub al, 0x41
cmp al, 0x19
ja 0x100234cc
mov ah, ch
sub ah, 0x37
jmp 0x100234ef
mov al, ch
sub al, 0x61
cmp al, 0x19
ja 0x100234db
mov ah, ch
sub ah, 0x3d
jmp 0x100234ef
cmp ch, 0x2b
je 0x100234ed
cmp ch, 0x2f
je 0x100234e9
xor ah, ah
jmp 0x100234ef
mov ah, 0x3f
jmp 0x100234ef
mov ah, 0x3e
mov al, dl
shl bl, 2
shr al, 4
add edi, 3
or al, bl
shl dl, 4
mov ebx, dword [ebp - 8]
add esi, 4
mov byte [ebx], al
mov al, cl
shr al, 2
or al, dl
shl cl, 6
or cl, ah
mov byte [ebx + 1], al
mov eax, dword [ebp + 8]
mov byte [ebx + 2], cl
sub eax, 4
add ebx, 3
mov dword [ebp + 8], eax
mov dword [ebp - 8], ebx
cmp edi, dword [ebp + 0xc]
jae 0x100236b6
test eax, eax
jg 0x10023400
nop
nop
nop
nop
nop
nop
jmp 0x100236c0
push 0x10106868
call edi
test ebx, ebx
je 0x100236be
test esi, esi
je 0x100236be
mov eax, dword [ebp + 0xc]
test al, 3
jne 0x100236be
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x100236b6
add esi, 2
mov cl, byte [esi - 2]
lea ebx, [ecx - 0x41]
cmp bl, 0x19
jbe 0x100235af
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x1002358e
lea ebx, [ecx - 0x47]
jmp 0x100235af
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x1002359b
lea ebx, [ecx + 4]
jmp 0x100235af
cmp cl, 0x2b
je 0x100235ad
cmp cl, 0x2f
je 0x100235a9
xor bl, bl
jmp 0x100235af
mov bl, 0x3f
jmp 0x100235af
mov bl, 0x3e
mov cl, byte [esi - 1]
lea edx, [ecx - 0x41]
cmp dl, 0x19
jbe 0x100235e8
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x100235c7
lea edx, [ecx - 0x47]
jmp 0x100235e8
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100235d4
lea edx, [ecx + 4]
jmp 0x100235e8
cmp cl, 0x2b
je 0x100235e6
cmp cl, 0x2f
je 0x100235e2
xor dl, dl
jmp 0x100235e8
mov dl, 0x3f
jmp 0x100235e8
mov dl, 0x3e
mov ah, byte [esi]
mov cl, ah
sub cl, 0x41
cmp cl, 0x19
jbe 0x10023626
mov al, ah
sub al, 0x61
cmp al, 0x19
ja 0x10023603
mov cl, ah
sub cl, 0x47
jmp 0x10023626
mov al, ah
sub al, 0x30
cmp al, 9
ja 0x10023612
mov cl, ah
add cl, 4
jmp 0x10023626
cmp ah, 0x2b
je 0x10023624
cmp ah, 0x2f
je 0x10023620
xor cl, cl
jmp 0x10023626
mov cl, 0x3f
jmp 0x10023626
mov cl, 0x3e
mov ch, byte [esi + 1]
mov ah, ch
sub ah, 0x41
cmp ah, 0x19
jbe 0x10023665
mov al, ch
sub al, 0x61
cmp al, 0x19
ja 0x10023642
mov ah, ch
sub ah, 0x47
jmp 0x10023665
mov al, ch
sub al, 0x30
cmp al, 9
ja 0x10023651
mov ah, ch
add ah, 4
jmp 0x10023665
cmp ch, 0x2b
je 0x10023663
cmp ch, 0x2f
je 0x1002365f
xor ah, ah
jmp 0x10023665
mov ah, 0x3f
jmp 0x10023665
mov ah, 0x3e
mov al, dl
shl bl, 2
shr al, 4
inc edi
or al, bl
shl dl, 4
mov ebx, dword [ebp - 8]
mov byte [ebx], al
mov al, cl
shr al, 2
or al, dl
mov byte [ebx + 1], al
cmp byte [esi], 0x3d
je 0x100236b6
shl cl, 6
inc edi
or cl, ah
mov byte [ebx + 2], cl
add ebx, 3
cmp byte [esi + 1], 0x3d
mov dword [ebp - 8], ebx
je 0x100236b6
mov eax, dword [ebp + 8]
inc edi
sub eax, 4
add esi, 4
mov dword [ebp + 8], eax
cmp edi, dword [ebp + 0xc]
jae 0x100236b6
test eax, eax
jg 0x10023576
nop
nop
nop
nop
nop
nop
jmp 0x100236c0
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov byte [edi + eax], 0
pop ebx
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8