Function at 0x10004e00
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
lea ecx, [ebp + 8]
sub esp, 0x48
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x28], eax
test byte [0x10007038], 8
jne 0x10004fe0
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], str.Wine_Structure
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetPropW]
sub esp, 8
mov ecx, eax
cmp ebx, 0x110
je 0x10005020
test eax, eax
je 0x10004eb8
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10004e7d
mov dword [esp + 0xc], edi
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov dword [esp], edi
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
call eax
mov ecx, dword [ebp - 0x2c]
sub esp, 0x10
test eax, eax
mov edi, eax
jne 0x10004eba
cmp ebx, 0x111
jne 0x10004ed0
movzx eax, si
cmp si, 0x1f5
ja 0x10004fa8
cmp eax, 0x1f3
ja 0x10005380
cmp eax, 2
jbe 0x10004f68
cmp eax, 0x63
jne 0x10004eb8
shr esi, 0x10
je 0x10005488
lea esi, [esi]
xor edi, edi
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp dword [0x1000b0e0], ebx
jne 0x10004eb8
cmp esi, 1
je 0x100054c0
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.user32.dll_EndDialog]
sub esp, 8
mov dword [esp], edi
mov edi, 1
mov dword [esp + 4], str.Wine_Structure
call dword [sym.imp.user32.dll_RemovePropW]
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
sub esp, 8
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x28], ecx
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x14]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [ebp - 0x28]
sub esp, 4
mov dword [esp], ecx
call ebx
jmp 0x10004eba
test eax, eax
je 0x10004eb8
shr esi, 0x10
jne 0x10004eb8
mov dword [esp + 8], eax
mov eax, dword [0x1000b0e0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x10004eb8
xor edi, edi
cmp eax, 0x1f9
jne 0x10004eba
shr esi, 0x10
cmp esi, 1
jne 0x10004eb8
mov esi, dword [ebp - 0x28]
lea ebx, [ecx + 4]
mov edx, ebx
mov eax, esi
call sym._update_as_icon.isra.0
mov edx, ebx
mov eax, esi
call sym._update_result_text.isra.0
jmp 0x10004eba
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.__p___04x___08Ix___08Ix__n
mov dword [esp + 8], str.ps_dlg_proc
mov dword [esp + 4], 0x10007038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x10004e28
mov dword [esp], 0x1c
call dword [sym.imp.ucrtbase.dll_malloc]
pxor xmm0, xmm0
mov dword [eax], edi
mov edx, eax
mov dword [eax + 0x18], 0
movups xmmword [eax + 8], xmm0
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 4]
mov edi, edx
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], edx
mov dword [esp + 4], str.Wine_Structure
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetPropW]
mov eax, dword [edi]
sub esp, 0xc
test byte [eax + 4], 1
je 0x100052f0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000508c
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextW]
sub esp, 8
mov ebx, dword [ebp - 0x30]
mov eax, ebx
call sym._get_descriptors.isra.0
lea eax, [ebx + 4]
mov edx, dword [ebx]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x28]
call sym._init_pastelist
mov edi, dword [ebx]
xor ebx, ebx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x34], eax
xor eax, eax
mov word [ebp - 0x24], ax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
test eax, eax
jle 0x10005120
xor esi, esi
nop
lea esi, [esi]
mov eax, dword [edi + 0x30]
lea ecx, [ebp - 0x24]
mov eax, dword [eax + esi*4]
mov word [ebp - 0x24], ax
mov eax, dword [edi + 0x24]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x14]
mov ecx, esi
mov edx, 1
mov dword [ebp - 0x2c], ebx
shl edx, cl
sub esp, 8
or ebx, edx
test eax, eax
cmovne ebx, dword [ebp - 0x2c]
add esi, 1
cmp esi, dword [edi + 0x34]
jge 0x10005120
cmp esi, 8
jne 0x100050e0
test byte [0x10007038], 8
jne 0x10005350
mov esi, dword [edi + 0x2c]
test esi, esi
jle 0x10005578
mov dword [ebp - 0x2c], 0
xor esi, esi
jmp 0x10005150
add esi, 1
cmp esi, dword [edi + 0x2c]
jge 0x10005186
mov edx, dword [edi + 0x28]
lea eax, [esi + esi*8]
lea ecx, [edx + eax*4]
mov edx, dword [ecx + 0x1c]
mov eax, edx
and eax, ebx
and dh, 4
movzx eax, al
cmovne eax, ebx
test eax, eax
je 0x10005148
mov eax, dword [ebp - 0x28]
mov edx, 0x1f8
add esi, 1
call sym._add_entry_to_lb
add dword [ebp - 0x2c], 1
cmp esi, dword [edi + 0x2c]
jl 0x10005150
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x34]
or ebx, eax
test eax, eax
setne al
movzx eax, al
mov esi, eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], 0x1f5
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_EnableWindow]
mov esi, dword [ebp - 0x30]
sub esp, 8
mov eax, dword [esi + 4]
test al, 6
jne 0x100051cf
or eax, 2
mov dword [esi + 4], eax
test ebx, ebx
jne 0x100052b0
mov edx, dword [ebp - 0x30]
and eax, 0xfffffff9
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x28]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1f5
mov dword [esp + 4], 0x1f4
mov dword [esp], edi
call dword [sym.imp.user32.dll_CheckRadioButton]
sub esp, 0x10
mov dword [esp + 4], 1
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_EnableWindow]
sub esp, 8
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
mov eax, esi
mov edx, edi
call sym._update_src_text
mov ebx, dword [ebp - 0x38]
mov eax, esi
mov edx, ebx
call sym._update_as_icon.isra.0
mov edx, ebx
mov eax, esi
call sym._update_result_text.isra.0
mov dword [esp + 4], 0x1f9
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
mov eax, dword [edi]
sub esp, 4
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10004eb8
mov dword [esp], esi
xor edi, edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x110
call eax
mov eax, edi
sub esp, 0x10
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x100053e8
test al, 2
jne 0x10005448
mov edx, dword [ebp - 0x2c]
test edx, edx
jne 0x10005568
test al, 4
je 0x100051e0
mov edx, dword [ebp - 0x30]
and eax, 0xfffffffb
or eax, 2
mov dword [edx + 4], eax
jmp 0x100053f7
mov esi, dword [ebp - 0x28]
mov dword [esp + 4], 0x63
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
mov dword [esp + 4], 0x63
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_EnableWindow]
mov eax, dword [ebp - 0x30]
sub esp, 8
mov eax, dword [eax]
jmp 0x10005072
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.supported_mask__02lx_n
mov dword [esp + 8], str.init_linklist
mov dword [esp + 4], 0x10007038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x1000512d
shr esi, 0x10
jne 0x10004eb8
mov edx, dword [ecx + 4]
cmp eax, 0x1f4
je 0x10005589
and edx, 0xfffffffd
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
or edx, 4
mov dword [ecx + 4], edx
mov edx, ecx
call sym._update_src_text
mov ecx, dword [ebp - 0x2c]
mov edx, 0x1f8
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov eax, edi
call sym._update_display_list
mov ecx, dword [ebp - 0x2c]
mov eax, edi
lea ebx, [ecx + 4]
mov edx, ebx
call sym._update_as_icon.isra.0
mov eax, edi
mov edx, ebx
xor edi, edi
call sym._update_result_text.isra.0
jmp 0x10004eba
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10005430
test al, 2
je 0x10005568
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], 0x1f4
mov dword [esp + 8], 0x1f5
mov dword [esp + 4], 0x1f4
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckRadioButton]
mov edx, 0x1f7
sub esp, 0x10
mov eax, dword [ebp - 0x28]
call sym._update_display_list
jmp 0x1000522f
test al, 4
jne 0x100052d6
test al, 2
jne 0x100053f7
jmp 0x100051e0
mov edx, dword [ebp - 0x30]
and eax, 0xfffffffd
or eax, 4
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], 0x1f5
mov dword [esp + 8], 0x1f5
mov dword [esp + 4], 0x1f4
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckRadioButton]
mov edx, 0x1f8
sub esp, 0x10
jmp 0x10005423
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], 0x3eb
xor edi, edi
mov dword [esp + 8], eax
mov eax, dword [0x1000b0c4]
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_PostMessageW]
sub esp, 0x10
jmp 0x10004eba
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov dword [esp + 4], 0x1f9
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp], eax
call edi
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x188
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x2c]
sub esp, 0x10
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x1000554a
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], 0x1f9
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x30]
sub esp, 8
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x199
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + 0x20]
sub esp, 0x10
mov ebx, dword [ecx]
mov dword [ebx + 0x40], edx
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
shr eax, 2
mov edx, dword [ecx]
and eax, 1
mov dword [edx + 0x44], eax
jmp 0x10004ee1
test al, 4
jne 0x10005454
jmp 0x100051e0
mov dword [ebp - 0x2c], 0
mov ebx, dword [ebp - 0x34]
xor esi, esi
jmp 0x10005198
and edx, 0xfffffffb
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
or edx, 2
mov dword [ecx + 4], edx
mov edx, ecx
call sym._update_src_text
mov ecx, dword [ebp - 0x2c]
mov edx, 0x1f7
jmp 0x100053b5