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

Disassembly:
mov rax, rsp
push rdi
push r12
push r14
sub rsp, 0x350
mov qword [rsp + 0xf8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov rbx, rcx
lea rcx, [0x1400d276c]
call fcn.1400980d0
mov r9, rax
xor r8d, r8d
lea rdx, [0x1400d276c]
mov rcx, rbx
call fcn.140005be4
cmp rax, 0xffffffffffffffff
jne 0x14004c107
lea rcx, [0x1400c55c0]
call fcn.1400980d0
mov r9, rax
xor r8d, r8d
lea rdx, [0x1400c55c0]
mov rcx, rbx
call fcn.140005be4
cmp rax, 0xffffffffffffffff
jne 0x14004c107
xor r12d, r12d
mov byte [rsp + 0x230], r12b
mov edi, 0x103
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x231]
call fcn.1400988d0
mov byte [rsp + 0x120], r12b
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x121]
call fcn.1400988d0
lea rdx, [rsp + 0x230]
lea ecx, [rdi + 1]
call fcn.14005c0b0
cmp eax, r12d
jne 0x14004bd0a
xor eax, eax
jmp 0x14004c10c
lea rcx, [rsp + 0x100]
mov rax, qword [str._6.6s_3.3lu]
mov qword [rcx], rax
mov eax, dword [0x1400d4358]
mov dword [rcx + 8], eax
xor edx, edx
lea r8d, [rdx + 0x14]
lea rcx, [rsp + 0x10c]
call fcn.1400988d0
lea rcx, str.SETUP
call fcn.1400980d0
mov r9, rax
xor r8d, r8d
lea rdx, str.SETUP
mov rcx, rbx
call fcn.140005be4
cmp rax, r12
jne 0x14004bd77
lea r8, str._5.5s_4.4lu
mov edx, 0x20
lea rcx, [rsp + 0x100]
call fcn.1400986e0
mov ebp, r12d
mov r14d, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp qword [rbx + 0x20], 0x10
jb 0x14004bd8d
mov r9, qword [rbx + 8]
jmp 0x14004bd91
lea r9, [rbx + 8]
mov dword [rsp + 0x20], ebp
lea r8, [rsp + 0x100]
mov edx, 0x104
lea rcx, [rsp + 0x120]
call fcn.14009841c
inc ebp
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x98], r12
mov byte [rsp + 0x88], r12b
lea rcx, str..log
call fcn.1400980d0
mov r8, rax
lea rdx, str..log
lea rcx, [rsp + 0x80]
call fcn.14000352c
nop
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x38], r12b
lea rcx, [rsp + 0x120]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.14000352c
nop
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r12
mov byte [rsp + 0x60], r12b
lea rcx, [rsp + 0x230]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x58]
call fcn.14000352c
nop
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xd0]
call fcn.14000d234
nop
lea r8, [rsp + 0x80]
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.14000d234
cmp qword [rax + 0x20], 0x10
jb 0x14004be8e
mov rcx, qword [rax + 8]
jmp 0x14004be92
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
setne sil
cmp qword [rsp + 0xc8], 0x10
jb 0x14004beb7
mov rcx, qword [rsp + 0xb0]
call fcn.14006127c
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xc0], r12
mov byte [rsp + 0xb0], r12b
cmp qword [rsp + 0xf0], 0x10
jb 0x14004bee7
mov rcx, qword [rsp + 0xd8]
call fcn.14006127c
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xe8], r12
mov byte [rsp + 0xd8], r12b
cmp qword [rsp + 0x78], 0x10
jb 0x14004bf11
mov rcx, qword [rsp + 0x60]
call fcn.14006127c
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r12
mov byte [rsp + 0x60], r12b
cmp qword [rsp + 0x50], 0x10
jb 0x14004bf32
mov rcx, qword [rsp + 0x38]
call fcn.14006127c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x38], r12b
cmp qword [rsp + 0xa0], 0x10
jb 0x14004bf59
mov rcx, qword [rsp + 0x88]
call fcn.14006127c
cmp sil, r12b
jne 0x14004bd80
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x98], r12
mov byte [rsp + 0x88], r12b
lea rcx, str..log
call fcn.1400980d0
mov r8, rax
lea rdx, str..log
lea rcx, [rsp + 0x80]
call fcn.14000352c
nop
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r12
mov byte [rsp + 0x60], r12b
lea rcx, [rsp + 0x120]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x58]
call fcn.14000352c
nop
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x38], r12b
lea rcx, [rsp + 0x230]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x30]
call fcn.14000352c
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa8]
call fcn.14000d234
nop
lea r8, [rsp + 0x80]
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.14000d234
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.140002458
nop
cmp qword [rsp + 0xf0], 0x10
jb 0x14004c05e
mov rcx, qword [rsp + 0xd8]
call fcn.14006127c
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xe8], r12
mov byte [rsp + 0xd8], r12b
cmp qword [rsp + 0xc8], 0x10
jb 0x14004c08e
mov rcx, qword [rsp + 0xb0]
call fcn.14006127c
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xc0], r12
mov byte [rsp + 0xb0], r12b
cmp qword [rsp + 0x50], 0x10
jb 0x14004c0b8
mov rcx, qword [rsp + 0x38]
call fcn.14006127c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x38], r12b
cmp qword [rsp + 0x78], 0x10
jb 0x14004c0d9
mov rcx, qword [rsp + 0x60]
call fcn.14006127c
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r12
mov byte [rsp + 0x60], r12b
cmp qword [rsp + 0xa0], 0x10
jb 0x14004c100
mov rcx, qword [rsp + 0x88]
call fcn.14006127c
mov eax, 1
jmp 0x14004c10c
mov eax, 1
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.140061100
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rdi
ret