Function at 0x400205f1
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x40071f8f
call fcn.4006f3a0
mov eax, 0x102c
call fcn.4006ce90
push ebx
push esi
push edi
xor ebx, ebx
lea eax, [ebp - 0x1038]
push 0x1000
push ebx
push eax
mov dword [ebp - 0x28], ebx
call fcn.40054740
add esp, 0xc
lea eax, [ebp - 0x1038]
push dword [ebp + 8]
push 0x800
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea ecx, [ebp - 0x1038]
mov esi, ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x1c], eax
cmp ecx, eax
je 0x40020843
push esi
lea ecx, [ebp - 0x10]
call fcn.400069d1
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x4002083b
lea esi, [esi + ecx*2]
push 0
push 0x3d
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], esi
call fcn.40016936
mov edi, eax
cmp edi, 0xffffffff
je 0x40020814
push edi
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.4000d7d4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.40020bcc
mov ecx, eax
call fcn.40020c1e
mov eax, dword [ebp - 0x14]
mov edx, dword [eax - 0xc]
test edx, edx
je 0x4002080c
js 0x40020831
cmp word [eax], 0x3b
je 0x4002080c
test edx, edx
js 0x40020831
cmp word [eax], 0x23
je 0x4002080c
lea eax, [edi + 1]
push eax
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x10]
call fcn.4001696a
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 2
call fcn.40020bcc
mov ecx, eax
call fcn.40020c1e
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 2
jl 0x40020740
cmp dword [eax - 0xc], 0
jl 0x40020831
cmp word [eax], 0x22
jne 0x40020740
push 1
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0xc]
call fcn.4000d78b
mov byte [ebp - 4], 3
or ebx, 1
push 0x40082594
mov ecx, eax
mov dword [ebp - 0x28], ebx
call fcn.40006fbb
mov byte [ebp + 0xb], 1
test eax, eax
je 0x40020744
mov byte [ebp + 0xb], 0
mov dword [ebp - 4], 2
test bl, 1
je 0x4002075e
mov ecx, dword [ebp - 0x20]
and ebx, 0xfffffffe
lea ecx, [ecx - 0x10]
call fcn.40004636
cmp byte [ebp + 0xb], 0
je 0x40020798
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
mov eax, dword [eax - 0xc]
add eax, 0xfffffffe
push eax
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.40016b18
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.400088ff
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.40004636
lea eax, [ebp + 0xc]
push eax
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x30]
call fcn.4002111f
pop ecx
mov ecx, dword [ebp + 0x10]
mov byte [ebp - 4], 5
push eax
mov ecx, dword [ecx]
mov edi, dword [ecx]
push dword [edi + 4]
push edi
call fcn.40021a62
push ecx
mov ecx, dword [ebp + 0x10]
mov esi, eax
call fcn.400219bf
mov dword [edi + 4], esi
mov ecx, dword [esi + 4]
mov dword [ecx], esi
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.400212a9
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.40004636
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.40004636
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.40004636
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
lea ecx, [eax - 0x10]
call fcn.40004636
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.40004636
add esi, 2
cmp esi, dword [ebp - 0x1c]
jne 0x40020650
jmp 0x40020843
push 0x80070057
call fcn.40001ad1
lea ecx, [eax - 0x10]
call fcn.40004636
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc