Function at 0x1401b4370
Capabilities:
Decode data using base64 via dword translation table
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x5a0]
sub rsp, 0x6a0
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rbp + 0x590], rax
mov r12, qword [rbp + 0x600]
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x48], r12
xor edx, edx
mov qword [rsp + 0x40], r9
lea rcx, [rbp - 0x70]
mov r8d, 0x200
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [rbp + 0x190]
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov qword [rsp + 0x6f0], r14
mov ebx, edx
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
mov esi, 1
cmp rbx, rdi
je 0x1401b4970
test rbx, rbx
jne 0x1401b441e
mov r14, qword [r13 + 0x80]
mov rax, rdx
test r14, r14
je 0x1401b442b
mov rbx, qword [r14 + 0x88]
mov rax, rbx
jmp 0x1401b442b
mov rax, qword [rbx + 0x88]
mov r14, rbx
mov rbx, rax
test rax, rax
cmove rbx, rdi
test r14, r14
je 0x1401b4970
lea rdx, [r14 + 4]
lea rcx, str.VALUE
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov edx, 0
test eax, eax
jne 0x1401b43f0
cmp dword [r14], 6
jne 0x1401b43f0
mov rax, qword [r14 + 0x70]
xor ebx, ebx
cmp dword [r14 + 0x68], edx
je 0x1401b446d
mov qword [r15 + 0x50], rax
jmp 0x1401b4471
mov qword [r15 + 0x18], rax
mov ecx, dword [r14 + 0x68]
test ecx, ecx
je 0x1401b447f
mov rax, qword [r15 + 0x50]
jmp 0x1401b4483
mov rax, qword [r15 + 0x18]
cmp rax, qword [r14 + 0x78]
jae 0x1401b44c9
test ecx, ecx
lea rcx, [r15 + 0x40]
jne 0x1401b4495
lea rcx, [r15 + 8]
mov r8d, esi
lea rdx, [rsp + 0x60]
call fcn.1401b2ec0
test eax, eax
je 0x1401b496e
cmp rbx, 0x200
jae 0x1401b496e
movzx eax, word [rsp + 0x60]
mov word [rbp + rbx*2 + 0x190], ax
inc rbx
jmp 0x1401b4471
xor edx, edx
cmp rbx, 0x200
jae 0x1401b4970
mov word [rbp + rbx*2 + 0x190], dx
cmp word [rbp + 0x190], dx
jne 0x1401b44f4
mov qword [r12], rdx
xor eax, eax
jmp 0x1401b4f10
mov qword [rsp + 0x38], rdx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rdx
lea r8, [rbp + 0x190]
mov dword [rsp + 0x28], 0x200
mov r9d, edi
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r10, qword [rsp + 0x40]
mov rdx, qword [r12]
mov byte [rbp + 0x18f], 0
test r10, r10
jne 0x1401b4549
test rdx, rdx
je 0x1401b4549
mov r15, qword [rsp + 0x70]
mov eax, r15d
mov qword [r12], rax
jmp 0x1401b45c1
xor ebx, ebx
lea rax, [rbp - 0x70]
mov r15d, ebx
inc rdi
cmp byte [rax + rdi], bl
jne 0x1401b4552
lea rax, [rbp - 0x70]
add rax, rdi
lea rcx, [rbp - 0x70]
cmp rax, rcx
jb 0x1401b45b1
lea rax, [rdi + 3]
shr rax, 2
lea r8, [rax + rax*2]
cmp rdx, r8
jae 0x1401b45d1
mov rcx, rdi
test rdi, rdi
je 0x1401b458f
cmp byte [rbp + rcx - 0x71], 0x3d
jne 0x1401b458f
sub rcx, rsi
jne 0x1401b4583
mov rax, rcx
and eax, 3
jbe 0x1401b45ae
shr rcx, 2
lea r8, [rcx*2 - 1]
add r8, rax
add r8, rcx
cmp rdx, r8
jae 0x1401b45d1
mov r15, r8
mov eax, r15d
mov qword [r12], rax
test r10, r10
jne 0x1401b4f0e
test r15, r15
je 0x1401b4f0e
xor eax, eax
jmp 0x1401b4f10
test r10, r10
je 0x1401b4957
lea rax, [r10 + rdx]
cmp rax, r10
jbe 0x1401b4957
xor ecx, ecx
mov r14d, ecx
mov eax, ecx
test rdi, rdi
je 0x1401b4953
movabs r12, 0x100002600
movabs r13, 0xffffffc07ff1
lea rdx, [0x140204270]
mov r11d, ecx
mov r9d, ecx
mov r8d, ecx
mov r10d, ecx
cmp rax, rdi
jae 0x1401b4874
nop word [rax + rax]
movzx r10d, byte [rbp + rax - 0x70]
inc rax
cmp r10d, 0x41
jb 0x1401b4645
cmp r10b, 0x5a
jbe 0x1401b467e
lea ecx, [r10 - 0x61]
cmp cl, 0x19
jbe 0x1401b467e
lea ecx, [r10 - 0x2f]
cmp cl, 0xa
jbe 0x1401b467e
cmp r10b, 0x2b
je 0x1401b467e
cmp r10b, 0x3d
je 0x1401b467b
cmp r10b, 0x20
ja 0x1401b466f
bt r12, r10
jb 0x1401b4671
mov ebx, esi
cmp rax, rdi
jb 0x1401b4630
jmp 0x1401b478b
mov r14d, esi
cmp rax, rdi
jae 0x1401b478b
nop word [rax + rax]
movzx r8d, byte [rbp + rax - 0x70]
inc rax
cmp r8d, 0x41
jb 0x1401b46a5
cmp r8b, 0x5a
jbe 0x1401b46de
lea ecx, [r8 - 0x61]
cmp cl, 0x19
jbe 0x1401b46de
lea ecx, [r8 - 0x2f]
cmp cl, 0xa
jbe 0x1401b46de
cmp r8b, 0x2b
je 0x1401b46de
cmp r8b, 0x3d
je 0x1401b46db
cmp r8b, 0x20
ja 0x1401b46cf
bt r12, r8
jb 0x1401b46d1
mov ebx, esi
cmp rax, rdi
jb 0x1401b4690
jmp 0x1401b478b
mov r14d, esi
cmp rax, rdi
jae 0x1401b478b
nop word [rax + rax]
movzx r9d, byte [rbp + rax - 0x70]
inc rax
cmp r9d, 0x41
jb 0x1401b4705
cmp r9b, 0x5a
jbe 0x1401b473b
lea ecx, [r9 - 0x61]
cmp cl, 0x19
jbe 0x1401b473b
lea ecx, [r9 - 0x2f]
cmp cl, 0xa
jbe 0x1401b473b
cmp r9b, 0x2b
je 0x1401b473b
cmp r9b, 0x3d
je 0x1401b4738
cmp r9b, 0x20
ja 0x1401b472f
bt r12, r9
jb 0x1401b4731
mov ebx, esi
cmp rax, rdi
jb 0x1401b46f0
jmp 0x1401b478b
mov r14d, esi
cmp rax, rdi
jae 0x1401b478b
movzx r11d, byte [rbp + rax - 0x70]
inc rax
cmp r11d, 0x41
jb 0x1401b4755
cmp r11b, 0x5a
jbe 0x1401b478b
lea ecx, [r11 - 0x61]
cmp cl, 0x19
jbe 0x1401b478b
lea ecx, [r11 - 0x2f]
cmp cl, 0xa
jbe 0x1401b478b
cmp r11b, 0x2b
je 0x1401b478b
cmp r11b, 0x3d
je 0x1401b4788
cmp r11b, 0x20
ja 0x1401b477f
bt r12, r11
jb 0x1401b4781
mov ebx, esi
cmp rax, rdi
jb 0x1401b4740
jmp 0x1401b478b
mov r14d, esi
lea ecx, [r10 - 0x2b]
cmp ecx, 0x2f
ja 0x1401b479a
bt r13, rcx
jb 0x1401b47a7
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
ja 0x1401b4874
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x1401b47b6
bt r13, rcx
jb 0x1401b47c3
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
ja 0x1401b4874
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x1401b47d2
bt r13, rcx
jb 0x1401b47df
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
ja 0x1401b4874
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x1401b47ee
bt r13, rcx
jb 0x1401b47f7
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
ja 0x1401b4874
mov ecx, r8d
movzx r8d, byte [rcx + rdx]
mov ecx, r9d
movzx r9d, byte [rcx + rdx]
movzx ecx, r8b
movzx edx, byte [r10 + rdx]
mov r10, qword [rsp + 0x40]
shr cl, 4
and cl, 3
shl dl, 2
or dl, cl
shl r8b, 4
mov byte [r10 + r15], dl
movzx ecx, r9b
shr cl, 2
lea rdx, [0x140204270]
and cl, 0xf
shl r9b, 6
or cl, r8b
mov byte [r10 + r15 + 1], cl
mov ecx, r11d
movzx edx, byte [rcx + rdx]
and dl, 0x3f
or dl, r9b
mov byte [r10 + r15 + 2], dl
add r15, 3
test r14d, r14d
jne 0x1401b494e
cmp rax, rdi
jae 0x1401b494e
xor ecx, ecx
jmp 0x1401b460b
mov ecx, r10d
call fcn.14014f910
test eax, eax
je 0x1401b4949
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x1401b48f4
mov ecx, r9d
call fcn.14014f910
test eax, eax
je 0x1401b48f4
cmp r11d, 0x3d
jne 0x1401b48f4
mov r12, qword [rsp + 0x48]
mov eax, r8d
lea r8, [0x140204270]
movzx edx, byte [rax + r8]
mov eax, r10d
mov r10, qword [rsp + 0x40]
movzx ecx, byte [rax + r8]
movzx eax, dl
shl cl, 2
shr al, 4
and al, 3
shl dl, 4
or cl, al
mov eax, r9d
mov byte [r10 + r15], cl
movzx ecx, byte [rax + r8]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [r10 + r15 + 1], cl
add r15, 2
test ebx, ebx
jmp 0x1401b495a
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x1401b4949
cmp r9d, 0x3d
jne 0x1401b4949
mov r12, qword [rsp + 0x48]
cmp r11d, r9d
jne 0x1401b4940
mov eax, r8d
lea rcx, [0x140204270]
movzx edx, byte [rax + rcx]
shr dl, 4
mov eax, r10d
and dl, 3
mov r10, qword [rsp + 0x40]
movzx ecx, byte [rax + rcx]
shl cl, 2
or dl, cl
mov byte [r10 + r15], dl
inc r15
test ebx, ebx
jmp 0x1401b495a
mov r10, qword [rsp + 0x40]
test ebx, ebx
jmp 0x1401b495a
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
test ebx, ebx
jmp 0x1401b495a
test rdx, rdx
jne 0x1401b45b1
mov eax, r15d
mov qword [r12], rax
xor eax, eax
jmp 0x1401b4f10
xor edx, edx
mov rbx, rdx
cmp rbx, rdi
je 0x1401b4f0e
test rbx, rbx
jne 0x1401b499c
mov r14, qword [r13 + 0x80]
mov rax, rdx
test r14, r14
je 0x1401b49a9
mov rbx, qword [r14 + 0x88]
mov rax, rbx
jmp 0x1401b49a9
mov rax, qword [rbx + 0x88]
mov r14, rbx
mov rbx, rax
test rax, rax
cmove rbx, rdi
test r14, r14
je 0x1401b4f0e
lea rdx, [r14 + 4]
lea rcx, str.VALUE
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov edx, 0
test eax, eax
jne 0x1401b4973
cmp dword [r14], 6
jne 0x1401b4973
mov rax, qword [r14 + 0x70]
xor ebx, ebx
cmp dword [r14 + 0x68], edx
je 0x1401b49eb
mov qword [r15 + 0x50], rax
jmp 0x1401b49f0
mov qword [r15 + 0x18], rax
nop
mov ecx, dword [r14 + 0x68]
test ecx, ecx
je 0x1401b49fe
mov rax, qword [r15 + 0x50]
jmp 0x1401b4a02
mov rax, qword [r15 + 0x18]
cmp rax, qword [r14 + 0x78]
jae 0x1401b4a2e
test ecx, ecx
lea rcx, [r15 + 0x40]
jne 0x1401b4a14
lea rcx, [r15 + 8]
mov r8d, esi
lea rdx, [rsp + 0x64]
call fcn.1401b2ec0
test eax, eax
je 0x1401b4f0e
inc rbx
jmp 0x1401b49f0
inc rbx
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
test rax, rax
je 0x1401b4f0e
lea rcx, [rbx + rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x58], rax
mov r12, rax
test rax, rax
jne 0x1401b4a65
mov rcx, r14
jmp 0x1401b4f08
xor eax, eax
mov byte [r14], 0
mov word [r12], ax
lea r8, str.VALUE
lea rax, [rsp + 0x68]
mov qword [rsp + 0x68], rbx
mov r9, r12
mov qword [rsp + 0x20], rax
mov rdx, r13
mov rcx, r15
call fcn.1401b0fc0
test eax, eax
jne 0x1401b4efc
mov r8, rbx
mov rdx, r14
mov rcx, r12
call fcn.1401aefc0
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rdx, qword [r11]
test r10, r10
jne 0x1401b4ad1
test rdx, rdx
je 0x1401b4ad1
mov r9, qword [rsp + 0x70]
mov eax, r9d
mov qword [r11], rax
jmp 0x1401b4ef1
xor ecx, ecx
mov r9d, ecx
inc rdi
cmp byte [r14 + rdi], cl
jne 0x1401b4ad6
lea rax, [rdi + r14]
cmp rax, r14
jb 0x1401b4ee6
lea rax, [rdi + 3]
shr rax, 2
lea r8, [rax + rax*2]
cmp rdx, r8
jae 0x1401b4b3b
mov rcx, rdi
test rdi, rdi
je 0x1401b4b12
cmp byte [rcx + r14 - 1], 0x3d
jne 0x1401b4b12
sub rcx, rsi
jne 0x1401b4b05
mov rax, rcx
and eax, 3
jbe 0x1401b4b31
shr rcx, 2
lea r8, [rcx*2 - 1]
add r8, rax
add r8, rcx
cmp rdx, r8
jae 0x1401b4b39
mov r9, r8
jmp 0x1401b4ee6
xor ecx, ecx
test r10, r10
je 0x1401b4edd
lea rax, [r10 + rdx]
cmp rax, r10
jbe 0x1401b4edd
xor eax, eax
mov qword [rsp + 0x50], rax
mov r15d, eax
mov r13d, eax
mov r11d, eax
test rdi, rdi
je 0x1401b4ec5
movabs r12, 0x100002600
movabs rcx, 0xffffffc07ff1
mov ebx, eax
mov r10d, eax
mov r8d, eax
mov r11d, eax
cmp r9, rdi
jae 0x1401b4de8
lfence
nop word [rax + rax]
movzx r11d, byte [r9 + r14]
inc r9
cmp r11d, 0x41
jb 0x1401b4bb4
cmp r11b, 0x5a
jbe 0x1401b4bec
lea eax, [r11 - 0x61]
cmp al, 0x19
jbe 0x1401b4bec
lea eax, [r11 - 0x2f]
cmp al, 0xa
jbe 0x1401b4bec
cmp r11b, 0x2b
je 0x1401b4bec
cmp r11b, 0x3d
je 0x1401b4be9
cmp r11b, 0x20
ja 0x1401b4bdc
bt r12, r11
jb 0x1401b4bdf
mov r15d, esi
cmp r9, rdi
jb 0x1401b4ba0
jmp 0x1401b4cf3
mov r13d, esi
cmp r9, rdi
jae 0x1401b4cf3
nop word [rax + rax]
movzx r8d, byte [r9 + r14]
inc r9
cmp r8d, 0x41
jb 0x1401b4c14
cmp r8b, 0x5a
jbe 0x1401b4c4c
lea eax, [r8 - 0x61]
cmp al, 0x19
jbe 0x1401b4c4c
lea eax, [r8 - 0x2f]
cmp al, 0xa
jbe 0x1401b4c4c
cmp r8b, 0x2b
je 0x1401b4c4c
cmp r8b, 0x3d
je 0x1401b4c49
cmp r8b, 0x20
ja 0x1401b4c3c
bt r12, r8
jb 0x1401b4c3f
mov r15d, esi
cmp r9, rdi
jb 0x1401b4c00
jmp 0x1401b4cf3
mov r13d, esi
cmp r9, rdi
jae 0x1401b4cf3
nop word [rax + rax]
movzx r10d, byte [r9 + r14]
inc r9
cmp r10d, 0x41
jb 0x1401b4c74
cmp r10b, 0x5a
jbe 0x1401b4ca9
lea eax, [r10 - 0x61]
cmp al, 0x19
jbe 0x1401b4ca9
lea eax, [r10 - 0x2f]
cmp al, 0xa
jbe 0x1401b4ca9
cmp r10b, 0x2b
je 0x1401b4ca9
cmp r10b, 0x3d
je 0x1401b4ca6
cmp r10b, 0x20
ja 0x1401b4c9c
bt r12, r10
jb 0x1401b4c9f
mov r15d, esi
cmp r9, rdi
jb 0x1401b4c60
jmp 0x1401b4cf3
mov r13d, esi
cmp r9, rdi
jae 0x1401b4cf3
lfence
movzx ebx, byte [r9 + r14]
inc r9
cmp ebx, 0x41
jb 0x1401b4cc3
cmp bl, 0x5a
jbe 0x1401b4cf3
lea eax, [rbx - 0x61]
cmp al, 0x19
jbe 0x1401b4cf3
lea eax, [rbx - 0x2f]
cmp al, 0xa
jbe 0x1401b4cf3
cmp bl, 0x2b
je 0x1401b4cf3
cmp bl, 0x3d
je 0x1401b4cf0
cmp bl, 0x20
ja 0x1401b4ce6
bt r12, rbx
jb 0x1401b4ce9
mov r15d, esi
cmp r9, rdi
jb 0x1401b4cb1
jmp 0x1401b4cf3
mov r13d, esi
lea eax, [r11 - 0x2b]
cmp eax, 0x2f
ja 0x1401b4d02
bt rcx, rax
jb 0x1401b4d0f
lea eax, [r11 - 0x61]
cmp eax, 0x19
ja 0x1401b4de8
lea eax, [r8 - 0x2b]
cmp eax, 0x2f
ja 0x1401b4d1e
bt rcx, rax
jb 0x1401b4d2b
lea eax, [r8 - 0x61]
cmp eax, 0x19
ja 0x1401b4de8
lea eax, [r10 - 0x2b]
cmp eax, 0x2f
ja 0x1401b4d3a
bt rcx, rax
jb 0x1401b4d47
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x1401b4de8
lea eax, [rbx - 0x2b]
cmp eax, 0x2f
ja 0x1401b4d55
bt rcx, rax
jb 0x1401b4d61
lea eax, [rbx - 0x61]
cmp eax, 0x19
ja 0x1401b4de8
mov eax, r8d
lea rcx, [0x140204270]
movzx edx, byte [rax + rcx]
mov eax, r10d
mov r10, qword [rsp + 0x40]
movzx r8d, byte [rax + rcx]
movzx eax, dl
movzx ecx, byte [r11 + rcx]
mov r11, qword [rsp + 0x50]
shr al, 4
and al, 3
shl cl, 2
or cl, al
shl dl, 4
mov byte [r10 + r11], cl
movzx eax, r8b
shr al, 2
and al, 0xf
shl r8b, 6
or al, dl
lea rdx, [0x140204270]
mov byte [r10 + r11 + 1], al
mov eax, ebx
movzx ecx, byte [rax + rdx]
and cl, 0x3f
or cl, r8b
mov byte [r10 + r11 + 2], cl
add r11, 3
mov qword [rsp + 0x50], r11
test r13d, r13d
jne 0x1401b4ec0
cmp r9, rdi
jae 0x1401b4ec0
xor eax, eax
jmp 0x1401b4b74
mov ecx, r11d
call fcn.14014f910
test eax, eax
je 0x1401b4ebb
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x1401b4e65
mov ecx, r10d
call fcn.14014f910
test eax, eax
je 0x1401b4e65
cmp ebx, 0x3d
jne 0x1401b4e65
mov r9, qword [rsp + 0x40]
mov eax, r8d
lea r8, [0x140204270]
movzx edx, byte [rax + r8]
mov eax, r11d
mov r11, qword [rsp + 0x50]
movzx ecx, byte [rax + r8]
movzx eax, dl
shl cl, 2
shr al, 4
and al, 3
shl dl, 4
or cl, al
mov eax, r10d
mov byte [r9 + r11], cl
movzx ecx, byte [rax + r8]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [r9 + r11 + 1], cl
add r11, 2
jmp 0x1401b4ec0
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x1401b4ebb
cmp r10d, 0x3d
jne 0x1401b4ebb
mov r12, qword [rsp + 0x58]
cmp ebx, r10d
jne 0x1401b4eb4
mov r9, qword [rsp + 0x40]
lea rcx, [0x140204270]
mov eax, r8d
movzx edx, byte [rax + rcx]
mov eax, r11d
mov r11, qword [rsp + 0x50]
shr dl, 4
and dl, 3
movzx ecx, byte [rax + rcx]
shl cl, 2
or dl, cl
mov byte [r9 + r11], dl
inc r11
jmp 0x1401b4ec5
mov r11, qword [rsp + 0x50]
jmp 0x1401b4ec5
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov eax, r11d
mov qword [rcx], rax
xor eax, eax
test r15d, r15d
mov esi, eax
setne sil
jmp 0x1401b4efc
test rdx, rdx
mov esi, ecx
setne sil
mov eax, r9d
mov qword [r11], rax
test r10, r10
jne 0x1401b4efc
test r9, r9
mov eax, 0
cmovne esi, eax
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, esi
mov r14, qword [rsp + 0x6f0]
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.1401c5190
add rsp, 0x6a0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret