Function at 0x479620
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x479f78
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx]
lea rcx, [rdx - 0x3c]
neg rcx
cmp rcx, 0x40
sbb rdx, rdx
mov rbx, qword [rsp + 0xb0]
test rbx, rbx
mov rsi, qword [rsp + 0xb8]
mov edi, 0
cmove rsi, rdi
shl rbx, cl
and rbx, rdx
jmp 0x47968b
shl rbx, 1
dec rsi
test rbx, rbx
je 0x479697
bt rbx, 0x3c
jae 0x479685
mov rcx, qword [rsp + 0xa0]
nop
cmp rcx, 0xf
jae 0x479f6d
mov rdx, rcx
shl rcx, 2
cmp rcx, 0x40
sbb rdi, rdi
lea r8, [rcx - 0x3c]
neg r8
cmp r8, 0x40
sbb r9, r9
mov r10, rbx
shl rbx, cl
and rbx, rdi
movabs rdi, 0xfffffffffffffff
and rdi, rbx
mov rcx, r8
shr r10, cl
and r10, r9
mov rbx, r10
and r10, 1
or rdi, r10
movabs r10, 0x800000000000000
nop dword [rax]
cmp rdi, r10
jbe 0x479f65
lea r10, [rbx + 1]
shl r10, cl
and r10, r9
bt r10, 0x3d
jae 0x479720
shr r10, 1
inc rsi
movzx ecx, byte [rsp + 0xa8]
cmp cl, 0x58
jne 0x479f59
lea rax, [0x0053da31]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], r10
movzx ebx, byte [rsp + 0xa9]
test bl, bl
je 0x479f3c
mov rbx, qword [rsp + 0x90]
lea rdi, [rbx + 1]
mov r8, qword [rsp + 0x98]
cmp r8, rdi
jb 0x479ecb
mov r9, qword [rsp + 0x88]
mov byte [r9 + rbx], 0x2d
lea rbx, [rdi + 3]
cmp rbx, r8
ja 0x479e5a
mov qword [rsp + 0x90], rbx
mov byte [r9 + rdi], 0x30
mov byte [r9 + rdi + 1], cl
mov r11, r10
shr r10, 0x3c
and r10, 1
add r10d, 0x30
mov byte [r9 + rdi + 2], r10b
shl r11, 4
mov qword [rsp + 0x68], r11
test rdx, rdx
jge 0x479d10
test r11, r11
je 0x479d0d
lea rdx, [rbx + 1]
nop dword [rax]
cmp r8, rdx
jb 0x479caf
mov byte [r9 + rbx], 0x2e
jmp 0x479800
mov byte [r9 + rdx], r10b
shl rdi, 4
mov r11, rdi
mov rdx, rbx
nop
test r11, r11
je 0x479895
lea rbx, [rdx + 1]
mov rdi, r11
shr r11, 0x3c
and r11, 0xf
movzx r10d, byte [rax + r11]
nop dword [rax]
cmp rbx, r8
jbe 0x4797f0
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x47], r10b
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rbx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rbx, [rax + 1]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x68]
movzx r10d, byte [rsp + 0x47]
jmp 0x4797f0
mov ebx, ecx
or ecx, 0x20
nop word [rax + rax]
cmp bl, cl
jne 0x479ca5
mov eax, 0x70
lea rcx, [rdx + 1]
cmp rcx, r8
ja 0x479c45
mov byte [r9 + rdx], al
nop
test rsi, rsi
jge 0x479c39
neg rsi
mov eax, 0x2d
mov qword [rsp + 0xb8], rsi
lea rdx, [rcx + 1]
nop dword [rax]
cmp r8, rdx
jb 0x479bdc
mov qword [rsp + 0x90], rdx
mov byte [r9 + rcx], al
cmp rsi, 0x64
jge 0x4799c0
lea rcx, [rdx + 2]
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
imul rsi
add rdx, rsi
sar rdx, 3
mov rdi, rsi
sar rsi, 0x3f
sub rdx, rsi
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rdi, rsi
cmp r8, rcx
jb 0x479964
lea eax, [rdx + 0x30]
mov byte [r9 + rbx], al
lea eax, [rdi + 0x30]
mov byte [r9 + rbx + 1], al
mov qword [rsp + 0xc8], r9
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], r8
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rdi
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rcx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rcx, [rax + 2]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x58]
jmp 0x479933
cmp rsi, 0x3e8
jge 0x479ab8
lea rcx, [rdx + 3]
movabs rax, 0xa3d70a3d70a3d70b
mov rbx, rdx
imul rsi
add rdx, rsi
movabs rax, 0xcccccccccccccccd
mov rdi, rdx
imul rsi
add rdx, rsi
mov r10, rdx
sar rdx, 3
movabs rax, 0xcccccccccccccccd
mov r11, rdx
imul rdx
sar r10, 0x3f
add rdx, r11
sar rdx, 3
sub rdx, r10
lea rdx, [rdx + rdx*4]
shl rdx, 1
mov r10, r11
sub r11, rdx
lea rdx, [r10 + r10*4]
shl rdx, 1
sub rsi, rdx
cmp r8, rcx
jb 0x479a59
sar rdi, 6
lea eax, [rdi + 0x30]
mov byte [r9 + rbx], al
lea eax, [r11 + 0x30]
mov byte [r9 + rbx + 1], al
lea eax, [rsi + 0x30]
mov byte [r9 + rbx + 2], al
jmp 0x479942
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rsi
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rcx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rcx, [rax + 3]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
jmp 0x479a38
lea rcx, [rdx + 4]
movabs rax, 0xa3d70a3d70a3d70b
mov rbx, rdx
imul rsi
add rdx, rsi
sar rdx, 6
movzx edi, dl
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [rdi + rdi*4]
shl edi, 1
sub edx, edi
movabs rax, 0xcccccccccccccccd
mov edi, edx
imul rsi
add rdx, rsi
mov r10, rdx
sar rdx, 3
movabs rax, 0xcccccccccccccccd
mov r11, rdx
imul rdx
add rdx, r11
sar rdx, 3
sar r10, 0x3f
sub rdx, r10
lea rdx, [rdx + rdx*4]
shl rdx, 1
mov r10, r11
sub r11, rdx
lea rdx, [r10 + r10*4]
shl rdx, 1
mov r10, rsi
sub rsi, rdx
cmp r8, rcx
jb 0x479b72
movabs rax, 0x4189374bc6a7ef9e
imul r10
sar rdx, 8
add edx, 0x30
mov byte [r9 + rbx], dl
lea edx, [rdi + 0x30]
mov byte [r9 + rbx + 1], dl
lea edx, [r11 + 0x30]
mov byte [r9 + rbx + 2], dl
lea edx, [rsi + 0x30]
mov byte [r9 + rbx + 3], dl
jmp 0x479942
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0x46], dil
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rcx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rcx, [rax + 4]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x58]
movzx edi, byte [rsp + 0x46]
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x60]
jmp 0x479b3c
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x45], al
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rdx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdx, [rax + 1]
movzx eax, byte [rsp + 0x45]
mov rcx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
jmp 0x4798e9
mov eax, 0x2b
nop
jmp 0x4798d1
mov qword [rsp + 0x90], rdx
mov byte [rsp + 0x45], al
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rcx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rcx, [rax + 1]
movzx eax, byte [rsp + 0x45]
mov rdx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
nop dword [rax]
jmp 0x4798ba
mov eax, 0x50
jmp 0x4798ad
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rdx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdx, [rax + 1]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x68]
jmp 0x4797e9
test rdx, rdx
jle 0x479e55
lea rdi, [rbx + 1]
nop word [rax + rax]
cmp r8, rdi
jb 0x479def
mov byte [r9 + rbx], 0x2e
xor ebx, ebx
jmp 0x479d43
mov byte [r9 + rdi], r11b
inc rbx
shl r12, 4
mov r11, r12
mov rdi, r10
cmp rdx, rbx
jle 0x479de7
lea r10, [rdi + 1]
mov r12, r11
shr r11, 0x3c
and r11, 0xf
movzx r11d, byte [rax + r11]
cmp r10, r8
jbe 0x479d32
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x47], r11b
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r10
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea r10, [rax + 1]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x60]
movzx r11d, byte [rsp + 0x47]
mov r12, qword [rsp + 0x68]
jmp 0x479d32
mov rdx, rdi
jmp 0x479895
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rdi
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdi, [rax + 1]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x68]
jmp 0x479d29
mov rdi, rbx
jmp 0x479de7
mov qword [rsp + 0x90], rdi
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rbx
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rbx, [rax + 3]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x90]
mov r10, qword [rsp + 0xb0]
jmp 0x479794
lea rax, [0x00515bc0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rdi
call fcn.0044d120
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdi, [rax + 1]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xb0]
jmp 0x479782
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x88]
jmp 0x479787
lea rax, [0x0053da41]
jmp 0x479738
mov r10, rbx
jmp 0x47970d
mov rdx, rcx
mov r10, rbx
jmp 0x479720
call fcn.004693a0
nop dword [rax]
jmp fcn.00479620