Function at 0x4c3c60
Capabilities:
Read .ini file

Disassembly:
sub esp, 0xa40
xor eax, eax
push ebx
xor ebx, ebx
mov dword [esp + 0x58], eax
xor ecx, ecx
mov dword [esp + 0x5c], eax
push ebp
mov dword [esp + 0x70], ecx
mov eax, 8
push esi
push edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x466
mov byte [esp + 0x4c], 4
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], bl
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], 0x483
mov byte [esp + 0x60], 4
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov dword [esp + 0x6c], 2
mov dword [esp + 0x70], 0x49a
mov byte [esp + 0x74], 4
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 3
mov dword [esp + 0x84], 0x47d
mov byte [esp + 0x88], bl
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], bl
mov byte [esp + 0x8b], bl
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 4
mov dword [esp + 0x98], 0x46c
mov byte [esp + 0x9c], bl
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], bl
mov byte [esp + 0x9f], bl
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 5
mov dword [esp + 0xac], 0x424
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], bl
mov byte [esp + 0xb2], bl
mov byte [esp + 0xb3], bl
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 6
mov dword [esp + 0xc0], 0x429
mov byte [esp + 0xc4], bl
mov byte [esp + 0xc5], bl
mov byte [esp + 0xc6], bl
mov byte [esp + 0xc7], bl
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 7
mov dword [esp + 0xd4], 0x427
mov byte [esp + 0xd8], bl
mov byte [esp + 0xd9], bl
mov byte [esp + 0xda], bl
mov byte [esp + 0xdb], bl
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0x42d
mov byte [esp + 0xec], bl
mov byte [esp + 0xed], bl
mov ecx, 0xfffffffe
mov edx, 0x10
mov byte [esp + 0xee], bl
mov byte [esp + 0xef], bl
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], 9
mov dword [esp + 0xfc], 0x42e
mov byte [esp + 0x100], bl
mov byte [esp + 0x101], bl
mov byte [esp + 0x102], bl
mov byte [esp + 0x103], bl
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], 0xa
mov dword [esp + 0x110], 0x450
mov byte [esp + 0x114], bl
mov byte [esp + 0x115], bl
mov byte [esp + 0x116], bl
mov byte [esp + 0x117], bl
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov byte [esp + 0x128], bl
mov byte [esp + 0x129], bl
mov byte [esp + 0x12a], bl
mov byte [esp + 0x12b], bl
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], eax
mov byte [esp + 0x13c], bl
mov byte [esp + 0x13d], bl
mov byte [esp + 0x13e], bl
mov byte [esp + 0x13f], bl
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], 0xb
mov dword [esp + 0x14c], 0x4b4
mov byte [esp + 0x150], bl
mov byte [esp + 0x151], bl
mov byte [esp + 0x152], bl
mov byte [esp + 0x153], bl
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], 0xc
mov dword [esp + 0x160], 0x4b5
mov byte [esp + 0x164], bl
mov byte [esp + 0x165], bl
mov byte [esp + 0x166], bl
mov byte [esp + 0x167], bl
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], 0xd
mov dword [esp + 0x174], 0x46b
mov byte [esp + 0x178], bl
mov byte [esp + 0x179], bl
mov byte [esp + 0x17a], bl
mov byte [esp + 0x17b], bl
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], 0xe
mov dword [esp + 0x188], 0x465
mov byte [esp + 0x18c], bl
mov byte [esp + 0x18d], bl
mov byte [esp + 0x18e], bl
mov byte [esp + 0x18f], bl
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], 0xf
mov dword [esp + 0x19c], 0x462
mov byte [esp + 0x1a0], bl
mov byte [esp + 0x1a1], bl
mov byte [esp + 0x1a2], bl
mov byte [esp + 0x1a3], bl
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x1b0], 0x461
mov byte [esp + 0x1b4], bl
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
push 0x5b9260
lea edx, [esp + 0x25c]
push 0x104
push edx
push 0x5aae60
xor ebp, ebp
push str.Skin
push str.Toolbar
mov byte [esp + 0x1cd], bl
mov byte [esp + 0x1ce], bl
mov byte [esp + 0x1cf], bl
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
mov byte [esp + 0x1e0], bl
mov byte [esp + 0x1e1], bl
mov byte [esp + 0x1e2], bl
mov byte [esp + 0x1e3], bl
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], eax
mov byte [esp + 0x1f4], bl
mov byte [esp + 0x1f5], bl
mov byte [esp + 0x1f6], bl
mov byte [esp + 0x1f7], bl
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x200], ecx
mov dword [esp + 0x204], eax
mov byte [esp + 0x208], bl
mov byte [esp + 0x209], bl
mov byte [esp + 0x20a], bl
mov byte [esp + 0x20b], bl
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov dword [esp + 0x214], 0x11
mov dword [esp + 0x218], 0x469
mov byte [esp + 0x21c], 4
mov byte [esp + 0x21d], bl
mov byte [esp + 0x21e], bl
mov byte [esp + 0x21f], bl
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], 0x12
mov dword [esp + 0x22c], 0x40f
mov byte [esp + 0x230], 4
mov byte [esp + 0x231], bl
mov byte [esp + 0x232], bl
mov byte [esp + 0x233], bl
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 0x258], bx
jne 0x4c427e
lea eax, [esp + 0x258]
push 0x104
push eax
push str.Skin
push str.Toolbar
call fcn.004c5850
add esp, 0x10
push str.Admin_Flag
push str.Toolbar
call fcn.004c56d0
mov dword [esp + 0x30], eax
mov ecx, 0x78
xor eax, eax
lea edi, [esp + 0x468]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x5c]
push edx
lea ecx, [esp + 0x47c]
push eax
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.004c3670
mov eax, dword [0x5b5620]
add esp, 0x28
cmp eax, ebx
jne 0x4c42e7
call fcn.00443b90
mov dword [0x5b5620], eax
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [0x5b561c]
mov dword [esp + 0x20], eax
cmp ecx, ebx
je 0x4c4309
mov dword [esp + 0x20], 0x202020
mov eax, dword [esp + 0x20]
mov ecx, eax
xor edx, edx
shr ecx, 0x10
and ecx, 0xff
mov dl, ah
mov dword [esp + 0x14], ecx
and edx, 0xff
fild dword [esp + 0x14]
and eax, 0xff
push 0x3fe00000
push ebx
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x5526e0]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x5526d8]
mov dword [esp + 0x1c], eax
faddp st(1)
fild dword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x5526d0]
faddp st(1)
fadd qword [0x5526c8]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
call fcn.004d6118
and eax, 0xff
sub esp, 8
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x24]
fdiv qword [0x552788]
fstp qword [esp]
call fcn.004d68c9
fmul qword [0x552788]
add esp, 0x10
fadd qword [0x5526c8]
call fcn.004d6118
and eax, 0xff
cmp eax, 0xff
mov dword [esp + 0x14], eax
jle 0x4c43d4
mov dword [esp + 0x14], 0xff
cmp word [esp + 0x258], bx
je 0x4c4469
lea eax, [esp + 0x258]
push str.DEFAULT_OLD
push eax
call fcn.004d7652
add esp, 8
test eax, eax
jne 0x4c4414
mov ecx, dword [esp + 0x20]
push ecx
push 0x554
push str.PNG_TB
call fcn.004c35f0
add esp, 0xc
jmp 0x4c4463
lea edx, [esp + 0x640]
push 5
push edx
call fcn.004c94a0
lea eax, [esp + 0x260]
lea ecx, [esp + 0x648]
push eax
push ecx
call fcn.004d62f1
push ebx
mov ecx, dword [esp + 0x34]
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x68]
push ebx
push edx
lea eax, [esp + 0x280]
push ebx
push eax
push 1
lea edx, [esp + 0x678]
push ecx
push edx
call fcn.0040cca0
add esp, 0x40
mov esi, eax
cmp esi, ebx
jne 0x4c448a
mov eax, dword [esp + 0x20]
push eax
push 0x553
push str.PNG_TB
call fcn.004c35f0
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x4c45ef
push ebx
push ebx
lea ecx, [esp + 0x24]
push ebx
lea edx, [esp + 0x1c]
push ecx
push edx
push esi
call fcn.004c5070
push esi
call fcn.00428040
mov ebp, eax
add esp, 0x1c
cmp ebp, ebx
mov dword [esp + 0x24], ebp
je 0x4c4554
push ebx
push ebx
push esi
call fcn.00419480
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x4c4528
lea eax, [esp + 0x244]
push edi
push eax
call fcn.004c85c0
mov edx, dword [esp + 0x24c]
mov eax, dword [esp + 0x250]
sub esp, 8
mov ecx, esp
push 0x40000000
push ebx
mov dword [ecx], edx
mov edx, dword [esp + 0x264]
push edi
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x26c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0041a0c0
push edi
call fcn.00428040
add esp, 0x20
mov dword [esp + 0x2c], eax
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x4c4535
push esi
call fcn.00428040
add esp, 4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x10], edx
mov dword [0x59f714], edx
cmp esi, ebx
je 0x4c4566
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp ebp, ebx
je 0x4c45ef
mov edx, dword [0x5b550c]
mov eax, dword [esp + 0xa54]
push ebx
push edx
push ebx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x50008921
push ebx
push str.ToolbarWindow32
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0x14
push 0x41e
push eax
mov dword [0x5b553c], eax
call esi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [0x5b553c]
and ecx, 0xffff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
push ecx
push ebx
push 0x41f
push eax
call esi
mov edx, dword [esp + 0x40]
mov eax, dword [0x5b553c]
lea ecx, [esp + 0x460]
push ecx
push edx
push 0x444
push eax
call esi
jmp 0x4c45f5
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [0x5b553c]
push ebx
push ebx
push 0x43a
push ecx
call esi
mov ecx, dword [esp + 0x10]
cmp ecx, 0x10
je 0x4c4638
cmp ebp, ebx
je 0x4c4638
and eax, 0xffff
cmp ecx, 0x16
jne 0x4c462a
sub eax, ecx
cdq
mov esi, eax
xor esi, edx
sub esi, edx
add esi, 6
jmp 0x4c4646
sub eax, ecx
cdq
mov esi, eax
xor esi, edx
sub esi, edx
add esi, 7
jmp 0x4c4646
and eax, 0xffff
sub eax, ecx
cdq
mov esi, eax
xor esi, edx
sub esi, edx
push 0x20
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
lea edx, [ecx + esi]
add ebp, edi
imul edx, ebp
lea eax, [edx + eax*2 + 2]
mov dword [0x5ba36c], eax
mov eax, dword [0x5b561c]
cmp eax, ebx
je 0x4c4716
cmp dword [0x5b5620], ebx
je 0x4c4716
mov ecx, dword [0x5b553c]
push 0x5aae60
push 0x5aae60
push ecx
call fcn.00446d20
mov edx, dword [0x5b5620]
mov eax, dword [0x5b553c]
add esp, 0xc
push edx
push 0xfffffffffffffff6
push eax
call dword [sym.imp.USER32.dll_SetClassLongW]
mov ecx, dword [0x5b553c]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x423
push ecx
call ebp
mov edi, eax
push 0x5aae60
push 0x5aae60
push edi
call fcn.00446d20
add esp, 0xc
push ebx
push 0x202020
push 0x413
push edi
call ebp
push ebx
push 0xdcdcdc
push 0x414
push edi
call ebp
mov eax, dword [0x5b553c]
push 1
push eax
push 0x4c34c0
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
jmp 0x4c471c
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [esp + 0x24], ebx
je 0x4c47e3
cmp dword [0x5b5580], ebx
jne 0x4c4747
mov edx, dword [esp + 0x1c]
push ebx
push edi
push 0x21
push edx
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [esp + 0x10]
mov dword [0x5b5580], eax
cmp dword [0x5b5584], ebx
jne 0x4c4764
mov eax, dword [esp + 0x1c]
push ebx
push edi
push 0x21
push eax
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov dword [0x5b5584], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [0x5b5580]
push ebx
push ecx
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
and eax, 0xff
mov edx, dword [0x5b5584]
mov ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
push ecx
push edi
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_AddMasked]
mov eax, dword [0x5b5580]
mov ecx, dword [0x5b553c]
push eax
push ebx
push 0x430
push ecx
call ebp
mov edx, dword [0x5b5584]
mov eax, dword [0x5b553c]
push edx
push ebx
push 0x436
push eax
call ebp
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp edi, ebx
je 0x4c47df
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x10]
test dword [esp + 0x28], 0x100000
je 0x4c48ba
mov eax, dword [0x5b561c]
mov edx, 0x242
cmp eax, ebx
je 0x4c4804
mov edx, 0x252
mov eax, dword [esp + 0xa58]
push 0x4b6
push eax
mov eax, dword [esp + 0x24]
mov edi, eax
shl edi, 4
lea eax, [edi + eax + 3]
push eax
lea eax, [ecx + ecx + 0xa]
add ecx, esi
push eax
imul ecx, dword [esp + 0x48]
add ecx, 3
push 2
push ecx
mov ecx, dword [esp + 0xa6c]
push edx
push str.COMBOBOX
push 0x5b5544
push ecx
call fcn.004c3b40
mov eax, dword [0x5b561c]
add esp, 0x28
cmp eax, ebx
je 0x4c4864
mov edx, dword [0x5b5544]
push edx
call fcn.00443c20
add esp, 4
mov eax, dword [0x5b5544]
push 1
push eax
push 0x4c2da0
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov eax, dword [esp + 0x10]
mov ecx, dword [0x5b5544]
cdq
and edx, 0xf
push ebx
add eax, edx
sar eax, 4
add eax, 4
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
add eax, eax
push eax
push 0x160
push ecx
call ebp
mov edx, dword [esp + 0x1c]
mov eax, dword [0x5b5544]
add edx, 0xfffffffd
push edx
push 0xffffffffffffffff
push 0x153
push eax
call ebp
mov ecx, dword [esp + 0x10]
test dword [esp + 0x28], 0x20000
je 0x4c491d
mov edx, dword [esp + 0xa58]
push 0x50c
push edx
lea edx, [ecx + ecx*2 + 0xf]
mov eax, dword [esp + 0x24]
add ecx, esi
imul ecx, dword [esp + 0x44]
add eax, 3
add ecx, 3
push eax
mov eax, dword [esp + 0xa60]
push edx
push 2
push ecx
push 0x81
push str.EDIT
push 0x5b5540
push eax
call fcn.004c3b40
mov eax, dword [0x5b5540]
add esp, 0x28
push 1
push eax
push 0x4c30e0
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x5b9260
push 1
push str.Active
push str.ToolBar
call esi
test eax, eax
jne 0x4c4946
mov eax, dword [0x5b5650]
or al, 1
mov dword [0x5b5650], eax
push 0x5b9260
push 1
push str.Active
push 0x5a09b8
call esi
test eax, eax
jne 0x4c4969
mov eax, dword [0x5b5650]
or al, 4
mov dword [0x5b5650], eax
push 0x5b9260
push 1
push str.Active
push str.Caption
call esi
test eax, eax
jne 0x4c498c
mov eax, dword [0x5b5650]
or al, 8
mov dword [0x5b5650], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa40
ret