Function at 0x50ae30
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0xc
push ebx
push ebp
xor ebx, ebx
push esi
push edi
cmp dword [esp + 0x24], ebx
jne 0x50ae51
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x50ae44
sub eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
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 + 0x18], ebx
jle 0x50b0d7
dec eax
shr eax, 2
inc eax
lea ecx, [eax + eax*2]
lea edx, [eax*4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edx
lea ecx, [ecx]
mov edx, dword [ebp]
or esi, 0xffffffff
cmp dl, 0x41
jl 0x50aea8
cmp dl, 0x5a
jg 0x50aea8
movsx esi, dl
sub esi, 0x41
jmp 0x50aee2
cmp dl, 0x61
jl 0x50aeba
cmp dl, 0x7a
jg 0x50aeba
movsx esi, dl
sub esi, 0x47
jmp 0x50aee2
cmp dl, 0x30
jl 0x50aecc
cmp dl, 0x39
jg 0x50aecc
movsx esi, dl
add esi, 4
jmp 0x50aee2
cmp dl, 0x2b
jne 0x50aed8
mov esi, 0x3e
jmp 0x50aee2
cmp dl, 0x2f
jne 0x50aee2
mov esi, 0x3f
mov eax, edx
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x50aefc
movsx ecx, al
sub ecx, 0x41
jmp 0x50af34
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50af0e
movsx ecx, al
sub ecx, 0x47
jmp 0x50af34
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50af20
movsx ecx, al
add ecx, 4
jmp 0x50af34
cmp al, 0x2b
jne 0x50af2b
mov ecx, 0x3e
jmp 0x50af34
cmp al, 0x2f
jne 0x50af34
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 0x50af62
movsx ecx, al
sub ecx, 0x41
jmp 0x50af9a
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50af74
movsx ecx, al
sub ecx, 0x47
jmp 0x50af9a
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50af86
movsx ecx, al
add ecx, 4
jmp 0x50af9a
cmp al, 0x2b
jne 0x50af91
mov ecx, 0x3e
jmp 0x50af9a
cmp al, 0x2f
jne 0x50af9a
mov ecx, 0x3f
mov eax, edx
shr eax, 0x10
mov bl, al
sub bl, 0x41
or esi, 0xffffffff
cmp bl, 0x19
ja 0x50afb4
movsx esi, al
sub esi, 0x41
jmp 0x50afec
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50afc6
movsx esi, al
sub esi, 0x47
jmp 0x50afec
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50afd8
movsx esi, al
add esi, 4
jmp 0x50afec
cmp al, 0x2b
jne 0x50afe3
mov esi, 0x3e
jmp 0x50afec
cmp al, 0x2f
jne 0x50afec
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 0x50b013
movsx ecx, al
sub ecx, 0x41
jmp 0x50b04b
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50b025
movsx ecx, al
sub ecx, 0x47
jmp 0x50b04b
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50b037
movsx ecx, al
add ecx, 4
jmp 0x50b04b
cmp al, 0x2b
jne 0x50b042
mov ecx, 0x3e
jmp 0x50b04b
cmp al, 0x2f
jne 0x50b04b
mov ecx, 0x3f
shr edx, 0x18
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x50b063
movsx eax, dl
sub eax, 0x41
jmp 0x50b09d
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x50b075
movsx eax, dl
sub eax, 0x47
jmp 0x50b09d
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x50b087
movsx eax, dl
add eax, 4
jmp 0x50b09d
cmp dl, 0x2b
jne 0x50b093
mov eax, 0x3e
jmp 0x50b09d
cmp dl, 0x2f
jne 0x50b09d
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 + 0x14], 1
mov dword [esp + 0x20], eax
jne 0x50ae90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x50b355
sub ecx, eax
xor eax, eax
mov dword [esp + 0x24], eax
test ecx, ecx
jle 0x50b106
push ecx
lea eax, [esp + 0x28]
push ebp
push eax
call fcn.00543950
mov eax, dword [esp + 0x30]
add esp, 0xc
or edx, 0xffffffff
cmp al, 0x41
jl 0x50b119
cmp al, 0x5a
jg 0x50b119
movsx edx, al
sub edx, 0x41
jmp 0x50b14d
cmp al, 0x61
jl 0x50b129
cmp al, 0x7a
jg 0x50b129
movsx edx, al
sub edx, 0x47
jmp 0x50b14d
cmp al, 0x30
jl 0x50b139
cmp al, 0x39
jg 0x50b139
movsx edx, al
add edx, 4
jmp 0x50b14d
cmp al, 0x2b
jne 0x50b144
mov edx, 0x3e
jmp 0x50b14d
cmp al, 0x2f
jne 0x50b14d
mov edx, 0x3f
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x50b165
movsx ecx, al
sub ecx, 0x41
jmp 0x50b19d
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50b177
movsx ecx, al
sub ecx, 0x47
jmp 0x50b19d
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50b189
movsx ecx, al
add ecx, 4
jmp 0x50b19d
cmp al, 0x2b
jne 0x50b194
mov ecx, 0x3e
jmp 0x50b19d
cmp al, 0x2f
jne 0x50b19d
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 0x50b27f
mov edx, esi
shr edx, 0x10
cmp dl, 0x3d
je 0x50b27f
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x50b1e5
movsx ecx, al
sub ecx, 0x41
jmp 0x50b21d
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50b1f7
movsx ecx, al
sub ecx, 0x47
jmp 0x50b21d
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50b209
movsx ecx, al
add ecx, 4
jmp 0x50b21d
cmp al, 0x2b
jne 0x50b214
mov ecx, 0x3e
jmp 0x50b21d
cmp al, 0x2f
jne 0x50b21d
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x50b232
movsx eax, dl
sub eax, 0x41
jmp 0x50b26c
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x50b244
movsx eax, dl
sub eax, 0x47
jmp 0x50b26c
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x50b256
movsx eax, dl
add eax, 4
jmp 0x50b26c
cmp dl, 0x2b
jne 0x50b262
mov eax, 0x3e
jmp 0x50b26c
cmp dl, 0x2f
jne 0x50b26c
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 0x50b346
mov edx, esi
shr edx, 0x18
cmp edx, 0x3d
je 0x50b346
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x50b2af
movsx ecx, al
sub ecx, 0x41
jmp 0x50b2e7
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x50b2c1
movsx ecx, al
sub ecx, 0x47
jmp 0x50b2e7
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x50b2d3
movsx ecx, al
add ecx, 4
jmp 0x50b2e7
cmp al, 0x2b
jne 0x50b2de
mov ecx, 0x3e
jmp 0x50b2e7
cmp al, 0x2f
jne 0x50b2e7
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x50b2fc
movsx eax, dl
sub eax, 0x41
jmp 0x50b336
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x50b30e
movsx eax, dl
sub eax, 0x47
jmp 0x50b336
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x50b320
movsx eax, dl
add eax, 4
jmp 0x50b336
cmp dl, 0x2b
jne 0x50b32c
mov eax, 0x3e
jmp 0x50b336
cmp dl, 0x2f
jne 0x50b336
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, 0xc
ret 8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx], 0
pop ebx
add esp, 0xc
ret 8