Function at 0x180086730
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x10], edx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r12, rcx
mov r13, r9
imul ecx, edx, 0x636
mov r15, r8
mov ebp, edx
mov dword [rsp + 0x30], ecx
cmp edx, ecx
ja 0x1800869f3
mov ebx, dword [rsp + 0x98]
xor edi, edi
mov esi, dword [rsp + 0x98]
mov r14d, dword [rsp + 0x98]
mov r9d, 0x1000
cmp ebp, 0xa450
ja 0x18008698c
je 0x18008694f
cmp ebp, 0x2d
je 0x180086a1f
cmp ebp, 0x58
je 0x180086948
cmp ebp, 0x11a
je 0x180086932
cmp ebp, 0x3700
je 0x180086811
cmp ebp, 0x6da8
jne 0x1800869de
mov rax, qword [r15]
mov r8d, dword [rax + 0x28]
mov rdx, qword [rax + 0x108]
mov ecx, dword [rax + 0x110]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov rcx, qword [r15]
cmp eax, dword [rcx + 0x28]
je 0x180086800
mov ebx, 0x7f2bb724
mov ebp, 0xdaf8
jmp 0x1800869da
mov rax, qword [rcx + 0x108]
mov qword [rsp + 0x50], rax
jmp 0x1800869da
mov rcx, qword [r15]
mov r8, qword [r13]
mov rdx, qword [rcx + 0x20]
mov eax, dword [rdx + 0x14]
cmp r8, rax
jbe 0x180086a18
mov eax, dword [rdx + 4]
cmp r8, rax
jae 0x180086a18
cmp dword [rcx + 0x110], edi
jg 0x180086874
mov rcx, qword [rcx + 0x18]
mov edx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__open]
mov rcx, qword [r15]
mov dword [rcx + 0x110], eax
mov rcx, qword [r15]
cmp dword [rcx + 0x110], edi
jge 0x18008686e
mov ebx, 0x7f2bb790
mov ebp, 0xdaf8
jmp 0x1800869da
mov r9d, 0x1000
cmp qword [rcx + 0x108], rdi
jne 0x1800869da
mov eax, dword [rcx + 0x110]
mov ecx, 0xbc
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x48]
mov eax, ecx
sub eax, 0xb7
je 0x1800868d3
sub eax, 1
je 0x1800868c6
sub eax, 1
je 0x1800868e7
sub eax, 3
je 0x1800868c1
cmp eax, 1
jne 0x1800868db
test r14d, r14d
cmovle r14d, r9d
mov esi, r14d
mov eax, r14d
jmp 0x1800868f8
mov r14d, edi
jmp 0x1800868db
cmp qword [rdx + 0x18], rdi
jne 0x1800868db
mov esi, 0x7f2bb76a
jmp 0x1800868f6
cmp dword [rdx], 0x7f2bb70c
jne 0x1800868f1
inc ecx
cmp ecx, 0xc1
jb 0x180086895
jmp 0x1800868f6
dec qword [rdx + 0x18]
mov esi, edi
mov eax, edi
jmp 0x1800868f8
mov esi, 0x7f2bb70c
mov eax, esi
mov rdx, qword [r15]
lea r8, [rsp + 0x38]
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x40]
mov r9d, 0x48
mov eax, dword [rdx + 0x28]
add rdx, 0x108
mov dword [rsp + 0x38], eax
call fcn.1800b0880
mov rbx, rax
test eax, eax
jne 0x1800869fa
jmp 0x1800869da
mov rax, qword [r15]
cmp dword [rax], 0x7f2bb703
je 0x1800869de
mov eax, edi
jmp 0x1800869fa
mov ebx, edi
jmp 0x1800869de
test r12, r12
je 0x180086973
mov rax, qword [r15]
mov rdx, qword [rax + 0x108]
cmp r12, rdx
je 0x180086973
mov r8d, dword [rax + 0x28]
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x4d4d50
je 0x1800869de
mov ebx, 0x7f2bb78a
mov ebp, 0xdaf8
jmp 0x1800869da
cmp ebp, 0xb040
je 0x1800869b6
cmp ebp, 0xdaf8
je 0x1800867f6
cmp ebp, 0x111a0
je 0x180086a5d
cmp ebp, 0x15f66
je 0x180086941
jmp 0x1800869de
mov rcx, qword [r15]
mov rax, qword [rcx + 8]
cmp dword [rax], 0x7f2bb702
jne 0x180086941
movsxd rdx, dword [rcx + 0x10]
cmp edx, dword [rax + 4]
jl 0x180086a61
mov dword [r13], edi
mov ecx, dword [rsp + 0x30]
imul eax, dword [rsp + 0x98], 0x9f
add ebp, eax
cmp ebp, ecx
jbe 0x180086785
mov eax, dword [rsp + 0x98]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov eax, 0x7f2bb78d
jmp 0x1800869fa
mov eax, dword [r13]
lea r9, [rsp + 0x98]
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x50]
mov rax, qword [r15]
lea rdx, [rsp + 0x40]
mov ecx, 0x7e
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x98], 0x80
mov qword [rsp + 0x20], r12
call fcn.180086a80
jmp 0x1800869fa
mov eax, ebx
jmp 0x1800869fa
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + rdx*4]
mov dword [r13], ecx
mov rax, qword [r15]
inc dword [rax + 0x10]
mov eax, 1
jmp 0x1800869fa