Function at 0x180005e40
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov qword [rsp + 0x158], 0xfffffffffffffffe
mov r14, r8
mov r12, rdx
mov r13, rcx
xor esi, esi
mov dword [rax - 0x120], esi
lea ebx, [rsi + 1]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, rbx
xor edx, edx
lea rcx, [rax - 0x60]
call fcn.180015f34
nop
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rsi
lea rax, vtable.myedit.0
mov qword [rsp + 0x58], rax
call fcn.180013664
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005edc
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
call fcn.180013664
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005f0d
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x80], rdi
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005f41
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005f72
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005fa3
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180005fd4
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180006008
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x180006039
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x138], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x18000606d
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
call fcn.180013664
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x18000609e
mov ecx, 0x80004005
call fcn.1800016d0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [r12], rax
mov dword [rsp + 0xa8], ebx
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.180001010
add rax, 0x18
mov qword [rsp + 0xc8], rax
xor r9d, r9d
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x58]
call fcn.180002210
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006159
cmp dword [rdi + 0x10], 0
jl 0x180006142
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180006142
call fcn.180001010
mov rbx, rax
or rsi, 0xffffffffffffffff
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18000612f
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x80], rax
mov ebx, 1
jmp 0x18000615d
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x80]
call fcn.180001370
or rsi, 0xffffffffffffffff
jmp 0x18000615d
or rsi, 0xffffffffffffffff
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000617f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.180001010
add rax, 0x18
mov qword [rsp + 0x150], rax
mov r9d, ebx
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x58]
call fcn.180002210
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x70]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006213
cmp dword [rdi + 0x10], 0
jl 0x180006204
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180006204
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800061f9
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x70], rax
jmp 0x180006213
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x70]
call fcn.180001370
nop
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006235
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.180001010
add rax, 0x18
mov qword [rsp + 0x130], rax
mov r9d, 2
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x58]
call fcn.180002210
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x68]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x1800062cc
cmp dword [rdi + 0x10], 0
jl 0x1800062bd
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1800062bd
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800062b2
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x68], rax
jmp 0x1800062cc
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x68]
call fcn.180001370
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800062ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.180001010
add rax, 0x18
mov qword [rsp + 0x148], rax
mov r9d, 3
lea r8, [rsp + 0x148]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x58]
call fcn.180002210
mov rcx, qword [rax]
call fcn.180026a58
mov dword [rsp + 0xb0], eax
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006357
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.https
mov rcx, qword [rsp + 0x80]
call fcn.1800263bc
test eax, eax
sete al
mov ecx, 0xa4a83000
mov r15d, 0x80080000
test al, al
cmovne r15d, ecx
xor edx, edx
mov rcx, r13
call fcn.180006ec0
mov rcx, r13
call fcn.180007040
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.180006d40
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x60]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006402
cmp dword [rdi + 0x10], 0
jl 0x1800063f3
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1800063f3
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800063e8
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x180006402
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.180001370
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006424
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0xd0]
mov rcx, r13
call fcn.180007290
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x50]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006493
cmp dword [rdi + 0x10], 0
jl 0x180006484
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180006484
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006479
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x180006493
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.180001370
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800064b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.cookie.txt
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800066f2
lea rdx, str.cookie.txt
lea rcx, [rsp + 0x160]
call fcn.1800014a0
mov r8, rax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x58]
call fcn.180003100
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x40]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180006553
cmp dword [rdi + 0x10], 0
jl 0x180006544
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180006544
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006539
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x180006553
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.180001370
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006575
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
cmp dword [rdi - 0x10], 0
jl 0x18000659f
lea rdx, str.cookie:
mov rcx, rdi
call fcn.180027120
test rax, rax
je 0x18000659f
sub eax, edi
cmp eax, 0xffffffff
jne 0x18000668a
cmp dword [rdi - 0x10], 0
jl 0x1800065c4
lea rdx, [0x180047b18]
mov rcx, rdi
call fcn.180027120
test rax, rax
je 0x1800065c4
sub eax, edi
cmp eax, 0xffffffff
jne 0x18000668a
cmp dword [rdi - 0x10], 0
jl 0x1800065e9
lea rdx, str.COOKIE:
mov rcx, rdi
call fcn.180027120
test rax, rax
je 0x1800065e9
sub eax, edi
cmp eax, 0xffffffff
jne 0x18000668a
lea r8, [rsp + 0x40]
lea rdx, str.Cookie:
lea rcx, [rsp + 0xe8]
call fcn.180005580
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x18000665c
cmp dword [rdi + 0x10], 0
jl 0x18000664d
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18000664d
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006642
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x18000665c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.180001370
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006685
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x18000668a
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi - 0x18]
mov rbx, qword [rsp + 0x50]
lea r13, [rbx - 0x18]
cmp rcx, r13
je 0x1800066f7
cmp dword [r13 + 0x10], 0
jl 0x1800066da
mov rax, qword [r13]
cmp qword [rcx], rax
jne 0x1800066da
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [r13 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800066cf
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 0x18
mov qword [rsp + 0x50], rbx
jmp 0x1800066f7
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.180001370
mov rbx, qword [rsp + 0x50]
jmp 0x1800066f7
mov rbx, qword [rsp + 0x50]
lea r14, [0x180047618]
mov qword [rsp + 0x20], r14
mov r9, r14
movzx r8d, word [rsp + 0xb0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x168]
call fcn.18001704c
mov qword [rsp + 0x128], rax
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0x38], r15d
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 1
xor r9d, r9d
mov r8, qword [rsp + 0x68]
lea edx, [rdi + 1]
mov rcx, rax
call fcn.1800171ac
mov r13, rax
mov qword [rsp + 0xc0], rax
mov r8d, 0x10000000
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180015e98
lea r8, [rsp + 0x78]
lea edx, [rdi + 0x1f]
mov rcx, r13
call fcn.1800156e8
mov eax, dword [rsp + 0x78]
or eax, 0x3380
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x20], edi
lea r9d, [rdi + 4]
lea r8, [rsp + 0x98]
lea edx, [rdi + 0x1f]
mov rcx, r13
call fcn.180015708
mov dword [rsp + 0x90], 0x2ee0
mov dword [rsp + 0x20], edi
lea r9d, [rdi + 4]
lea r8, [rsp + 0x90]
lea edx, [rdi + 2]
mov rcx, r13
call fcn.180015708
mov dword [rsp + 0xa0], 0x2ee0
mov dword [rsp + 0x20], edi
lea r9d, [rdi + 4]
lea r8, [rsp + 0xa0]
lea edx, [rdi + 6]
mov rcx, r13
call fcn.180015708
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, r13
call fcn.1800167c4
lea rdx, [rsp + 0x120]
mov rcx, r13
call fcn.1800157b0
xor r9d, r9d
lea r8, [rsp + 0x88]
lea edx, [rdi + 0x16]
mov rcx, r13
call fcn.180016920
mov rcx, qword [rsp + 0x88]
add rcx, 0xffffffffffffffe8
call fcn.180001010
add rax, 0x18
mov qword [rsp + 0xf8], rax
lea rdx, [rsp + 0xf8]
mov r15, qword [rsp + 0x1d0]
mov rcx, r15
call fcn.1800074b0
mov rcx, r15
call fcn.180007c00
xor eax, eax
mov rcx, rsi
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rbx, rcx
test ecx, ecx
jne 0x1800068f7
mov rdi, qword [rsp + 0x48]
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], eax
je 0x180006990
cmp dword [rdx + 0x10], eax
jge 0x1800068ca
cmp dword [rdi - 0xc], eax
jge 0x1800068c0
mov ecx, 0x80070057
call fcn.1800016d0
mov dword [rdi - 0x10], eax
mov byte [rdi], al
jmp 0x180006990
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800068e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
jmp 0x180006990
mov rdi, qword [rsp + 0x48]
mov r15d, dword [rdi - 0x10]
mov rdx, r14
sub rdx, rdi
mov qword [rsp + 0xb0], rdx
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x180006938
mov edx, ebx
lea rcx, [rsp + 0x48]
call fcn.180001670
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb0]
cmp rdx, r15
ja 0x180006955
movsxd r15, ebx
lea r8, [rdx + rdi]
movsxd rdx, dword [rdi - 0xc]
mov r9, r15
mov rcx, rdi
call fcn.180026194
jmp 0x18000696a
movsxd r15, ebx
movsxd rdx, dword [rdi - 0xc]
mov r9, r15
mov r8, r14
mov rcx, rdi
call fcn.1800260fc
test ebx, ebx
js 0x180006b58
cmp ebx, dword [rdi - 0xc]
jg 0x180006b58
mov dword [rdi - 0x10], ebx
mov byte [r15 + rdi], 0
mov r15, qword [rsp + 0x1d0]
nop dword [rax + rax]
lea rbx, [r15 + 0xf50]
mov rax, qword [r13]
mov r8d, 0x3e7
mov rdx, rbx
mov rcx, r13
call qword [rax + 0x68]
test eax, eax
jne 0x180006b07
lea rcx, [rdi - 0x18]
mov rbx, qword [r12]
sub rbx, 0x18
cmp rcx, rbx
je 0x180006a0f
cmp dword [rbx + 0x10], eax
jl 0x180006a00
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x180006a00
call fcn.180001010
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800069f1
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r12], rax
mov rdi, qword [rsp + 0x48]
jmp 0x180006a0f
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
mov rcx, r12
call fcn.180001370
mov r14d, 1
cmp r14d, r14d
jle 0x180006afa
lea r8, [0x180047b34]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x118]
call fcn.1800054b0
nop
mov r8, r12
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.180005400
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [r12]
sub rdi, 0x18
cmp rcx, rdi
je 0x180006aa9
cmp dword [rdi + 0x10], 0
jl 0x180006a9c
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180006a9c
call fcn.180001010
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006a92
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [r12], rax
jmp 0x180006aa9
mov r8d, dword [rdx - 0x10]
mov rcx, r12
call fcn.180001370
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006acc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006af5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x48]
jmp 0x180006afa
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x128]
jmp 0x180006b8a
cdqe
mov byte [rax + r15 + 0xf50], 0
test rbx, rbx
jne 0x180006b1b
xor ecx, ecx
jmp 0x180006b2b
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180001370
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.1800057c0
mov rdi, qword [rsp + 0x48]
jmp 0x180006990
mov ecx, 0x80070057
call fcn.1800016d0
nop
mov r14d, 1
or rsi, 0xffffffffffffffff
mov r12, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x48]
test r13, r13
je 0x180006baa
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x98]
mov r11, qword [r13]
mov edx, r14d
mov rcx, r13
call qword [r11 + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
je 0x180006bc6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
mov r11, qword [rbx]
mov edx, r14d
mov rcx, rbx
call qword [r11 + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006be1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c04
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c67
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, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006c87
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, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006ca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006cca
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, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006cea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x168]
call fcn.180016a5c
nop
mov rdx, qword [rsp + 0x1e0]
mov rdx, qword [rdx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x180006d1b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r12
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret