Function at 0x14008d670
Capabilities:
Create directory
Delete file
Read file on windows
Set file attributes
Write file on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2920]
mov eax, 0x2a20
call fcn.1400e2af0
sub rsp, rax
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x2a58], rbx
mov qword [rsp + 0x2a60], rsi
mov qword [rsp + 0x2a68], rdi
movaps xmmword [rsp + 0x2a10], xmm6
movaps xmmword [rsp + 0x2a00], xmm7
mov rax, qword [0x14017c430]
xor rax, rsp
mov qword [rbp + 0x28f0], rax
mov r13, rcx
mov qword [rsp + 0x48], rcx
mov r14, qword [0x140183750]
mov rax, qword [rcx]
movsxd rdx, dword [rax + 4]
lea rcx, [rdx + rcx + 0x78]
call fcn.140078010
test eax, eax
je 0x14008da62
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
xor r12d, r12d
mov qword [rbp - 0x38], r12
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm7, qword [0x140132ba8]
movsd xmm6, qword [rsp + 0x60]
test eax, eax
je 0x14008d767
movzx eax, word [rbp - 0x12]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x60], xmm6
lea rdx, [rbp + 0x50]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14008d789
mov r8d, eax
lea rdx, [rbp + 0x50]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov r8d, 0xa
lea rdx, [rbp + 0xb0]
mov ecx, dword [rsp + 0x50]
call fcn.1400da6c8
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdi, [rbp + 0xb0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14008d82d
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14008d8b9
cmp dword [rdx + 0x10], eax
jge 0x14008d800
cmp dword [rbx - 0xc], eax
jge 0x14008d7f3
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14008d8b9
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008d816
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
jmp 0x14008d8b9
mov r13d, dword [rbx - 0x10]
lea r12, [rbp + 0xb0]
sub r12, rbx
sar r12, 1
test ecx, ecx
jns 0x14008d84d
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14008d86f
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1400020c0
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r12, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14008d893
lea r8, [rbx + r12*2]
call fcn.1400d4ebc
jmp 0x14008d89f
lea r8, [rbp + 0xb0]
call fcn.1400d4e34
cmp edi, dword [rbx - 0xc]
jg 0x14008e7be
mov dword [rbx - 0x10], edi
xor r12d, r12d
mov word [r13 + rbx], r12w
mov r13, qword [rsp + 0x48]
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov r8d, 0xa
lea rdx, [rbp + 0xb0]
mov ecx, dword [rsp + 0x54]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0xb0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov r8d, 1
lea rdx, reloc.msi.dll_MsiGetActiveDatabase
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov eax, 0x3b
mov dword [rbp - 0x38], 0x3b0017
mov word [rbp - 0x34], ax
mov eax, 0x3e7
mov word [rbp - 0x32], ax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x70]
test eax, eax
je 0x14008d979
movzx eax, word [rbp + 0xe]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x70], xmm6
lea rdx, [rbp + 0x70]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14008d99b
mov r8d, eax
lea rdx, [rbp + 0x70]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rcx, qword [rbp - 0x60]
mov qword [rsp + 0x50], rcx
mov r8d, 0xa
lea rdx, [rbp + 0xb0]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0xb0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov r8d, 0xa
lea rdx, [rbp + 0xb0]
mov ecx, dword [rsp + 0x54]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0xb0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x30]
call fcn.14003bd50
mov rdi, qword [rsp + 0x30]
cmp dword [rdi - 0x10], 0
jne 0x14008da69
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14008da62
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
xor eax, eax
jmp 0x14008e7c9
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, qword [0x140183758]
call fcn.14005ef00
nop
mov r8d, 1
lea rdx, [0x14012ed28]
lea rcx, [rsp + 0x40]
call fcn.14003bd50
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14003bd50
mov r8d, 1
lea rdx, [0x14012ed28]
lea rcx, [rsp + 0x40]
call fcn.14003bd50
mov r15, qword [r13 + 0x120]
mov qword [rbp - 0x58], r15
cmp r15d, 1
jl 0x14008e758
jle 0x14008db0b
mov word [rbp + 0x8f0], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x8f2]
call fcn.1400dd9f0
lea r9, [0x1401322b0]
mov edx, 0x400
mov r8d, edx
lea rcx, [rbp + 0x8f0]
call fcn.1400d99bc
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x28]
call fcn.1400853d0
nop
mov ecx, dword [r13 + 0x180]
test ecx, ecx
je 0x14008e24e
dec ecx
je 0x14008deef
dec ecx
jne 0x14008e540
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov word [rbp + 0x2e], r12w
movaps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x90], xmm0
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x58]
test eax, eax
je 0x14008dba3
movzx eax, word [rbp + 0x9e]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x58], xmm6
lea rdx, [rbp + 0x40]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14008dbc5
mov r8d, eax
lea rdx, [rbp + 0x40]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov r8d, 0xa
lea rdx, [rbp + 0x6e0]
mov ecx, dword [rbp - 0x70]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x6e0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14008dc63
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14008dcef
cmp dword [rdx + 0x10], eax
jge 0x14008dc36
cmp dword [rbx - 0xc], eax
jge 0x14008dc29
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14008dcef
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008dc4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
jmp 0x14008dcef
mov r13d, dword [rbx - 0x10]
lea r12, [rbp + 0x6e0]
sub r12, rbx
sar r12, 1
test ecx, ecx
jns 0x14008dc83
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14008dca5
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.1400020c0
mov rbx, qword [rsp + 0x20]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r12, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14008dcc9
lea r8, [rbx + r12*2]
call fcn.1400d4ebc
jmp 0x14008dcd5
lea r8, [rbp + 0x6e0]
call fcn.1400d4e34
cmp edi, dword [rbx - 0xc]
jg 0x14008dee4
mov dword [rbx - 0x10], edi
xor r12d, r12d
mov word [r13 + rbx], r12w
mov r13, qword [rsp + 0x48]
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 0xa
lea rdx, [rbp + 0x6e0]
mov ecx, dword [rbp - 0x6c]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x6e0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x6e0]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 8
lea rdx, [0x14012a2f8]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov ebx, 0x3e8
mov eax, r12d
mov rdi, qword [rsp + 0x20]
test rdi, rdi
setne al
test eax, eax
je 0x14008ded9
lea r12, [r14 + 0x10]
xor r14d, r14d
mov rax, qword [r12]
mov rdx, rdi
sub rdx, rax
nop dword [rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14008ddb7
add rax, 2
test cx, cx
jne 0x14008dda0
mov eax, r14d
jmp 0x14008ddbc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x14008ddfc
test ebx, ebx
je 0x14008ddfc
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
dec ebx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14012a2f8]
lea rcx, [rsp + 0x20]
call fcn.1400850c0
mov rdi, qword [rsp + 0x20]
test rdi, rdi
jne 0x14008dd92
jmp 0x14008ded9
lea rdx, [rsp + 0x20]
mov rcx, r12
call fcn.140001cf0
cmp dword [rdi - 0x10], r14d
jne 0x14008de7d
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008de2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008de4f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008de6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
jmp 0x14008da4e
mov rax, qword [0x140183758]
test rax, rax
je 0x14008dead
cmp dword [rax + 0x2a0], r14d
je 0x14008dead
mov rax, qword [r13]
movsxd rcx, dword [rax + 4]
mov rdx, qword [rcx + r13 + 0x78]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.14003bd50
xor r8d, r8d
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov edx, 2
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x14012a298]
jmp 0x14008e1e5
mov ecx, 0x80004005
call fcn.1400022b0
int3
mov ecx, 0x80070057
call fcn.1400022b0
int3
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov word [rbp + 0x8e], r12w
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x68]
test eax, eax
je 0x14008df43
movzx eax, word [rbp + 0x6e]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x68], xmm6
lea rdx, [rbp + 0x30]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14008df65
mov r8d, eax
lea rdx, [rbp + 0x30]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov r8d, 0xa
lea rdx, [rbp + 0x4d0]
mov ecx, dword [rbp - 0x80]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x4d0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14008e003
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14008e091
cmp dword [rdx + 0x10], eax
jge 0x14008dfd6
cmp dword [rbx - 0xc], eax
jge 0x14008dfc9
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14008e091
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008dfec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
jmp 0x14008e091
mov r13d, dword [rbx - 0x10]
lea r12, [rbp + 0x4d0]
sub r12, rbx
sar r12, 1
test ecx, ecx
jns 0x14008e023
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14008e045
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.1400020c0
mov rbx, qword [rsp + 0x20]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r12, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14008e069
lea r8, [rbx + r12*2]
call fcn.1400d4ebc
jmp 0x14008e075
lea r8, [rbp + 0x4d0]
call fcn.1400d4e34
cmp edi, dword [rbx - 0xc]
jg 0x14008e243
mov dword [rbx - 0x10], edi
xor r14d, r14d
mov word [r13 + rbx], r14w
mov r13, qword [rsp + 0x48]
jmp 0x14008e094
xor r14d, r14d
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 0xa
lea rdx, [rbp + 0x4d0]
mov ecx, dword [rbp - 0x7c]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x4d0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x4d0]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 8
lea rdx, [0x14012a2e0]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov rdi, qword [rsp + 0x20]
cmp dword [rdi - 0x10], 0
jne 0x14008e18e
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e140
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e160
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e180
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
jmp 0x14008da4e
mov rax, qword [0x140183758]
test rax, rax
je 0x14008e1be
cmp dword [rax + 0x2a0], 0
je 0x14008e1be
mov rax, qword [r13]
movsxd rcx, dword [rax + 4]
mov rdx, qword [rcx + r13 + 0x78]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.14003bd50
xor r8d, r8d
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov edx, 2
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x14012a290]
lea rdx, [0x14012f530]
lea rcx, [rsp + 0x28]
call fcn.140045040
xor r8d, r8d
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov edx, 2
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov r8d, 1
lea rdx, [0x14012ed28]
lea rcx, [rsp + 0x28]
call fcn.14003bd50
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.14003bd50
jmp 0x14008e543
mov ecx, 0x80070057
call fcn.1400022b0
int3
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov word [rbp - 0x22], r12w
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x10]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x78]
test eax, eax
je 0x14008e299
movzx eax, word [rbp - 2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x78], xmm6
lea rdx, [rbp + 0x10]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14008e2bb
mov r8d, eax
lea rdx, [rbp + 0x10]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov r8d, 0xa
lea rdx, [rbp + 0x2c0]
mov ecx, dword [rbp - 0x78]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x2c0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14008e359
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14008e3e7
cmp dword [rdx + 0x10], eax
jge 0x14008e32c
cmp dword [rbx - 0xc], eax
jge 0x14008e31f
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14008e3e7
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e342
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
jmp 0x14008e3e7
mov r13d, dword [rbx - 0x10]
lea r12, [rbp + 0x2c0]
sub r12, rbx
sar r12, 1
test ecx, ecx
jns 0x14008e379
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14008e39b
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.1400020c0
mov rbx, qword [rsp + 0x20]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r12, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14008e3bf
lea r8, [rbx + r12*2]
call fcn.1400d4ebc
jmp 0x14008e3cb
lea r8, [rbp + 0x2c0]
call fcn.1400d4e34
cmp edi, dword [rbx - 0xc]
jg 0x14008e74d
mov dword [rbx - 0x10], edi
xor r14d, r14d
mov word [r13 + rbx], r14w
mov r13, qword [rsp + 0x48]
jmp 0x14008e3ea
xor r14d, r14d
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 0xa
lea rdx, [rbp + 0x2c0]
mov ecx, dword [rbp - 0x74]
call fcn.1400da6c8
xor eax, eax
mov rcx, rsi
lea rdi, [rbp + 0x2c0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x2c0]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 1
lea rdx, [0x14012ffcc]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 7
lea rdx, [0x14012a2d0]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov rdi, qword [rsp + 0x20]
cmp dword [rdi - 0x10], 0
jne 0x14008e4e4
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e496
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e4b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e4d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
jmp 0x14008da4e
mov rax, qword [0x140183758]
test rax, rax
je 0x14008e514
cmp dword [rax + 0x2a0], 0
je 0x14008e514
mov rax, qword [r13]
movsxd rcx, dword [rax + 4]
mov rdx, qword [rcx + r13 + 0x78]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.14003bd50
xor r8d, r8d
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov edx, 2
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x14012a288]
jmp 0x14008e1e5
xor r14d, r14d
test r15d, r15d
jle 0x14008e70c
nop dword [rax]
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.140001d80
add rax, 0x18
mov qword [rbp - 0x68], rax
movsxd rcx, r14d
cmp rcx, qword [r13 + 0x120]
jae 0x14008e701
imul rcx, rcx, 0x78
add rcx, qword [r13 + 0x118]
add rcx, 8
lea rdx, [rbp - 0x50]
call fcn.1400376c0
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x68]
call fcn.14003bd50
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e5be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, [0x14012fdf0]
mov rdi, qword [rbp - 0x68]
mov rcx, rdi
call fcn.1400d9d24
mov r13, rax
lea rdx, [0x140131ba8]
mov rcx, qword [rsp + 0x28]
call fcn.1400d9d24
mov rbx, rax
test r13, r13
je 0x14008e6c6
test rax, rax
je 0x14008e6d4
lea rcx, [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov r9, rbx
mov edx, reloc.WS2_32.dll_recv
lea r8d, [rdx - 0xf]
lea rcx, [rbp + 0xa0]
call fcn.1400d6c94
mov word [rsp + 0x38], 0xa0d
mov r9, rbx
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x38]
call fcn.1400d6c94
mov r9, r13
mov edx, 1
mov r8d, 0x1000
lea rcx, [rbp + 0x18f0]
call fcn.1400d8c04
mov r12, rax
xor eax, eax
mov r15d, eax
test r12, r12
je 0x14008e6b1
mov r8d, r15d
mov edx, r12d
lea rcx, [rbp + 0x18f0]
call fcn.14009c130
mov r15d, eax
mov r9, rbx
mov r8, r12
mov edx, 1
lea rcx, [rbp + 0x18f0]
call fcn.1400d6c94
mov r9, r13
mov edx, 1
mov r8d, 0x1000
lea rcx, [rbp + 0x18f0]
call fcn.1400d8c04
mov r12, rax
test rax, rax
jne 0x14008e663
mov rcx, r13
call fcn.1400d79b4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r15, qword [rbp - 0x58]
test rbx, rbx
je 0x14008e6d4
mov rcx, rbx
call fcn.1400d79b4
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e6ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
inc r14d
cmp r14d, r15d
mov r13, qword [rsp + 0x48]
jl 0x14008e550
jmp 0x14008e70c
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e72c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e790
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
jmp 0x14008e790
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov word [rbp + 0x10f0], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x10f2]
call fcn.1400dd9f0
lea r9, str.No_mail_log_files__n
mov edx, 0x400
mov r8d, edx
lea rcx, [rbp + 0x10f0]
call fcn.1400d99bc
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14008e7b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
jmp 0x14008da4e
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov rcx, qword [rbp + 0x28f0]
xor rcx, rsp
call fcn.1400d4d90
lea r11, [rsp + 0x2a20]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret