Function at 0x140020ff0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov rbx, r9
mov qword [rsp + 0x20], r12
mov r14, r8
mov rdi, rdx
mov esi, r12d
lea r15d, [r12 + 0x5a]
test rdx, rdx
jne 0x140021033
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov qword [rsp + 0x60], rbp
test r14, r14
je 0x1400212ca
test rbx, rbx
je 0x1400212ca
mov r8d, 8
lea rdx, str.sha256__
mov rcx, rdi
call fcn.14004bb50
test eax, eax
jne 0x1400211be
mov rax, qword [0x1400a9060]
cmp qword [rax + 0xb8], rsi
je 0x1400212ca
mov ecx, 0x20
call qword [fcn.14004a154]
mov rsi, rax
test rax, rax
je 0x14002110c
mov r8, rax
mov r9d, 0x20
mov rax, qword [0x1400a9060]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0xb8]
test eax, eax
jne 0x1400212cd
lea r9, [rsp + 0x28]
mov rcx, rsi
lea r8, [rsp + 0x68]
lea edx, [rax + 0x20]
call fcn.140037140
mov rcx, rsi
mov ebx, eax
call qword [fcn.14004a14c]
test ebx, ebx
je 0x1400210dd
mov eax, ebx
jmp 0x1400212cd
mov rbx, 0xffffffffffffffff
cmp byte [rdi + rbx + 1], r12b
lea rbx, [rbx + 1]
jne 0x1400210e4
lea rcx, [rbx + 1]
call qword [fcn.14004a154]
mov rsi, rax
test rax, rax
jne 0x140021116
mov rcx, qword [rsp + 0x68]
call qword [fcn.14004a14c]
mov eax, 0x1b
jmp 0x1400212cd
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rsi
call fcn.140043700
mov rdi, rsi
nop dword [rax + rax]
lea rdx, str._sha256__
mov rcx, rdi
call fcn.1400446c4
mov rbx, rax
test rax, rax
je 0x14002114a
mov byte [rax], r12b
lea rdx, [rdi + 8]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x140021155
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x68]
cmp r8, rax
jne 0x140021179
mov rcx, rdi
call fcn.140043600
test eax, eax
je 0x1400211b9
test rbx, rbx
je 0x14002119d
lea rdx, str.sha256__
mov byte [rbx], 0x3b
mov rcx, rbx
call fcn.1400446c4
mov rdi, rax
test rax, rax
jne 0x140021130
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call qword [fcn.14004a14c]
mov rcx, rsi
mov qword [rsp + 0x68], r12
call qword [fcn.14004a14c]
jmp 0x1400212ca
mov r15d, r12d
jmp 0x14002119d
lea rdx, [0x1400897f4]
mov rcx, rdi
call fcn.140036e10
mov rbp, rax
test rax, rax
je 0x1400212ca
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call fcn.14004c0a8
test eax, eax
jne 0x1400212a9
mov rcx, rbp
call fcn.14004c58c
xor r8d, r8d
movsxd rdi, eax
xor edx, edx
mov rcx, rbp
call fcn.14004c0a8
test eax, eax
jne 0x1400212a9
cmp edi, 0x100000
ja 0x1400212a9
mov rcx, rdi
call fcn.1400286c0
mov rdi, rax
cmp rbx, rax
ja 0x1400212a9
lea rcx, [rax + 1]
call qword [fcn.14004a154]
mov rsi, rax
test rax, rax
je 0x1400212a9
mov r9, rbp
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.14004b7a8
cmp eax, 1
jne 0x1400212a9
cmp rbx, rdi
jne 0x140021272
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.140043600
test eax, eax
jne 0x1400212a9
mov r15d, r12d
jmp 0x1400212a9
lea r8, [rsp + 0x68]
mov byte [rdi + rsi], r12b
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400221f0
test eax, eax
jne 0x1400212a9
cmp rbx, qword [rsp + 0x68]
jne 0x1400212a9
mov rdx, qword [rsp + 0x20]
mov r8, rbx
mov rcx, r14
call fcn.140043600
test eax, eax
cmove r15d, r12d
mov rcx, rsi
call qword [fcn.14004a14c]
mov rcx, qword [rsp + 0x20]
call qword [fcn.14004a14c]
mov rcx, rbp
mov qword [rsp + 0x20], r12
call fcn.14004bdc8
mov eax, r15d
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret