Function at 0x485e30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x641917
mov eax, dword fs:[0]
push eax
mov eax, 0x2058
call fcn.00607930
mov eax, dword [0x6bc858]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
mov dword [ebp - 0x2034], edi
push 8
mov dword [ebp - 4], edi
call fcn.005f0fe0
add esp, 4
cmp eax, edi
je 0x486197
mov dword [ebp - 0x2034], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2034]
lea eax, [ebp - 0x2034]
mov dword [ecx], eax
mov dword [ebp - 0x201c], 0xf
mov dword [ebp - 0x2020], edi
mov byte [ebp - 0x2030], dl
mov esi, eax
mov dword [ebp - 4], 1
call fcn.004c4b60
push 9
push str.template_
mov ecx, esi
call fcn.00412ae0
push 0x10
push str.TemplateInfo.ini
mov ecx, esi
call fcn.00412ae0
push 0xfff
lea edx, [ebp - 0x2013]
push edi
push edx
mov byte [ebp - 0x2014], 0
call fcn.005ff630
add esp, 0xc
push 0xfff
lea eax, [ebp - 0x1013]
push edi
push eax
mov byte [ebp - 0x1014], 0
call fcn.005ff630
mov eax, dword [ebp - 0x2030]
add esp, 0xc
cmp dword [ebp - 0x201c], 0x10
jae 0x485f29
lea eax, [ebp - 0x2030]
push eax
push 0x1000
lea ecx, [ebp - 0x2014]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
cmp byte [ebp - 0x2014], 0
lea edx, [ebp - 0x2014]
mov dword [ebp - 0x2038], edx
je 0x4860da
mov esi, dword [ebp - 0x2038]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x485f60
sub eax, edx
cmp dword [ebp - 0x201c], 0x10
mov dword [ebp - 0x2044], eax
mov eax, dword [ebp - 0x2030]
jae 0x485f84
lea eax, [ebp - 0x2030]
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
cmp byte [ebp - 0x1014], 0
lea ebx, [ebp - 0x1014]
je 0x4860bf
jmp 0x485fb0
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x485fb5
sub eax, edx
push 0x3d
push ebx
mov dword [ebp - 0x2040], eax
call fcn.005fa700
add esp, 8
cmp eax, edi
je 0x4860a4
mov esi, eax
mov byte [eax], 0
sub esi, ebx
mov ecx, str.Count
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x486005
test dl, dl
je 0x486001
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x486005
add eax, 2
add ecx, 2
test dl, dl
jne 0x485fe5
xor eax, eax
jmp 0x48600a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x4860a4
sub esp, 0x20
lea edi, [esi + ebx + 1]
mov esi, esp
mov dword [ebp - 0x203c], esp
mov dword [ebp - 0x203c], esi
mov dword [esi], 0
push 8
mov byte [ebp - 4], 2
call fcn.005f0fe0
add esp, 4
test eax, eax
je 0x486160
mov dword [esi], eax
xor ecx, ecx
xor edx, edx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esi]
mov dword [ecx], esi
mov byte [ebp - 4], 3
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], edx
mov byte [esi + 4], dl
test edi, edi
jne 0x48607e
push 0x3a2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexstring
push str.invalid_null_pointer
call fcn.00563e60
add esp, 0xc
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x486083
sub eax, edx
push eax
push edi
mov ecx, esi
call fcn.00412c10
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 1
call fcn.004861d0
xor edi, edi
mov eax, dword [ebp - 0x2040]
cmp byte [ebx + eax + 1], 0
lea ebx, [ebx + eax + 1]
jne 0x485fb0
mov esi, dword [ebp - 0x2038]
mov ecx, dword [ebp - 0x2044]
cmp byte [esi + ecx + 1], 0
lea eax, [esi + ecx + 1]
mov dword [ebp - 0x2038], eax
jne 0x485f55
cmp dword [ebp - 0x201c], 0x10
jb 0x4860f2
mov ecx, dword [ebp - 0x2030]
push ecx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x201c], 0xf
mov dword [ebp - 0x2020], edi
mov byte [ebp - 0x2030], 0
lea ecx, [ebp - 0x2034]
mov dword [ebp - 4], 4
call fcn.0040ed70
mov edx, dword [ebp - 0x2034]
push edx
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x2034]
mov dword [ebp - 0x2034], edi
mov dword [ebp - 4], 0xffffffff
call fcn.0040ed70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005f0da0
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0x204c]
push edx
lea ecx, [ebp - 0x2064]
mov dword [ebp - 0x204c], 0
call fcn.005f41f0
push 0x6a361c
lea eax, [ebp - 0x2064]
push eax
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
lea eax, [ebp - 0x2048]
push eax
lea ecx, [ebp - 0x2058]
mov dword [ebp - 0x2048], edi
call fcn.005f41f0
push 0x6a361c
lea ecx, [ebp - 0x2058]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
int3