Function at 0x140016960
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa40
mov qword [rax - 0x528], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1401bee90]
xor rax, rsp
mov qword [rsp + 0xa30], rax
mov r13, rcx
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rcx + 0xf0]
cmp dword [rcx - 0x10], 0
je 0x140018df1
add rcx, 0xffffffffffffffe8
call fcn.140002540
add rax, 0x18
mov qword [rsp + 0x30], rax
mov eax, dword [0x1401c6d80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 1
jne 0x140016a03
lea edx, [rcx + 0x5f]
lea r8d, [rcx + 0x60]
lea rcx, [0x140144adc]
call fcn.1400cd1bc
lea rax, [rsp + 0x98]
mov qword [rsp + 0x140], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rdx, str.8db5b7bba6a9bfb28b
test rdx, 0xffffffffffff0000
jne 0x140016a64
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140016a78
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.1400026e0
jmp 0x140016a78
mov r8d, 0x12
lea rcx, [rsp + 0x98]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x198]
call fcn.14002a540
nop
mov r8, qword [r13 + 0x98]
mov rdx, qword [rax]
lea rcx, [rsp + 0x30]
call fcn.14000f0e0
nop
mov rdx, qword [rsp + 0x198]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
lock add dword [rdx + 0x10], edi
jg 0x140016ac2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x530]
call fcn.140028c50
mov r12, rax
lea rcx, [0x1401be9a8]
mov rdx, qword [0x1401be9a8]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x90], rbx
lea r8, [0x140146378]
test r8, 0xffffffffffff0000
jne 0x140016b2a
movzx ebx, r8w
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140016b22
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400026e0
xor esi, esi
lea r14d, [rsi + 1]
jmp 0x140016ba9
mov r15d, dword [rbx - 0x10]
mov rsi, r8
sub rsi, rbx
sar rsi, 1
mov r14d, 1
mov ecx, r14d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 2
or eax, ecx
jge 0x140016b6d
lea edx, [r14 + 1]
lea rcx, [rsp + 0x90]
call fcn.1400024e0
mov rbx, qword [rsp + 0x90]
lea r8, [0x140146378]
movsxd rdx, dword [rbx - 0xc]
mov r9d, 4
mov rcx, rbx
add rdx, rdx
cmp rsi, r15
ja 0x140016b8d
lea r8, [rbx + rsi*2]
call fcn.1400cd0d4
jmp 0x140016b92
call fcn.1400cd294
cmp dword [rbx - 0xc], 2
jl 0x140018de6
mov dword [rbx - 0x10], 2
xor esi, esi
mov word [rbx + 4], si
lea r8, [0x140146370]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1a8]
call fcn.14001b610
nop
mov r8, r12
mov rdx, rax
lea rcx, [rsp + 0x430]
call fcn.14000f540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140010000
nop
mov rdx, qword [rsp + 0x430]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016c09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016c26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016c43
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x530]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016c5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [0x1401c6d80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 8
jne 0x140016cc9
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x141
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1400cbef8
mov rcx, rax
call fcn.1400cd9ec
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14002f1a0
nop
mov eax, dword [0x1401c6d80]
mov ecx, eax
imul ecx, eax
imul ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 2
jne 0x140016d5b
mov ecx, 0x28
call fcn.1400cbef8
mov r15, rax
mov rbx, rsi
call fcn.1400cd268
add eax, dword [0x1401c6d80]
mov dword [r15 + rbx*4], eax
inc rbx
cmp rbx, 0xa
jl 0x140016d31
mov ecx, dword [r15 + 0x24]
mov dword [0x1401c6d80], ecx
mov rcx, r15
call fcn.1400cd9ec
lea rcx, [rsp + 0x1b8]
call fcn.14002a920
nop
mov rdx, qword [rax]
mov eax, esi
test rdx, rdx
setne al
test eax, eax
jne 0x140016d83
mov ecx, 0x80004005
call fcn.140001920
int3
mov rax, qword [rsp + 0x38]
sub rdx, rax
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x140016da6
add rax, 2
test cx, cx
jne 0x140016d90
mov eax, esi
jmp 0x140016dab
sbb eax, eax
or eax, 1
test eax, eax
sete bl
mov rdx, qword [rsp + 0x1b8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016dcc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140016f83
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xc0], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa9be828286a4938783938582a9
test rdx, 0xffffffffffff0000
jne 0x140016e35
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140016e49
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.1400026e0
jmp 0x140016e49
mov r8d, 0x3e
lea rcx, [rsp + 0xa8]
call fcn.1400023f0
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x4c0]
call fcn.14002a540
mov rbx, rax
lea rcx, [0x1401be9a8]
mov rdx, qword [0x1401be9a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x130], rax
mov r8, rbx
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x1c8]
call fcn.140022810
nop
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsp + 0x440]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rdx, qword [rsp + 0x440]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016ed6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016ef3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016f10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x4c0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016f2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016f47
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 0x140016f61
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140018df1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
mov rax, qword [rsp + 0x38]
cmp dword [rax - 0x10], 0
jne 0x1400170f1
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xc0], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa9858284bc859998a9939b86828f
test rdx, 0xffffffffffff0000
jne 0x140016ff3
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140017007
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1400026e0
jmp 0x140017007
mov r8d, 0x40
lea rcx, [rsp + 0xa0]
call fcn.1400023f0
nop
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x450]
call fcn.14002a540
mov rbx, rax
lea rcx, [0x1401be9a8]
mov rdx, qword [0x1401be9a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x120], rax
mov r8, rbx
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x1d8]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001707e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001709b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x450]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400170b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400170d2
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 0x1400170ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140016f61
lea rax, [rsp + 0x6d8]
mov qword [rsp + 0x6d0], rax
mov r8d, 3
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x6d0]
call fcn.14001bc40
nop
mov qword [rsp + 0x6c0], rsi
mov qword [rsp + 0x6c8], rsi
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
mov rdx, qword [rsp + 0x6d0]
cmp byte [rdx], 0
jne 0x140017158
mov r8, rsi
jmp 0x14001716a
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140017160
lea rcx, [rsp + 0x6b0]
call fcn.1400013f0
nop
lea rcx, [rsp + 0x760]
call fcn.1400352a0
nop
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.14003a020
nop
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x6b0]
lea rcx, [rsp + 0x760]
call fcn.140035350
test al, al
jne 0x1400173a8
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x688], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa98697848593a99384849984
lea rcx, [rsp + 0x1e8]
call fcn.140002240
nop
mov rdx, rax
lea rcx, [rsp + 0x208]
call fcn.14002a540
mov rbx, rax
lea rcx, [0x1401be9a8]
mov rdx, qword [0x1401be9a8]
call qword [rdx + 0x18]
mov qword [rsp + 0x550], rax
lea rcx, [rax + 0x18]
mov qword [rsp + 0xe0], rcx
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x500]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rcx, qword [rsp + 0x500]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x1f8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017264
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xe0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x460], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017291
mov rdx, qword [rsp + 0x460]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x208]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4d0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400172be
mov rdx, qword [rsp + 0x4d0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x1400172ef
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140017326
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x218], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017350
mov rdx, qword [rsp + 0x218]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x470], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001737a
mov rdx, qword [rsp + 0x470]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x228], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x1400173a3
mov rdx, qword [rsp + 0x228]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, [0x140146488]
lea rcx, [rsp + 0x118]
call fcn.140003450
nop
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x3b8]
call fcn.140029640
mov qword [rsp + 0x610], rax
mov rdx, qword [rax]
mov qword [rsp + 0x560], rdx
lea rcx, [rsp + 0x3a8]
call fcn.14001b1b0
mov qword [rsp + 0x670], rax
mov rdx, qword [rax]
mov qword [rsp + 0x570], rdx
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x620], rax
cmp byte [rax + 8], 4
setne byte [rsp + 0x49]
mov rcx, qword [rsp + 0x3a8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x238], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001744d
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x3b8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x248], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001747a
mov rdx, qword [rsp + 0x248]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x118]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3c8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400174a7
mov rdx, qword [rsp + 0x3c8]
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
cmp byte [rsp + 0x49], 0
je 0x140017681
mov r9d, dword [0x1401c6d80]
lea r8d, [r9 + 2]
lea ecx, [r9 + 1]
imul r8d, ecx
imul r8d, r9d
mov eax, 0x2aaaaaab
imul r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub r8d, eax
cmp r8d, 3
jne 0x140017502
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetMailslotInfo]
mov r9d, dword [0x1401c6d80]
mov ecx, r9d
imul ecx, r9d
imul ecx, r9d
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
cmp ecx, 0xa
jne 0x140017597
mov r10d, esi
mov dword [rsp + 0xd8], esi
cmp r10d, 0x100
jge 0x140017597
mov edx, r10d
mov dword [rsp + 0xdc], edx
mov r8d, esi
mov dword [rsp + 0xd4], esi
cmp r8d, 8
jae 0x140017580
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, r9d
mov eax, edx
sar eax, 1
mov edx, ecx
xor edx, eax
mov dword [rsp + 0xdc], edx
inc r8d
mov dword [rsp + 0xd4], r8d
jmp 0x140017552
add r9d, edx
mov dword [0x1401c6d80], r9d
inc r10d
mov dword [rsp + 0xd8], r10d
jmp 0x140017535
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x1400175c8
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x1400175ff
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x258], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017629
mov rdx, qword [rsp + 0x258]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3d8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017653
mov rdx, qword [rsp + 0x3d8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x268], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x14001767c
mov rdx, qword [rsp + 0x268]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, str._L_update_low_ver
lea rcx, [rsp + 0xf8]
call fcn.140003450
nop
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x3f8]
call fcn.140029640
mov qword [rsp + 0x580], rax
mov rdx, qword [rax]
mov qword [rsp + 0x6a0], rdx
lea rcx, [rsp + 0x3e8]
call fcn.14001b1b0
mov qword [rsp + 0x590], rax
mov rdx, qword [rax]
mov qword [rsp + 0x630], rdx
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x5a0], rax
mov rdx, qword [rax]
mov qword [rsp + 0x680], rdx
lea rcx, [rsp + 0x50]
call fcn.140003450
nop
mov rcx, qword [rsp + 0x3e8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x278], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017733
mov rdx, qword [rsp + 0x278]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x3f8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x288], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017760
mov rdx, qword [rsp + 0x288]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xf8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x408], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001778c
mov rdx, qword [rsp + 0x408]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x378], ecx
test ecx, ecx
jne 0x1400178b7
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x298], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400177cd
mov rdx, qword [rsp + 0x298]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x1400177fe
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140017835
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x418], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001785f
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2a8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017889
mov rdx, qword [rsp + 0x2a8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x428], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x1400178b2
mov rdx, qword [rsp + 0x428]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, [0x140146538]
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x5b0], rax
cmp byte [rax + 8], 4
je 0x1400179ee
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2b8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017904
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140017935
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x14001796c
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x438], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017996
mov rdx, qword [rsp + 0x438]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2c8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400179c0
mov rdx, qword [rsp + 0x2c8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x448], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x1400179e9
mov rdx, qword [rsp + 0x448]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, str.update_high_ver
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x640], rax
mov rdx, qword [rax]
mov qword [rsp + 0x5c0], rdx
lea rcx, [rsp + 0x58]
call fcn.140003450
nop
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x37c], ecx
test ecx, ecx
jne 0x140017b72
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2d8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017a5e
mov rdx, qword [rsp + 0x2d8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x458], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017a88
mov rdx, qword [rsp + 0x458]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140017ab9
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140017af0
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2e8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017b1a
mov rdx, qword [rsp + 0x2e8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x468], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017b44
mov rdx, qword [rsp + 0x468]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x2f8], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x140017b6d
mov rdx, qword [rsp + 0x2f8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, [0x140146558]
lea rcx, [rsp + 0x138]
call fcn.140003450
nop
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x488]
call fcn.140029640
mov qword [rsp + 0x698], rax
mov rdx, qword [rax]
mov qword [rsp + 0x5d0], rdx
lea rcx, [rsp + 0x478]
call fcn.14001b1b0
mov qword [rsp + 0x650], rax
mov rdx, qword [rax]
mov qword [rsp + 0x5e0], rdx
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x690], rax
cmp byte [rax + 8], 4
setne byte [rsp + 0x48]
mov rcx, qword [rsp + 0x478]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x308], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017c17
mov rdx, qword [rsp + 0x308]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x488]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x318], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017c44
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x138]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x498], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017c70
mov rdx, qword [rsp + 0x498]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x48], 0
je 0x140017db9
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x328], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017ca5
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4a8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017ccf
mov rdx, qword [rsp + 0x4a8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140017d00
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140017d37
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x338], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017d61
mov rdx, qword [rsp + 0x338]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4b8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017d8b
mov rdx, qword [rsp + 0x4b8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x348], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x140017db4
mov rdx, qword [rsp + 0x348]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, str._L_download_url
lea rcx, [rsp + 0x108]
call fcn.140003450
nop
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x4d8]
call fcn.140029640
mov qword [rsp + 0x5f0], rax
mov rdx, qword [rax]
mov qword [rsp + 0x660], rdx
lea rcx, [rsp + 0x4c8]
call fcn.14001b1b0
mov qword [rsp + 0x600], rax
mov rdx, qword [rax]
mov qword [rsp + 0x6a8], rdx
lea rcx, [rsp + 0x78]
call fcn.14003adf0
mov qword [rsp + 0x548], rax
mov rdx, qword [rax]
mov qword [rsp + 0x558], rdx
lea rcx, [rsp + 0x68]
call fcn.140003450
nop
mov rcx, qword [rsp + 0x4c8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x358], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017e6b
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x4d8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x368], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017e98
mov rdx, qword [rsp + 0x368]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x108]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4e8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017ec4
mov rdx, qword [rsp + 0x4e8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x398], ecx
test ecx, ecx
jne 0x140018043
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x148], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017f05
mov rdx, qword [rsp + 0x148]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4f8], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017f2f
mov rdx, qword [rsp + 0x4f8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x380], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017f59
mov rdx, qword [rsp + 0x380]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140017f8a
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140017fc1
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x508], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140017feb
mov rdx, qword [rsp + 0x508]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x390], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018015
mov rdx, qword [rsp + 0x390]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x518], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x14001803e
mov rdx, qword [rsp + 0x518]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rax, [rsp + 0x128]
mov qword [rsp + 0x568], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x578], rax
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x588], rcx
call fcn.140002540
mov qword [rsp + 0x598], rax
add rax, 0x18
mov qword [rsp + 0x128], rax
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5a8], rcx
call fcn.140002540
mov qword [rsp + 0x5b8], rax
add rax, 0x18
mov qword [rsp + 0xe8], rax
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0xe8]
mov rcx, r13
call fcn.140018f20
test al, al
jne 0x14001823f
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3a0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018101
mov rdx, qword [rsp + 0x3a0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x528], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001812b
mov rdx, qword [rsp + 0x528]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x538], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018155
mov rdx, qword [rsp + 0x538]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140018186
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x1400181bd
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x520], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400181e7
mov rdx, qword [rsp + 0x520]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3c0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018211
mov rdx, qword [rsp + 0x3c0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x480], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x14001823a
mov rdx, qword [rsp + 0x480]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
mov rax, qword [rsp + 0x68]
movzx ecx, word [rax]
cmp cx, word [0x140146584]
jne 0x14001826e
movzx ecx, word [rax + 2]
cmp cx, word [0x140146586]
jne 0x14001826e
movzx ecx, word [rax + 4]
cmp cx, word [0x140146588]
jne 0x14001826e
mov ecx, esi
jmp 0x140018273
sbb ecx, ecx
or ecx, 1
mov dword [rsp + 0x3b0], ecx
test ecx, ecx
sete cl
mov byte [rsp + 0x71], cl
test cl, cl
jne 0x140018a97
movzx ecx, word [rax]
cmp cx, word [0x14014658c]
jne 0x1400182b5
movzx ecx, word [rax + 2]
cmp cx, word [0x14014658e]
jne 0x1400182b5
movzx ecx, word [rax + 4]
cmp cx, word [0x140146590]
jne 0x1400182b5
mov eax, esi
jmp 0x1400182ba
sbb eax, eax
or eax, 1
mov dword [rsp + 0x158], eax
test eax, eax
sete al
mov byte [rsp + 0x70], al
test al, al
jne 0x140018a97
mov word [rsp + 0x820], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x822]
call fcn.1400d1cf0
lea rdx, [rsp + 0x820]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [rsp + 0x410], eax
test eax, eax
jne 0x140018566
lea rax, [rsp + 0x3d0]
mov qword [rsp + 0x5c8], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa9b19382a2939b86a697829ea9
lea rcx, [rsp + 0x3d0]
call fcn.140002240
nop
mov rdx, rax
lea rcx, [rsp + 0x510]
call fcn.14002a540
mov rbx, rax
lea rcx, [rsp + 0x490]
call fcn.140002200
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x4e0]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rcx, qword [rsp + 0x4e0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3e0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400183a4
mov rdx, qword [rsp + 0x3e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x490]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3f0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400183d1
mov rdx, qword [rsp + 0x3f0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x510]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x400], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400183fe
mov rdx, qword [rsp + 0x400]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4a0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018428
mov rdx, qword [rsp + 0x4a0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x150], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018452
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x160], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001847c
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x1400184ad
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x1400184e4
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x170], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001850e
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x180], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018538
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x190], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x140018561
mov rdx, qword [rsp + 0x190]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
lea rdx, [rsp + 0x820]
lea rcx, [rsp + 0x60]
call fcn.140002240
nop
mov rax, qword [rsp + 0x60]
mov edx, dword [rax - 0x10]
mov dword [rsp + 0x168], edx
lea ecx, [rdx - 1]
mov dword [rsp + 0x4f0], ecx
test ecx, ecx
js 0x140018a8c
mov dword [rsp + 0x178], edx
cmp ecx, edx
jg 0x140018a8c
movsxd rcx, ecx
movzx edx, word [rax + rcx*2]
mov word [rsp + 0xb0], dx
cmp dx, 0x5c
je 0x140018674
lea rdx, str._L__
lea rcx, [rsp + 0xf0]
call fcn.140002240
nop
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x1a0]
call fcn.140029640
mov qword [rsp + 0x5d8], rax
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x420], r8d
mov qword [rsp + 0x5e8], rdx
lea rcx, [rsp + 0x60]
call fcn.140010000
nop
mov rcx, qword [rsp + 0x1a0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x1b0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018643
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xf0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x1c0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001866f
mov rdx, qword [rsp + 0x1c0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x60]
lea rcx, [rax - 0x18]
mov qword [rsp + 0x5f8], rcx
call fcn.140002540
mov qword [rsp + 0x608], rax
add rax, 0x18
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0x1d0]
call fcn.140028c50
mov qword [rsp + 0x618], rax
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x188], r8d
mov qword [rsp + 0x628], rdx
lea rcx, [rsp + 0x60]
call fcn.140010000
nop
mov rcx, qword [rsp + 0x1d0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x1e0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400186fc
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x68]
call fcn.14002e060
test al, al
jne 0x1400189cf
mov r8d, dword [0x1401c6d80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
and ecx, 0x80000007
jge 0x140018738
dec ecx
or ecx, 0xfffffff8
inc ecx
cmp ecx, 7
jne 0x140018780
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1400cbef8
mov qword [rsp + 0x638], rax
mov rcx, rax
call fcn.1400cd9ec
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x648], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa9be828286a299b49f9897848fb09f9a93a4938783938582
lea rcx, [rsp + 0x1f0]
call fcn.140002240
nop
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.14002a540
mov rbx, rax
lea rcx, [rsp + 0x220]
call fcn.140002200
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rcx, qword [rsp + 0x200]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x210], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018813
mov rdx, qword [rsp + 0x210]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x220]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x230], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018840
mov rdx, qword [rsp + 0x230]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x240]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x250], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001886d
mov rdx, qword [rsp + 0x250]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xc8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x260], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x14001889a
mov rdx, qword [rsp + 0x260]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x270], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400188c4
mov rdx, qword [rsp + 0x270]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x280], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x1400188ee
mov rdx, qword [rsp + 0x280]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x290], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018918
mov rdx, qword [rsp + 0x290]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x50]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x2a0], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x140018942
mov rdx, qword [rsp + 0x2a0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140018973
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x1400189aa
call fcn.1400cd3f0
nop
lea rcx, [rsp + 0x38]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x40]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x30]
call fcn.1400022e0
jmp 0x140018df1
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.140019a00
nop
lea rcx, [rsp + 0xc8]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x68]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x58]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x50]
call fcn.1400022e0
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140018a50
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140018a87
call fcn.1400cd3f0
nop
jmp 0x140018d95
mov ecx, 0x80070057
call fcn.140001920
nop
lea rax, [rsp + 0x2b0]
mov qword [rsp + 0x658], rax
lea rdx, str.b59e93959db7838299a38692978293a3849aa983849aa99897a9909984a9838692978293
lea rcx, [rsp + 0x2b0]
call fcn.140002240
nop
mov rdx, rax
lea rcx, [rsp + 0x2f0]
call fcn.14002a540
mov rbx, rax
lea rcx, [0x1401be9a8]
mov rdx, qword [0x1401be9a8]
call qword [rdx + 0x18]
mov qword [rsp + 0x668], rax
lea rcx, [rax + 0x18]
mov qword [rsp + 0x100], rcx
mov r8, rbx
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x2c0]
call fcn.140022810
nop
mov rdx, rax
mov rcx, r13
call fcn.140014de0
nop
mov rcx, qword [rsp + 0x2c0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2d0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018b46
mov rdx, qword [rsp + 0x2d0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x100]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x2e0], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018b73
mov rdx, qword [rsp + 0x2e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x2f0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x300], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018b9f
mov rdx, qword [rsp + 0x300]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ecx, dword [0x1401c6d80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x30c30c31
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
sub r8d, edx
cmp r8d, 7
jne 0x140018c2c
mov dword [rsp + 0xb4], r14d
mov ecx, r14d
mov dword [rsp + 0xb8], ecx
mov edx, 0x46
mov dword [rsp + 0xd0], edx
mov dword [0x1401c6d80], esi
lea eax, [rdx - 2]
test eax, eax
js 0x140018c26
lea eax, [rcx + r14]
mov dword [rsp + 0x4b0], eax
mov r14d, ecx
mov dword [rsp + 0xb4], ecx
mov ecx, eax
mov dword [rsp + 0xb8], eax
dec edx
mov dword [rsp + 0xd0], edx
jmp 0x140018bf6
mov dword [0x1401c6d80], ecx
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x310], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018c56
mov rdx, qword [rsp + 0x310]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x320], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018c80
mov rdx, qword [rsp + 0x320]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x330], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018caa
mov rdx, qword [rsp + 0x330]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.14003a3b0
nop
lea rcx, [rsp + 0x760]
call fcn.140018e20
nop
cmp qword [rsp + 0x6c8], 0x10
jb 0x140018cdb
mov rcx, qword [rsp + 0x6b0]
call fcn.1400cc890
mov qword [rsp + 0x6c8], 0xf
mov qword [rsp + 0x6c0], rsi
mov byte [rsp + 0x6b0], 0
lea rax, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6d0]
cmp rcx, rax
je 0x140018d12
call fcn.1400cd3f0
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x340], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018d3c
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x350], rcx
lock add dword [rcx + 0x10], 0xffffffff
jg 0x140018d66
mov rdx, qword [rsp + 0x350]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x360], rax
lock add dword [rax + 0x10], 0xffffffff
jg 0x140018d8f
mov rdx, qword [rsp + 0x360]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140018df1
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140018db3
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
dec eax
jg 0x140018dd1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
jmp 0x140016f6f
mov ecx, 0x80070057
call fcn.140001920
nop
mov rcx, qword [rsp + 0xa30]
xor rcx, rsp
call fcn.1400cc8b0
lea r11, [rsp + 0xa40]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret