Function at 0x40a300
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x5000
call fcn.0041e640
push ebx
push esi
mov ebx, dword [ebp + 8]
mov eax, dword [0x43fd3c]
test eax, eax
je 0x40a322
push eax
call fcn.0041f190
pop ecx
mov eax, dword [0x43fd38]
test eax, eax
je 0x40a332
push eax
call fcn.0041f190
pop ecx
push 2
push 0x2800
call fcn.0041f1c0
add esp, 8
mov dword [0x43fd3c], eax
push 2
push 0x2800
call fcn.0041f1c0
add esp, 8
mov dword [0x43fd38], eax
mov word [ebp - 0x5000], 0
push ebx
push 0x2800
lea eax, [ebp - 0x5000]
push eax
push str.date_format_chars
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea esi, [ebp - 0x5000]
cmp word [esi], 0
je 0x40a3d3
jmp 0x40a3c4
mov ax, word [esi]
test ax, ax
je 0x40a3b9
cmp ax, 0x7c90
je 0x40a3b9
push esi
mov eax, dword [0x43fd3c]
push eax
call fcn.0041e5f0
add esp, 8
push 0x427efa
mov eax, dword [0x43fd3c]
push eax
call fcn.0041e5f0
add esp, 8
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a3b9
cmp word [esi], 0
jne 0x40a389
cmp word [esi - 2], 0
jne 0x40a389
jmp 0x40a3f1
mov ecx, dword [0x43fd3c]
mov edx, str.d_tDay_of_month_as_digits_with_no_leading_zero_for_single_digit_days._ndd_tDay_of_month_as_digits_with_leading_zero_for_single_digit_days._nddd_tDay_of_week_as_a_three_letter_abbreviation._ndddd_tDay_of_week_as_its_full_name._nM_tMonth_as_digits_with_no_leading_zero_for_single_digit_months._nMM_tMonth_as_digits_with_leading_zero_for_single_digit_months._nMMM_tMonth_as_a_three_letter_abbreviation._nMMMM_tMonth_as_its_full_name._ny_tYear_as_last_two_digits__but_with_no_leading_zero_for_years_less_than_10._nyy_tYear_as_last_two_digits__but_with_leading_zero_for_years_less_than_10._nyyyy_tYear_represented_by_full_four_digits.
push ecx
sub ecx, edx
mov ax, word [edx]
mov word [ecx + edx], ax
add edx, 2
test ax, ax
jne 0x40a3e1
pop eax
mov word [ebp - 0x5000], 0
push ebx
push 0x2800
lea eax, [ebp - 0x5000]
push eax
push str.time_format_chars_h12
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea esi, [ebp - 0x5000]
cmp word [esi], 0
je 0x40a46a
jmp 0x40a45b
mov ax, word [esi]
test ax, ax
je 0x40a450
cmp ax, 0x7c90
je 0x40a450
push esi
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
push 0x427efa
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a450
cmp word [esi], 0
jne 0x40a420
cmp word [esi - 2], 0
jne 0x40a420
jmp 0x40a488
mov ecx, dword [0x43fd38]
mov edx, str.h_tHours_with_no_leading_zero_for_single_digit_hours__12_hour_clock._nhh_tHours_with_leading_zero_for_single_digit_hours__12_hour_clock._n
push ecx
sub ecx, edx
mov ax, word [edx]
mov word [ecx + edx], ax
add edx, 2
test ax, ax
jne 0x40a478
pop eax
mov word [ebp - 0x5000], 0
push ebx
push 0x2800
lea eax, [ebp - 0x5000]
push eax
push str.time_format_chars_h24
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea esi, [ebp - 0x5000]
cmp word [esi], 0
je 0x40a501
jmp 0x40a4f2
mov ax, word [esi]
test ax, ax
je 0x40a4e7
cmp ax, 0x7c90
je 0x40a4e7
push esi
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
push 0x427efa
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a4e7
cmp word [esi], 0
jne 0x40a4b7
cmp word [esi - 2], 0
jne 0x40a4b7
jmp 0x40a51f
mov ecx, dword [0x43fd38]
mov edx, str.H_tHours_with_no_leading_zero_for_single_digit_hours__24_hour_clock._nHH_tHours_with_leading_zero_for_single_digit_hours__24_hour_clock._n
push ecx
sub ecx, edx
mov ax, word [edx]
mov word [ecx + edx], ax
add edx, 2
test ax, ax
jne 0x40a50f
pop eax
mov word [ebp - 0x5000], 0
push ebx
push 0x2800
lea eax, [ebp - 0x5000]
push eax
push str.time_format_chars
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea esi, [ebp - 0x5000]
cmp word [esi], 0
je 0x40a598
jmp 0x40a589
mov ax, word [esi]
test ax, ax
je 0x40a57e
cmp ax, 0x7c90
je 0x40a57e
push esi
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
push 0x427efa
mov eax, dword [0x43fd38]
push eax
call fcn.0041e5f0
add esp, 8
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a57e
cmp word [esi], 0
jne 0x40a54e
cmp word [esi - 2], 0
jne 0x40a54e
jmp 0x40a5b6
mov ecx, dword [0x43fd38]
mov edx, str.m_tMinutes_with_no_leading_zero_for_single_digit_minutes._nmm_tMinutes_with_leading_zero_for_single_digit_minutes._ns_tSeconds_with_no_leading_zero_for_single_digit_seconds._nss_tSeconds_with_leading_zero_for_single_digit_seconds._nt_tOne_character_time_marker_string__such_as_A_or_P._ntt_tMulticharacter_time_marker_string__such_as_AM_or_PM._n
push ecx
sub ecx, edx
mov ax, word [edx]
mov word [ecx + edx], ax
add edx, 2
test ax, ax
jne 0x40a5a6
pop eax
mov esi, dword [0x43fd3c]
jmp 0x40a5c9
cmp word [esi], 0x3d
jne 0x40a5c9
mov word [esi], 9
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a5be
mov esi, dword [0x43fd38]
jmp 0x40a5e7
cmp word [esi], 0x3d
jne 0x40a5e7
mov word [esi], 9
mov eax, esi
add esi, 2
cmp word [eax], 0
jne 0x40a5dc
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4