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

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov r12, r8
mov rcx, qword [rdx]
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r15 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400740ea
xor al, al
jmp 0x140074413
mov rdi, r15
mov qword [rsp + 0x48], r15
mov rbx, r15
mov qword [rsp + 0x50], rbx
mov rsi, r15
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x60], r15d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r15d, eax
lea ecx, [rax + 2]
movsxd rcx, ecx
call fcn.1400eb538
mov r13, rax
mov rcx, r14
test rax, rax
jne 0x140074139
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
xor al, al
jmp 0x140074413
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xb8]
mov r8d, r15d
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
test eax, eax
jne 0x140074173
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call fcn.1400eb530
nop
xor al, al
jmp 0x140074413
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0xc8], ecx
test ecx, ecx
je 0x140074259
mov byte [rcx + r13], 0
xor r14d, r14d
cmp r14d, ecx
jae 0x140074251
movzx r15d, byte [r14 + r13]
test r15b, r15b
je 0x140074249
cmp r15b, 0x3c
jne 0x1400741fb
mov r12, rbx
cmp rbx, rsi
jb 0x1400741e7
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x48]
call fcn.1400502b0
test al, al
jne 0x1400741d8
mov ecx, 0x8007000e
call fcn.14004a980
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
lea rax, [rdi + r12]
test rax, rax
je 0x1400741f3
mov byte [rax], 0x20
inc rbx
mov qword [rsp + 0x50], rbx
mov r12, rbx
cmp rbx, rsi
jb 0x14007422e
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x48]
call fcn.1400502b0
test al, al
jne 0x14007421f
mov ecx, 0x8007000e
call fcn.14004a980
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
lea rax, [rdi + r12]
test rax, rax
je 0x14007423a
mov byte [rax], r15b
inc rbx
mov qword [rsp + 0x50], rbx
mov ecx, dword [rsp + 0xc8]
inc r14d
jmp 0x140074197
mov r12, qword [rsp + 0xc0]
mov rcx, r13
call fcn.1400eb530
mov r14d, dword [rsp + 0x50]
test r14d, r14d
jle 0x1400743f0
lea eax, [r14 + 1]
movsxd rcx, eax
call fcn.1400ddae4
mov r15, rax
xor esi, esi
cmp esi, r14d
jge 0x1400742a3
movsxd rcx, esi
cmp rcx, rbx
jb 0x140074297
mov ecx, 0x80070057
call fcn.14004a980
movzx eax, byte [rdi + rcx]
mov byte [rcx + r15], al
inc esi
jmp 0x140074280
movsxd rax, esi
mov byte [rax + r15], 0
test rdi, rdi
je 0x1400742c2
mov rcx, rdi
call fcn.1400eb530
xor r12d, r12d
mov qword [rsp + 0x48], r12
jmp 0x1400742c5
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
lea r14d, [rsi + rsi]
movsxd rcx, r14d
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.1400ddae4
mov rbx, rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rcx, eax
mov word [rbx + rcx*2], r12w
call fcn.14004b618
mov rcx, rax
test rax, rax
jne 0x140074330
mov ecx, 0x80004005
call fcn.14004a980
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xc8], rax
test rbx, rbx
je 0x14007438c
test rbx, 0xffffffffffff0000
jne 0x140074376
movzx esi, bx
xor edx, edx
mov ecx, esi
call fcn.14004ae14
test rax, rax
je 0x1400743a3
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.14004f058
jmp 0x1400743a3
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140074380
jmp 0x14007438f
mov eax, r12d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0xc8]
call fcn.14004edac
nop
lea rdx, [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov rcx, r12
call fcn.14004ea40
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400743db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbx
call fcn.1400dce58
mov rcx, r15
call fcn.1400dce58
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x1400743fe
mov rcx, rdi
call fcn.1400eb530
nop
jmp 0x140074408
mov rax, qword [r12]
cmp dword [rax - 0x10], 0
setne al
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret