Function at 0x14001fa80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r15, r9
mov rbx, rdx
mov rsi, rcx
lea rdx, [0x1401d4adc]
mov rcx, r8
call fcn.14018f348
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14001fb5a
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rax
call fcn.140193a04
mov rcx, rdi
call fcn.140193f3c
mov r14, rax
mov qword [rsp + 0x60], rax
mov rcx, rdi
call fcn.140193f54
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
mov eax, 0x100000
cmp rdx, rax
cmova rdx, rax
lea r13, [rdx + r14]
cmp r13, 0x7fffffff
jbe 0x14001fb61
call fcn.14000cdd0
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ecx
lea rcx, str.File_size_problem
mov qword [rsp + 0x20], rcx
lea r9, str.File_is_too_big_to_be_opened_by_Notepad
xor r8d, r8d
lea rdx, str.FileTooBigToOpen
mov rcx, qword [rax + 0x332c0]
call fcn.140070e40
mov rcx, rdi
call fcn.14018f120
xor al, al
jmp 0x14001ffa9
xor r9d, r9d
xor r8d, r8d
mov edx, 0x94e
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
mov r9, rbx
xor r8d, r8d
mov edx, 0x936
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x85c
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
test rax, rax
setne al
mov byte [rsp + 0x43], al
test al, al
je 0x14001fbbf
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87b
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x7d4
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
mov r14, qword [rsp + 0xc8]
movsxd rbx, dword [r14]
cmp ebx, 0x55
jge 0x14001fbff
mov rax, rbx
shl rax, 5
lea rcx, [0x14028d33c]
movsxd r8, dword [rax + rcx]
xor r9d, r9d
mov edx, 0xfa1
jmp 0x14001fc3d
add ebx, 0xffffffab
call fcn.14000cdd0
movsxd rcx, ebx
mov rbx, qword [rax + rcx*8 + 0xea8]
call fcn.14000cd40
mov qword [rsp + 0x20], 0
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14002d430
mov r9, rax
xor r8d, r8d
mov edx, 0xfa6
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
cmp dword [r14 + 4], 0xffffffff
je 0x14001fc64
xor r9d, r9d
mov edx, 0x7f5
mov r8d, 0xfde9
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
mov r12b, 3
mov byte [rsp + 0x40], r12b
xor r9d, r9d
mov r8, r13
mov edx, 0x98e
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x94f
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
test rax, rax
je 0x14001fca2
xor edx, edx
xor ecx, ecx
call fcn.140187700
mov qword [rsp + 0x58], 0
mov r13b, 1
mov byte [rsp + 0x41], r13b
xor ebx, ebx
mov dword [rsp + 0x44], ebx
jmp 0x14001fcc5
mov rdi, qword [rsp + 0x50]
mov eax, 0x20004
sub eax, ebx
movsxd r8, eax
movsxd rcx, ebx
add rcx, r15
mov r9, rdi
mov edx, 1
call fcn.14018f5e0
movsxd rdi, dword [rsp + 0x44]
add rdi, rax
mov qword [rsp + 0x58], rdi
mov rcx, qword [rsp + 0x50]
call fcn.140193764
test eax, eax
je 0x14001fd08
xor bl, bl
mov byte [rsp + 0x42], bl
jmp 0x14001fea4
test rdi, rdi
je 0x14001fea2
test r13b, r13b
je 0x14001fd75
mov rdx, rdi
mov rcx, r15
call fcn.14012ea40
test eax, eax
je 0x14001fd2f
mov dword [r14 + 4], 0xffffffff
jmp 0x14001fd56
cmp dword [r14 + 4], 0xffffffff
jne 0x14001fd56
call fcn.14000cdd0
cmp byte [rax + 0xe0], 0
je 0x14001fd56
mov r8, rdi
mov rdx, r15
mov rcx, rsi
call fcn.14001e600
mov dword [r14 + 4], eax
cmp dword [r14], 0
jne 0x14001fd6d
mov r8, rdi
mov rdx, r15
mov rcx, rsi
call fcn.14001e670
mov dword [r14], eax
xor r13b, r13b
mov byte [rsp + 0x41], r13b
mov eax, dword [r14 + 4]
cmp eax, 0xffffffff
je 0x14001fe0d
cmp eax, 0xfde9
jne 0x14001fd91
mov r9, r15
mov r8, rdi
jmp 0x14001fdf1
call fcn.14000cd40
mov rbx, rax
xor eax, eax
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, dword [r14 + 4]
mov rdx, r15
mov rcx, rbx
call fcn.140028ba0
lea rcx, [rsp + 0x4c]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x48]
mov r8d, 0xfde9
mov rdx, rax
mov rcx, rbx
call fcn.14002d430
movsxd r8, dword [rsp + 0x4c]
mov r9, rax
mov edx, 0x8ea
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
cmp r12b, 3
jne 0x14001fe56
mov rdx, rdi
mov rcx, r15
jmp 0x14001fe46
mov r8, rdi
mov rdx, r15
mov rbx, qword [rsp + 0xc0]
mov rcx, rbx
call fcn.14012e5d0
mov r9, qword [rbx + 0x10]
mov r8, rax
mov edx, 0x8ea
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
cmp r12b, 3
jne 0x14001fe56
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
mov r8b, 3
call fcn.14001f210
mov byte [rsp + 0x40], al
movzx r12d, al
xor r9d, r9d
xor r8d, r8d
mov edx, 0x94f
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
test rax, rax
je 0x14001fe78
xor edx, edx
xor ecx, ecx
call fcn.140187700
movsxd rbx, dword [rsp + 0x44]
test ebx, ebx
je 0x14001fe99
mov r8, rbx
mov rdx, r15
sub rdx, rbx
add rdx, 0x20004
mov rcx, r15
call fcn.140187210
test rdi, rdi
jne 0x14001fcc0
mov bl, 1
jmp 0x14001ff09
mov rcx, qword [rsp + 0x50]
call fcn.14018f120
cmp r12b, 3
jne 0x14001ff49
call fcn.14000cdd0
add rax, 0x124
movzx ecx, byte [rax]
mov byte [r14 + 8], cl
cmp qword [rsp + 0x60], 0
jne 0x14001ff4d
cmp dword [rax + 4], 4
jne 0x14001ff4d
cmp byte [rax + 8], 0
je 0x14001ff4d
mov dword [r14 + 4], 0xfde9
jmp 0x14001ff4d
mov byte [r14 + 8], r12b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87f
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x7de
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
cmp byte [rsp + 0x43], 0
je 0x14001ff91
xor r9d, r9d
mov edx, 0x87b
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
mov r9, qword [rsi + 0x10]
xor r8d, r8d
mov edx, 0x936
mov rcx, qword [rsi + 8]
call fcn.14000f5d0
movzx eax, bl
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret