Function at 0x1400d8fc4
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 [0x1404fb234], eax
mov r10d, r14d
xchg dword [0x1404fb230], r10d
mov dword [rbp + 0x50], r14d
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
mov r15, qword [0x140524770]
test r15, r15
je 0x1400d914d
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 0x1400d91c9
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 0x1400d9092
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
test bl, bl
jne 0x1400d932d
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 0x1400d90b7
cmp eax, 0x3e5
jne 0x1400d91f1
mov eax, 2
xchg dword [0x1404fb234], 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 0x1400d9112
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
test bl, bl
je 0x1400d925e
mov eax, 7
xchg dword [0x1404fb234], 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, [0x1404fbbc0]
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 [0x140524770], r14
jne 0x1400d91b4
mov r14d, 0xa8
mov ecx, r14d
call fcn.140157bbc
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.140179390
nop
mov rdx, qword [0x140524770]
mov qword [0x140524770], rax
test rdx, rdx
je 0x1400d91b4
call fcn.140179460
nop
lea rcx, [rbp - 0x40]
call fcn.140070574
mov r15, qword [0x140524770]
jmp 0x1400d901c
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.140079170
jmp 0x1400d909a
test eax, eax
jle 0x1400d91fe
movzx ebx, ax
or ebx, 0x80070000
call fcn.1400abd44
mov ecx, 4
cmp dword [rax], ecx
jbe 0x1400d9248
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, [0x14045bd62]
mov rcx, rax
call fcn.140002868
xchg dword [0x1404fb234], r14d
mov ecx, ebx
xchg dword [0x1404fb230], ecx
mov eax, ebx
jmp 0x1400d9131
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x102
je 0x1400d92a7
mov ecx, 3
xchg dword [0x1404fb234], ecx
mov edi, 0x80070000
movzx ecx, ax
test eax, eax
jg 0x1400d928c
mov edx, eax
jmp 0x1400d9290
mov edx, ecx
or edx, edi
xchg dword [0x1404fb230], edx
test eax, eax
jle 0x1400d9131
or ecx, edi
mov eax, ecx
jmp 0x1400d9131
mov rcx, rsi
call fcn.140178340
mov edi, 0x80070000
test al, al
jne 0x1400d92de
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jle 0x1400d92cd
movzx eax, ax
or eax, edi
mov ecx, 4
xchg dword [0x1404fb234], ecx
xchg dword [0x1404fb230], eax
or r9d, 0xffffffff
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14011930c
test al, al
jne 0x1400d9323
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jle 0x1400d930b
movzx eax, ax
or eax, edi
mov ecx, 5
xchg dword [0x1404fb234], ecx
mov edx, eax
xchg dword [0x1404fb230], edx
jmp 0x1400d9131
mov eax, 6
jmp 0x1400d911f
mov eax, 8
xchg dword [0x1404fb234], eax
mov ecx, dword [rbp + 0x50]
jmp 0x1400d9128