Function at 0x1400031d0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
mov rax, qword [0x140035040]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov ebx, r8d
lea rdi, [0x140037970]
mov r13, rdx
mov dword [rsp + 0x40], ebx
mov r9, rdi
lea rdx, str.CurDeviceCount
mov r8d, 1
lea rcx, str.Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor r14d, r14d
mov dword [rsp + 0x44], eax
mov r15d, r14d
mov esi, r14d
test eax, eax
jle 0x1400035c4
mov qword [rsp + 0x490], r12
lea r12, [r13 + 4]
cmp r15d, ebx
jge 0x14000358e
movups xmm0, xmmword [str.CurDeviceFile]
mov eax, dword [0x14002f0c0]
lea rcx, [rbp - 0x24]
xor edx, edx
mov dword [rbp - 0x28], eax
movaps xmmword [rbp - 0x40], xmm0
mov r8d, 0x174
movsd xmm0, qword [0x14002f0b8]
movsd qword [rbp - 0x30], xmm0
call fcn.140024cd0
xor edx, edx
mov word [rbp + 0x1c0], r14w
mov r8d, 0x18e
lea rcx, [rbp + 0x1c2]
call fcn.140024cd0
test esi, esi
je 0x1400032cf
mov edx, 0xc8
lea rcx, [rbp - 0x40]
call fcn.1400170b0
lea rdx, [rbp - 0x40]
mov r8d, 0xa
mov ecx, esi
lea rdx, [rdx + rax*2]
call fcn.140016914
mov qword [rsp + 0x28], rdi
lea r9, [rbp + 0x1c0]
lea r8, [0x14002ecf0]
mov dword [rsp + 0x20], 0xc8
lea rdx, [rbp - 0x40]
lea rcx, str.Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.itv.device
lea rcx, [rbp + 0x1c0]
call fcn.140016da8
test eax, eax
je 0x140003582
lea rdx, str.netclient.device
lea rcx, [rbp + 0x1c0]
call fcn.140016da8
test eax, eax
je 0x140003582
lea rdx, str.ProgMediaClient.Device
lea rcx, [rbp + 0x1c0]
call fcn.140016da8
test eax, eax
je 0x140003582
lea rdx, str.TSReader.Device
lea rcx, [rbp + 0x1c0]
call fcn.140016da8
test eax, eax
je 0x140003582
lea rdx, str.InternetGate.Module
lea rcx, [rbp + 0x1c0]
call fcn.140016da8
test eax, eax
je 0x140003582
lea r8, str.CurDeviceID
mov edx, 0xc8
lea rcx, [rbp - 0x40]
call fcn.140011e20
test esi, esi
je 0x1400033be
mov edx, 0xc8
lea rcx, [rbp - 0x40]
call fcn.1400170b0
lea rdx, [rbp - 0x40]
mov r8d, 0xa
mov ecx, esi
lea rdx, [rdx + rax*2]
call fcn.140016914
mov r9, rdi
lea rdx, [rbp - 0x40]
xor r8d, r8d
lea rcx, str.Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r9d, 0xffffffff
lea r8, [rbp + 0x1c0]
mov r14d, eax
xor edx, edx
xor eax, eax
mov ecx, 0x4e2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x150]
mov dword [rsp + 0x28], 0x64
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, 0x5c
lea rcx, [rbp + 0x150]
lea rbx, [rbp + 0x150]
call fcn.14000e33c
test rax, rax
je 0x140003433
lea rbx, [rax + 1]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140003440
lea eax, [rdi + 0xa]
cmp eax, 0x64
jg 0x14000349b
lea rcx, [rsp + 0x50]
sub rcx, rbx
nop dword [rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140003460
lea rcx, [rsp + 0x50]
call fcn.14001a224
test r14d, r14d
je 0x14000349b
movsxd rax, edi
lea rdx, [rsp + 0x51]
add rdx, rax
mov r8d, 0xa
mov ecx, r14d
mov byte [rsp + rax + 0x50], 0x40
call fcn.1400168e4
movsxd rax, r15d
lea r8, [rsp + 0x50]
imul rbx, rax, 0x330
lea rax, [r13 + 0x194]
mov dword [rsp + 0x28], 0xc8
add rax, rbx
mov r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0x4e2
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r8, str.Caption
mov edx, 0xc8
lea rcx, [rbp - 0x40]
call fcn.140011e20
test esi, esi
je 0x140003510
mov edx, 0xc8
lea rcx, [rbp - 0x40]
call fcn.1400170b0
lea rdx, [rbp - 0x40]
mov r8d, 0xa
mov ecx, esi
lea rdx, [rdx + rax*2]
call fcn.140016914
lea r9, [r13 + 4]
lea rdi, [0x140037970]
add r9, rbx
mov qword [rsp + 0x28], rdi
lea r8, [0x14002ecf0]
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x20], 0xc8
lea rcx, str.Modules
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [r12], 0
jne 0x140003571
lea rax, [rbp + 0x1c0]
sub rbx, rax
lea rdx, [rbp + 0x1c0]
add rbx, r13
nop
movzx ecx, word [rdx]
mov word [rbx + rdx + 4], cx
lea rdx, [rdx + 2]
test cx, cx
jne 0x140003560
mov ebx, dword [rsp + 0x40]
inc r15d
add r12, 0x330
xor r14d, r14d
inc esi
cmp esi, dword [rsp + 0x44]
jl 0x140003251
mov r12, qword [rsp + 0x490]
mov eax, r15d
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.14000bfd0
lea r11, [rsp + 0x460]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret
mov eax, r14d
jmp 0x140003599