Function at 0x435ae3
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 0x435b5e
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 0x435b6e
xor edi, edi
inc edi
push edi
call fcn.00433c0f
pop ecx
lea ecx, [ebp - 0x310]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x435bb1
test dl, dl
je 0x435bad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x435bb1
add eax, 2
add ecx, 2
test dl, dl
jne 0x435b91
xor eax, eax
jmp 0x435bb6
sbb eax, eax
or eax, 1
test eax, eax
je 0x435bc5
inc edi
cmp edi, 7
jle 0x435b84
xor esi, esi
inc esi
jmp 0x435bca
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 0x435bea
xor esi, esi
inc esi
jmp 0x435bef
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 0x435c0a
xor esi, esi
inc esi
jmp 0x435c0f
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 0x435c28
xor esi, esi
inc esi
jmp 0x435c3b
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 0x435c56
xor esi, esi
inc esi
jmp 0x435c5b
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 0x435c8c
xor esi, esi
inc esi
jmp 0x435cb9
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 0x435cb6
inc ecx
cmp ecx, 0x10
jb 0x435c9c
mov edi, dword [ebp + 8]
push edi
push 0xffffffffffffffff
push str.Balance
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x435cd4
xor esi, esi
inc esi
jmp 0x435cd9
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 0x435cf4
xor esi, esi
inc esi
jmp 0x435cf9
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 0x435d12
xor esi, esi
inc esi
jmp 0x435d17
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret