Function at 0x1800cec10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov r14, rdx
mov rsi, rcx
mov r13, qword [rdx]
mov rbx, qword [rdx + 8]
mov r8, qword [r13 + 0xa0]
mov rdi, qword [rdx + 0x10]
test r8, r8
je 0x1800cec57
cmp r8, rdi
jae 0x1800cec51
cmp byte [rbx + r8], 0xbf
jg 0x1800cec57
jmp 0x1800cef54
jne 0x1800cef54
cmp r8, rdi
je 0x1800cf867
movzx eax, byte [rbx + r8]
test al, al
js 0x1800cecb3
cmp eax, 0x28
jne 0x1800cf867
lea r12, [r13 + 0xa0]
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.1800c9890
mov rcx, r14
call fcn.1800c8bb0
mov rcx, r14
call fcn.1800c8de0
mov r8, qword [r12]
test r8, r8
je 0x1800ced0c
cmp rdi, r8
jbe 0x1800ced06
cmp byte [rbx + r8], 0xbf
jg 0x1800ced0c
jmp 0x1800cef54
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1800cedb1
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp al, 0xf0
jb 0x1800cf042
movzx eax, byte [rbx + r8 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x28
je 0x1800cec72
jmp 0x1800cf867
jne 0x1800cef54
mov rax, rdi
sub rax, r8
cmp rax, 2
jb 0x1800ced29
movzx ecx, word [rbx + r8]
cmp ecx, 0x3d3f
je 0x1800cedc7
test r8, r8
je 0x1800ced45
cmp rdi, r8
jbe 0x1800ced3f
cmp byte [rbx + r8], 0xbf
jg 0x1800ced45
jmp 0x1800cef54
jne 0x1800cef54
cmp rax, 2
jb 0x1800ced5c
movzx ecx, word [rbx + r8]
cmp ecx, 0x213f
je 0x1800cee75
test r8, r8
je 0x1800ced78
cmp rdi, r8
jbe 0x1800ced72
cmp byte [rbx + r8], 0xbf
jg 0x1800ced78
jmp 0x1800cef54
jne 0x1800cef54
cmp rax, 3
jb 0x1800ced9b
movzx ecx, word [rbx + r8]
xor ecx, 0x3c3f
movzx edx, byte [rbx + r8 + 2]
xor edx, 0x3d
or dx, cx
je 0x1800ceeee
test r8, r8
je 0x1800cee08
cmp rdi, r8
jbe 0x1800cee02
cmp byte [rbx + r8], 0xbf
jg 0x1800cee08
jmp 0x1800cef54
shl ecx, 6
or ecx, r9d
mov eax, ecx
cmp eax, 0x28
je 0x1800cec72
jmp 0x1800cf867
lea rcx, str.________
mov edx, 2
call fcn.1801d3630
test rax, rax
je 0x1800cef8d
mov r15, rax
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cedf0
jmp 0x1800cef8d
jne 0x1800cef54
cmp rax, 3
jb 0x1800cee2b
movzx ecx, word [rbx + r8]
xor ecx, 0x3c3f
movzx edx, byte [rbx + r8 + 2]
xor edx, 0x21
or dx, cx
je 0x1800cef62
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x188], rcx
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x178], xmm0
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x160], xmm0
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x170], rcx
test r8, r8
je 0x1800ceeb8
cmp rdi, r8
jbe 0x1800ceeb2
cmp byte [rbx + r8], 0xbf
jg 0x1800ceeb8
jmp 0x1800cef54
lea rcx, [0x18020cb9a]
mov edx, 2
call fcn.1801d3630
test rax, rax
je 0x1800cef8d
mov r15, rax
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800ceea0
jmp 0x1800cef8d
jne 0x1800cef54
cmp rax, 3
jb 0x1800ceedb
movzx ecx, word [rbx + r8]
xor ecx, 0x503f
movzx edx, byte [rbx + r8 + 2]
xor edx, 0x3c
or dx, cx
je 0x1800cf198
test r8, r8
je 0x1800cef21
cmp rdi, r8
jbe 0x1800cef1f
cmp byte [rbx + r8], 0xbf
jg 0x1800cef21
jmp 0x1800cef54
lea rcx, [0x18020cb9c]
mov edx, 3
call fcn.1801d3630
test rax, rax
je 0x1800cef8d
mov r15, rax
nop dword [rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cef10
jmp 0x1800cef8d
jne 0x1800cef54
cmp rax, 2
jb 0x1800cef37
movzx eax, word [rbx + r8]
cmp eax, 0x3c3f
je 0x1800cf3be
test r8, r8
je 0x1800cf05d
cmp rdi, r8
jbe 0x1800cf057
cmp byte [rbx + r8], 0xbf
jg 0x1800cf05d
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.18018dc30
lea rcx, [0x18020cb9f]
mov edx, 3
call fcn.1801d3630
test rax, rax
je 0x1800cef8d
mov r15, rax
nop dword [rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cef80
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x38], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x48], rax
test rdi, rdi
js 0x1800cf869
je 0x1800cefee
movzx eax, byte [0x180281288]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.180057670
test rax, rax
je 0x1800cf86c
mov r14, rax
jmp 0x1800ceff4
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1801f0cd0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x68], xmm1
movups xmmword [rsi + 0x78], xmm2
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rdi
mov dword [rsi + 0x20], 0x21
movabs rax, 0x8000000000000004
mov qword [rsi], rax
jmp 0x1800cf35b
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x28
je 0x1800cec72
jmp 0x1800cf867
jne 0x1800cef54
cmp rdi, r8
je 0x1800cf0e1
cmp byte [rbx + r8], 0x3f
jne 0x1800cf0e1
lea rcx, [0x18020cced]
mov edx, 1
call fcn.1801d3630
test rax, rax
je 0x1800cf09d
mov r15, rax
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cf090
cmp qword [r12], rdi
jne 0x1800cf50a
test rdi, rdi
js 0x1800cf869
je 0x1800cf6fb
movzx eax, byte [0x180281288]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call fcn.180057670
test rax, rax
je 0x1800cf86c
mov r14, rax
jmp 0x1800cf701
mov ebp, dword [r13 + 0xb8]
cmp ebp, 0xffffffff
je 0x1800cf36f
inc ebp
mov dword [r13 + 0xb8], ebp
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x38], xmm0
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.1800c07a0
mov rdi, rax
mov rbx, rdx
movzx eax, byte [0x180281288]
mov ecx, 0x10
mov edx, 8
call fcn.180057670
test rax, rax
je 0x1800cf882
mov qword [rax], rdi
mov qword [rax + 8], rbx
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x80], xmm2
movups xmmword [rsi + 0x70], xmm1
movups xmmword [rsi + 0x60], xmm0
movabs rcx, 0x8000000000000004
add rcx, 0xfffffffffffffffc
mov qword [rsi], rcx
mov dword [rsi + 8], ebp
jmp 0x1800cf357
lea rcx, str._P____
mov edx, 3
call fcn.1801d3630
mov bpl, 1
test rax, rax
je 0x1800cf1cd
mov r15, rax
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cf1c0
mov r8d, dword [r13 + 0xb8]
cmp r8d, 0xffffffff
je 0x1800cf400
movabs rdi, 0x8000000000000004
inc r8d
mov dword [r13 + 0xb8], r8d
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.1800cf8a0
mov rax, qword [rsp + 0x20]
lea rcx, [rdi - 4]
movups xmm0, xmmword [rsp + 0x28]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x120], xmm0
cmp rax, rcx
jne 0x1800cf49e
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xe0]
call fcn.1800c07a0
mov rdi, rax
mov rbx, rdx
movzx eax, byte [0x180281288]
mov ecx, 0x10
mov edx, 8
call fcn.180057670
test rax, rax
je 0x1800cf882
mov qword [rax], rdi
mov qword [rax + 8], rbx
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x80], xmm2
movups xmmword [rsi + 0x70], xmm1
movups xmmword [rsi + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x40], xmm0
mov byte [rsi + 0x50], bpl
mov qword [rsi + 0x58], rax
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
test rdi, rdi
js 0x1800cf877
je 0x1800cf412
movzx eax, byte [0x180281288]
mov r14d, 1
mov edx, 1
mov rcx, rdi
call fcn.180057670
test rax, rax
je 0x1800cf877
mov r15, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.1801f0cd0
mov r14, r15
shr r14, 0x20
jmp 0x1800cf418
lea rcx, [0x18020cceb]
mov edx, 2
call fcn.1801d3630
test rax, rax
je 0x1800cf3ed
mov r15, rax
nop word [rax + rax]
mov rcx, r14
call fcn.1800c8bb0
dec r15
jne 0x1800cf3e0
xor ebp, ebp
mov r8d, dword [r13 + 0xb8]
cmp r8d, 0xffffffff
jne 0x1800cf1de
xor r14d, r14d
test rdi, rdi
js 0x1800cf877
jne 0x1800cf381
mov r15d, 1
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x74], xmm2
movups xmmword [rsp + 0x64], xmm1
movups xmmword [rsp + 0x54], xmm0
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x44], xmm2
movups xmmword [rsi + 0x34], xmm1
movups xmmword [rsi + 0x24], xmm0
mov eax, dword [rsp + 0x80]
mov dword [rsi + 0x84], eax
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x74], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x64], xmm0
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x54], xmm0
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], r15d
mov dword [rsi + 0x14], r14d
mov qword [rsi + 0x18], rdi
mov dword [rsi + 0x20], 0
jmp 0x1800cf030
mov rcx, qword [rsp + 0x98]
mov qword [rsi + 0x80], rcx
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movups xmmword [rsi + 0x70], xmm1
movups xmmword [rsi + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movups xmmword [rsi + 0x40], xmm3
movups xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 8], rax
mov qword [rsi], rdi
jmp 0x1800cf35b
movabs r13, 0x8000000000000004
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.1800d02e0
mov rax, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
lea rcx, [r13 - 4]
mov rdx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x100], xmm0
cmp rax, rcx
jne 0x1800cf69e
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xa0], rdx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x150], xmm2
mov rcx, r14
call fcn.1800c8b00
mov ebp, eax
mov rcx, r14
call fcn.1800c8bb0
cmp ebp, 0x29
je 0x1800cf74b
cmp ebp, 0x3a
jne 0x1800cf867
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x38], xmm0
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.1800c07a0
mov rdi, rax
mov rbx, rdx
movzx eax, byte [0x180281288]
mov ecx, 0x10
mov edx, 8
call fcn.180057670
test rax, rax
je 0x1800cf882
mov qword [rax], rdi
mov qword [rax + 8], rbx
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x80], xmm2
movups xmmword [rsi + 0x70], xmm1
movups xmmword [rsi + 0x60], xmm0
mov rcx, qword [rsp + 0xa8]
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], r15
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x40], xmm2
add r13, 0xfffffffffffffffe
mov qword [rsi], r13
jmp 0x1800cf357
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movups xmm2, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x78], xmm2
movups xmmword [rsi + 0x68], xmm1
movups xmmword [rsi + 0x58], xmm0
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], r15
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x28], xmm0
movups xmmword [rsi + 0x38], xmm1
movups xmmword [rsi + 0x48], xmm2
mov qword [rsi + 8], rax
mov qword [rsi], r13
jmp 0x1800cf35b
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1801f0cd0
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x68], xmm1
movups xmmword [rsi + 0x78], xmm2
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rdi
mov dword [rsi + 0x20], 0x15
jmp 0x1800cf030
test r15, r15
je 0x1800cf7fd
lea rax, [rsi + 0x20]
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x48], rcx
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x38], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x20], xmm0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov qword [rsi + 0x70], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rsi + 0x78], rdx
mov qword [rsi + 0x60], rax
mov qword [rsi + 0x68], rcx
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0xa8]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], r15
dec r13
mov qword [rsi], r13
jmp 0x1800cf35b
lea rcx, [rsi + 8]
mov rdx, rbx
mov r8, rdi
call fcn.180010e30
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmm2, xmmword [rsp + 0x180]
movups xmmword [rsi + 0x78], xmm2
movups xmmword [rsi + 0x68], xmm1
movups xmmword [rsi + 0x58], xmm0
mov dword [rsi + 0x20], 0x1b
mov qword [rsi], r13
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1800cf35b
imul rdx, rax, 0x38
mov r8d, 8
mov rcx, qword [rsp + 0xa0]
call fcn.180057680
jmp 0x1800cf35b
ud2
xor r15d, r15d
mov rcx, r15
mov rdx, rdi
call fcn.18018dc30
mov rcx, r14
mov rdx, rdi
call fcn.18018dc30
mov ecx, 8
mov edx, 0x10
call fcn.18018dc30
int3