Function at 0x1401a7d80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov ecx, dword [0x1402cc360]
mov dword [rsp + 0x50], 0x6d251e69
mov dword [rsp + 0x54], 0x44b051e0
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [0x1402cc363]
mov dword [rsp + 0x58], 0x4eaa6fb4
shl edx, 8
mov dword [rsp + 0x5c], 0xdbf78465
mov dword [rsp + 0x60], 0x6e292011
or edx, ecx
mov ecx, dword [0x1402cc364]
mov dword [rsp + 0x64], 0x90152df4
or edx, eax
mov eax, ecx
mov dword [rsp + 0x68], 0xee058139
mov dword [rsp + 0x30], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
mov dword [rsp + 0x6c], 0xdef610bb
or edx, eax
movzx eax, byte [0x1402cc367]
and ecx, 0xff00
shl edx, 8
mov dword [rsp + 0x70], 0xc3b44b95
mov dword [rsp + 0x74], 0xd9d2f256
or edx, ecx
mov ecx, dword [0x1402cc368]
mov dword [rsp + 0x78], 0x70eee9a0
or edx, eax
mov eax, ecx
mov dword [rsp + 0x7c], 0xde099fa3
mov dword [rsp + 0x34], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
mov dword [rbp - 0x80], 0x5d9b0557
or edx, eax
movzx eax, byte [0x1402cc36b]
and ecx, 0xff00
shl edx, 8
mov dword [rbp - 0x7c], 0x8fc944b3
mov dword [rbp - 0x78], 0xcf1ccf0e
or edx, ecx
mov ecx, dword [0x1402cc36c]
mov dword [rbp - 0x74], 0x746cd581
or edx, eax
mov dword [rbp - 0x70], 0xf7efc89d
mov dword [rbp - 0x6c], 0x5dba5781
mov dword [rsp + 0x38], edx
mov dword [rbp - 0x68], 0x4016ce5
mov dword [rbp - 0x64], 0xad659c05
mov edx, ecx
mov dword [rbp - 0x60], 0x306194f
mov dword [rbp - 0x5c], 0x666d1836
mov dword [rbp - 0x58], 0x24aa230a
mov dword [rbp - 0x54], 0x8b264ae7
mov dword [rbp - 0x50], 0x858075d5
mov dword [rbp - 0x4c], 0x36d79cce
mov dword [rbp - 0x48], 0xe571f7d7
mov dword [rbp - 0x44], 0x204b1f67
mov dword [rbp - 0x40], 0x35870c6a
mov dword [rbp - 0x3c], 0x57e9e923
mov dword [rbp - 0x38], 0x14bcb808
mov dword [rbp - 0x34], 0x7cde72ce
mov dword [rbp - 0x30], 0x6c68e9be
mov dword [rbp - 0x2c], 0x5ec41e22
mov dword [rbp - 0x28], 0xc825b7c7
mov dword [rbp - 0x24], 0xaffb4363
mov dword [rbp - 0x20], 0xf5df3999
mov dword [rbp - 0x1c], 0xfc688f1
mov dword [rbp - 0x18], 0xb07224cc
mov dword [rbp - 0x14], 0x3e86cea
shl edx, 0x10
mov eax, ecx
shr ecx, 8
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [0x1402cc36f]
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc370]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x3c], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc373]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc374]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x40], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc377]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc378]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x44], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc37b]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc37c]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x48], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc37f]
and ecx, 0xff00
shl edx, 8
or edx, ecx
lea rcx, [rsp + 0x30]
or edx, eax
mov dword [rsp + 0x4c], edx
lea rdx, [rsp + 0x50]
call fcn.1401a7ea0
mov ecx, dword [0x1402cc380]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [0x1402cc383]
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc384]
or edx, eax
mov dword [rsp + 0x30], edx
mov edx, ecx
shl edx, 0x10
mov eax, ecx
shr ecx, 8
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [0x1402cc387]
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc388]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x34], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc38b]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc38c]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x38], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc38f]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc390]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x3c], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc393]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc394]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x40], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc397]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc398]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x44], edx
mov edx, ecx
shl eax, 0x10
and edx, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [0x1402cc39b]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [0x1402cc39c]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x48], edx
mov edx, ecx
and edx, 0xff00
shl eax, 0x10
or edx, eax
movzx eax, byte [0x1402cc39f]
shr ecx, 8
shl edx, 8
and ecx, 0xff00
or edx, ecx
lea rcx, [rsp + 0x30]
or edx, eax
mov dword [rsp + 0x4c], edx
lea rdx, [rsp + 0x50]
call fcn.1401a7ea0
xor r11d, r11d
lea edx, [r11 + 8]
mov ecx, r11d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx + 0x50]
lea rcx, [rcx + 4]
xor eax, dword [rbp + rcx - 0x34]
xor eax, dword [rsp + rcx + 0x6c]
xor eax, dword [rbp + rcx - 0x54]
xor eax, dword [rbp + rcx - 0x74]
mov dword [rbp + rcx - 0x14], eax
dec rdx
jne 0x1401a79b0
mov ecx, dword [rbp + 0xc]
mov r8d, dword [rbp - 4]
mov r9d, dword [rbp - 8]
mov ebx, dword [rbp - 0x10]
mov edi, dword [rbp + 8]
mov esi, dword [rbp + 4]
mov r14d, dword [rbp]
mov r15d, dword [rbp - 0xc]
xor r8d, ecx
xor r9d, ecx
mov r10d, 5
xor ebx, ecx
mov dword [rbp + 0xc], edi
mov dword [rbp + 8], esi
mov dword [rbp + 4], r14d
mov dword [rbp - 0xc], ebx
mov dword [rbp], r8d
mov dword [rbp - 4], r9d
mov dword [rbp - 8], r15d
mov dword [rbp - 0x10], ecx
lea rax, [rsp + 0x54]
mov edx, r10d
nop
xor dword [rax - 4], ecx
xor dword [rax], ebx
xor dword [rax + 4], r15d
xor dword [rax + 8], r9d
xor dword [rax + 0xc], r8d
xor dword [rax + 0x10], r14d
xor dword [rax + 0x14], esi
xor dword [rax + 0x18], edi
lea rax, [rax + 0x20]
dec rdx
jne 0x1401a7a20
mov edx, r11d
nop word [rax + rax]
mov r8d, 8
nop word [rax + rax]
mov eax, edx
inc edx
lea rcx, [rax*4]
mov eax, dword [rsp + rcx + 0x50]
mov dword [rbp + rcx - 0x10], eax
dec r8
jne 0x1401a7a60
cmp edx, 0x28
jb 0x1401a7a50
lea rdx, [rsp + 0x68]
mov r8, r10
nop word [rax + rax]
mov ecx, dword [rdx + 4]
mov eax, dword [rdx]
lea rdx, [rdx + 0x20]
mov dword [rdx - 0x1c], eax
mov eax, dword [rdx - 0x24]
mov dword [rdx - 0x20], eax
mov eax, dword [rdx - 0x28]
mov dword [rdx - 0x24], eax
mov eax, dword [rdx - 0x2c]
xor eax, ecx
mov dword [rdx - 0x28], eax
mov eax, dword [rdx - 0x30]
xor eax, ecx
mov dword [rdx - 0x2c], eax
mov eax, dword [rdx - 0x34]
mov dword [rdx - 0x30], eax
mov eax, dword [rdx - 0x38]
mov dword [rdx - 0x38], ecx
xor eax, ecx
mov dword [rdx - 0x34], eax
dec r8
jne 0x1401a7a90
mov r9d, 1
lea r8, [rsp + 0x58]
mov rbx, r10
nop dword [rax]
mov eax, 0xcccccccd
mov ecx, r9d
lea r8, [r8 + 0x20]
mul r9d
shr edx, 2
inc r9d
lea eax, [rdx + rdx*4]
sub ecx, eax
lea edx, [rcx*8]
mov ecx, dword [rbp + rdx*4 - 0x10]
lea eax, [rdx + 1]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x28], ecx
xor dword [r8 - 0x24], eax
lea eax, [rdx + 2]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x20], eax
lea eax, [rdx + 3]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x1c], eax
lea eax, [rdx + 4]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x18], eax
lea eax, [rdx + 5]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x14], eax
lea eax, [rdx + 6]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x10], eax
lea eax, [rdx + 7]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0xc], eax
dec rbx
jne 0x1401a7ae0
nop dword [rax + rax]
mov edx, r11d
mov r8d, 8
nop dword [rax]
mov eax, edx
inc edx
lea rcx, [rax*4]
mov eax, dword [rsp + rcx + 0x50]
mov dword [rbp + rcx - 0x10], eax
dec r8
jne 0x1401a7b70
mov r11d, edx
cmp edx, 0x28
jb 0x1401a7b60
lea rax, [rsp + 0x68]
mov r8, r10
nop dword [rax]
mov edx, dword [rax + 4]
mov ecx, dword [rax]
lea rax, [rax + 0x20]
mov dword [rax - 0x1c], ecx
mov ecx, dword [rax - 0x24]
mov dword [rax - 0x20], ecx
mov ecx, dword [rax - 0x28]
mov dword [rax - 0x24], ecx
mov ecx, dword [rax - 0x2c]
xor ecx, edx
mov dword [rax - 0x28], ecx
mov ecx, dword [rax - 0x30]
xor ecx, edx
mov dword [rax - 0x2c], ecx
mov ecx, dword [rax - 0x34]
mov dword [rax - 0x30], ecx
mov ecx, dword [rax - 0x38]
mov dword [rax - 0x38], edx
xor ecx, edx
mov dword [rax - 0x34], ecx
dec r8
jne 0x1401a7ba0
mov r9d, 4
lea r8, [rsp + 0x58]
nop dword [rax]
mov eax, 0xcccccccd
mov ecx, r9d
lea r8, [r8 + 0x20]
mul r9d
shr edx, 2
inc r9d
lea eax, [rdx + rdx*4]
sub ecx, eax
lea edx, [rcx*8]
mov ecx, dword [rbp + rdx*4 - 0x10]
lea eax, [rdx + 1]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x28], ecx
xor dword [r8 - 0x24], eax
lea eax, [rdx + 2]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x20], eax
lea eax, [rdx + 3]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x1c], eax
lea eax, [rdx + 4]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x18], eax
lea eax, [rdx + 5]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x14], eax
lea eax, [rdx + 6]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0x10], eax
lea eax, [rdx + 7]
mov eax, dword [rbp + rax*4 - 0x10]
xor dword [r8 - 0xc], eax
dec r10
jne 0x1401a7bf0
lea r8d, [r10 + 0x20]
lea rdx, [rsp + 0x30]
lea rcx, [0x1402cc430]
xor r9d, r9d
mov dword [rsp + 0x20], 1
call fcn.140002c70
lea rdx, [rsp + 0x50]
lea rcx, [0x1402cc450]
xor r9d, r9d
mov r8d, 0xa0
mov dword [rsp + 0x20], 1
call fcn.140002c70
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.1401bb2c0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
sub rsp, 0x38
movups xmm0, xmmword [rcx]
xor r9d, r9d
lea rdx, [0x1402cc360]
lea r8d, [r9 + 0x50]
mov dword [rsp + 0x20], 1
movaps xmmword [0x1402cc360], xmm0
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [0x1402cc370], xmm1
movups xmm0, xmmword [rcx + 0x20]
movaps xmmword [0x1402cc380], xmm0
movups xmm1, xmmword [rcx + 0x30]
movaps xmmword [0x1402cc390], xmm1
movups xmm0, xmmword [rcx + 0x40]
lea rcx, [0x1402cc3e0]
movaps xmmword [0x1402cc3a0], xmm0
call fcn.140002c70
test eax, eax
jne 0x1401a7de9
add rsp, 0x38
jmp 0x1401a7530
mov ecx, eax
mov qword [rsp + 0x30], rbx
call fcn.1400016c0
mov rbx, rax
call sub.MSVCR120.dll___iob_func
lea r8, str.qubit_luffa512_cpu_setBlock_80
lea rdx, str.Cuda_error_in_func__s_at_line__i_:__s._n
lea rcx, [rax + 0x60]
mov r9d, 0x4a7
mov qword [rsp + 0x20], rbx
call sub.MSVCR120.dll_fprintf
mov ecx, 1
call sub.MSVCR120.dll_exit
mov rbx, qword [rsp + 0x30]
int3