Function at 0x1001d984
Capabilities:
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x8004]
mov eax, 0x8004
call fcn.1003e730
push 0xffffffffffffffff
push 0x10041cc0
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10071ef0]
xor eax, ebp
mov dword [ebp + 0x8000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
push esi
mov ebx, ecx
call fcn.10005577
pop ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.10002f76
push 0x8000
lea eax, [ebp]
push esi
push eax
mov dword [ebp - 4], esi
call sub.MSVCR80.dll_memset
push str.Profiles.ini
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10004f0e
add esp, 0x18
push dword [ebp - 0x10]
lea eax, [ebp]
push 0x4000
push eax
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edi, [ebp]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
cmp word [ebp], si
mov byte [ebp - 4], 2
je 0x1001da75
push edi
lea ecx, [ebp - 0x18]
call fcn.10002f76
push edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.10002f76
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.100032a4
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.1000167f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 0xc]
lea edi, [edi + ecx*2 + 2]
lea ecx, [eax - 0x10]
mov byte [ebp - 4], 2
call fcn.1000167f
cmp word [edi], si
jne 0x1001da27
cmp dword [ebp - 0x24], esi
jne 0x1001da7a
mov dword [ebp - 0x30], esi
jmp 0x1001da86
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
sar eax, 2
mov dword [ebp - 0x30], eax
lea ecx, [ebx + 0x24]
mov dword [ebp - 0x2c], ecx
call fcn.10017b4b
xor edi, edi
cmp dword [ebp - 0x30], esi
jle 0x1001dd8f
push 0x70
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x1001dab2
push esi
mov ecx, eax
call fcn.1001d1a6
jmp 0x1001dab4
xor eax, eax
push eax
lea ecx, [ebp - 0x14]
call fcn.10011e8d
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.100180c1
mov esi, dword [ebp - 0x14]
push dword [eax]
lea ecx, [esi + 0x30]
call fcn.100073a5
push str.Caption
lea ecx, [ebp - 0x5c]
call fcn.10002f76
lea ecx, [ebp - 0x18]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
call fcn.1001d6f0
push dword [eax]
lea ecx, [esi + 0x24]
mov byte [ebp - 4], 7
call fcn.100073a5
mov ecx, dword [ebp - 0x40]
add ecx, 0xfffffff0
call fcn.1000167f
mov ecx, dword [ebp - 0x5c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.ProtectDescriptionId
lea ecx, [ebp - 0x64]
call fcn.10002f76
lea ecx, [ebp - 0x18]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x28], eax
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.Plugin
lea ecx, [ebp - 0x60]
call fcn.10002f76
lea ecx, [ebp - 0x18]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x38]
push eax
mov ecx, ebx
call fcn.1001d6f0
push dword [eax]
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0xa
call fcn.100073a5
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
call fcn.1000167f
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.Subchannel
lea ecx, [ebp - 0x48]
call fcn.10002f76
lea ecx, [esi + 0x5c]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x58], eax
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.Retries
lea ecx, [ebp - 0x58]
call fcn.10002f76
lea ecx, [esi + 0x3c]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x38], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.RetryLogic
lea ecx, [ebp - 0x50]
call fcn.10002f76
lea ecx, [esi + 0x44]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x40], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.SplitSize
lea ecx, [ebp - 0x3c]
call fcn.10002f76
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x4c]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x48], eax
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.DPMSpeed
lea ecx, [ebp - 0x44]
call fcn.10002f76
lea ecx, [esi + 0x54]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xf
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x50], eax
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push 0x1004781c
lea ecx, [ebp - 0x4c]
call fcn.10002f76
lea ecx, [esi + 0x6c]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x10
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x68], eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
push str.DPMPrecision
lea ecx, [ebp - 0x54]
call fcn.10002f76
lea ecx, [esi + 0x64]
push ecx
push eax
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.100180c1
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1001d776
mov dword [esi + 0x60], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.1000167f
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x14]
push eax
call fcn.10018be2
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 2
call dword [eax + 8]
inc edi
xor esi, esi
cmp edi, dword [ebp - 0x30]
jl 0x1001da9c
mov ecx, dword [ebp - 0x2c]
call fcn.1001782a
test eax, eax
jne 0x1001de38
push 0x70
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x1001ddb5
push esi
mov ecx, eax
call fcn.1001d1a6
jmp 0x1001ddb7
xor eax, eax
push eax
lea ecx, [ebp - 0x14]
call fcn.10011e8d
mov edi, dword [ebp - 0x14]
push str.AC6DD2EB_4EED_4b08_A8B5_C38D5CF74FD0
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 0x12
call fcn.100073a5
push str.Data_Disc
lea ecx, [edi + 0x24]
call fcn.100073a5
push str.FF617E41_6A5A_4CFA_B0AF_581552B5C8EF
lea ecx, [edi + 0x2c]
mov dword [edi + 0x28], esi
call fcn.100073a5
mov ecx, dword [ebp - 0x2c]
mov dword [edi + 0x58], esi
mov dword [edi + 0x38], 3
xor eax, eax
inc eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x48], esi
mov dword [edi + 0x50], esi
mov dword [edi + 0x68], esi
mov dword [edi + 0x60], esi
mov dword [edi + 0x5c], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x54], esi
lea eax, [ebp - 0x14]
mov dword [edi + 0x6c], esi
push eax
mov dword [edi + 0x64], esi
call fcn.10018be2
mov eax, dword [edi]
push edi
mov byte [ebp - 4], 2
call dword [eax + 8]
lea ecx, [ebp - 0x28]
call fcn.10002fb7
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.1000167f
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.1000167f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x8000]
xor ecx, ebp
call fcn.1003e70b
add ebp, 0x8004
leave
ret