Function at 0x140025a10
Capabilities:
Map section object
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xe0
mov rsi, rcx
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x1000
mov rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 4
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
test rax, rax
je 0x140025d1e
mov rdi, rax
mov rbx, qword [0x140064dd8]
test rbx, rbx
je 0x140025aac
mov qword [0x140064dd8], 0
lea rcx, [0x140064de0]
call sub.ntdll.dll_RtlRunOnceInitialize
mov rcx, 0xffffffffffffffff
mov rdx, rbx
call sub.ntdll.dll_NtUnmapViewOfSection
test eax, eax
jns 0x140025aac
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov ecx, eax
call sub.ntdll.dll_RtlSetLastWin32Error
mov rcx, qword [0x140064dd0]
cmp rcx, rdi
je 0x140025aca
test rcx, rcx
je 0x140025ac3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140064dd0], rdi
xor eax, eax
lea r8, [rsp + 0x50]
mov qword [r8], rax
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 2
mov rcx, rdi
mov rdx, 0xffffffffffffffff
xor r9d, r9d
call sub.ntdll.dll_NtMapViewOfSection
test eax, eax
jns 0x140025b25
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov ecx, eax
call sub.ntdll.dll_RtlSetLastWin32Error
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x140025d4c
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
lea rcx, [0x14005b47c]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
and rax, 0xfffffffffffffffc
je 0x140025d14
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x140025d14
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
je 0x140025d14
cmp dword [rdx], 0x4550
jne 0x140025d14
movzx ecx, word [rdx + 0x18]
cmp ecx, 0x20b
jne 0x140025d14
cmp dword [rdx + 0x50], 0x148
jb 0x140025d14
cmp dword [rdx + 0x84], 0
je 0x140025d14
mov ecx, dword [rdx + 0x88]
test rcx, rcx
je 0x140025d14
mov edx, dword [rdx + 0x8c]
test edx, edx
je 0x140025d14
mov r11, rax
add r11, rcx
je 0x140025d14
mov r8d, dword [r11 + 0x14]
test r8, r8
je 0x140025d14
lea rbx, [rsp + 0xc0]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
mov r9d, dword [r11 + 0x10]
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x6c], ecx
lea r9d, [rdx + rcx]
mov dword [rsp + 0x70], r9d
mov r14d, dword [r11 + 0x1c]
add r14, rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], r14
mov r10d, 0x3fffffff
and r8, r10
mov qword [rsp + 0x88], r8
mov r9d, dword [r11 + 0x18]
mov r15d, dword [r11 + 0x20]
add r15, rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], r15
and r10, r9
mov qword [rsp + 0xa0], r10
mov r11d, dword [r11 + 0x24]
add r11, rax
and r9d, 0x7fffffff
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0xb8], r9
add edx, ecx
je 0x140025d14
test r14, r14
je 0x140025d14
test r8d, r8d
je 0x140025d14
test r15, r15
je 0x140025d14
test r10d, r10d
je 0x140025d14
test r11, r11
je 0x140025d14
test r9d, r9d
je 0x140025d14
lea rdx, [0x140058d93]
lea rcx, [rsp + 0x58]
call fcn.14002ae50
test rax, rax
je 0x140025d14
mov eax, dword [rax]
mov qword [rdi + 8], rax
lea rdx, [0x140059436]
lea rcx, [rsp + 0x58]
call fcn.14002ae50
test rax, rax
je 0x140025d14
mov eax, dword [rax]
mov qword [rdi + 0x10], rax
lea rdx, [0x140058521]
lea rcx, [rsp + 0x58]
call fcn.14002ae50
test rax, rax
je 0x140025d14
mov eax, dword [rax]
mov qword [rdi + 0x18], rax
lea rdx, [0x140057ff3]
lea rcx, [rsp + 0x58]
call fcn.14002ae50
test rax, rax
je 0x140025d14
mov eax, dword [rax]
mov qword [rdi + 0x20], rax
mov dword [rdi], 1
xor eax, eax
jmp 0x140025d76
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov byte [rsi + 0x10], 1
lea rax, str._builds_worker_checkouts_gecko_browser_app_winlauncher_freestanding_SharedSection.cpp
mov qword [rsi], rax
mov dword [rsi + 8], 0x9c
mov dword [rsi + 0xc], ecx
jmp 0x140025da1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
lea rax, str._builds_worker_checkouts_gecko_browser_app_winlauncher_freestanding_SharedSection.cpp
mov qword [rsi], rax
mov dword [rsi + 8], 0xa6
mov dword [rsi + 0xc], ecx
mov al, 1
mov byte [rsi + 0x10], al
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140025da1
mov rcx, 0xffffffffffffffff
call sub.ntdll.dll_NtUnmapViewOfSection
test eax, eax
jns 0x140025da1
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov ecx, eax
call sub.ntdll.dll_RtlSetLastWin32Error
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140030100
mov rax, rsi
add rsp, 0xe0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret