Function at 0x140132dd0
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 [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x88], rax
lea rax, fcn.140133130
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov byte [rcx + 0x10], 0
cmp byte [rdx + 0x17], 0
js 0x140132e2b
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x140132e3f
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14013b6d0
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 0x140132ea1
add r9, r9
xor eax, eax
jmp 0x140132e82
mov word [rcx + rax], 0x21
add rax, 2
cmp r9, rax
je 0x140132e8b
cmp word [rcx + rax], 0x5c
jne 0x140132e79
jmp 0x140132e73
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 0x140132ece
add r15, r15
xor r12d, r12d
movzx ecx, word [r14 + r12]
call fcn.1402fc5a8
mov word [r14 + r12], ax
add r12, 2
cmp r15, r12
jne 0x140132eb6
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 0x140132f04
mov rcx, qword [rsp + 0x40]
call fcn.1402dd16c
lea rdx, str.Global_
lea r15, [rsp + 0x28]
lea r14, [rsp + 0x60]
mov rcx, r15
mov r8, r14
call fcn.140099a00
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
js 0x140132f30
and r8d, 0x7f
jmp 0x140132f37
mov r8, qword [rdi + 8]
mov rdi, qword [rdi]
lea r12, [rsp + 0x68]
mov rcx, r15
mov rdx, rdi
call fcn.14013baa0
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 0x140132f80
mov rcx, qword [rsp + 0x60]
call fcn.1402dd16c
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 0x140132fae
mov rcx, qword [rsp + 0x28]
call fcn.1402dd16c
cmp byte [rsp + 0x77], 0
jns 0x140132fba
mov r14, qword [rsp + 0x60]
test bl, bl
jne 0x140132fd0
mov ecx, 0x100000
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_OpenEventW]
jmp 0x140132fe3
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 0x14013301e
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x140133077
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140133016
mov qword [rsi + 8], rdi
call fcn.14026d530
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 0x140133041
cmp eax, 0xb7
sete al
xor bl, 1
or bl, al
mov byte [rsi + 0x10], bl
cmp byte [rsp + 0x77], 0
jns 0x140133052
mov rcx, qword [rsp + 0x60]
call fcn.1402dd16c
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1402ddd70
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.14026d530
mov rcx, qword [rsi + 8]
call fcn.140252540
mov qword [rsi + 8], 0
jmp 0x140133001