Function at 0x406eb0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x4710b0]
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 + 0xdd8], eax
lea eax, [ebx + 0xddc]
push eax
push 0x46872c
push 0x469228
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor edi, edi
mov dword [ebp - 0x45c], edi
cmp dword [ebx + 0xdd8], edi
jg 0x406f3c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043db8a
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.004426d0
push edi
push str.file__d
lea edx, [ebp - 0x48]
call fcn.00409790
add esp, 0x14
push esi
push 0x104
lea edx, [ebp - 0x458]
push edx
push 0x46872c
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.00409790
add esp, 8
push esi
push 0x104
lea ecx, [ebp - 0x250]
push ecx
push 0x46872c
lea edx, [ebp - 0x48]
push edx
push str.update
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebx + 0xfe8]
lea eax, [ebp - 0x458]
cmp eax, ecx
jae 0x40707a
mov eax, dword [ebx + 0xfe4]
lea edx, [ebp - 0x458]
cmp eax, edx
ja 0x40707a
mov edi, dword [ebx + 0xfec]
sub edx, eax
mov eax, 0x7e07e07f
imul edx
sar edx, 9
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, edi
jne 0x40705e
sub ecx, dword [ebx + 0xfe4]
mov eax, 0x7e07e07f
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x3f03ef
ja 0x407135
sub edi, dword [ebx + 0xfe4]
mov eax, 0x7e07e07f
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x40705e
mov edx, eax
shr edx, 1
mov edi, 0x3f03f0
sub edi, edx
cmp edi, eax
jae 0x40704a
xor eax, eax
jmp 0x40704c
add eax, edx
cmp eax, ecx
jae 0x407052
mov eax, ecx
push eax
lea ecx, [ebx + 0xfe4]
call fcn.004094f0
mov edi, dword [ebx + 0xfe8]
imul esi, esi, 0x410
add esi, dword [ebx + 0xfe4]
test edi, edi
je 0x4070ff
jmp 0x4070f8
mov esi, dword [ebx + 0xfec]
cmp ecx, esi
jne 0x4070e8
mov edi, dword [ebx + 0xfe4]
sub ecx, edi
mov eax, 0x7e07e07f
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x3f03ef
ja 0x407135
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 0x4070e8
mov edx, eax
shr edx, 1
mov esi, 0x3f03f0
sub esi, edx
cmp esi, eax
jae 0x4070d4
xor eax, eax
jmp 0x4070d6
add eax, edx
cmp eax, ecx
jae 0x4070dc
mov eax, ecx
push eax
lea ecx, [ebx + 0xfe4]
call fcn.004094f0
mov edi, dword [ebx + 0xfe8]
test edi, edi
je 0x4070ff
lea esi, [ebp - 0x458]
mov ecx, 0x104
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x45c]
add dword [ebx + 0xfe8], 0x410
inc eax
mov ecx, ebx
mov dword [ebp - 0x45c], eax
cmp eax, dword [ecx + 0xdd8]
jl 0x406f30
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043db8a
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.0040c5d1
int3