Function at 0x1400b1570
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov qword [rsp + 0xe8], r8
mov r14, rdx
mov rsi, rcx
mov rdi, qword [rdx]
mov r12, qword [rdx + 0x10]
movzx ebp, word [rdi + 0x3d2]
imul rax, r12, 0x38
lea rcx, [rdi + rax]
add rcx, 0x168
mov rdx, qword [rdi + rax + 0x198]
mov qword [rsp + 0x50], rdx
movups xmm0, xmmword [rdi + rax + 0x168]
movups xmm1, xmmword [rdi + rax + 0x178]
movups xmm2, xmmword [rdi + rax + 0x188]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
lea r13, [r12 + 1]
lea rdx, [rdi + rax]
add rdx, 0x1a0
mov r15, r12
not r15
add r15, rbp
imul r8, r15, 0x38
call sub.VCRUNTIME140.dll_memmove
mov rax, r12
shl rax, 5
lea rcx, [rdi + rax]
movups xmm0, xmmword [rdi + rax]
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
mov rdx, r13
shl rdx, 5
add rdx, rdi
shl r15, 5
mov r8, r15
call sub.VCRUNTIME140.dll_memmove
lea eax, [rbp - 1]
mov word [rdi + 0x3d2], ax
mov r14, qword [r14 + 8]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm3
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x130], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x140], rcx
cmp ax, 4
ja 0x1400b22ae
nop
mov ecx, dword [0x141dd4260]
sub ecx, dword [0x141dd4264]
or ecx, 0xddef7c4c
xor ecx, 0x1e26a2
add ecx, 0x2f816f40
cmp ecx, 0xb62f1a39
ja 0x1400b16a0
mov r8, qword [rdi + 0x160]
test r8, r8
je 0x1400b1cb0
lea r9, [r14 + 1]
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x1400b16e0
nop word cs:[rax + rax]
mov ecx, dword [0x141dd4268]
or ecx, dword [0x141dd426c]
imul ecx, ecx, 0x6723c078
add ecx, 0xcdb587b8
and ecx, 0x8b20b790
cmp ecx, 0xe319eeb3
je 0x1400b16f0
movzx r10d, word [rdi + 0x3d0]
movzx ecx, ax
test r10, r10
je 0x1400b1820
mov eax, dword [0x141dd4280]
xor edx, edx
div dword [0x141dd4284]
mov edx, 0x865ddb89
imul rdx, rax
shr rdx, 0x3f
add edx, 0x1cc60531
cmp edx, 0x5812cbe3
jbe 0x1400b178c
lea rax, [r10 - 1]
mov rdx, qword [r8 + r10*8 + 0x3d0]
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rdi
mov r11d, 0xec6e0f09
lea r15, [r10 - 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4288]
xor edx, edx
div dword [0x141dd428c]
imul rax, r11
shr rax, 0x3e
mov rdx, qword [r8 + r10*8 + 0x3d0]
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rdi
cmp eax, 0x48f8397e
je 0x1400b17a0
mov eax, dword [0x141dd4290]
imul eax, dword [0x141dd4294]
and eax, 0x52a02c2
add eax, 0x7adcbad0
cmp eax, 0x1338117e
jae 0x1400b18ad
jmp 0x1400b18cd
mov eax, dword [0x141dd4270]
xor eax, dword [0x141dd4274]
or eax, 0x8d6fd525
add eax, 0xf0dd7687
cmp eax, 0x6614b92c
jb 0x1400b1820
movzx eax, word [r8 + 0x3d2]
nop word cs:[rax + rax]
mov edx, dword [0x141dd4278]
and edx, dword [0x141dd427c]
shr edx, 1
imul rdx, rdx, 0x5cfeaf87
shr rdx, 0x3a
and edx, 0xfffffff9
imul edx, edx, 0x3703b315
cmp edx, 0x334eb9d3
je 0x1400b1850
test ax, ax
je 0x1400b18ab
mov eax, dword [0x141dd42a0]
sub eax, dword [0x141dd42a4]
add eax, 0xba1b1791
or eax, 0x5d98760a
imul eax, eax, 0x90318b9d
cmp eax, 0xfa82394c
jne 0x1400b1a72
jmp 0x1400b1a8f
ud2
mov eax, dword [0x141dd4298]
add eax, dword [0x141dd429c]
and eax, 0x71ed337b
mov qword [rsp + 0xa8], r14
cmp eax, 0x7e4e93f2
jne 0x1400b18d7
mov qword [rsp + 0xa8], r14
jmp 0x1400b18ad
movzx ebp, word [rdx + 0x3d2]
lea rax, [rcx + rbp]
inc rax
cmp eax, 0xc
jae 0x1400b19c2
cmp r12, rcx
ja 0x1400b1a4c
mov eax, dword [0x141dd42e0]
mov ecx, dword [0x141dd42e4]
add eax, ecx
add eax, 0xf87c83e9
cmp eax, 0x2e932083
jae 0x1400b191b
lea rcx, [rsp + 0x78]
call fcn.1400be160
lea r15, [rsp + 0x78]
add r13, rbp
nop word cs:[rax + rax]
mov eax, dword [0x141dd42e8]
xor edx, edx
div dword [0x141dd42ec]
shr eax, 1
imul rax, rax, 0x4069f9eb
shr rax, 0x3d
imul ebp, eax, 0x880156b0
add ebp, 0xf096e510
mov rcx, r15
call fcn.1400be160
cmp ebp, 0xee463498
jb 0x1400b1930
mov rdi, rax
mov r14, rdx
nop dword [rax]
mov eax, dword [0x141dd42f0]
mov ecx, dword [0x141dd42f4]
add eax, ecx
add eax, 0x7291f168
cmp eax, 0x4f8c0870
jb 0x1400b1970
nop word [rax + rax]
mov eax, dword [0x141dd42f8]
xor eax, dword [0x141dd42fc]
imul rcx, rax, 0x137cf465
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
imul eax, eax, 0x1827a600
cmp eax, 0xff2cd607
ja 0x1400b1990
jmp 0x1400b1a44
mov eax, dword [0x141dd42b8]
xor edx, edx
div dword [0x141dd42bc]
imul eax, eax, 0x31c53d5b
add eax, 0x854748a5
and eax, 0xc11dd676
cmp eax, 0x94e4e140
jne 0x1400b19f6
lea rcx, [rsp + 0x78]
mov edx, 1
call fcn.1400bd8f0
lea r15, [rsp + 0x78]
nop dword [rax + rax]
mov eax, dword [0x141dd42c0]
or eax, dword [0x141dd42c4]
imul ebp, eax, 0xd78ac818
add ebp, 0x36e8dde8
or ebp, 0x899e52af
mov edx, 1
mov rcx, r15
call fcn.1400bd8f0
cmp ebp, 0xa44281c9
je 0x1400b1a00
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400b1a40
mov r12, r13
jmp 0x1400b1cb0
mov eax, dword [0x141dd42c8]
add eax, dword [0x141dd42cc]
xor eax, 0x4082c04
and eax, 0x4983c24
cmp eax, 0x7b17613b
jne 0x1400b2201
jmp 0x1400b222e
mov rax, qword [r8 + 0x3e0]
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
xor edx, edx
test dl, dl
je 0x1400b1aa1
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
jmp 0x1400b1a72
mov edx, dword [0x141dd42a8]
imul edx, dword [0x141dd42ac]
and edx, 0x23200
xor edx, 0x88002602
or edx, 0x33bd49f5
cmp edx, 0xff0a7f8f
jbe 0x1400b1af0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r14
nop word cs:[rax + rax]
mov edx, dword [0x141dd42b0]
xor edx, dword [0x141dd42b4]
imul edx, edx, 0x8c4b3616
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r14
cmp edx, 0xa51f4425
je 0x1400b1af0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], r14
movzx eax, word [rax + 0x3d2]
add eax, ecx
inc eax
cmp eax, 0xc
jae 0x1400b1c29
nop word [rax + rax]
mov eax, dword [0x141dd4318]
xor eax, dword [0x141dd431c]
add eax, 0xf78dde96
xor eax, 0xce3cc2e
add eax, 0x3048db0c
cmp eax, 0x39546141
jb 0x1400b1b50
mov eax, 0xc6827215
nop word [rax + rax]
mov edx, dword [0x141dd4320]
or edx, dword [0x141dd4324]
xor edx, 0xc221f950
and edx, 0xc2f3f951
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x211434c7
ja 0x1400b1b80
cmp r12, rcx
ja 0x1400b21ad
mov eax, dword [0x141dd4338]
xor edx, edx
div dword [0x141dd433c]
xor eax, 0x14c0040b
and eax, 0x34c8555b
cmp eax, 0xde7010fd
jbe 0x1400b1bdd
lea rcx, [rsp + 0xb0]
call fcn.1400be160
lea r15, [rsp + 0xb0]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4340]
or eax, dword [0x141dd4344]
imul eax, eax, 0xdbe6d027
imul r13, rax, 0xfe81111
shr r13, 0x3a
mov rcx, r15
call fcn.1400be160
cmp r13d, 0xde40a323
je 0x1400b1bf0
mov rdi, rax
mov r14, rdx
jmp 0x1400b1cb0
mov eax, dword [0x141dd4308]
mov ecx, dword [0x141dd430c]
add eax, ecx
add eax, 0x30e587d6
xor eax, 0xd4d3b053
add eax, 0xbf8101b2
cmp eax, 0xf7b10c00
jbe 0x1400b1c5f
lea rcx, [rsp + 0xb0]
mov edx, 1
call fcn.1400bea80
lea r15, [rsp + 0xb0]
nop word [rax + rax]
mov eax, dword [0x141dd4310]
mov ecx, dword [str.6G_ah]
add eax, ecx
add eax, 0xcea8ca6e
imul r13, rax, 0x2af212e1
shr r13, 0x3c
mov edx, 1
mov rcx, r15
call fcn.1400bea80
cmp r13d, 0xfda3ff7c
je 0x1400b1c70
nop word cs:[rax + rax]
mov eax, dword [0x141dd4300]
xor edx, edx
div dword [0x141dd4304]
imul eax, eax, 0xb96f19f9
xor eax, 0x29aef7f0
imul eax, eax, 0xe31a2d69
cmp eax, 0x99ac7b24
jb 0x1400b1cb0
mov rcx, qword [rdi + 0x160]
test rcx, rcx
je 0x1400b22ae
lea r8, [r14 + 1]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400b1cf0
nop word cs:[rax + rax]
mov eax, dword [0x141dd4348]
xor eax, dword [0x141dd434c]
add eax, 0xea542828
xor eax, 0x1ad1af1d
add eax, 0x6f7fb5fa
cmp eax, 0xf0031a6d
ja 0x1400b1d00
xor ebp, ebp
lea r15, [rsp + 0x20]
jmp 0x1400b1d39
test rcx, rcx
je 0x1400b22ae
mov eax, dword [0x141dd4350]
or eax, dword [0x141dd4354]
imul eax, eax, 0x7e37ff97
add eax, 0x43f77a08
cmp eax, 0xd4464ea
jb 0x1400b1d39
movzx r13d, word [rcx + 0x3d2]
cmp r13w, 4
ja 0x1400b22ae
mov eax, dword [0x141dd4358]
add eax, dword [0x141dd435c]
imul rax, rax, 0x29abcaf1
shr rax, 0x3c
imul eax, eax, 0x680a7579
cmp eax, 0x3d060dd9
je 0x1400b1d6a
mov r10, qword [rcx + 0x160]
test r10, r10
je 0x1400b2070
lea r9, [r8 + 1]
movzx eax, word [rcx + 0x3d0]
test rax, rax
je 0x1400b1ec8
mov edx, dword [0x141dd4380]
sub edx, dword [0x141dd4384]
or edx, 0x20000004
xor edx, 0x40000
and edx, 0x28241006
cmp edx, 0x3c7098b9
jbe 0x1400b1e10
lea rdx, [rax - 1]
mov r11, qword [r10 + rax*8 + 0x3d0]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rcx
nop word cs:[rax + rax]
mov r11d, dword [0x141dd4388]
sub r11d, dword [0x141dd438c]
lea rbx, [rax - 1]
mov rdx, qword [r10 + rax*8 + 0x3d0]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rbx
add r11d, 0xbff6672f
or r11d, 0x8ef3ad09
xor r11d, 0xf5e91df6
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rcx
cmp r11d, 0xb0f30550
ja 0x1400b1e10
mov qword [rsp + 0x50], r8
movzx eax, word [rdx + 0x3d2]
add rax, r13
inc rax
nop dword [rax + rax]
test bpl, bpl
jne 0x1400b1e80
cmp eax, 0xc
jae 0x1400b20d8
mov rcx, r15
call fcn.1400bf3e0
mov rcx, rax
mov r8, rdx
nop dword [rax]
mov eax, dword [0x141dd43c0]
imul eax, dword [0x141dd43c4]
add eax, 0xaf0358
or eax, 0xba23d570
and eax, 0xff7bd77a
cmp eax, 0x3361e2c8
jbe 0x1400b1ea0
jmp 0x1400b1d30
mov eax, dword [0x141dd4360]
xor edx, edx
div dword [0x141dd4364]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4368]
and eax, dword [0x141dd436c]
imul rax, rax, 0x75963421
shr rax, 0x3c
imul eax, eax, 0x60d4c866
add eax, 0xd888ef0c
cmp eax, 0xac7ec5a5
jb 0x1400b1ee0
movzx eax, word [r10 + 0x3d2]
mov edx, dword [0x141dd4370]
add edx, dword [0x141dd4374]
and edx, 0x2cedee6d
cmp edx, 0x89a2f70d
je 0x1400b1f11
test ax, ax
je 0x1400b216c
test bpl, bpl
jne 0x1400b1f6a
nop dword [rax]
mov eax, dword [0x141dd4390]
xor eax, dword [0x141dd4394]
imul eax, eax, 0xad3ed226
add eax, 0xf33b2c38
mov r11, qword [r10 + 0x3e0]
mov qword [rsp + 0x20], r10
cmp eax, 0x93903a5d
jbe 0x1400b1f71
mov qword [rsp + 0x20], r10
jmp 0x1400b1f40
mov eax, dword [0x141dd4398]
sub eax, dword [0x141dd439c]
imul eax, eax, 0xf0bd9b93
add eax, 0xd26bf720
and eax, 0x4550fb0a
cmp eax, 0x968ff42e
ja 0x1400b1feb
nop word cs:[rax + rax]
mov eax, dword [0x141dd43a0]
sub eax, dword [0x141dd43a4]
imul eax, eax, 0x4b86918b
or eax, 0xe7b9684
imul rax, rax, 0x5a86e9b1
shr rax, 0x3e
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], r8
cmp eax, 0x6960be26
jne 0x1400b200f
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], r8
jmp 0x1400b1fa0
lea rcx, [r13 + 1]
mov eax, dword [0x141dd43a8]
xor edx, edx
div dword [0x141dd43ac]
nop word cs:[rax + rax]
test bpl, bpl
jne 0x1400b2030
movzx eax, word [r11 + 0x3d2]
add rcx, rax
cmp ecx, 0xc
jae 0x1400b2140
mov rcx, r15
call fcn.1400bf3e0
mov rcx, rax
mov r8, rdx
nop word [rax + rax]
test bpl, bpl
jne 0x1400b2060
jmp 0x1400b1d30
mov eax, dword [0x141dd43d8]
imul eax, dword [0x141dd43dc]
add eax, 0x4ca3fe02
shr eax, 4
imul rax, rax, 0x8f70633
shr rax, 0x36
or eax, 0xdc5ada79
cmp eax, 0x78f7df9b
jb 0x1400b2070
test r13, r13
jne 0x1400b22ae
mov rax, qword [rsp + 0xe8]
mov byte [rax], 1
mov eax, dword [0x141dd43e0]
xor eax, dword [0x141dd43e4]
xor eax, 0x29c9882e
imul eax, eax, 0xc90e1427
add eax, 0x9f17c5e2
cmp eax, 0x572f3760
ja 0x1400b20b0
jmp 0x1400b22ae
mov eax, dword [0x141dd43b0]
or eax, dword [0x141dd43b4]
and eax, 0xd044d002
cmp eax, 0x2da27e49
jne 0x1400b2102
mov edx, 5
sub rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1400bd8f0
mov ebx, 5
sub rbx, r13
lea r15, [rsp + 0x20]
nop
mov eax, dword [0x141dd43b8]
xor eax, dword [0x141dd43bc]
imul ebp, eax, 0xa30bd116
add ebp, 0xa56aab5e
mov rcx, r15
mov rdx, rbx
call fcn.1400bd8f0
cmp ebp, 0x760c2e50
jbe 0x1400b2110
jmp 0x1400b22ae
mov eax, dword [0x141dd43c8]
and eax, dword [0x141dd43cc]
xor eax, 0x5e5b8172
imul eax, eax, 0x23a58147
or eax, 0xaf86db97
cmp eax, 0xe7914765
jbe 0x1400b2264
jmp 0x1400b229a
ud2
mov eax, dword [0x141dd4328]
and eax, dword [0x141dd432c]
and eax, 0x8419d7f6
imul eax, eax, 0x8a299ff0
add eax, 0xe4ff4ef0
cmp eax, 0x5ecef177
jae 0x1400b21d2
ud2
xor eax, eax
ud2
mov eax, dword [0x141dd42d0]
and eax, dword [0x141dd42d4]
add eax, 0xf2da45fd
xor eax, 0xbf5e5c8d
mov ecx, 0xaa0421bb
imul rcx, rax
shr rcx, 0x3f
ud2
ud2
mov eax, dword [0x141dd43d0]
xor edx, edx
div dword [0x141dd43d4]
mov ebx, eax
or ebx, 0xe401d9aa
and ebx, 0xe423f9aa
mov edx, 5
sub rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1400bea80
cmp ebx, 0xffc5dda3
jne 0x1400b22ae
mov edx, 5
sub rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1400bea80
jmp 0x1400b2264
mov rax, qword [rsp + 0x140]
mov qword [rsi + 0x50], rax
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmm2, xmmword [rsp + 0x110]
movaps xmm3, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rsi + 0x58], rdi
mov qword [rsi + 0x60], r14
mov qword [rsi + 0x68], r12
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret