Function at 0x402614
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13c0
call fcn.0040be90
push edi
push 0
push 0x401441
push 0
push 0x65
mov eax, dword [0x4a5d28]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x4a5540], eax
push 0xbf9
push 0xc27
push 0xbf9
mov ecx, dword [0x4a5540]
push ecx
call fcn.00409878
add esp, 0x10
push 0x3e8
lea edx, [ebp - 0x13c0]
push edx
push 0xc61
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x13c0]
push eax
push 0
push 0xc6c
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409725
add esp, 0xc
push 0x3e8
lea edx, [ebp - 0x13c0]
push edx
push 0xc62
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x13c0]
push eax
push 1
push 0xc6c
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409725
add esp, 0xc
mov dword [ebp - 0x3ec], 0
jmp 0x4026ff
mov edx, dword [ebp - 0x3ec]
add edx, 1
mov dword [ebp - 0x3ec], edx
cmp dword [ebp - 0x3ec], 0x10
jge 0x40274a
mov eax, dword [ebp - 0x3ec]
add eax, 1
push eax
push 0x40e9f4
lea ecx, [ebp - 0x3e8]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x3e8]
push edx
push 0xc07
mov eax, dword [0x4a5540]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040976f
add esp, 8
jmp 0x4026f0
push 0
push 0xc07
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409789
add esp, 8
push 0x32
lea edx, [ebp - 0xfd8]
push edx
push 0xc6a
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xfd8]
push eax
push 0xc67
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040976f
add esp, 8
push 0x32
lea edx, [ebp - 0xfd8]
push edx
push 0xc69
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xfd8]
push eax
push 0xc67
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040976f
add esp, 8
push 0x32
lea edx, [ebp - 0xfd8]
push edx
push 0xc68
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xfd8]
push eax
push 0xc67
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040976f
add esp, 8
push 0x40e9fc
push 0x32
lea edx, [ebp - 0xfd8]
push edx
push 0x40ea0c
push 0x40ea14
push 0x40ea20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x40ea28
lea eax, [ebp - 0xfd8]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4028a2
push 1
push 0xc67
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409789
add esp, 8
push str.._s48300.ini
push str.medium
push str.scan_speed
push str.main
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov dword [0x40efdc], 1
jmp 0x402921
push 0x40ea5c
lea edx, [ebp - 0xfd8]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4028e2
push 2
push 0xc67
mov eax, dword [0x4a5540]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409789
add esp, 8
mov dword [0x40efdc], 2
jmp 0x402921
push str.high
lea ecx, [ebp - 0xfd8]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x402921
push 0
push 0xc67
mov edx, dword [0x4a5540]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409789
add esp, 8
mov dword [0x40efdc], 0
mov eax, dword [0x40ea68]
mov dword [ebp - 0xfa4], eax
mov cl, byte [0x40ea6c]
mov byte [ebp - 0xfa0], cl
mov ecx, 0xf8
xor eax, eax
lea edi, [ebp - 0xf9f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edx, dword [0x40ea70]
mov dword [ebp - 0xbbc], edx
mov al, byte [0x40ea74]
mov byte [ebp - 0xbb8], al
mov ecx, 0xf8
xor eax, eax
lea edi, [ebp - 0xbb7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [0x40ea78]
mov dword [ebp - 0x7d4], ecx
mov dx, word [0x40ea7c]
mov word [ebp - 0x7d0], dx
mov ecx, 0xf8
xor eax, eax
lea edi, [ebp - 0x7ce]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x3ec], 0
jmp 0x4029b9
mov eax, dword [ebp - 0x3ec]
add eax, 1
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 3
jge 0x4029f2
mov ecx, dword [ebp - 0x3ec]
imul ecx, ecx, 0x3e8
lea edx, [ebp + ecx - 0xfa4]
push edx
push 0xc09
mov eax, dword [0x4a5540]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040976f
add esp, 8
jmp 0x4029aa
push 2
push 0xc09
mov ecx, dword [0x4a5540]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00409789
add esp, 8
pop edi
mov esp, ebp
pop ebp
ret