Function at 0x140012590
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xe8]
sub rsp, 0x1e0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x1400395a0]
xor rax, rsp
mov qword [rbp + 0xd0], rax
xor r14d, r14d
mov ebx, r14d
mov dword [rsp + 0x28], ebx
lea rdx, [0x14002c230]
lea rdi, str._N_A_
mov rcx, rdi
call fcn.140015a78
test eax, eax
jne 0x140012a77
mov byte [str._N_A_], bl
mov byte [rbp - 0x40], bl
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp - 0x3f]
call fcn.140014110
mov qword [rsp + 0x28], r14
lea r8, [rsp + 0x28]
lea rdx, [0x140012e70]
lea ecx, [r14 + 4]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
mov r8d, 0x104
lea rdx, [rbp - 0x40]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140012656
lea edx, [r14 + 0x5c]
lea rcx, [rbp - 0x40]
call fcn.140017334
test rax, rax
je 0x140012656
mov byte [rax], bl
mov qword [rbp - 0x50], 0xf
mov qword [rbp - 0x58], r14
mov byte [rbp - 0x68], bl
cmp byte [rbp - 0x40], bl
jne 0x14001266f
mov r8, r14
jmp 0x140012680
lea rax, [rbp - 0x40]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x140012677
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x68]
call fcn.14000ca60
nop
lea r8, [0x14002aea0]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
call fcn.1400013d0
nop
cmp qword [rbp - 0x50], 0x10
jb 0x1400126b4
mov rcx, qword [rbp - 0x68]
call fcn.140013704
mov qword [rbp - 0x50], 0xf
mov qword [rbp - 0x58], r14
mov byte [rbp - 0x68], 0
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
cmp dword [0x14003b400], 1
jne 0x14001288b
cmp dword [rsp + 0x20], 0
je 0x140012761
lea r8, str.SynComTT32.dll
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.140011ca0
nop
mov ebx, 1
mov dword [rsp + 0x28], ebx
cmp qword [rax + 0x18], 0x10
jb 0x14001271b
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140012761
lea r8, str.SynComTT32.dll.manifest
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140011ca0
mov ebx, 3
cmp qword [rax + 0x18], 0x10
jb 0x14001274e
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140012761
mov sil, 1
jmp 0x140012764
xor sil, sil
test bl, 2
je 0x140012791
and ebx, 0xfffffffd
cmp qword [rsp + 0x70], 0x10
jb 0x14001277e
mov rcx, qword [rsp + 0x58]
call fcn.140013704
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x58], 0
test bl, 1
je 0x1400127ab
and ebx, 0xfffffffe
cmp qword [rsp + 0x50], 0x10
jb 0x1400127ab
mov rcx, qword [rsp + 0x38]
call fcn.140013704
test sil, sil
je 0x1400127bc
lea r8, str.SynComTT32.dll.manifest
jmp 0x140012a23
cmp dword [rsp + 0x20], 0
jne 0x14001282f
lea r8, str.SynComTT.dll
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.140011ca0
nop
or ebx, 4
mov dword [rsp + 0x28], ebx
cmp qword [rax + 0x18], 0x10
jb 0x1400127eb
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14001282f
lea r8, str.SynComTT.dll.manifest
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140011ca0
or ebx, 8
cmp qword [rax + 0x18], 0x10
jb 0x14001281c
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14001282f
mov sil, 1
jmp 0x140012832
xor sil, sil
test bl, 8
je 0x14001285f
and ebx, 0xfffffff7
cmp qword [rsp + 0x70], 0x10
jb 0x14001284c
mov rcx, qword [rsp + 0x58]
call fcn.140013704
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x58], 0
test bl, 4
je 0x140012876
cmp qword [rsp + 0x50], 0x10
jb 0x140012876
mov rcx, qword [rsp + 0x38]
call fcn.140013704
test sil, sil
je 0x140012a66
lea r8, str.SynComTT.dll.manifest
jmp 0x140012a23
cmp dword [rsp + 0x20], 0
je 0x140012901
lea r8, str.SynCom32.dll
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.140011ca0
nop
mov ebx, 0x10
mov dword [rsp + 0x28], ebx
cmp qword [rax + 0x18], rbx
jb 0x1400128bb
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140012901
lea r8, str.SynCom32.dll.manifest
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140011ca0
mov ebx, 0x30
cmp qword [rax + 0x18], 0x10
jb 0x1400128ee
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140012901
mov sil, 1
jmp 0x140012904
xor sil, sil
test bl, 0x20
je 0x140012931
and ebx, 0xffffffdf
cmp qword [rsp + 0x70], 0x10
jb 0x14001291e
mov rcx, qword [rsp + 0x58]
call fcn.140013704
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x58], 0
test bl, 0x10
je 0x14001294b
and ebx, 0xffffffef
cmp qword [rsp + 0x50], 0x10
jb 0x14001294b
mov rcx, qword [rsp + 0x38]
call fcn.140013704
test sil, sil
je 0x14001295c
lea r8, str.SynCom32.dll.manifest
jmp 0x140012a23
cmp dword [rsp + 0x20], 0
jne 0x1400129d0
lea r8, str.SynCom.dll
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.140011ca0
nop
or ebx, 0x40
mov dword [rsp + 0x28], ebx
cmp qword [rax + 0x18], 0x10
jb 0x14001298b
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400129d0
lea r8, str.SynCom.dll.manifest
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140011ca0
bts ebx, 7
cmp qword [rax + 0x18], 0x10
jb 0x1400129bd
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400129d0
mov sil, 1
jmp 0x1400129d3
xor sil, sil
test bl, bl
jns 0x140012a00
btr ebx, 7
cmp qword [rsp + 0x70], 0x10
jb 0x1400129ed
mov rcx, qword [rsp + 0x58]
call fcn.140013704
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x58], 0
test bl, 0x40
je 0x140012a17
cmp qword [rsp + 0x50], 0x10
jb 0x140012a17
mov rcx, qword [rsp + 0x38]
call fcn.140013704
test sil, sil
je 0x140012a66
lea r8, str.SynCom.dll.manifest
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.140011ca0
cmp qword [rax + 0x18], 0x10
jb 0x140012a3c
mov rax, qword [rax]
mov r9, rax
lea r8, [0x14002b070]
mov edx, 0x104
mov rcx, rdi
call fcn.1400157ac
cmp qword [rsp + 0x50], 0x10
jb 0x140012a66
mov rcx, qword [rsp + 0x38]
call fcn.140013704
nop
cmp qword [rbp - 0x70], 0x10
jb 0x140012a77
mov rcx, qword [rsp + 0x78]
call fcn.140013704
mov rax, rdi
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400168f0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret