Function at 0x1800567a0
Capabilities:
Check if file exists
Get file size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x300], rbx
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r15, rdx
mov r14, rcx
mov esi, 1
xor r13d, r13d
mov ebx, 0x80000000
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x70]
call fcn.18008c000
lea rdx, [r14 + 0xa8]
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov word [rbp - 0x80], r13w
xor eax, eax
mov qword [rbp - 0x7e], rax
mov r8d, esi
lea rdx, str..v_02d
lea rcx, [rbp - 0x80]
call fcn.180057b30
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov edx, 0xc0000000
cmp dword [r14 + 0x24], 0
cmovne edx, ebx
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x20000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
lea r8d, [r9 + 1]
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1800568ee
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x180056b1d
cmp dword [r14 + 0x24], 0
jne 0x180056aea
cmp eax, 0x21
ja 0x1800568a9
movabs rdx, 0x300080020
bt rdx, rax
jb 0x1800568b4
cmp eax, 0xa7
jne 0x180056aea
mov dword [r14 + 0x24], 1
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, ebx
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180056ae0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r13
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x180056c5c
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cqo
and edx, 0x1ff
add rax, rdx
and eax, 0x1ff
cmp rax, rdx
jne 0x180056c4c
mov qword [rsp + 0x50], rcx
lea rbx, [r14 + 0x90]
mov rax, qword [rbx + 8]
lea rcx, [rsp + 0x48]
cmp rcx, rax
jae 0x180056981
mov rcx, qword [rbx]
lea rdx, [rsp + 0x48]
cmp rcx, rdx
ja 0x180056981
lea rdi, [rsp + 0x48]
sub rdi, rcx
cmp rax, qword [rbx + 0x10]
jne 0x18005696c
mov rcx, rbx
call fcn.180057aa0
mov rax, qword [rbx + 8]
and rdi, 0xfffffffffffffff0
add rdi, qword [rbx]
test rax, rax
je 0x1800569a0
movups xmm0, xmmword [rdi]
jmp 0x18005699d
cmp rax, qword [rbx + 0x10]
jne 0x18005698f
mov rcx, rbx
call fcn.180057aa0
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800569a0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rax], xmm0
add qword [rbx + 8], 0x10
cmp dword [r14 + 0x24], 0
jne 0x180056acf
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
cmp word [rbp - 0x70], 0
jne 0x1800569d0
mov r8, r13
jmp 0x1800569eb
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800569e0
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x60]
call fcn.180004430
nop
lea rbx, [r14 + 0x2b0]
mov rax, qword [rbx + 8]
lea rcx, [rsp + 0x60]
cmp rcx, rax
jae 0x180056a47
mov rcx, qword [rbx]
lea rdx, [rsp + 0x60]
cmp rcx, rdx
ja 0x180056a47
lea rdi, [rsp + 0x60]
sub rdi, rcx
cmp rax, qword [rbx + 0x10]
jne 0x180056a32
mov rcx, rbx
call fcn.180047d80
mov rcx, qword [rbx + 8]
and rdi, 0xffffffffffffffe0
add rdi, qword [rbx]
test rcx, rcx
je 0x180056a78
mov rdx, rdi
jmp 0x180056a63
cmp rax, qword [rbx + 0x10]
jne 0x180056a55
mov rcx, rbx
call fcn.180047d80
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180056a78
lea rdx, [rsp + 0x60]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r13
mov word [rcx], r13w
call fcn.180005e70
add qword [rbx + 8], 0x20
mov rax, qword [rsp + 0x78]
cmp rax, 8
jb 0x180056acf
inc rax
mov rcx, qword [rsp + 0x60]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x180056b17
add rax, rax
cmp rax, 0x1000
jb 0x180056aca
test cl, 0x1f
jne 0x180056b11
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180056b0b
sub rcx, rax
cmp rcx, 8
jb 0x180056b05
cmp rcx, 0x27
ja 0x180056aff
mov rcx, rax
call fcn.180072908
inc esi
mov ebx, 0x80000000
cmp esi, 0x40
jg 0x180056b1d
jmp 0x1800567f0
call fcn.180002050
jmp 0x180056c6e
test eax, eax
jle 0x180056c6e
movzx eax, ax
or eax, 0x80070000
jmp 0x180056c6e
call fcn.18008d744
int3
call fcn.18008d744
int3
call fcn.18008d744
int3
call fcn.18008d744
int3
call fcn.18008d744
int3
mov rdi, qword [r14 + 0x98]
mov rax, qword [rdi - 8]
sub rax, 0x200
mov qword [rsp + 0x40], rax
xor edx, edx
mov r8d, 0x200
mov rcx, r15
call fcn.18008c000
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x200
lea r9, [rsp + 0x40]
mov r8d, 1
mov rdx, qword [rdi - 0x10]
lea rcx, [r14 + 0x10]
call fcn.1800019b0
test ebx, eax
jne 0x180056c6e
cmp eax, 1
je 0x180056c6e
mov rdx, r15
call fcn.180056260
test eax, eax
jne 0x180056c48
xor edx, edx
mov r8d, 0x200
mov rcx, r15
call fcn.18008c000
mov qword [rsp + 0x40], r13
mov rax, qword [r14 + 0x90]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x200
lea r9, [rsp + 0x40]
mov r8d, 1
mov rdx, qword [rax]
lea rcx, [r14 + 0x10]
call fcn.1800019b0
test ebx, eax
jne 0x180056c6e
cmp eax, 1
je 0x180056c6e
mov rdx, r15
call fcn.180056260
test eax, eax
je 0x180056c55
cmp dword [r14 + 0x24], 0
jne 0x180056c48
mov rbx, qword [rdi - 8]
dec rbx
and rbx, 0xfffffffffffffe00
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x200
lea r9, [rsp + 0x40]
mov r8d, 1
mov rdx, qword [rdi - 0x10]
lea rcx, [r14 + 0x10]
call fcn.180001b20
test eax, eax
js 0x180056c6e
cmp eax, 1
je 0x180056c6e
add rbx, 0x200
mov qword [rdi - 8], rbx
xor eax, eax
jmp 0x180056c6e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xe0035003
jmp 0x180056c6e
call fcn.180002050
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.180072920
mov rbx, qword [rsp + 0x300]
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret