Function at 0x140045280
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
call fcn.140003710
nop
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064998]
lea rdx, str.SetupStart
lea rcx, [0x1400649b8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045323
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045352
mov edx, 0x83a
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045352
mov dword [rsp + 0x48], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x48]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x1400649c8]
lea rdx, str.SetupDisconnect
lea rcx, [0x1400649f0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400453d2
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045401
mov edx, 0x83b
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045401
mov dword [rsp + 0x4c], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x4c]
jmp 0x140045ef4
invalid
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x1000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064a00]
lea rdx, str.DigitalMsg
lea rcx, [0x140064a20]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045488
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x1400454b7
mov edx, 0x83c
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x1400454b7
mov dword [rsp + 0x50], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x50]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x2000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064a30]
lea rdx, str.CompleteMsg
lea rcx, [0x140064a50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14004553e
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x14004556d
mov edx, 0x83d
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x14004556d
mov dword [rsp + 0x54], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x54]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x3000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064a60]
lea rdx, str.ReconectMsg
lea rcx, [0x140064a80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400455f4
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045623
mov edx, 0x83e
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045623
mov dword [rsp + 0x58], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x58]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x4000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064a90]
lea rdx, str.UpdateMsg
lea rcx, [0x140064ab0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400456aa
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x1400456d9
mov edx, 0x83f
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x1400456d9
mov dword [rsp + 0x5c], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x5c]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x5000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064aac]
lea rdx, str.IpPortErr
lea rcx, [0x140064ad8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045760
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x14004578f
mov edx, 0x840
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x14004578f
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x60]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x6000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064ad4]
lea rdx, str.RebootMsg
lea rcx, [0x140064b00]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045816
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045845
mov edx, 0x841
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045845
mov dword [rsp + 0x64], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x64]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x7000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064afc]
lea rdx, str.LanguageErrMsg
lea rcx, [0x140064b30]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1400458cc
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x1400458fb
mov edx, 0x842
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x1400458fb
mov dword [rsp + 0x68], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x68]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x8000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064b40]
lea rdx, str.OsErrMsg
lea rcx, [0x140064b60]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045982
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x1400459b1
mov edx, 0x843
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x1400459b1
mov dword [rsp + 0x6c], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x6c]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x9000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064b70]
lea rdx, str.FailureErrMsg
lea rcx, [0x140064b98]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045a38
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045a67
mov edx, 0x844
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045a67
mov dword [rsp + 0x70], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x70]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xa000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064b94]
lea rdx, str.CopyErrMsg
lea rcx, [0x140064bc0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045aee
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045b1d
mov edx, 0x845
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045b1d
mov dword [rsp + 0x74], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x74]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xb000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064bd0]
lea rdx, str.NotFileErrMsg
lea rcx, [0x140064bf8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045ba4
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045bd3
mov edx, 0x846
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045bd3
mov dword [rsp + 0x78], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x78]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xc000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064bf4]
lea rdx, str.DriverErrMsg
lea rcx, [0x140064c28]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045c5a
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045c89
mov edx, 0x847
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045c89
mov dword [rsp + 0x7c], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x7c]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xd000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064c38]
lea rdx, str.AlreadyErrMsg
lea rcx, [0x140064c60]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045d10
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045d45
mov edx, 0x848
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045d45
mov dword [rsp + 0x80], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x80]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xe000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064c5c]
lea rdx, str.ReinstallMsg
lea rcx, [0x140064c90]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045dcc
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045e01
mov edx, 0x849
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045e01
mov dword [rsp + 0x84], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x84]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0xf000
mov rdx, rax
call fcn.140007160
mov r9, qword [rsp + 0xb0]
add r9, 8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2008]
mov dword [rsp + 0x20], eax
lea r8, [0x140064ca0]
lea rdx, str.NotRebootMsg
lea rcx, str.Message
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140045e88
mov rdx, qword [rsp + 0xb0]
add rdx, 8
lea rcx, [rsp + 0x38]
call fcn.1400043e0
jmp 0x140045eba
mov edx, 0x84a
lea rcx, [rsp + 0x38]
call fcn.140003bb0
cmp eax, 1
je 0x140045eba
mov dword [rsp + 0x88], 0
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x88]
jmp 0x140045ef4
lea rcx, [rsp + 0x38]
call fcn.140003700
mov rcx, qword [rsp + 0x40]
add rcx, 0x10000
mov rdx, rax
call fcn.140007160
mov dword [rsp + 0x8c], 1
lea rcx, [rsp + 0x38]
call fcn.140003760
mov eax, dword [rsp + 0x8c]
add rsp, 0xa8
ret