Function at 0x14002292c
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], r9d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, rdx
mov r13, rcx
mov edx, 0x1783
mov ecx, 0x1f3c
mov r12d, r8d
xor edi, edi
call fcn.1400013f4
mov r14, rax
test rax, rax
je 0x1400231b1
mov rcx, qword [0x14003ef50]
lea r15, [rax + 0x1000]
lea rax, [r15 + 0xc30]
mov ebp, edi
lea edx, [rdi + 5]
mov qword [rsp + 0x48], rax
call qword [sym.imp.USER32.dll_GetWindow]
mov rbx, rax
test rax, rax
je 0x140022a7b
mov rcx, rbx
call fcn.140015428
test rax, rax
je 0x1400229d2
mov r8, qword [rax + 0x58]
cmp byte [r8 + 0x26], dil
je 0x1400229d2
add r8, 0x98
mov rdx, rsi
mov rcx, r13
call fcn.140021bcc
mov ebp, eax
test eax, eax
jne 0x1400229f0
mov edx, 2
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindow]
mov rbx, rax
test rax, rax
jne 0x1400229a3
test ebp, ebp
je 0x140022a7b
mov rcx, qword [0x14003ef48]
mov edx, WSACleanup
lea r8d, [rdx - 0x6e]
call fcn.140003fa0
cmp eax, 2
je 0x1400231b1
cmp eax, 6
jne 0x140022a7b
mov rcx, qword [0x14003ef50]
lea edx, [rax - 1]
jmp 0x140022a6d
mov rcx, rbx
call fcn.140015428
mov rbp, rax
test rax, rax
je 0x140022a65
mov r8, qword [rax + 0x58]
cmp byte [r8 + 0x26], dil
je 0x140022a65
add r8, 0x98
mov rdx, rsi
mov rcx, r13
call fcn.140021bcc
test eax, eax
je 0x140022a65
mov rcx, qword [rbp]
xor r9d, r9d
mov edx, 0x111
lea r8d, [r9 + 0x52]
call qword [sym.imp.USER32.dll_SendMessageA]
mov edx, 2
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindow]
mov rbx, rax
test rax, rax
jne 0x140022a1f
lea rbp, [r13 + 0x40]
mov qword [rsp + 0x50], rbp
test r12d, r12d
je 0x140022abb
mov rdx, rbp
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, r15
call fcn.140005c38
mov rcx, rax
lea rdx, str.OBJ_
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 3]
call fcn.1400031f0
lea rbx, [rsi + 0xa0]
lea r13, [r15 + 0x30c]
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [rsi + 0xc]
lea rdx, str..exe
sub ecx, 3
je 0x140022af2
cmp ecx, 1
jne 0x140022af9
lea rdx, str..lib
jmp 0x140022af9
lea rdx, str..dll
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [rsp + 0xa8], edi
je 0x140022b72
mov rdx, rbp
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, r15
call fcn.140005c38
mov rcx, rax
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, r15
call fcn.140003b7c
test eax, eax
jne 0x140022b72
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x140022b72
mov ecx, WSAAsyncSelect
call fcn.14000612c
mov r8, r15
mov rdx, rax
mov rcx, r14
call qword [sym.imp.USER32.dll_wsprintfA]
mov rcx, qword [0x14003ef48]
xor r8d, r8d
mov rdx, r14
call fcn.140003fd0
jmp 0x1400231b1
mov rdx, rbp
lea rbp, [r15 + 0x618]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, rbp
call fcn.140005c38
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str..mak
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140022bbf
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x140022bd9
lea rdx, [rsi + 0x80]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, rbp
call fcn.140004f14
mov qword [rsp + 0x40], rax
cmp rax, 0xffffffffffffffff
jne 0x140022bfc
lea ecx, [rax + 4]
call fcn.14000612c
mov r8, rbp
jmp 0x140022b4f
mov byte [r14], dil
mov rdx, qword [rsi + 0x28]
test rdx, rdx
je 0x140022c21
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str._r_n_r_n
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, r14
call fcn.140006864
mov rcx, rax
lea rdx, str.OOBJ_s_r_n
mov r8, rbx
call qword [sym.imp.USER32.dll_wsprintfA]
mov rcx, r14
call fcn.140006864
mov rcx, rax
lea rdx, str.T_s_r_n
mov r8, r13
call qword [sym.imp.USER32.dll_wsprintfA]
lea rdx, str.S_r_n
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, r14
call fcn.140006864
mov rbp, qword [rsi + 0x30]
mov rbx, rax
test rbp, rbp
je 0x140022cc3
jmp 0x140022cbd
mov r8d, 0x30c
mov rdx, r15
mov rcx, rbp
call fcn.140002754
mov edx, 0x2f
mov rcx, r15
mov rbp, rax
lea r8d, [rdx + 0x2d]
call fcn.1400027ac
mov rcx, rbx
call fcn.140006864
mov rcx, rax
lea rdx, str.__s_r_n
mov r8, r15
call qword [sym.imp.USER32.dll_wsprintfA]
cmp byte [rbp], dil
jne 0x140022c7d
mov rbp, qword [rsi + 0x20]
test rbp, rbp
je 0x140022d5c
lea rcx, [rbp + 0x10]
call fcn.140005b3c
lea rdx, [0x140036abc]
mov rcx, rax
mov r12, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140022d2c
lea rdx, [0x1400368fc]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140022d2c
lea rdx, [0x140036ac0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140022d2c
lea rdx, [0x140036904]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x140022d48
mov rcx, rbx
call fcn.140006864
mov rcx, rax
lea r8, [rbp + 0x10]
lea rdx, str.__s_r_n
call qword [sym.imp.USER32.dll_wsprintfA]
mov rbp, qword [rbp]
test rbp, rbp
jne 0x140022cd0
lea r13, [r15 + 0x30c]
lea r12, [0x1400349f4]
mov rcx, rbx
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.ADD_C_OPT
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [rsi + 0x10], edi
jne 0x140022d94
lea rdx, str._DNODEFAULTLIB
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
cmp qword [rsi + 0x38], rdi
je 0x140022dc5
mov rcx, rbx
call fcn.140006864
mov rbx, rax
cmp byte [rax - 1], 0x3d
je 0x140022db8
mov edx, 0x20
mov rcx, rax
call fcn.140001000
mov rdx, qword [rsi + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov r8, qword [rsi + 0x60]
test r8, r8
je 0x140022de0
mov r9, r15
lea rdx, [0x140036ae8]
mov rcx, rbx
call fcn.1400210e8
mov r8, qword [rsi + 0x68]
test r8, r8
je 0x140022dfb
mov r9, r15
lea rdx, [0x140036aec]
mov rcx, rbx
call fcn.1400210e8
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.ADD_RC_OPT
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x140022e29
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov r8, qword [rsi + 0x60]
test r8, r8
je 0x140022e44
mov r9, r15
lea rdx, [0x140036ae8]
mov rcx, rbx
call fcn.1400210e8
mov r8, qword [rsi + 0x68]
test r8, r8
je 0x140022e5f
mov r9, r15
lea rdx, [0x140036aec]
mov rcx, rbx
call fcn.1400210e8
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rbp, qword [rsi + 0x48]
test rbp, rbp
je 0x140022e8f
mov rcx, rbx
call fcn.140006864
mov rcx, rax
lea rdx, str.ADD_ASM_OPT_s_r_n
mov r8, rbp
call qword [sym.imp.USER32.dll_wsprintfA]
lea rdx, str.ADD_LINK_OPT
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, rbx
call fcn.140006864
mov rbp, rax
cmp dword [rsi + 0x10], edi
jne 0x140022ebf
lea rdx, str._NODEFAULTLIB
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcatA]
cmp qword [rsi + 0x50], rdi
je 0x140022ee5
cmp byte [rbp], dil
je 0x140022ed8
mov edx, 0x20
mov rcx, rbp
call fcn.140001000
mov rdx, qword [rsi + 0x50]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rbx, qword [rsi + 0x58]
test rbx, rbx
je 0x140022f5b
lea rdx, str.ADD_LIB
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, rbp
call fcn.140006864
mov rbp, rax
jmp 0x140022f4a
mov r8d, 0x30c
mov rdx, r15
mov rcx, rbx
call fcn.140002754
mov rbx, rax
cmp byte [rbp], dil
je 0x140022f3e
mov edx, 0x20
mov rcx, rbp
call fcn.140001000
mov rdx, r15
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [rbx], dil
jne 0x140022f17
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [rsi + 0xc]
lea r12, str.Windows
test ecx, ecx
je 0x140022f91
sub ecx, 3
je 0x140022f88
cmp ecx, 1
jne 0x140022f98
lea r12, str.MakeLib
jmp 0x140022f98
lea r12, str.MakeDll
jmp 0x140022f98
lea r12, str.Console
cmp dword [rsi + 8], edi
lea rax, [0x1400349f0]
lea rbx, [0x140036b68]
mov rcx, rbp
cmove rbx, rax
call fcn.140006864
mov rcx, rax
lea rdx, str._INCLUDE___VCPATH__s_s.mak_r_n
mov r9, rbx
mov r8, r12
call qword [sym.imp.USER32.dll_wsprintfA]
mov edx, 0x1784
mov rcx, r14
call fcn.14000a154
mov rbp, qword [rsp + 0x40]
mov rbx, rax
test rax, rax
je 0x140022ffb
xor r8d, r8d
mov rdx, rax
mov rcx, rbp
call fcn.14000aef4
mov rcx, rbx
call fcn.14000522c
mov rcx, rbp
call fcn.140004ef4
cmp dword [rsp + 0xb0], edi
jne 0x1400231ac
lea r12, [r15 + 0x618]
lea rbx, [r12 + 0x30c]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, rbx
call fcn.140005c38
mov rcx, rax
lea rdx, str.C.BAT
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, rbx
call fcn.140004f14
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x140023064
lea ecx, [rax + 4]
call fcn.14000612c
mov r8, rbx
jmp 0x140022b4f
mov r8d, 0x30c
lea rdx, [rbx + 0x30c]
xor ecx, ecx
call fcn.140006010
mov rcx, qword [rsp + 0x48]
call fcn.140005c38
mov rcx, rax
lea rdx, [rsi + 0x80]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rbx, qword [rsp + 0x48]
mov edx, 0x2f
mov rcx, rbx
lea r8d, [rdx + 0x2d]
call fcn.1400027ac
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, r15
call fcn.140005c38
mov edx, 0x2f
mov rcx, r15
mov byte [rax - 1], dil
lea r8d, [rdx + 0x2d]
call fcn.1400027ac
mov rcx, r12
call fcn.140005c38
movsx r8d, byte [r15]
lea rdx, str._Echo_Off_r_n_c:_r_nCD__s_r_n_r_n_sNMAKE__s_VCPATH_s_r_nDel_TargetList.mak_r_nDel_TargetCompile.mak_r_n_r_n
mov qword [rsp + 0x30], rbx
mov r9, r15
mov qword [rsp + 0x28], rax
mov rcx, r14
mov qword [rsp + 0x20], rbx
call qword [sym.imp.USER32.dll_wsprintfA]
cmp dword [rsp + 0xa8], edi
je 0x140023157
mov eax, dword [rsi + 0xc]
sub eax, 3
cmp eax, 1
jbe 0x140023157
mov rcx, r14
call fcn.140006864
mov ecx, dword [rsi + 0xc]
mov r10, rax
test ecx, ecx
jne 0x140023130
lea rdx, str.If_not_exist__s_goto_Exit_r_nCls_r_n_s_r_n:Exit_r_nPause_r_n
jmp 0x140023146
lea eax, [rcx - 1]
test eax, 0xfffffffa
jne 0x140023167
cmp ecx, 6
je 0x140023167
lea rdx, str.If_not_exist__s_goto_Exit_r_n_s_r_n:Exit_r_n
mov r8, r13
mov r9, r13
mov rcx, r10
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x140023167
lea rdx, str.Pause_r_n
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, 0x1785
mov rcx, r14
call fcn.14000a154
mov rbx, rax
test rax, rax
je 0x140023192
xor r8d, r8d
mov rdx, rax
mov rcx, rbp
call fcn.14000aef4
mov rcx, rbx
call fcn.14000522c
mov rcx, rbp
call fcn.140004ef4
mov edx, 5
lea rcx, [r12 + 0x30c]
call fcn.14000abb0
mov edi, 1
or rcx, 0xffffffffffffffff
call fcn.140004ef4
mov rcx, r14
call fcn.14000522c
lea r11, [rsp + 0x60]
mov eax, edi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret