Function at 0x5764e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58e091
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x5ebfc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
mov eax, dword [edi + 0x384]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x576536
mov eax, dword [ecx]
cmp eax, 0x5940e4
jne 0x576cbf
test ecx, ecx
jne 0x576552
call fcn.00407271
mov ecx, eax
mov eax, dword [ecx]
cmp eax, 0x5940e4
jne 0x576cc9
test ecx, ecx
je 0x576cd3
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576cdd
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [edi + 0x384]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x3bc]
mov dword [ebp - 0x18], 1
push dword [eax - 0xc]
push eax
push dword [ecx - 0xc]
lea eax, [ebp - 0x14]
push ecx
push eax
call fcn.00405ac0
push str._theme.ini
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004059c0
add esp, 0x20
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5765f0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, 0x5940e4
jne 0x576ce4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x576ce4
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push ecx
mov esi, esp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576ced
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576cf7
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.LabelText
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.004022b0
test al, al
jne 0x576666
push 9
push str.LabelText
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3e0], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 5
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576cfe
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d08
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.MeterText
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.004022b0
test al, al
jne 0x5766ef
push 9
push str.MeterText
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 5
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3e4], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 7
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d0f
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d19
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ComboText
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.004022b0
test al, al
jne 0x576778
push 9
push str.ComboText
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 7
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3e8], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 9
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d20
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d2a
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ComboTextSelected
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.004022b0
test al, al
jne 0x576801
push 0x11
push str.ComboTextSelected
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 9
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3ec], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d31
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d3b
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ComboBg
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.004022b0
test al, al
jne 0x57688d
push 7
push str.ComboBg
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3f0], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xc0
push ecx
mov esi, esp
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d42
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d4c
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ComboBgSelected
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.004022b0
test al, al
jne 0x576919
push 0xf
push str.ComboBgSelected
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3f4], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d53
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d5d
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ComboAlpha
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.004022b0
test al, al
jne 0x5769a5
push 0xa
push str.ComboAlpha
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 2
call fcn.00576320
push ecx
mov esi, esp
mov byte [edi + 0x3f8], al
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d64
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d6e
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.ButtonText
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.004022b0
test al, al
jne 0x576a2e
push 0xa
push str.ButtonText
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x3fc], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d75
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d7f
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.EditText
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.004022b0
test al, al
jne 0x576ab7
push 8
push str.EditText
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x400], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d86
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576d90
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.EditBg
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.004022b0
test al, al
jne 0x576b43
push 6
push str.EditBg
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 2
call fcn.005763f0
push ecx
mov esi, esp
mov dword [edi + 0x404], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x18], esp
push eax
call fcn.00401f10
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x14], esi
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x576d97
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x576da1
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi], eax
push str.EditAlpha
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.004022b0
test al, al
jne 0x576bcf
push 9
push str.EditAlpha
mov ecx, esi
call fcn.00402430
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 2
call fcn.00576320
mov byte [edi + 0x408], al
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push eax
call fcn.00401f10
add esp, 4
lea esi, [eax + 0x10]
push esi
push 0
push str.Position
push str.Character
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov bl, al
add esi, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x576c4a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, 0x5940e4
jne 0x576da8
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x576da8
push 0
push dword [ecx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [ebp - 0x10]
mov byte [edi + 0x409], bl
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x576cad
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, 0x5940e4
jne 0x576daf
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x576daf
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [eax + 0x10]
mov ecx, eax
jmp 0x576532
call dword [eax + 0x10]
mov ecx, eax
jmp 0x57654a
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576569
mov ecx, edx
call esi
jmp 0x5765f0
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x57663f
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x5766c8
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576751
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x5767da
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576866
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x5768f2
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x57697e
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576a07
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576a90
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576b1c
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x576ba8
call edx
jmp 0x576c4a
mov ecx, edx
call esi
jmp 0x576cad