Function at 0x140045b00
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
push rsi
push r12
sub rsp, 0x5c8
mov rax, qword [0x14008b5a0]
xor rax, rsp
mov qword [rsp + 0x590], rax
mov qword [r11 + 8], rbx
mov qword [r11 - 0x18], rbp
mov rbp, qword [rsp + 0x600]
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov r14d, r9d
mov rbx, r8
mov r13, rdx
lea edi, [r14 + r14 + 1]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x48], 0
add rdi, rdi
mov qword [rsp + 0x68], rbx
xor r12d, r12d
mov rcx, rdi
call fcn.14004c8b0
test rax, rax
mov rsi, rax
mov qword [rsp + 0x50], rax
jne 0x140045bcf
mov rax, qword [0x140080018]
lea rbx, [0x140080018]
cmp rax, rbx
je 0x1400468fb
test byte [rax + 0x3c], 1
je 0x1400468fb
cmp byte [rax + 0x39], 5
jb 0x1400468fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, FDICreate
call fcn.14003b5c0
jmp 0x1400468fb
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14004c980
test r14d, r14d
je 0x140045c1b
mov rdi, rbx
mov rbx, rsi
mov rsi, r14
nop
nop
movzx r9d, byte [rdi]
lea r8, str._02X
mov edx, 2
mov rcx, rbx
call fcn.14004d718
add rbx, 4
add rdi, 1
sub rsi, 1
jne 0x140045bf0
mov rsi, qword [rsp + 0x50]
mov rcx, qword [0x14008d4c8]
test rcx, rcx
je 0x140045d0a
test byte [rsp + 0x608], 8
jne 0x140045d0a
lea r8, [rsp + 0x150]
mov rdx, rsi
call fcn.140049bf0
test al, al
je 0x140045d0a
mov eax, dword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
mov r12d, dword [rsp + 0x154]
lea rcx, [rbp + 0x828]
mov r8d, 0x400
mov dword [rbp + 0x820], eax
call fcn.14004c838
mov rcx, qword [rsp + 0x160]
mov rax, qword [rcx]
mov qword [rbp + 0x1028], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x1030], rax
mov eax, dword [rsp + 0x168]
or dword [rbp + 0x824], eax
mov eax, dword [rbp + 0x824]
mov rcx, qword [0x140080018]
lea rbx, [0x140080018]
cmp rcx, rbx
je 0x1400468fb
test byte [rcx + 0x3c], 1
je 0x1400468fb
cmp byte [rcx + 0x39], 5
jb 0x1400468fb
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x820]
lea r8, [0x1400712a0]
mov r9d, r12d
mov dx, FDICreate
mov dword [rsp + 0x20], eax
call fcn.1400454f0
jmp 0x1400468fb
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x5a0], r15
call fcn.14004a870
lea rcx, [0x14008d478]
mov dword [rsp + 0x120], 2
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
lea rcx, [rsp + 0x380]
mov edx, 0x104
mov byte [rsp + 0x40], r12b
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x90], eax
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x380]
repne scasw ax, word [rdi]
mov rax, qword [str.System32CatRoot2dberr.txt]
lea rbx, [0x140080018]
mov qword [rdi - 2], rax
mov rax, qword [0x140071310]
lea rsi, [0x1400712b0]
mov qword [rdi + 6], rax
mov rax, qword [0x140071318]
mov qword [rdi + 0xe], rax
mov rax, qword [0x140071320]
mov qword [rdi + 0x16], rax
mov rax, qword [0x140071328]
mov qword [rdi + 0x1e], rax
mov rax, qword [0x140071330]
mov qword [rdi + 0x26], rax
mov rax, qword [0x140071338]
mov qword [rdi + 0x2e], rax
movzx eax, word [0x140071340]
mov word [rdi + 0x36], ax
xor edi, edi
xor r15d, r15d
mov dword [rsp + 0x60], edi
test r12d, r12d
jne 0x140046736
lea r8, [rsp + 0x98]
lea rcx, [rsp + 0x380]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x140045ead
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140045eb4
test byte [rcx + 0x3c], 1
je 0x140045eb4
cmp byte [rcx + 0x39], 5
jb 0x140045eb4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, FDIDestroy
call fcn.14003b5c0
mov rcx, qword [0x140080018]
jmp 0x140045eb4
mov rcx, qword [0x140080018]
test byte [rsp + 0x608], 8
je 0x140045f5c
cmp rcx, rbx
je 0x140045ee7
test byte [rcx + 0x3c], 1
je 0x140045ee7
cmp byte [rcx + 0x39], 2
jb 0x140045ee7
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, reloc.Cabinet.dll_FDICopy
call fcn.1400249f0
mov rax, qword [0x14008d4a8]
lea rcx, [rsp + 0x48]
xor r8d, r8d
mov rdx, rsi
call qword [rax]
test eax, eax
jne 0x140045f44
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x140045f3b
test byte [rax + 0x3c], 1
je 0x140045f3b
cmp byte [rax + 0x39], 5
jb 0x140045f3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, reloc.Cabinet.dll_FDIDestroy
call fcn.14003b5c0
xor ecx, ecx
mov qword [rsp + 0x48], rcx
jmp 0x140045f49
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x60], 2
mov r15d, 2
jmp 0x140045fe1
lea rax, [0x14008d4b0]
mov rcx, qword [rax + r15*8]
test rcx, rcx
mov qword [rsp + 0x48], rcx
jne 0x140045fda
mov rax, qword [0x14008d4a8]
movsxd rdx, edi
lea rcx, [rsp + 0x48]
shl rdx, 4
xor r8d, r8d
add rdx, rsi
call qword [rax]
test eax, eax
jne 0x140045fd5
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x140045fcc
test byte [rax + 0x3c], 1
je 0x140045fcc
cmp byte [rax + 0x39], 5
jb 0x140045fcc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x18
call fcn.14003b5c0
xor ecx, ecx
mov qword [rsp + 0x48], rcx
jmp 0x140045fda
mov rcx, qword [rsp + 0x48]
lea rsi, [0x1400814e0]
test rcx, rcx
je 0x14004655f
nop
nop
mov rdx, qword [rsp + 0x68]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rax, qword [0x14008d4a8]
mov r8d, r14d
call qword [rax + 0x20]
test rax, rax
mov rdi, rax
je 0x14004655a
mov rdx, qword [rsp + 0x58]
mov byte [rsp + 0x40], 1
test rdx, rdx
je 0x14004607c
mov rax, qword [0x14008d4a8]
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
call qword [rax + 0x10]
test eax, eax
jne 0x14004607c
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x14004607c
test byte [rax + 0x3c], 1
je 0x14004607c
cmp byte [rax + 0x39], 2
jb 0x14004607c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x19
call fcn.14003b5c0
xor eax, eax
lea rcx, [rsp + 0x170]
xor edx, edx
mov qword [rsp + 0xc0], rax
mov r8d, 0x20c
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0xc0], 0x40
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
call fcn.14004c980
mov rax, qword [0x14008d4a8]
lea rdx, [rsp + 0x170]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x170], 0x20c
call qword [rax + 0x18]
test eax, eax
je 0x1400466e3
lea rax, [rsp + 0x174]
mov dword [rsp + 0xf0], r14d
mov dword [rsp + 0x148], 0x1010
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x128], rax
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x14004618f
test byte [rcx + 0x3c], 1
je 0x14004618f
cmp byte [rcx + 0x39], 5
jb 0x14004618f
mov rcx, qword [rcx + 0x30]
lea r9, [rsp + 0x174]
lea r8, [0x1400712a0]
mov dx, 0x1b
call fcn.1400012a0
mov rax, qword [0x14008d4a8]
lea r8, [rsp + 0x100]
mov rdx, rsi
or rcx, 0xffffffffffffffff
call qword [rax + 0x30]
cmp eax, 0x800b0101
jg 0x1400463f2
cmp eax, 0x800b0101
je 0x14004645a
cmp eax, 0x80092026
je 0x14004645a
cmp eax, 0x80096001
je 0x1400463b7
cmp eax, 0x800b0001
je 0x140046318
cmp eax, 0x800b0004
je 0x1400462d9
cmp eax, 0x800b0100
je 0x140046318
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046228
test byte [rcx + 0x3c], 1
je 0x140046228
cmp byte [rcx + 0x39], 2
jb 0x140046228
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x24
mov dword [rsp + 0x20], eax
call fcn.14003b600
cmp qword [rsp + 0x138], 0
je 0x1400462bd
mov rax, qword [0x14008d4a8]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x150]
xor ecx, ecx
mov dword [rsp + 0x150], 0xaac56b
mov word [rsp + 0x154], 0xcd44
mov word [rsp + 0x156], 0x11d0
mov byte [rsp + 0x158], 0x8c
mov byte [rsp + 0x159], 0xc2
mov byte [rsp + 0x15a], 0
mov byte [rsp + 0x15b], 0xc0
mov byte [rsp + 0x15c], 0x4f
mov byte [rsp + 0x15d], 0xc2
mov byte [rsp + 0x15e], reloc.OLEAUT32.dll_SysAllocStringByteLen
mov byte [rsp + 0x15f], 0xee
mov dword [rsp + 0x130], 2
call qword [rax + 0x30]
test r12d, r12d
jne 0x140046629
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x140045ff0
jmp 0x1400466c3
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046305
test byte [rcx + 0x3c], 1
je 0x140046305
cmp byte [rcx + 0x39], 5
jb 0x140046305
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, 0x23
call fcn.1400249f0
and dword [rbp + 0x824], 0xfffffffd
or dword [rbp + 0x824], 1
jmp 0x140046228
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x800b0100
je 0x140046375
cmp eax, 0x800b0003
je 0x140046375
cmp eax, 0x800b0001
je 0x140046375
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x1400463a4
test byte [rcx + 0x3c], 1
je 0x1400463a4
cmp byte [rcx + 0x39], 5
jb 0x1400463a4
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x21
call fcn.1400012a0
and dword [rbp + 0x824], 0xfffffffd
or dword [rbp + 0x824], 1
jmp 0x140046228
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x1400463a4
test byte [rcx + 0x3c], 1
je 0x1400463a4
cmp byte [rcx + 0x39], 5
jb 0x1400463a4
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x20
call fcn.1400012a0
and dword [rbp + 0x824], 0xfffffffd
or dword [rbp + 0x824], 1
jmp 0x140046228
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x1400463e3
test byte [rcx + 0x3c], 1
je 0x1400463e3
cmp byte [rcx + 0x39], 5
jb 0x1400463e3
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, 0x1f
call fcn.1400249f0
mov dword [rbp + 0x820], 0xffffffff
jmp 0x140046228
cmp eax, 0x800b0109
jl 0x1400461f5
cmp eax, 0x800b010a
jle 0x14004645a
cmp eax, 0x800b010e
je 0x14004645a
cmp eax, 0x800b0111
je 0x14004641b
test eax, eax
je 0x14004645e
jmp 0x1400461f5
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046447
test byte [rcx + 0x3c], 1
je 0x140046447
cmp byte [rcx + 0x39], 5
jb 0x140046447
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, 0x22
call fcn.1400249f0
and dword [rbp + 0x824], 0xfffffffd
or dword [rbp + 0x824], 1
jmp 0x140046228
test eax, eax
jne 0x140046471
or dword [rbp + 0x824], 0x10
mov rcx, qword [0x140080018]
jmp 0x1400464f4
cmp eax, 0x800b0109
jne 0x1400464b1
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046529
test byte [rcx + 0x3c], 1
je 0x1400464f4
cmp byte [rcx + 0x39], 5
jb 0x1400464f4
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, 0x1c
call fcn.1400249f0
mov rcx, qword [0x140080018]
jmp 0x1400464f4
cmp eax, 0x800b010a
jne 0x1400464ed
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046529
test byte [rcx + 0x3c], 1
je 0x1400464f4
cmp byte [rcx + 0x39], 5
jb 0x1400464f4
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov dx, 0x1d
call fcn.1400249f0
mov rcx, qword [0x140080018]
jmp 0x1400464f4
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046529
test byte [rcx + 0x3c], 1
je 0x140046529
cmp byte [rcx + 0x39], 5
jb 0x140046529
mov eax, dword [rbp + 0x824]
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
and eax, 0x10
mov r9, r13
mov dx, 0x1e
mov dword [rsp + 0x20], eax
call fcn.14003b600
mov r8d, dword [rsp + 0x608]
lea rcx, [rsp + 0x100]
mov rdx, rbp
call fcn.14004aab0
and dword [rbp + 0x824], 0xfffffffe
or dword [rbp + 0x824], 2
mov r12d, 1
jmp 0x140046228
mov rcx, qword [rsp + 0x48]
cmp byte [rsp + 0x40], 0
jne 0x14004662e
lea r8, [rsp + 0x70]
lea rcx, [rsp + 0x380]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x1400465c8
mov rdi, qword [0x140080018]
cmp rdi, rbx
je 0x1400465cf
test byte [rdi + 0x3c], 1
je 0x1400465cf
cmp byte [rdi + 0x39], 2
jb 0x1400465cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x25
call fcn.14003b5c0
mov rdi, qword [0x140080018]
jmp 0x1400465cf
mov rdi, qword [0x140080018]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x98]
mov r8d, 0x24
call fcn.14004d650
test eax, eax
je 0x140046629
cmp rdi, rbx
je 0x140046618
test byte [rdi + 0x3c], 1
je 0x140046618
cmp byte [rdi + 0x39], 5
jb 0x140046618
mov rcx, qword [rdi + 0x30]
lea r9, [rsp + 0x380]
lea r8, [0x1400712a0]
mov dx, 0x26
call fcn.1400012a0
mov rcx, qword [rsp + 0x48]
mov dword [rbp + 0x820], 0xffffffff
jmp 0x14004662e
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400466c3
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14004669c
mov rax, qword [0x14008d4a8]
xor r8d, r8d
call qword [rax + 0x10]
test eax, eax
jne 0x14004668e
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x14004668e
test byte [rax + 0x3c], 1
je 0x14004668e
cmp byte [rax + 0x39], 2
jb 0x14004668e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x27
call fcn.14003b5c0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], 0
test rcx, rcx
je 0x1400466c3
lea rax, [0x14008d4b0]
cmp rcx, qword [rax + r15*8]
je 0x1400466c3
mov rax, qword [0x14008d4a8]
xor edx, edx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x48], 0
mov edi, dword [rsp + 0x60]
add r15, 1
add edi, 1
cmp edi, 2
mov dword [rsp + 0x60], edi
jge 0x140046736
lea rsi, [0x1400712b0]
jmp 0x140045e43
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x14004671f
test byte [rax + 0x3c], 1
je 0x14004671f
cmp byte [rax + 0x39], 2
jb 0x14004671f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x1a
call fcn.14003b5c0
lea rcx, [0x14008d478]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
lea rcx, [0x14008d478]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [rbp + 0x824], 1
je 0x1400467c4
mov rdx, r13
xor ecx, ecx
call sub.sfc.dll_SfcIsFileProtected
test eax, eax
je 0x140046795
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x140046789
test byte [rcx + 0x3c], 1
je 0x140046789
cmp byte [rcx + 0x39], 5
jb 0x140046789
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x28
call fcn.1400012a0
mov dword [rbp + 0x820], 0xffffffff
jmp 0x1400467c4
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x1400467c4
test byte [rcx + 0x3c], 1
je 0x1400467c4
cmp byte [rcx + 0x39], 5
jb 0x1400467c4
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x29
call fcn.1400012a0
mov rdi, qword [0x14008d4c8]
test rdi, rdi
je 0x1400468ee
cmp dword [rbp + 0x820], 0xffffffff
je 0x1400468e7
mov eax, dword [rbp + 0x824]
test eax, eax
je 0x1400468e0
test byte [rsp + 0x608], 8
jne 0x1400468d9
test al, 2
jne 0x14004687e
lea rcx, [rsp + 0x170]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x140046877
lea rcx, [rsp + 0x170]
mov r8d, eax
mov rdx, r13
call fcn.140038470
test eax, eax
jne 0x140046877
mov rcx, qword [0x140080018]
cmp rcx, rbx
je 0x1400468c4
test byte [rcx + 0x3c], 1
je 0x1400468d2
cmp byte [rcx + 0x39], 3
jb 0x1400468cb
mov eax, dword [rbp + 0x824]
mov rcx, qword [rcx + 0x30]
lea r8, [0x1400712a0]
mov r9, r13
mov dx, 0x2a
mov dword [rsp + 0x20], eax
call fcn.14003b600
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rdi, qword [0x14008d4c8]
mov r8d, dword [rbp + 0x824]
mov rsi, qword [rsp + 0x50]
mov r9d, dword [rbp + 0x820]
mov ecx, r8d
lea rax, [rbp + 0x1028]
lea rdx, [rbp + 0x828]
and ecx, 0x10
and r8d, 2
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov rdx, rsi
mov rcx, rdi
call fcn.140049b40
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
jmp 0x1400468f3
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x5a0]
cmp dword [rbp + 0x820], 0xffffffff
mov r14, qword [rsp + 0x5a8]
mov r13, qword [rsp + 0x5b0]
mov rdi, qword [rsp + 0x5b8]
jne 0x14004692c
mov dword [rbp + 0x824], 8
mov r12d, 1
mov rcx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x5c0]
test rcx, rcx
je 0x1400469bd
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400469a3
mov rax, qword [0x14008d4a8]
xor r8d, r8d
call qword [rax + 0x10]
test eax, eax
jne 0x140046995
mov rax, qword [0x140080018]
cmp rax, rbx
je 0x140046995
test byte [rax + 0x3c], 1
je 0x140046995
cmp byte [rax + 0x39], 2
jb 0x140046995
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x140080018]
lea r8, [0x1400712a0]
mov rcx, qword [rcx + 0x30]
mov r9d, eax
mov dx, 0x2b
call fcn.14003b5c0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], 0
test rcx, rcx
je 0x1400469bd
mov rax, qword [0x14008d4a8]
xor edx, edx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x48], 0
test rsi, rsi
mov rbx, qword [rsp + 0x5e0]
je 0x1400469d2
mov rcx, rsi
call fcn.14004ca6c
mov eax, r12d
mov rcx, qword [rsp + 0x590]
xor rcx, rsp
call fcn.14004c890
add rsp, 0x5c8
pop r12
pop rsi
ret