Function at 0x18005f920
Capabilities:
Read file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov rdi, rcx
mov edx, dword [rcx + 0x34]
mov qword [rsp + 0x58], rdx
xor r9d, r9d
lea r8, [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x18005f95f
call fcn.180003220
jmp 0x18005fc38
mov ecx, 0xa290
call fcn.180077f70
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x18005f980
mov eax, 0x8007000e
jmp 0x18005fc38
xor edx, edx
mov r8d, 0xa290
mov rcx, rax
call fcn.1800795c0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x50]
mov r8d, 0xa290
mov rdx, rbx
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18005f9d3
call fcn.180003220
mov edi, eax
mov rcx, rbx
call fcn.18007702c
mov eax, edi
jmp 0x18005fc38
lea r9, [0x180000000]
mov r8d, dword [rbx + 0x8001]
cmp r8d, dword [r9 + 0xf470c]
jne 0x18005f9fe
mov r8b, byte [rbx + 0x8005]
cmp r8b, byte [r9 + 0xf4710]
jne 0x18005f9fe
xor eax, eax
jmp 0x18005fa03
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, dword [rbx + 0x8001]
cmp edx, dword [r9 + 0xf4714]
jne 0x18005fa2d
mov dl, byte [rbx + 0x8005]
cmp dl, byte [r9 + 0xf4718]
jne 0x18005fa2d
xor eax, eax
jmp 0x18005fa32
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov r8d, dword [rbx + 0x9311]
cmp r8d, dword [r9 + 0xf470c]
jne 0x18005fa5e
mov r8b, byte [rbx + 0x9315]
cmp r8b, byte [r9 + 0xf4710]
jne 0x18005fa5e
xor eax, eax
jmp 0x18005fa63
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, dword [rbx + 0x9311]
cmp edx, dword [r9 + 0xf4714]
jne 0x18005fa8d
mov dl, byte [rbx + 0x9315]
cmp dl, byte [r9 + 0xf4718]
jne 0x18005fa8d
xor eax, eax
jmp 0x18005fa92
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, dword [rbx + 0x9319]
cmp edx, dword [r9 + 0xf470c]
jne 0x18005fabc
mov dl, byte [rbx + 0x931d]
cmp dl, byte [r9 + 0xf4710]
jne 0x18005fabc
xor eax, eax
jmp 0x18005fac1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, 0x9319
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18005fc2e
mov edx, dword [rbx + 0x9911]
cmp edx, dword [r9 + 0xf470c]
jne 0x18005fafc
mov dl, byte [rbx + 0x9915]
cmp dl, byte [r9 + 0xf4710]
je 0x18005fb01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, 0x9911
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18005fc2e
mov edx, dword [rbx + 0x9919]
cmp edx, dword [r9 + 0xf470c]
jne 0x18005fb3c
mov dl, byte [rbx + 0x991d]
cmp dl, byte [r9 + 0xf4710]
je 0x18005fb41
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, 0x9919
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18005fc2e
mov edx, dword [rbx + 0x9209]
cmp edx, dword [r9 + 0xf470c]
jne 0x18005fb7c
mov dl, byte [rbx + 0x920d]
cmp dl, byte [r9 + 0xf4710]
je 0x18005fb81
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, 0x9209
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18005fc2e
mov edx, dword [rbx + 0x9201]
cmp edx, dword [r9 + 0xf470c]
jne 0x18005fbbc
mov dl, byte [rbx + 0x9205]
cmp dl, byte [r9 + 0xf4710]
je 0x18005fbc1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18005fc2e
mov edx, 0x9201
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18005fc2e
cmp dword [rdi + 0x34], eax
je 0x18005fbf4
mov dword [rdi + 0x34], eax
mov rcx, rdi
call fcn.18005f920
mov edi, eax
mov rcx, rbx
call fcn.18007702c
mov eax, edi
jmp 0x18005fc38
mov eax, dword [rdi + 0x38]
cmp eax, 1
jne 0x18005fc0b
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe003200b
jmp 0x18005fc38
cmp eax, 2
jne 0x18005fc1f
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe003200a
jmp 0x18005fc38
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe00e1001
jmp 0x18005fc38
mov rcx, rbx
call fcn.18007702c
xor eax, eax
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret