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

Disassembly:
push rbx
push rsi
push r13
push r14
sub rsp, 0xe08
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xde0], rax
mov rbx, rcx
mov qword [rsp + 0x40], rdx
add rcx, 0x30
mov r13, rdx
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400106d3
mov qword [rdx], r13
add qword [rcx + 8], 8
jmp 0x1400106dd
lea r8, [rsp + 0x40]
call fcn.140003260
xor r14d, r14d
mov esi, r14d
cmp qword [rbx + 0x60], r14
jbe 0x140010747
cmp qword [rbx + 0x68], 0xf
lea r8, [rbx + 0x50]
jbe 0x1400106f7
mov r8, qword [r8]
lea r9, [r13 + 0x20]
lea rdx, str._s_s
lea rcx, [rsp + 0xcd0]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
lea rcx, [rsp + 0xcd0]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
test rax, rax
jne 0x1400107a1
cmp qword [rbx + 0x60], r14
jne 0x1400107a1
lea r8, [r13 + 0x20]
lea rdx, [0x1400316d4]
lea rcx, [rsp + 0xcd0]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
lea rcx, [rsp + 0xcd0]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
test rax, rax
je 0x140010bd0
xor edx, edx
mov qword [rsp + 0xdf8], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, eax
cmp eax, 0xffffffff
jne 0x1400107cc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140010bc8
mov qword [rsp + 0xe40], rbp
mov eax, r12d
and eax, 0x1f
mov qword [rsp + 0xe00], rdi
mov qword [rsp + 0xdf0], r15
mov r15d, 0x20
sub r15d, eax
test eax, eax
cmove r15d, r14d
add r15d, r12d
mov ecx, r15d
call fcn.14002ea50
mov r8d, r15d
xor edx, edx
mov rcx, rax
mov rbp, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], r14
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140010849
mov rcx, rbp
call fcn.14002ea1c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140010bb0
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0xc78
call sub.VCRUNTIME140.dll_memset
mov r8d, dword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.140027c80
test eax, eax
jne 0x140010887
mov rcx, rbp
call fcn.14002ea1c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140010bad
cmp dword [r13 + 0xc], r14d
lea r9, [rsp + 0x40]
mov eax, 0x7d00
mov qword [rsp + 0x28], 0x20
mov ecx, 0x3e80
mov r8, r12
cmove eax, ecx
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.140027470
mov rdi, rax
test rax, rax
je 0x1400108cf
mov rcx, rbp
call fcn.14002ea1c
mov r15d, dword [rsp + 0x40]
mov rbp, rdi
mov rcx, qword [rbx + 0x30]
mov edx, r15d
mov rax, qword [rbx + 0x38]
sub rax, rcx
shr edx, 5
sar rax, 3
cmp rax, 1
jne 0x1400108ee
dec edx
jmp 0x1400108ff
mov rax, qword [rcx + rax*8 - 0x10]
dec edx
mov ecx, dword [rax + 0x18]
inc ecx
add edx, ecx
mov r14d, ecx
lea rcx, [r13 + 0x14]
mov dword [rcx], r14d
lea rax, [r13 + 0x18]
mov dword [rax], edx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140010b6b
mov rax, qword [rcx]
xor r9d, r9d
mov edx, pe_nt_image_headers64
lea r8d, [r9 + 1]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 0x20]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov edx, pe_nt_image_headers64
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 0x20]
call qword [rax + InitCommonControls]
cmp dword [rbx + 0x70], 0
jne 0x140010b6b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0x110
mov rax, qword [rcx]
lea r8d, [r9 + 0x13]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 4]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0x110
mov r8d, 0x80
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 4]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, pe_nt_image_headers64
mov rax, qword [rcx]
lea r8d, [r9 + 0x60]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
mov edx, 0x101
xor r9d, r9d
mov rax, qword [rcx]
lea r8d, [rdx - 0x3f]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x14]
mov edx, 0x102
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x15]
mov edx, 0x103
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x18]
mov edx, 0x104
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x19]
mov edx, 0x105
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x18]
mov edx, 0x10c
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x19]
mov edx, 0x10d
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 0x40]
call qword [rax + InitCommonControls]
test r15d, r15d
je 0x140010b12
mov rdi, rbp
mov r14d, r15d
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [rdi]
mov edx, 0x108
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0x110
mov rax, qword [rcx]
lea r8d, [r9 + 0x1b]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 1]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0x110
mov rax, qword [rcx]
lea r8d, [r9 + 0x13]
call qword [rax + InitCommonControls]
lea rdi, [rdi + 1]
sub r14, 1
jne 0x140010ab0
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov edx, pe_nt_image_headers64
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 0x10]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0x110
mov r8d, 0x80
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov edx, 0xffffffff
mov rax, qword [rcx]
lea r8d, [r9 + 0x10]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140010b96
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jne 0x140010b96
nop
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x140010b80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call fcn.14002ea1c
mov r14d, 1
mov eax, r14d
mov rbp, qword [rsp + 0xe40]
mov rdi, qword [rsp + 0xe00]
mov r15, qword [rsp + 0xdf0]
mov r12, qword [rsp + 0xdf8]
mov rcx, qword [rsp + 0xde0]
xor rcx, rsp
call fcn.14002e9c0
add rsp, 0xe08
pop r14
pop r13
pop rsi
pop rbx
ret