Function at 0x140056700
Capabilities:
Create shortcut via ishelllink
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov r12d, r9d
mov r14, rdx
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057629
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x40], rax
lea rbx, str.bnBtYnNhcg
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.140031e00
mov rdi, 0xffffffffffffffff
test al, al
jne 0x14005678e
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140056774
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057634
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rbx, str.YXBjX3JjXXFmbXByYXNy
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.140031e00
test al, al
jne 0x1400567ea
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400567d0
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x14005763f
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rbx, str.cWZtcHJhc3JdY3BwbXA
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140031e00
test al, al
jne 0x140056840
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140056825
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x14005764a
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rbx, str.bWdiOyNqcw
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140031e00
test al, al
jne 0x14005689b
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140056880
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057655
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rbx, str.UUZFY3JEbWpiY3BOX3JmXWNwcG1wXWFtYmM7I1YkbWdiOyNqcw
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140031e00
test al, al
jne 0x1400568f1
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400568d6
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057660
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rbx, str.T3NjcHdHbHJjcGRfYWNdY3BwbXBdYW1iYzsjViRtZ2I7I2pz
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140031e00
test al, al
jne 0x14005694b
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140056930
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x14005766b
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rbx, str.QW1BcGNfcmNHbHFyX2xhY11jcHBtcF1hbWJjOyNWJG1nYjsjanM
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140031e00
test al, al
jne 0x1400569a1
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140056986
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140032190
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x40]
call fcn.14004beb0
nop
mov r8d, r12d
mov rdx, qword [rax]
lea rcx, [rsp + 0x58]
call fcn.140025c80
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400569f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057676
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rsi, [0x1401e3cf8]
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140031e00
test al, al
jne 0x140056a4b
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056a30
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057681
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.140031e00
test al, al
jne 0x140056a9b
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056a80
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.140032190
nop
mov r13, qword [rbp - 0x48]
lea rcx, [r13 - 0x18]
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x50]
call fcn.14004beb0
mov rbx, rax
mov r15, qword [rbp - 0x40]
add r15, 0xffffffffffffffe8
mov rcx, r15
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0xb8]
call fcn.14004beb0
nop
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x58]
mov rdx, rbx
mov rcx, rax
call fcn.140061650
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056b48
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056b67
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056b85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor eax, eax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x1401c8240]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1401c8250]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
js 0x14005734b
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ebx, eax
test eax, eax
jns 0x140056da2
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x58]
call fcn.14004beb0
nop
mov r9d, r12d
mov r8d, ebx
mov rdx, qword [rax]
lea rcx, [rsp + 0x38]
call fcn.140025c80
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056c3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x14005768c
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x80], rax
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140031e00
test al, al
jne 0x140056c8b
mov rax, rdi
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056c71
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x140057697
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140031e00
test al, al
jne 0x140056cdb
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056cc0
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140032190
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x68]
call fcn.14004beb0
mov rbx, rax
mov rcx, r15
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x60]
call fcn.14004beb0
nop
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x38]
mov rdx, rbx
mov rcx, rax
call fcn.140061650
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056d5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056d7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056d99
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
jmp 0x140057516
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ebx, eax
test eax, eax
jns 0x140056f85
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp - 8], rax
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x70]
call fcn.14004beb0
nop
mov r9d, r12d
mov r8d, ebx
mov rdx, qword [rax]
lea rcx, [rsp + 0x38]
call fcn.140025c80
nop
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056e1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x1400576a2
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x70], rax
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.140031e00
test al, al
jne 0x140056e6b
mov rax, rdi
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056e51
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x1400576ad
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x78], rax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.140031e00
test al, al
jne 0x140056eba
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140056ea0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.140032190
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [rbp + 0x80]
call fcn.14004beb0
mov rbx, rax
mov rcx, r15
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 8], rax
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x78]
call fcn.14004beb0
nop
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x38]
mov rdx, rbx
mov rcx, rax
call fcn.140061650
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056f3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056f5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056f7c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
jmp 0x140057516
lea rcx, [rbp + 0xc0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov r9, qword [r14]
mov ebx, 0x104
mov ecx, ebx
lea rax, [rbp + 0xc0]
cmp word [rax], 0
je 0x140056fb3
add rax, 2
sub rcx, 1
jne 0x140056fa3
mov rax, rbx
sub rax, rcx
test rcx, rcx
mov r10d, 0
cmove rax, r10
mov esi, 0x7ffffffe
je 0x140057015
mov rdx, rbx
sub rdx, rax
lea rcx, [rbp + 0xc0]
lea rcx, [rcx + rax*2]
je 0x140057006
mov eax, esi
sub r9, rcx
test rax, rax
je 0x140057006
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140057006
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140056fe5
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r10w
lea rdx, str..lnk
lea rcx, [rbp + 0xc0]
call qword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov rdx, qword [r14]
mov rcx, rbx
lea rax, [rbp + 0x2d0]
cmp word [rax], 0
je 0x140057053
add rax, 2
sub rcx, 1
jne 0x140057043
mov rax, rbx
sub rax, rcx
test rcx, rcx
mov r8d, 0
cmove rax, r8
mov r14d, 0x80070057
cmovne r14d, r8d
je 0x1400570bc
sub rbx, rax
lea rcx, [rbp + 0x2d0]
lea rcx, [rcx + rax*2]
je 0x1400570a3
sub rdx, rcx
test rsi, rsi
je 0x1400570a3
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400570a3
mov word [rcx], ax
add rcx, 2
dec rsi
sub rbx, 1
jne 0x140057085
lea rax, [rcx - 2]
test rbx, rbx
cmovne rax, rcx
mov word [rax], r8w
mov r14d, 0x8007007a
cmovne r14d, r8d
lea rdx, str..lnk
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x520]
mov rdx, qword [rdx]
call qword [rax + 0xa0]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x528]
mov rdx, qword [rdx]
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rbp + 0x530]
mov rdx, qword [rdx]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rbp - 0x38]
lea rdx, [0x1401c82a0]
call qword [rax]
test eax, eax
js 0x14005717b
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rbp + 0xc0]
call qword [rax + 0x30]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rbp + 0x2d0]
call qword [rax + 0x30]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
xor bl, bl
jmp 0x140057531
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x10], rax
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x88]
call fcn.14004beb0
nop
mov r9d, r12d
mov r8d, r14d
mov rdx, qword [rax]
lea rcx, [rsp + 0x40]
call fcn.140025c80
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400571d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x1400576b8
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea rbx, [0x1401e3cf8]
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.140031e00
test al, al
jne 0x14005722a
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x140057210
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x1400576c3
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x68], rax
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140031e00
test al, al
jne 0x14005727a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140057260
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140032190
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x18], rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x98]
call fcn.14004beb0
mov rbx, rax
mov rcx, r15
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x20], rax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x90]
call fcn.14004beb0
nop
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x40]
mov rdx, rbx
mov rcx, rax
call fcn.140061650
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057303
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057324
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057342
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x60]
jmp 0x140057516
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.14004beb0
nop
mov r9d, r12d
mov r8d, ebx
mov rdx, qword [rax]
lea rcx, [rsp + 0x60]
call fcn.140025c80
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400573a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x1400576ce
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x50], rax
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140031e00
test al, al
jne 0x1400573fa
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400573e0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140032190
nop
call fcn.140031bd0
mov rcx, rax
test rax, rax
je 0x14005761e
mov rax, qword [rax]
call qword [rax + SafeArrayPutElement]
add rax, 0x18
mov qword [rbp - 0x58], rax
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.140031e00
test al, al
jne 0x14005744a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140057430
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.140032190
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0xb0]
call fcn.14004beb0
mov rbx, rax
mov rcx, r15
call fcn.1400318c0
add rax, 0x18
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0xa8]
call fcn.14004beb0
nop
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x60]
mov rdx, rbx
mov rcx, rax
call fcn.140061650
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400574d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400574f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057512
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005752f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov bl, 1
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057550
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005756f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005758e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400575ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400575cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, edi
lock xadd dword [r13 - 8], eax
sub eax, 1
jg 0x1400575e8
mov rcx, qword [r13 - 0x18]
mov rax, qword [rcx]
lea rdx, [r13 - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [r15 + 0x10], edi
sub edi, 1
jg 0x140057600
mov rcx, qword [r15]
mov r8, qword [rcx]
mov rdx, r15
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, bl
mov rbx, qword [rsp + 0x638]
add rsp, 0x5e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
nop
mov ecx, 0x80004005
call fcn.140032160
int3