Function at 0x140074650
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, fcn.1400749b0
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov byte [rcx + 0x10], 0
cmp byte [rdx + 0x17], 0
js 0x1400746ab
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x1400746bf
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14007ddd0
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 0x140074721
add r9, r9
xor eax, eax
jmp 0x140074702
mov word [rcx + rax], 0x21
add rax, 2
cmp r9, rax
je 0x14007470b
cmp word [rcx + rax], 0x5c
jne 0x1400746f9
jmp 0x1400746f3
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 0x14007474e
add r15, r15
xor r12d, r12d
movzx ecx, word [r14 + r12]
call fcn.140142b18
mov word [r14 + r12], ax
add r12, 2
cmp r15, r12
jne 0x140074736
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 0x140074784
mov rcx, qword [rsp + 0x40]
call fcn.140125ddc
lea rdx, str.Global_
lea r15, [rsp + 0x28]
lea r14, [rsp + 0x60]
mov rcx, r15
mov r8, r14
call fcn.140057ea0
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x1400747b0
and r8d, 0x7f
jmp 0x1400747b7
mov r8, qword [rdi + 8]
mov rdi, qword [rdi]
lea r12, [rsp + 0x68]
mov rcx, r15
mov rdx, rdi
call fcn.14007e160
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 0x140074800
mov rcx, qword [rsp + 0x60]
call fcn.140125ddc
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 0x14007482e
mov rcx, qword [rsp + 0x28]
call fcn.140125ddc
cmp byte [rsp + 0x77], 0
jns 0x14007483a
mov r14, qword [rsp + 0x60]
test bl, bl
jne 0x140074850
mov ecx, 0x100000
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_OpenEventW]
jmp 0x140074863
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 0x14007489e
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x1400748f7
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140074896
mov qword [rsi + 8], rdi
call fcn.1400f2160
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 0x1400748c1
cmp eax, 0xb7
sete al
xor bl, 1
or bl, al
mov byte [rsi + 0x10], bl
cmp byte [rsp + 0x77], 0
jns 0x1400748d2
mov rcx, qword [rsp + 0x60]
call fcn.140125ddc
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140126950
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.1400f2160
mov rcx, qword [rsi + 8]
call fcn.1400db920
mov qword [rsi + 8], 0
jmp 0x140074881