Function at 0x435b03
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x310
push ebx
push esi
push edi
xor ebx, ebx
lea eax, [ebp - 0x30f]
push 0x103
push ebx
push eax
mov dword [ebp - 4], ebx
mov byte [ebp - 0x310], bl
call sub.msvcrt.dll_memset
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
lea eax, [ebp - 0x20c]
mov esi, ebx
mov ebx, str.Texture
push dword [ebp + 8]
push 0x104
push eax
push 0x43c46c
push str.Format
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
lea ecx, [ebp - 0x20c]
mov edx, eax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 4]
jne 0x435b7e
sub ecx, edi
sar ecx, 1
mov al, byte [ebp + edx*2 - 0x20c]
mov byte [ebp + edx - 0x310], al
inc edx
cmp edx, ecx
jbe 0x435b8e
xor edi, edi
inc edi
push edi
call fcn.00433c2f
pop ecx
lea ecx, [ebp - 0x310]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x435bd1
test dl, dl
je 0x435bcd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x435bd1
add eax, 2
add ecx, 2
test dl, dl
jne 0x435bb1
xor eax, eax
jmp 0x435bd6
sbb eax, eax
or eax, 1
test eax, eax
je 0x435be5
inc edi
cmp edi, 7
jle 0x435ba4
xor esi, esi
inc esi
jmp 0x435bea
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov edi, dword [ebp + 8]
push edi
push 0xffffffffffffffff
push str.Dither
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435c0a
xor esi, esi
inc esi
jmp 0x435c0f
mov eax, dword [ebp + 0x10]
mov dword [eax], ecx
push edi
push 0xffffffffffffffff
push str.DitherAlpha
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435c2a
xor esi, esi
inc esi
jmp 0x435c2f
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
push edi
push 0xffffffffffffffff
push str.Diffuse
push str.Texture
call ebx
cmp eax, 0xffffffff
jne 0x435c48
xor esi, esi
inc esi
jmp 0x435c5b
cvtsi2ss xmm0, eax
mov eax, dword [ebp + 0x18]
mulss xmm0, dword [0x43d5e0]
movss dword [eax], xmm0
push edi
push 0xffffffffffffffff
push str.PaletteSize
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435c76
xor esi, esi
inc esi
jmp 0x435c7b
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x43c46c
push str.PaletteName
push str.Texture
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x20c], 0
jne 0x435cac
xor esi, esi
inc esi
jmp 0x435cd9
mov edx, dword [ebp + 0x20]
xor eax, eax
mov edi, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
xor edi, edi
mov ecx, edi
mov al, byte [ebp + ecx*2 - 0x20c]
mov byte [ecx + edx], al
cmp word [ebp + ecx*2 - 0x20c], di
je 0x435cd6
inc ecx
cmp ecx, 0x10
jb 0x435cbc
mov edi, dword [ebp + 8]
push edi
push 0xffffffffffffffff
push str.Balance
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435cf4
xor esi, esi
inc esi
jmp 0x435cf9
mov eax, dword [ebp + 0x24]
mov dword [eax], ecx
push edi
push 0xffffffffffffffff
push str.ColorBalance
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435d14
xor esi, esi
inc esi
jmp 0x435d19
mov eax, dword [ebp + 0x28]
mov dword [eax], ecx
push edi
push 0xffffffffffffffff
push str.EnhanceColors
push str.Texture
call ebx
cmp eax, 0xffffffff
jne 0x435d32
xor esi, esi
inc esi
jmp 0x435d37
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret