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

Disassembly:
push rdi
mov eax, 0x1300
call fcn.1401d4c90
sub rsp, rax
mov rax, qword [0x1402a15c0]
xor rax, rsp
mov qword [rsp + 0x12f8], rax
lea rax, [rsp + 0x1230]
mov qword [rsp + 0x1238], rax
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240258]
mov rcx, qword [rsp + 0x1238]
call fcn.1400010b0
mov qword [rsp + 0x12a0], rax
mov rcx, qword [rsp + 0x12a0]
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 rdx, rax
xor eax, eax
mov word [rdx], ax
lea rdx, [0x140240268]
lea rcx, [rsp + 0x810]
call fcn.1400a9444
lea rdx, [rsp + 0x810]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x3e8
lea r9, [rsp + 0x40]
lea r8, [0x140240278]
lea rdx, str.ServerBindIP
lea rcx, [0x1402402a8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x1402402b8]
lea rcx, [rsp + 0x1248]
call fcn.1400010b0
mov qword [rsp + 0x12a8], rax
mov rcx, qword [rsp + 0x12a8]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.StartTFTP
lea rcx, [0x1402402e8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189c75
mov dword [rsp + 0x12b0], 1
jmp 0x140189c80
mov dword [rsp + 0x12b0], 0
movzx eax, byte [rsp + 0x12b0]
mov byte [rsp + 0x1240], al
lea rcx, [rsp + 0x1248]
call fcn.140001490
movzx edx, byte [rsp + 0x1240]
test edx, edx
je 0x140189cc4
lea rdx, [0x1402402f8]
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403abb30]
call fcn.1400d7d30
jmp 0x140189cf9
lea rdx, [0x140240320]
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403abb30]
call fcn.1400d7d30
mov r9d, 1
lea r8, [0x140240348]
xor edx, edx
lea rcx, [0x1403abb30]
call fcn.1400e3670
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240358]
lea rcx, [rsp + 0x1258]
call fcn.1400010b0
mov qword [rsp + 0x12b8], rax
mov rcx, qword [rsp + 0x12b8]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.StartDHCP
lea rcx, [0x140240388]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189d5e
mov dword [rsp + 0x12c0], 1
jmp 0x140189d69
mov dword [rsp + 0x12c0], 0
movzx eax, byte [rsp + 0x12c0]
mov byte [rsp + 0x1250], al
lea rcx, [rsp + 0x1258]
call fcn.140001490
movzx edx, byte [rsp + 0x1250]
test edx, edx
je 0x140189dad
lea rdx, str.Stop_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403aac90]
call fcn.1400d7d30
jmp 0x140189ddf
lea rdx, str.Change_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403aac90]
call fcn.1400d7d30
lea r8, [0x1402403e8]
mov edx, 0x43
lea rcx, [0x1403aac90]
call fcn.140110530
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x1402403f8]
lea rcx, [rsp + 0x1268]
call fcn.1400010b0
mov qword [rsp + 0x12c8], rax
mov rcx, qword [rsp + 0x12c8]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.StartProxyDHCP
lea rcx, [0x140240430]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140189e44
mov dword [rsp + 0x12d0], 1
jmp 0x140189e4f
mov dword [rsp + 0x12d0], 0
movzx eax, byte [rsp + 0x12d0]
mov byte [rsp + 0x1260], al
lea rcx, [rsp + 0x1268]
call fcn.140001490
movzx edx, byte [rsp + 0x1260]
test edx, edx
je 0x140189e96
lea rdx, str.Stop_Proxy_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403ab010]
call fcn.1400d7d30
jmp 0x140189f60
lea rdx, str.Change_Proxy_DHCP_Service
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403ab010]
call fcn.1400d7d30
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x1402404a8]
lea rcx, [rsp + 0x1270]
call fcn.1400010b0
mov qword [rsp + 0x12d8], rax
mov rcx, qword [rsp + 0x12d8]
call fcn.140023510
mov r9, rax
mov r8d, 0xfab
lea rdx, str.ProxyDhcpPort
lea rcx, [0x1402404e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1010], eax
lea rcx, [rsp + 0x1270]
call fcn.140001490
cmp dword [rsp + 0x1010], 0x43
jne 0x140189f48
lea rcx, [0x1403aac90]
call fcn.1400d7d30
lea r8, [0x1402404f0]
mov edx, 0x43
lea rcx, [0x1403aac90]
call fcn.140110530
jmp 0x140189f60
lea r8, [0x140240500]
mov edx, 0xfab
lea rcx, [0x1403ab010]
call fcn.140110530
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240510]
lea rcx, [rsp + 0x1280]
call fcn.1400010b0
mov qword [rsp + 0x12e0], rax
mov rcx, qword [rsp + 0x12e0]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.StartiSCSI
lea rcx, [0x140240540]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1278], eax
lea rcx, [rsp + 0x1280]
call fcn.140001490
cmp dword [rsp + 0x1278], 0
je 0x14018a147
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140240550]
lea rcx, [rsp + 0x1288]
call fcn.1400010b0
mov qword [rsp + 0x12e8], rax
mov rcx, qword [rsp + 0x12e8]
call fcn.140023510
mov r9, rax
xor r8d, r8d
lea rdx, str.iSCSIPort
lea rcx, [0x140240580]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x1014], eax
lea rcx, [rsp + 0x1288]
call fcn.140001490
cmp dword [rsp + 0x1014], 0
jne 0x14018a100
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 0x14018a098
mov eax, dword [rsp + 0x1014]
add eax, 1
mov dword [rsp + 0x1014], eax
cmp dword [rsp + 0x1014], 0xcc1
jae 0x14018a100
mov r8d, 1
mov edx, dword [rsp + 0x1014]
lea rcx, [rsp + 0x1298]
call fcn.1400dae60
mov qword [rsp + 0x12f0], rax
lea rdx, [rsp + 0x1020]
mov rcx, qword [rsp + 0x12f0]
call fcn.140006d50
mov byte [rsp + 0x1290], al
lea rcx, [rsp + 0x1298]
call fcn.140001490
movzx edx, byte [rsp + 0x1290]
test edx, edx
je 0x14018a0fe
jmp 0x14018a100
jmp 0x14018a087
lea rdx, str.Change_iSCSI_Target_Service
xor ecx, ecx
call fcn.1400dc610
lea r8, [rsp + 0x40]
mov edx, dword [rsp + 0x1014]
lea rcx, [0x1403aa660]
call fcn.140138cf0
test eax, eax
jne 0x14018a145
mov r8d, dword [rsp + 0x1014]
lea rdx, str.iSCSI_Target_Service_Change_Error
lea rcx, [0x1403ac8a0]
call fcn.1401bb910
jmp 0x14018a161
lea rdx, [0x1402405c8]
xor ecx, ecx
call fcn.1400dc610
lea rcx, [0x1403aa660]
call fcn.140138a50
mov eax, 1
mov rcx, qword [rsp + 0x12f8]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x1300
pop rdi
ret