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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 0x10]
sub esp, 0x54
push ebx
push esi
push edi
mov edi, ecx
mov dword [edi + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [edi + 0x64], eax
lea esi, [edi + 0x90]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
push 0x14
cdq
pop ecx
idiv ecx
or dword [0x61eef4], 0xffffffff
test eax, eax
jbe 0x52d2f0
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
and dword [esp + 0xc], 0
cdq
idiv ecx
test eax, eax
jbe 0x52ce90
push dword [esp + 0xc]
call fcn.004a68ae
mov ebx, dword [eax]
cmp dword [ebx + 0x50], 0
jne 0x52ce90
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x52ce4c
lea eax, [edi + 0xec]
cmp ebx, eax
je 0x52ce4c
mov eax, dword [ecx]
push ebx
push dword [edi + 0x38]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x52ce7a
mov eax, dword [ebx + 0x74]
lea edx, [esp + 0x10]
push edx
push dword [ebx + 0x84]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x52ce7a
mov ecx, dword [esp + 0x10]
push 0
mov eax, ebx
call fcn.0051b72c
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
push 0x14
cdq
pop ecx
idiv ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], eax
jb 0x52ce21
cmp dword [0x6354f8], 0
mov esi, dword [edi + 0x2c]
lea ebx, [edi + 4]
jne 0x52cea6
and dword [0x6354f8], 0
lea eax, [ebx + 0x20]
push eax
push 0x6354c8
call fcn.00414d6c
movzx eax, ax
push eax
xor eax, eax
push eax
push 0x8000088
push 0x80000000
push eax
push eax
push esi
call fcn.00487fbb
test eax, eax
je 0x52d2f0
push str.win_bk
call fcn.00515477
mov dword [edi + 0x288], eax
mov dword [esp], str.menuitem
call fcn.005154b1
mov dword [edi + 0xc4], eax
mov dword [esp], str.menuitem_bold
call fcn.005154b1
mov dword [edi + 0xc8], eax
mov dword [esp], str.menuitem_normal
call fcn.005154e3
mov dword [edi + 0xd0], eax
mov dword [esp], str.menuitem_hilite
call fcn.005154e3
mov dword [edi + 0xcc], eax
mov dword [esp], str.menuitem_disable
call fcn.005154e3
mov dword [edi + 0xd4], eax
mov dword [esp], str.menuitem_hotkey
call fcn.005154e3
mov dword [edi + 0xd8], eax
mov dword [esp], str.menuitem_separator
call fcn.005154e3
mov dword [edi + 0xdc], eax
mov dword [esp], str.menuitem_bkcolor
call fcn.005154e3
mov dword [edi + 0xe0], eax
mov dword [esp], str.menuitem_dragcolor
call fcn.005154e3
mov dword [edi + 0xe4], eax
mov dword [esp], str.win_frame
call fcn.005154e3
mov dword [edi + 0xe8], eax
pop ecx
lea eax, [esp + 0x20]
push eax
call fcn.0052e721
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
push 2
test esi, esi
je 0x52cfb3
push esi
jmp 0x52cfcf
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
inc eax
mov dword [esp + 0x20], eax
lea ecx, [ebx + 1]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
push eax
call dword [sym.imp.USER32.dll_MonitorFromRect]
lea ecx, [esp + 0x38]
push ecx
push eax
mov dword [esp + 0x40], 0x28
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
test esi, esi
je 0x52d014
cmp dword [edi + 0x60], 0
jne 0x52d014
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 4]
sub eax, dword [esi + 0xc]
sub ecx, dword [esp + 0x50]
cmp ecx, eax
jle 0x52d010
mov edx, dword [esp + 0x24]
add edx, 6
cmp eax, edx
jl 0x52d01c
mov ecx, eax
jmp 0x52d01c
mov ecx, dword [esp + 0x58]
sub ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
add eax, 6
cmp eax, ecx
jle 0x52d114
cmp ecx, 6
jle 0x52d114
add ecx, 0xfffffffa
mov eax, ecx
cdq
idiv dword [edi + 0x80]
mov eax, dword [esp + 0x24]
sub ecx, edx
lea eax, [ecx + eax - 1]
cdq
idiv ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
mov ecx, edx
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
add eax, 3
imul eax, dword [esp + 0xc]
sub eax, 3
cmp dword [edi + 0x60], 0
je 0x52d083
mov ecx, dword [esi]
sub edx, dword [esi + 8]
sub ecx, dword [esp + 0x4c]
cmp edx, ecx
jle 0x52d083
mov ecx, edx
cmp eax, ecx
jle 0x52d118
mov eax, ecx
cdq
idiv dword [esp + 0xc]
mov edx, dword [edi + 0x78]
cmp eax, edx
mov dword [edi + 0x8c], eax
jle 0x52d0c2
mov eax, dword [edi + 0x8c]
lea ebx, [eax + 3]
imul ebx, dword [esp + 0xc]
sub ebx, 3
cmp ebx, ecx
jle 0x52d0bf
dec eax
cmp eax, edx
mov dword [edi + 0x8c], eax
jg 0x52d09f
mov ebx, dword [ebp + 8]
cmp dword [edi + 0x8c], edx
jge 0x52d0d0
mov dword [edi + 0x8c], edx
mov eax, dword [edi + 0x7c]
cmp dword [edi + 0x8c], eax
jle 0x52d0e1
mov dword [edi + 0x8c], eax
mov eax, dword [edi + 0x8c]
add eax, 3
imul eax, dword [esp + 0xc]
sub eax, 3
cmp eax, ecx
jle 0x52d118
mov eax, dword [edi + 0x8c]
push 0xfffffffffffffffd
pop edx
sub edx, eax
add eax, 3
imul eax, dword [esp + 0xc]
sub eax, 3
add eax, edx
cmp eax, ecx
jg 0x52d10c
jmp 0x52d118
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add ecx, 6
push ecx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0052e946
cmp dword [edi + 0x70], 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jne 0x52d140
sub ebx, ecx
cmp ebx, dword [esp + 0x4c]
jge 0x52d14a
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov edx, eax
sub edx, ebx
cmp edx, ecx
jge 0x52d15b
mov ebx, eax
sub ebx, ecx
dec ebx
cmp dword [edi + 0x60], 0
je 0x52d202
test esi, esi
je 0x52d29f
mov ecx, dword [esp + 0x58]
sub ecx, dword [ebp + 0xc]
cmp ecx, dword [esp + 0x24]
jge 0x52d186
mov ecx, dword [esi + 0xc]
sub ecx, dword [esp + 0x24]
add ecx, 3
jmp 0x52d18c
mov ecx, dword [esi + 4]
sub ecx, 3
mov edx, dword [esi + 8]
sub eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x20]
mov dword [ebp + 0xc], ecx
mov ecx, eax
sub ecx, dword [esp + 0x4c]
cmp dword [edi + 0x20c], 0
je 0x52d1d6
cmp dword [esp + 0x10], esi
jl 0x52d1bb
lea ebx, [edx - 3]
jmp 0x52d29f
cmp ecx, esi
jl 0x52d29f
sub eax, esi
add eax, 3
and dword [edi + 0x20c], 0
mov ebx, eax
jmp 0x52d29f
cmp ecx, esi
jl 0x52d1e6
sub eax, esi
add eax, 3
mov ebx, eax
jmp 0x52d29f
cmp dword [esp + 0x10], esi
jl 0x52d29f
lea ebx, [edx - 3]
mov dword [edi + 0x20c], 1
jmp 0x52d29f
test esi, esi
je 0x52d275
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x58]
sub eax, dword [esi + 0xc]
mov edx, ecx
sub edx, dword [esp + 0x50]
cmp edx, eax
jle 0x52d227
cmp eax, dword [esp + 0x24]
jge 0x52d227
sub ecx, dword [esp + 0x24]
mov dword [ebp + 0xc], ecx
mov ecx, dword [esp + 0x20]
xor eax, eax
add ecx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
push eax
push esi
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ecx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x52d29f
mov ebx, dword [esi]
sub ebx, dword [esp + 0x20]
jmp 0x52d29f
mov ecx, dword [esp + 0x58]
mov eax, ecx
sub eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x24]
jge 0x52d29f
mov edx, dword [ebp + 0xc]
sub edx, dword [esp + 0x50]
cmp edx, eax
jle 0x52d298
mov eax, dword [esp + 0x24]
sub dword [ebp + 0xc], eax
jmp 0x52d29f
sub ecx, dword [esp + 0x24]
mov dword [ebp + 0xc], ecx
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0xc], eax
jge 0x52d2ab
mov dword [ebp + 0xc], eax
push 0x50
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [ebp + 0xc]
push ebx
push 0xffffffffffffffff
push dword [edi + 8]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov esi, edi
call fcn.0052db38
push dword [edi + 0x29c]
xor esi, esi
inc esi
mov dword [edi + 0x294], esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x52d2f0
push esi
lea eax, [edi + 0x298]
call fcn.00547dc0
cmp dword [edi + 0x68], 0
je 0x52d303
cmp dword [edi + 0x60], 0
jne 0x52d303
mov eax, edi
call fcn.0052dda9
mov eax, dword [0x61eef4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14