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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x170]
mov r13, r9
mov r12, qword [rsp + 0x178]
mov rdi, r8
mov r15, qword [rsp + 0x180]
mov r14, rdx
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
test rdx, rdx
je 0x140151f98
lfence
cmp r8, 0x3e
jb 0x140151f98
lfence
mov r8, qword [str._____BEGIN_RSA_PRIVATE_KEY_____]
lea r9d, [rax + 0x1f]
mov rdx, rdi
mov rcx, r14
call fcn.1401af3e0
mov rsi, rax
test rax, rax
je 0x140151f98
lfence
mov r8, qword [str._____END_RSA_PRIVATE_KEY_____]
mov rdx, rdi
sub rdx, rax
mov r9d, 0x1d
add rdx, r14
mov rcx, rax
call fcn.1401af3e0
mov rbx, rax
test rax, rax
je 0x140151f98
mov rcx, rax
sub rcx, rsi
cmp rcx, 0x1f
jb 0x140151f98
movzx eax, byte [rsi + 0x1f]
sub rbx, rsi
add rsi, 0x1f
sub rbx, 0x1f
cmp al, 0xa
jne 0x1401519fc
cmp byte [rsi + rbx - 1], al
je 0x140151a23
jmp 0x140151f98
cmp al, 0xd
jne 0x140151f98
cmp byte [rsi + 1], 0xa
jne 0x140151f98
cmp byte [rsi + rbx - 2], al
jne 0x140151f98
cmp byte [rsi + rbx - 1], 0xa
jne 0x140151f98
lfence
mov r9d, 0xa
lea r8, str.DEK_Info:
mov rdx, rdi
mov rcx, r14
call fcn.1401af3e0
mov rbp, rax
test rax, rax
je 0x140151f98
lfence
sub rdi, rax
mov edx, reloc.WS2_32.dll_listen
add rdi, r14
mov rcx, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memchr
lfence
mov r8, rdi
mov rcx, rbp
mov edx, reloc.WS2_32.dll_listen
test rax, rax
jne 0x140151a7b
mov edx, 0xa
call sub.VCRUNTIME140.dll_memchr
mov r8, rdi
mov edx, 0x2c
mov rcx, rbp
mov r14, rax
call sub.VCRUNTIME140.dll_memchr
test r14, r14
je 0x140151f98
test rax, rax
je 0x140151f98
test r15, r15
je 0x140151b37
mov rdi, r14
sub rdi, rax
dec rdi
cmp rdi, 0x40
jae 0x140151ac4
test rdi, rdi
je 0x140151ae3
jmp 0x140151ac9
mov edi, 0x3f
lfence
lea r8, [rax + 1]
mov r9, rdi
mov edx, 0x40
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy_s]
lea rax, [rsp + 0x80]
mov dword [rsp + 0x28], 0x40
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x40]
mov byte [rsp + rdi + 0x40], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
lea r8, [rsp + 0x80]
mov rdx, r15
mov word [rsp + 0xfe], ax
mov rcx, r12
call fcn.14008ceb0
test al, al
je 0x140151f98
lfence
lea rax, [rsp + 0x30]
sub rsi, r14
add rbx, rsi
mov qword [rsp + 0x20], rax
mov rdx, rbx
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14014fb30
test al, al
jne 0x140151f98
mov r15, qword [rsp + 0x38]
test r13, r13
jne 0x140151b81
cmp qword [r15], r13
jne 0x140151b81
mov rax, qword [rsp + 0x30]
mov qword [r15], rax
mov al, 1
jmp 0x140151f9a
mov rdx, qword [rsp + 0x30]
cmp qword [r15], rdx
jb 0x140151f98
test r13, r13
jne 0x140151b9d
test rdx, rdx
jne 0x140151f98
xor ecx, ecx
mov qword [r15], rcx
cmp rbx, 0xffffffffffffffff
jne 0x140151bbe
lfence
nop dword [rax + rax]
inc rbx
cmp byte [r14 + rbx], cl
jne 0x140151bb0
mov rdx, qword [rsp + 0x30]
lea rax, [rbx + r14]
cmp rax, r14
jb 0x140151f98
lea rax, [rbx + 3]
shr rax, 2
lea r8, [rax + rax*2]
cmp rdx, r8
jae 0x140151c1b
mov rcx, rbx
test rbx, rbx
je 0x140151bf2
cmp byte [rcx + r14 - 1], 0x3d
jne 0x140151bf2
sub rcx, 1
jne 0x140151be4
mov rax, rcx
and eax, 3
jbe 0x140151c0c
shr rcx, 2
lea r8, [rcx*2 - 1]
add r8, rax
add r8, rcx
cmp rdx, r8
jae 0x140151c19
mov qword [r15], r8
jmp 0x140151f98
xor ecx, ecx
test r13, r13
je 0x140151f8f
lea rax, [rdx + r13]
cmp rax, r13
jbe 0x140151f8f
mov edi, ecx
mov esi, ecx
mov rax, rcx
mov rbp, rcx
test rbx, rbx
je 0x140151f88
movabs r12, 0x100002600
movabs rdx, 0xffffffc07ff1
mov r11d, ecx
mov r9d, ecx
mov r8d, ecx
mov r10d, ecx
cmp rax, rbx
jae 0x140151ecf
lfence
movzx r10d, byte [rax + r14]
inc rax
cmp r10d, 0x41
jb 0x140151c84
cmp r10b, 0x5a
jbe 0x140151cc2
lea ecx, [r10 - 0x61]
cmp cl, 0x19
jbe 0x140151cc2
lea ecx, [r10 - 0x2f]
cmp cl, 0xa
jbe 0x140151cc2
cmp r10b, 0x2b
je 0x140151cc2
cmp r10b, 0x3d
je 0x140151cbd
cmp r10b, 0x20
ja 0x140151cae
bt r12, r10
jb 0x140151cb3
mov edi, 1
cmp rax, rbx
jb 0x140151c70
jmp 0x140151ddf
mov esi, 1
cmp rax, rbx
jae 0x140151ddf
nop dword [rax + rax]
movzx r8d, byte [rax + r14]
inc rax
cmp r8d, 0x41
jb 0x140151ce4
cmp r8b, 0x5a
jbe 0x140151d22
lea ecx, [r8 - 0x61]
cmp cl, 0x19
jbe 0x140151d22
lea ecx, [r8 - 0x2f]
cmp cl, 0xa
jbe 0x140151d22
cmp r8b, 0x2b
je 0x140151d22
cmp r8b, 0x3d
je 0x140151d1d
cmp r8b, 0x20
ja 0x140151d0e
bt r12, r8
jb 0x140151d13
mov edi, 1
cmp rax, rbx
jb 0x140151cd0
jmp 0x140151ddf
mov esi, 1
cmp rax, rbx
jae 0x140151ddf
nop dword [rax + rax]
movzx r9d, byte [rax + r14]
inc rax
cmp r9d, 0x41
jb 0x140151d44
cmp r9b, 0x5a
jbe 0x140151d7f
lea ecx, [r9 - 0x61]
cmp cl, 0x19
jbe 0x140151d7f
lea ecx, [r9 - 0x2f]
cmp cl, 0xa
jbe 0x140151d7f
cmp r9b, 0x2b
je 0x140151d7f
cmp r9b, 0x3d
je 0x140151d7a
cmp r9b, 0x20
ja 0x140151d6e
bt r12, r9
jb 0x140151d73
mov edi, 1
cmp rax, rbx
jb 0x140151d30
jmp 0x140151ddf
mov esi, 1
cmp rax, rbx
jae 0x140151ddf
lfence
nop word [rax + rax]
movzx r11d, byte [rax + r14]
inc rax
cmp r11d, 0x41
jb 0x140151da4
cmp r11b, 0x5a
jbe 0x140151ddf
lea ecx, [r11 - 0x61]
cmp cl, 0x19
jbe 0x140151ddf
lea ecx, [r11 - 0x2f]
cmp cl, 0xa
jbe 0x140151ddf
cmp r11b, 0x2b
je 0x140151ddf
cmp r11b, 0x3d
je 0x140151dda
cmp r11b, 0x20
ja 0x140151dce
bt r12, r11
jb 0x140151dd3
mov edi, 1
cmp rax, rbx
jb 0x140151d90
jmp 0x140151ddf
mov esi, 1
lea ecx, [r10 - 0x2b]
cmp ecx, 0x2f
ja 0x140151dee
bt rdx, rcx
jb 0x140151dfb
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
ja 0x140151ecf
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x140151e0a
bt rdx, rcx
jb 0x140151e17
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
ja 0x140151ecf
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x140151e26
bt rdx, rcx
jb 0x140151e33
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
ja 0x140151ecf
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x140151e42
bt rdx, rcx
jb 0x140151e4f
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
ja 0x140151ecf
mov ecx, r8d
lea rdx, [0x140204270]
movzx r8d, byte [rcx + rdx]
mov ecx, r9d
movzx r9d, byte [rcx + rdx]
movzx ecx, r8b
movzx edx, byte [r10 + rdx]
shr cl, 4
and cl, 3
shl dl, 2
or dl, cl
shl r8b, 4
mov byte [rbp + r13], dl
movzx ecx, r9b
shr cl, 2
and cl, 0xf
shl r9b, 6
or cl, r8b
lea r8, [0x140204270]
mov byte [rbp + r13 + 1], cl
mov ecx, r11d
movzx edx, byte [rcx + r8]
and dl, 0x3f
or dl, r9b
mov byte [rbp + r13 + 2], dl
add rbp, 3
test esi, esi
jne 0x140151f88
cmp rax, rbx
jae 0x140151f88
xor ecx, ecx
jmp 0x140151c4e
mov ecx, r10d
call fcn.14014f910
test eax, eax
je 0x140151f88
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x140151f49
mov ecx, r9d
call fcn.14014f910
test eax, eax
je 0x140151f49
cmp r11d, 0x3d
jne 0x140151f49
mov eax, r8d
lea r8, [0x140204270]
movzx edx, byte [rax + r8]
mov eax, r10d
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 [rbp + r13], cl
movzx ecx, byte [rax + r8]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [rbp + r13 + 1], cl
add rbp, 2
mov qword [r15], rbp
test edi, edi
jmp 0x140151f92
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x140151f88
cmp r9d, 0x3d
jne 0x140151f88
cmp r11d, r9d
jne 0x140151f88
mov eax, r8d
lea rcx, [0x140204270]
movzx edx, byte [rax + rcx]
shr dl, 4
and dl, 3
mov eax, r10d
movzx ecx, byte [rax + rcx]
shl cl, 2
or dl, cl
mov byte [rbp + r13], dl
inc rbp
mov qword [r15], rbp
test edi, edi
jmp 0x140151f92
test rdx, rdx
je 0x140151b7a
xor al, al
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1401c5190
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret