Function at 0x140073110
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov ebx, r9d
mov rdi, r8
mov rsi, rcx
mov rax, qword [0x1401e8038]
xor rax, rsp
mov qword [rsp + 0x88], rax
lea rax, str.p4_a_
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov byte [rcx + 0x10], 0
cmp byte [rdx + 0x17], 0
js 0x14007316b
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x14007317f
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14007c910
lea r14, [rsp + 0x40]
movzx eax, byte [r14 + 0x17]
mov r15d, eax
and r15d, 0x7f
test al, al
mov r8, qword [r14]
mov rdx, qword [r14 + 8]
mov rcx, r14
cmovs rcx, r8
mov r9, r15
cmovs r9, rdx
test r9, r9
je 0x1400731e1
add r9, r9
xor eax, eax
jmp 0x1400731c2
mov word [rcx + rax], 0x21
add rax, 2
cmp r9, rax
je 0x1400731cb
cmp word [rcx + rax], 0x5c
jne 0x1400731b9
jmp 0x1400731b3
movzx eax, byte [rsp + 0x57]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r15d, eax
and r15d, 0x7f
test al, al
cmovs r14, r8
cmovs r15, rdx
test r15, r15
je 0x14007320e
add r15, r15
xor r12d, r12d
movzx ecx, word [r14 + r12]
call fcn.140140b98
mov word [r14 + r12], ax
add r12, 2
cmp r15, r12
jne 0x1400731f6
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
cmp byte [rsp + 0x57], 0
jns 0x140073244
mov rcx, qword [rsp + 0x40]
call fcn.140123e5c
lea rdx, str.Global_
lea r15, [rsp + 0x28]
lea r14, [rsp + 0x60]
mov rcx, r15
mov r8, r14
call fcn.140058730
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x140073270
and r8d, 0x7f
jmp 0x140073277
mov r8, qword [rdi + 8]
mov rdi, qword [rdi]
lea r12, [rsp + 0x68]
mov rcx, r15
mov rdx, rdi
call fcn.14007cce0
mov rdi, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x7f], rdx
mov qword [rsp + 0x78], rcx
mov bpl, byte [rax + 0x17]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
cmp byte [r12 + 0xf], 0
jns 0x1400732c0
mov rcx, qword [rsp + 0x60]
call fcn.140123e5c
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x7f]
mov qword [r12 + 7], rcx
mov qword [r12], rax
mov byte [rsp + 0x77], bpl
cmp byte [rsp + 0x3f], 0
jns 0x1400732ee
mov rcx, qword [rsp + 0x28]
call fcn.140123e5c
cmp byte [rsp + 0x77], 0
jns 0x1400732fa
mov r14, qword [rsp + 0x60]
test bl, bl
jne 0x140073310
mov ecx, 0x100000
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_OpenEventW]
jmp 0x140073323
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9, r14
call qword [sym.imp.KERNEL32.dll_CreateEventW]
cmp qword [rsi + 8], rax
je 0x14007335e
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x1400733b7
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140073356
mov qword [rsi + 8], rdi
call fcn.1400ef4f0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsi + 8]
inc rcx
cmp rcx, 2
jb 0x140073381
cmp eax, 0xb7
sete al
xor bl, 1
or bl, al
mov byte [rsi + 0x10], bl
cmp byte [rsp + 0x77], 0
jns 0x140073392
mov rcx, qword [rsp + 0x60]
call fcn.140123e5c
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1401249d0
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.1400ef4f0
mov rcx, qword [rsi + 8]
call fcn.1400d8800
mov qword [rsi + 8], 0
jmp 0x140073341