Function at 0x4adfa5
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ec
cmp dword [ebp + 0xc], 0
je 0x4adff2
cmp dword [0x5ea054], 0
je 0x4adff2
cmp dword [0x67aa9c], 0
je 0x4adff2
cmp dword [0x67aaac], 0
jne 0x4adff2
push 0
push 0x67fc1c
push str.Thread_is_running
call fcn.0047a0b0
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4ae976
mov dword [ebp - 0x3e8], 0
push 0x6785ac
call fcn.0054ce70
add esp, 4
test eax, eax
jne 0x4ae054
lea edx, [ebp - 0x4ec]
push edx
call fcn.00529440
add esp, 4
lea eax, [ebp - 0x4ec]
push eax
push 0x6785ac
call fcn.0054be90
add esp, 8
push 0x5c4060
push 0x6785ac
call fcn.0054bea0
add esp, 8
push str.default.ini
push 0x6785ac
call fcn.0054bea0
add esp, 8
push 0x5eddc0
push 0
push str.OpenShortTest
push 0x5c4080
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x67aa68], eax
push 0x6785ac
push 0
push str.RESERVEZONE
push 0x5c4094
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x673c44], eax
mov dword [ebp - 0x2c8], 0x673c44
push 0x6785ac
push 9
push str.CDROMSIZE
push 0x5c40a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5e9ff4], eax
mov dword [ebp - 0x2c4], 0x5e9ff4
push 0x6785ac
push 0
push str.HIDDENAREASIZE
push 0x5c40c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5e9ff0], eax
mov dword [ebp - 0x2b8], 0x5e9ff0
push 0x6785ac
push 0
push str.ENABLESTATICCDROM
push 0x5c40dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee018], eax
mov dword [ebp - 0x2e0], 0x5ee018
push 0x6785ac
push 0
push str.ENABLESECURITYDISKSUPPORT
push 0x5c4100
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee014], eax
mov dword [ebp - 0x2a4], 0x5ee014
push 0x6785ac
push 0
push str.ENABLEMODEC
push 0x5c4114
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee010], eax
mov dword [ebp - 0x2a0], 0x5ee010
push 0x6785ac
push 0
push str.ENABLEMODECPUBONLY
push 0x5c4130
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee00c], eax
mov dword [ebp - 0x29c], 0x5ee00c
push 0x6785ac
push 0
push str.MODECPRELOAD
push 0x5c4148
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea138], eax
mov dword [ebp - 0x298], 0x5ea138
push 0x6785ac
push 0
push str.MODEAPUBLICSIZE
push 0x5c4160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea144], eax
mov dword [ebp - 0x294], 0x5ea144
push 0x6785ac
push 0
push str.MODECPUBLICSIZE
push 0x5c4178
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea140], eax
mov dword [ebp - 0x290], 0x5ea140
push 0x6785ac
push 0
push str.MODECSECURITYSIZE
push 0x5c4194
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea13c], eax
mov dword [ebp - 0x28c], 0x5ea13c
push 0x6785ac
push 0
push str.ENABLESWSERIAL
push 0x5c41ac
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee004], eax
mov dword [ebp - 0x2d8], 0x5ee004
push 0x6785ac
push 0
push str.SWAUTODATEMASK
push 0x5c41c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee008], eax
mov dword [ebp - 0x2dc], 0x5ee008
push 0x6785ac
push 3
push str.SWDATEMASKSTART
push 0x5c41dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5e9fec], eax
mov dword [ebp - 0x2c0], 0x5e9fec
push 0x6785ac
push 0
push str.ENABLEPRELOADBINARY
push 0x5c41f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edff8], eax
mov dword [ebp - 0x2d0], 0x5edff8
push 0x6785ac
push 0
push str.ENABLEPRELOADHidden
push 0x5c4214
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edff4], eax
mov dword [ebp - 0x2cc], 0x5edff4
push 0x6785ac
push 0xa
push str.SWDATEMASKEND
push 0x5c422c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5e9fe8], eax
mov dword [ebp - 0x2bc], 0x5e9fe8
push 0x6785ac
push 0
push str.ENABLESERVERSNSUPPORT
push 0x5c424c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfd4], eax
cmp dword [0x5edf6c], 0
je 0x4ae325
mov dword [0x5edfd4], 1
mov dword [ebp - 0x274], 0x5edf6c
mov dword [ebp - 0x278], 0x5edfd4
push 0x6785ac
push 0x7f000001
push str.SERVERIPADDRESS
push 0x5c4264
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea134], eax
mov dword [ebp - 0x270], 0x5ea134
push 0x6785ac
push 0x9dd
push str.SERVERPORTNUMBER
push 0x5c4280
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ea130], eax
mov dword [ebp - 0x26c], 0x5ea130
push 0x6785ac
push 0
push str.ENABLEFLOPPYSUPPORT
push 0x5c429c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfe8], eax
mov dword [ebp - 0x248], 0x5edfe8
push 0x6785ac
push 0
push str.ENABLEFLOPPYFORMAT
push 0x5c42b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfe4], eax
mov dword [ebp - 0x244], 0x5edfe4
push 0x6785ac
push 0
push str.ENABLEFLOPPYONLY
push 0x5c42d4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfe0], eax
push 0x6785ac
push 0
push str.ENABLEFLOPPYPRELOAD
push 0x5c42f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfd8], eax
mov dword [ebp - 0x240], 0x5edfd8
push 0x6785ac
push 0x104
push 0x5ed1c8
push 0x67fc20
push str.FLOPPYPRELOADPATH
push 0x5c430c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x23c], 0x5ed1c8
push 0x6785ac
push 0
push str.ENABLEPLCSHOW
push 0x5c4324
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfd0], eax
mov dword [ebp - 0x238], 0x5edfd0
push 0x5eddc0
push 0
push str.EnableNetPLC
push 0x5c433c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edf54], eax
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.0054bf90
add esp, 0xc
push 0x5eddc0
push pe_nt_image_headers32
lea edx, [ebp - 0x3e0]
push edx
push 0
push str.NetPLCHandlerIP
push 0x5c4354
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x3e0]
push eax
push 0x5c435c
push 0x5edf50
call fcn.0055f827
add esp, 0xc
push 0x5eddc0
push 0
push str.NetPLCHandlerPort
push 0x5c4374
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edf4c], eax
push 0x5eddc0
push 0
push str.NetPLCMPPort
push 0x5c438c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edf48], eax
push 0x6785ac
push 0
push str.APREADONLY
push 0x5c43a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfbc], eax
mov dword [ebp - 0x228], 0x5edfbc
push 0x5eddc0
push 0
push str.ENABLECONTROLPORT
push 0x5c43bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfb8], eax
mov dword [ebp - 0x21c], 0x5edfb8
push 0x6785ac
push 0x20
push 0x5ed1a8
push 0x67fc24
push str.RUNCARDNO
push 0x5c43d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
push 0x20
push 0x5ed1a8
lea ecx, [ebp - 0x268]
push ecx
call fcn.0054c7e0
add esp, 0xc
push 0x6785ac
push 0x29
push 0x5ed500
push 0x67fc28
push str.SWSERIALBEGIN
push 0x5c43e8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x2b4], 0x5ed500
push 0x6785ac
push 0x29
push 0x5ed4d4
push str.AAYYYYMMDD
push str.SWSERIALMASK
push 0x5c4418
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x2b0], 0x5ed4d4
push 0x6785ac
push 0
push str.AUTOINCREASESN
push 0x5c4430
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5ee000], eax
mov dword [ebp - 0x2d4], 0x5ee000
push 0x6785ac
push 0x104
push 0x5ed3d0
push 0x67fc2c
push str.PRELOADBINARYPATH
push 0x5c444c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x2ac], 0x5ed3d0
push 0x6785ac
push 0x20
push 0x679360
push 0x67fc30
push str.BinAreaPasswd
push 0x5c4464
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x218], 0x679360
push 0x6785ac
push 0x104
push 0x679258
push 0x67fc34
push str.SecPreloadPath
push 0x5c447c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x214], 0x679258
push 0x6785ac
push 0
push str.EnableSecPreload
push 0x5c4498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x67935c], eax
mov dword [ebp - 0x210], 0x67935c
push 0x6785ac
push 0x104
push 0x5ed2cc
push 0x67fc38
push 0x5c44a0
push 0x5c44b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x2a8], 0x5ed2cc
push 0x6785ac
push 0x104
push 0x5ed2cc
push 0x67fc3c
push str.PRELOADHIDDENPATH
push 0x5c44d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x2a8], 0x5ed2cc
push 0x5eddc0
push 0
push str.UNIQUESN
push 0x5c44e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edfc0], eax
mov dword [ebp - 0x230], 0x5edfc0
push 0x5eddc0
push 0x104
push 0x5ebe74
push 0x67fc40
push str.UNIQUESNPATH
push 0x5c44fc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x22c], 0x5ebe74
lea edx, [ebp - 0x104]
push edx
call fcn.00529440
add esp, 4
push 0x5c4504
lea eax, [ebp - 0x104]
push eax
call fcn.0054bea0
add esp, 8
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4ae835
lea edx, [ebp - 0x104]
push edx
push 0
push 0x5c4514
push 0x5c4524
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x104]
push eax
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0x67fc44
push 0x5c452c
push 0x5c4540
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
jmp 0x4ae87e
push 0x6785ac
push 0
push str.ENABLEFIRSTINI
push 0x5c4558
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x108], eax
push 0x6785ac
push 0x104
lea edx, [ebp - 0x20c]
push edx
push 0x67fc48
push str.FIRSTINIFILENAME
push 0x5c4574
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
push 0x6785ac
push 0x10
push 0x5ed560
push 0x67fc4c
push str.PUBLICLABEL
push 0x5c4588
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x288], 0x5ed560
push 0x6785ac
push 0x10
push 0x5ed550
push 0x67fc50
push str.SECURITYLABEL
push 0x5c45a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x284], 0x5ed550
push 0x6785ac
push 0x11
push 0x5ed52c
push 0x5c45a8
push str.SECURITYPWD
push 0x5c45bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x27c], 0x5ed52c
push 0x6785ac
push 1
push str.PLAINCODE
push 0x5c45d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5edf98], eax
push 0x6785ac
push 0x10
push 0x5ed540
push 0x67fc54
push str.APPLABEL
push 0x5c45e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x280], 0x5ed540
lea eax, [ebp - 0x108]
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x220], ecx
mov esp, ebp
pop ebp
ret