Function at 0x436523
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 0x43d848
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 0x43659e
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 0x4365ae
xor edi, edi
inc edi
push edi
call fcn.0043464f
pop ecx
lea ecx, [ebp - 0x310]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4365f1
test dl, dl
je 0x4365ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4365f1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4365d1
xor eax, eax
jmp 0x4365f6
sbb eax, eax
or eax, 1
test eax, eax
je 0x436605
inc edi
cmp edi, 7
jle 0x4365c4
xor esi, esi
inc esi
jmp 0x43660a
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 0x43662a
xor esi, esi
inc esi
jmp 0x43662f
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 0x43664a
xor esi, esi
inc esi
jmp 0x43664f
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 0x436668
xor esi, esi
inc esi
jmp 0x43667b
cvtsi2ss xmm0, eax
mov eax, dword [ebp + 0x18]
mulss xmm0, dword [0x43e9b0]
movss dword [eax], xmm0
push edi
push 0xffffffffffffffff
push str.PaletteSize
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x436696
xor esi, esi
inc esi
jmp 0x43669b
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x43d848
push str.PaletteName
push str.Texture
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x20c], 0
jne 0x4366cc
xor esi, esi
inc esi
jmp 0x4366f9
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 0x4366f6
inc ecx
cmp ecx, 0x10
jb 0x4366dc
mov edi, dword [ebp + 8]
push edi
push 0xffffffffffffffff
push str.Balance
push str.Texture
call ebx
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x436714
xor esi, esi
inc esi
jmp 0x436719
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 0x436734
xor esi, esi
inc esi
jmp 0x436739
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 0x436752
xor esi, esi
inc esi
jmp 0x436757
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret