Function at 0x46abe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
mov ebx, ecx
push esi
push edi
mov dword [esp + 0xc], ebx
mov eax, dword [ebx + 0x1c]
lea esi, [ebx + 0x68]
mov dword [esp + 0x10], esi
lea edi, [ebx + 0x6c]
mov dword [esp + 0x14], edi
test eax, eax
je 0x46ac26
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push eax
call esi
push 0xffffffffffffffec
push dword [ebx + 0x1c]
mov dword [ebx + 0x68], eax
call esi
mov dword [edi], eax
lea esi, [ebx + 0x68]
jmp 0x46ac2e
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov ecx, dword [edi]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
movzx eax, word [edi]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [esp + 0x38], edi
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [esp + 0x44], edi
mov edi, dword [ebp + 8]
test ax, ax
je 0x46b631
mov ecx, eax
mov eax, dword [sym.imp.USER32.dll_IsWindow]
mov dword [esp + 0x4c], eax
mov eax, dword [sym.imp.USER32.dll_SetParent]
mov dword [esp + 0x40], eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
mov dword [esp + 0x48], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x30], eax
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [esp + 0x3c], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x2c], eax
cmp cx, 0x2d
jne 0x46aca2
xor bh, bh
jmp 0x46acad
movzx eax, cx
mov bh, 1
cmp cx, 0x2b
jne 0x46acb7
movzx eax, word [edi + 2]
add edi, 2
mov dword [ebp + 8], edi
test ax, ax
je 0x46b621
mov dword [esp + 0x20], edi
test edi, edi
je 0x46ad0c
movzx esi, ax
nop dword [eax + eax]
mov ecx, 0x4d4b64
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x46adc0
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x46ace0
mov eax, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x20], eax
movzx eax, word [eax]
mov esi, eax
test ax, ax
jne 0x46acd0
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46ad11
sub ecx, edx
sar ecx, 1
lea ecx, [edi + ecx*2]
mov dword [esp + 0x20], ecx
cmp ecx, edi
je 0x46b5ff
movzx eax, word [ecx]
push 5
mov dword [esp + 0x38], eax
xor eax, eax
push str.Owner
push edi
mov word [ecx], ax
call fcn.0049f8ef
add esp, 0xc
test eax, eax
sete bl
test eax, eax
je 0x46b49b
push 6
push str.Parent
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
je 0x46b49b
push str.AlwaysOnTop
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46adfc
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x46addc
push 0x13
push 0
push 0
push 0
push 0
movzx eax, bh
sub eax, 2
push eax
push ecx
call dword [esp + 0x60]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test bh, bh
je 0x46adc9
mov ecx, dword [esp + 0x14]
or dword [esp + 0x1c], 8
or eax, 8
mov dword [ecx], eax
jmp 0x46b5f4
mov ecx, dword [esp + 0x20]
jmp 0x46ad27
and dword [esp + 0x1c], 0xfffffff7
mov ecx, dword [esp + 0x14]
and eax, 0xfffffff7
mov dword [ecx], eax
jmp 0x46b5f4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
test bh, bh
je 0x46adce
mov ecx, dword [esp + 0x14]
or eax, 8
mov dword [ecx], eax
jmp 0x46b5f4
push str.Border
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46ae2d
mov edi, dword [esp + 0x10]
mov ecx, dword [edi]
mov eax, ecx
and eax, 0xff7fffff
or ecx, 0x800000
test bh, bh
cmove ecx, eax
mov dword [edi], ecx
jmp 0x46b5f4
push str.Caption
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46ae5e
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xff3fffff
or ecx, 0xc00000
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push str.Disabled
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46aee3
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x46aec1
movzx eax, bh
xor eax, 1
push eax
push ecx
call dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test bh, bh
je 0x46aea9
mov ecx, dword [esp + 0x10]
or dword [esp + 0x18], 0x8000000
or eax, 0x8000000
mov dword [ecx], eax
jmp 0x46b5f4
and dword [esp + 0x18], 0xf7ffffff
mov ecx, dword [esp + 0x10]
and eax, 0xf7ffffff
mov dword [ecx], eax
jmp 0x46b5f4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [eax]
test bh, bh
je 0x46aeb1
mov ecx, dword [esp + 0x10]
or eax, 0x8000000
mov dword [ecx], eax
jmp 0x46b5f4
push str.LastFound
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46af00
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x46b5f4
push str.MaximizeBox
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46af31
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfffeffff
or ecx, 0x90000
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push str.MinimizeBox
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46af62
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfffdffff
or ecx, 0xa0000
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push 7
push str.MinSize
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46b121
add edi, 0xe
mov dword [ebp + 8], edi
test bh, bh
je 0x46b104
cmp word [edi], 0
mov esi, dword [esp + 0xc]
mov al, byte [esi + 0xc1]
je 0x46b0ba
test al, al
je 0x46afb2
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
jmp 0x46aff3
lea eax, [esp + 0x50]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x38]
lea eax, [esp + 0x90]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x44]
mov edx, dword [esp + 0x58]
sub edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x5c]
sub edx, dword [esp + 0x50]
sub ecx, dword [esp + 0x9c]
sub ecx, dword [esp + 0x54]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
test ax, ax
je 0x46b0b6
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, 0x4de2c0
mov edx, 0x58
nop word [eax + eax]
cmp si, dx
je 0x46b07d
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x46b020
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x46b010
xor edi, edi
mov esi, dword [esp + 0xc]
cmp edi, ebx
je 0x46b5f4
push ebx
call fcn.004a5a5d
add esp, 4
cmp byte [esi + 0xc6], 0
je 0x46b06e
push 0x60
push dword [0x4eb0e0]
push eax
call dword [esp + 0x38]
add eax, dword [esp + 0x24]
mov dword [esi + 0xac], eax
jmp 0x46b5f4
cmp word [edi + 2], 0
lea eax, [edi + 2]
je 0x46b043
push eax
call fcn.004a5a5d
mov esi, dword [esp + 0x10]
add esp, 4
cmp byte [esi + 0xc6], 0
je 0x46b0aa
push 0x60
push dword [0x4eb0e0]
push eax
call dword [esp + 0x38]
add eax, dword [esp + 0x28]
mov dword [esi + 0xb0], eax
jmp 0x46b047
xor edi, edi
jmp 0x46b047
test al, al
je 0x46b0d7
mov dword [esi + 0xac], htonl
mov dword [esi + 0xb0], htonl
jmp 0x46b5f4
lea eax, [esp + 0x60]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x38]
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
mov dword [esi + 0xac], eax
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x64]
mov dword [esi + 0xb0], eax
jmp 0x46b5f4
mov edx, dword [esp + 0xc]
mov dword [edx + 0xac], htonl
mov dword [edx + 0xb0], htonl
jmp 0x46b5f4
push 7
push str.MaxSize
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46b2e0
add edi, 0xe
mov dword [ebp + 8], edi
test bh, bh
je 0x46b2c3
cmp word [edi], 0
mov esi, dword [esp + 0xc]
mov al, byte [esi + 0xc1]
je 0x46b26a
test al, al
je 0x46b171
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
jmp 0x46b1b2
lea eax, [esp + 0x70]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x38]
lea eax, [esp + 0xa0]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x44]
mov edx, dword [esp + 0x78]
sub edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x7c]
sub edx, dword [esp + 0x70]
sub ecx, dword [esp + 0xac]
sub ecx, dword [esp + 0x74]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
test ax, ax
je 0x46b266
mov esi, eax
mov ecx, 0x4de2c0
mov edx, 0x58
nop dword [eax]
cmp si, dx
je 0x46b22d
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x46b1d0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x46b1c3
xor edi, edi
mov esi, dword [esp + 0xc]
cmp edi, ebx
je 0x46b5f4
push ebx
call fcn.004a5a5d
add esp, 4
cmp byte [esi + 0xc6], 0
je 0x46b21e
push 0x60
push dword [0x4eb0e0]
push eax
call dword [esp + 0x38]
add eax, dword [esp + 0x28]
mov dword [esi + 0xb4], eax
jmp 0x46b5f4
cmp word [edi + 2], 0
lea eax, [edi + 2]
je 0x46b1f3
push eax
call fcn.004a5a5d
mov esi, dword [esp + 0x10]
add esp, 4
cmp byte [esi + 0xc6], 0
je 0x46b25a
push 0x60
push dword [0x4eb0e0]
push eax
call dword [esp + 0x38]
add eax, dword [esp + 0x24]
mov dword [esi + 0xb8], eax
jmp 0x46b1f7
xor edi, edi
jmp 0x46b1f7
test al, al
je 0x46b287
mov dword [esi + 0xb4], htonl
mov dword [esi + 0xb8], htonl
jmp 0x46b5f4
lea eax, [esp + 0x80]
push eax
push dword [esi + 0x1c]
call dword [esp + 0x38]
mov eax, dword [esp + 0x88]
sub eax, dword [esp + 0x80]
mov dword [esi + 0xb4], eax
mov eax, dword [esp + 0x8c]
sub eax, dword [esp + 0x84]
mov dword [esi + 0xb8], eax
jmp 0x46b5f4
mov eax, dword [esp + 0xc]
mov dword [eax + 0xb4], htonl
mov dword [eax + 0xb8], htonl
jmp 0x46b5f4
push str.OwnDialogs
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b303
mov ecx, dword [ebp + 0x10]
movzx eax, bh
xor eax, 1
inc eax
mov dword [ecx], eax
jmp 0x46b5f4
push str.Resize
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b334
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfffaffff
or ecx, 0x50000
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push str.SysMenu
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b365
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfff7ffff
or ecx, 0x80000
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push str.Theme
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b386
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc0], bh
jmp 0x46b5f4
push str.ToolWindow
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b3b7
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xffffff7f
or ecx, 0x80
test bh, bh
cmove ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
push str.DPIScale
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b3d8
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc6], bh
jmp 0x46b5f4
movzx esi, word [edi]
test esi, 0xffffff80
jne 0x46b3f3
push esi
call fcn.004a5790
add esp, 4
test eax, eax
je 0x46b3f3
and esi, 0xffffffdf
xor edx, edx
push ecx
push edx
cmp si, 0x45
jne 0x46b437
push edx
lea ecx, [edi + 2]
call fcn.00481e90
add esp, 0xc
test eax, eax
je 0x46b5f4
lea ecx, [edi + 2]
call fcn.004828e0
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
test bh, bh
je 0x46b42c
or ecx, eax
mov dword [edx], ecx
jmp 0x46b5f4
not eax
and eax, ecx
mov dword [edx], eax
jmp 0x46b5f4
push 1
mov ecx, edi
call fcn.00481e90
add esp, 0xc
test eax, eax
je 0x46b46c
mov ecx, edi
call fcn.004828e0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi]
test bh, bh
je 0x46b461
or ecx, eax
mov dword [edi], ecx
jmp 0x46b5f4
not eax
and ecx, eax
mov dword [edi], ecx
jmp 0x46b5f4
mov ecx, dword [esp + 0x20]
mov edx, edi
mov eax, dword [esp + 0x34]
push 9
mov word [ecx], ax
mov ecx, str.Invalid_option.
call fcn.00430e80
add esp, 4
test eax, eax
jne 0x46b5f4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test bh, bh
jne 0x46b4a8
xor edi, edi
xor esi, esi
jmp 0x46b55a
movzx eax, bl
xor eax, 1
cmp word [edi + eax*2 + 0xa], 0
lea esi, [edi + eax*2]
jne 0x46b4d0
test bl, bl
je 0x46b4d0
mov edx, dword [esp + 0xc]
mov eax, dword [0x4e9eac]
lea esi, [edx + 0x28]
mov dword [esi], eax
jmp 0x46b56b
xor edi, edi
push ecx
push edi
push edi
lea edx, [edi + 1]
lea ecx, [esi + 0xa]
call fcn.00481e90
add esp, 0xc
cmp eax, 1
jne 0x46b4fc
lea ecx, [esi + 0xa]
call fcn.004828e0
mov esi, eax
push esi
call dword [esp + 0x50]
test eax, eax
cmovne edi, esi
mov esi, edi
test edi, edi
je 0x46b50b
mov edx, dword [esp + 0xc]
cmp edi, dword [edx + 0x1c]
jne 0x46b55e
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x34]
mov word [ecx], ax
mov ecx, 0x4d1e48
mov eax, dword [ebp + 8]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x4e59a0]
mov eax, dword [eax + 0x34]
cmp eax, 8
jne 0x46b5a8
mov eax, dword [0x4eb750]
test eax, eax
je 0x46b53d
mov edx, eax
push 0
push 9
push edx
push ecx
push str.Invalid_or_nonexistent_owner_or_parent_window.
mov ecx, 0x4eb110
call fcn.0042fef0
test eax, eax
je 0x46b490
mov edx, dword [esp + 0xc]
lea eax, [edx + 0x28]
mov ecx, eax
mov dword [ecx], esi
mov esi, eax
test bl, bl
je 0x46b5c9
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, 0x40000000
je 0x46b596
and eax, 0x3fffffff
or eax, 0x80000000
mov dword [edi], eax
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x46b596
push 0
push eax
call dword [esp + 0x48]
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x46b5f4
push dword [esi]
push 0xfffffffffffffff8
push eax
call dword [esp + 0x44]
jmp 0x46b5f4
test eax, eax
jne 0x46b53d
cmp dword [0x4eb784], edx
jne 0x46b53d
push eax
push ecx
push 9
push str.Invalid_or_nonexistent_owner_or_parent_window.
mov ecx, 0x4eb110
call fcn.00430430
jmp 0x46b552
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x46b5d6
push edi
push eax
call dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
and eax, 0x3fffffff
cmp dword [esi], 0
je 0x46b5ed
or eax, 0x40000000
jmp 0x46b5f2
or eax, 0x80000000
mov dword [edi], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov word [ecx], ax
mov edi, ecx
movzx eax, word [edi]
cmp eax, 0x20
je 0x46b60e
cmp eax, 9
jne 0x46b613
add edi, 2
jmp 0x46b601
mov dword [ebp + 8], edi
mov ecx, eax
test ax, ax
jne 0x46ac98
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x46b6ae
mov edi, dword [esp + 0x14]
cmp dword [esi], edx
jne 0x46b644
cmp dword [edi], ecx
je 0x46b6ae
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x46b660
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x46b660
mov bl, 1
jmp 0x46b662
xor bl, bl
mov eax, dword [esi]
mov esi, dword [esp + 0xc]
cmp eax, dword [esp + 0x18]
je 0x46b678
push eax
push 0xfffffffffffffff0
push dword [esi + 0x1c]
call dword [esp + 0x44]
mov eax, dword [edi]
cmp eax, dword [esp + 0x1c]
je 0x46b68a
push eax
push 0xffffffffffffffec
push dword [esi + 0x1c]
call dword [esp + 0x44]
test bl, bl
je 0x46b6ae
push 0x37
push 0
push 0
push 0
push 0
push 0
push dword [esi + 0x1c]
call dword [esp + 0x60]
push 1
push 0
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc