Function at 0x180020fe0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rsi
push rdi
push r14
push r15
sub rsp, 0x88
mov eax, dword [0x180067f40]
mov r10, r8
mov r15d, edx
mov r14, rcx
test al, 1
jne 0x180021012
or eax, 1
mov dword [0x180067f40], eax
mov qword [rsp + 0xb0], rbx
lea esi, [rdx + 0x8c4]
mov rbx, qword [rsp + 0xc8]
mov edi, r15d
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x30], rbx
cmp r15d, esi
jae 0x180021245
mov edx, 0x44
lea ebp, [rdx + 0xf]
lea ecx, [rdx + 0xe]
lea r12d, [rdx + 0x10]
lea r13d, [rdx + 0xd]
nop
cmp edi, 0x1ae
ja 0x18002118c
je 0x18002116c
cmp edi, 0xe7
ja 0x18002111c
je 0x1800216dd
mov eax, edi
sub eax, 0x2c
je 0x1800210ed
sub eax, 0xc
je 0x1800210be
cmp eax, 0x55
jne 0x180021237
movss xmm0, dword [r14]
subss xmm0, dword [r10]
movss xmm1, dword [r14 + 4]
movss dword [r14], xmm0
subss xmm1, dword [r10]
movss dword [r14 + 4], xmm1
jmp 0x180021237
mov dword [0x180067ef0], 0x434241
lea rcx, [0x180067ef4]
mov word [0x180067ef3], dx
mov r8d, 3
lea rdx, [0x18005463c]
call fcn.18003fd90
jmp 0x180021227
lea r8, [rsp + 0x40]
mov edx, 0x24
mov rcx, r10
call fcn.1800168b0
mov r8, rax
mov edx, 0x134
mov rcx, r14
call fcn.180039720
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x180021227
mov eax, edi
sub eax, 0xf3
je 0x18002115d
cmp eax, 0x55
jne 0x180021237
movss xmm0, dword [r14 + 8]
mov rbx, r14
subss xmm0, dword [r10]
movss xmm1, dword [r14 + 0xc]
mov qword [rsp + 0x30], rbx
movss dword [r14 + 8], xmm0
subss xmm1, dword [r10]
movss dword [r14 + 0xc], xmm1
jmp 0x180021237
mov dword [0x180067ef6], 0x494847
jmp 0x180021237
movzx eax, word [0x180054648]
mov word [0x180067ef9], ax
movzx eax, byte [0x18005464a]
mov byte [0x180067efb], al
jmp 0x180021237
mov eax, edi
sub eax, 0x203
je 0x1800216dd
sub eax, 0x66
je 0x1800211f5
sub eax, 0xbb
je 0x1800211e4
sub eax, 0xbb
je 0x1800211d3
cmp eax, 0xbb
jne 0x180021237
mov eax, dword [str.UVWXY]
mov dword [0x180067f04], eax
movzx eax, word [0x180054644]
mov word [0x180067f08], ax
jmp 0x180021237
mov word [0x180067f02], bp
mov word [0x180067f03], r12w
jmp 0x180021237
mov word [0x180067f00], r13w
mov word [0x180067f01], cx
jmp 0x180021237
mov r8d, 2
lea rdx, [0x180054630]
lea rcx, [0x180067efb]
call fcn.18003fd90
mov eax, dword [str.MNOP]
mov dword [0x180067efc], eax
movzx eax, byte [0x180054638]
mov byte [0x180067f00], al
mov r10, qword [rsp + 0xc0]
mov ecx, 0x52
lea edx, [rcx - 0xe]
add edi, 0xbb
cmp edi, esi
jb 0x180021060
lea r9d, [r15 + 0x9a6]
mov dword [rsp + 0xc8], r9d
cmp r15d, r9d
jae 0x1800216dd
mov rdi, qword [rsp + 0xc8]
mov ecx, 0x62
mov r13d, dword [rsp + 0xb8]
movabs r8, 0xaaaaaaaaaaaaaaab
mov r12d, dword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc8]
mov r9, qword [0x180067f38]
lea edx, [rcx - 1]
mov ebx, dword [rsp + 0xb8]
lea esi, [rcx + 1]
mov eax, dword [rsp + 0xc8]
lea r11d, [rcx - 8]
nop dword [rax + rax]
cmp r15d, 0x4ac
ja 0x1800213d0
je 0x1800213a7
cmp r15d, 0x272
ja 0x18002131b
je 0x18002130f
cmp r15d, 0x38
je 0x180021302
cmp r15d, 0xf6
je 0x1800212f6
cmp r15d, 0x1b4
jne 0x1800216b8
mov word [0x180067f0b], cx
jmp 0x1800216b8
mov word [0x180067f0a], dx
jmp 0x1800216b8
mov word [0x180067f09], r11w
jmp 0x1800216b8
mov word [0x180067f0c], si
jmp 0x1800216b8
cmp r15d, 0x330
je 0x180021361
cmp r15d, 0x3ee
jne 0x1800216b8
mov eax, dword [str.rstuv]
mov dword [0x180067f1b], eax
movzx eax, word [0x180054650]
mov word [0x180067f1f], ax
movabs rax, 0x3231307a797877
mov qword [0x180067f20], rax
jmp 0x1800216b1
movzx eax, word [0x18005465c]
lea rdx, str.fghijklmnopq
mov word [0x180067f0d], ax
lea rcx, [0x180067f0f]
movzx eax, byte [0x18005465e]
mov r8d, 0xd
mov byte [0x180067f0f], al
call fcn.18003fd90
mov r9, qword [0x180067f38]
mov r11d, 0x5a
jmp 0x18002169f
mov r8d, 0xa
lea rdx, [0x180067f27]
mov ecx, 0x8707
call fcn.18004004c
mov r9, qword [0x180067f38]
mov r11d, 0x5a
jmp 0x18002169f
cmp r15d, 0x7a4
ja 0x180021499
je 0x180021483
cmp r15d, 0x56a
je 0x18002143a
cmp r15d, 0x628
je 0x180021418
cmp r15d, 0x6e6
jne 0x1800216b8
cmp qword [r14 + 0x18], 0x10
mov rbp, r14
jb 0x1800216b8
mov rbp, qword [r14]
jmp 0x1800216b8
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
mov rcx, r10
call fcn.18002c840
mov r9, qword [0x180067f38]
mov r11d, 0x5a
jmp 0x18002169f
mov eax, dword [str.89_]
lea r9, [0x180067ef0]
mov dword [0x180067f2c], eax
movzx eax, byte [0x180054658]
mov byte [0x180067f30], al
mov rax, r8
mov rcx, qword [r14 + 0x10]
add rcx, 2
mov qword [0x180067f38], r9
mul rcx
mov rax, rdx
shr rax, 1
shl rax, 2
mov qword [rsp + 0x38], rax
jmp 0x1800216a9
cmp qword [r10 + 0x18], 0x10
mov rdi, r10
jb 0x1800216b8
mov rdi, qword [r10]
jmp 0x1800216b8
cmp r15d, 0x862
je 0x1800215c1
cmp r15d, 0x920
jne 0x1800216b8
mov rax, qword [rsp + 0x28]
cmp rax, qword [r14 + 0x10]
jae 0x1800216b1
mov r15d, dword [rsp + 0x20]
mov esi, 0x102
nop dword [rax]
cmp esi, 0x102
je 0x180021577
cmp esi, 0x2850
je 0x18002155f
cmp esi, 0x4f9e
je 0x180021542
cmp esi, 0x76ec
je 0x18002150b
cmp esi, 0x9e3a
jne 0x180021594
mov byte [rdi], 0x3d
inc rdi
jmp 0x180021594
inc rax
cmp rax, qword [r14 + 0x10]
jae 0x180021529
mov eax, ebx
mov ecx, r12d
and ecx, 0xf
shr eax, 6
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r9]
jmp 0x18002152b
mov al, 0x3d
mov byte [rdi], al
mov ecx, r15d
inc rdi
call qword [sym.imp.RPCRT4.dll_I_RpcMapWin32Status]
mov r9, qword [0x180067f38]
jmp 0x18002158f
mov ecx, r13d
mov eax, r12d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rdi], cl
inc rdi
jmp 0x18002158f
mov eax, r13d
xor ebx, ebx
shr rax, 2
xor r15d, r15d
movzx eax, byte [rax + r9]
mov byte [rdi], al
inc rdi
jmp 0x18002158f
movzx r13d, byte [rbp]
inc rax
cmp rax, qword [r14 + 0x10]
jae 0x18002158c
movzx r12d, byte [rbp + 1]
jmp 0x18002158f
xor r12d, r12d
mov rax, qword [rsp + 0x28]
add esi, 0x274e
cmp esi, 0xc486
jbe 0x1800214d0
mov esi, 0x63
mov dword [rsp + 0x20], r15d
mov r15d, dword [rsp + 0xb8]
lea r11d, [rsi - 9]
jmp 0x18002169f
mov rax, r8
mul qword [r14 + 0x10]
xor eax, eax
shr rdx, 1
mov qword [rsp + 0x28], rax
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x1800216a9
dec rcx
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x28], rax
nop word [rax + rax]
mov r8d, 0x8c
cmp r8d, 0x8c
je 0x18002166f
cmp r8d, 0x5d84
je 0x180021627
cmp r8d, 0xba7c
jne 0x180021681
add rbp, 3
jmp 0x180021681
movzx eax, byte [rbp + 1]
movzx ecx, byte [rbp]
shr eax, 4
and ecx, 3
shl ecx, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rdi], cl
movzx eax, byte [rbp + 2]
movzx ecx, byte [rbp + 1]
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r9]
mov byte [rdi + 1], al
movzx eax, byte [rbp + 2]
and eax, 0x3f
movzx eax, byte [rax + r9]
mov byte [rdi + 2], al
add rdi, 3
jmp 0x180021681
movzx eax, byte [rbp]
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rdi], al
inc rdi
add r8d, 0x5cf8
cmp r8d, 0x116e8
jbe 0x180021606
sub rdx, 1
jne 0x180021600
movabs r8, 0xaaaaaaaaaaaaaaab
mov ecx, 0x62
lea edx, [rcx - 1]
mov eax, dword [rsp + 0xc8]
mov r10, qword [rsp + 0xc0]
add r15d, 0xbe
mov dword [rsp + 0xb8], r15d
cmp r15d, eax
jb 0x1800212b0
mov rbx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x70]
mov rax, rbx
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
pop r15
pop r14
pop rdi
pop rsi
ret