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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30c8]
mov eax, 0x31c8
call fcn.18007fc70
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rbp + 0x30b0], rax
mov r15, r9
mov r12, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [rbp + 0x3138]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x3140]
mov qword [rsp + 0x40], rax
xor ebx, ebx
xor r13d, r13d
lea edi, [rbx + 1]
mov eax, dword [0x1800d331c]
test eax, eax
je 0x180050ea7
cmp eax, edi
je 0x18005091e
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
test ecx, ecx
je 0x180050913
mov dword [0x1800d331c], edi
jmp 0x18005091e
mov dword [0x1800d331c], ebx
jmp 0x180050ea7
mov rdi, qword [0x1800d6f10]
test rdi, rdi
jne 0x180050954
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18005094b
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x18005094d
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180018230
test eax, eax
jne 0x1800509b7
test rdi, rdi
jne 0x18005098f
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180050986
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180050988
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.1800181a0
test eax, eax
jne 0x1800509b7
call fcn.180001150
mov rcx, rax
call fcn.180016ca0
test eax, eax
je 0x180050ea7
mov rdi, qword [0x1800d6f10]
test rdi, rdi
jne 0x1800509e6
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1800509dd
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x1800509df
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016ae0
test eax, eax
je 0x180050aa0
cmp dword [0x1800d70a4], 0
jne 0x180050aa0
lea rcx, [rbp + 0x1a0]
call fcn.180033230
nop
mov rdx, rsi
lea rcx, [rbp + 0x1a0]
call fcn.180033e40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180050a94
shr eax, 4
not eax
and eax, 1
je 0x180050a94
xor ecx, ecx
lea rdi, [0x1800a8438]
movzx eax, byte [rcx + rdi]
cmp byte [rbp + rcx + 0x1c8], al
jne 0x180050a58
inc rcx
cmp rcx, 9
jl 0x180050a40
jmp 0x180050a94
cmp dword [0x1800d708c], 0
jne 0x180050a94
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.18003b9b0
mov r13d, 1
lea rcx, [rbp + 0x1a0]
jmp 0x180050ea2
test rdi, rdi
jne 0x180050acf
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180050ac6
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180050ac8
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016c10
test eax, eax
je 0x180050c8c
lea rdi, [0x1800d3740]
mov r9, rdi
cmp qword [0x1800d3758], 8
cmovae r9, qword [0x1800d3740]
lea r8, [0x1800ad0dc]
mov edx, 0x800
lea rcx, [rbp + 0x20b0]
call fcn.18005acb0
lea rcx, [rsp + 0x50]
call fcn.180033230
nop
mov rdx, rdi
cmp qword [0x1800d3758], 8
cmovae rdx, qword [0x1800d3740]
lea rcx, [rsp + 0x50]
call fcn.180033e40
mov rcx, rdi
cmp qword [0x1800d3758], 8
cmovae rcx, qword [0x1800d3740]
lea rdx, [0x1800ae6e8]
call fcn.18002f130
test rax, rax
je 0x180050b9b
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
cmp qword [0x1800d3758], 8
cmovae rdi, qword [0x1800d3740]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x3f0]
call fcn.18003b9b0
nop
lea rdx, [rbp + 0x10b0]
lea rcx, [rbp + 0x20b0]
call fcn.180050780
mov r8d, 0x800
lea rdx, [rbp + 0x20b0]
lea rcx, [rbp + 0x10b0]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x180050beb
lea r9, [rbp + 0x20b0]
lea r8, [0x1800ad0dc]
mov edx, 0x800
lea rcx, [rbp + 0x10b0]
call fcn.18005acb0
lea rdx, [rbp + 0x10b0]
lea rcx, [rsp + 0x50]
call fcn.180033e40
xor edx, edx
lea rdi, [0x1800a8438]
movzx eax, byte [rdx + rdi]
cmp byte [rsp + rdx + 0x78], al
jne 0x180050c1a
inc rdx
cmp rdx, 9
jl 0x180050c05
jmp 0x180050c82
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x10b0]
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x180050c82
lea rdx, [rbp + 0x10b0]
mov rcx, rsi
call fcn.18002f130
test rax, rax
je 0x180050c82
cmp dword [0x1800d708c], 0
jne 0x180050c82
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.18003b9b0
mov r13d, 1
lea rcx, [rsp + 0x50]
jmp 0x180050ea2
test rdi, rdi
jne 0x180050cbb
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180050cb2
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180050cb4
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.1800181a0
test eax, eax
je 0x180050dd4
lea rcx, [rbp + 0xc10]
call fcn.180033230
nop
mov rdx, r12
lea rcx, [rbp + 0xc10]
call fcn.180033e40
xor edx, edx
lea rdi, [0x1800a8438]
movzx eax, byte [rdx + rdi]
cmp byte [rbp + rdx + 0xc38], al
jne 0x180050dc8
inc rdx
cmp rdx, 9
jl 0x180050cf0
lea rcx, [rbp + 0x1a0]
call fcn.180033230
nop
lea rdi, [0x1800d3740]
mov rdx, rdi
cmp qword [0x1800d3758], 8
cmovae rdx, qword [0x1800d3740]
lea rcx, [rbp + 0x1a0]
call fcn.180033e40
xor edx, edx
nop
lea rax, [0x1800a8438]
movzx eax, byte [rdx + rax]
cmp byte [rbp + rdx + 0x1c8], al
jne 0x180050d5f
inc rdx
cmp rdx, 9
jl 0x180050d40
jmp 0x180050dbb
cmp qword [0x1800d3758], 8
cmovae rdi, qword [0x1800d3740]
mov rdx, rdi
mov rcx, rsi
call fcn.18002f130
test rax, rax
je 0x180050dbb
cmp dword [0x1800d708c], 0
jne 0x180050dbb
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.18003b9b0
mov r13d, 1
lea rcx, [rbp + 0x1a0]
call fcn.1800332f0
nop
lea rcx, [rbp + 0xc10]
jmp 0x180050ea2
call fcn.180001150
mov rcx, rax
call fcn.180018230
test eax, eax
je 0x180050ea7
lea rcx, [rbp + 0xe60]
call fcn.180033230
nop
lea rdi, [0x1800d3740]
mov rdx, rdi
cmp qword [0x1800d3758], 8
cmovae rdx, qword [0x1800d3740]
lea rcx, [rbp + 0xe60]
call fcn.180033e40
xor edx, edx
nop
lea rax, [0x1800a8438]
movzx eax, byte [rdx + rax]
cmp byte [rbp + rdx + 0xe88], al
jne 0x180050e3f
inc rdx
cmp rdx, 9
jl 0x180050e20
jmp 0x180050e9b
cmp qword [0x1800d3758], 8
cmovae rdi, qword [0x1800d3740]
mov rdx, rdi
mov rcx, rsi
call fcn.18002f130
test rax, rax
je 0x180050e9b
cmp dword [0x1800d708c], 0
jne 0x180050e9b
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.18003b9b0
mov r13d, 1
lea rcx, [rbp + 0xe60]
call fcn.1800332f0
mov rdi, qword [0x1800d6f10]
test rdi, rdi
jne 0x180050edd
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180050ed4
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180050ed6
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180018230
test eax, eax
jne 0x180050f2b
test rdi, rdi
jne 0x180050f18
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180050f0f
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180050f11
xor edi, edi
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016ae0
test eax, eax
jne 0x180050f2b
xor edi, edi
lea eax, [rdi + 1]
jmp 0x180050f32
mov eax, 1
mov edi, eax
cmp dword [0x1800d331c], 0
jne 0x180050f3f
xor ecx, ecx
jmp 0x180050f66
cmp dword [0x1800d331c], 1
jne 0x180050f4c
mov ecx, eax
jmp 0x180050f66
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
xor eax, eax
test ecx, ecx
setne al
mov dword [0x1800d331c], eax
test edi, ecx
je 0x180051024
lea rcx, [rsp + 0x50]
call fcn.180033230
nop
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180033e40
xor edx, edx
nop dword [rax + rax]
lea rax, [0x1800a8438]
movzx eax, byte [rdx + rax]
cmp byte [rsp + rdx + 0x78], al
jne 0x180050fc4
inc rdx
cmp rdx, 9
jl 0x180050f90
lea rdx, str..xls
mov rcx, rsi
call fcn.18002f130
test rax, rax
mov edx, 1
cmovne ebx, edx
mov rax, qword [rbp + 0x180]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rbp + 0x180]
mov qword [rax + 8], rax
mov qword [rbp + 0x188], 0
mov rax, qword [rbp + 0x180]
cmp rcx, rax
je 0x18005100a
mov rdi, qword [rcx]
call fcn.18007a7a4
mov rcx, rdi
mov rax, qword [rbp + 0x180]
cmp rdi, rax
jne 0x180050ff3
mov rcx, rax
call fcn.18007a7a4
cmp qword [rsp + 0x68], 8
jb 0x180051024
mov rcx, qword [rsp + 0x50]
call fcn.18007a7a4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x3130]
mov r8, r15
mov rdx, r12
mov rcx, rsi
call qword [0x1800d9718]
mov edi, eax
test eax, eax
je 0x1800511f2
mov eax, dword [0x1800d331c]
test eax, eax
je 0x180051091
cmp eax, 1
je 0x1800510d9
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
test ecx, ecx
je 0x180051087
mov r15d, 1
mov dword [0x1800d331c], r15d
jmp 0x1800510df
mov dword [0x1800d331c], 0
mov rdx, rsi
mov rcx, r14
call fcn.1800388c0
test eax, eax
mov r15d, 1
cmovne ebx, r15d
mov eax, dword [0x1800d331c]
test eax, eax
je 0x1800511b9
cmp eax, r15d
je 0x1800510df
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
test ecx, ecx
je 0x18005118d
mov dword [0x1800d331c], r15d
jmp 0x1800510df
mov r15d, 1
mov rax, qword [0x1800d70d0]
test rax, rax
jne 0x18005110d
lea ecx, [rax + 0x38]
call fcn.18007b11c
mov qword [rsp + 0x38], rax
test rax, rax
je 0x180051106
mov rcx, rax
call fcn.180064640
nop
mov qword [0x1800d70d0], rax
mov rdx, r12
mov rcx, rax
call fcn.180064c30
test eax, eax
cmovne ebx, r15d
mov eax, dword [0x1800d331c]
test eax, eax
je 0x1800511b9
cmp eax, 1
je 0x180051149
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
test ecx, ecx
je 0x18005118d
mov dword [0x1800d331c], r15d
cmp qword [r14 + 0x898], 0
je 0x180051199
mov rdx, rsi
mov rcx, r14
call fcn.180038860
test eax, eax
cmovne ebx, r15d
mov eax, dword [0x1800d331c]
test eax, eax
je 0x1800511b9
cmp eax, 1
je 0x180051199
call fcn.180011f40
xor ecx, ecx
cmp eax, 2
sete cl
test ecx, ecx
je 0x18005118d
mov dword [0x1800d331c], r15d
jmp 0x180051199
mov dword [0x1800d331c], 0
jmp 0x1800511b9
call fcn.18006e940
mov rcx, rax
call fcn.18006eab0
test eax, eax
je 0x1800511b9
mov rdx, rsi
mov rcx, r14
call fcn.180038860
test eax, eax
jne 0x1800511bd
test ebx, ebx
je 0x1800511f0
test r13d, r13d
jne 0x1800511f0
lea rcx, [rbp + 0x3f0]
call fcn.18003aba0
nop
xor edx, edx
lea rcx, [rbp + 0x3f0]
call fcn.18003f2f0
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x3f0]
call fcn.18003ad80
nop
mov eax, edi
mov rcx, qword [rbp + 0x30b0]
xor rcx, rsp
call fcn.18007a7c0
add rsp, 0x31c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret