Function at 0x43e300
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x47e00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x46dbb9]
mov byte [ebp - 0x84], al
push 0x7f
push 0
lea ecx, [ebp - 0x83]
push ecx
call fcn.0044c410
add esp, 0xc
push 0x80
push 0
lea edx, [ebp - 0x84]
push edx
call fcn.0044c410
add esp, 0xc
push 0x471f78
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x46dbba
push str.HOLD_1
push 0x471f68
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp - 0x84]
mov byte [edx + 0x480588], al
push 0x471fa0
push 0x80
lea ecx, [ebp - 0x84]
push ecx
push 0x46dbbb
push str.HOLD_2
push 0x471f90
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov edx, 1
shl edx, 0
mov al, byte [ebp - 0x84]
mov byte [edx + 0x480588], al
push 0x471fc8
push 0x80
lea ecx, [ebp - 0x84]
push ecx
push 0x46dbca
push str.HOLD_3
push 0x471fb8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov edx, 1
shl edx, 1
mov al, byte [ebp - 0x84]
mov byte [edx + 0x480588], al
push 0x471ff0
push 0x80
lea ecx, [ebp - 0x84]
push ecx
push 0x46dbcb
push str.HOLD_4
push 0x471fe0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp - 0x84]
mov byte [eax + 0x480588], cl
push 0x472018
push 0x80
lea edx, [ebp - 0x84]
push edx
push 0x46dbd9
push str.HOLD_5
push 0x472008
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov eax, 1
shl eax, 2
mov cl, byte [ebp - 0x84]
mov byte [eax + 0x480588], cl
push 0x472040
push 0x80
lea edx, [ebp - 0x84]
push edx
push 0x46dbda
push str.START
push 0x472030
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp - 0x84]
mov byte [ecx + 0x480588], dl
push 0x472068
push 0x80
lea eax, [ebp - 0x84]
push eax
push 0x46dbdb
push str.SW_1
push 0x472058
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov ecx, 1
imul edx, ecx, 6
mov al, byte [ebp - 0x84]
mov byte [edx + 0x480588], al
push 0x472090
push 0x80
lea ecx, [ebp - 0x84]
push ecx
push 0x46dbed
push str.SW_2
push 0x472080
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp - 0x84]
mov byte [eax + 0x480588], cl
push str.res_Data_IoBoard.ini
push 0x80
lea edx, [ebp - 0x84]
push edx
push 0x46dbee
push str.SW_3
push str.IOBOARD
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x88], eax
mov eax, 1
shl eax, 3
mov cl, byte [ebp - 0x84]
mov byte [eax + 0x480588], cl
mov dword [ebp - 0x8c], 0
jmp 0x43e5a1
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 9
jge 0x43e5ec
mov eax, dword [ebp - 0x8c]
movsx ecx, byte [eax + 0x480588]
cmp ecx, 0x61
jl 0x43e5ea
mov edx, dword [ebp - 0x8c]
movsx eax, byte [edx + 0x480588]
cmp eax, 0x7a
jg 0x43e5ea
mov ecx, dword [ebp - 0x8c]
movsx edx, byte [ecx + 0x480588]
sub edx, 0x20
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0x480588], dl
jmp 0x43e592
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00449aef
mov esp, ebp
pop ebp
ret