Function at 0x1400bc100
Capabilities:
Access peb ldr_data
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1401858e0]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword gs:[0x58]
lea r9, [rbp - 0x30]
xor ebx, ebx
movsxd r12, ecx
mov ecx, dword [0x140196070]
mov r8d, ebx
mov dword [rsp + 0x30], 0x6d251e69
mov dword [rsp + 0x34], 0x44b051e0
mov dword [rsp + 0x38], 0x4eaa6fb4
mov rdi, qword [rax + rcx*8]
sub rdi, r9
mov eax, 0x1a0
add rdi, rax
mov dword [rsp + 0x3c], 0xdbf78465
mov dword [rsp + 0x40], 0x6e292011
mov dword [rsp + 0x44], 0x90152df4
mov dword [rsp + 0x48], 0xee058139
mov dword [rsp + 0x4c], 0xdef610bb
mov dword [rsp + 0x50], 0xc3b44b95
mov dword [rsp + 0x54], 0xd9d2f256
mov dword [rsp + 0x58], 0x70eee9a0
mov dword [rsp + 0x5c], 0xde099fa3
mov dword [rsp + 0x60], 0x5d9b0557
mov dword [rsp + 0x64], 0x8fc944b3
mov dword [rsp + 0x68], 0xcf1ccf0e
mov dword [rsp + 0x6c], 0x746cd581
mov dword [rsp + 0x70], 0xf7efc89d
mov dword [rsp + 0x74], 0x5dba5781
mov dword [rsp + 0x78], 0x4016ce5
mov dword [rsp + 0x7c], 0xad659c05
mov dword [rbp - 0x80], 0x306194f
mov dword [rbp - 0x7c], 0x666d1836
mov dword [rbp - 0x78], 0x24aa230a
mov dword [rbp - 0x74], 0x8b264ae7
mov dword [rbp - 0x70], 0x858075d5
mov dword [rbp - 0x6c], 0x36d79cce
mov dword [rbp - 0x68], 0xe571f7d7
mov dword [rbp - 0x64], 0x204b1f67
mov dword [rbp - 0x60], 0x35870c6a
mov dword [rbp - 0x5c], 0x57e9e923
mov dword [rbp - 0x58], 0x14bcb808
mov dword [rbp - 0x54], 0x7cde72ce
mov dword [rbp - 0x50], 0x6c68e9be
mov dword [rbp - 0x4c], 0x5ec41e22
mov dword [rbp - 0x48], 0xc825b7c7
mov dword [rbp - 0x44], 0xaffb4363
mov dword [rbp - 0x40], 0xf5df3999
mov dword [rbp - 0x3c], 0xfc688f1
mov dword [rbp - 0x38], 0xb07224cc
mov dword [rbp - 0x34], 0x3e86cea
nop dword [rax + rax]
lea rax, [rdi + r8*4]
mov ecx, dword [rbp + rax - 0x30]
bswap ecx
mov dword [rbp + r8*4 - 0x30], ecx
inc r8
cmp r8, 8
jl 0x1400bbc70
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.1400badb0
mov rdx, rbx
add rdi, 0x20
nop dword [rax]
lea rax, [rdi + rdx*4]
mov ecx, dword [rbp + rax - 0x30]
bswap ecx
mov dword [rbp + rdx*4 - 0x30], ecx
inc rdx
cmp rdx, 8
jl 0x1400bbca0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.1400badb0
mov rcx, rbx
mov edx, 8
nop dword [rax]
mov eax, dword [rsp + rcx + 0x30]
xor eax, dword [rbp + rcx - 0x50]
xor eax, dword [rsp + rcx + 0x50]
xor eax, dword [rbp + rcx - 0x70]
xor eax, dword [rsp + rcx + 0x70]
mov dword [rbp + rcx - 0x10], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x1400bbcd0
mov ecx, dword [rbp + 0xc]
lea rax, [rsp + 0x34]
mov r8d, dword [rbp - 4]
mov r11d, 5
mov r9d, dword [rbp - 8]
xor r8d, ecx
mov r10d, dword [rbp - 0x10]
xor r9d, ecx
mov edi, dword [rbp + 8]
xor r10d, ecx
mov esi, dword [rbp + 4]
mov edx, r11d
mov r14d, dword [rbp]
mov r15d, dword [rbp - 0xc]
mov dword [rbp - 0xc], r10d
mov dword [rbp + 0xc], edi
mov dword [rbp + 8], esi
mov dword [rbp + 4], r14d
mov dword [rbp], r8d
mov dword [rbp - 4], r9d
mov dword [rbp - 8], r15d
mov dword [rbp - 0x10], ecx
nop dword [rax]
nop word [rax + rax]
xor dword [rax - 4], ecx
xor dword [rax], r10d
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]
sub rdx, 1
jne 0x1400bbd50
mov r8d, ebx
nop dword [rax]
mov eax, ebx
nop dword [rax]
nop word [rax + rax]
lea ecx, [r8 + rax]
inc eax
mov edx, ecx
mov ecx, dword [rsp + rcx*4 + 0x30]
mov dword [rbp + rdx*4 - 0x10], ecx
cmp eax, 8
jb 0x1400bbd90
add r8d, 8
cmp r8d, 0x28
jb 0x1400bbd80
lea rdx, [rsp + 0x48]
mov r8, r11
nop word [rax + rax]
mov ecx, dword [rdx + 4]
mov eax, dword [rdx]
mov dword [rdx + 4], eax
mov eax, dword [rdx - 4]
mov dword [rdx], eax
mov eax, dword [rdx - 8]
mov dword [rdx - 4], eax
mov eax, dword [rdx - 0xc]
lea rdx, [rdx + 0x20]
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]
xor eax, ecx
mov dword [rdx - 0x38], ecx
mov dword [rdx - 0x34], eax
sub r8, 1
jne 0x1400bbdc0
mov r9d, ebx
lea r8, [rsp + 0x38]
nop word [rax + rax]
mov eax, 0xcccccccd
lea r8, [r8 + 0x20]
inc r9d
mul r9d
mov ecx, r9d
shr edx, 2
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 - 0x24], eax
lea eax, [rdx + 2]
xor dword [r8 - 0x28], ecx
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
cmp r9d, r11d
jb 0x1400bbe10
mov r8d, ebx
nop
mov edx, ebx
nop dword [rax]
nop word [rax + rax]
lea eax, [r8 + rdx]
inc edx
mov ecx, eax
mov eax, dword [rsp + rax*4 + 0x30]
mov dword [rbp + rcx*4 - 0x10], eax
cmp edx, 8
jb 0x1400bbea0
add r8d, 8
cmp r8d, 0x28
jb 0x1400bbe90
lea rdx, [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rdx + 4]
mov eax, dword [rdx]
mov dword [rdx + 4], eax
mov eax, dword [rdx - 4]
mov dword [rdx], eax
mov eax, dword [rdx - 8]
mov dword [rdx - 4], eax
mov eax, dword [rdx - 0xc]
lea rdx, [rdx + 0x20]
xor eax, ecx
mov dword [rdx - 0x28], eax
mov eax, ecx
xor eax, dword [rdx - 0x30]
mov dword [rdx - 0x2c], eax
mov eax, dword [rdx - 0x34]
mov dword [rdx - 0x30], eax
mov eax, dword [rdx - 0x38]
xor eax, ecx
mov dword [rdx - 0x38], ecx
mov dword [rdx - 0x34], eax
sub r11, 1
jne 0x1400bbed0
lea r8, [rsp + 0x38]
nop dword [rax]
nop word [rax + rax]
mov eax, 0xcccccccd
lea ecx, [rbx + 4]
mul ecx
inc ebx
lea r8, [r8 + 0x20]
shr edx, 2
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 - 0x24], eax
lea eax, [rdx + 2]
xor dword [r8 - 0x28], ecx
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
cmp ebx, 5
jb 0x1400bbf20
lea rcx, [0x140188d10]
xor r9d, r9d
mov rax, qword [rcx + r12*8]
lea rbx, [rcx + r12*8]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x30]
lea rcx, [0x14018d730]
mov dword [rsp + 0x20], 1
lea r8d, [r9 + 0x20]
call sub.cudart64_91.dll_cudaMemcpyToSymbolAsync
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rcx, [0x14018d750]
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8d, 0xa0
call sub.cudart64_91.dll_cudaMemcpyToSymbolAsync
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.1401150e0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
movups xmm0, xmmword [rdx]
mov r8d, dword [0x140196070]
lea r14, [0x140000000]
mov rax, qword gs:[0x58]
xor r9d, r9d
movsxd rdi, ecx
mov ecx, 0x1a0
mov r10, qword [rax + r8*8]
xor eax, eax
add r10, rcx
mov r8d, 0x80
lea rcx, [0x14018d690]
movups xmmword [r10], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [r10 + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [r10 + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
mov rdx, r10
movups xmmword [r10 + 0x40], xmm0
mov qword [r10 + 0x50], rax
mov qword [r10 + 0x58], rax
mov qword [r10 + 0x60], rax
mov qword [r10 + 0x68], rax
mov qword [r10 + 0x70], rax
mov qword [r10 + 0x78], rax
mov rax, qword [r14 + rdi*8 + 0x188d10]
mov byte [r10 + 0x50], 0x80
mov qword [rsp + 0x28], rax
mov byte [r10 + 0x6f], 1
mov dword [rsp + 0x20], 1
mov word [r10 + 0x7e], 0x8002
call sub.cudart64_91.dll_cudaMemcpyToSymbolAsync
test eax, eax
je 0x1400bc210
mov ecx, eax
mov qword [rsp + 0x40], rbx
call sub.cudart64_91.dll_cudaGetErrorString
mov ecx, 2
mov rbx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8d, dword [r14 + rdi*4 + 0x196820]
lea r9, str.qubit_luffa512_cpu_setBlock_80
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rdx, [0x1401220a0]
mov dword [rsp + 0x20], 0x41b
call fcn.140027ea0
mov ecx, 1
call fcn.1400293d0
mov rbx, qword [rsp + 0x40]
mov ecx, edi
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
jmp 0x1400bbae0