Function at 0x14001dca0
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov r14, rcx
xor r15d, r15d
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x40], r15
call fcn.14001c420
lea edx, [rax - 0x3e8]
cmp edx, 0x3e7
ja 0x14001dd0f
cmp eax, 0x3ee
jg 0x14001dd0f
mov ecx, 0x2818
call fcn.140111d34
mov qword [rbp + 0x2c0], rax
test rax, rax
je 0x14001dd0a
mov rcx, rax
call fcn.140035860
mov rbx, rax
jmp 0x14001dd0d
mov rbx, r15
jmp 0x14001dd35
mov ecx, 0x2820
call fcn.140111d34
mov qword [rbp + 0x2c0], rax
test rax, rax
je 0x14001dd32
mov rcx, rax
call fcn.140035200
mov rbx, rax
jmp 0x14001dd35
mov rbx, r15
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2e8]
cmp rax, 1
jne 0x14001e39e
lea rdx, [rbp + 0x2b8]
mov rcx, rbx
call fcn.140132da0
nop
lea rdx, [rbp + 0x2c8]
mov rcx, rbx
call fcn.1401327bc
nop
mov rax, qword [rbp + 0x2c8]
mov r8d, dword [rax - 0x10]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x2b8]
call fcn.14001fdf0
mov rcx, qword [rbp + 0x2c8]
test rcx, rcx
je 0x14001e3ce
mov rax, qword [rax]
mov r9, rcx
sub r9, rax
nop dword [rax]
movzx r8d, word [rax]
movzx edx, word [rax + r9]
sub r8d, edx
jne 0x14001ddc6
add rax, 2
test edx, edx
jne 0x14001ddb0
test r8d, r8d
jne 0x14001ddd5
cmp word [rcx], r8w
je 0x14001ddd5
mov bl, 1
jmp 0x14001ddd7
xor bl, bl
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ddfb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14001deae
mov rax, qword [rbp + 0x2b8]
mov r8d, dword [rax - 0x10]
mov rax, qword [rbp + 0x2c8]
sub r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x2b8]
call fcn.14001fcc0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x2b8]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001de91
cmp dword [rbx + 0x10], 0
jl 0x14001de80
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001de80
call fcn.140018d10
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001de73
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rbp + 0x2b8], rax
jmp 0x14001de91
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x2b8]
call fcn.140017f80
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001deae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x2640]
mov rcx, r15
lea r8, str.NONE
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x14001df38
cmp rcx, 5
jne 0x14001ded0
lea rdx, [0x1401b3160]
mov r8, rdi
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001def0
lea rcx, [rbp + 0x2b8]
call fcn.140020020
lea rcx, [r14 + 0x180]
mov rdx, qword [rbp + 0x2b8]
call fcn.1400336f0
test eax, eax
je 0x14001e35a
xor r8d, r8d
xor edx, edx
lea rcx, str.Saving_failed.
call fcn.14012189c
jmp 0x14001e35a
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.14000a4d0
nop
lea r12, vtable.JRPropertyMap.0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x68], 1
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.14004d810
nop
mov rbx, qword [rbp + 0x2b8]
cmp dword [0x14021c658], 0xb23a8c33
je 0x14001dfa7
mov ecx, 0x6c0
call fcn.140111d34
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14001df9b
mov rcx, rax
call fcn.140036570
mov rcx, rax
jmp 0x14001df9e
mov rcx, r15
mov qword [0x140229e08], rcx
jmp 0x14001dfae
mov rcx, qword [0x140229e08]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, edi
mov r8d, edi
mov rdx, rbx
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x50]
call fcn.140037020
mov byte [rsp + 0x68], 1
mov dl, 1
lea rcx, [rsp + 0x50]
call fcn.14004d810
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14001e01f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14001e015
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e01f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.14004f5e0
nop
mov rbx, qword [rax]
call fcn.140121d48
mov rcx, rax
test rax, rax
je 0x14001e3d9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x2c0], rax
test rbx, rbx
je 0x14001e082
cmp rbx, 0x10000
jae 0x14001e072
movzx edx, bx
lea rcx, [rbp + 0x2c0]
call fcn.140017950
jmp 0x14001e095
mov r8, rdi
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001e075
jmp 0x14001e085
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp + 0x2c0]
call fcn.140017f80
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14001e0c5
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14001e0bb
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e0c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rsi, qword [rbp + 0x2c0]
cmp dword [rsi - 0x10], 0
je 0x14001e177
mov r8d, 1
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x2c0]
call fcn.14001fdf0
mov rcx, qword [rax]
cmp dword [rcx - 0x10], 1
jne 0x14001e0ff
cmp word [rcx], 0x5c
jne 0x14001e0ff
xor bl, bl
jmp 0x14001e101
mov bl, 1
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e11e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14001e177
mov esi, dword [rsi - 0x10]
lea ebx, [rsi + 1]
test ebx, ebx
js 0x14001e3c3
mov rax, qword [rbp + 0x2c0]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x14001e15d
mov edx, ebx
lea rcx, [rbp + 0x2c0]
call fcn.140017f20
mov rax, qword [rbp + 0x2c0]
mov word [rax + rsi*2], 0x5c
cmp ebx, dword [rax - 0xc]
jg 0x14001e3c3
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov word [rax + rcx*2], r15w
lea rdx, [0x1401b3190]
mov r8, rdi
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001e181
lea rcx, [rbp + 0x2c0]
call fcn.140020020
lea rcx, [r14 + 0x180]
mov rbx, qword [rbp + 0x2c0]
mov rdx, rbx
call fcn.1400336f0
test eax, eax
je 0x14001e1c8
xor r8d, r8d
xor edx, edx
lea rcx, str.Saving_failed.
call fcn.14012189c
jmp 0x14001e2f1
lea rax, [rsp + 0x70]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x78]
mov qword [rbp - 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x2640]
sub rcx, 0x18
call fcn.140018d10
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rcx, qword [rbp + 0x2b8]
add rcx, 0xffffffffffffffe8
call fcn.140018d10
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rcx, [rbx - 0x18]
call fcn.140018d10
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.140034330
nop
lea rcx, [rbp - 0x30]
call fcn.1401228ac
test rax, rax
je 0x14001e25f
xor r8d, r8d
xor edx, edx
lea rcx, str.Saving_failed.
call fcn.14012189c
nop
lea rcx, [rbp + 0x188]
call fcn.1401345c0
lea rcx, [rbp + 0x120]
call fcn.1400fb270
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e297
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e2b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e2d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 0x30]
call fcn.140122134
mov rbx, qword [rbp + 0x2c0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e30b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [rsp + 0x58], r12
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14001e329
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rsp + 0x60], r15
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14001e35a
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14001e350
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e35a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x2c8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001e37b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x2b8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14001e399
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14001e3b1
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x370
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.1400180c0
nop
mov ecx, 0x80004005
call fcn.1400180c0
nop
mov ecx, 0x80004005
call fcn.1400180c0
int3