Function at 0x10003c24
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x10022139
call fcn.100174bc
push ecx
mov eax, 0x10b4
call fcn.10017c10
cmp dword [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
je 0x10003d62
cmp byte [0x1002bf20], 0
je 0x10003c60
cmp dword [ebp + 0x14], 0
je 0x10003c60
push 1
pop eax
jmp 0x1000471f
xor edi, edi
lea eax, [ebp + 0x17]
mov esi, 0x10024398
mov ebx, 0x10024390
push edi
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x34], ebx
call fcn.10003003
lea eax, [ebp + 0x13]
push edi
push eax
lea ecx, [ebp - 0x190]
push dword [ebp + 0x10]
mov dword [ebp - 4], edi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x170], ebx
call fcn.10002642
and byte [ebp - 0x1f4], 0
push 0x18
pop ecx
xor eax, eax
lea edi, [ebp - 0x1f3]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1f4]
push str.NO_DOUBT
push eax
mov byte [ebp - 4], 2
call esi
and byte [ebp - 0x4c4], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x4c3]
push dword [ebp + 0xc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4c4]
push eax
call esi
mov eax, dword [ebp + 8]
and dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x1f4]
push 0
push eax
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb0], 0x10007764
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x4c4]
push eax
call fcn.1001357f
add esp, 0x14
test eax, eax
jne 0x10003d69
and byte [ebp - 4], al
lea ecx, [ebp - 0x190]
call fcn.1000316f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.1000316f
xor eax, eax
jmp 0x1000471f
mov eax, dword [ebp + 8]
and byte [ebp - 0x3c0], 0
push 0x40
lea edi, [ebp - 0x3bf]
mov eax, dword [eax]
pop ecx
mov dword [ebp - 0x18], eax
xor eax, eax
rep stosd dword es:[edi], eax
and dword [ebp - 0x1c], 0
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ecx + 4]
jge 0x10003fe2
push dword [ebp - 0x18]
lea eax, [ebp - 0x3c0]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x3c0]
push eax
call edi
inc eax
add dword [ebp - 0x18], eax
add dword [ebp - 0x1c], eax
push dword [ebp - 0x18]
call fcn.10017c00
pop ecx
mov dword [ebp - 0x24], eax
push dword [ebp - 0x18]
call edi
push dword [ebp - 0x24]
inc eax
add dword [ebp - 0x1c], eax
add dword [ebp - 0x18], eax
call fcn.100170d6
mov edi, dword [ebp - 0x24]
pop ecx
push edi
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x18]
push eax
call fcn.10017840
add dword [ebp - 0x1c], edi
add dword [ebp - 0x18], edi
add esp, 0xc
lea eax, [ebp - 0x3c0]
push str.skin.ini
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x10003f5a
push eax
lea eax, [ebp + 0xf]
push eax
lea eax, [ebp - 0x3c0]
mov edi, 0x10024398
push eax
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x84], ebx
call fcn.10002642
lea eax, [ebp - 0x12]
push 0
push eax
push 0x10028170
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x5c], ebx
call fcn.10002642
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.1000b169
add esp, 0xc
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 5
push ecx
push eax
lea eax, [ebp - 0x2bc]
push eax
call fcn.1000b169
add esp, 0xc
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 6
call fcn.1000a372
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 5
call fcn.1000316f
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 4
call fcn.1000316f
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
call fcn.1000316f
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 2
call fcn.1000316f
lea ecx, [ebp - 0x230]
call fcn.100048c0
xor edi, edi
lea eax, [ebp - 0x54]
push edi
push edi
push 2
push 0x80
push 1
push 0x40000000
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 7
call fcn.10004964
push dword [ebp - 0x24]
lea ecx, [ebp - 0x230]
push dword [ebp - 0x2c]
call fcn.1000dec6
push dword [0x100243b4]
lea eax, [ebp - 0x54]
neg eax
push edi
lea ecx, [ebp - 0x50]
sbb eax, eax
and eax, ecx
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0xc]
call fcn.10003091
mov dword [ebp - 0x230], 0x100243cc
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 8
call fcn.10004f30
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x224]
jmp 0x10003fcf
push 8
call fcn.100170d6
mov edi, eax
pop ecx
mov dword [ebp - 0x28], edi
test edi, edi
mov byte [ebp - 4], 9
je 0x10003f8f
mov eax, dword [ebp - 0x24]
push eax
mov dword [edi + 4], eax
call fcn.100170d6
pop ecx
mov dword [edi], eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push eax
call fcn.10017840
add esp, 0xc
jmp 0x10003f91
xor edi, edi
lea eax, [ebp - 0x11]
push 1
push eax
lea eax, [ebp - 0x3c0]
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 2
call fcn.10002642
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0xa
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x30]
call fcn.10008c73
mov dword [eax], edi
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xdc]
call fcn.1000316f
push dword [ebp - 0x2c]
call fcn.10016cc4
pop ecx
jmp 0x10003d8c
mov edi, dword [ebp + 8]
lea ecx, [edi + 8]
mov dword [ebp + 0xc], ecx
call fcn.100027da
push eax
push 1
push str.VERSION
push str.SKINS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x1d8
mov dword [edi + 0x50], eax
call fcn.100170d6
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
mov byte [ebp - 4], 0xb
je 0x10004027
mov ecx, eax
call fcn.10004730
mov ebx, eax
jmp 0x10004029
xor ebx, ebx
push 0x10028158
lea ecx, [ebx + 0x158]
mov byte [ebp - 4], 2
call fcn.1000880b
and byte [ebp - 0x294], 0
push 0x18
pop ecx
xor eax, eax
lea edi, [ebp - 0x293]
push str.TEXTCOLOR
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x294]
push eax
call esi
mov ecx, dword [ebp + 0xc]
call fcn.100027da
push eax
lea eax, [ebp - 0x1f4]
push 0x64
push eax
lea eax, [ebp - 0x294]
push 0x1002be5c
mov esi, 0x10028148
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 8
lea edi, [ebx + 0x1c4]
call dword [sym.imp.USER32.dll_GetSysColor]
push edi
mov dword [edi], eax
sub esp, 0x28
lea eax, [ebp + 0xf]
mov ecx, esp
mov dword [ebp + 0xc], esp
push 1
push eax
lea eax, [ebp - 0x1f4]
push eax
call fcn.10008759
mov ecx, dword [ebp + 8]
call fcn.10007497
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x184]
push eax
push esi
call fcn.10005b9c
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x194]
push eax
push esi
call fcn.10005dcb
mov ecx, dword [ebp + 8]
lea edi, [ebx + 0x1b4]
push edi
push esi
call fcn.1000629b
mov ecx, dword [ebp + 8]
push edi
push esi
call fcn.1000686f
mov eax, dword [ebp + 8]
push 1
mov dword [ebx + 0x14c], eax
lea eax, [ebp + 0xf]
push eax
push 0x10028158
lea ecx, [ebp - 0xdc]
call fcn.100086bd
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0xc
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x54]
call fcn.10008ddb
mov dword [eax], ebx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xdc]
call fcn.10004832
and byte [ebp - 0x10c4], 0
mov ecx, 0x2ff
xor eax, eax
lea edi, [ebp - 0x10c3]
rep stosd dword es:[edi], eax
and byte [ebp - 0x168], 0
push 0x18
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x167]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x10c4]
push 0xc00
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea ebx, [ebp - 0x10c4]
cmp byte [ebx], 0
je 0x1000439e
lea eax, [ebp - 0x168]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [ebx + eax + 1]
lea eax, [ebp + 0xf]
push 1
push eax
lea eax, [ebp - 0x168]
lea ecx, [ebp - 0x7c]
push eax
call fcn.10008759
mov esi, str.ALL_
mov byte [ebp - 4], 0xd
push esi
call fcn.10017515
pop ecx
push eax
push 0
push esi
lea ecx, [ebp - 0x78]
call fcn.1000906f
cmp eax, dword [0x100243b4]
je 0x1000438d
test eax, eax
jne 0x1000438d
push 0x1d8
call fcn.100170d6
pop ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
test ecx, ecx
mov byte [ebp - 4], 0xe
je 0x1000421b
call fcn.10004730
mov edi, eax
jmp 0x1000421d
xor edi, edi
lea eax, [ebp - 0x11]
push 1
push eax
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
call fcn.10008759
push dword [0x100243c8]
lea eax, [ebp - 0xa4]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xa0]
and eax, ecx
push 0
push eax
lea ecx, [edi + 0x15c]
mov byte [ebp - 4], 0xf
call fcn.10009e5a
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
call fcn.10004832
and byte [ebp - 0x294], 0
and byte [ebp - 0x1f4], 0
lea eax, [ebp - 0x294]
push str.TEXTCOLOR
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x1f4]
push 0x64
push eax
lea eax, [ebp - 0x294]
push 0x1002be5c
push eax
lea eax, [ebp - 0x168]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 8
lea esi, [edi + 0x1c4]
call dword [sym.imp.USER32.dll_GetSysColor]
push esi
mov dword [esi], eax
sub esp, 0x28
lea eax, [ebp - 0x12]
mov ecx, esp
mov dword [ebp - 0x28], esp
push 1
push eax
lea eax, [ebp - 0x1f4]
push eax
call fcn.10008759
mov ecx, dword [ebp + 8]
call fcn.10007497
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x184]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.10005b9c
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x194]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.10005dcb
mov ecx, dword [ebp + 8]
lea esi, [edi + 0x1b4]
lea eax, [ebp - 0x168]
push esi
push eax
call fcn.1000629b
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x168]
push esi
push eax
call fcn.1000686f
mov eax, dword [ebp + 8]
push 1
mov dword [edi + 0x14c], eax
lea eax, [ebp - 0x1d]
push eax
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xdc]
call fcn.10008759
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x10
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x54]
call fcn.10008ddb
lea ecx, [ebp - 0xdc]
mov dword [eax], edi
mov byte [ebp - 4], 0xd
call fcn.10004832
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.10004832
jmp 0x10004193
lea edi, [ebp - 0x10c4]
cmp byte [edi], 0
je 0x100045ab
lea eax, [ebp - 0x168]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [edi + eax + 1]
lea eax, [ebp + 0xf]
push 1
push eax
lea eax, [ebp - 0x168]
lea ecx, [ebp - 0x7c]
push eax
call fcn.10008759
mov esi, 0x10028158
mov byte [ebp - 4], 0x11
push esi
call fcn.10017515
pop ecx
push eax
push 0
push esi
lea ecx, [ebp - 0x78]
call fcn.1000906f
cmp eax, dword [0x100243b4]
je 0x10004407
test eax, eax
je 0x1000459a
lea eax, [ebp - 0x168]
push eax
push str.SKINS
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x1000459a
push 0x1d8
call fcn.100170d6
pop ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
test ecx, ecx
mov byte [ebp - 4], 0x12
je 0x10004442
call fcn.10004730
mov esi, eax
jmp 0x10004444
xor esi, esi
lea eax, [ebp - 0x1d]
push 1
push eax
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x11
call fcn.10008759
push dword [0x100243c8]
lea eax, [ebp - 0xa4]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xa0]
and eax, ecx
push 0
push eax
lea ecx, [esi + 0x15c]
mov byte [ebp - 4], 0x13
call fcn.10009e5a
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x11
call fcn.10004832
and byte [ebp - 0x294], 0
and byte [ebp - 0x1f4], 0
lea eax, [ebp - 0x294]
push str.TEXTCOLOR
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x1f4]
push 0x64
push eax
lea eax, [ebp - 0x294]
push 0x1002be5c
push eax
lea eax, [ebp - 0x168]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esi + 0x1c4]
push eax
lea eax, [ebp - 0x11]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x28], esp
push 1
push eax
lea eax, [ebp - 0x1f4]
push eax
call fcn.10008759
mov ecx, dword [ebp + 8]
call fcn.10007497
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.10005b9c
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x194]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.10005dcb
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x1b4]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.1000686f
mov eax, dword [ebp + 8]
push 1
mov dword [esi + 0x14c], eax
lea eax, [ebp - 0x12]
push eax
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0xdc]
call fcn.10008759
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x14
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x54]
call fcn.10008ddb
lea ecx, [ebp - 0xdc]
mov dword [eax], esi
mov byte [ebp - 4], 0x11
call fcn.10004832
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.10004832
jmp 0x100043a4
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
call fcn.1000ddf7
pop ecx
lea eax, [ebp - 0x54]
sub esp, 0x28
mov dword [ebp + 0xc], esp
mov ecx, esp
push 0
push eax
mov dword [ecx], 0x10024398
mov dword [ecx + 0x20], 0x10024390
call fcn.10003224
call fcn.10013293
mov esi, dword [ebp + 8]
add esp, 0x28
mov eax, dword [esi + 0x68]
push 1
pop edi
test eax, eax
mov dword [ebp - 4], edi
je 0x10004609
push str.GetThemeAppProperties
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10004609
call eax
shr eax, 1
and al, 1
mov byte [esi + 0x64], al
mov byte [0x1002bf20], 1
jmp 0x10004702
and byte [ebp - 4], 0
lea ecx, [ebp - 0x190]
call fcn.1000316f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.1000316f
mov eax, edi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10