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

Disassembly:
push rbp
push rsi
push rdi
push r12
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rbp + 0x430], rax
mov rdi, r8
mov dword [rsp + 0x20], 0x64
mov r12, rdx
lea r9, [rbp + 0x160]
mov rsi, rcx
lea rdx, [rbp + 0x230]
mov rcx, rdi
mov r8d, 0xfa
call fcn.1401920c0
test eax, eax
js 0x140192b58
mov qword [rsp + 0x550], r13
xor r9d, r9d
mov qword [rsp + 0x540], r15
mov edx, 0x80000000
xor r15d, r15d
mov rcx, rdi
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea r8d, [r15 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x140192b36
mov qword [rsp + 0x598], rbx
lea r9, [rsp + 0x40]
lea r8, str.Name
mov qword [rsp + 0x548], r14
mov rdx, r12
mov qword [rsp + 0x40], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x1401926c7
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x230]
mov qword [rsp + 0x50], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x1401926b7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], r15
lea r9, [rsp + 0x40]
mov rdx, r12
lea r8, str.Filename
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x140192720
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
mov r8, rdi
mov qword [rsp + 0x50], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x140192710
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], r15
lea r9, [rsp + 0x40]
mov rdx, r12
lea r8, [0x14044c100]
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x14019277d
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x160]
mov qword [rsp + 0x50], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x14019276d
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], r15
lea r9, [rsp + 0x40]
mov rdx, r12
lea r8, str.LastModifiedDate
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x140192843
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x14019283d
lea rdx, [rsp + 0x50]
mov word [rbp - 0x30], r15w
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x1401927e6
mov r8d, reloc.OLEAUT32.dll_SetErrorInfo
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x50]
call fcn.1401922c0
jmp 0x1401927f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1401927fa
movzx eax, ax
or eax, 0x80070000
test eax, eax
js 0x140192843
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x30]
mov qword [rsp + 0x50], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x14019282b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], r15
jmp 0x140192843
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x4c]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileSize]
lea r9, [rsp + 0x40]
mov rdx, r12
lea r8, str.FileSizeInBytes
mov dword [rsp + 0x48], eax
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x1401928c9
mov r9, qword [rsp + 0x48]
lea r8, str._I64u
mov edx, 0x28
lea rcx, [rbp - 0x80]
call fcn.14018b8b0
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x80]
mov qword [rsp + 0x50], r15
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
test eax, eax
js 0x1401928b9
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], r15
mov ebx, 0xa
lea r8, [0x14044c1a8]
lea rax, [rsp + 0x60]
mov edx, ebx
sub r8, rax
lea rcx, [rsp + 0x60]
lea rax, [rdx + 0x7ffffff4]
test rax, rax
je 0x140192907
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140192907
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1401928e4
test rdx, rdx
mov qword [rsp + 0x30], r15
lea rax, [rcx - 2]
mov dword [rsp + 0x28], 0x80
cmovne rax, rcx
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
mov rcx, rdi
movzx r14d, r15w
mov word [rax], r15w
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x1401929fa
xor edi, edi
lea r9, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x50], edi
mov rcx, rax
mov qword [rsp + 0x20], rdi
lea r8d, [rdi + 0x40]
call sym.ErrorReportClient.exe_SfReadFile
test eax, eax
je 0x1401929da
cmp dword [rsp + 0x50], 0x40
jne 0x1401929da
movsxd rax, dword [rbp - 0x44]
lea r8, [rsp + 0x4c]
mov edx, eax
mov qword [rsp + 0x48], rax
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x50], edi
mov r8d, 0xf8
mov dword [rsp + 0x48], eax
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdi
mov rcx, r15
call sym.ErrorReportClient.exe_SfReadFile
test eax, eax
je 0x1401929da
cmp dword [rsp + 0x50], 0xf8
jne 0x1401929da
movzx r14d, word [rbp - 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140192a0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
jle 0x1401929ef
movzx edi, ax
or edi, 0x80070000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140192a0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
jle 0x140192a0f
movzx edi, ax
or edi, 0x80070000
test edi, edi
js 0x140192ab8
mov eax, 0x10b
cmp ax, r14w
jne 0x140192a74
lea rdx, [0x14044c1b0]
lea rax, [rsp + 0x60]
sub rdx, rax
lea rcx, [rsp + 0x60]
nop word [rax + rax]
lea rax, [rbx + 0x7ffffff4]
test rax, rax
je 0x140192a62
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140192a62
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x140192a40
test rbx, rbx
lea rax, [rcx - 2]
cmovne rax, rcx
xor edi, edi
mov word [rax], di
jmp 0x140192aba
mov eax, 0x20b
cmp ax, r14w
jne 0x140192ab8
lea r8, [0x14044c1b8]
lea rax, [rsp + 0x60]
sub r8, rax
lea rcx, [rsp + 0x60]
lea rax, [rbx + 0x7ffffff4]
test rax, rax
je 0x140192a62
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140192a62
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x140192a93
jmp 0x140192a62
xor edi, edi
lea r9, [rsp + 0x40]
mov rdx, r12
lea r8, str.Architecture
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddElement_struct_IXMLDOMDocument____ptr64__struct_IUnknown____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
mov r14, qword [rsp + 0x548]
mov ebx, eax
test eax, eax
js 0x140192b21
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x48], rdi
mov rcx, rsi
call sym.ErrorReportClient.exe_long_int___cdecl_XMLCreateAndAddTextElement_struct_IXMLDOMDocument____ptr64__struct_IXMLDOMNode____ptr64__wchar_t_const____ptr64__struct_IXMLDOMNode____ptr64____ptr64_
mov ebx, eax
test eax, eax
js 0x140192b11
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rbx, qword [rsp + 0x598]
jmp 0x140192b48
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x140192b48
movzx eax, ax
or eax, 0x80070000
mov r13, qword [rsp + 0x550]
mov r15, qword [rsp + 0x540]
mov rcx, qword [rbp + 0x430]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x558
pop r12
pop rdi
pop rsi
pop rbp
ret