Function at 0x140001300
Capabilities:
Decode data using base64 via winapi

Disassembly:
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
xor r12d, r12d
mov rsi, r8
mov r15d, r12d
mov rdi, rdx
mov r14, rcx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r12b
jne 0x140001323
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rbp
test rax, rax
je 0x1400016a2
nop word [rax + rax]
movsx ecx, byte [r15 + r14]
sub ecx, 0x31
je 0x1400015f2
sub ecx, 1
je 0x1400014c8
sub ecx, 1
je 0x140001459
sub ecx, 1
je 0x1400013e9
cmp ecx, 1
jne 0x140001685
mov ecx, dword [rsi]
mov edx, 1
shr ecx, 1
add ecx, 2
call fcn.140009b88
mov rbx, rax
test rax, rax
je 0x1400016c2
mov r10d, dword [rsi]
mov r9d, r12d
mov r8d, r12d
test r10d, r10d
je 0x1400013d6
nop dword [rax]
lea eax, [r8 + 1]
mov ecx, r8d
add r8d, 2
movzx edx, byte [rcx + rdi]
shl dl, 4
sub dl, 0x51
add dl, byte [rax + rdi]
mov eax, r9d
inc r9d
mov byte [rax + rbx], dl
cmp r8d, r10d
jb 0x1400013b0
mov rcx, rdi
mov dword [rsi], r9d
call fcn.14000a0b4
mov rdi, rbx
jmp 0x140001685
mov ecx, dword [rsi]
mov edx, 1
shr ecx, 1
add ecx, 2
call fcn.140009b88
mov rbx, rax
test rax, rax
je 0x1400016c2
mov r10d, dword [rsi]
mov r9d, r12d
mov r8d, r12d
test r10d, r10d
je 0x140001446
nop dword [rax]
nop dword [rax + rax]
lea eax, [r8 + 1]
mov ecx, r8d
add r8d, 2
movzx edx, byte [rcx + rdi]
shl dl, 4
sub dl, 0x71
add dl, byte [rax + rdi]
mov eax, r9d
inc r9d
mov byte [rax + rbx], dl
cmp r8d, r10d
jb 0x140001420
mov rcx, rdi
mov dword [rsi], r9d
call fcn.14000a0b4
mov rdi, rbx
jmp 0x140001685
mov eax, dword [rsi]
add eax, 0xfffffffc
je 0x1400016c2
mov ecx, eax
mov edx, 1
call fcn.140009b88
mov rbx, rax
test rax, rax
je 0x1400016c2
mov r10d, dword [rsi]
mov r8d, 4
cmp r10d, r8d
jbe 0x1400014b5
lea r11d, [r10 - 4]
nop
lea r9d, [r8 - 4]
cmp r9d, r11d
jae 0x1400014b5
mov ecx, r8d
and ecx, 3
mov eax, r8d
inc r8d
movzx edx, byte [rcx + rdi]
xor dl, byte [rax + rdi]
mov byte [r9 + rbx], dl
cmp r8d, r10d
jb 0x140001490
mov rcx, rdi
call fcn.14000a0b4
add dword [rsi], 0xfffffffc
mov rdi, rbx
jmp 0x140001685
mov r8d, dword [rsi]
test r8d, r8d
je 0x1400014f4
mov rax, rdi
mov edx, r8d
movzx ecx, byte [rax]
cmp cl, 0x5f
jne 0x1400014e3
mov byte [rax], 0x2f
jmp 0x1400014eb
cmp cl, 0x2d
jne 0x1400014eb
mov byte [rax], 0x2b
inc rax
sub rdx, 1
jne 0x1400014d6
mov eax, r8d
lea ecx, [r8 + 2]
and eax, 3
mov edx, 1
add ecx, eax
call fcn.140009b88
mov rbp, rax
test rax, rax
jne 0x140001517
mov rbp, r12
jmp 0x140001548
mov ebx, dword [rsi]
mov rdx, rdi
mov r8d, ebx
mov rcx, rbp
call fcn.1400096b0
test bl, 3
je 0x140001540
nop dword [rax]
mov eax, dword [rsi]
lea ecx, [rax + 1]
mov byte [rax + rbp], 0x3d
mov dword [rsi], ecx
test cl, 3
jne 0x140001530
mov rcx, rdi
call fcn.14000a0b4
mov edx, dword [rsi]
lea rax, [rsp + 0x98]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov rcx, rbp
mov dword [rsp + 0x98], r12d
mov rdi, r12
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1400016c2
mov eax, dword [rsp + 0x98]
test eax, eax
je 0x1400015e2
lea ecx, [rax + 2]
mov edx, 1
call fcn.140009b88
mov rdi, rax
test rax, rax
je 0x1400016c2
xor edx, edx
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], r12
mov r9, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbp
lea r8d, [rdx + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1400016c2
mov eax, dword [rsp + 0x98]
mov dword [rsi], eax
mov rcx, rbp
call fcn.14000a0b4
test rdi, rdi
jmp 0x140001683
mov edx, dword [rsi]
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov rcx, rdi
mov dword [rsp + 0x40], r12d
mov rbx, r12
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1400016c2
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140001675
lea ecx, [rax + 2]
mov edx, 1
call fcn.140009b88
mov rbx, rax
test rax, rax
je 0x1400016c2
xor edx, edx
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], r12
mov r9, rbx
mov qword [rsp + 0x20], rax
mov rcx, rdi
lea r8d, [rdx + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1400016c2
mov eax, dword [rsp + 0x40]
mov dword [rsi], eax
mov rcx, rdi
call fcn.14000a0b4
test rbx, rbx
mov rdi, rbx
je 0x1400016c2
inc r15
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [r14 + rax], r12b
jne 0x140001690
cmp r15, rax
jb 0x140001350
mov rax, rdi
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x1400016a5