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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x6e8]
sub rsp, 0x7d0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x18032a080]
xor rax, rsp
mov qword [rbp + 0x6c0], rax
mov rbx, rcx
lea rcx, [rbp + 0x1a0]
call fcn.1801da010
nop
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.1801df13c
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x80]
call fcn.1801e2ed8
nop
xor ebx, ebx
mov edi, ebx
mov esi, ebx
call fcn.1801dc1a8
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1801e2ed8
nop
call fcn.1801dc1b0
mov rcx, rax
call fcn.1801e3a78
test al, al
je 0x180212184
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x60]
call fcn.1801e3280
lea rcx, [rsp + 0x60]
call fcn.180087940
mov rcx, rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x18021212c
lea rcx, [rsp + 0x60]
call fcn.1801e3048
jmp 0x1802122f6
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test eax, eax
je 0x18021211d
mov dword [rsp + 0x40], ebx
mov ecx, esi
call fcn.18022afbc
mov rdi, rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x40]
mov r8d, esi
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], esi
je 0x1802122e3
mov rcx, rdi
call fcn.18022acec
mov rdi, rbx
jmp 0x18021211d
call fcn.1801dc1b0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1801e3280
call fcn.1801dc4e4
test al, al
je 0x1802121a9
call fcn.1801dc1b8
mov r14, rax
jmp 0x180212209
call fcn.1801dc1c0
mov rdx, rax
lea rcx, [rbp + 0x110]
call fcn.1801e2ed8
nop
lea rcx, [rbp + 0x110]
call fcn.180087940
mov rcx, rax
xor edx, edx
call fcn.1801e1fc4
mov r15, rax
lea rcx, [rsp + 0x60]
call fcn.180087940
mov rcx, rax
mov rdx, r15
call fcn.1802046b8
mov r14, rax
test r15, r15
je 0x1802121fd
mov rcx, r15
call fcn.18022acec
nop
lea rcx, [rbp + 0x110]
call fcn.1801e3048
test r14, r14
je 0x18021211d
mov dword [rsp + 0x44], ebx
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x10]
call fcn.1801e2ed8
nop
lea r8, [0x1802898dc]
lea rdx, [0x18026cd74]
lea rcx, [rbp - 0x10]
call fcn.1801e3cb4
lea rcx, [rbp - 0x10]
call fcn.180087940
mov rdx, rax
lea rax, [rbp + 0x490]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8b, 1
mov rcx, r14
call fcn.1802040b8
test eax, eax
je 0x180212278
lea rcx, [rbp - 0x10]
call fcn.1801e3048
jmp 0x18021211d
mov esi, dword [rbp + 0x6bc]
test esi, esi
je 0x18021226a
mov ecx, esi
call fcn.18022afbc
mov rdi, rax
mov r9d, esi
mov r8, rax
mov edx, dword [rsp + 0x44]
mov rcx, r14
call fcn.180204bb4
test eax, eax
je 0x1802122c7
cmp eax, 0x600
je 0x1802122c7
mov rcx, rdi
call fcn.18022acec
mov rdi, rbx
call fcn.1801dc4e4
test al, al
jne 0x18021226a
mov rcx, r14
call fcn.180203df8
jmp 0x18021226a
call fcn.1801dc4e4
test al, al
jne 0x1802122d9
mov rcx, r14
call fcn.180203df8
nop
lea rcx, [rbp - 0x10]
call fcn.1801e3048
nop
lea rcx, [rsp + 0x60]
call fcn.1801e3048
test rdi, rdi
jne 0x18021238c
lea rcx, [rbp + 0x80]
call fcn.180087940
mov rcx, rax
mov qword [rsp + 0x30], rbx
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
je 0x180212387
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test eax, eax
je 0x180212387
mov dword [rsp + 0x48], ebx
mov ecx, esi
call fcn.18022afbc
mov rdi, rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x48]
mov r8d, esi
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 + 0x48], esi
je 0x180212387
mov rcx, rdi
call fcn.18022acec
mov rdi, rbx
test rdi, rdi
je 0x1802123a2
mov edx, esi
mov rcx, rdi
call fcn.180211f68
mov rbx, rax
mov rcx, rdi
call fcn.18022acec
nop
lea rcx, [rbp + 0x80]
call fcn.1801e3048
nop
lea rcx, [rbp + 0x408]
call fcn.1801e3048
lea rcx, [rbp + 0x338]
call fcn.1801e3048
lea rcx, [rbp + 0x2b0]
call fcn.1801e3048
lea rcx, [rbp + 0x228]
call fcn.1801e3048
lea rcx, [rbp + 0x1a0]
call fcn.1801e3048
mov rax, rbx
mov rcx, qword [rbp + 0x6c0]
xor rcx, rsp
call fcn.18022a7d0
lea r11, [rsp + 0x7d0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret