Function at 0x431bf9
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 0x439414
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 0x431c74
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 0x431c84
xor edi, edi
inc edi
push edi
call fcn.004302be
pop ecx
lea ecx, [ebp - 0x310]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x431cc7
test dl, dl
je 0x431cc3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x431cc7
add eax, 2
add ecx, 2
test dl, dl
jne 0x431ca7
xor eax, eax
jmp 0x431ccc
sbb eax, eax
or eax, 1
test eax, eax
je 0x431cdb
inc edi
cmp edi, 7
jle 0x431c9a
xor esi, esi
inc esi
jmp 0x431ce0
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 0x431d00
xor esi, esi
inc esi
jmp 0x431d05
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 0x431d20
xor esi, esi
inc esi
jmp 0x431d25
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 0x431d3e
xor esi, esi
inc esi
jmp 0x431d51
cvtsi2ss xmm0, eax
mov eax, dword [ebp + 0x18]
mulss xmm0, dword [0x43a538]
movss dword [eax], xmm0
push edi
push 0xffffffffffffffff
push str.PaletteSize
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x431d6c
xor esi, esi
inc esi
jmp 0x431d71
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x439414
push str.PaletteName
push str.Texture
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x20c], 0
jne 0x431da2
xor esi, esi
inc esi
jmp 0x431dcf
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 0x431dcc
inc ecx
cmp ecx, 0x10
jb 0x431db2
mov edi, dword [ebp + 8]
push edi
push 0xffffffffffffffff
push str.Balance
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x431dea
xor esi, esi
inc esi
jmp 0x431def
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 0x431e0a
xor esi, esi
inc esi
jmp 0x431e0f
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 0x431e28
xor esi, esi
inc esi
jmp 0x431e2d
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret