Function at 0x429937
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push edi
mov edi, dword [ebp + 8]
push 0x43f620
push str.Texture_Files
push str.Select_Texture_Image
push dword [edi + 0x20]
call fcn.00426a1e
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x429c40
push esi
mov esi, dword [ebp + 0xc]
push ebx
push dword [ebp + 0x10]
push esi
call fcn.00433d9a
add esp, 0xc
test eax, eax
jne 0x429986
xor edi, edi
inc edi
jmp 0x429c35
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.0040a820
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x429bc4
cmp dword [ebp - 4], 0
je 0x429bc4
cmp dword [ebp - 8], 0
je 0x429bc4
push dword [ebp - 4]
call fcn.00433783
pop ecx
test eax, eax
je 0x429ba2
mov eax, 0x400
cmp dword [ebp - 4], eax
jg 0x429ba2
cmp dword [ebp - 8], eax
jg 0x429ba2
push dword [edi + 0x20]
call fcn.0040583b
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.00436e6a
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.00407dd9
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 + 0x4e0], 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.0043b5f7
mov esi, dword [ebp + 8]
pop ecx
cmp dword [esi + 0x4a4], edi
je 0x429b91
mov edi, dword [esi + 0x260]
mov ecx, edi
push edi
push dword [esi + 0x264]
sar ecx, 0x14
push 8
and ecx, 7
mov dword [ebp - 0xc], edi
pop eax
shl eax, cl
push eax
call fcn.00433837
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebx], edi
xor edi, edi
mov ecx, dword [esi + 0x264]
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 + 0x268]
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 0x429b3e
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 + 0x26c]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xc]
add esp, 0x14
cmp eax, 7
je 0x429b80
mov edi, dword [ebp + 0x10]
mov esi, dword [esi + 0x280]
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 + 0x284]
push eax
call sub.msvcrt.dll_memcpy
add edi, 8
add esi, 0x288
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.00428a95
pop ecx
pop ecx
jmp 0x429b94
mov ebx, dword [ebp - 0x10]
push dword [ebp - 0x18]
call fcn.00405714
pop ecx
jmp 0x429c35
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 0x429b9c
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.0041dc1a
pop ecx
pop ecx
test eax, eax
je 0x429bfb
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 0x429c35
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.00428a95
lea eax, [ebp - 0x64]
xor edi, edi
push eax
inc edi
call fcn.00408ad0
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