Function at 0x140008620
Capabilities:
Read file via mapping

Disassembly:
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x50
mov r15, rcx
pxor xmm0, xmm0
mov dword [r15 + 0x160], edx
mov qword [r15 + 0x168], r8
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
xor r11d, r11d
cmp edx, 1
jle 0x1400087a5
mov rbp, qword [rsp + 0x48]
lea r9d, [rdx - 1]
shr r9d, 1
mov rcx, rbp
xor r10d, r10d
test r9d, r9d
jbe 0x1400088d9
lea r12d, [r10 + r10]
movsxd r12, r12d
mov r14, qword [r8 + r12*8 + 8]
mov r13b, byte [r14]
cmp r13b, 0x2d
jne 0x1400088aa
cmp byte [r14 + 1], 0
jne 0x1400086a8
mov qword [rsp + 0x40], rcx
mov rcx, r14
mov qword [rsp + 0x48], r14
mov rbp, r14
mov r11d, 2
jmp 0x1400086bd
cmp dword [r14 + 1], 0x3d786469
jne 0x1400086bd
cmp r11d, 1
je 0x1400086bd
movzx eax, word [r14 + 5]
mov r13, qword [r8 + r12*8 + 0x10]
mov r12b, byte [r13]
cmp r12b, 0x2d
jne 0x14000887b
cmp byte [r13 + 1], 0
jne 0x1400086ef
mov qword [rsp + 0x40], rcx
mov rcx, r13
mov qword [rsp + 0x48], r13
mov rbp, r13
mov r11d, 2
jmp 0x140008704
cmp dword [r13 + 1], 0x3d786469
jne 0x140008704
cmp r11d, 1
je 0x140008704
movzx eax, word [r13 + 5]
inc r10d
cmp r10d, r9d
jb 0x140008670
add r10d, r10d
dec edx
cmp r10d, edx
jae 0x140008760
movsxd r10, r10d
mov r9, qword [r8 + r10*8 + 8]
mov r8b, byte [r9]
cmp r8b, 0x2d
jne 0x14000884f
cmp byte [r9 + 1], 0
jne 0x14000874b
mov qword [rsp + 0x40], rcx
mov rbp, r9
mov qword [rsp + 0x48], r9
mov r11d, 2
jmp 0x140008765
cmp dword [r9 + 1], 0x3d786469
jne 0x140008760
cmp r11d, 1
je 0x140008765
movzx eax, word [r9 + 5]
test r11d, r11d
je 0x1400087a5
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400087a5
cmp r11d, 2
jne 0x140008779
test eax, eax
je 0x1400087a5
mov dword [r15 + 0x28c], r11d
mov byte [r15 + 0x15c], 0
cmp r11d, 1
je 0x1400087b7
mov rcx, r15
mov edx, eax
add rsp, 0x50
pop rbp
pop r15
pop r14
pop r13
pop r12
jmp 0x1400088f0
xor eax, eax
dec eax
add rsp, 0x50
pop rbp
pop r15
pop r14
pop r13
pop r12
ret
mov rax, rsp
mov edx, 0x80000000
xor r8d, r8d
inc r8d
xor r9d, r9d
mov dword [rax + 0x20], 3
mov dword [rax + 0x28], 0x8000080
mov qword [rax + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x40], rax
mov r10, rsp
mov rcx, rbp
mov edx, 0x40000000
xor r8d, r8d
inc r8d
xor r9d, r9d
mov qword [r15 + 0x290], rax
mov dword [r10 + 0x20], 2
mov dword [r10 + 0x28], 0x80
mov qword [r10 + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [r15 + 0x298], rax
cmp qword [rsp + 0x40], 0xffffffffffffffff
je 0x1400087a5
cmp rax, 0xffffffffffffffff
je 0x1400087a5
xor eax, eax
add rsp, 0x50
pop rbp
pop r15
pop r14
pop r13
pop r12
ret
cmp r8b, 0x2f
je 0x140008760
cmp r8b, 0x5c
je 0x140008760
mov qword [rsp + 0x40], rcx
mov rbp, r9
mov qword [rsp + 0x48], r9
mov r11d, 1
jmp 0x140008765
cmp r12b, 0x2f
je 0x140008704
cmp r12b, 0x5c
je 0x140008704
mov qword [rsp + 0x40], rcx
mov rcx, r13
mov qword [rsp + 0x48], r13
mov rbp, r13
mov r11d, 1
jmp 0x140008704
cmp r13b, 0x2f
je 0x1400086bd
cmp r13b, 0x5c
je 0x1400086bd
mov qword [rsp + 0x40], rcx
mov rcx, r14
mov qword [rsp + 0x48], r14
mov rbp, r14
mov r11d, 1
jmp 0x1400086bd
dec edx
jne 0x14000871a
jmp 0x1400087a5
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x138
mov esi, edx
lea rdx, [0x140007ed8]
mov r8d, 0x80000
lea r9, [0x140008120]
mov rbp, rcx
call fcn.140008cf0
mov rbx, rax
mov rcx, rbp
lea rdx, [0x140007ee0]
mov r8d, 0x10000
lea r9, [0x140008128]
call fcn.140008cf0
mov r15, rax
mov rcx, rbp
lea rdx, [0x140007ef5]
mov r8d, 0x10000
lea r9, [0x140008120]
mov edi, r15d
call fcn.140008cf0
mov r12, rax
lea rdx, [0x140007f0b]
lea r14, [rsp + 0x30]
mov rcx, r14
mov r13d, r12d
call fcn.140020c10
mov rcx, r14
mov rdx, qword [rbp + 0x170]
call fcn.140020c30
mov rcx, r14
call fcn.14001efa0
mov ecx, 0x1f0003
xor edx, edx
mov r8, r14
mov dword [rsp + rax + 0x30], esi
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov qword [rbp], rax
test rax, rax
je 0x140008cb7
mov rcx, r14
lea rdx, [0x140007f14]
call fcn.140020c10
mov rcx, r14
mov rdx, qword [rbp + 0x170]
call fcn.140020c30
mov rcx, r14
call fcn.14001efa0
mov ecx, 0x1f0003
xor edx, edx
mov r8, r14
mov dword [rsp + rax + 0x30], esi
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov qword [rbp + 8], rax
test rax, rax
je 0x140008c83
mov rcx, r14
lea rdx, [0x140007f25]
call fcn.140020c10
mov rcx, r14
mov rdx, qword [rbp + 0x170]
call fcn.140020c30
mov rcx, r14
call fcn.14001efa0
mov ecx, 0xf001f
xor edx, edx
mov r8, r14
mov dword [rsp + rax + 0x30], esi
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov rcx, rax
mov rax, rsp
xor r8d, r8d
mov edx, 0xf001f
xor r9d, r9d
mov qword [rbp + 0x10], rcx
mov qword [rax + 0x20], 0x100
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x10], 0
je 0x140008c4f
test rax, rax
je 0x140008c4f
mov rcx, r14
lea rdx, [0x140007f31]
call fcn.140020c10
mov rcx, r14
lea rdx, [0x140007f39]
call fcn.140020c30
mov rcx, r14
mov rdx, qword [rbp + 0x170]
call fcn.140020c30
mov rcx, r14
call fcn.14001efa0
mov dword [rsp + rax + 0x30], esi
mov rax, rsp
mov rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 4
xor r9d, r9d
mov dword [rax + 0x20], edi
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rcx, rax
mov rax, rsp
xor r8d, r8d
mov edx, 0xf001f
xor r9d, r9d
mov r15d, r15d
mov qword [rbp + 0x18], rcx
mov qword [rax + 0x20], r15
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], r15
cmp qword [rbp + 0x18], 0
je 0x140008c1b
test rax, rax
je 0x140008c1b
mov rcx, r14
lea rdx, [0x140007f31]
call fcn.140020c10
mov rcx, r14
lea rdx, [0x140007f47]
call fcn.140020c30
mov rcx, r14
mov rdx, qword [rbp + 0x170]
call fcn.140020c30
mov rcx, r14
call fcn.14001efa0
mov dword [rsp + rax + 0x30], esi
mov rax, rsp
mov rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 4
xor r9d, r9d
mov dword [rax + 0x20], r13d
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rcx, rax
mov rax, rsp
xor r8d, r8d
mov edx, 0xf001f
xor r9d, r9d
mov esi, r12d
mov qword [rbp + 0x20], rcx
mov qword [rax + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rsi
cmp qword [rbp + 0x18], 0
je 0x140008be7
cmp qword [rbp + 0x30], 0
je 0x140008be7
mov rdx, qword [rbp + 0x28]
mov eax, 0x10000000
cmp ebx, 0x10000000
cmovb eax, ebx
mov dword [rdx], eax
mov dword [rdx + 4], edi
mov dword [rdx + 8], r13d
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbp + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8, qword [rbp + 0x170]
lea rdx, [0x14000819c]
xor ecx, ecx
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
dec eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8, qword [rbp + 0x170]
lea rdx, [0x140008180]
xor ecx, ecx
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
dec eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8, qword [rbp + 0x170]
lea rdx, [0x140008168]
xor ecx, ecx
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
dec eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8, qword [rbp + 0x170]
lea rdx, [0x140008148]
xor ecx, ecx
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
dec eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8, qword [rbp + 0x170]
lea rdx, [0x140008130]
xor ecx, ecx
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
dec eax
add rsp, 0x138
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret