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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x60
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rsi, r8
mov rbp, rdx
mov r12, rcx
mov ecx, 0x80
call fcn.1400d5224
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1400365f1
lea rax, vtable.SecC::CSerialObject.0
mov qword [rbx], rax
lea rax, vtable.CFilePart.0
mov qword [rbx], rax
xor edi, edi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x28], rdi
mov qword [rbx + 0x30], rdi
lea rcx, [rbx + 0x38]
call fcn.14002d2b0
nop
jmp 0x1400365f5
xor edi, edi
mov ebx, edi
mov qword [rsp + 0x98], rbx
mov eax, dword [rsi]
mov dword [rbx + 8], eax
mov eax, dword [rsi + 4]
mov dword [rbx + 0xc], eax
mov eax, dword [rsi + 8]
mov dword [rbx + 0x10], eax
mov eax, dword [rsi + 0xc]
mov dword [rbx + 0x14], eax
mov qword [rbx + 0x18], 1
mov rsi, rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140036662
call fcn.1400163c0
mov ebp, eax
jmp 0x14003666c
mov rsi, rax
mov qword [rsp + 0x48], rax
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
jne 0x14003668f
test rsi, rsi
je 0x14003668a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x48], rdi
jmp 0x1400367f8
mov ecx, 0x400000
call fcn.1400d886c
mov qword [rbx + 0x28], rax
test rax, rax
je 0x1400366a9
mov dword [rbx + 0x34], 0x400000
lea rdx, [rsp + 0x94]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x90], eax
cmp eax, 0xffffffff
jne 0x1400366d1
call fcn.1400163c0
mov ebp, eax
test eax, eax
js 0x1400366df
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0x20], rax
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
jne 0x140036720
test rsi, rsi
je 0x1400366fd
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x48], rdi
mov r8, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rinet_addr + 8]
jmp 0x140036806
mov eax, dword [rbx + 0x34]
mov ecx, 0x400000
cmp eax, ecx
cmovb ecx, eax
mov dword [rbx + 0x30], ecx
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x90]
mov r8d, ecx
mov rdx, qword [rbx + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14003675a
call fcn.1400163c0
mov ebp, eax
jmp 0x14003675c
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
je 0x1400367e5
mov eax, dword [rbx + 0x34]
mov ecx, dword [rsp + 0x90]
cmp ecx, eax
cmova ecx, eax
mov dword [rbx + 0x30], ecx
cmp dword [rsp + 0x90], 0
jne 0x14003678a
mov dword [rbx + 0x1c], 1
mov rdx, rbx
mov rcx, r12
call fcn.140036480
test eax, eax
js 0x1400367aa
mov dword [rbx + 0x18], edi
cmp dword [rsp + 0x90], 0
jne 0x140036720
test rsi, rsi
je 0x1400367c0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, rdi
mov qword [rsp + 0x48], rdi
test rsi, rsi
je 0x1400367d3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x48], rdi
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + VariantCopy]
xor eax, eax
jmp 0x140036808
test rsi, rsi
je 0x1400367f8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x48], rdi
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + VariantCopy]
mov eax, ebp
mov qword [rsp + 0x98], rdi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret