Function at 0x140034360
Capabilities:
Check if file exists
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140087048]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rbx, rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rcx
xor edi, edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], dil
xor eax, eax
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
lea rdx, str.__.__
lea rcx, [rbp]
call fcn.1400103c0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0x30], rdi
mov byte [rbp + 0x38], dil
movdqa xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x50], xmm1
mov qword [rbp + 0x60], rdi
mov byte [rbp + 0x68], dil
movdqa xmmword [rbp + 0x70], xmm0
mov byte [rbp + 0x80], dil
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0x90], rdi
mov byte [rbp + 0x98], dil
add rbx, 0x150
cmp qword [rbx + 0x18], 0x10
jb 0x140034452
mov r8, qword [rbx]
mov rdx, r8
add rdx, qword [rbx + 0x10]
mov rbx, r8
jmp 0x14003445c
mov rdx, qword [rbx + 0x10]
add rdx, rbx
mov r8, rbx
mov qword [rsp + 0x28], r8
lea r9, [rbp]
lea r8, [rbp + 0x30]
mov rcx, rbx
call fcn.140010d90
test al, al
je 0x140034560
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x40]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x1400344b5
lea rax, [rbp + 0x88]
lea r8, [rbp + 0x98]
jmp 0x1400344bd
lea rax, [r8 + 0x18]
add r8, 0x28
cmp byte [r8], 0
je 0x1400344cd
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
jmp 0x1400344d6
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
cmp rdx, r8
jne 0x140034506
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
jmp 0x140034513
sub r8, rdx
lea rcx, [rsp + 0x30]
call fcn.140007670
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14003454e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034549
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e70
call fcn.14003dd70
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x30], xmm1
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r8, qword [rbp - 0x40]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
mov rbx, rax
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400345c0
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.140007670
nop
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x14003486b
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
mov r15, qword [rbp - 0x10]
sub rax, r15
cmp rax, 5
jb 0x140034e76
lea r13, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 8]
cmp r14, 0x10
cmovae r13, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea r12, [r15 + 5]
mov edi, 0xf
lea rbx, [rsp + 0x58]
cmp r12, rdi
jbe 0x1400346c3
mov rdi, r12
or rdi, 0xf
cmp rdi, rdx
jbe 0x14003465a
mov rdi, rdx
jmp 0x140034666
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
mov rcx, rdi
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x1400346ad
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140034e7c
mov rcx, rax
call fcn.14003dd78
test rax, rax
je 0x140034e82
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1400346be
test rcx, rcx
je 0x1400346bc
call fcn.14003dd78
mov rbx, rax
jmp 0x1400346be
xor ebx, ebx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rdi
mov eax, dword [str.File]
mov dword [rbx], eax
movzx eax, byte [0x14007a264]
mov byte [rbx + 4], al
lea rcx, [rbx + 5]
mov r8, r15
mov rdx, r13
call fcn.1400401b0
mov byte [rbx + r12], 0
mov r8d, 0xd
lea rdx, str._doesnt_exist
lea rcx, [rsp + 0x58]
call fcn.140006e40
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x50]
movups xmmword [rcx], xmm0
xor edx, edx
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], rdx
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], 0xf
mov byte [rax], dl
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140034778
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034773
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e82
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
cmp r14, 0x10
jb 0x1400347c3
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400347ba
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e88
mov rcx, rsi
call fcn.14003dd70
nop
lea rcx, [rbp + 0x40]
call fcn.1400102a0
nop
lea rcx, [rbp]
call fcn.1400106c0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400347f8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x1400347f8
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140034833
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003482e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e8e
call fcn.14003dd70
mov rbx, qword [rsp + 0x50]
mov rax, rbx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14003dd50
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp rbx, 0x20
jg 0x140034b77
lea rcx, [rbp - 0x68]
call fcn.14000f830
mov qword [rsp + 0x58], rax
movabs rdx, 0x7fffffffffffffff
mov rcx, rdx
mov r15, qword [rbp - 0x10]
sub rcx, r15
cmp rcx, 0xf
jb 0x140034e94
lea r13, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 8]
cmp r14, 0x10
cmovae r13, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r12, [r15 + 0xf]
mov ebx, 0xf
lea rdi, [rsp + 0x30]
cmp r12, rbx
jbe 0x140034953
mov rbx, r12
or rbx, 0xf
cmp rbx, rdx
jbe 0x1400348ea
mov rbx, rdx
jmp 0x1400348f6
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x14003493d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140034e9a
mov rcx, rax
call fcn.14003dd78
test rax, rax
je 0x140034ea6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14003494e
test rcx, rcx
je 0x14003494c
call fcn.14003dd78
mov rdi, rax
jmp 0x14003494e
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
movsd xmm0, qword [str.Failed_to_open]
movsd qword [rdi], xmm0
mov eax, dword [0x14007a270]
mov dword [rdi + 8], eax
movzx eax, word [0x14007a274]
mov word [rdi + 0xc], ax
movzx eax, byte [0x14007a276]
mov byte [rdi + 0xe], al
lea rcx, [rdi + 0xf]
mov r8, r15
mov rdx, r13
call fcn.1400401b0
mov byte [rdi + r12], 0
mov r8d, 4
lea rdx, str._on
lea rcx, [rsp + 0x30]
call fcn.140006e40
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r9, qword [rsp + 0x58]
lea r8, [rsp + 0x78]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14002c7f0
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140034a2a
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034a24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034ea0
call fcn.14003dd70
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140034a67
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034a62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034ea6
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140034ab5
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034ab0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034eac
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
cmp r14, 0x10
jb 0x140034afe
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140034af5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034eb2
mov rcx, rsi
call fcn.14003dd70
nop
lea rcx, [rbp + 0x40]
call fcn.1400102a0
nop
lea rcx, [rbp]
call fcn.1400106c0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140034b33
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140034b33
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140034838
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034b6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034eb8
call fcn.14003dd70
jmp 0x140034838
lea rcx, [rsp + 0x78]
call fcn.14000f830
mov qword [rsp + 0x58], rax
movabs rdx, 0x7fffffffffffffff
mov rcx, rdx
mov r15, qword [rbp - 0x10]
sub rcx, r15
cmp rcx, 7
jb 0x140034ebe
lea r13, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 8]
cmp r14, 0x10
cmovae r13, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r12, [r15 + 7]
mov ebx, 0xf
lea rdi, [rsp + 0x30]
cmp r12, rbx
jbe 0x140034c56
mov rbx, r12
or rbx, 0xf
cmp rbx, rdx
jbe 0x140034bed
mov rbx, rdx
jmp 0x140034bf9
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140034c40
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140034ec4
mov rcx, rax
call fcn.14003dd78
test rax, rax
je 0x140034ed0
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140034c51
test rcx, rcx
je 0x140034c4f
call fcn.14003dd78
mov rdi, rax
jmp 0x140034c51
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rbx
mov rax, qword [str.Opened]
mov dword [rdi], eax
movzx eax, word [0x14007a27c]
mov word [rdi + 4], ax
movzx eax, byte [0x14007a27e]
mov byte [rdi + 6], al
lea rcx, [rdi + 7]
mov r8, r15
mov rdx, r13
call fcn.1400401b0
mov byte [rdi + r12], 0
mov r8d, 4
lea rdx, str._on
lea rcx, [rsp + 0x30]
call fcn.140006e40
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r9, qword [rsp + 0x58]
lea r8, [rbp - 0x68]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14002c7f0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140034d1e
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034eca
call fcn.14003dd70
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140034d5b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034d56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034ed0
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140034daa
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034da5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034ed6
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], 0
cmp r14, 0x10
jb 0x140034df0
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140034de7
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e64
mov rcx, rsi
call fcn.14003dd70
nop
lea rcx, [rbp + 0x40]
call fcn.1400102a0
nop
lea rcx, [rbp]
call fcn.1400106c0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140034e25
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140034e25
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140034838
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034b6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140034e6a
jmp 0x140034b6d
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.140004270
int3
call fcn.1400041d0
int3
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.140004270
int3
call fcn.1400041d0
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.140004270
int3
call fcn.1400041d0
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
int3