Function at 0x140002690
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movdqa xmm0, xmmword [0x1400563c0]
xor r15d, r15d
lea rbx, [0x140056260]
movabs rsi, 0x1a7b9611a7b9611b
movabs rbp, 0xea0ea0ea0ea0ea0f
lea rdi, [rsp + 0x30]
mov dword [rsp + 0x50], 4
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x28], rdi
movaps xmmword [rsp + 0x30], xmm0
nop dword [rax]
mov rcx, qword [rsp + 0x28]
mov rdx, r15
mov qword [rsp + 0x40], 0x23
call dbg.blackrock_shuffle
mov r8d, 4
xor r9d, r9d
mov r11d, 0x23
mov rcx, rax
mul rsi
mov r10d, 0x1d
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
mov rdi, rax
shr rax, 4
shr rdi, 4
lea rdx, [rdi*8]
sub rdx, rdi
lea rdx, [rdi + rdx*4]
mov rdi, rcx
sub rdi, rdx
jmp 0x1400027a5
cmp rax, rcx
jae 0x140002828
sub rcx, rax
mov rax, rcx
mul rsi
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
lea rdx, [rax*8]
sub rdx, rax
lea rdx, [rax + rdx*4]
mov rax, rcx
sub rax, rdx
mov rdx, r10
sub rdx, rax
cmp rdx, 0x1d
cmove rdx, r9
sub r8, 1
je 0x140002860
mov rax, rdi
mov rdi, rdx
movzx ecx, byte [rbx + r8]
mov r14d, r8d
mov r13d, ecx
mov r12d, ecx
mov edx, ecx
shl ecx, 0x18
shl r13d, 0x10
shl r12d, 8
or ecx, r13d
mov r13, rdi
or edx, r12d
xor r13, r8
movsxd rdx, edx
movzx r13d, byte [rbx + r13]
shl rdx, 0x17
xor rdx, rcx
shl rcx, 0x21
or r12d, r13d
movsxd r12, r12d
xor rdx, r12
xor rcx, rdx
and r14d, 1
jne 0x140002750
cmp rax, rcx
jb 0x1400029a8
sub rax, rcx
sub r8, 1
mov r12, rax
mul rbp
shr rdx, 5
lea rax, [rdx + rdx*8]
shl rax, 2
sub rax, rdx
mov rdx, r12
sub rdx, rax
jmp 0x14000279f
sub rax, rcx
mov r12, rax
mul rsi
mov rax, r12
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 4
lea rax, [rdx*8]
sub rax, rdx
lea rax, [rdx + rax*4]
mov rdx, r12
sub rdx, rax
sub r8, 1
jne 0x14000279f
lea rax, [rdi*8]
sub rax, rdi
lea rcx, [rdi + rax*4]
add rcx, rdx
cmp rcx, 0x3e7
jbe 0x140002a37
mov r12d, 0x23
xor r11d, r11d
mov edi, 0x1d
nop dword [rax]
movabs rax, 0x469ee58469ee5847
mov r8d, 0x22
imul rcx
mov rax, rcx
sar rax, 0x3f
sar rdx, 3
sub rdx, rax
lea rax, [rdx*8]
sub rax, rdx
lea rax, [rdx + rax*4]
sub rcx, rax
mov r9, rcx
mov ecx, 4
jmp 0x140002925
cmp r8, rax
jae 0x1400029e0
sub rax, r8
mov r10, rax
mul rsi
mov rax, r10
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 4
lea rax, [rdx*8]
sub rax, rdx
lea rax, [rdx + rax*4]
mov rdx, r10
sub rdx, rax
mov rax, rdi
sub rax, rdx
cmp rax, 0x1d
cmove rax, r11
sub rcx, 1
je 0x140002a18
mov r8, r9
mov r9, rax
movzx r13d, byte [rbx + rcx]
mov r10d, r13d
mov edx, r13d
shl r10d, 8
shl edx, 0x10
mov eax, r10d
or eax, r13d
shl r13d, 0x18
or edx, r13d
mov r13, r9
cdqe
xor r13, rcx
shl rax, 0x17
movzx r13d, byte [rbx + r13]
xor rax, rdx
shl rdx, 0x21
or r10d, r13d
movsxd r10, r10d
xor rax, r10
xor rax, rdx
test cl, 1
jne 0x1400028d0
cmp r8, rax
jb 0x140002b28
sub r8, rax
sub rcx, 1
mov rax, r8
mul rbp
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*8]
shl rdx, 2
sub rdx, rax
mov rax, r8
sub rax, rdx
jmp 0x14000291f
sub rcx, rax
mov rax, rcx
mul rbp
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*8]
shl rdx, 2
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, r11
sub rdx, rax
cmp rdx, 0x23
cmove rdx, r9
sub r8, 1
jmp 0x14000279f
sub r8, rax
mov rax, r8
mul rsi
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
lea rdx, [rax*8]
sub rdx, rax
lea rdx, [rax + rdx*4]
mov rax, r8
sub rax, rdx
sub rcx, 1
jne 0x14000291f
lea rdx, [r9*8]
sub rdx, r9
lea rcx, [r9 + rdx*4]
add rcx, rax
cmp rcx, 0x3e7
ja 0x140002890
cmp r15, rcx
jne 0x140002b82
add r15, 1
cmp r15, 0xa
jne 0x1400026f0
mov rdi, qword [rsp + 0x28]
xor r13d, r13d
mov ebx, 0x2355
xor ecx, ecx
lea rbx, [rbx + r13 + 0xa]
call sub.api_ms_win_crt_time_l1_1_0.dll__time64
add rbx, rbx
mov r9d, 4
mov rcx, rdi
mov r8, rax
mov rdx, rbx
call sym.blackrock_init
mov r12, qword [rsp + 0x30]
mov ecx, 1
cmp rbx, r12
mov rbp, r12
cmovbe rbp, rbx
mov rdx, rbp
call dbg.CALLOC
mov rsi, rax
test r12, r12
je 0x140002b89
xor r15d, r15d
nop dword [rax]
mov rdx, r15
mov rcx, rdi
call dbg.blackrock_shuffle
cmp rax, rbx
jae 0x140002ac4
add byte [rsi + rax], 1
add r15, 1
cmp r12, r15
jne 0x140002ab0
test rbp, rbp
je 0x140002b89
mov rax, rsi
add rbp, rsi
mov r12d, r14d
nop
xor edx, edx
cmp byte [rax], 1
sete dl
add rax, 1
and r12d, edx
cmp rax, rbp
jne 0x140002ae0
mov rcx, rsi
call sym.free
test r12d, r12d
je 0x140002b5d
add r13, 1
cmp r13, 5
jne 0x140002a5b
xor eax, eax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
sub rax, r8
mov r10, rax
mul rbp
shr rdx, 5
lea rax, [rdx + rdx*8]
shl rax, 2
sub rax, rdx
mov rdx, r10
sub rdx, rax
mov rax, r12
sub rax, rdx
cmp rax, 0x23
cmove rax, r11
sub rcx, 1
jmp 0x14000291f
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x20
mov edx, 1
lea rcx, [0x140056230]
mov r9, rax
call sym.fwrite
mov eax, 1
jmp 0x140002b11
mov rcx, rsi
call sym.free
jmp 0x140002b01