Function at 0x180021330
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x948]
sub rsp, 0xa10
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov r13, r9
mov r14, rdx
movdqa xmm0, xmmword [0x18009ff70]
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov qword [rbp - 0x68], 0
mov eax, 0xf
mov qword [rbp - 0x60], rax
mov byte [rbp - 0x78], 0
lea edx, [rcx + 0x5a0]
mov dword [rsp + 0x34], edx
cmp ecx, edx
jae 0x180021bff
mov rbx, qword [rbp + 0x9a0]
mov r12, qword [rbp + 0x998]
mov r15, qword [rbp + 0x988]
mov rsi, qword [rbp + 0x980]
movsd xmm11, qword [0x18009f758]
movsd xmm10, qword [0x18009f610]
movsd xmm14, qword [0x18009f588]
movsd xmm15, qword [0x18009f750]
movsd xmm6, qword [0x18009f570]
movsd xmm7, qword [0x18009f648]
movsd xmm8, qword [0x18009f538]
movsd xmm9, qword [0x18009f5e8]
xorps xmm12, xmm12
movsd xmm13, qword [0x18009f760]
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0x50], r10
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x68], rdi
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x48], r9
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
movsd xmm4, qword [0x18009f508]
movsd xmm5, qword [0x18009f5d8]
movsd xmm3, qword [0x18009f520]
mov r11, qword [rbp + 0x978]
cmp ecx, 0x14a
ja 0x1800219df
je 0x180021917
mov eax, ecx
sub eax, 0x57
je 0x18002189a
sub eax, 0x3f
je 0x18002185f
sub eax, 6
je 0x180021526
cmp eax, 0x6f
jne 0x180021b2e
test rdi, rdi
je 0x180021b7b
mov rbx, qword [0x18073dc00]
cmp rbx, qword [0x18073dc08]
je 0x180021515
mov rcx, rdi
call qword [rbx]
test al, al
je 0x180021b55
add rbx, 8
cmp rbx, qword [0x18073dc08]
jne 0x1800214e7
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov ecx, dword [rbp + 0x950]
mov edx, dword [rsp + 0x34]
mov byte [0x1800b60e8], 1
mov byte [rsp + 0x30], 1
jmp 0x180021b27
lea rax, [rbp - 0x10]
mov ecx, 0x11
movabs rdx, 0xc069000000000000
nop dword [rax]
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdx
mov qword [rax - 0x20], rdx
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
mov qword [rax - 8], rdx
sub rcx, 1
jne 0x180021540
lea rax, [rbp + 0x430]
mov ecx, 0x11
nop word [rax + rax]
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdx
mov qword [rax - 0x20], rdx
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
mov qword [rax - 8], rdx
sub rcx, 1
jne 0x180021580
lea rdi, [r13 + 8]
lea r14, [r11 + 4]
mov rcx, rbx
sub rcx, r11
mov qword [rsp + 0x38], rcx
mov r15, qword [rbp + 0x990]
sub r15, r13
mov r12, qword [rbp + 0x970]
sub r12, r13
mov eax, 0x200
mov qword [rsp + 0x60], rax
nop word [rax + rax]
cmp dword [rcx + r14], 0x14
jne 0x1800216fa
xor ebx, ebx
nop dword [rax]
movsd xmm0, qword [rdi]
movsxd rax, dword [r8 + rbx*4]
movsd xmm1, qword [r13 + rax*8]
subsd xmm1, xmm0
comisd xmm1, xmm11
jb 0x1800216e5
comisd xmm10, xmm1
jbe 0x1800216e5
movsd xmm2, qword [r15 + rdi]
mulsd xmm0, xmm3
addsd xmm0, xmm14
addsd xmm0, xmm5
movaps xmm3, xmm2
subsd xmm3, xmm0
comisd xmm15, xmm1
jbe 0x180021652
addsd xmm1, xmm6
mulsd xmm1, xmm7
mulsd xmm2, xmm8
addsd xmm2, xmm9
subsd xmm1, xmm2
jmp 0x180021693
comisd xmm12, xmm1
jbe 0x18002166c
mulsd xmm2, xmm8
addsd xmm2, xmm9
mulsd xmm2, xmm1
movaps xmm1, xmm2
jmp 0x180021693
comisd xmm6, xmm1
jbe 0x180021679
mulsd xmm1, xmm13
jmp 0x180021693
mulsd xmm2, xmm4
subsd xmm2, xmm7
movaps xmm0, xmm1
subsd xmm0, xmm6
movaps xmm1, xmm2
mulsd xmm1, xmm0
subsd xmm1, xmm7
addsd xmm1, xmm3
movsd qword [rsp + 0x70], xmm1
movsd xmm0, qword [rbp + rbx*8 - 0x10]
movsd qword [rsp + 0x58], xmm0
lea r9, [rsp + 0x70]
mov r8d, 0x31
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1800198f0
mov qword [rbp + rbx*8 - 0x10], rax
movsd xmm4, qword [0x18009f508]
movsd xmm3, qword [0x18009f520]
movsd xmm5, qword [0x18009f5d8]
mov r8, qword [rbp + 0x960]
inc rbx
cmp rbx, 0x88
jl 0x1800215f0
mov rax, qword [rsp + 0x60]
cmp dword [r14], 0xa
jne 0x180021818
xor ebx, ebx
nop word [rax + rax]
movsd xmm0, qword [rdi]
movsxd rax, dword [r8 + rbx*4]
movsd xmm1, qword [r13 + rax*8]
subsd xmm1, xmm0
comisd xmm1, xmm11
jb 0x1800217fb
comisd xmm10, xmm1
jbe 0x1800217fb
movsd xmm2, qword [r12 + rdi]
mulsd xmm0, qword [0x18009f510]
addsd xmm0, xmm14
addsd xmm0, qword [0x18009f550]
movaps xmm3, xmm2
subsd xmm3, xmm0
comisd xmm15, xmm1
jbe 0x18002177a
addsd xmm1, xmm6
mulsd xmm1, xmm7
mulsd xmm2, xmm8
addsd xmm2, xmm9
subsd xmm1, xmm2
jmp 0x1800217bb
comisd xmm12, xmm1
jbe 0x180021794
mulsd xmm2, xmm8
addsd xmm2, xmm9
mulsd xmm2, xmm1
movaps xmm1, xmm2
jmp 0x1800217bb
comisd xmm6, xmm1
jbe 0x1800217a1
mulsd xmm1, xmm13
jmp 0x1800217bb
mulsd xmm2, xmm4
subsd xmm2, xmm7
movaps xmm0, xmm1
subsd xmm0, xmm6
movaps xmm1, xmm2
mulsd xmm1, xmm0
subsd xmm1, xmm7
addsd xmm1, xmm3
movsd qword [rsp + 0x58], xmm1
movsd xmm0, qword [rbp + rbx*8 + 0x430]
movsd qword [rsp + 0x70], xmm0
lea r9, [rsp + 0x58]
mov r8d, 0x31
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1800198f0
mov qword [rbp + rbx*8 + 0x430], rax
mov r8, qword [rbp + 0x960]
inc rbx
cmp rbx, 0x88
movsd xmm4, qword [0x18009f508]
jl 0x180021710
mov rax, qword [rsp + 0x60]
add r14, 4
add rdi, 8
sub rax, 1
mov qword [rsp + 0x60], rax
movsd xmm4, qword [0x18009f508]
movsd xmm3, qword [0x18009f520]
movsd xmm5, qword [0x18009f5d8]
mov rcx, qword [rsp + 0x38]
jne 0x1800215e0
mov r15, qword [rbp + 0x988]
mov r12, qword [rbp + 0x998]
jmp 0x180021b0e
mov qword [rbp - 0x80], r14
mov r10, rsi
mov qword [rsp + 0x50], rsi
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rsi + r9], 0
jne 0x180021872
mov qword [rsp + 0x48], r9
cmp byte [r9 + rsi - 1], 0x3d
jne 0x180021b2e
dec r9
mov qword [rsp + 0x48], r9
jmp 0x180021b2e
mov byte [0x1800b60e8], 0
mov r9, rsi
mov r8d, 0x5c
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x50]
call fcn.180063980
test al, al
je 0x180021b7b
mov r8d, 0x1c
lea rdx, [rbp - 0x50]
xor ecx, ecx
call fcn.18003a590
test al, al
je 0x180021b7b
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 0x5f]
xor r8d, r8d
lea rdx, [rbp - 0x78]
xor ecx, ecx
call fcn.18002d9e0
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov ecx, dword [rbp + 0x950]
mov edx, dword [rsp + 0x34]
jmp 0x180021b2e
lea rax, [r9 - 1]
cmp byte [r9 + rsi - 1], 0x3d
cmovne rax, r9
mov r9, rax
mov qword [rsp + 0x48], rax
mov r8, rax
shr r8, 2
test r8, r8
je 0x1800219cb
lea r11, str.________________________________________________456789:_________
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r10 + 1]
movzx edx, byte [rax + r11]
shr dl, 4
and dl, 3
movzx eax, byte [r10]
movzx ecx, byte [rax + r11]
shl cl, 2
add dl, cl
mov byte [r14], dl
movzx eax, byte [r10 + 1]
movzx edx, byte [rax + r11]
shl dl, 4
movzx eax, byte [r10 + 2]
movzx ecx, byte [rax + r11]
shr cl, 2
add dl, cl
mov byte [r14 + 1], dl
movzx eax, byte [r10 + 2]
movzx ecx, byte [rax + r11]
shl cl, 6
movzx eax, byte [r10 + 3]
add cl, byte [rax + r11]
mov byte [r14 + 2], cl
add r14, 3
add r10, 4
sub r8, 1
jne 0x180021950
mov qword [rsp + 0x50], r10
mov qword [rbp + 0x958], r14
mov ecx, dword [rbp + 0x950]
mov rdx, r9
and edx, 3
mov qword [rsp + 0x78], rdx
mov edx, dword [rsp + 0x34]
jmp 0x180021b2e
mov eax, ecx
sub eax, 0x150
je 0x180021a56
sub eax, 0x6f
je 0x180021b80
cmp eax, 0x3f
jne 0x180021b2e
mov rdx, qword [rsp + 0x78]
cmp rdx, 2
jne 0x180021b8b
movzx eax, byte [r10 + 1]
lea r9, str.________________________________________________456789:_________
movzx edx, byte [rax + r9]
shr dl, 4
and dl, 3
movzx eax, byte [r10]
movzx ecx, byte [rax + r9]
shl cl, 2
add dl, cl
mov byte [r14], dl
movzx eax, byte [r10 + 1]
movzx ecx, byte [rax + r9]
shl cl, 4
mov byte [r14 + 1], cl
add r14, 2
mov rax, qword [rbp - 0x80]
sub r14d, eax
mov rax, qword [rbp - 0x60]
jmp 0x180021c04
mov rdi, r8
xor ebx, ebx
movsd xmm11, qword [0x18009f628]
movsd xmm0, qword [rbp + rbx - 0x10]
movsd qword [rsp + 0x38], xmm0
movsd xmm1, qword [rbp + rbx + 0x430]
movsd qword [rsp + 0x58], xmm1
lea r9, [rsp + 0x38]
mov r8d, 0x31
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1800198f0
mov qword [rsp + 0x38], rax
movsd xmm0, qword [rsp + 0x38]
movsd qword [rbx + r14], xmm0
movsxd rax, dword [rdi]
movsd qword [rsp + 0x38], xmm0
lea r9, [rsp + 0x38]
mov r8d, 0x31
mov rdx, rsi
movsd xmm0, qword [r15 + rax*8]
cmp dword [r12], 0x60
jge 0x180021ad7
movsd qword [rbp - 0x58], xmm0
lea rcx, [rbp - 0x58]
jmp 0x180021ae7
subsd xmm0, xmm11
movsd qword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.1800198f0
mov qword [rbx + r14], rax
add rdi, 4
add rbx, 8
cmp rbx, 0x440
jl 0x180021a64
movsd xmm11, qword [0x18009f758]
mov edx, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x68]
mov ecx, dword [rbp + 0x950]
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
mov rbx, qword [rbp + 0x9a0]
add ecx, 0xb4
mov dword [rbp + 0x950], ecx
cmp ecx, edx
jae 0x180021bfb
mov r8, qword [rbp + 0x960]
mov r14, qword [rbp + 0x958]
jmp 0x18002147b
mov qword [rsp + 0x40], rdi
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0xe3
lea rcx, [rsp + 0x40]
call fcn.180018bd0
mov byte [rsp + 0x30], 0
mov r14d, dword [rsp + 0x30]
mov rax, qword [rbp - 0x60]
jmp 0x180021c04
cmp rdx, 3
jne 0x180021bee
movzx eax, byte [r10 + 1]
lea r9, str.________________________________________________456789:_________
movzx edx, byte [rax + r9]
shr dl, 4
and dl, 3
movzx eax, byte [r10]
movzx ecx, byte [rax + r9]
shl cl, 2
add dl, cl
mov byte [r14], dl
movzx eax, byte [r10 + 1]
movzx edx, byte [rax + r9]
shl dl, 4
movzx eax, byte [r10 + 2]
movzx ecx, byte [rax + r9]
shr cl, 2
add dl, cl
mov byte [r14 + 1], dl
movzx eax, byte [r10 + 2]
movzx ecx, byte [rax + r9]
shl cl, 6
mov byte [r14 + 2], cl
add r14, 3
mov rax, qword [rbp - 0x80]
sub r14d, eax
mov rax, qword [rbp - 0x60]
jmp 0x180021c04
mov rax, qword [rbp - 0x60]
mov r14d, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x180021c3c
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180021c37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180021ce3
call fcn.180069fec
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x180021c87
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180021c82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180021cdd
call fcn.180069fec
mov eax, r14d
lea r11, [rsp + 0xa10]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18006eba4
nop
call fcn.18006eba4
nop
int3