Function at 0x14005a270
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x2c0], rbx
mov rax, qword [0x14011d8d0]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov r14, rdx
mov r13, rcx
mov qword [rsp + 0x38], rcx
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
mov word [rsp + 0x50], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x52]
call sub.MSVCR100.dll_memset
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
or r12, 0xffffffffffffffff
cmp dword [rdx + 8], esi
je 0x14005a341
cmp dword [rdx + 0x10], esi
jge 0x14005a318
cmp dword [rbx - 0xc], esi
jge 0x14005a310
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a341
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a32f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.AllowVAU
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
lea r15d, [rax + 1]
test ecx, ecx
jne 0x14005a3f8
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005a47f
cmp dword [rdx + 0x10], eax
jge 0x14005a3ca
cmp dword [rbx - 0xc], eax
jge 0x14005a3bf
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a47f
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a3e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005a47f
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005a416
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005a436
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005a45b
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005a466
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b22e
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005a49a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005a4a1
mov byte [r14], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005a4f8
cmp dword [rdx + 0x10], 0
jge 0x14005a4cf
cmp dword [rbx - 0xc], 0
jge 0x14005a4c5
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a4fa
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a4e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.SoftwareSelfUpdateAvailable
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005a5ad
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005a634
cmp dword [rdx + 0x10], eax
jge 0x14005a57f
cmp dword [rbx - 0xc], eax
jge 0x14005a574
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a634
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a596
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005a634
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005a5cb
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005a5eb
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005a610
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005a61b
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b223
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005a64f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005a657
mov byte [r14 + 1], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005a6ae
cmp dword [rdx + 0x10], 0
jge 0x14005a685
cmp dword [rbx - 0xc], 0
jge 0x14005a67b
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a6b0
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a69c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.NotifyInternetNotAvailableOfSSU
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005a763
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005a7ea
cmp dword [rdx + 0x10], eax
jge 0x14005a735
cmp dword [rbx - 0xc], eax
jge 0x14005a72a
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a7ea
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a74c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005a7ea
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005a781
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005a7a1
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005a7c6
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005a7d1
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b218
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005a805
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005a80d
mov byte [r14 + 2], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005a864
cmp dword [rdx + 0x10], 0
jge 0x14005a83b
cmp dword [rbx - 0xc], 0
jge 0x14005a831
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a866
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a852
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.AutoCheckUpdate
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005a919
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005a9a0
cmp dword [rdx + 0x10], eax
jge 0x14005a8eb
cmp dword [rbx - 0xc], eax
jge 0x14005a8e0
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005a9a0
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005a902
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005a9a0
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005a937
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005a957
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005a97c
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005a987
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b20d
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005a9bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005a9c3
mov byte [r14 + 3], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005aa1a
cmp dword [rdx + 0x10], 0
jge 0x14005a9f1
cmp dword [rbx - 0xc], 0
jge 0x14005a9e7
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005aa1c
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005aa08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.OnlyNotifyImportantInfo
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005aacf
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005ab56
cmp dword [rdx + 0x10], eax
jge 0x14005aaa1
cmp dword [rbx - 0xc], eax
jge 0x14005aa96
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005ab56
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005aab8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005ab56
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005aaed
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005ab0d
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005ab32
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005ab3d
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b202
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005ab71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005ab79
mov byte [r14 + 4], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005abd0
cmp dword [rdx + 0x10], 0
jge 0x14005aba7
cmp dword [rbx - 0xc], 0
jge 0x14005ab9d
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005abd2
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005abbe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.NotifyRebootOrShutdown
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005ac85
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005ad0c
cmp dword [rdx + 0x10], eax
jge 0x14005ac57
cmp dword [rbx - 0xc], eax
jge 0x14005ac4c
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005ad0c
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005ac6e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005ad0c
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005aca3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005acc3
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005ace8
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005acf3
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b1f7
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005ad27
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005ad2f
mov byte [r14 + 5], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005ad86
cmp dword [rdx + 0x10], 0
jge 0x14005ad5d
cmp dword [rbx - 0xc], 0
jge 0x14005ad53
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005ad88
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005ad74
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.NotifyDUN
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005ae3b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005aec2
cmp dword [rdx + 0x10], eax
jge 0x14005ae0d
cmp dword [rbx - 0xc], eax
jge 0x14005ae02
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005aec2
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005ae24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005aec2
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005ae59
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005ae79
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005ae9e
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005aea9
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b1ec
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005aedd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005aee5
mov byte [r14 + 6], r15b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14005af3c
cmp dword [rdx + 0x10], 0
jge 0x14005af13
cmp dword [rbx - 0xc], 0
jge 0x14005af09
mov ecx, 0x80070057
call fcn.140001000
int3
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005af3e
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005af2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
xor esi, esi
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.OnlyCheckImportantVAU
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x14005aff1
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14005b077
cmp dword [rdx + 0x10], eax
jge 0x14005afc3
cmp dword [rbx - 0xc], eax
jge 0x14005afb8
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14005b077
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005afda
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14005b077
mov r13d, dword [rbx - 0x10]
lea rsi, [rsp + 0x50]
sub rsi, rbx
sar rsi, 1
test ecx, ecx
jns 0x14005b00f
mov ecx, 0x80070057
call fcn.140001000
int3
sub r15d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, r15d
jge 0x14005b02e
mov edx, ecx
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r13
lea r13, [rax + rax]
mov r9, r13
ja 0x14005b053
lea r8, [rbx + rsi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14005b05e
lea r8, [rsp + 0x50]
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp edi, dword [rbx - 0xc]
jg 0x14005b1e1
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r13 + rbx], ax
mov r13, qword [rsp + 0x38]
xor eax, eax
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, rbx
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005b092
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14005b09b
mov byte [r14 + 8], 1
lea rcx, [rsp + 0x30]
call fcn.140001a60
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.AllowRestartLater
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.140001e80
xor r11d, r11d
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rsi, qword [rsp + 0x30]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005b123
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
jne 0x14005b12d
mov byte [r14 + 7], 1
lea rcx, [rsp + 0x30]
call fcn.140001a60
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov rax, qword [r13]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.NotNotifyStartVC
lea rcx, str.UserOption
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov rcx, r12
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.140001e80
xor r11d, r11d
lea rdi, reloc.ATL100.DLL_Ordinal_49
mov rax, qword [rsp + 0x30]
mov rsi, rax
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14005b1b8
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
jne 0x14005b1c2
mov byte [r14 + 9], 1
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x14005b1dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov al, 1
jmp 0x14005b239
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400cafa0
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret