Function at 0x401000
Capabilities:
Accept command line arguments
Read .ini file

Disassembly:
push 0x44
push 0
push 0x40455c
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x404560], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x40455c], eax
call fcn.00402800
call fcn.00402651
call fcn.00402470
mov edx, str.INIfile.exe__ver._1.51__c__2006_2009__Horst_Schaeffer_r_n
lea ecx, [0x404568]
call fcn.00402008
call sub.KERNEL32.dll_GetCommandLineA
mov dword [0x40456c], eax
call fcn.00402678
push dword [0x4045a0]
mov eax, 0x22
push eax
mov eax, 0x22
push eax
call fcn.00401706
lea ecx, [0x404570]
pop edx
call fcn.00402010
push dword [0x4045a0]
mov eax, 0x22
push eax
mov eax, 0x22
push eax
call fcn.00401706
lea ecx, [0x404574]
pop edx
call fcn.00402010
push dword [0x404574]
mov edx, 0x40400d
pop ecx
call fcn.00402850
jne 0x4010db
push dword [0x404574]
mov edx, 0x404098
pop ecx
call fcn.00402850
jne 0x4010db
jmp 0x4010e2
mov eax, 1
jmp 0x4010e4
xor eax, eax
and eax, eax
je 0x401136
push dword [0x4045a0]
mov edx, dword [0x404568]
push dword [0x4045a0]
call fcn.00402880
mov eax, dword [0x4045a0]
push eax
push eax
mov ebp, str.Syntax:_r_n___IniFile.exe_IniFilePath__section__parameters_r_nParameters:_____Function:_r_n___itemstring__assign_r_n___item________remove_item_r_n___item_______clear_item_r_n___item_________read_assignment___r_n____remove______remove_section_r_n____none________read_all_assignments_of_section___r_n__________________sends_SET_statement_s__to_STDOUT
push ebp
call fcn.004024a0
pop eax
inc dword [0x4045a0]
mov edx, dword [0x4041f8]
add dword [esp], edx
call fcn.004026e0
pop dword [0x4045a0]
push 0xff
jmp 0x4015fe
push dword [0x4045a0]
push dword [0x404574]
call fcn.0040161e
lea ebp, [0x404598]
lea ecx, [ebp]
pop edx
call fcn.00402010
push dword [ebp]
call fcn.00402536
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x401172
jg 0x40116e
cmp ebx, 0
jb 0x401172
xor eax, eax
jmp 0x401177
mov eax, 1
or eax, eax
je 0x40118f
push str.INI_file_does_not_exist
call fcn.004026e0
push 1
jmp 0x4015fe
push dword [0x4045a0]
mov eax, 0x5d
push eax
mov eax, 0x5b
push eax
call fcn.00401706
lea ebp, [0x404598]
lea ecx, [ebp + 4]
pop edx
call fcn.00402010
push dword [ebp + 4]
mov edx, 0x40400d
pop ecx
call fcn.00402850
je 0x4011d9
push str.Section_name_in_square_brackets_required
call fcn.004026e0
push 2
jmp 0x4015fe
push dword [0x4045a0]
xor eax, eax
push eax
mov eax, 0x22
push eax
call fcn.00401706
lea ecx, [0x404578]
pop edx
call fcn.00402010
push dword [0x4045a0]
xor eax, eax
push eax
xor eax, eax
push eax
call fcn.00401706
lea ecx, [0x40457c]
pop edx
call fcn.00402010
mov edx, dword [0x40457c]
xor ecx, ecx
call fcn.00402850
jne 0x401257
mov edx, dword [0x404578]
push dword [0x4045a0]
call fcn.00402880
mov edx, 0x404046
call fcn.00402880
mov edx, dword [0x40457c]
call fcn.00402880
lea ecx, [0x404578]
pop edx
call fcn.00402010
mov eax, dword [0x4045a0]
push eax
push eax
push dword [0x404578]
call fcn.00402060
lea ecx, [0x404578]
pop edx
call fcn.00402010
push dword [0x404578]
mov edx, 0x40400d
pop ecx
call fcn.00402850
je 0x401297
mov dword [0x404580], 8
jmp 0x4013f6
mov eax, dword [0x4045a0]
push eax
push eax
push dword [0x404578]
call fcn.00402110
inc dword [0x4045a0]
mov edx, str._remove
pop ecx
mov dword [0x4045a0], ecx
add ecx, dword [0x4041f8]
call fcn.00402850
je 0x4012d7
mov dword [0x404580], 0x10
jmp 0x4013f6
mov eax, dword [0x4045a0]
push eax
push eax
mov eax, dword [0x4045a0]
push eax
push eax
push 0x404048
push 1
push dword [0x404578]
call fcn.004021a0
inc dword [0x4045a0]
mov edx, dword [0x4041f8]
add dword [esp], edx
call fcn.00402060
lea ecx, [0x404584]
pop edx
call fcn.00402010
mov edx, 0x40400d
lea ecx, [0x404588]
call fcn.00402008
push 1
push 0x404048
push dword [0x404578]
call fcn.00402240
mov dword [0x40458c], eax
cmp dword [0x40458c], 0
je 0x4013ec
mov eax, dword [0x4045a0]
push eax
push eax
mov eax, dword [0x4045a0]
push eax
push eax
push dword [0x404578]
call fcn.00402320
mov ebx, eax
sub ebx, dword [0x40458c]
push ebx
push dword [0x404578]
call fcn.00402350
inc dword [0x4045a0]
mov edx, dword [0x4041f8]
add dword [esp], edx
call fcn.00402060
lea ecx, [0x404588]
pop edx
call fcn.00402010
push dword [0x404588]
mov edx, 0x40400d
pop ecx
call fcn.00402850
je 0x4013bd
mov dword [0x404580], 2
jmp 0x4013ea
mov dword [0x404580], 1
push dword [0x404588]
mov edx, 0x404048
pop ecx
call fcn.00402850
je 0x4013ea
mov edx, 0x40400d
lea ecx, [0x404588]
call fcn.00402008
jmp 0x4013f6
mov dword [0x404580], 4
mov ebx, dword [0x404580]
and ebx, 1
and ebx, ebx
je 0x401419
push dword [0x404588]
push dword [0x404584]
call fcn.0040192c
jmp 0x4015f2
mov ebx, dword [0x404580]
and ebx, 2
and ebx, ebx
je 0x401447
lea ebp, [0x404598]
push dword [ebp]
push 0
push dword [0x404584]
push dword [ebp + 4]
call sub.KERNEL32.dll_WritePrivateProfileStringA
jmp 0x4015f2
mov ebx, dword [0x404580]
and ebx, 0x10
and ebx, ebx
je 0x401474
lea ebp, [0x404598]
push dword [ebp]
push 0
push 0
push dword [ebp + 4]
call sub.KERNEL32.dll_WritePrivateProfileStringA
jmp 0x4015f2
mov ebx, dword [0x404580]
and ebx, 4
and ebx, ebx
je 0x4014de
mov eax, dword [0x4045a0]
push eax
push eax
mov edx, str.set
call fcn.00402880
mov edx, dword [0x404584]
call fcn.00402880
mov edx, 0x404048
call fcn.00402880
push dword [0x4045a0]
push 0x40400d
push dword [0x404584]
call fcn.00401875
pop eax
inc dword [0x4045a0]
mov edx, dword [0x4041f8]
add dword [esp], edx
call dword [0x4041fc]
pop dword [0x4045a0]
jmp 0x4015f2
mov ebx, dword [0x404580]
and ebx, 8
and ebx, ebx
je 0x4015f2
mov eax, dword [0x4045a0]
push eax
push eax
push 0x400
call fcn.004023c0
lea ecx, [0x404590]
pop edx
call fcn.00402010
mov eax, dword [0x404590]
mov dword [0x404594], eax
lea ebp, [0x404598]
push dword [ebp]
push 0x400
push dword [0x404594]
push 0
push 0
push dword [ebp + 4]
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov eax, dword [0x4045a0]
push eax
push eax
push dword [0x404594]
call fcn.004024a0
lea ecx, [0x404584]
pop edx
call fcn.00402010
mov edx, dword [0x404584]
xor ecx, ecx
call fcn.00402850
jne 0x4015db
mov eax, dword [0x4045a0]
push eax
push eax
mov edx, str.set
call fcn.00402880
mov edx, dword [0x404584]
call fcn.00402880
mov edx, 0x404048
call fcn.00402880
push dword [0x4045a0]
push 0x40400d
push dword [0x404584]
call fcn.00401875
pop eax
inc dword [0x4045a0]
mov edx, dword [0x4041f8]
add dword [esp], edx
call dword [0x4041fc]
pop dword [0x4045a0]
mov ebx, dword [0x404594]
push dword [0x404584]
call fcn.00402320
add ebx, eax
inc ebx
mov dword [0x404594], ebx
push dword [0x404584]
mov edx, 0x40400d
pop ecx
call fcn.00402850
je 0x40153c
push 0
jmp 0x4015fe
call fcn.00401613
push dword [0x40455c]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess