Function at 0x408150
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x20c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], 0
mov byte [0x423228], 0
call dword [sym.imp.NTDIOED.dll_DIOEDAOpenCurrentContext]
mov ebx, eax
test ebx, ebx
je 0x40818e
push 0x104
push 0x423228
push str.config
push ebx
call dword [sym.imp.NTDIOED.dll_DIOEDACopyContextPath]
add esp, 0x10
mov ecx, 0x423850
call fcn.00407c60
test ebx, ebx
je 0x4083b9
push str.scs.ini
push 0x423228
lea eax, [esp + 0x120]
push str._s_s
push eax
call fcn.00410c20
mov ecx, dword [esp + 0x230]
add esp, 0x10
lea edx, [esp + 0x118]
push ecx
push edx
call fcn.00408400
add esp, 8
test eax, eax
je 0x4081e3
mov dword [esp + 0x10], 1
mov ebp, dword [sym.imp.NTDIOED.dll_DIOEDACopyContextSymbol]
lea eax, [esp + 0x14]
push 0x104
push eax
push str.DeviceFamily
push ebx
call ebp
mov al, byte [esp + 0x24]
add esp, 0x10
test al, al
je 0x4082dc
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
push ecx
push 0x423228
push str._s_s.fdk
push edx
call fcn.00410c20
add esp, 0x10
lea eax, [esp + 0x118]
lea ecx, [esp + 0x14]
push eax
push 0x104
push ecx
push 0x422748
push str.SchemIni
push str.Device_Kit
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov al, byte [esp + 0x14]
test al, al
je 0x4082dc
lea edx, [esp + 0x14]
push 0x5c
push edx
call fcn.00411730
add esp, 8
test eax, eax
jne 0x408290
lea eax, [esp + 0x14]
lea ecx, [esp + 0x118]
push eax
push 0x423228
push str._s_s
push ecx
call fcn.00410c20
add esp, 0x10
jmp 0x4082b8
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x118]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x220]
lea edx, [esp + 0x118]
push ecx
push edx
call fcn.00408400
add esp, 8
test eax, eax
je 0x4082dc
mov dword [esp + 0x10], 1
lea eax, [esp + 0x14]
push 0x104
push eax
push str.PreferenceFile
push ebx
call ebp
mov al, byte [esp + 0x24]
add esp, 0x10
test al, al
je 0x40837d
lea ecx, [esp + 0x14]
push 0x5c
push ecx
call fcn.00411730
add esp, 8
test eax, eax
jne 0x408331
lea edx, [esp + 0x14]
lea eax, [esp + 0x118]
push edx
push 0x423228
push str._s_s
push eax
call fcn.00410c20
add esp, 0x10
jmp 0x408359
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x118]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x220]
lea edx, [esp + 0x118]
push ecx
push edx
call fcn.00408400
add esp, 8
test eax, eax
je 0x40837d
mov dword [esp + 0x10], 1
lea eax, [esp + 0x14]
push 0x104
push eax
push str.ProjectType
push ebx
call ebp
add esp, 0x10
lea ecx, [esp + 0x14]
push str.Board
push ecx
call fcn.00419770
add esp, 8
neg eax
sbb eax, eax
push ebx
inc eax
mov word [0x423850], ax
call dword [sym.imp.NTDIOED.dll_DIOEDACloseContext]
add esp, 4
push 0x4238a8
push 0
mov ecx, 0x4238b8
call fcn.0040f430
push 0x4238a8
push 0
mov ecx, 0x4238c8
call fcn.0040f430
mov ecx, 0x423850
call fcn.00407ee0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret