Function at 0x18005fc90
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x7c0]
sub rsp, 0x8c0
mov eax, dword [0x1800d62b0]
mov r15, r9
mov r12d, r8d
mov r10, rdx
mov r13, rcx
test al, 1
jne 0x18005fcd2
or eax, 1
mov dword [0x1800d62b0], eax
lea esi, [r8 + 0x1a0]
mov qword [rsp + 0x918], r14
xor ebx, ebx
lea rcx, [0x180000000]
mov edi, r12d
cmp r12d, esi
jae 0x18005fd71
mov edx, 0x4d4c
movabs r8, 0x5000004400000000
cmp edi, 0x138
ja case.default.0x18005fd32
je 0x1800600f7
lea eax, [rdi - 0x32]
cmp eax, 0xec
ja case.default.0x18005fd32
movzx eax, byte [rcx + rax + 0x606d4]
mov ecx, dword [rcx + rax*4 + 0x60694]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r8d, 3
lea rdx, [0x1800a2a3b]
lea rcx, [0x1800d627e]
call fcn.180073af0
mov r10, qword [rbp + 0x808]
mov edx, 0x4d4c
movabs r8, 0x5000004400000000
lea rcx, [0x180000000]
add edi, 0x1a
cmp edi, esi
jb 0x18005fd01
lea eax, [r12 + 0x11]
cmp r12d, eax
jae 0x180060674
mov rsi, qword [rsp + 0x38]
lea edi, [r12 - 0x32]
mov r15, qword [rsp + 0x38]
mov r14d, 0x11
mov r9, qword [0x1800d62a8]
movabs r11, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0x34], edi
mov r12d, 0x3736
mov qword [rbp - 0x50], r14
lea edx, [r14 + 0x35]
lea r8d, [r14 + 0x63]
nop dword [rax + rax]
cmp edi, 0x10
ja case.default.0x18005fdda
mov ecx, dword [rcx + rdi*4 + 0x607c4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov ecx, 0xffffff2c
lea rdx, [rbp - 0x30]
call qword [0x1800d5910]
jmp 0x18005fd4d
movzx eax, word [0x1800a2a86]
lea rdx, [0x1800a2ae3]
mov word [0x1800d6273], ax
lea rcx, [0x1800d6260]
movzx eax, byte [0x1800a2a88]
mov r8d, 1
mov byte [0x1800d6275], al
mov byte [0x1800d6276], bl
call fcn.1800738b0
jmp 0x18005fd4d
mov eax, dword [str.NOPQRSTUVWXYZ__]
mov dword [0x1800d626d], eax
movzx eax, byte [0x1800a2af4]
mov byte [0x1800d6271], al
mov byte [0x1800d6272], 0x53
jmp case.0x18005fd32.65
mov dword [0x1800d627a], 0x64636261
mov byte [0x1800d627e], bl
jmp case.0x18005fd32.65
mov eax, dword [r13]
lea r9, [rsp + 0x68]
xor r8d, r8d
mov dword [rbp + 0x52c], eax
lea rdx, [rbp - 0x30]
mov dword [rsp + 0x68], 0x200
mov ecx, 0xad
mov qword [rsp + 0x20], r15
call fcn.18006bdd0
jmp 0x18005fd4d
mov r14d, ebx
mov edi, ebx
mov esi, 0x115
nop word [rax + rax]
cmp esi, 0x115
je 0x18005ffe1
cmp esi, 0xad20
je 0x18005ffb0
cmp esi, 0x1592b
je 0x18005fee4
cmp esi, 0x20536
jne 0x180060007
mov r14d, edi
jmp 0x180060007
cmp edi, dword [r15]
jae 0x180060025
mov edx, 0x71
mov eax, edx
sub eax, 0x71
je 0x18005ff12
sub eax, 1
je 0x18005ff94
cmp eax, 1
jne 0x18005ff99
inc edi
jmp 0x18005ff99
mov eax, edi
movzx ecx, byte [rax + r10]
cmp cl, 0x22
je 0x18005ff6d
cmp cl, 0x26
je 0x18005ff59
cmp cl, 0x3c
je 0x18005ff43
cmp cl, 0x3e
jne 0x18005ff99
mov dword [rsp + 0x70], 4
lea r8, str.gt_
lea rdx, [rsp + 0x70]
jmp 0x18005ff7f
mov dword [rsp + 0x78], 4
lea r8, str.lt_
lea rdx, [rsp + 0x78]
jmp 0x18005ff7f
mov dword [rbp - 0x80], 5
lea r8, str.amp_
lea rdx, [rbp - 0x80]
jmp 0x18005ff7f
mov dword [rbp - 0x78], 6
lea r8, str.quot_
lea rdx, [rbp - 0x78]
mov r9d, 0x122
mov rcx, r13
call fcn.180060dd0
mov r10, qword [rbp + 0x808]
mov edx, 0x72
inc edx
cmp edx, 0x74
jb 0x18005fef2
movabs r8, 0x5000004400000000
jmp 0x180060007
cmp edi, r14d
jbe 0x180060007
mov eax, edi
mov r8d, r14d
sub eax, r14d
lea rdx, [rbp - 0x70]
add r8, r10
mov dword [rbp - 0x70], eax
mov r9d, 0x122
mov rcx, r13
call fcn.180060dd0
movabs r8, 0x5000004400000000
jmp 0x180060007
mov edx, dword [r15]
cmp edi, edx
jae 0x180060007
mov ecx, edi
add rcx, r10
nop dword [rax]
movsx rax, byte [rcx]
cmp al, 0x3e
ja 0x18005fffe
bt r8, rax
jb 0x180060007
inc edi
inc rcx
cmp edi, edx
jb 0x18005fff0
mov r10, qword [rbp + 0x808]
add esi, 0xac0b
cmp esi, 0x2b02c
jbe 0x18005feb0
jmp 0x18005fea0
mov edi, 0x62
lea esi, [r12 + 0x1a0]
mov edx, 0x4d4c
jmp case.0x18005fd32.65
mov word [0x1800d6278], 0x5a59
mov byte [0x1800d627a], bl
jmp case.0x18005fd32.65
mov word [0x1800d626b], dx
jmp case.0x18005fd32.65
mov eax, dword [0x1800a2b0d]
mov dword [0x1800d6260], eax
movzx eax, byte [0x1800a2b11]
mov byte [0x1800d6264], al
jmp case.0x18005fd32.65
movzx eax, word [0x1800a2b21]
mov word [0x1800d6265], ax
movzx eax, byte [0x1800a2b23]
mov byte [0x1800d6267], al
movzx eax, word [0x1800a2b38]
mov word [0x1800d6268], ax
movzx eax, byte [0x1800a2b3a]
mov byte [0x1800d626a], al
jmp case.0x18005fd32.65
mov word [0x1800d6277], 0x58
jmp case.0x18005fd32.65
mov byte [0x1800d626b], bl
jmp case.0x18005fd32.65
lea r9, [rbp - 0x68]
mov dword [rbp - 0x68], 0x200
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea rdx, [rbp + 0x1d0]
mov ecx, 0xad
call fcn.18006bdd0
jmp 0x18005fd4d
mov word [0x1800d5918], bx
jmp case.default.0x18005fd32
cmp byte [r13], 0xa
jne 0x180060113
mov rax, qword [r13 + 2]
jmp 0x180060679
mov rax, rbx
jmp 0x180060679
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x58], rbx
test rax, rax
je case.default.0x18005fdda
lea rcx, [rax - 1]
mov rax, r11
mul rcx
shr rdx, 1
inc rdx
lea rax, [rdx + rdx*2]
mov qword [rbp - 0x58], rax
nop word [rax + rax]
mov r8d, 0x12b
mov eax, r8d
sub eax, 0x12a
je 0x180060179
cmp eax, 1
jne 0x1800601c7
movzx eax, byte [r15]
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rsi], al
inc rsi
jmp 0x1800601c7
movzx eax, byte [r15 + 1]
movzx ecx, byte [r15]
shr eax, 4
and ecx, 3
shl ecx, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rsi], cl
movzx eax, byte [r15 + 2]
movzx ecx, byte [r15 + 1]
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r9]
mov byte [rsi + 1], al
movzx eax, byte [r15 + 2]
and eax, 0x3f
movzx eax, byte [rax + r9]
mov byte [rsi + 2], al
add rsi, 3
add r15, 3
dec r8d
cmp r8d, 0x129
ja 0x180060156
sub rdx, 1
jne 0x180060150
jmp case.default.0x18005fdda
mov r8d, 2
lea rdx, [0x1800a2b7b]
lea rcx, [0x1800d6285]
call fcn.180073af0
mov word [0x1800d6287], 0x6e
jmp 0x180060638
mov byte [0x1800d629e], 0
jmp case.default.0x18005fdda
lea rdx, [0x1800a2b9a]
lea rcx, [0x1800d629e]
jmp 0x18006062d
mov r8d, 3
mov word [0x1800d6281], 0x68
lea rdx, [0x1800a2bb8]
lea rcx, [0x1800d6260]
call fcn.1800738b0
jmp 0x180060638
mov rdx, qword [rbp - 0x40]
xor r8d, r8d
mov rcx, r10
call fcn.180061d00
jmp 0x180060638
mov eax, dword [0x1800a2bfe]
lea rdx, [0x1800a2c11]
mov dword [0x1800d6293], eax
lea rcx, [0x1800d6260]
movzx eax, byte [0x1800a2c02]
mov r8d, 2
mov byte [0x1800d6297], al
mov byte [0x1800d6298], 0
call fcn.1800738b0
jmp 0x180060638
mov word [0x1800d629a], r12w
jmp case.default.0x18005fdda
mov r8d, 4
lea rdx, [0x1800a2c2b]
lea rcx, [0x1800d6260]
call fcn.1800738b0
jmp 0x180060638
movzx eax, word [0x1800a2c62]
mov word [0x1800d6288], ax
movzx eax, byte [0x1800a2c64]
mov byte [0x1800d628a], al
jmp case.default.0x18005fdda
cmp qword [r13 + 0x18], 0x10
mov r15, r13
jb case.default.0x18005fdda
mov r15, qword [r13]
jmp case.default.0x18005fdda
mov r10, qword [rbp - 0x58]
cmp r10, qword [r13 + 0x10]
jae case.default.0x18005fdda
mov r12d, 0x53
nop word [rax + rax]
mov eax, r12d
sub eax, 0x53
je 0x18006056c
sub eax, 0x13
je 0x18006052d
sub eax, 0x13
je 0x18006050c
cmp eax, 0x13
jne 0x180060574
lea rax, [r10 + 1]
cmp rax, qword [r13 + 0x10]
jae 0x18006036a
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp + 0x810]
and ecx, 0xf
shr eax, 6
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r9]
jmp 0x18006036c
mov al, 0x3d
mov r14d, 6
mov byte [rsi], al
mov edi, ebx
mov rbx, qword [rbp - 0x48]
lea r13d, [r14 + 0x6c]
nop
cmp edi, 5
ja case.default.0x18006039d
lea r9, [0x180000000]
mov eax, edi
mov ecx, dword [r9 + rax*4 + 0x60808]
add rcx, r9
jmp rcx
movzx eax, word [0x1800a2c6c]
lea rdx, [0x18009f2fc]
mov word [rsp + 0x5d], ax
lea rcx, [rsp + 0x40]
mov eax, dword [str.st__p]
mov r8d, 1
mov dword [rsp + 0x5f], eax
movzx eax, word [0x1800a2c74]
mov word [rsp + 0x63], ax
call fcn.1800738b0
mov edx, 0x46
lea r8d, [rdx + 0x2e]
jmp case.default.0x18006039d
mov word [rsp + 0x40], dx
mov word [rsp + 0x41], r13w
jmp case.default.0x18006039d
mov r8d, 3
lea rdx, [0x1800a2c78]
lea rcx, [rsp + 0x42]
call fcn.180073af0
lea rcx, [rsp + 0x40]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180060415
movzx eax, word [0x1800a18a0]
mov edx, 0x46
mov word [rcx], ax
movzx eax, byte [0x1800a18a2]
mov byte [rcx + 2], al
mov dword [rsp + 0x46], 0x797263
lea r8d, [rdx + 0x2e]
jmp case.default.0x18006039d
mov r8, rbx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x5c0]
call fcn.18006cc40
mov edx, 0x46
lea r8d, [rdx + 0x2e]
jmp case.default.0x18006039d
lea rcx, [rsp + 0x40]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180060473
movzx eax, word [0x18009f8d4]
mov word [rcx], ax
mov word [rsp + 0x4a], r8w
mov word [rsp + 0x4b], 0x69
jmp case.default.0x18006039d
movzx eax, word [0x1800a1130]
lea rcx, [rsp + 0x40]
movsd xmm0, qword [str.tificateH]
dec rcx
mov dword [rsp + 0x4c], 0x436e6f
mov word [rsp + 0x4f], ax
movzx eax, word [0x1800a2c88]
mov word [rsp + 0x59], ax
movsd qword [rsp + 0x51], xmm0
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1800604d0
mov eax, dword [0x1800a2c8c]
mov dword [rcx], eax
inc edi
sub r14, 1
jne 0x180060380
mov r9, qword [0x1800d62a8]
mov r13, qword [rbp + 0x800]
mov r10, qword [rbp - 0x58]
mov byte [rsi + 1], 0x3d
add rsi, 2
xor ebx, ebx
jmp 0x180060574
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp + 0x810]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + r9]
mov byte [rsi], cl
inc rsi
jmp 0x180060574
lea rax, [r10 + 1]
cmp rax, qword [r13 + 0x10]
jae 0x180060544
movzx ecx, byte [r15 + 1]
mov dword [rbp + 0x810], ecx
jmp 0x18006054a
mov dword [rbp + 0x810], ebx
mov eax, dword [rsp + 0x30]
shr rax, 2
mov dword [rbp - 0x60], ebx
movzx eax, byte [rax + r9]
mov byte [rsi], al
inc rsi
mov rax, qword [sym.imp.ADVAPI32.dll_FreeEncryptionCertificateHashList]
mov qword [rbp - 0x48], rax
jmp 0x180060574
movzx eax, byte [r15]
mov dword [rsp + 0x30], eax
add r12d, 0x13
cmp r12d, 0x9f
jb 0x180060320
mov edi, dword [rsp + 0x34]
mov r12d, 0x3736
mov r14, qword [rbp - 0x50]
jmp 0x18006063f
mov r8d, 4
lea rdx, [0x1800a2ca8]
lea rcx, [0x1800d628b]
call fcn.180073af0
mov byte [0x1800d628f], 0
jmp 0x180060638
mov byte [0x1800d62a0], 0
lea r9, [0x1800d6260]
mov rcx, qword [r13 + 0x10]
mov rax, r11
add rcx, 2
mov qword [0x1800d62a8], r9
mul rcx
mov rax, rdx
shr rax, 1
shl rax, 2
mov qword [rbp - 0x40], rax
jmp case.default.0x18005fdda
cmp qword [r10 + 0x18], 0x10
mov rsi, r10
jb 0x1800605fa
mov rsi, qword [r10]
mov rax, r11
mul qword [r13 + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x38], rax
jmp case.default.0x18005fdda
mov byte [0x1800d628b], 0
jmp case.default.0x18005fdda
mov byte [0x1800d629c], 0
lea rdx, [0x1800a2d05]
lea rcx, [0x1800d629c]
mov r8d, 2
call fcn.180073af0
mov r9, qword [0x1800d62a8]
movabs r11, 0xaaaaaaaaaaaaaaab
mov r10, qword [rbp + 0x808]
lea rcx, [0x180000000]
inc edi
mov edx, 0x46
sub r14, 1
mov dword [rsp + 0x34], edi
mov qword [rbp - 0x50], r14
lea r8d, [rdx + 0x2e]
jne 0x18005fdc0
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x918]
add rsp, 0x8c0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret