Function at 0x401981
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x108
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push edi
mov esi, str.ATM.INI
push esi
push 0x40
push 0x408060
push 0x4057a0
push str.FirstDrive
mov edi, str.ATM_Drive
push edi
call ebp
push esi
push 0x40
push 0x407530
mov ebx, 0x405784
push ebx
push str.SecondDrive
push edi
call ebp
push esi
push 0x40
push 0x407b08
push ebx
push str.SecondPrgDrive
push edi
call ebp
push esi
push 0x40
pop ebx
push ebx
push 0x4075b0
push str.ATMKioskocxOCX.BAT
push str.RegOCXBatch
push str.OCX_Register
call ebp
push esi
push ebx
push 0x407b50
mov edi, str.NOT_DEFINED
push edi
push str.FepProcess
push str.FEP_Setup
call ebp
push esi
push ebx
push 0x4070a0
push edi
push str.HostProcess
push str.Host_Setup
call ebp
push esi
push ebx
push 0x407290
push str.ATMHARPSETUP.EXE
push str.SetupProcess
mov edi, str.ATM_Setup
push edi
call ebp
push esi
push 0
push str.SetupStatus
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call edi
push esi
push 0x100
mov dword [0x407580], eax
lea eax, [esp + 0x20]
push eax
push 0x4055ab
push str.ATMSIM
push str.ATM_Debug
call ebp
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push 0x4056a4
lea eax, [esp + 0x1c]
push eax
call ebx
neg eax
sbb eax, eax
push esi
inc eax
push 0x100
mov dword [0x407dd8], eax
lea eax, [esp + 0x20]
push eax
push 0x4055ab
push str.BKLIGHT
push str.ATM_Debug
call ebp
push 0x4056a4
lea eax, [esp + 0x1c]
push eax
call ebx
push esi
neg eax
push 0
sbb eax, eax
push str.BitsPerPel
inc eax
mov ebx, str.Startup_Display_Setting
push ebx
mov dword [0x4075a4], eax
call edi
push esi
push 0
push str.VRefresh
push ebx
mov dword [0x407bb4], eax
call edi
push esi
push 0
push str.PelsWidth
push ebx
mov dword [0x407bb8], eax
call edi
push esi
push 0
push str.PelsHeight
push ebx
mov dword [0x407af8], eax
call edi
push esi
push 0
push str.BitsPerPel
mov ebx, str.Shutdown_Display_Setting
push ebx
mov dword [0x4075ac], eax
call edi
push esi
push 0
push str.VRefresh
push ebx
mov dword [0x407b00], eax
call edi
push esi
push 0
push str.PelsWidth
push ebx
mov dword [0x407b90], eax
call edi
push esi
push 0
push str.PelsHeight
push ebx
mov dword [0x407524], eax
call edi
push esi
push 0
push 0x405634
push str.RAS_Admin
mov dword [0x407b48], eax
call edi
push 5
pop ecx
cmp eax, ecx
mov dword [0x407188], eax
jbe 0x401b63
mov dword [0x407188], ecx
push esi
push 0x100
lea eax, [esp + 0x20]
push eax
push 0x4055ab
push 0
push str.ATM_Key
call ebp
and dword [esp + 0x14], 0
cmp byte [esp + 0x18], 0
lea ebx, [esp + 0x18]
je 0x401bd6
mov eax, 0x4075f8
mov dword [esp + 0x10], eax
jmp 0x401b9b
mov eax, dword [esp + 0x10]
cmp byte [ebx + 1], 0
mov byte [eax], 0
jne 0x401bd6
mov cl, byte [ebx]
push esi
push 0x3f
mov byte [eax], cl
inc eax
push eax
push 0x4055ab
push ebx
push str.ATM_Key
call ebp
mov eax, dword [0x40702c]
inc ebx
inc ebx
dec eax
cmp dword [esp + 0x14], eax
jge 0x401bd6
inc dword [esp + 0x14]
add dword [esp + 0x10], 0x40
cmp byte [ebx], 0
jne 0x401b97
push str.C:DK1ATMDataTblAtmbrows.tbl
push 0
push str.ScreenSet
push str.main
call edi
test ax, ax
mov ebx, str.SPL_Window
jne 0x401c09
push esi
push dword [0x407af8]
push str.SplWindowX
push ebx
call edi
mov dword [0x408260], eax
jmp 0x401c10
and dword [0x408260], 0
push esi
push 0
push str.SplWindowY
push ebx
call edi
pop edi
pop esi
pop ebp
mov dword [0x408264], eax
pop ebx
add esp, 0x108
ret