Function at 0x4b4820
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x618276
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
mov al, byte [ebp + 0xb]
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
xor edi, edi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x30], esi
mov byte [ebp - 0x2c], al
call fcn.00404140
mov ebx, dword [ebp + 8]
cmp ebx, edi
setne al
mov dword [ebp - 4], edi
mov byte [ebp - 0x11], al
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x18], edi
test al, al
mov byte [ebp - 4], 1
jne 0x4b4703
mov ecx, dword [0x67db18]
lea edx, [ecx + 0x1e577]
or ecx, 0xffffffff
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.004041a0
push 0x65d9e0
call fcn.00606a40
push 8
mov byte [ebp - 4], 2
call fcn.00604401
add esp, 8
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 3
je 0x4b46bd
mov edx, dword [ebp - 0x28]
test edx, edx
jne 0x4b46ac
mov edx, 0x6264b0
push 0x65d9dc
push edx
mov ecx, eax
call fcn.004cc840
mov ebx, eax
jmp 0x4b46bf
xor ebx, ebx
test ebx, ebx
setne al
test ebx, ebx
je 0x4b46cd
mov byte [ebp - 0x1c], al
jmp 0x4b46d5
test al, al
je 0x4b46d5
mov byte [ebp - 0x1c], 1
push 0x65b498
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 1
call fcn.00606a40
add esp, 4
test ebx, ebx
jne 0x4b4700
jmp 0x4b47f3
mov edi, dword [ebp - 0x18]
mov edx, dword [ebx]
push 8
push esi
mov ecx, ebx
call dword [edx + 4]
cmp eax, 8
jae 0x4b4736
mov al, byte [ebp - 0x1c]
test al, al
mov byte [ebp - 4], 0
je 0x4b47f3
test edi, edi
je 0x4b47f3
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
jmp 0x4b47f3
mov edx, dword [ebx]
push 4
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call dword [edx + 4]
mov eax, dword [ebp + 8]
cmp eax, 0x19
mov dword [esi + 8], eax
jge 0x4b476c
cmp eax, 0x10
je 0x4b476c
mov al, byte [ebp - 0x1c]
test al, al
mov byte [ebp - 4], 0
je 0x4b47f3
test edi, edi
je 0x4b47f3
jmp 0x4b47eb
mov eax, dword [ebx]
push 0x20
lea ecx, [ebp - 0x54]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov edx, dword [esi + 8]
push edx
push ebx
lea ecx, [esi + 0xc]
call fcn.004bc270
test eax, eax
jge 0x4b47c8
mov al, byte [ebp - 0x1c]
test al, al
mov byte [ebp - 4], 0
je 0x4b47a1
test edi, edi
je 0x4b47a1
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
push 1
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.00404140
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 8]
push ecx
push ebx
lea ecx, [esi + 0x300]
call fcn.004b5fc0
test eax, eax
jge 0x4b481a
mov al, byte [ebp - 0x1c]
test al, al
mov byte [ebp - 4], 0
je 0x4b47f3
test edi, edi
je 0x4b47f3
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
push 1
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.00404140
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx]
push 2
lea ecx, [ebp + 0xa]
push ecx
mov ecx, ebx
call dword [eax + 4]
cmp word [ebp + 0xa], 0
setne al
test al, al
mov byte [esi + 0x4cc], al
je 0x4b4849
mov edx, dword [esi + 8]
push edx
push ebx
lea ecx, [esi + 0x4d0]
call fcn.004841e0
mov eax, dword [ebx]
push 0x15f
lea ecx, [ebp - 0x1b4]
push ecx
mov ecx, ebx
call dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
lea edi, [ebp - 0x1b4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea edx, [esi + 0x544]
push 1
push edi
mov ecx, edx
mov dword [ebp + 8], edx
mov dword [ebp - 0x34], edi
call fcn.00404880
test al, al
je 0x4b48ba
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x30]
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
lea esi, [ebp - 0x1b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
push ecx
lea ecx, [edx + 0x544]
call fcn.00404860
mov esi, dword [ebp - 0x30]
mov eax, dword [ebx]
push 2
lea ecx, [ebp + 0xa]
push ecx
mov ecx, ebx
call dword [eax + 4]
movsx edx, word [ebp + 0xa]
push 1
lea ecx, [ebp + 0xb]
mov dword [esi + 0x554], edx
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 4]
movsx edx, byte [ebp + 0xb]
push 8
lea ecx, [esi + 0x55c]
mov dword [esi + 0x558], edx
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov edx, dword [ebx]
push 0x20
lea eax, [esi + 0x564]
push eax
mov ecx, ebx
call dword [edx + 4]
mov edx, dword [ebx]
push 4
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call dword [edx + 4]
mov al, byte [ebp - 0x11]
test al, al
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov dword [esi + 0x584], ecx
jne 0x4b4956
test edx, edx
mov edi, 0x6264b0
je 0x4b4933
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
lea ebx, [esi + 0x339]
mov esi, edi
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x1c]
test al, al
mov byte [ebp - 4], 0
je 0x4b4971
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4b4971
mov edx, dword [ecx]
push 1
call dword [edx]
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x4b4991
mov al, byte [edx - 1]
test al, al
je 0x4b4987
cmp al, 0xff
je 0x4b4987
dec al
mov byte [edx - 1], al
jmp 0x4b4991
dec edx
push edx
call fcn.005f8040
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4