Function at 0x1400125d0
Capabilities:
Delete file
Get common file path

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140298ad8]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r15, rcx
call fcn.14003da88
mov r13, qword [rax + 8]
call fcn.14002d140
mov rcx, rax
xor r14d, r14d
mov edx, r14d
test rax, rax
setne dl
test edx, edx
jne 0x14001263e
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.__xml_version_1.0__encoding_UTF_8____n
test rdx, 0xffffffffffff0000
jne 0x14001267e
movzx ebx, dx
mov ecx, ebx
call fcn.14003e9c8
test rax, rax
je 0x14001268f
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140005050
jmp 0x14001268f
mov r8d, 0x27
lea rcx, [rsp + 0x40]
call fcn.1400016b0
nop
lea r8, [r13 + 0x3a0]
lea rdx, str._CERInfo_ClientVersion_
lea rcx, [rbp - 0x48]
call fcn.140004c10
nop
lea r8, [0x140247ae0]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140004dc0
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
lock add dword [rdx + 0x10], esi
jg 0x1400126e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012701
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, r13
lea rdx, [rbp - 0x70]
call fcn.1400102b0
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012738
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r15 + 8]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x10]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x48]
mov r8d, dword [rdx - 0x10]
test r8d, r8d
je 0x140012773
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x30]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x38]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
call fcn.14002d140
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400127c8
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
mov rdx, qword [r13 + 0x2b0]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
test r8d, r8d
jne 0x1400127f9
mov rdx, qword [r13 + 0x1f0]
mov r8d, dword [rdx - 0x10]
call fcn.140004e90
lea rdx, [r13 + 0x1f8]
lea rcx, [rbp - 0x58]
call fcn.1400237b0
nop
mov r8, rax
lea rdx, str._AppCDATA____CDATA_
lea rcx, [rbp - 0x80]
call fcn.140004c10
nop
lea r8, str._____AppCDATA__n
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140004dc0
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012862
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001287b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012893
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r15 + 0x20]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x18]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x28]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x80]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x88]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov rdx, qword [r15 + 0x90]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e90
mov r8d, 0xa
lea rdx, str.__CERInfo_
lea rcx, [rsp + 0x40]
call fcn.140004e90
lea rdx, [rbp]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [rsp + 0x48], eax
call fcn.14002d140
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x140012952
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
lea rcx, [rbp]
lea rax, [rbp]
test rax, 0xffffffffffff0000
jne 0x1400129a1
movzx edi, cx
mov ecx, edi
call fcn.14003e9c8
test rax, rax
je 0x140012a9a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140005050
mov rbx, qword [rsp + 0x50]
jmp 0x140012a9a
lea rax, [rbp]
mov rdi, rsi
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400129b0
test edi, edi
jne 0x140012a1a
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140012a9a
cmp dword [rdx + 0x10], 0
jge 0x1400129f3
cmp dword [rbx - 0xc], 0
jge 0x1400129e6
mov ecx, 0x80070057
call fcn.140001910
int3
mov dword [rbx - 0x10], r14d
mov word [rbx], r14w
jmp 0x140012a9a
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012a03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
jmp 0x140012a9a
mov r12d, dword [rbx - 0x10]
lea r14, [rbp]
sub r14, rbx
sar r14, 1
test edi, edi
jns 0x140012a37
mov ecx, 0x80070057
call fcn.140001910
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140012a59
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140001650
mov rbx, qword [rsp + 0x50]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r14, r12
lea r12, [rax + rax]
mov r9, r12
ja 0x140012a7d
lea r8, [rbx + r14*2]
call fcn.1401aefb8
jmp 0x140012a86
lea r8, [rbp]
call fcn.1401aef30
cmp edi, dword [rbx - 0xc]
jg 0x140012d1d
mov dword [rbx - 0x10], edi
xor r14d, r14d
mov word [r12 + rbx], r14w
mov eax, dword [rsp + 0x48]
dec eax
cmp eax, 0x103
ja 0x140012ccd
lea r8, str.dmpuserinfo.xml
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.140004dc0
nop
mov rdx, rax
lea rcx, [r15 + 0x68]
call fcn.1400017a0
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012ae6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x60]
call fcn.14002de90
lea rax, vtable.CFileException.0
mov qword [rsp + 0x60], rax
call fcn.14002d140
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x140012b1c
mov ecx, 0x80004005
call fcn.140001910
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x74], esi
lea rcx, [rsp + 0x78]
call fcn.1400014d0
nop
mov rbx, qword [rsp + 0x40]
mov r14d, dword [rbx - 0x10]
mov dword [rsp + 0x48], r14d
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
cmp eax, r14d
cmovl edi, r14d
movsxd rcx, edi
call fcn.14002a3e4
mov r14, rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
mov edi, dword [rsp + 0x48]
mov r9d, edi
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x58], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x48], eax
lea rcx, [rbp - 0x38]
call fcn.14003c850
nop
lea r9, [rsp + 0x60]
mov r8d, 0x1011
mov rdx, qword [r15 + 0x68]
lea rcx, [rbp - 0x38]
call fcn.14003ce6c
test eax, eax
je 0x140012c8a
lea rcx, [rbp - 0x38]
cmp dword [rsp + 0x48], 0
jne 0x140012c05
mov r8d, dword [rsp + 0x58]
mov rdx, r14
jmp 0x140012c0b
mov r8d, edi
mov rdx, rbx
call fcn.14003d1b0
lea rcx, [rbp - 0x38]
call fcn.14003cb24
mov rcx, r14
call fcn.14002a3dc
lea r8, str.dumpdata.zip
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x78]
call fcn.140004dc0
nop
mov rdx, rax
lea rcx, [r15 + 0x60]
call fcn.1400017a0
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012c5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r15 + 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rax, [r13 + 0x3c0]
lea r9, [r13 + 0x1c0]
mov qword [rsp + 0x20], rax
lea r8, [r15 + 0x68]
lea rdx, [r15 + 0x60]
call fcn.140011da0
mov edi, eax
jmp 0x140012c97
mov rcx, r14
call fcn.14002a3dc
mov edi, VarBstrFromDisp
lea rcx, [rbp - 0x38]
call fcn.14003c8a0
nop
lea rax, vtable.CFileException.0
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012cc6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
jmp 0x140012cd2
mov edi, reloc.OLEAUT32.dll_LoadRegTypeLib
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012ce7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012d00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140012d19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, edi
jmp 0x140012d28
mov ecx, 0x80070057
call fcn.140001910
nop
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1401aef10
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret