Function at 0x14000d020
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x150
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x140030020]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rbp, rdx
mov rdi, rcx
xor r12d, r12d
mov qword [rsp + 0x20], r12
call fcn.14000ea00
mov esi, eax
test eax, eax
jns 0x14000d0d2
cmp dword [rbp], r12d
jne 0x14000d077
mov dword [rbp], 0x80
mov r8d, eax
lea rdx, str.PollData:_GetXMLData_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d0b6
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rax
mov rcx, rdi
call fcn.140011fd0
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
jmp 0x14000d63f
mov rdx, rbp
mov rcx, rdi
call fcn.14000fa10
mov esi, eax
test eax, eax
jns 0x14000d1bb
mov r8d, eax
lea rdx, str.PollData:_ParseXMLData_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d126
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rax
mov rcx, rdi
call fcn.140011fd0
mov r11d, dword [rbp]
bt r11d, 9
jb 0x14000d151
bt r11d, 8
jb 0x14000d151
test r11d, r11d
jne 0x14000d1ab
mov dword [rbp], 0x80
jmp 0x14000d1ab
mov qword [rsp + 0x30], r12
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0xf0]
test eax, eax
js 0x14000d187
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000d187
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14000d1ab
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
jmp 0x14000d63f
mov dword [rsp + 0x28], r12d
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x14000d5de
mov rax, qword [rcx]
lea rdx, [rsp + 0x28]
call qword [rax + 0x40]
mov esi, eax
cmp dword [rsp + 0x28], 0
je 0x14000d5de
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, str.PollData:_ParseXMLData_succeeded.
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d212
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rax
mov rcx, rdi
call fcn.140011fd0
mov rcx, qword [rdi + 8]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14000d235
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test esi, esi
js 0x14000d247
mov rcx, rdi
call fcn.14000d7f0
mov esi, eax
test eax, eax
jns 0x14000d2a7
or dword [rbp], 0x80
mov r8d, esi
lea rdx, str.PollData:_CheckMaintenancePatch_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
lea r11, [rsp + 0x40]
cmp r11, rbx
je 0x14000d298
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d298
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
test esi, esi
js 0x14000d2b5
mov rcx, rdi
call fcn.14000dfe0
mov esi, eax
test eax, eax
jns 0x14000d315
or dword [rbp], 0x80
mov r8d, esi
lea rdx, str.PollData:_CheckExtensions_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
lea r11, [rsp + 0x40]
cmp r11, rbx
je 0x14000d306
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d306
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
test esi, esi
js 0x14000d369
mov rcx, rdi
call fcn.14000c8b0
mov esi, eax
test eax, eax
js 0x14000d369
lea r12, str.PollData:_LoadExistingChannelsAndContents___succeeded
cmp r12, rbx
je 0x14000d359
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d359
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
jmp 0x14000d3fb
cmp qword [rdi + 0x18], 0
jne 0x14000d3b3
lea rsi, str.PollData:_No_existing_data_yet
cmp rsi, rbx
je 0x14000d3a6
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d3a6
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
jmp 0x14000d3ff
lea r12, str.PollData:_LoadExistingChannelsAndContents___failed
cmp r12, rbx
je 0x14000d3e9
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d3e9
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
or dword [rbp], 0x80
test esi, esi
js 0x14000d410
mov rdx, rbp
mov rcx, rdi
call fcn.14000cf70
mov esi, eax
test eax, eax
jns 0x14000d470
or dword [rbp], 0x80
mov r8d, esi
lea rdx, str.PollData:_CompareData_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
lea r11, [rsp + 0x40]
cmp r11, rbx
je 0x14000d461
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d461
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
test esi, esi
js 0x14000d47e
mov rcx, rdi
call fcn.14000e710
mov esi, eax
test eax, eax
jns 0x14000d4de
or dword [rbp], 0x80
mov r8d, esi
lea rdx, str.PollData:_UpdateData_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
lea r11, [rsp + 0x40]
cmp r11, rbx
je 0x14000d4cf
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d4cf
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
test esi, esi
js 0x14000d4ec
mov rcx, rdi
call fcn.14000c7f0
mov esi, eax
test eax, eax
jns 0x14000d54c
or dword [rbp], 0x80
mov r8d, esi
lea rdx, str.PollData:_PersistData_failed__hr_x
lea rcx, [rsp + 0x40]
call fcn.140014570
lea r11, [rsp + 0x40]
cmp r11, rbx
je 0x14000d53d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d53d
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
test esi, esi
js 0x14000d58f
lea rbp, str.PollData:_PollData_Succeeded.
cmp rbp, rbx
je 0x14000d582
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rbp
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d582
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
jmp 0x14000d5d1
lea rbp, str.PollData:_PollData_failed.
cmp rbp, rbx
je 0x14000d5c5
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rbp
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d5c5
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rbx
mov rcx, rdi
call fcn.140011fd0
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
jmp 0x14000d63f
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, str.PollData:_get_0_channel.
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x14000d60b
mov ecx, 0x8007000e
call fcn.140002460
int3
mov rdx, rax
mov rcx, rdi
call fcn.140011fd0
cmp qword [rdi + 0x20], 0
je 0x14000d631
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x14000d631
mov qword [rdi + 0x20], r12
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, 0x80004005
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14001fb00
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret