Function at 0x42a339
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push edi
mov edi, dword [ebp + 8]
push 0x440a78
push str.Texture_Files
push str.Select_Texture_Image
push dword [edi + 0x20]
call fcn.00427485
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x42a642
push esi
mov esi, dword [ebp + 0xc]
push ebx
push dword [ebp + 0x10]
push esi
call fcn.004347da
add esp, 0xc
test eax, eax
jne 0x42a388
xor edi, edi
inc edi
jmp 0x42a637
and dword [ebp - 4], 0
lea eax, [ebp - 8]
and dword [ebp - 8], 0
push eax
lea eax, [ebp - 4]
push eax
push ebx
call fcn.0040ac8a
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42a5c6
cmp dword [ebp - 4], 0
je 0x42a5c6
cmp dword [ebp - 8], 0
je 0x42a5c6
push dword [ebp - 4]
call fcn.004341c3
pop ecx
test eax, eax
je 0x42a5a4
mov eax, 0x400
cmp dword [ebp - 4], eax
jg 0x42a5a4
cmp dword [ebp - 8], eax
jg 0x42a5a4
push dword [edi + 0x20]
call fcn.004059bf
pop ecx
xor ebx, ebx
mov esi, eax
push ebx
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebp - 0x18]
mov edi, dword [eax]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push ebx
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0xb
push edi
call ebx
push dword [ebp - 0x10]
mov eax, 0x40000000
push edi
push 0
push 0
push eax
push eax
call fcn.0043789a
add esp, 0x18
mov dword [ebp - 0x18], eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0x18]
call fcn.004080a1
pop ecx
xor ecx, ecx
mov dword [ebp + 8], eax
push ecx
push ecx
push ecx
push esi
mov eax, 0x1f4
push eax
push eax
mov eax, 0x80000000
push eax
push eax
push 0xc80000
push str.Convert_Texture
push str.ConvertDialogClass
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0
mov esi, eax
mov eax, dword [ebp + 8]
push 1
push 0xb
push edi
mov dword [eax + 0x4fc], esi
call ebx
push dword [ebp + 8]
xor edi, edi
push edi
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push edi
push edi
push 0x401
push esi
call ebx
push esi
call fcn.0043c167
mov esi, dword [ebp + 8]
pop ecx
cmp dword [esi + 0x4a8], edi
je 0x42a593
mov edi, dword [esi + 0x264]
mov ecx, edi
push edi
push dword [esi + 0x268]
sar ecx, 0x14
push 8
and ecx, 7
mov dword [ebp - 0xc], edi
pop eax
shl eax, cl
push eax
call fcn.00434277
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebx], edi
xor edi, edi
mov ecx, dword [esi + 0x268]
inc edi
push edi
push eax
mov dword [ebx + 4], ecx
call dword [sym.imp.msvcrt.dll_calloc]
push dword [ebp - 0x14]
mov dword [ebx + 8], eax
push dword [esi + 0x26c]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xc]
add esp, 0x20
sar eax, 0x1a
and eax, 7
mov dword [ebp - 0xc], eax
cmp eax, 5
jne 0x42a540
mov eax, dword [ebp - 0x14]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
push edi
push esi
call dword [sym.imp.msvcrt.dll_calloc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebx + 0xc], eax
push dword [esi + 0x270]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xc]
add esp, 0x14
cmp eax, 7
je 0x42a582
mov edi, dword [ebp + 0x10]
mov esi, dword [esi + 0x284]
push 2
push esi
mov dword [edi], esi
call dword [sym.imp.msvcrt.dll_calloc]
lea ecx, [esi + esi]
mov dword [edi + 4], eax
mov esi, dword [ebp + 8]
push ecx
push dword [esi + 0x288]
push eax
call sub.msvcrt.dll_memcpy
add edi, 8
add esi, 0x28c
add esp, 0x14
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
inc edi
lea eax, [ebx + 0x10]
mov ebx, dword [ebp - 0x10]
push eax
push ebx
call fcn.004294a8
pop ecx
pop ecx
jmp 0x42a596
mov ebx, dword [ebp - 0x10]
push dword [ebp - 0x18]
call fcn.004058b2
pop ecx
jmp 0x42a637
push 0x10
push str.Invalid_dimensions
push str.Textures_must_have_dimensions_as_powers_of_two_greater_than_or_equal_to_8__and_not_exceeding_1024.
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x18]
xor edi, edi
call dword [sym.imp.msvcrt.dll_free]
jmp 0x42a59e
push 8
xor eax, eax
mov edi, esi
pop ecx
rep stosd dword es:[edi], eax
and dword [esi], eax
lea eax, [ebp - 0x64]
push ebx
push eax
call fcn.0041e2ca
pop ecx
pop ecx
test eax, eax
je 0x42a5fd
mov eax, dword [ebp + 8]
push 0x10
push str.Invalid_File
push str.Invalid_texture__image__or_palette_file.
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_MessageBoxW]
xor edi, edi
jmp 0x42a637
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp - 0x34]
push 2
push esi
mov dword [edi], esi
call dword [sym.imp.msvcrt.dll_calloc]
lea ecx, [esi + esi]
mov dword [edi + 4], eax
push ecx
push dword [ebp - 0x20]
push eax
call sub.msvcrt.dll_memcpy
lea eax, [edi + 8]
push eax
push ebx
call fcn.004294a8
lea eax, [ebp - 0x64]
xor edi, edi
push eax
inc edi
call fcn.00408ded
add esp, 0x20
push ebx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, edi
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret