Function at 0x180085e00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rbp, qword [rcx + 8]
xor r14d, r14d
mov rsi, rcx
mov rax, qword [rbp + 0x60]
test rax, rax
jne 0x180085e38
cmp qword [rbp + 0x38], r14
jne 0x180085e38
mov ecx, 0x8000ffff
jmp 0x180086064
cmp dword [rbp + 0x40], 0x10
jb 0x18008605f
test rax, rax
je 0x180086151
test byte [rbp + 8], 2
je 0x180085e5b
mov ecx, 0x8000ffff
jmp 0x180086064
xor edx, edx
mov qword [rsp + 0x90], r14
mov eax, 0xf
mov ebx, r14d
div dword [0x180132548]
mov r13d, eax
test eax, eax
js 0x180086049
nop
mov rcx, qword [rbp + 0x60]
mov dl, 1
call fcn.180026630
mov rcx, rax
mov eax, ebx
sar eax, 3
movsxd r8, eax
test eax, eax
js 0x180085ecf
mov rdx, r14
je 0x180085eb8
mov rax, 0xffffffffffffffff
div r8
cmp rax, 1
jb 0x18008629e
mov rdx, r8
jmp 0x180085ebb
mov r8, r14
mov rax, rcx
not rax
cmp rax, r8
jb 0x18008629e
add rcx, rdx
jmp 0x180085ed2
add rcx, r8
mov r9b, 1
mov edx, 1
movzx r8d, r9b
call fcn.180025540
mov ecx, ebx
mov edx, 1
and ecx, 7
shl edx, cl
test byte [rax], dl
je 0x180085f00
cmp ebx, r13d
jg 0x180086041
inc ebx
jmp 0x180085e80
cmp ebx, r13d
jg 0x180086041
mov r15d, ebx
mov edi, r14d
imul r15d, dword [0x180132548]
mov esi, ebx
nop dword [rax]
mov rcx, qword [rbp + 0x60]
mov edx, ebx
call fcn.180084cb0
test eax, eax
jne 0x180085f4a
mov ecx, dword [0x180132548]
mov eax, edi
not eax
cmp eax, ecx
jb 0x180086057
add edi, ecx
inc ebx
cmp ebx, r13d
jle 0x180085f20
mov rcx, qword [rbp + 0x38]
mov r9d, 4
mov r12d, r15d
mov r8d, 0x1000
add rcx, r12
mov edx, edi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18008613f
mov edx, r15d
mov rcx, rbp
call fcn.180083fa0
test eax, eax
js 0x1800861f4
mov rdx, qword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
add rdx, r12
cmp eax, 1
je 0x180085fb6
cmp eax, 6
je 0x180085fb6
mov rcx, qword [rbp + 0x10]
lea r9, [rsp + 0x88]
mov r8d, edi
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x180102408]
jmp 0x180085fed
mov rcx, qword [rbp + 0x18]
lea r9, [rsp + 0x88]
mov r8d, edi
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180085ff5
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x180085fe6
movzx eax, ax
or eax, 0x80070000
mov ecx, eax
call fcn.18008dee0
test eax, eax
js 0x1800861f4
cmp esi, ebx
jge 0x180086038
nop dword [rax]
mov rcx, qword [rbp + 0x60]
mov dl, 1
call fcn.180026630
mov edx, esi
mov qword [rsp + 0x98], rax
sar edx, 3
lea rcx, [rsp + 0x98]
call fcn.180084c40
mov ecx, esi
inc esi
and ecx, 7
movzx edx, byte [rax]
bts edx, ecx
mov byte [rax], dl
cmp esi, ebx
jl 0x180086000
cmp ebx, r13d
jle 0x180085e80
mov rsi, qword [rsp + 0x80]
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x90], rax
jmp 0x180086071
mov rsi, qword [rsp + 0x80]
mov ecx, 0x80070057
call fcn.18008dee0
test eax, eax
js 0x1800861f4
mov rax, qword [rsp + 0x90]
lea r9, [rsp + 0x90]
mov rcx, qword [rsi + 8]
mov r8d, 8
mov ebx, dword [rax + 0xc]
lea edx, [rbx + 0x10]
call fcn.1800843a0
test eax, eax
js 0x1800861f4
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x90]
mov r8d, 8
lea edx, [rbx + 0x10]
call fcn.1800843a0
test eax, eax
js 0x1800861f4
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsi + 8]
mov rdx, rdi
call fcn.180084980
test eax, eax
je 0x180086130
mov eax, dword [rdi]
add ebx, 0x14
add rdi, 4
mov dword [rsi + 0x14], eax
mov qword [rsp + 0x90], rdi
test al, 1
je 0x180086186
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x90]
mov qword [rsi + 0x38], rdi
mov edx, ebx
mov edi, dword [rdi]
add edi, 4
mov r8d, edi
call fcn.1800843a0
test eax, eax
js 0x1800861f4
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsi + 8]
call fcn.180084980
test eax, eax
jne 0x18008618d
mov ecx, 0x8013110e
call fcn.18008dee0
jmp 0x1800861f4
mov rsi, qword [rsp + 0x80]
mov ecx, 0x8007000e
jmp 0x180086064
cmp qword [rbp + 0x20], r14
jne 0x180086049
cmp qword [rbp + 0x28], r14
jne 0x180086049
mov eax, dword [rbp + 0x48]
sub eax, 4
cmp eax, 2
jbe 0x180086049
mov qword [rsp + 0x90], r14
mov ecx, 0x8000ffff
jmp 0x180086064
mov qword [rsi + 0x38], r14
mov edi, r14d
movzx eax, word [rsi + 0x16]
add ebx, edi
lea edx, [rax + rax*4]
shl edx, 3
test edx, edx
je 0x1800861f2
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x90]
mov r8d, dword [rcx + 0x40]
sub r8d, ebx
cmp edx, r8d
cmovb r8d, edx
mov edx, ebx
call fcn.1800843a0
test eax, eax
js 0x1800861f4
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsi + 8]
mov rdx, rbx
call fcn.180084980
test eax, eax
je 0x180086130
mov rax, qword [rsi + 8]
mov ecx, dword [rax + 0x44]
shr ecx, 1
not ecx
test cl, 1
je 0x180086205
mov qword [rsi + 0x30], rbx
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp r14w, word [rsi + 0x16]
jae 0x1800861f2
nop dword [rax]
lea rcx, [rsi + 0x18]
call fcn.18008d130
test rax, rax
je 0x18008628f
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rbx + rcx + 8], 0
jne 0x180086225
add ecx, 9
cmp ecx, 0x28
ja 0x180086130
mov r8d, ecx
mov rdx, rbx
mov rcx, rax
call fcn.1800dc9d0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax + 8], 0
jne 0x180086250
mov rcx, qword [rsi + 8]
add eax, 4
cdqe
and rax, 0xfffffffffffffffc
add rax, 8
add rbx, rax
mov rdx, rbx
call fcn.180084980
test eax, eax
je 0x180086130
movzx eax, word [rsi + 0x16]
inc r14d
cmp r14d, eax
jl 0x180086210
jmp 0x1800861f2
mov ecx, 0x8007000e
call fcn.18008dee0
jmp 0x1800861f4
mov ecx, 0x80131c36
call fcn.180025310
int3