Function at 0x561cb4
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5622ef
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5622ca
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00404df4
and eax, 0x80000003
jns 0x561d07
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x561d21
mov ecx, 0x562308
mov dl, 1
mov eax, dword [0x4085ac]
call fcn.0040e07c
call fcn.004044dc
mov eax, dword [ebp - 4]
call fcn.00404df4
test eax, eax
jns 0x561d30
add eax, 3
sar eax, 2
dec eax
lea edx, [eax + eax*2]
mov eax, dword [ebp - 8]
call fcn.00405178
mov eax, dword [ebp - 4]
call fcn.00404df4
test eax, eax
jns 0x561d4e
add eax, 3
sar eax, 2
dec eax
test eax, eax
jle 0x561efe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
dec eax
shl eax, 2
mov edx, dword [ebp - 4]
lea eax, [edx + eax]
lea edx, [ebp - 0x10]
mov ecx, 4
call fcn.00402af4
cmp byte [ebp - 0x10], 0x40
jbe 0x561d90
cmp byte [ebp - 0x10], 0x5b
jae 0x561d90
sub byte [ebp - 0x10], 0x41
jmp 0x561dc4
cmp byte [ebp - 0x10], 0x60
jbe 0x561da2
cmp byte [ebp - 0x10], 0x7b
jae 0x561da2
sub byte [ebp - 0x10], 0x47
jmp 0x561dc4
cmp byte [ebp - 0x10], 0x2f
jbe 0x561db4
cmp byte [ebp - 0x10], 0x3a
jae 0x561db4
add byte [ebp - 0x10], 4
jmp 0x561dc4
cmp byte [ebp - 0x10], 0x2b
jne 0x561dc0
mov byte [ebp - 0x10], 0x3e
jmp 0x561dc4
mov byte [ebp - 0x10], 0x3f
cmp byte [ebp - 0xf], 0x40
jbe 0x561dd6
cmp byte [ebp - 0xf], 0x5b
jae 0x561dd6
sub byte [ebp - 0xf], 0x41
jmp 0x561e0a
cmp byte [ebp - 0xf], 0x60
jbe 0x561de8
cmp byte [ebp - 0xf], 0x7b
jae 0x561de8
sub byte [ebp - 0xf], 0x47
jmp 0x561e0a
cmp byte [ebp - 0xf], 0x2f
jbe 0x561dfa
cmp byte [ebp - 0xf], 0x3a
jae 0x561dfa
add byte [ebp - 0xf], 4
jmp 0x561e0a
cmp byte [ebp - 0xf], 0x2b
jne 0x561e06
mov byte [ebp - 0xf], 0x3e
jmp 0x561e0a
mov byte [ebp - 0xf], 0x3f
cmp byte [ebp - 0xe], 0x40
jbe 0x561e1c
cmp byte [ebp - 0xe], 0x5b
jae 0x561e1c
sub byte [ebp - 0xe], 0x41
jmp 0x561e50
cmp byte [ebp - 0xe], 0x60
jbe 0x561e2e
cmp byte [ebp - 0xe], 0x7b
jae 0x561e2e
sub byte [ebp - 0xe], 0x47
jmp 0x561e50
cmp byte [ebp - 0xe], 0x2f
jbe 0x561e40
cmp byte [ebp - 0xe], 0x3a
jae 0x561e40
add byte [ebp - 0xe], 4
jmp 0x561e50
cmp byte [ebp - 0xe], 0x2b
jne 0x561e4c
mov byte [ebp - 0xe], 0x3e
jmp 0x561e50
mov byte [ebp - 0xe], 0x3f
cmp byte [ebp - 0xd], 0x40
jbe 0x561e62
cmp byte [ebp - 0xd], 0x5b
jae 0x561e62
sub byte [ebp - 0xd], 0x41
jmp 0x561e96
cmp byte [ebp - 0xd], 0x60
jbe 0x561e74
cmp byte [ebp - 0xd], 0x7b
jae 0x561e74
sub byte [ebp - 0xd], 0x47
jmp 0x561e96
cmp byte [ebp - 0xd], 0x2f
jbe 0x561e86
cmp byte [ebp - 0xd], 0x3a
jae 0x561e86
add byte [ebp - 0xd], 4
jmp 0x561e96
cmp byte [ebp - 0xd], 0x2b
jne 0x561e92
mov byte [ebp - 0xd], 0x3e
jmp 0x561e96
mov byte [ebp - 0xd], 0x3f
mov al, byte [ebp - 0x10]
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 0xf]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0xf]
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0xe]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0xe]
shl eax, 6
mov dl, byte [ebp - 0xd]
and dl, 0x3f
or al, dl
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 8]
call fcn.00405044
mov edx, dword [ebp - 0xc]
dec edx
lea edx, [edx + edx*2]
lea edx, [eax + edx]
lea eax, [ebp - 0x13]
mov ecx, 3
call fcn.00402af4
inc dword [ebp - 0xc]
dec dword [ebp - 0x18]
jne 0x561d64
mov eax, dword [ebp - 4]
call fcn.00404df4
test eax, eax
je 0x5622c0
mov eax, dword [ebp - 4]
call fcn.00404df4
mov edx, dword [ebp - 4]
lea eax, [edx + eax - 4]
lea edx, [ebp - 0x10]
mov ecx, 4
call fcn.00402af4
cmp byte [ebp - 0xe], 0x3d
jne 0x561ff4
cmp byte [ebp - 0x10], 0x40
jbe 0x561f46
cmp byte [ebp - 0x10], 0x5b
jae 0x561f46
sub byte [ebp - 0x10], 0x41
jmp 0x561f7a
cmp byte [ebp - 0x10], 0x60
jbe 0x561f58
cmp byte [ebp - 0x10], 0x7b
jae 0x561f58
sub byte [ebp - 0x10], 0x47
jmp 0x561f7a
cmp byte [ebp - 0x10], 0x2f
jbe 0x561f6a
cmp byte [ebp - 0x10], 0x3a
jae 0x561f6a
add byte [ebp - 0x10], 4
jmp 0x561f7a
cmp byte [ebp - 0x10], 0x2b
jne 0x561f76
mov byte [ebp - 0x10], 0x3e
jmp 0x561f7a
mov byte [ebp - 0x10], 0x3f
cmp byte [ebp - 0xf], 0x40
jbe 0x561f8c
cmp byte [ebp - 0xf], 0x5b
jae 0x561f8c
sub byte [ebp - 0xf], 0x41
jmp 0x561fc0
cmp byte [ebp - 0xf], 0x60
jbe 0x561f9e
cmp byte [ebp - 0xf], 0x7b
jae 0x561f9e
sub byte [ebp - 0xf], 0x47
jmp 0x561fc0
cmp byte [ebp - 0xf], 0x2f
jbe 0x561fb0
cmp byte [ebp - 0xf], 0x3a
jae 0x561fb0
add byte [ebp - 0xf], 4
jmp 0x561fc0
cmp byte [ebp - 0xf], 0x2b
jne 0x561fbc
mov byte [ebp - 0xf], 0x3e
jmp 0x561fc0
mov byte [ebp - 0xf], 0x3f
mov al, byte [ebp - 0x10]
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 0xf]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0x13], al
lea eax, [ebp - 0x1c]
mov dl, byte [ebp - 0x13]
call fcn.00404d00
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00404dfc
mov eax, dword [ebp - 8]
jmp 0x5622c0
cmp byte [ebp - 0xd], 0x3d
jne 0x56212f
cmp byte [ebp - 0x10], 0x40
jbe 0x562010
cmp byte [ebp - 0x10], 0x5b
jae 0x562010
sub byte [ebp - 0x10], 0x41
jmp 0x562044
cmp byte [ebp - 0x10], 0x60
jbe 0x562022
cmp byte [ebp - 0x10], 0x7b
jae 0x562022
sub byte [ebp - 0x10], 0x47
jmp 0x562044
cmp byte [ebp - 0x10], 0x2f
jbe 0x562034
cmp byte [ebp - 0x10], 0x3a
jae 0x562034
add byte [ebp - 0x10], 4
jmp 0x562044
cmp byte [ebp - 0x10], 0x2b
jne 0x562040
mov byte [ebp - 0x10], 0x3e
jmp 0x562044
mov byte [ebp - 0x10], 0x3f
cmp byte [ebp - 0xf], 0x40
jbe 0x562056
cmp byte [ebp - 0xf], 0x5b
jae 0x562056
sub byte [ebp - 0xf], 0x41
jmp 0x56208a
cmp byte [ebp - 0xf], 0x60
jbe 0x562068
cmp byte [ebp - 0xf], 0x7b
jae 0x562068
sub byte [ebp - 0xf], 0x47
jmp 0x56208a
cmp byte [ebp - 0xf], 0x2f
jbe 0x56207a
cmp byte [ebp - 0xf], 0x3a
jae 0x56207a
add byte [ebp - 0xf], 4
jmp 0x56208a
cmp byte [ebp - 0xf], 0x2b
jne 0x562086
mov byte [ebp - 0xf], 0x3e
jmp 0x56208a
mov byte [ebp - 0xf], 0x3f
cmp byte [ebp - 0xe], 0x40
jbe 0x56209c
cmp byte [ebp - 0xe], 0x5b
jae 0x56209c
sub byte [ebp - 0xe], 0x41
jmp 0x5620d0
cmp byte [ebp - 0xe], 0x60
jbe 0x5620ae
cmp byte [ebp - 0xe], 0x7b
jae 0x5620ae
sub byte [ebp - 0xe], 0x47
jmp 0x5620d0
cmp byte [ebp - 0xe], 0x2f
jbe 0x5620c0
cmp byte [ebp - 0xe], 0x3a
jae 0x5620c0
add byte [ebp - 0xe], 4
jmp 0x5620d0
cmp byte [ebp - 0xe], 0x2b
jne 0x5620cc
mov byte [ebp - 0xe], 0x3e
jmp 0x5620d0
mov byte [ebp - 0xe], 0x3f
mov al, byte [ebp - 0x10]
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 0xf]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0xf]
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0xe]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x20]
mov dl, byte [ebp - 0x13]
call fcn.00404d00
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0x12]
call fcn.00404d00
push dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00404eb4
jmp 0x5622c0
cmp byte [ebp - 0x10], 0x40
jbe 0x562141
cmp byte [ebp - 0x10], 0x5b
jae 0x562141
sub byte [ebp - 0x10], 0x41
jmp 0x562175
cmp byte [ebp - 0x10], 0x60
jbe 0x562153
cmp byte [ebp - 0x10], 0x7b
jae 0x562153
sub byte [ebp - 0x10], 0x47
jmp 0x562175
cmp byte [ebp - 0x10], 0x2f
jbe 0x562165
cmp byte [ebp - 0x10], 0x3a
jae 0x562165
add byte [ebp - 0x10], 4
jmp 0x562175
cmp byte [ebp - 0x10], 0x2b
jne 0x562171
mov byte [ebp - 0x10], 0x3e
jmp 0x562175
mov byte [ebp - 0x10], 0x3f
cmp byte [ebp - 0xf], 0x40
jbe 0x562187
cmp byte [ebp - 0xf], 0x5b
jae 0x562187
sub byte [ebp - 0xf], 0x41
jmp 0x5621bb
cmp byte [ebp - 0xf], 0x60
jbe 0x562199
cmp byte [ebp - 0xf], 0x7b
jae 0x562199
sub byte [ebp - 0xf], 0x47
jmp 0x5621bb
cmp byte [ebp - 0xf], 0x2f
jbe 0x5621ab
cmp byte [ebp - 0xf], 0x3a
jae 0x5621ab
add byte [ebp - 0xf], 4
jmp 0x5621bb
cmp byte [ebp - 0xf], 0x2b
jne 0x5621b7
mov byte [ebp - 0xf], 0x3e
jmp 0x5621bb
mov byte [ebp - 0xf], 0x3f
cmp byte [ebp - 0xe], 0x40
jbe 0x5621cd
cmp byte [ebp - 0xe], 0x5b
jae 0x5621cd
sub byte [ebp - 0xe], 0x41
jmp 0x562201
cmp byte [ebp - 0xe], 0x60
jbe 0x5621df
cmp byte [ebp - 0xe], 0x7b
jae 0x5621df
sub byte [ebp - 0xe], 0x47
jmp 0x562201
cmp byte [ebp - 0xe], 0x2f
jbe 0x5621f1
cmp byte [ebp - 0xe], 0x3a
jae 0x5621f1
add byte [ebp - 0xe], 4
jmp 0x562201
cmp byte [ebp - 0xe], 0x2b
jne 0x5621fd
mov byte [ebp - 0xe], 0x3e
jmp 0x562201
mov byte [ebp - 0xe], 0x3f
cmp byte [ebp - 0xd], 0x40
jbe 0x562213
cmp byte [ebp - 0xd], 0x5b
jae 0x562213
sub byte [ebp - 0xd], 0x41
jmp 0x562247
cmp byte [ebp - 0xd], 0x60
jbe 0x562225
cmp byte [ebp - 0xd], 0x7b
jae 0x562225
sub byte [ebp - 0xd], 0x47
jmp 0x562247
cmp byte [ebp - 0xd], 0x2f
jbe 0x562237
cmp byte [ebp - 0xd], 0x3a
jae 0x562237
add byte [ebp - 0xd], 4
jmp 0x562247
cmp byte [ebp - 0xd], 0x2b
jne 0x562243
mov byte [ebp - 0xd], 0x3e
jmp 0x562247
mov byte [ebp - 0xd], 0x3f
mov al, byte [ebp - 0x10]
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 0xf]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0xf]
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0xe]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0xe]
shl eax, 6
mov dl, byte [ebp - 0xd]
and dl, 0x3f
or al, dl
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x28]
mov dl, byte [ebp - 0x13]
call fcn.00404d00
push dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x12]
call fcn.00404d00
push dword [ebp - 0x2c]
lea eax, [ebp - 0x30]
mov dl, byte [ebp - 0x11]
call fcn.00404d00
push dword [ebp - 0x30]
mov eax, dword [ebp - 8]
mov edx, 4
call fcn.00404eb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5622d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5622f6
lea eax, [ebp - 0x30]
mov edx, 6
call fcn.00404b44
ret