Function at 0x1401875e0
Capabilities:
Manipulate boot configuration
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x1830
call fcn.1401d4c90
sub rsp, rax
mov qword [rsp + 0x17e8], 0xfffffffffffffffe
mov rax, qword [0x1402a15c0]
xor rax, rsp
mov qword [rsp + 0x1828], rax
lea rax, [rsp + 0x1780]
mov qword [rsp + 0x1788], rax
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x14023fe88]
mov rcx, qword [rsp + 0x1788]
call fcn.1400010b0
mov qword [rsp + 0x17f0], rax
mov rcx, qword [rsp + 0x17f0]
call fcn.1401b70d0
mov r8d, 0x3e8
lea rdx, [rsp + 0x810]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, 0x2e
lea rcx, [rsp + 0x810]
call fcn.140001460
mov r11, rax
xor eax, eax
mov word [r11], ax
lea rdx, [0x14023fe98]
lea rcx, [rsp + 0x810]
call fcn.1400a9444
lea r11, [rsp + 0x810]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x3e8
lea r9, [rsp + 0x40]
lea r8, [0x14023fea8]
lea rdx, [0x14023feb8]
lea rcx, [0x14023fed8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x14023fee8]
lea rcx, [rsp + 0x1798]
call fcn.1400010b0
mov qword [rsp + 0x17f8], rax
mov rcx, qword [rsp + 0x17f8]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x14023ff00]
lea rcx, [0x14023ff18]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1790], eax
lea rcx, [rsp + 0x1798]
call fcn.140001490
cmp dword [rsp + 0x1790], 0
je 0x14018784d
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x14023ff28]
lea rcx, [rsp + 0x17a0]
call fcn.1400010b0
mov qword [rsp + 0x1800], rax
mov rcx, qword [rsp + 0x1800]
call fcn.140023510
mov r9, rax
xor r8d, r8d
lea rdx, [0x14023ff40]
lea rcx, [0x14023ff58]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1770], eax
lea rcx, [rsp + 0x17a0]
call fcn.140001490
cmp dword [rsp + 0x1770], 0
jne 0x1401877f8
mov dword [rsp + 0x1770], 0xcbc
jmp 0x1401877d2
mov eax, dword [rsp + 0x1770]
add eax, 1
mov dword [rsp + 0x1770], eax
cmp dword [rsp + 0x1770], 0xcc1
jae 0x1401877f8
mov edx, 1
mov ecx, dword [rsp + 0x1770]
call fcn.1400d6d20
test eax, eax
jne 0x1401877f6
jmp 0x1401877f8
jmp 0x1401877c1
lea rdx, str.Start_iSCSI_Target_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403aa660]
call fcn.140010650
test eax, eax
jne 0x14018784d
lea r8, [rsp + 0x40]
mov edx, dword [rsp + 0x1770]
lea rcx, [0x1403aa660]
call fcn.140136610
test eax, eax
jne 0x14018784d
mov r8d, dword [rsp + 0x1770]
lea rdx, str.iSCSI_Target_Service_Startup_Error
lea rcx, [0x1403ac8a0]
call fcn.1401bb910
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x14023ffe8]
lea rcx, [rsp + 0x17b0]
call fcn.1400010b0
mov qword [rsp + 0x1808], rax
mov rcx, qword [rsp + 0x1808]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x140240000]
lea rcx, [0x140240018]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x17a8], eax
lea rcx, [rsp + 0x17b0]
call fcn.140001490
cmp dword [rsp + 0x17a8], 0
je 0x1401878f6
lea rdx, str.Start_TFTP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403abb30]
call fcn.140010650
test eax, eax
jne 0x1401878f6
mov r9d, 1
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [0x1403abb30]
call fcn.1400e3670
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240050]
lea rcx, [rsp + 0x17c0]
call fcn.1400010b0
mov qword [rsp + 0x1810], rax
mov rcx, qword [rsp + 0x1810]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x140240068]
lea rcx, [0x140240080]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x17b8], eax
lea rcx, [rsp + 0x17c0]
call fcn.140001490
cmp dword [rsp + 0x17b8], 0
je 0x14018799c
lea rdx, str.Start_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403aac90]
call fcn.140010650
test eax, eax
jne 0x14018799c
lea r8, [rsp + 0x40]
mov edx, 0x43
lea rcx, [0x1403aac90]
call fcn.140110530
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x1402400b8]
lea rcx, [rsp + 0x17d0]
call fcn.1400010b0
mov qword [rsp + 0x1818], rax
mov rcx, qword [rsp + 0x1818]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x1402400d0]
lea rcx, [0x1402400f0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x17c8], eax
lea rcx, [rsp + 0x17d0]
call fcn.140001490
cmp dword [rsp + 0x17c8], 0
je 0x140187ad4
lea rdx, str.Start_Proxy_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403ab010]
call fcn.140010650
test eax, eax
jne 0x140187ad4
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240138]
lea rcx, [rsp + 0x17d8]
call fcn.1400010b0
mov qword [rsp + 0x1820], rax
mov rcx, qword [rsp + 0x1820]
call fcn.140023510
mov r9, rax
mov r8d, 0xfab
lea rdx, [0x140240150]
lea rcx, [0x140240170]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1774], eax
lea rcx, [rsp + 0x17d8]
call fcn.140001490
cmp dword [rsp + 0x1774], 0x43
jne 0x140187abe
lea r8, [rsp + 0x40]
mov edx, 0x43
lea rcx, [0x1403aac90]
call fcn.140110530
jmp 0x140187ad4
lea r8, [rsp + 0x40]
mov edx, 0xfab
lea rcx, [0x1403ab010]
call fcn.140110530
lea rdx, str.Start_Client_Communication_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403ab600]
call fcn.140010650
test eax, eax
jne 0x140187b28
xor r9d, r9d
lea r8, [rsp + 0x40]
mov edx, 0x3e8
lea rcx, [0x1403ab600]
call fcn.1401c25c0
test eax, eax
jne 0x140187b28
mov r8d, 0x3e8
lea rdx, str.Client_Communication_Service_Startup_Error
lea rcx, [0x1403ac8a0]
call fcn.1401bb910
xor ecx, ecx
call fcn.1401d42e0
lea rcx, [rsp + 0x1430]
call fcn.14000f1c0
nop
mov dword [rsp + 0x15c8], 1
lea rcx, [rsp + 0x1430]
call fcn.1401cfc20
lea rcx, [rsp + 0x1040]
call fcn.14000eff0
nop
lea rcx, [rsp + 0x13d0]
call fcn.140007ac0
nop
lea rdx, [rsp + 0x13d0]
lea rcx, [rsp + 0x1040]
call fcn.1401b7170
mov dword [rsp + 0x1778], 0
jmp 0x140187ba4
mov eax, dword [rsp + 0x1778]
add eax, 1
mov dword [rsp + 0x1778], eax
mov ebx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b40
cmp rbx, rax
jae 0x140187d72
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1a8
lea rdx, [0x140240228]
call fcn.1400060b0
test eax, eax
je 0x140187c21
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1a8
lea rdx, [0x140240238]
call fcn.1400060b0
test eax, eax
jne 0x140187cc3
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1b8
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
mov esi, eax
lea rcx, [rsp + 0x1658]
xor edx, edx
call fcn.140006dd0
movzx edi, ax
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1b0
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
mov ebx, eax
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1a0
xor edx, edx
call fcn.140006dd0
mov r9d, esi
movzx r8d, di
mov edx, ebx
movzx ecx, ax
call fcn.1401d4770
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1a8
lea rdx, [0x140240248]
call fcn.1400060b0
test eax, eax
jne 0x140187d6d
lea rcx, [rsp + 0x1660]
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
mov edi, eax
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1b0
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
mov ebx, eax
mov edx, dword [rsp + 0x1778]
lea rcx, [rsp + 0x13d0]
call fcn.140007b70
mov rcx, rax
add rcx, 0x1a0
xor edx, edx
call fcn.140006dd0
mov r9d, edi
mov r8d, 1
mov edx, ebx
movzx ecx, ax
call fcn.1401d4450
jmp 0x140187b93
lea rcx, [rsp + 0x1380]
call fcn.140077478
nop
lea rcx, [rsp + 0x1400]
call fcn.140081d08
nop
lea rcx, [rsp + 0x13a8]
call fcn.140081d08
nop
lea rcx, [rsp + 0x1010]
call fcn.140081d08
nop
lea r9, [rsp + 0x1010]
lea r8, [rsp + 0x13a8]
lea rdx, [rsp + 0x1400]
lea rcx, [rsp + 0x1380]
call fcn.1401863a0
mov dword [rsp + 0x17e0], 1
lea rcx, [rsp + 0x1010]
call fcn.140081d28
nop
lea rcx, [rsp + 0x13a8]
call fcn.140081d28
nop
lea rcx, [rsp + 0x1400]
call fcn.140081d28
nop
lea rcx, [rsp + 0x1380]
call fcn.14007773c
nop
lea rcx, [rsp + 0x13d0]
call fcn.140007b10
nop
lea rcx, [rsp + 0x1040]
call fcn.140005db0
nop
lea rcx, [rsp + 0x1430]
call fcn.140005db0
mov eax, dword [rsp + 0x17e0]
mov rcx, qword [rsp + 0x1828]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x1830
pop rdi
pop rsi
pop rbx
ret