Function at 0x14001a330
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x768]
sub rsp, 0x840
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1401bee90]
xor rax, rsp
mov qword [rbp + 0x730], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x30], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, str.b693959e99d6999090fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a3da
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a3ea
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400026e0
jmp 0x14001a3ea
mov r8d, 0x16
lea rcx, [rbp - 0x48]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x28]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
lock add dword [rdx + 0x10], edi
jg 0x14001a425
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, [0x1401471c0]
test rdx, 0xffffffffffff0000
jne 0x14001a477
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a487
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400026e0
jmp 0x14001a487
mov r8d, 0x34
lea rcx, [rbp - 0x50]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x10]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a4bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea rdx, str.a5b3a2d6d997d69fcbc6fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a511
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a521
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400026e0
jmp 0x14001a521
mov r8d, 0x18
lea rcx, [rbp - 0x60]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x40]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a559
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, str.cca4b3a6b3b7a2fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a5ae
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a5bf
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400026e0
jmp 0x14001a5bf
mov r8d, 0x12
lea rcx, [rsp + 0x58]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x18]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a5f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, str.bfb0d6d39fd3cbcbc0c6d6b1b9a2b9d6b3b8b2fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a64a
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a65a
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1400026e0
jmp 0x14001a65a
mov r8d, 0x2a
lea rcx, [rbp - 0x68]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x30]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a692
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, str.b2b3bad6d3c7fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a6e7
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a6f8
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400026e0
jmp 0x14001a6f8
mov r8d, 0x10
lea rcx, [rsp + 0x68]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 8]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a731
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rdx, str.bfb0d6b8b9a2d6b3aebfa5a2d6d3c7d6b1b9a2b9d6b3b8b2fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a783
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a793
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400026e0
jmp 0x14001a793
mov r8d, 0x34
lea rcx, [rbp - 0x58]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x20]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a7cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, str.869f9891d6c7d8c7d8c7d8c7d6db98d6c7d6db81d6c7c6c6c6d6c8d698839afbfc
test rdx, 0xffffffffffff0000
jne 0x14001a820
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a831
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400026e0
jmp 0x14001a831
mov r8d, 0x42
lea rcx, [rsp + 0x78]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 8]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a86a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [0x1401c6d80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
xor r13d, r13d
cmp ecx, 5
jne 0x14001a8d3
mov ecx, r13d
lea rdx, [rbp + 0xd0]
nop word [rax + rax]
mov eax, dword [rdx]
imul eax, eax, 0x85
add r8d, eax
inc ecx
lea rdx, [rdx + 4]
movsxd rax, ecx
cmp rax, 0x234
jb 0x14001a8b0
mov dword [0x1401c6d80], r8d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.a5b3a2d6d997d69fcbd39fd3ddc7fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a928
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a939
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400026e0
jmp 0x14001a939
mov r8d, 0x20
lea rcx, [rsp + 0x40]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x28]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001a972
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, str.b1b9a2b9d6a4b3a6b3b7a2fbfc
test rdx, 0xffffffffffff0000
jne 0x14001a9c4
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001a9d4
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.1400026e0
jmp 0x14001a9d4
mov r8d, 0x1a
lea rcx, [rbp - 0x78]
call fcn.1400023f0
nop
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x18]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001aa0c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [0x140147428]
test rdx, 0xffffffffffff0000
jne 0x14001aa61
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001aa72
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1400026e0
jmp 0x14001aa72
mov r8d, 0xc
lea rcx, [rsp + 0x48]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x38]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001aaab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [0x140147448]
test rdx, 0xffffffffffff0000
jne 0x14001ab00
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001ab11
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400026e0
jmp 0x14001ab11
mov r8d, 0x10
lea rcx, [rsp + 0x50]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.14002a540
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140010000
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ab4a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov word [rbp + 0x310], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x312]
call fcn.1400d1cf0
mov r8d, 0x104
lea rdx, [rbp + 0x310]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
lea rcx, [rbp + 0x310]
lea rax, [rbp + 0x310]
mov r15d, 1
test rax, 0xffffffffffff0000
jne 0x14001abd9
movzx ebx, cx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001acce
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400026e0
jmp 0x14001acce
lea rax, [rbp + 0x310]
mov rsi, rdi
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14001abe3
test esi, esi
jne 0x14001ac4d
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14001acce
cmp dword [rdx + 0x10], 0
jge 0x14001ac26
cmp dword [rbx - 0xc], 0
jge 0x14001ac19
mov ecx, 0x80070057
call fcn.140001920
int3
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14001acce
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ac36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
jmp 0x14001acce
mov r12d, dword [rbx - 0x10]
lea r14, [rbp + 0x310]
sub r14, rbx
sar r14, 1
test esi, esi
jns 0x14001ac6d
mov ecx, 0x80070057
call fcn.140001920
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x14001ac8d
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.1400024e0
mov rbx, qword [rsp + 0x30]
movsxd rax, esi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r14, r12
lea r12, [rax + rax]
mov r9, r12
ja 0x14001acb1
lea r8, [rbx + r14*2]
call fcn.1400cd0d4
jmp 0x14001acbd
lea r8, [rbp + 0x310]
call fcn.1400cd294
cmp esi, dword [rbx - 0xc]
jg 0x14001b170
mov dword [rbx - 0x10], esi
mov word [rbx + r12], r13w
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov edx, r15d
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
dec ecx
or edx, ecx
jge 0x14001ad09
mov edx, r15d
lea rcx, [rsp + 0x60]
call fcn.1400024e0
mov rax, qword [rsp + 0x60]
mov ecx, 0x22
mov word [rax], cx
cmp dword [rax - 0xc], 1
jge 0x14001ad22
mov ecx, 0x80070057
call fcn.140001920
int3
mov dword [rax - 0x10], r15d
mov word [rax + 2], r13w
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.14000f540
nop
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.14001b7d0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ad65
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ad7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x40], rax
call fcn.1400cd268
mov r8d, eax
lea rdx, [0x140146dc4]
lea rcx, [rbp - 0x40]
call fcn.140011890
mov word [rbp + 0x520], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x522]
call fcn.1400d1cf0
mov r8d, dword [0x1401c6d80]
imul r8d, r8d
mov eax, 0x78787879
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x11
sub r8d, edx
cmp r8d, 0xb
jne 0x14001adfa
inc dword [0x1401c6f9c]
lea rdx, [rbp + 0x520]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x38], rax
lea r8, [rbp + 0x520]
lea rdx, [rbp - 0x38]
lea rcx, [rbp]
call fcn.14001b610
nop
lea r8, [rbp - 0x40]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.14000f540
nop
lea r8, [0x140147470]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14001b610
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ae79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001ae92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001aeaa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
mov rdx, qword [rsp + 0x20]
test rdx, rdx
je 0x14001aef6
test rdx, 0xffffffffffff0000
jne 0x14001aef6
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001af00
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14001bd70
jmp 0x14001af00
lea rcx, [rbp - 0x80]
call fcn.14001b230
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call fcn.14002c4b0
mov ebx, dword [0x1401c6d80]
lea ecx, [rbx + 2]
lea eax, [rbx + 1]
imul ecx, eax
imul ecx, ebx
mov eax, 0x30c30c31
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
sub ecx, edx
cmp ecx, 7
jne 0x14001af41
dec dword [0x1401c6f8c]
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400d1cf0
imul ebx, ebx
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ebx, edx
cmp ebx, 0xa
jne 0x14001af96
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov edx, dword [0x1401c6d80]
mov r8d, 7
test rax, rax
cmove edx, r8d
mov dword [0x1401c6d80], edx
mov dword [rbp + 0x60], 0x70
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [0x140147480]
test rdx, 0xffffffffffff0000
jne 0x14001aff2
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14001b003
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400026e0
jmp 0x14001b003
mov r8d, 8
lea rcx, [rsp + 0x70]
call fcn.1400023f0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.14002a540
nop
mov rax, qword [rax]
mov qword [rbp + 0x70], rax
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001b031
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x38]
mov edx, r15d
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
or ecx, edx
jge 0x14001b054
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400024e0
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x90], r13d
mov dword [rbp + 0x64], 0x440
mov rax, qword [rbp - 0x70]
sub r15d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
or ecx, r15d
jge 0x14001b085
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.1400024e0
mov rax, qword [rbp - 0x70]
mov qword [rbp + 0x80], rax
mov rax, qword [0x1401c7f28]
test rax, rax
jne 0x14001b0cf
lea rcx, [0x140147498]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x14001b0c3
lea rdx, [0x1401474b0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401c7f28], rax
jmp 0x14001b0ca
mov rax, qword [0x1401c7f28]
test rax, rax
je 0x14001b0d6
lea rcx, [rbp + 0x60]
call rax
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001b0ef
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 0x14001b109
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001b122
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001b13b
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 0x14001b155
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001b17b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14001b17b
mov ecx, 0x80070057
call fcn.140001920
nop
mov rcx, qword [rbp + 0x730]
xor rcx, rsp
call fcn.1400cc8b0
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret