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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x14008b040]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov rsi, rdx
xor ebx, ebx
lea r15, [0x14008fe10]
mov qword [rsp + 0x58], r15
mov rcx, r15
call fcn.14001e414
test eax, eax
jne 0x14000727e
mov eax, dword [0x14008fe5c]
cmp eax, 0x7fffffff
je 0x140007289
lea rcx, [0x14008fdf0]
cmp qword [0x14008fe08], 7
cmova rcx, qword [0x14008fdf0]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x140007238
mov dword [rbp + 0x90], ebx
lea r9, [rbp + 0xc0]
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x98]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x14000722e
lea rdx, [0x14008fe60]
lea rcx, [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
sete dil
lea rdx, [rbp + 0x90]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r8d, eax
mov dword [rsp + 0x44], eax
cmp eax, 0xffffffff
je 0x14000722e
mov edx, dword [0x14008fe68]
mov ecx, ebx
movzx eax, dil
cmp r8d, edx
cmovae ecx, eax
test cl, cl
jne 0x140006cb2
mov dword [0x14008fe68], 3
mov eax, dword [rbp + 0x9c]
mov dword [0x14008fe64], eax
mov eax, dword [rbp + 0x98]
mov dword [0x14008fe60], eax
lea edx, [rbx + 3]
cmp dword [rbp + 0x90], 0
jne 0x14000722e
cmp r8d, edx
jb 0x14000722e
mov r12d, r8d
sub r12d, edx
test r12d, r12d
jle 0x1400071bb
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
movsxd rdi, r12d
inc rdi
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
movabs r14, 0x7fffffffffffffff
cmp rdi, r14
ja 0x14000729c
mov qword [rbp + 0x88], 0xf
cmp rdi, 0xf
ja 0x140006d44
mov qword [rbp + 0x80], rdi
mov r8, rdi
xor edx, edx
lea rcx, [rbp + 0x70]
call fcn.14006cda0
mov byte [rbp + rdi + 0x70], 0
jmp 0x140006de5
mov rax, rdi
or rax, 0xf
cmp rax, r14
jbe 0x140006d7d
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140045b28
test rax, rax
je 0x140007272
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140006dba
mov r14, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x140006da8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007278
jmp 0x140006d5e
test rcx, rcx
je 0x140006db7
call fcn.140045b28
mov r15, rax
jmp 0x140006dba
mov r15, rbx
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], r14
mov r8, rdi
xor edx, edx
mov rcx, r15
call fcn.14006cda0
mov byte [r15 + rdi], 0
lea r15, [0x14008fe10]
mov dword [rbp + 0x94], ebx
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rdx, qword [rbp + 0x70]
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x94]
mov r8d, r12d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400071e8
cmp dword [rbp + 0x94], r12d
jne 0x1400071e8
xor edx, edx
mov r8d, 0xf0
lea rcx, [rsp + 0x60]
call fcn.14006cda0
lea r8, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova r8, qword [rbp + 0x70]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0x80]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r15, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], rbx
movabs rdi, 0x7ffffffffffffffe
cmp r15, rdi
ja 0x1400072a2
mov qword [rbp + 0x68], 7
cmp r15, 7
ja 0x140006eb9
mov qword [rbp + 0x60], r15
test eax, eax
je 0x140006eb1
movzx eax, bx
lea rdi, [rbp + 0x50]
mov rcx, r15
rep stosw word [rdi], ax
mov word [rbp + r15*2 + 0x50], bx
jmp 0x140006f0b
mov rax, r15
or rax, 7
cmp rax, rdi
ja 0x140006ed4
mov rdi, rax
mov ecx, 0xa
cmp rax, rcx
cmovb rdi, rcx
lea rax, [rdi + 1]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x50]
call fcn.14000e280
mov rdx, rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], rdi
movzx eax, bx
mov rdi, rdx
mov rcx, r15
rep stosw word [rdi], ax
mov word [rdx + r15*2], bx
lea rax, [rbp + 0x50]
cmp qword [rbp + 0x68], 7
cmova rax, qword [rbp + 0x50]
lea r8, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova r8, qword [rbp + 0x70]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x80]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000b990
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 7
jbe 0x140006f98
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006f93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400072a8
call fcn.140045b20
mov r14d, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
movdqa xmm1, xmmword [0x14007ea40]
movdqu xmmword [rbp + 0xb0], xmm1
mov word [rbp + 0xa0], bx
nop dword [rax]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx - 0x60]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lea rcx, [rsp + 0x48]
call fcn.14000f070
mov rdi, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [rdi + 0x60]
movzx r15d, ax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140007019
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x140007019
mov rdi, qword [rax]
mov edx, 1
mov rcx, rax
call qword [rdi]
movzx r8d, r15w
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x60]
call fcn.14000f3c0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400070ba
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov edx, dword [rsp + rcx + 0x70]
mov eax, edx
shr eax, 2
test al, 1
jne 0x1400070ba
test dl, 6
jne 0x1400070ba
test dl, 1
jne 0x1400070ba
cmp dword [0x14008fe68], 3
ja 0x14000706a
test r14d, r14d
jle 0x1400070b2
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov qword [rbp + 0x60], rbx
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xa0]
call fcn.140004c90
mov rdx, qword [rsi + 8]
lea r8, [rbp + 0x50]
cmp rdx, qword [rsi + 0x10]
je 0x1400070a0
call fcn.1400106c0
add qword [rsi + 8], 0x18
jmp 0x1400070a9
mov rcx, rsi
call fcn.14000f5e0
nop
lea rcx, [rbp + 0x50]
call fcn.14000d6c0
inc r14d
jmp 0x140006fc0
mov rdx, qword [rbp + 0xb8]
cmp rdx, 7
jbe 0x140007100
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400070fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400072ae
call fcn.140045b20
mov eax, dword [rsp + 0x44]
mov dword [0x14008fe68], eax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.14000b600
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x10]
call fcn.140024cf0
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x1400071b4
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400071af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007272
call fcn.140045b20
lea r15, [0x14008fe10]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rbx, rdx
shr rbx, 0x3f
add rbx, rdx
jmp 0x140007238
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x140007238
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007227
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007272
call fcn.140045b20
jmp 0x140007238
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, r15
call fcn.14001e41c
mov eax, ebx
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400454d0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14004cd2c
nop
call fcn.140002770
nop
mov ecx, 5
call fcn.14001e318
int3
dec eax
mov dword [0x14008fe5c], eax
mov ecx, 6
call fcn.14001e318
nop
call fcn.140003240
nop
call fcn.140003240
nop
call fcn.14004cd2c
int3
call fcn.14004cd2c
int3