Function at 0x469160
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff660
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x46955a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00416bd4
mov byte [ebp - 0x94d], 0
xor ebx, ebx
push 0
push 0x8e8
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
call fcn.00404d84
mov esi, eax
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.004164e4
test esi, esi
jle 0x4692dd
mov dword [ebp - 0x18], esi
lea edx, [ebp - 0x900]
mov ecx, 0x8e8
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xc], eax
imul eax, dword [ebp - 0x10], 0x39
mov edx, dword [ebp - 0xc]
lea edx, [edx + edx*2]
add eax, edx
xor edx, edx
mov dl, byte [ebp + eax - 0x900]
mov ecx, edx
shr ecx, 2
mov cl, byte [ecx + 0x46cad1]
mov byte [ebp + ebx - 0x94c], cl
and edx, 3
shl edx, 4
movzx esi, byte [ebp + eax - 0x8ff]
mov ecx, esi
shr ecx, 4
add edx, ecx
mov dl, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x94b], dl
and esi, 0xf
mov ecx, esi
shl ecx, 2
xor edx, edx
mov dl, byte [ebp + eax - 0x8fe]
mov esi, edx
shr esi, 6
add ecx, esi
mov cl, byte [ecx + 0x46cad1]
mov byte [ebp + ebx - 0x94a], cl
and edx, 0x3f
mov al, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x949], al
add ebx, 4
cmp ebx, 0x4c
jne 0x4692ba
mov byte [ebp - 0x94d], 0x4c
lea edx, [ebp - 0x94d]
lea eax, [ebp - 0x9a0]
call fcn.00402a84
mov edx, 0x46956c
lea eax, [ebp - 0x9a0]
mov cl, 0x4e
call fcn.00402a54
lea edx, [ebp - 0x9a0]
lea eax, [ebp - 0x14]
call fcn.004041c4
mov eax, dword [ebp - 0x14]
call fcn.00404220
push eax
lea eax, [ebp - 0x14]
call fcn.00404478
mov edx, eax
mov eax, dword [ebp - 4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor ebx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x13
jne 0x4691de
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x28
jne 0x4691d9
dec dword [ebp - 0x18]
jne 0x4691c1
push 0
push 3
push 0
push 0x8e8
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
call fcn.00404e00
call fcn.00404d84
mov esi, eax
test esi, esi
jle 0x4693ee
mov dword [ebp - 0x18], esi
lea edx, [ebp - 0x900]
mov ecx, 3
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
xor eax, eax
mov al, byte [ebp - 0x900]
mov edx, eax
shr edx, 2
mov dl, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x94c], dl
and eax, 3
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0x8ff]
mov ecx, edx
shr ecx, 4
add eax, ecx
mov al, byte [eax + 0x46cad1]
mov byte [ebp + ebx - 0x94b], al
and edx, 0xf
shl edx, 2
xor eax, eax
mov al, byte [ebp - 0x8fe]
mov ecx, eax
shr ecx, 6
add edx, ecx
mov dl, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x94a], dl
and eax, 0x3f
mov al, byte [eax + 0x46cad1]
mov byte [ebp + ebx - 0x949], al
add ebx, 4
cmp ebx, 0x4c
jne 0x4693e5
mov byte [ebp - 0x94d], 0x4c
lea edx, [ebp - 0x94d]
lea eax, [ebp - 0x9a0]
call fcn.00402a84
mov edx, 0x46956c
lea eax, [ebp - 0x9a0]
mov cl, 0x4e
call fcn.00402a54
lea edx, [ebp - 0x9a0]
lea eax, [ebp - 0x14]
call fcn.004041c4
mov eax, dword [ebp - 0x14]
call fcn.00404220
push eax
lea eax, [ebp - 0x14]
call fcn.00404478
mov edx, eax
mov eax, dword [ebp - 4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor ebx, ebx
dec dword [ebp - 0x18]
jne 0x469306
push 0
push 3
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
call fcn.00404e00
cmp edx, 0
jne 0x469477
cmp eax, 2
jne 0x469477
lea edx, [ebp - 0x900]
mov ecx, 2
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
xor eax, eax
mov al, byte [ebp - 0x900]
mov edx, eax
shr edx, 2
mov dl, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x94c], dl
and eax, 3
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0x8ff]
mov ecx, edx
shr ecx, 4
add eax, ecx
mov al, byte [eax + 0x46cad1]
mov byte [ebp + ebx - 0x94b], al
and edx, 0xf
mov eax, edx
shl eax, 2
mov al, byte [eax + 0x46cad1]
mov byte [ebp + ebx - 0x94a], al
mov byte [ebp + ebx - 0x949], 0x3d
add ebx, 4
push 0
push 3
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
call fcn.00404e00
cmp edx, 0
jne 0x4694e4
cmp eax, 1
jne 0x4694e4
lea edx, [ebp - 0x900]
mov ecx, 1
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
xor eax, eax
mov al, byte [ebp - 0x900]
mov edx, eax
shr edx, 2
mov dl, byte [edx + 0x46cad1]
mov byte [ebp + ebx - 0x94c], dl
and eax, 3
shl eax, 4
mov al, byte [eax + 0x46cad1]
mov byte [ebp + ebx - 0x94b], al
mov byte [ebp + ebx - 0x94a], 0x3d
mov byte [ebp + ebx - 0x949], 0x3d
add ebx, 4
mov byte [ebp - 0x94d], bl
test ebx, ebx
jle 0x46953b
lea edx, [ebp - 0x94d]
lea eax, [ebp - 0x9a0]
call fcn.00402a84
mov edx, 0x46956c
lea eax, [ebp - 0x9a0]
mov cl, 0x4e
call fcn.00402a54
lea edx, [ebp - 0x9a0]
lea eax, [ebp - 0x14]
call fcn.004041c4
mov eax, dword [ebp - 0x14]
call fcn.00404220
push eax
lea eax, [ebp - 0x14]
call fcn.00404478
mov edx, eax
mov eax, dword [ebp - 4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx]
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469561
lea eax, [ebp - 0x14]
call fcn.00403f60
ret