Function at 0x47ca80
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x47d3d8
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 0x47caeb
shl rbx, 1
dec rsi
test rbx, rbx
je 0x47caf7
bt rbx, 0x3c
jae 0x47cae5
mov rcx, qword [rsp + 0xa0]
nop
cmp rcx, 0xf
jae 0x47d3cd
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 0x47d3c5
lea r10, [rbx + 1]
shl r10, cl
and r10, r9
bt r10, 0x3d
jae 0x47cb80
shr r10, 1
inc rsi
movzx ecx, byte [rsp + 0xa8]
cmp cl, 0x58
jne 0x47d3b9
lea rax, [0x0070f47f]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], r10
movzx ebx, byte [rsp + 0xa9]
test bl, bl
je 0x47d39c
mov rbx, qword [rsp + 0x90]
lea rdi, [rbx + 1]
mov r8, qword [rsp + 0x98]
cmp r8, rdi
jb 0x47d32b
mov r9, qword [rsp + 0x88]
mov byte [r9 + rbx], 0x2d
lea rbx, [rdi + 3]
cmp rbx, r8
ja 0x47d2ba
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 0x47d170
test r11, r11
je 0x47d16d
lea rdx, [rbx + 1]
nop dword [rax]
cmp r8, rdx
jb 0x47d10f
mov byte [r9 + rbx], 0x2e
jmp 0x47cc60
mov byte [r9 + rdx], r10b
shl rdi, 4
mov r11, rdi
mov rdx, rbx
nop
test r11, r11
je 0x47ccf5
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 0x47cc50
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x47], r10b
lea rax, [0x006b0d80]
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.0044de40
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 0x47cc50
mov ebx, ecx
or ecx, 0x20
nop word [rax + rax]
cmp bl, cl
jne 0x47d105
mov eax, 0x70
lea rcx, [rdx + 1]
cmp rcx, r8
ja 0x47d0a5
mov byte [r9 + rdx], al
nop
test rsi, rsi
jge 0x47d099
neg rsi
mov eax, 0x2d
mov qword [rsp + 0xb8], rsi
lea rdx, [rcx + 1]
nop dword [rax]
cmp r8, rdx
jb 0x47d03c
mov qword [rsp + 0x90], rdx
mov byte [r9 + rcx], al
cmp rsi, 0x64
jge 0x47ce20
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 0x47cdc4
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, [0x006b0d80]
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.0044de40
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 0x47cd93
cmp rsi, 0x3e8
jge 0x47cf18
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 0x47ceb9
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 0x47cda2
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rsi
lea rax, [0x006b0d80]
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.0044de40
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 0x47ce98
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 0x47cfd2
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 0x47cda2
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0x46], dil
lea rax, [0x006b0d80]
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.0044de40
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 0x47cf9c
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x45], al
lea rax, [0x006b0d80]
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.0044de40
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 0x47cd49
mov eax, 0x2b
nop
jmp 0x47cd31
mov qword [rsp + 0x90], rdx
mov byte [rsp + 0x45], al
lea rax, [0x006b0d80]
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.0044de40
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 0x47cd1a
mov eax, 0x50
jmp 0x47cd0d
lea rax, [0x006b0d80]
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.0044de40
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 0x47cc49
test rdx, rdx
jle 0x47d2b5
lea rdi, [rbx + 1]
nop word [rax + rax]
cmp r8, rdi
jb 0x47d24f
mov byte [r9 + rbx], 0x2e
xor ebx, ebx
jmp 0x47d1a3
mov byte [r9 + rdi], r11b
inc rbx
shl r12, 4
mov r11, r12
mov rdi, r10
cmp rdx, rbx
jle 0x47d247
lea r10, [rdi + 1]
mov r12, r11
shr r11, 0x3c
and r11, 0xf
movzx r11d, byte [rax + r11]
cmp r10, r8
jbe 0x47d192
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x47], r11b
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
lea rax, [0x006b0d80]
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.0044de40
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 0x47d192
mov rdx, rdi
jmp 0x47ccf5
lea rax, [0x006b0d80]
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.0044de40
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 0x47d189
mov rdi, rbx
jmp 0x47d247
mov qword [rsp + 0x90], rdi
lea rax, [0x006b0d80]
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.0044de40
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 0x47cbf4
lea rax, [0x006b0d80]
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.0044de40
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 0x47cbe2
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x88]
jmp 0x47cbe7
lea rax, [0x0070f48f]
jmp 0x47cb98
mov r10, rbx
jmp 0x47cb6d
mov rdx, rcx
mov r10, rbx
jmp 0x47cb80
call fcn.0046ac00
nop dword [rax]
jmp fcn.0047ca80