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

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, rcx
mov ebp, 0x64
mov rsi, rdx
mov ecx, ebp
call fcn.140027adc
mov rbx, qword [r15 + 8]
xor r12d, r12d
mov qword [rsi], rax
mov edi, r12d
cmp rbx, qword [r15 + 0x10]
jae 0x140019547
lea r14, [rbx + 0x200]
mov ecx, dword [r14 + 0x800]
dec ecx
je 0x140019480
dec ecx
jne 0x140019532
lea r8d, [rcx + 1]
mov qword [rsp + 0x30], r12
xor r9d, r9d
mov edx, 0x80000000
mov rcx, r14
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, rax
xor edx, edx
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, 0x96000
mov dword [rsp + 0x88], eax
call fcn.140027adc
mov rdx, r14
mov r12, rax
call fcn.140019610
lea r9, str.__MULTI_PARTS_FORM_DATA_BOUNDARY
mov qword [rsp + 0x30], rax
lea r8, str.___s_r_nContent_Disposition:_form_data__name__s___filename__s__r_nContent_Type:__s_r_n_r_n
mov edx, 0x96000
mov rcx, r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
call fcn.140019cd4
xor eax, eax
or r9d, 0xffffffff
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [rsi]
add ebp, eax
mov dword [rsp + 0x90], eax
mov edx, ebp
call fcn.140029dd4
mov qword [rsi], rax
test rax, rax
je 0x14001960b
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov ecx, edi
add rcx, rax
mov eax, dword [rsp + 0x90]
or r9d, 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r8, r12
mov ecx, 0xfde9
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [rsp + 0x90]
mov rcx, r12
dec eax
add edi, eax
call fcn.140027b94
mov r12d, dword [rsp + 0x88]
mov rcx, qword [rsi]
add ebp, 2
add ebp, r12d
mov edx, ebp
call fcn.140029dd4
mov qword [rsi], rax
test rax, rax
je 0x14001960b
and qword [rsp + 0x20], 0
mov edx, edi
lea r9, [rsp + 0x80]
add rdx, rax
mov r8d, r12d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
add edi, dword [rsp + 0x80]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, edi
lea rdx, [0x140051c0c]
add rcx, qword [rsi]
mov r8d, 2
call fcn.140026b10
add edi, 2
jmp 0x14001952f
mov edx, 0x4000
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea r9, str.__MULTI_PARTS_FORM_DATA_BOUNDARY
lea r8, str.___s_r_nContent_Disposition:_form_data__name__s__r_n_r_n_s_r_n
mov edx, 0x2000
mov rcx, rax
mov qword [rsp + 0x28], r14
mov r13, rax
mov qword [rsp + 0x20], rbx
call fcn.1400280c0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
or r9d, 0xffffffff
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [rsi]
add ebp, eax
mov r12d, eax
mov edx, ebp
call fcn.140029dd4
mov qword [rsi], rax
test rax, rax
je 0x14001960b
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov ecx, edi
add rcx, rax
mov dword [rsp + 0x28], r12d
or r9d, 0xffffffff
mov qword [rsp + 0x20], rcx
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
dec edi
add edi, r12d
xor r12d, r12d
mov eax, 0xa04
add rbx, rax
add r14, rax
cmp rbx, qword [r15 + 0x10]
jb 0x1400192e1
mov ecx, edi
lea rdx, [0x140051c10]
mov r8d, 2
add rcx, qword [rsi]
call fcn.140026b10
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
lea r8, str.__MULTI_PARTS_FORM_DATA_BOUNDARY
or r9d, 0xffffffff
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], r12d
add edi, 2
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [rsi]
lea edx, [rax + rbp]
mov ebx, eax
call fcn.140029dd4
mov rcx, rax
mov qword [rsi], rax
test rax, rax
je 0x14001960b
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov eax, edi
add rax, rcx
lea r8, str.__MULTI_PARTS_FORM_DATA_BOUNDARY
or r9d, 0xffffffff
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
dec ebx
add ebx, edi
lea rdx, str.___r_n
mov r8d, 5
mov ecx, ebx
add rcx, qword [rsi]
call fcn.140026b10
lea eax, [rbx + 5]
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x1400195f3