Function at 0x1001202d
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
mov eax, 0x1001b8b6
call fcn.1001a990
sub esp, 0x310
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
push 0x19
push 0xd
mov esi, ecx
push 0xd
call fcn.10008fe8
push 0xd0
mov dword [esi + 0xb54], eax
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov ebx, 0xffffff
mov dword [ebp - 0x10], eax
push ebx
push eax
push dword [esi + 0xb54]
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xd1
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push ebx
push eax
push dword [esi + 0xb54]
mov dword [ebp - 0x10], eax
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xd2
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push ebx
push eax
push dword [esi + 0xb54]
mov dword [ebp - 0x10], eax
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [esi + 0x24]
call fcn.1001862d
push 0x2f0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, edi
mov dword [ebp - 4], edi
je 0x10012100
mov ecx, eax
call fcn.10009b28
jmp 0x10012102
xor eax, eax
or dword [ebp - 4], 0xffffffff
push edi
push dword [esi + 4]
mov ecx, eax
mov dword [esi + 0x3a4], eax
call fcn.10018052
mov eax, dword [esi + 0x3a4]
push edi
add eax, 4
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x3a4]
push 0x64
lea ebx, [esi + 0x3a8]
mov dword [eax + 0x2e8], esi
pop eax
push edi
push edi
push 0x19
push 0x16
push 0x18
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebx + 0x20], 9
call fcn.10008fe8
push 0xd3
mov dword [esi + 0x3cc], eax
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push 0xfbffff
push eax
push dword [esi + 0x3cc]
mov dword [ebp - 0x10], eax
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0x13e
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push 0xfbffff
push eax
push dword [esi + 0x3cc]
mov dword [ebp - 0x10], eax
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 1
mov dword [ebx + 0x28], edi
pop eax
mov dword [ebx + 0x34], edi
push edi
push 0x4d1
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
push edi
push 0x50000080
lea eax, [ebp - 0x50]
push edi
push eax
mov ecx, ebx
push dword [esi + 4]
call fcn.10017fa0
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push eax
push 0x30
push dword [esi + 0x3ac]
call ebx
push 0x10022224
lea ecx, [esi + 0x3a8]
call fcn.100180c6
push 0x3c
push 3
push 0x403
push dword [esi + 0x3e0]
call ebx
mov dword [esi + 0x374], 9
push edi
push edi
push 0x19
push 0x16
push 7
call fcn.10008fe8
push 0xcc
mov dword [esi + 0x378], eax
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push 0xffffff
push eax
push dword [esi + 0x378]
mov dword [ebp - 0x10], eax
call fcn.100090bc
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
push 0x4d3
push edi
lea ecx, [esi + 0x354]
push 0x50000080
lea eax, [ebp - 0x50]
push edi
push eax
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], edi
mov dword [ecx + 0x30], edi
mov dword [ecx + 0x34], edi
push dword [esi + 4]
call fcn.100183cc
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push 1
push eax
push 0x30
push dword [esi + 0x358]
call ebx
push 0x1002220c
lea ecx, [esi + 0x354]
call fcn.100180c6
push 0x3c
push 3
push 0x403
push dword [esi + 0x38c]
call ebx
push 0x10022208
push edi
push 0x41c
push dword [esi + 4]
call ebx
push 4
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
je 0x100122f5
mov dword [eax], edi
mov dword [ebp - 0x10], eax
jmp 0x100122f8
mov dword [ebp - 0x10], edi
push 1
push edi
push 0xff
push 0x10
push 0x10
call fcn.10008fe8
mov ecx, dword [ebp - 0x10]
push 0x13b
mov dword [ecx], eax
push dword [0x100229bc]
call dword [sym.imp.USER32.dll_LoadBitmapA]
push 0xffffff
mov dword [ebp - 0x14], eax
push eax
mov eax, dword [ebp - 0x10]
push dword [eax]
call fcn.100090bc
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x344]
add eax, 3
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov dword [esi + 0xb68], eax
mov eax, dword [esi + 0x344]
add eax, 3
pop ecx
test eax, eax
jle 0x10012376
mov eax, dword [esi + 0xb68]
and byte [eax + edi], 0
mov eax, dword [esi + 0x344]
inc edi
add eax, 3
cmp edi, eax
jl 0x1001235e
and byte [ebp - 0x74], 0
xor eax, eax
lea edi, [ebp - 0x73]
and byte [ebp - 0x8c], 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x8b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and byte [ebp - 0x1d4], 0
push 0x40
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x1d3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edi, edi
cmp dword [esi + 0x344], edi
jle 0x100124ce
push 0x11
lea eax, [ebp - 0x74]
push 0
push eax
call sub.MSVCRT.dll_memset
push 0x18
lea eax, [ebp - 0x8c]
push 0
push eax
call sub.MSVCRT.dll_memset
push 0x104
lea eax, [ebp - 0x1d4]
push 0
push eax
call sub.MSVCRT.dll_memset
lea eax, [edi + 1]
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0x8c]
push str.Urlname_d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x30
lea eax, [esi + 0x9d6]
push eax
lea eax, [ebp - 0x74]
push 0x11
push eax
lea eax, [ebp - 0x8c]
push 0x100221f0
push eax
push 0x10021390
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esi + 0x7c]
push eax
lea eax, [ebp - 0x1d4]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x1d4]
push str.icons_
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x1d4]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x1d4]
push str..ico
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x20
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x10012493
mov eax, dword [esi + 0xb68]
mov byte [eax + edi + 2], 1
jmp 0x100124bf
xor eax, eax
push 0x10
push eax
push eax
lea ecx, [ebp - 0x1d4]
push 1
push ecx
push eax
call dword [sym.imp.USER32.dll_LoadImageA]
mov edi, eax
mov eax, dword [ebp - 0x10]
push edi
push 0xffffffffffffffff
push dword [eax]
call fcn.100144d0
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [ebp - 0x14]
cmp edi, dword [esi + 0x344]
jl 0x100123bf
mov edi, dword [ebp - 0x10]
push dword [edi]
push 0
push 0x430
push dword [esi + 4]
call ebx
mov eax, dword [edi]
and dword [ebp - 0x18], 0
mov dword [esi + 0x70], eax
lea eax, [ebp - 0x28]
push eax
mov edi, 0x415
push 0
push edi
push dword [esi + 4]
mov byte [ebp - 0x20], 4
mov byte [ebp - 0x1f], 0x10
mov dword [ebp - 0x24], 0x13f
mov dword [ebp - 0x28], 1
call ebx
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push eax
push 1
push edi
mov byte [ebp - 0x1f], 8
push dword [esi + 4]
mov dword [ebp - 0x24], 0x140
call ebx
and dword [ebp - 0x28], 0
mov ecx, esi
mov byte [ebp - 0x20], 4
call fcn.100170da
cmp eax, 1
mov dword [ebp - 0x24], 0x141
setle al
dec eax
and dword [ebp - 0x18], 0
and eax, 8
add eax, 0x50
mov byte [ebp - 0x1f], al
lea eax, [ebp - 0x28]
push eax
push 2
push edi
push dword [esi + 4]
call ebx
and dword [esi + 0x74], 0
push 1
pop ecx
cmp dword [esi + 0x344], ecx
mov dword [ebp - 0x10], ecx
jle 0x100125c1
jmp 0x10012577
mov ecx, dword [ebp - 0x10]
lea eax, [ecx + 2]
mov byte [ebp - 0x20], 4
mov byte [ebp - 0x1f], 0x10
lea edx, [eax + 0x13f]
mov dword [ebp - 0x24], edx
mov edx, dword [esi + 0xb68]
cmp byte [edx + ecx + 2], 0
je 0x100125a1
or dword [ebp - 0x28], 0xffffffff
inc dword [esi + 0x74]
jmp 0x100125a8
sub ecx, dword [esi + 0x74]
inc ecx
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
push edi
push dword [esi + 4]
call ebx
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [esi + 0x344]
jl 0x10012574
mov eax, dword [esi + 0x344]
and byte [ebp - 0x20], 0xfb
and byte [ebp - 0x1f], 0
or dword [ebp - 0x28], 0xffffffff
lea ecx, [eax + 0x141]
add eax, 2
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
push edi
push dword [esi + 4]
call ebx
mov eax, dword [esi + 0x344]
or dword [ebp - 0x28], 0xffffffff
mov byte [ebp - 0x20], 4
mov byte [ebp - 0x1f], 0x10
lea ecx, [eax + 0x142]
add eax, 3
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
push edi
push dword [esi + 4]
call ebx
call dword [sym.imp.ATL.DLL_AtlAxWinInit]
and byte [ebp - 0xd0], 0
push 0x10
pop ecx
xor eax, eax
lea edi, [ebp - 0xcf]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x3c]
call fcn.1000acbc
lea eax, [ebp - 0xd0]
lea ecx, [ebp - 0x3c]
push eax
mov dword [ebp - 4], 1
call fcn.1000ad0b
lea eax, [ebp - 0xd0]
lea edi, [esi + 0x180]
push eax
push edi
call sub.MSVCRT.dll_strcpy
push 0x41
lea eax, [ebp - 0xd0]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x14
lea eax, [ebp - 0xd0]
lea ecx, [ebp - 0x3c]
push eax
call fcn.1000ad99
push str.ip
push edi
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0xd0]
push eax
push edi
call sub.MSVCRT.dll_strcat
add esp, 0x10
and dword [ebp - 0x38], 0
and dword [ebp - 0x34], 0
lea eax, [ebp - 0x60]
push 0x50
mov dword [ebp - 0x2c], 0x3c
pop edi
push eax
mov dword [ebp - 0x30], edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x38]
push eax
push 0
push 0x41d
push dword [esi + 4]
call ebx
mov edx, dword [0x10021024]
push 0x14
xor ecx, ecx
pop eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], edx
push eax
push edi
push ecx
push ecx
lea eax, [ebp - 0x40]
push str._d__d__d__d
push eax
mov byte [ebp - 4], 2
call fcn.1000c21f
mov eax, dword [ebp - 0x2c]
push 0x100221c0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
lea eax, [esi + 0x418]
push eax
call sub.MSVCRT.dll_strcpy
mov eax, dword [esi + 4]
add esp, 0x20
cmp dword [str.EDIT], 0
mov dword [ebp - 0x14], eax
lea edi, [esi + 0x3f0]
jne 0x10012754
mov dword [str.EDIT], 0x10022168
lea eax, [edi + 0x1c]
push eax
push 0x10022170
push 0x100229b8
call dword [sym.imp.ATL.DLL_AtlModuleRegisterWndClassInfoA]
push 0
push eax
push 0xbb8
push 0x200
push 0x54000080
lea eax, [ebp - 0x38]
push 0
push eax
push dword [ebp - 0x14]
mov ecx, edi
call fcn.1001a0a3
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push 1
push eax
push 0x30
push dword [esi + 0x3f4]
call ebx
neg edi
lea eax, [esi + 0x410]
sbb edi, edi
and edi, eax
push edi
push dword [esi + 0x3f4]
call dword [sym.imp.ole32.dll_RegisterDragDrop]
push 0
push 0x7e
push 0xc5
push dword [esi + 0x3f4]
call ebx
and byte [ebp - 0x31c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x31b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esi + 0x7c]
push eax
lea eax, [ebp - 0x31c]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x31c]
push str.searchcolor.ini
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x218]
push 0x41
push eax
push str.true
push str.ownerdraw
push str.style
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x218]
push str.false
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x10012849
and byte [esi + 0x6c9], al
jmp 0x10012850
mov byte [esi + 0x6c9], 1
push 0
push 0x64
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.100018ba
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.1000ad00
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10