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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x141f42510]
xor eax, dword [0x141f42514]
imul rcx, rax, 0x2b012797
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
or eax, 0xc8f523fa
add eax, 0x7efb4544
cmp eax, 0xb50a6e8f
ja 0x1400c19e7
mov eax, dword [0x141f42518]
and eax, dword [0x141f4251c]
xor eax, 0x4400ab00
or eax, 0xb95f543f
imul rcx, rax, 0x48ebdf55
shr rcx, 0x3e
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r10, rsp
cmp ecx, 0xa6322d65
jbe 0x1400c1a03
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x1400c199e
mov eax, dword [0x141f42520]
or eax, dword [0x141f42524]
imul rcx, rax, 0x135da09d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
xor eax, 0x4696eaed
add eax, 0xe16efd78
cmp eax, 0x1880015b
jae 0x1400c1a50
mov eax, 0x400
call fcn.1400f4d10
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141f42528]
sub eax, dword [0x141f4252c]
imul ecx, eax, 0x54278a0a
add ecx, 0xb0ba906b
mov eax, 0x400
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
cmp ecx, 0x3847ccf2
jb 0x1400c1a50
mov eax, dword [0x141f42530]
xor edx, edx
div dword [0x141f42534]
xor eax, 0xd921c53c
add eax, 0xdad95df6
or eax, 0x31ba5671
cmp eax, 0x3eebe8ae
jae 0x1400c1abb
mov qword [r10], 0
mov qword [r10 + 8], 2
mov qword [r10 + 0x10], 0
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x38], r9
nop word cs:[rax + rax]
mov eax, dword [0x141f42538]
add eax, dword [0x141f4253c]
and eax, 0x29802184
add eax, 0x58264544
mov qword [r10], 0
mov qword [r10 + 8], 2
mov qword [r10 + 0x10], 0
cmp eax, 0xe46345d1
ja 0x1400c1ad0
mov qword [rbp - 0x28], r10
mov r12d, 0x200
mov eax, 2
mov qword [rbp - 0x30], rax
xor edi, edi
xor eax, eax
mov qword [rbp - 0x10], rax
xor esi, esi
xor r15d, r15d
nop word cs:[rax + rax]
cmp r12, 0x201
jae 0x1400c1b50
mov eax, 0x200
mov qword [rbp - 0x20], rax
mov r14, r13
mov rbx, r12
jmp 0x1400c1b9a
sub r12, r15
sub rsi, r15
nop word cs:[rax + rax]
test dil, dil
jne 0x1400c1b60
cmp r12, rsi
mov rsi, qword [rbp - 0x28]
ja 0x1400c1d60
mov rax, qword [rbp - 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
mov r15d, 0xffffffff
cmovb r15, rax
mov qword [rsi + 0x10], r15
mov rsi, rax
mov qword [rbp - 0x20], r15
mov r14, qword [rbp - 0x30]
mov rbx, r15
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp]
mov edx, ebx
mov qword [rbp - 0x18], r14
mov r8, r14
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
add rsp, 0x20
mov r14d, eax
test eax, eax
jne 0x1400c1c0e
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x141f42548]
xor ecx, dword [0x141f4254c]
and ecx, 0x7a774392
add ecx, 0x40acf35b
or ecx, 0xa455a4c5
cmp ecx, 0xdc424d2d
ja 0x1400c1be0
test eax, eax
jne 0x1400c1ee9
mov r12d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141f42568]
or eax, dword [0x141f4256c]
imul eax, eax, 0x291c8c71
add eax, 0xf052185d
and eax, 0xf4e39c73
cmp eax, 0x73ff4435
jb 0x1400c1c20
cmp rbx, r12
jne 0x1400c1cd0
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
cmp eax, 0x7a
jne 0x1400c1fb6
mov eax, dword [0x141f42588]
mov ecx, dword [0x141f4258c]
add eax, ecx
add eax, 0x12ac99c6
or eax, 0x5797547b
and eax, 0x5fbff47f
cmp eax, 0xbcd659d
je 0x1400c1c63
lea rax, [rbx + rbx]
mov ecx, dword [0x141f42590]
xor ecx, dword [0x141f42594]
add ecx, 0xf86bd978
imul rcx, rcx, 0x226c2e7f
shr rcx, 0x3d
cmp rbx, 0x7fffffff
mov r12, rax
mov edx, 0xffffffff
cmova r12, rdx
cmp ecx, 0x1738543c
ja 0x1400c1c8b
jmp 0x1400c1d30
mov eax, dword [0x141f42578]
imul eax, dword [0x141f4257c]
imul eax, eax, 0x9f1f3f1
add eax, 0x8ecc7e71
or eax, 0x803c96a7
cmp eax, 0x164f9b07
jb 0x1400c1cd0
nop word cs:[rax + rax]
mov eax, dword [str.:Lg0h]
or eax, dword [0x141f42584]
add eax, 0x9fb4c974
or eax, 0xeefaefd6
cmp eax, 0xf6cce75d
je 0x1400c1d00
cmp rbx, r12
jae 0x1400c1dc0
nop word cs:[rax + rax]
mov eax, dword [0x141f42598]
xor edx, edx
div dword [str.HUlm]
imul eax, eax, 0x32245a1
imul rax, rax, 0x54040e2d
shr rax, 0x3e
add eax, 0xd4224285
cmp eax, 0xabf71c43
jbe 0x1400c1d30
jmp 0x1400c1b30
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.1401035b0
add rsp, 0x30
mov rax, qword [rsi]
mov qword [rbp - 0x10], rax
mov eax, dword [0x141f42540]
sub eax, dword [0x141f42544]
or eax, 0x58cd8a5f
xor eax, 0x6fb8001d
add eax, 0x158250cc
mov rcx, qword [rsi + 8]
mov qword [rbp - 0x30], rcx
cmp eax, 0x1cffc1e9
jbe 0x1400c1d8c
jmp 0x1400c1b72
mov eax, dword [0x141f425a8]
imul eax, dword [0x141f425ac]
imul eax, eax, 0x347f6db1
or eax, 0x5b7088c1
xor eax, 0x4787ec4a
cmp eax, 0xc4137f33
ja 0x1400c1dc0
cmp qword [rbp - 0x20], r12
mov rcx, qword [rbp - 0x40]
jb 0x1400c1fe8
mov r15, qword [rcx]
mov rdi, qword [rcx + 8]
mov eax, dword [0x141f425b0]
xor edx, edx
div dword [0x141f425b4]
nop word [rax + rax]
mov eax, dword [0x141f425b8]
imul eax, dword [0x141f425bc]
xor eax, 0x78be3e82
imul eax, eax, 0x840e5a07
cmp eax, 0x44e0c20d
jb 0x1400c1e10
mov r13, qword [rcx + 0x10]
lea rax, [r13 - 1]
cmp rax, 4
jb 0x1400c20ce
mov eax, dword [0x141f425c0]
xor edx, edx
div dword [0x141f425c4]
nop
mov eax, dword [0x141f425c8]
xor edx, edx
div dword [0x141f425cc]
add eax, 0x39e91924
cmp eax, 0x4cc9c65
jb 0x1400c1e50
test r13, r13
je 0x1400c2017
lea rax, [r13 - 5]
mov ecx, 0xada6b793
nop dword [rax]
mov edx, dword [0x141f425d0]
xor edx, dword [str._Xum]
add edx, 0xc870ba7e
imul rdx, rcx
shr rdx, 0x3f
or edx, 0x352cf346
cmp edx, 0xed953676
ja 0x1400c1e80
cmp rax, r12
jne 0x1400c1fa7
mov qword [rbp], r13
lea rbx, [rdi + 8]
mov eax, dword [0x141f425d8]
imul eax, dword [0x141f425dc]
and eax, 0x10028004
or eax, 0xed8925fa
xor eax, 0x58dc06fa
cmp eax, 0x376cdfcf
mov rsi, qword [rbp - 0x18]
jae 0x1400c20d0
jmp 0x1400c20f0
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp - 8]
mov qword [rcx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rcx], rax
cmp qword [rbp - 0x10], 0
je 0x1400c1f36
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
xor eax, eax
mov rdx, qword [rbp - 0x40]
nop dword [rax]
test al, al
jne 0x1400c1f40
cmp qword [rdx], 0
je 0x1400c20a0
nop
mov eax, dword [0x141f42550]
or eax, dword [0x141f42554]
xor eax, 0x60b84eef
imul eax, eax, 0x7ed8ae6d
cmp eax, 0x88c9ffc1
je 0x1400c1f50
nop
mov eax, dword [0x141f42558]
mov ecx, dword [0x141f4255c]
add eax, ecx
add eax, 0x64abed7
xor eax, 0x8e2514b0
or eax, 0x4140694e
cmp eax, 0xfde3a2cc
ja 0x1400c1f70
mov rsi, qword [rdx + 8]
xor eax, eax
test al, al
je 0x1400c2047
jmp 0x1400c2081
mov rbx, r15
mov rsi, rdi
mov rax, qword [rbp - 8]
jmp 0x1400c214c
ud2
ud2
ud2
mov edi, dword [0x141f42560]
add edi, dword [0x141f42564]
xor edi, 0x2d2a7415
add edi, 0xd9b0382f
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp edi, 0x98d30edf
jb 0x1400c20a0
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1400c2047
mov eax, dword [0x141f42570]
or eax, dword [0x141f42574]
xor eax, 0x3cecde28
add eax, 0x46a39997
cmp eax, 0x1062cd65
jb 0x1400c20a0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
lea r13, [r12 + r12]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
xor ecx, ecx
test cl, cl
je 0x1400c2110
lea r8, [r12 + r12]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
jmp 0x1400c20d0
mov ecx, dword [0x141f425e0]
or ecx, dword [0x141f425e4]
imul ecx, ecx, 0x8557dfa8
and ecx, 0xea4c37b0
imul ecx, ecx, 0xdabb2100
cmp ecx, 0xe03f97a0
ja 0x1400c2110
test eax, eax
je 0x1400c21d0
mov rbx, r15
mov rsi, rdi
mov rax, qword [rbp - 8]
mov r13, qword [rbp]
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r13
cmp qword [rbp - 0x10], 0
je 0x1400c2180
mov rax, qword [rbp - 0x28]
mov r8, qword [rax + 8]
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141f42628]
imul eax, dword [0x141f4262c]
imul rax, rax, 0x7a5e3db7
shr rax, 0x3c
cmp eax, 0x3c5f90b4
je 0x1400c2180
nop
mov eax, dword [0x141f42630]
and eax, dword [0x141f42634]
imul rax, rax, 0x52481931
shr rax, 0x3d
xor eax, 0x91010202
or eax, 0x66defd8d
cmp eax, 0xaa3271ee
jbe 0x1400c21a0
jmp 0x1400c20a0
mov eax, dword [0x141f425f0]
xor eax, dword [0x141f425f4]
xor eax, 0x3562b074
imul eax, eax, 0x795038af
add eax, 0xaada1323
cmp eax, 0x27a648d1
jb 0x1400c21d0
test r14d, r14d
je 0x1400c2277
movzx eax, byte [0x141f49078]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r13
call fcn.1400c6170
add rsp, 0x20
mov rbx, rax
mov r14, qword [rbp - 0x18]
nop dword [rax + rax]
mov eax, dword [0x141f425f8]
xor edx, edx
div dword [str..CB2]
or eax, 0x5124808c
and eax, 0x51a4808c
cmp eax, 0xdb84d4ab
ja 0x1400c2220
test rbx, rbx
jne 0x1400c2280
ud2
mov ebx, 2
mov r14, qword [rbp - 0x18]
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], rdi
mov eax, dword [0x141f42608]
imul eax, dword [0x141f4260c]
add eax, 0xca195d1
or eax, 0x26e90c79
xor eax, 0xeeb90283
cmp eax, 0xb64626e8
jbe 0x1400c22eb
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rsi, qword [rbp - 0x38]
mov qword [rsi], r12
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r12
sub rsp, 0x20
mov rcx, rsi
call fcn.1400e09f0
add rsp, 0x20
mov rax, qword [rsi + 8]
mov word [rax + r12*2], 0
lea rax, [r12 + 1]
mov qword [rbp], rax
mov r15, qword [rbp - 0x38]
mov rdi, r14
nop dword [rax + rax]
mov eax, dword [0x141f42610]
xor edx, edx
div dword [0x141f42614]
mov r14d, eax
add r14d, 0xc6629b83
xor r14d, 0x94816307
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r15], r12
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], r12
sub rsp, 0x20
mov rcx, r15
call fcn.1400e09f0
add rsp, 0x20
mov rsi, qword [r15 + 8]
mov word [rsi + r12*2], 0
cmp r14d, 0x50a1e8af
jb 0x1400c2300
mov rbx, qword [r15]
cmp qword [rbp - 0x20], 0
je 0x1400c2144
mov eax, dword [0x141f42618]
sub eax, dword [0x141f4261c]
xor eax, 0xa9580358
imul eax, eax, 0xcf4ce4eb
and eax, 0x8f4cb87d
cmp eax, 0xc5b9b57e
mov r13, qword [rbp]
ja 0x1400c23bd
mov eax, dword [0x141f42620]
sub eax, dword [0x141f42624]
or eax, 0xe6fd95bb
add eax, 0xe919702a
mov rcx, qword [0x141f49060]
cmp eax, 0xf1571602
jbe 0x1400c23c6
mov rax, qword [0x141f49060]
jmp 0x1400c2399
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
jmp 0x1400c1fad