Function at 0x5f2c20
Capabilities:
Read file on windows

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
vpxor xmm0, xmm0, xmm0
mov qword [rcx + 0x10], 0
mov rbx, rcx
mov r12, rdx
mov dword [rcx + 0x18], 0
vmovups xmmword [rcx], xmm0
test rdx, rdx
je 0x5f2e80
mov rcx, rdx
call sub.msvcrt.dll_strlen
mov rsi, rax
test rax, rax
je 0x5f2e80
lea rcx, [rax + 1]
mov edx, 1
call sub.msvcrt.dll_calloc
mov qword [rbx], rax
mov rcx, rax
test rax, rax
je 0x5f2f47
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
lea rdx, [0x006d1894]
mov rcx, rax
call fcn.005f36b0
mov r12, rax
test rax, rax
je 0x5f2d60
xor edx, edx
mov r8d, 2
mov rcx, r12
call sub.msvcrt.dll_fseek
mov rcx, r12
call sub.msvcrt.dll_ftell
xor r8d, r8d
xor edx, edx
mov rcx, r12
mov esi, eax
call sub.msvcrt.dll_fseek
test esi, esi
js 0x5f2e10
movsxd rdi, esi
mov rcx, rdi
call fcn.004151c0
mov qword [rbx + 8], rax
mov rcx, rax
test rax, rax
je 0x5f2e60
mov rax, qword [0x006e3a90]
cmp byte [rax], 0
je 0x5f2e30
mov r9, r12
mov r8d, 1
mov rdx, rdi
call sub.msvcrt.dll_fread
test rax, rax
je 0x5f2ebe
mov rcx, r12
call sub.msvcrt.dll_fclose
lea eax, [rsi - 0x11]
sub esi, 0x20
mov qword [rbx + 0x10], rdi
cmovs esi, eax
mov r8, qword [rbx]
mov ecx, 3
lea rdx, str.Using_Verthash_data_file__s
sar esi, 4
add esi, 1
mov dword [rbx + 0x18], esi
call fcn.0040ae30
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
ret
mov rax, qword [0x006e39e0]
cmp qword [rax], 0
jne 0x5f2ea0
mov rax, qword [0x006e3b00]
cmp byte [rax], 0
je 0x5f2ee4
lea rdx, str.Creating_default_verthash.dat_in_current_directory__this_will_take_several_minutes
mov ecx, 3
call fcn.0040ae30
mov ecx, 0x20
mov r12, qword [rbx]
call sub.msvcrt.dll_malloc
mov rsi, rax
test rax, rax
je 0x5f2f60
mov r8, rax
mov edx, 0x20
lea rcx, str.Verthash_Proof_of_Space_Datafile
mov r9d, 0x20
call fcn.005f4000
mov r8, rsi
mov rdx, r12
mov ecx, 0x11
call fcn.005f2b10
test rax, rax
je 0x5f2f2e
mov rcx, qword [rbx]
lea rdx, [0x006d1894]
call fcn.005f36b0
mov r12, rax
test rax, rax
je 0x5f2f10
lea rdx, str.Verthash_data_file_created_successfully
mov ecx, 3
call fcn.0040ae30
jmp 0x5f2ca6
mov rcx, r12
call sub.msvcrt.dll_fclose
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
ret
mov ecx, 4
lea rdx, str.Verthash_data_is_using_huge_pages
call fcn.0040ae30
mov rcx, qword [rbx + 8]
test rcx, rcx
jne 0x5f2d00
mov rcx, r12
call sub.msvcrt.dll_fclose
mov eax, 2
jmp 0x5f2d4e
mov rcx, rdi
mov edx, 0x40
call qword [sym.imp.msvcrt.dll__aligned_malloc]
mov qword [rbx + 8], rax
mov rcx, rax
jmp 0x5f2e45
lea rdx, str.Invalid_file_specification
mov ecx, 1
call fcn.0040ae30
mov eax, 0xffffffff
jmp 0x5f2d4e
mov r8, qword [rbx]
lea rdx, str.Verthash_data_file_not_found_or_invalid:__s
mov ecx, 1
call fcn.0040ae30
mov eax, 0xffffffff
jmp 0x5f2d4e
mov r8, qword [rbx]
lea rdx, str.File_system_error_reading__s
mov ecx, 1
call fcn.0040ae30
mov rcx, r12
call sub.msvcrt.dll_fclose
mov eax, 0xffffffff
jmp 0x5f2d4e
lea rdx, str.No_Verthash_data_file_specified_and_default_not_found
mov ecx, 1
call fcn.0040ae30
lea rdx, str.Add___verify_to_create_default_verthash.dat
mov ecx, 3
call fcn.0040ae30
mov eax, 0xffffffff
jmp 0x5f2d4e
mov r8, qword [rbx]
lea rdx, str.File_system_error_opening__s
mov ecx, 1
call fcn.0040ae30
mov eax, 0xffffffff
jmp 0x5f2d4e
lea rdx, str.Verthash_file_creation_failed
mov ecx, 1
call fcn.0040ae30
or eax, 0xffffffff
jmp 0x5f2d4e
lea rdx, str.Failed_to_allocate_memory_for_Verthash_data
mov ecx, 1
call fcn.0040ae30
or eax, 0xffffffff
jmp 0x5f2d4e
lea rdx, str.Verthash_data_memory_allocation_failed
mov ecx, 1
call fcn.0040ae30
or eax, 0xffffffff
jmp 0x5f2d4e