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

Disassembly:
push rdi
mov eax, 0x1300
call fcn.1401d5c30
sub rsp, rax
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0x12f8], rax
lea rax, [rsp + 0x1230]
mov qword [rsp + 0x1238], rax
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x140241258]
mov rcx, qword [rsp + 0x1238]
call fcn.1400010b0
mov qword [rsp + 0x12a0], rax
mov rcx, qword [rsp + 0x12a0]
call fcn.1401b8070
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.14000d0b0
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea rdx, [0x140241268]
lea rcx, [rsp + 0x810]
call fcn.1400a9434
lea rdx, [rsp + 0x810]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x3e8
lea r9, [rsp + 0x40]
lea r8, [0x140241278]
lea rdx, str.ServerBindIP
lea rcx, [0x1402412a8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x1402412b8]
lea rcx, [rsp + 0x1248]
call fcn.1400010b0
mov qword [rsp + 0x12a8], rax
mov rcx, qword [rsp + 0x12a8]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.StartTFTP
lea rcx, [0x1402412e8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189be5
mov dword [rsp + 0x12b0], 1
jmp 0x140189bf0
mov dword [rsp + 0x12b0], 0
movzx eax, byte [rsp + 0x12b0]
mov byte [rsp + 0x1240], al
lea rcx, [rsp + 0x1248]
call fcn.140001470
movzx edx, byte [rsp + 0x1240]
test edx, edx
je 0x140189c34
lea rdx, [0x1402412f8]
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403acb30]
call fcn.1400d7d20
jmp 0x140189c69
lea rdx, [0x140241320]
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403acb30]
call fcn.1400d7d20
mov r9d, 1
lea r8, [0x140241348]
xor edx, edx
lea rcx, [0x1403acb30]
call fcn.1400e3600
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x140241358]
lea rcx, [rsp + 0x1258]
call fcn.1400010b0
mov qword [rsp + 0x12b8], rax
mov rcx, qword [rsp + 0x12b8]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.StartDHCP
lea rcx, [0x140241388]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189cce
mov dword [rsp + 0x12c0], 1
jmp 0x140189cd9
mov dword [rsp + 0x12c0], 0
movzx eax, byte [rsp + 0x12c0]
mov byte [rsp + 0x1250], al
lea rcx, [rsp + 0x1258]
call fcn.140001470
movzx edx, byte [rsp + 0x1250]
test edx, edx
je 0x140189d1d
lea rdx, str.Stop_DHCP_Service
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403abc90]
call fcn.1400d7d20
jmp 0x140189d4f
lea rdx, str.Change_DHCP_Service
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403abc90]
call fcn.1400d7d20
lea r8, [0x1402413e8]
mov edx, 0x43
lea rcx, [0x1403abc90]
call fcn.1401104c0
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x1402413f8]
lea rcx, [rsp + 0x1268]
call fcn.1400010b0
mov qword [rsp + 0x12c8], rax
mov rcx, qword [rsp + 0x12c8]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.StartProxyDHCP
lea rcx, [0x140241430]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189db4
mov dword [rsp + 0x12d0], 1
jmp 0x140189dbf
mov dword [rsp + 0x12d0], 0
movzx eax, byte [rsp + 0x12d0]
mov byte [rsp + 0x1260], al
lea rcx, [rsp + 0x1268]
call fcn.140001470
movzx edx, byte [rsp + 0x1260]
test edx, edx
je 0x140189e06
lea rdx, str.Stop_Proxy_DHCP_Service
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403ac010]
call fcn.1400d7d20
jmp 0x140189ed0
lea rdx, str.Change_Proxy_DHCP_Service
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403ac010]
call fcn.1400d7d20
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x1402414a8]
lea rcx, [rsp + 0x1270]
call fcn.1400010b0
mov qword [rsp + 0x12d8], rax
mov rcx, qword [rsp + 0x12d8]
call fcn.1400012c0
mov r9, rax
mov r8d, 0xfab
lea rdx, str.ProxyDhcpPort
lea rcx, [0x1402414e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1010], eax
lea rcx, [rsp + 0x1270]
call fcn.140001470
cmp dword [rsp + 0x1010], 0x43
jne 0x140189eb8
lea rcx, [0x1403abc90]
call fcn.1400d7d20
lea r8, [0x1402414f0]
mov edx, 0x43
lea rcx, [0x1403abc90]
call fcn.1401104c0
jmp 0x140189ed0
lea r8, [0x140241500]
mov edx, 0xfab
lea rcx, [0x1403ac010]
call fcn.1401104c0
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x140241510]
lea rcx, [rsp + 0x1280]
call fcn.1400010b0
mov qword [rsp + 0x12e0], rax
mov rcx, qword [rsp + 0x12e0]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.StartiSCSI
lea rcx, [0x140241540]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1278], eax
lea rcx, [rsp + 0x1280]
call fcn.140001470
cmp dword [rsp + 0x1278], 0
je 0x14018a0b7
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x140241550]
lea rcx, [rsp + 0x1288]
call fcn.1400010b0
mov qword [rsp + 0x12e8], rax
mov rcx, qword [rsp + 0x12e8]
call fcn.1400012c0
mov r9, rax
xor r8d, r8d
lea rdx, str.iSCSIPort
lea rcx, [0x140241580]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1014], eax
lea rcx, [rsp + 0x1288]
call fcn.140001470
cmp dword [rsp + 0x1014], 0
jne 0x14018a070
xor eax, eax
mov word [rsp + 0x1020], ax
lea rdi, [rsp + 0x1022]
xor eax, eax
mov ecx, 0x206
rep stosb byte [rdi], al
mov r8d, 0x104
lea rdx, [rsp + 0x1020]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [rsp + 0x1014], 0xcbc
jmp 0x14018a008
mov eax, dword [rsp + 0x1014]
add eax, 1
mov dword [rsp + 0x1014], eax
cmp dword [rsp + 0x1014], 0xcc1
jae 0x14018a070
mov r8d, 1
mov edx, dword [rsp + 0x1014]
lea rcx, [rsp + 0x1298]
call fcn.1400dae50
mov qword [rsp + 0x12f0], rax
lea rdx, [rsp + 0x1020]
mov rcx, qword [rsp + 0x12f0]
call fcn.140006cf0
mov byte [rsp + 0x1290], al
lea rcx, [rsp + 0x1298]
call fcn.140001470
movzx edx, byte [rsp + 0x1290]
test edx, edx
je 0x14018a06e
jmp 0x14018a070
jmp 0x140189ff7
lea rdx, str.Change_iSCSI_Target_Service
xor ecx, ecx
call fcn.1400dc5d0
lea r8, [rsp + 0x40]
mov edx, dword [rsp + 0x1014]
lea rcx, [0x1403ab660]
call fcn.140138c30
test eax, eax
jne 0x14018a0b5
mov r8d, dword [rsp + 0x1014]
lea rdx, str.iSCSI_Target_Service_Change_Error
lea rcx, [0x1403ad8a0]
call fcn.1401bc8b0
jmp 0x14018a0d1
lea rdx, [0x1402415c8]
xor ecx, ecx
call fcn.1400dc5d0
lea rcx, [0x1403ab660]
call fcn.140138990
mov eax, 1
mov rcx, qword [rsp + 0x12f8]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x1300
pop rdi
ret