Function at 0x140025810
Capabilities:
Read file via mapping

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xc8], rbx
mov r12d, r9d
lea rcx, [rbp - 0x20]
call fcn.140004020
nop
mov edx, 0x3a
mov rcx, qword [rbp - 0x20]
call fcn.140005000
mov esi, eax
test eax, eax
js 0x140025aaa
lea ebx, [rsi + 1]
lea r14, [rbx + rbx]
mov edx, 0x3a
mov rcx, qword [rbp - 0x20]
add rcx, r14
call fcn.140005000
test eax, eax
js 0x140025aaa
add ebx, eax
js 0x140025aaa
lea ecx, [rbx + 1]
mov rax, qword [rbp - 0x20]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x10]
call fcn.140004220
nop
xor edi, edi
cmp ebx, dword [rbp - 0x18]
jae 0x1400258b3
mov dword [rbp - 0x18], ebx
mov rax, qword [rbp - 0x20]
mov word [rax + rbx*2], di
mov rcx, qword [rbp - 0x20]
add rcx, r14
cmp word [rcx], di
je 0x140025a64
lea rdx, [rbp - 0x50]
call fcn.140006520
mov r14d, eax
mov rcx, qword [rbp - 0x50]
cmp word [rcx], di
jne 0x140025a64
lea ecx, [r14 - 2]
cmp ecx, 0x7ffffffe
ja 0x140025a64
test r14b, 1
jne 0x140025a64
cmp esi, dword [rbp - 0x18]
jae 0x140025906
mov dword [rbp - 0x18], esi
mov rax, qword [rbp - 0x20]
mov word [rax + rsi*2], di
mov r8, qword [rbp - 0x20]
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x140025937
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140025937
lea rdi, str.Can_not_open_mapping
jmp 0x140025a54
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r13, rax
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x140025967
lea rdi, str.MapViewOfFile_error
jmp 0x140025a54
mov qword [rbp - 0x38], r13
lea rcx, [rbp - 0x30]
call fcn.1400042b0
nop
cmp word [r13], 0
je 0x140025989
lea rdi, str.Unsupported_Map_data
jmp 0x140025a40
shr r14d, 1
cmp r14d, 1
jbe 0x140025a33
lea rsi, [r13 + 2]
lea r15d, [r14 - 1]
movzx ebx, byte [rbp + 0x60]
movzx r13d, byte [rbp + 0x50]
nop word [rax + rax]
movzx r14d, word [rsi]
test r14w, r14w
jne 0x1400259fb
xor r9b, r9b
test r12d, r12d
je 0x1400259d7
cmp r12d, 1
jne 0x1400259da
lea rcx, [rbp - 0x30]
call fcn.1400080c0
movzx r9d, al
jmp 0x1400259da
mov r9b, 1
mov byte [rsp + 0x20], bl
lea r8, [rbp - 0x30]
movzx edx, r13b
mov rcx, qword [rbp + 0x40]
call fcn.140007a50
mov dword [rbp - 0x28], edi
mov rax, qword [rbp - 0x30]
mov word [rax], di
jmp 0x140025a21
mov eax, dword [rbp - 0x28]
cmp dword [rbp - 0x24], eax
jne 0x140025a0c
lea rcx, [rbp - 0x30]
call fcn.140005060
mov edx, dword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov word [rcx + rdx*2], r14w
inc edx
mov word [rcx + rdx*2], di
mov dword [rbp - 0x28], edx
add rsi, 2
sub r15, 1
jne 0x1400259b0
mov rbx, qword [rbp - 0x50]
mov r13, qword [rbp - 0x48]
cmp dword [rbp - 0x28], 0
je 0x140025a40
lea rdi, str.Map_data_error
mov rcx, qword [rbp - 0x30]
call fcn.1400c79bc
nop
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop
test rbx, rbx
je 0x140025a6b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140025a6b
lea rdi, str.Unsupported_Map_data_size
mov r8, qword [rbp - 0x10]
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x140025a8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140025a96
lea rcx, [rbp - 0x50]
call fcn.1400bf820
lea rcx, [rbp - 0x50]
call fcn.1400bf850
mov rcx, qword [rbp - 0x10]
call fcn.1400c79bc
jmp 0x140025ab1
lea rdi, str.Incorrect_Map_command
mov rcx, qword [rbp - 0x20]
call fcn.1400c79bc
mov rax, rdi
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret