Function at 0x1400d3504
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rdi, r9
mov r12, r8
mov r13, rdx
mov rsi, rcx
xor r14d, r14d
mov eax, r14d
xchg dword [0x1404fe3b4], eax
mov r10d, r14d
xchg dword [0x1404fe3b0], r10d
mov dword [rbp + 0x50], r14d
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
mov r15, qword [0x140527ac0]
test r15, r15
je 0x1400d368d
mov dword [rbp - 0x10], edi
shr rdi, 0x20
mov dword [rbp - 0xc], edi
mov rax, qword [rsi + 0x38]
mov qword [rbp - 8], rax
lea rdi, [rsi + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
nop dword [rax + rax]
mov qword [rbp - 0x38], rdi
mov al, byte [rsi + 0x18]
mov r14d, 1
test al, al
jne 0x1400d3709
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x50]
mov r8d, r12d
mov rdx, r13
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_ReadFile]
nop dword [rax + rax]
test eax, eax
setne bl
test rdi, rdi
je 0x1400d35d2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
test bl, bl
jne 0x1400d386d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x1400d35f7
cmp eax, 0x3e5
jne 0x1400d3731
mov eax, 2
xchg dword [0x1404fe3b4], eax
and dword [rbp + 0x40], 0
mov ebx, dword [r15 + 0x18]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
nop dword [rax + rax]
and dword [rsp + 0x20], 0
mov r9d, ebx
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetOverlappedResultEx]
nop dword [rax + rax]
test eax, eax
setne bl
test rdi, rdi
je 0x1400d3652
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
test bl, bl
je 0x1400d379e
mov eax, 7
xchg dword [0x1404fe3b4], eax
mov ecx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x60]
mov qword [rax], rcx
xor eax, eax
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rbx, [0x1404fed40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
mov qword [rbp - 0x40], rbx
cmp qword [0x140527ac0], r14
jne 0x1400d36f4
mov r14d, 0xa8
mov ecx, r14d
call fcn.1401568fc
mov rbx, rax
mov qword [rbp - 0x38], rax
mov r8d, r14d
xor edx, edx
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, rbx
call fcn.1401782a0
nop
mov rdx, qword [0x140527ac0]
mov qword [0x140527ac0], rax
test rdx, rdx
je 0x1400d36f4
call fcn.140178370
nop
lea rcx, [rbp - 0x40]
call fcn.140070854
mov r15, qword [0x140527ac0]
jmp 0x1400d355c
mov rax, qword [rsi + 0x28]
lock add qword [rax + 0x38], r14
mov ecx, 0x323
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
lea rcx, [rbp - 0x38]
call fcn.140079450
jmp 0x1400d35da
test eax, eax
jle 0x1400d373e
movzx ebx, ax
or ebx, 0x80070000
call fcn.1400abad4
mov ecx, 4
cmp dword [rax], ecx
jbe 0x1400d3788
mov dword [rbp + 0x58], ebx
mov qword [rbp - 0x30], r12
lea rcx, str.Failed_to_read_file_for_hashing
mov qword [rbp - 0x28], rcx
lea rcx, [rbp + 0x58]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x20], rcx
lea rdx, [0x14045e55a]
mov rcx, rax
call fcn.140002868
xchg dword [0x1404fe3b4], r14d
mov ecx, ebx
xchg dword [0x1404fe3b0], ecx
mov eax, ebx
jmp 0x1400d3671
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x102
je 0x1400d37e7
mov ecx, 3
xchg dword [0x1404fe3b4], ecx
mov edi, 0x80070000
movzx ecx, ax
test eax, eax
jg 0x1400d37cc
mov edx, eax
jmp 0x1400d37d0
mov edx, ecx
or edx, edi
xchg dword [0x1404fe3b0], edx
test eax, eax
jle 0x1400d3671
or ecx, edi
mov eax, ecx
jmp 0x1400d3671
mov rcx, rsi
call fcn.140177250
mov edi, 0x80070000
test al, al
jne 0x1400d381e
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jle 0x1400d380d
movzx eax, ax
or eax, edi
mov ecx, 4
xchg dword [0x1404fe3b4], ecx
xchg dword [0x1404fe3b0], eax
or r9d, 0xffffffff
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14011805c
test al, al
jne 0x1400d3863
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jle 0x1400d384b
movzx eax, ax
or eax, edi
mov ecx, 5
xchg dword [0x1404fe3b4], ecx
mov edx, eax
xchg dword [0x1404fe3b0], edx
jmp 0x1400d3671
mov eax, 6
jmp 0x1400d365f
mov eax, 8
xchg dword [0x1404fe3b4], eax
mov ecx, dword [rbp + 0x50]
jmp 0x1400d3668