Function at 0x404d90
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x464ce4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, edx
push esi
push 0
push str.count
push str.main
mov ebx, ecx
mov dword [ebp - 0x464], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
push 0x104
mov dword [ebx + 0xb6c], eax
lea eax, [ebx + 0xb70]
push eax
push 0x45d83c
push 0x45dd10
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor edi, edi
mov dword [ebp - 0x45c], edi
cmp dword [ebx + 0xb6c], edi
jg 0x404e1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043836a
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x464]
push 0x410
lea ecx, [ebp - 0x458]
push 0
push ecx
call fcn.0043a230
push edi
push str.file__d
lea edx, [ebp - 0x48]
call fcn.00405e90
add esp, 0x14
push esi
push 0x104
lea edx, [ebp - 0x458]
push edx
push 0x45d83c
lea eax, [ebp - 0x48]
push eax
push str.update
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
push str.md5__d
lea edx, [ebp - 0x48]
call fcn.00405e90
add esp, 8
push esi
push 0x104
lea ecx, [ebp - 0x250]
push ecx
push 0x45d83c
lea edx, [ebp - 0x48]
push edx
push str.update
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebx + 0xd7c]
lea eax, [ebp - 0x458]
cmp eax, ecx
jae 0x404f5a
mov eax, dword [ebx + 0xd78]
lea edx, [ebp - 0x458]
cmp eax, edx
ja 0x404f5a
mov edi, dword [ebx + 0xd80]
sub edx, eax
mov eax, 0x7e07e07f
imul edx
sar edx, 9
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, edi
jne 0x404f3e
sub ecx, dword [ebx + 0xd78]
mov eax, 0x7e07e07f
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x3f03ef
ja 0x405015
sub edi, dword [ebx + 0xd78]
mov eax, 0x7e07e07f
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x404f3e
mov edx, eax
shr edx, 1
mov edi, 0x3f03f0
sub edi, edx
cmp edi, eax
jae 0x404f2a
xor eax, eax
jmp 0x404f2c
add eax, edx
cmp eax, ecx
jae 0x404f32
mov eax, ecx
push eax
lea ecx, [ebx + 0xd78]
call fcn.00405ca0
mov edi, dword [ebx + 0xd7c]
imul esi, esi, 0x410
add esi, dword [ebx + 0xd78]
test edi, edi
je 0x404fdf
jmp 0x404fd8
mov esi, dword [ebx + 0xd80]
cmp ecx, esi
jne 0x404fc8
mov edi, dword [ebx + 0xd78]
sub ecx, edi
mov eax, 0x7e07e07f
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x3f03ef
ja 0x405015
sub esi, edi
mov eax, 0x7e07e07f
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x404fc8
mov edx, eax
shr edx, 1
mov esi, 0x3f03f0
sub esi, edx
cmp esi, eax
jae 0x404fb4
xor eax, eax
jmp 0x404fb6
add eax, edx
cmp eax, ecx
jae 0x404fbc
mov eax, ecx
push eax
lea ecx, [ebx + 0xd78]
call fcn.00405ca0
mov edi, dword [ebx + 0xd7c]
test edi, edi
je 0x404fdf
lea esi, [ebp - 0x458]
mov ecx, 0x104
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x45c]
add dword [ebx + 0xd7c], 0x410
inc eax
mov ecx, ebx
mov dword [ebp - 0x45c], eax
cmp eax, dword [ecx + 0xb6c]
jl 0x404e10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043836a
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.004061fd
int3