Function at 0x1801187fc
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x368]
sub rsp, 0x440
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x18020d140]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r15d, r8d
mov r14, rdx
mov rbx, rcx
call fcn.180118cdc
call fcn.1800eb41c
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800f1dfc
nop
call fcn.1800eb424
mov rcx, rax
call fcn.1800f28cc
test al, al
je 0x180118965
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.1800f2124
lea rcx, [rsp + 0x50]
call fcn.18007c880
mov rcx, rax
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1801188bf
lea rdx, str.Error_opening_file
jmp 0x1801189ed
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test eax, eax
jne 0x1801188dc
lea rdx, str.File_is_empty
jmp 0x1801189ed
cmp edi, 0x400000
jbe 0x1801188f0
lea rdx, str.File_too_large
jmp 0x1801189ed
and dword [rsp + 0x40], 0
mov rcx, rdi
call fcn.18014874c
mov rsi, rax
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x40], edi
je 0x180118945
mov rcx, rsi
call fcn.180148104
mov rcx, rbx
call fcn.180118cdc
lea rdx, str.Could_not_read_file
jmp 0x1801189ed
mov r9d, r15d
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.180118b48
mov bl, al
mov rcx, rsi
call fcn.180148104
jmp 0x180118b13
call fcn.1800eb424
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800f20fc
call fcn.1800eb758
test al, al
je 0x18011898a
call fcn.1800eb42c
mov rdi, rax
jmp 0x1801189e1
call fcn.1800eb434
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.1800f1dfc
nop
lea rcx, [rbp + 0x70]
call fcn.18007c880
mov rcx, rax
xor edx, edx
call fcn.1800f1010
mov rsi, rax
lea rcx, [rsp + 0x50]
call fcn.18007c880
mov rcx, rax
mov rdx, rsi
call fcn.1800f8088
mov rdi, rax
test rsi, rsi
je 0x1801189d8
mov rcx, rsi
call fcn.180148104
nop
lea rcx, [rbp + 0x70]
call fcn.1800f1f54
test rdi, rdi
jne 0x1801189ff
lea rdx, str.Error_opening_zip_file
xor r8d, r8d
mov rcx, rbx
call fcn.180118d14
mov bl, al
jmp 0x180118b13
and dword [rsp + 0x40], 0
or r8d, 0xffffffff
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.1800f1e2c
nop
lea r8, [0x1801b9b20]
lea rdx, [0x1801b330c]
lea rcx, [rbp - 0x20]
call fcn.1800f2b48
lea rcx, [rbp - 0x20]
call fcn.18007c880
mov rdx, rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov r8b, 1
mov rcx, rdi
call fcn.1800f7a8c
test eax, eax
je 0x180118a61
lea rdx, str.Could_not_find_ziped_file
jmp 0x180118acd
mov esi, dword [rbp + 0x32c]
test esi, esi
jne 0x180118a74
lea rdx, str.File_is_empty
jmp 0x180118acd
cmp esi, 0x400000
jbe 0x180118a85
lea rdx, str.File_too_large
jmp 0x180118acd
mov rcx, rsi
call fcn.18014874c
mov r14, rax
mov r9d, esi
mov r8, rax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.1800f8584
test eax, eax
je 0x180118adc
cmp eax, 0x600
je 0x180118adc
mov rcx, r14
call fcn.180148104
call fcn.1800eb758
test al, al
jne 0x180118ac6
mov rcx, rdi
call fcn.1800f77cc
lea rdx, str.Could_not_unzip_file
xor r8d, r8d
mov rcx, rbx
call fcn.180118d14
mov bl, al
jmp 0x180118b09
call fcn.1800eb758
test al, al
jne 0x180118aed
mov rcx, rdi
call fcn.1800f77cc
mov r9d, r15d
mov r8d, esi
mov rdx, r14
mov rcx, rbx
call fcn.180118b48
mov bl, al
mov rcx, r14
call fcn.180148104
nop
lea rcx, [rbp - 0x20]
call fcn.1800f1f54
nop
lea rcx, [rsp + 0x50]
call fcn.1800f1f54
mov al, bl
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.180147bf0
mov rbx, qword [rsp + 0x480]
add rsp, 0x440
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret