Function at 0x413bc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4249de
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x42f008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x74], 0
movaps xmm0, xmmword [0x42a4c0]
movups xmmword [ebp - 0x68], xmm0
movaps xmm0, xmmword [0x42a4d0]
movups xmmword [ebp - 0x58], xmm0
movaps xmm0, xmmword [0x42a4e0]
movups xmmword [ebp - 0x48], xmm0
movaps xmm0, xmmword [0x42a4a0]
movups xmmword [ebp - 0x38], xmm0
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [ebp - 4], 0
xor edx, edx
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x74], 1
cmp esi, eax
je 0x413f4c
mov cl, byte [esi]
mov byte [ebp + edx - 0x1c], cl
inc edx
mov cl, byte [ebp - 0x1b]
mov byte [ebp - 0x69], cl
mov cl, byte [ebp - 0x1c]
mov byte [ebp - 0x6a], cl
cmp edx, 3
jne 0x413dbb
mov edx, dword [edi + 0x10]
movzx eax, cl
shr eax, 2
mov ch, byte [ebp + eax - 0x68]
mov byte [ebp - 0x28], ch
cmp edx, dword [edi + 0x14]
jae 0x413cb3
cmp dword [edi + 0x14], 0x10
lea eax, [edx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
jb 0x413ca9
mov eax, dword [edi]
mov byte [eax + edx], ch
mov byte [eax + edx + 1], 0
jmp 0x413cc8
push dword [ebp - 0x28]
mov byte [ebp - 0x78], 0
push dword [ebp - 0x78]
push ecx
mov ecx, edi
call fcn.004167e0
mov cl, byte [ebp - 0x6a]
movzx eax, byte [ebp - 0x69]
and cl, 3
mov edx, dword [edi + 0x14]
shr al, 4
shl cl, 4
add cl, al
movzx eax, cl
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x20], al
cmp ecx, edx
jae 0x413d07
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x413cfa
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x20]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413d19
push dword [ebp - 0x20]
mov byte [ebp - 0x7c], 0
push dword [ebp - 0x7c]
push ecx
mov ecx, edi
call fcn.004167e0
mov cl, byte [ebp - 0x69]
movzx eax, byte [ebp - 0x1a]
and cl, 0xf
mov edx, dword [edi + 0x14]
shr al, 6
shl cl, 2
add cl, al
movzx eax, cl
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x24], al
cmp ecx, edx
jae 0x413d5b
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x413d4e
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x24]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413d6d
push dword [ebp - 0x24]
mov byte [ebp - 0x6e], 0
push dword [ebp - 0x6e]
push ecx
mov ecx, edi
call fcn.004167e0
movzx eax, byte [ebp - 0x1a]
mov ecx, dword [edi + 0x10]
and eax, 0x3f
mov edx, dword [edi + 0x14]
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x18], al
cmp ecx, edx
jae 0x413da1
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x413d94
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x18]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413db3
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.004167e0
mov eax, dword [ebp + 0xc]
xor edx, edx
mov cl, byte [ebp - 0x6a]
inc esi
cmp esi, eax
jne 0x413c68
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x413f4c
mov esi, dword [edi + 0x10]
movzx eax, cl
shr eax, 2
mov ch, byte [ebp + eax - 0x68]
mov byte [ebp - 0x14], ch
cmp esi, dword [edi + 0x14]
jae 0x413dfe
cmp dword [edi + 0x14], 0x10
lea eax, [esi + 1]
mov dword [edi + 0x10], eax
mov eax, edi
jb 0x413df4
mov eax, dword [edi]
mov byte [eax + esi], ch
mov byte [eax + esi + 1], 0
jmp 0x413e16
push dword [ebp - 0x14]
mov byte [ebp - 0x6e], 0
push dword [ebp - 0x6e]
push ecx
mov ecx, edi
call fcn.004167e0
mov edx, dword [ebp - 0x1c]
mov cl, byte [ebp - 0x6a]
mov esi, dword [edi + 0x14]
and cl, 3
shl cl, 4
cmp edx, 1
jne 0x413e70
movzx eax, cl
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x18], al
cmp ecx, esi
jae 0x413e55
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp esi, 0x10
jb 0x413e44
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x18]
inc edx
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413f0e
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.004167e0
mov edx, dword [ebp - 0x1c]
inc edx
jmp 0x413f0e
movzx eax, byte [ebp - 0x69]
shr al, 4
add cl, al
movzx eax, cl
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x18], al
cmp ecx, esi
jae 0x413ea6
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp esi, 0x10
jb 0x413e99
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x18]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413ebb
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.004167e0
mov edx, dword [ebp - 0x1c]
mov al, byte [ebp - 0x69]
mov ecx, dword [edi + 0x10]
and al, 0xf
mov esi, dword [edi + 0x14]
shl al, 2
movzx eax, al
mov al, byte [ebp + eax - 0x68]
mov byte [ebp - 0x18], al
cmp ecx, esi
jae 0x413ef3
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp esi, 0x10
jb 0x413ee6
mov eax, dword [edi]
add eax, ecx
mov cl, byte [ebp - 0x18]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x413f08
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.004167e0
mov edx, dword [ebp - 0x1c]
inc edx
cmp edx, 4
jae 0x413f4c
mov esi, 4
sub esi, edx
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp ecx, edx
jae 0x413f36
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x413f2e
mov eax, dword [edi]
mov word [eax + ecx], 0x3d
jmp 0x413f47
push 0x3d
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.004167e0
sub esi, 1
jne 0x413f15
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00422454
mov esp, ebp
pop ebp
ret