Function at 0x140038530
Capabilities:
Delete file
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x60
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
mov rsi, r8
mov r13, rdx
mov r12, rcx
mov ecx, 0x80
call fcn.1400d5224
mov rbx, rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x1400385a2
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 0x1400385a6
xor edi, edi
mov ebx, edi
mov qword [rsp + 0xa8], 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, r13
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140038613
call fcn.1400163c0
mov ebp, eax
jmp 0x14003861d
mov rsi, rax
mov qword [rsp + 0x48], rax
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
jne 0x140038640
test rsi, rsi
je 0x14003863b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x48], rdi
jmp 0x1400387b6
mov ecx, 0x100000
call fcn.1400d886c
mov qword [rbx + 0x28], rax
test rax, rax
je 0x14003865a
mov dword [rbx + 0x34], 0x100000
lea rdx, [rsp + 0xa4]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0xa0], eax
cmp eax, 0xffffffff
jne 0x140038682
call fcn.1400163c0
mov ebp, eax
test eax, eax
js 0x140038690
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x20], rax
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
jne 0x1400386d0
test rsi, rsi
je 0x1400386ae
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 0x1400387c4
mov eax, dword [rbx + 0x34]
mov ecx, 0x100000
cmp eax, ecx
cmovb ecx, eax
mov dword [rbx + 0x30], ecx
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0xa0]
mov r8d, ecx
mov rdx, qword [rbx + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14003870a
call fcn.1400163c0
mov ebp, eax
jmp 0x14003870c
mov ebp, edi
mov eax, edi
test ebp, ebp
setns al
test eax, eax
je 0x1400387a3
mov eax, dword [rbx + 0x34]
mov ecx, dword [rsp + 0xa0]
cmp ecx, eax
cmova ecx, eax
mov dword [rbx + 0x30], ecx
cmp dword [rsp + 0xa0], 0
jne 0x14003873e
mov dword [rbx + 0x1c], 1
mov rdx, rbx
mov rcx, r12
call fcn.140037b70
test eax, eax
js 0x14003875e
mov dword [rbx + 0x18], edi
cmp dword [rsp + 0xa0], 0
jne 0x1400386d0
test rsi, rsi
je 0x140038774
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, rdi
mov qword [rsp + 0x48], rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
test rsi, rsi
je 0x140038791
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 0x1400387c6
test rsi, rsi
je 0x1400387b6
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 + 0xa8], rdi
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret