Function at 0x1800804e0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rdi
push r14
sub rsp, 0x88
mov rax, qword [0x18017b008]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r14, rdx
mov rbx, rcx
mov rcx, r14
lea rdx, [0x180144458]
mov r8d, 0x20
call fcn.18012c52c
mov rbp, rax
test rax, rax
jne 0x180080583
xor edi, edi
mov dword [rbx], 0x12
mov word [rbx + 4], di
cmp byte [rbx + 0x838], dil
jne 0x18008055d
mov rax, qword [rbx + 0x810]
mov byte [rbx + 0x838], 1
test rax, rax
je 0x180080556
mov rcx, qword [rbx + 0x808]
lea edx, [rbp + 1]
call rax
mov rdi, rax
mov qword [rbx + 0x840], rdi
mov rax, qword [rbx + 0x840]
test rax, rax
je 0x18008057c
mov rcx, qword [rbx + 0x808]
xor r9d, r9d
mov rdx, r14
lea r8d, [r9 + 0x12]
call rax
xor al, al
jmp 0x18008090f
mov edx, 0x30
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], r12
lea rcx, [rsp + 0x40]
mov r9, rbp
mov qword [rsp + 0x80], r15
lea r8d, [rdx - 0x2f]
call fcn.18012c794
cmp rax, 1
je 0x180080610
xor edi, edi
mov dword [rbx], 0xb
mov word [rbx + 4], di
cmp byte [rbx + 0x838], dil
jne 0x1800805f5
mov rax, qword [rbx + 0x810]
mov byte [rbx + 0x838], 1
test rax, rax
je 0x1800805ee
mov rcx, qword [rbx + 0x808]
lea edx, [rdi + 1]
call rax
mov rdi, rax
mov qword [rbx + 0x840], rdi
mov rax, qword [rbx + 0x840]
test rax, rax
je 0x18008075f
mov r8d, 0xb
jmp 0x180080750
mov eax, 0x4944
cmp word [rsp + 0x40], ax
jne 0x1800805b7
mov eax, dword [rsp + 0x58]
mov r8d, 1
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x5c]
lea edx, [rax + rcx*8]
mov rcx, rbp
call fcn.18012caac
test eax, eax
jne 0x1800805b7
mov rcx, rbp
call fcn.18012d060
mov esi, dword [rsp + 0x60]
mov r15d, eax
movabs r12, 0x2492492492492493
xor edi, edi
mov rax, r12
mul rsi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 4
test rsi, rsi
je 0x1800806de
nop dword [rax]
nop word [rax + rax]
mov edx, 0x1c
lea rcx, [rsp + 0x20]
mov r9, rbp
dec rsi
lea r8d, [rdx - 0x1b]
call fcn.18012c794
cmp rax, 1
jne 0x18008076e
cmp byte [rbx + 0xd18], dil
jne 0x1800806d9
cmp dword [rsp + 0x2c], 2
jne 0x1800806d9
mov eax, dword [rsp + 0x30]
mov dword [rbx + 0xd1c], eax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0xd24], eax
movzx eax, word [rsp + 0x2a]
mov word [rbx + 0xd28], ax
mov dword [rbx + 0xd20], edi
test rsi, rsi
jne 0x180080680
mov eax, dword [rsp + 0x48]
cmp eax, dword [rbx + 0xcf8]
je 0x1800807da
mov ecx, dword [rbx + 0xcfc]
test ecx, ecx
je 0x180080700
cmp eax, ecx
je 0x1800807da
mov word [rbx + 4], di
mov dword [rbx], 0x14
cmp byte [rbx + 0x838], dil
jne 0x18008073e
mov rax, qword [rbx + 0x810]
mov byte [rbx + 0x838], 1
test rax, rax
je 0x180080737
mov rcx, qword [rbx + 0x808]
mov edx, 1
call rax
mov rdi, rax
mov qword [rbx + 0x840], rdi
mov rax, qword [rbx + 0x840]
test rax, rax
je 0x18008075f
mov r8d, 0x14
mov rcx, qword [rbx + 0x808]
xor r9d, r9d
mov rdx, r14
call rax
mov rcx, rbp
call fcn.180034c8c
xor al, al
jmp 0x1800808f7
mov word [rbx + 4], di
mov dword [rbx], 0xb
cmp byte [rbx + 0x838], dil
jne 0x1800807ac
mov rax, qword [rbx + 0x810]
mov byte [rbx + 0x838], 1
test rax, rax
je 0x1800807a5
mov rcx, qword [rbx + 0x808]
mov edx, 1
call rax
mov rdi, rax
mov qword [rbx + 0x840], rdi
mov rax, qword [rbx + 0x840]
test rax, rax
je 0x1800807cb
mov rcx, qword [rbx + 0x808]
xor r9d, r9d
mov rdx, r14
lea r8d, [r9 + 0xb]
call rax
mov rcx, rbp
call fcn.180034c8c
xor al, al
jmp 0x1800808f7
mov rcx, r14
call fcn.18012c3dc
mov word [rbx + 4], di
mov qword [rbx + 0xd10], rax
mov qword [rbx + 0xd08], rbp
mov dword [rbx], edi
cmp byte [rbx + 0x838], dil
jne 0x18008082c
mov rax, qword [rbx + 0x810]
mov byte [rbx + 0x838], 1
test rax, rax
jne 0x180080817
mov rax, rdi
jmp 0x180080825
mov rcx, qword [rbx + 0x808]
mov edx, 1
call rax
mov qword [rbx + 0x840], rax
mov r10, qword [rbx + 0x840]
test r10, r10
je 0x18008084b
mov rcx, qword [rbx + 0x808]
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
call r10
xor r8d, r8d
mov edx, r15d
mov rcx, rbp
call fcn.18012caac
test eax, eax
jne 0x1800808f5
mov esi, dword [rsp + 0x60]
mov rax, r12
mul rsi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 4
test rsi, rsi
je 0x1800808f5
nop dword [rax]
mov edx, 0x1c
lea rcx, [rsp + 0x20]
mov r9, rbp
dec rsi
lea r8d, [rdx - 0x1b]
call fcn.18012c794
cmp rax, 1
jne 0x1800808f5
cmp byte [rbx + 0x818], dil
jne 0x1800808d4
mov byte [rbx + 0x818], al
mov rax, qword [rbx + 0x810]
test rax, rax
jne 0x1800808bf
mov rax, rdi
jmp 0x1800808ca
mov rcx, qword [rbx + 0x808]
xor edx, edx
call rax
lea rcx, [rbx + 0x820]
mov qword [rcx], rax
mov rax, qword [rbx + 0x820]
test rax, rax
je 0x1800808f0
mov rcx, qword [rbx + 0x808]
lea r8, [rsp + 0x20]
xor edx, edx
call rax
test rsi, rsi
jne 0x180080880
mov al, 1
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.18000b6d0
add rsp, 0x88
pop r14
pop rdi
pop rbp
pop rbx
ret