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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
test eax, eax
je 0x45fe40
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push eax
call esi
push 0xffffffffffffffec
push dword [edi + 4]
mov dword [edi + 0x3c], eax
call esi
mov dword [edi + 0x40], eax
mov esi, dword [ebp + 8]
mov ebx, dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + 0x40]
movzx eax, word [esi]
mov dword [esp + 0x28], ebx
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], ebx
test ax, ax
je 0x460796
mov ecx, eax
mov eax, dword [sym.imp.USER32.dll_IsWindow]
mov dword [esp + 0x40], eax
mov eax, dword [sym.imp.USER32.dll_SetParent]
mov dword [esp + 0x34], eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
mov dword [esp + 0x3c], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x24], eax
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [esp + 0x30], eax
cmp cx, 0x2d
jne 0x45fead
mov byte [esp + 0x12], 0
jmp 0x45febb
mov byte [esp + 0x12], 1
movzx eax, cx
cmp cx, 0x2b
jne 0x45fec2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x46078e
mov dword [esp + 0x20], esi
test esi, esi
je 0x45ff1c
movzx ebx, ax
nop word [eax + eax]
mov ecx, 0x4bfc0c
mov edx, 0x20
nop word [eax + eax]
cmp bx, dx
je 0x45ffbe
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x45fef0
mov eax, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x20], eax
movzx eax, word [eax]
mov ebx, eax
test ax, ax
jne 0x45fee0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45ff21
sub ecx, edx
sar ecx, 1
lea eax, [esi + ecx*2]
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x46076f
movzx ecx, word [eax]
push 5
mov dword [esp + 0x48], ecx
xor ecx, ecx
push str.Owner
push esi
mov word [eax], cx
call fcn.00491336
add esp, 0xc
test eax, eax
sete cl
mov byte [esp + 0x13], cl
test eax, eax
je 0x460621
push 6
push str.Parent
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
je 0x46061d
push str.AlwaysOnTop
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x45ffe4
mov ecx, dword [edi + 4]
mov bl, byte [esp + 0x12]
test ecx, ecx
je 0x45ffcc
push 0x13
push eax
push eax
push eax
push eax
movzx eax, bl
sub eax, 2
push eax
push ecx
call dword [esp + 0x54]
test bl, bl
je 0x45ffc7
or dword [esp + 0x1c], 8
jmp 0x45ffcc
mov eax, dword [esp + 0x20]
jmp 0x45ff37
and dword [esp + 0x1c], 0xfffffff7
mov ecx, dword [edi + 0x40]
mov eax, ecx
and eax, 0xfffffff7
or ecx, 8
test bl, bl
cmove ecx, eax
mov dword [edi + 0x40], ecx
jmp 0x460764
push str.Border
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460017
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xff7fffff
or ecx, 0x800000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push str.Caption
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x46004a
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xff3fffff
or ecx, 0xc00000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push 9
push str.Delimiter
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
jne 0x4600ba
add esi, 0x12
push 0x4bd3a4
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460081
mov eax, 9
mov word [edi + 0x46], ax
jmp 0x460764
push str.Space
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x4600a1
mov eax, 0x20
mov word [edi + 0x46], ax
jmp 0x460764
movzx eax, word [esi]
test ax, ax
jne 0x4600ae
mov eax, 0x7c
movzx eax, ax
mov word [edi + 0x46], ax
jmp 0x460764
push str.Disabled
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460116
mov ecx, dword [edi + 4]
mov bl, byte [esp + 0x12]
test ecx, ecx
je 0x4600f9
movzx eax, bl
xor eax, 1
push eax
push ecx
call dword [esp + 0x44]
test bl, bl
je 0x4600f1
or dword [esp + 0x18], 0x8000000
jmp 0x4600f9
and dword [esp + 0x18], 0xf7ffffff
mov ecx, dword [edi + 0x3c]
mov eax, ecx
and eax, 0xf7ffffff
or ecx, 0x8000000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push 4
push str.Hwnd
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
jne 0x460145
push 3
push eax
lea eax, [esi + 8]
mov ecx, 0x4d3ee0
push eax
call fcn.00420d30
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jmp 0x460764
push 5
push str.Label
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
jne 0x460175
mov bl, byte [esp + 0x12]
test bl, bl
je 0x460764
lea eax, [esi + 0xa]
mov ecx, edi
push eax
call fcn.0045ccb0
jmp 0x460764
push str.LastFound
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460192
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x460764
push str.MaximizeBox
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x4601c5
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xfffeffff
or ecx, 0x90000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push str.MinimizeBox
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x4601f8
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xfffdffff
or ecx, 0xa0000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push 7
push str.MinSize
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
jne 0x460342
mov bl, byte [esp + 0x12]
add esi, 0xe
test bl, bl
je 0x460329
cmp word [esi], 0
mov al, byte [edi + 0xbb]
je 0x4602df
test al, al
je 0x46023f
mov dword [esp + 0x14], 0
xor ebx, ebx
jmp 0x46027c
lea eax, [esp + 0x48]
push eax
push dword [edi + 4]
call dword [esp + 0x2c]
lea eax, [esp + 0x88]
push eax
push dword [edi + 4]
call dword [esp + 0x38]
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x54]
sub eax, dword [esp + 0x48]
sub ebx, dword [esp + 0x94]
sub ebx, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov edx, 0x4c823c
mov ecx, esi
call fcn.0040ab90
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4602b7
cmp word [eax + 2], 0
lea ecx, [eax + 2]
je 0x4602b7
push ecx
call fcn.00492a15
add esp, 4
mov ecx, edi
push eax
call fcn.0042f560
add eax, ebx
mov dword [edi + 0xac], eax
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x460764
push esi
call fcn.00492a15
add esp, 4
mov ecx, edi
push eax
call fcn.0042f560
add eax, dword [esp + 0x14]
mov dword [edi + 0xa8], eax
jmp 0x460764
test al, al
je 0x4602fc
mov dword [edi + 0xa8], SysStringLen
mov dword [edi + 0xac], SysStringLen
jmp 0x460764
lea eax, [esp + 0x58]
push eax
push dword [edi + 4]
call dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
mov dword [edi + 0xa8], eax
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x5c]
mov dword [edi + 0xac], eax
jmp 0x460764
mov dword [edi + 0xa8], SysStringLen
mov dword [edi + 0xac], SysStringLen
jmp 0x460764
push 7
push str.MaxSize
push esi
call fcn.00491336
add esp, 0xc
test eax, eax
jne 0x460492
mov bl, byte [esp + 0x12]
add esi, 0xe
test bl, bl
je 0x460479
cmp word [esi], 0
mov al, byte [edi + 0xbb]
je 0x460429
test al, al
je 0x460389
mov dword [esp + 0x14], 0
xor ebx, ebx
jmp 0x4603c6
lea eax, [esp + 0x68]
push eax
push dword [edi + 4]
call dword [esp + 0x2c]
lea eax, [esp + 0x98]
push eax
push dword [edi + 4]
call dword [esp + 0x38]
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x74]
sub eax, dword [esp + 0x68]
sub ebx, dword [esp + 0xa4]
sub ebx, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov edx, 0x4c823c
mov ecx, esi
call fcn.0040ab90
mov dword [esp + 0x2c], eax
test eax, eax
je 0x460401
cmp word [eax + 2], 0
lea ecx, [eax + 2]
je 0x460401
push ecx
call fcn.00492a15
add esp, 4
mov ecx, edi
push eax
call fcn.0042f560
add eax, ebx
mov dword [edi + 0xb4], eax
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x460764
push esi
call fcn.00492a15
add esp, 4
mov ecx, edi
push eax
call fcn.0042f560
add eax, dword [esp + 0x14]
mov dword [edi + 0xb0], eax
jmp 0x460764
test al, al
je 0x460446
mov dword [edi + 0xb0], SysStringLen
mov dword [edi + 0xb4], SysStringLen
jmp 0x460764
lea eax, [esp + 0x78]
push eax
push dword [edi + 4]
call dword [esp + 0x2c]
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x78]
mov dword [edi + 0xb0], eax
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x7c]
mov dword [edi + 0xb4], eax
jmp 0x460764
mov dword [edi + 0xb0], SysStringLen
mov dword [edi + 0xb4], SysStringLen
jmp 0x460764
push str.OwnDialogs
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x4604b9
mov bl, byte [esp + 0x12]
mov ecx, dword [ebp + 0x10]
movzx eax, bl
xor eax, 1
inc eax
mov dword [ecx], eax
jmp 0x460764
push str.Resize
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x4604ec
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xfffaffff
or ecx, 0x50000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push str.SysMenu
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x46051f
mov ecx, dword [edi + 0x3c]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xfff7ffff
or ecx, 0x80000
test bl, bl
cmove ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
push str.Theme
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x46053d
mov bl, byte [esp + 0x12]
mov byte [edi + 0x45], bl
jmp 0x460764
push str.ToolWindow
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460570
mov ecx, dword [edi + 0x40]
mov eax, ecx
mov bl, byte [esp + 0x12]
and eax, 0xffffff7f
or ecx, 0x80
test bl, bl
cmove ecx, eax
mov dword [edi + 0x40], ecx
jmp 0x460764
push str.DPIScale
push esi
call fcn.0048f253
add esp, 8
test eax, eax
jne 0x460591
mov bl, byte [esp + 0x12]
mov byte [edi + 0xc0], bl
jmp 0x460764
mov cx, word [esi]
call fcn.0040ab40
xor edx, edx
push 0
push edx
cmp ax, 0x45
jne 0x4605e1
push edx
lea ecx, [esi + 2]
call fcn.00472b30
add esp, 0xc
test eax, eax
je 0x460764
lea ecx, [esi + 2]
call fcn.004134f0
mov bl, byte [esp + 0x12]
mov ecx, dword [edi + 0x40]
test bl, bl
je 0x4605d5
or ecx, eax
mov dword [edi + 0x40], ecx
jmp 0x460764
not eax
and eax, ecx
mov dword [edi + 0x40], eax
jmp 0x460764
push 1
mov ecx, esi
call fcn.00472b30
add esp, 0xc
test eax, eax
je 0x4607cb
mov ecx, esi
call fcn.004134f0
mov bl, byte [esp + 0x12]
mov ecx, dword [edi + 0x3c]
test bl, bl
je 0x460611
or ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
not eax
and ecx, eax
mov dword [edi + 0x3c], ecx
jmp 0x460764
mov cl, byte [esp + 0x13]
mov bl, byte [esp + 0x12]
test bl, bl
jne 0x460635
mov dword [edi + 0xc], 0
jmp 0x4606f9
movzx ebx, cl
xor ebx, 1
add ebx, 5
cmp word [esi + ebx*2], 0
lea ebx, [esi + ebx*2]
mov dword [esp + 0x14], ebx
jne 0x46065d
test cl, cl
je 0x46065d
mov eax, dword [0x4d1684]
mov dword [edi + 0xc], eax
jmp 0x4606f9
push 0
push 0
push 0
mov edx, 1
mov ecx, ebx
call fcn.00472b30
add esp, 0xc
cmp eax, 1
jne 0x4606d3
mov ecx, ebx
call fcn.0040ded0
test al, al
je 0x460691
push 0x10
push 0
push ebx
call fcn.00492e1e
add esp, 0xc
jmp 0x46069a
push ebx
call fcn.00492a3a
add esp, 4
mov ebx, eax
test edx, edx
jl 0x4606c2
jg 0x4606c2
cmp ebx, 1
jb 0x4606c2
test edx, edx
jg 0x4606c2
jl 0x4606b2
cmp ebx, 0x63
ja 0x4606c2
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x14]
and eax, 0xfffffffe
cmp eax, 4
jle 0x4606cf
push ebx
call dword [esp + 0x44]
test eax, eax
je 0x4606cf
test ebx, ebx
jne 0x4606ed
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.0045a930
test eax, eax
je 0x4607e4
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4607e4
cmp ebx, dword [edi + 4]
je 0x4607e4
mov dword [edi + 0xc], ebx
cmp byte [esp + 0x13], 0
je 0x460738
mov eax, dword [edi + 0x3c]
test eax, 0x40000000
je 0x460725
and eax, 0x3fffffff
or eax, 0x80000000
mov dword [edi + 0x3c], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x460764
push 0
push eax
call dword [esp + 0x3c]
mov eax, dword [edi + 4]
test eax, eax
je 0x460764
push dword [edi + 0xc]
push 0xfffffffffffffff8
push eax
call dword [esp + 0x34]
jmp 0x460764
mov eax, dword [edi + 4]
test eax, eax
je 0x460747
push dword [edi + 0xc]
push eax
call dword [esp + 0x3c]
mov eax, dword [edi + 0x3c]
and eax, 0x3fffffff
cmp dword [edi + 0xc], 0
je 0x46075c
or eax, 0x40000000
jmp 0x460761
or eax, 0x80000000
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov word [eax], cx
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x20
je 0x46077e
cmp eax, 9
jne 0x460783
add esi, 2
jmp 0x460771
mov ecx, eax
test ax, ax
jne 0x45fea0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
test eax, eax
je 0x460849
cmp dword [edi + 0x3c], ecx
jne 0x4607af
cmp dword [edi + 0x40], edx
je 0x460849
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4607fd
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4607fd
mov bl, 1
jmp 0x4607ff
push esi
push str.Invalid_option.
mov ecx, 0x4d3ee0
call fcn.0042d580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
push str.Invalid_or_nonexistent_owner_or_parent_window.
mov ecx, 0x4d3ee0
call fcn.0042d580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor bl, bl
mov eax, dword [edi + 0x3c]
mov esi, dword [esp + 0x28]
cmp eax, dword [esp + 0x18]
je 0x460814
push eax
push 0xfffffffffffffff0
push dword [edi + 4]
call esi
mov eax, dword [edi + 0x40]
cmp eax, dword [esp + 0x1c]
je 0x460825
push eax
push 0xffffffffffffffec
push dword [edi + 4]
call esi
test bl, bl
je 0x460849
push 0x37
push 0
push 0
push 0
push 0
push 0
push dword [edi + 4]
call dword [esp + 0x54]
push 1
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10