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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x18], edi
call fcn.00586242
lea esi, [edi + 0xb0]
push esi
call dword [sym.imp.user32.dll_IsRectEmpty]
test eax, eax
jne 0x47b5f6
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, dword [esi]
sub ecx, dword [esi + 4]
jmp 0x47b61c
mov ecx, edi
call fcn.00568b24
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x58]
push ecx
push edx
call dword [sym.imp.user32.dll_GetClientRect]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
sub eax, dword [esp + 0x58]
sub ecx, dword [esp + 0x5c]
cmp dword [edi + 0xac], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
je 0x47b631
xor eax, eax
jmp 0x47b63e
mov eax, dword [edi + 0xa0]
push eax
call dword [sym.imp.user32.dll_BeginDeferWindowPos]
mov ecx, dword [0x6b05c4]
mov ebx, dword [0x6b05c0]
mov dword [esp + 0x14], ecx
neg ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov dword [esp + 0x10], ebx
neg ebx
xor esi, esi
cmp dword [edi + 0xa0], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x54], 1
mov dword [esp + 0x28], ecx
jle 0x47bbf2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
push eax
call fcn.005875fd
cmp dword [esp + 0x28], 0
mov edi, eax
jl 0x47bc4a
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
add eax, 0x98
cmp ecx, dword [eax + 8]
jge 0x47bc4a
test edi, edi
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x44], eax
je 0x47bad9
push 0x6aa910
mov ecx, edi
call fcn.0056ef57
test eax, eax
jne 0x47b70f
push 0x652b90
mov ecx, edi
call fcn.0056ef57
test eax, eax
jne 0x47b70f
push 0x6ab578
mov ecx, edi
call fcn.0056ef57
test eax, eax
jne 0x47b70f
mov ecx, dword [0x6b05c0]
mov edx, dword [0x6b05c4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jmp 0x47b719
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x154]
mov ecx, edi
call edx
test eax, eax
je 0x47bab9
mov eax, dword [edi + 0x80]
test al, 4
je 0x47b742
test al, 1
je 0x47b742
mov ebx, 6
jmp 0x47b753
and eax, 0xa000
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
mov ebx, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x138]
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call edx
push 0x6aa9e0
mov ecx, edi
mov dword [esp + 0x4c], 0
call fcn.0056ef57
test eax, eax
je 0x47b7a3
test bl, 8
mov dword [esp + 0x48], 1
je 0x47b796
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
jmp 0x47b7a3
test bl, 0x10
je 0x47b7a3
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x54], 0
je 0x47b7ca
test bl, 8
je 0x47b7bb
mov eax, dword [esp + 0x10]
neg eax
mov dword [esp + 0x30], eax
jmp 0x47b7ca
test bl, 0x10
je 0x47b7ca
mov eax, dword [esp + 0x14]
neg eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], eax
add eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
lea ecx, [ebx + eax]
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x58]
push edx
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ecx
call dword [sym.imp.user32.dll_GetWindowRect]
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x10]
call fcn.005772f8
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x47b97d
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x18]
cmp eax, edx
jle 0x47b842
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x94], esi
jne 0x47b842
push esi
sub eax, edx
push eax
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.user32.dll_OffsetRect]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
cmp eax, ebx
jle 0x47b899
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x94], 0
jne 0x47b899
sub eax, edx
sub eax, dword [esp + 0x10]
mov ecx, ebx
sub ecx, eax
mov eax, dword [esp + 0x30]
cmp ecx, eax
jg 0x47b86f
mov ecx, eax
push 0
sub ecx, edx
push ecx
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.user32.dll_OffsetRect]
cmp dword [esp + 0x48], 0
je 0x47b88b
mov esi, 1
cmp dword [esp + 0x20], ebx
mov edx, dword [esp + 0x18]
jle 0x47b899
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x2c], 0
je 0x47b8c0
mov eax, dword [esp + 0x10]
add edx, eax
push 0
neg edx
push edx
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x38], 0
call dword [sym.imp.user32.dll_OffsetRect]
jmp 0x47b8ff
sub ebx, dword [esp + 0x10]
cmp edx, ebx
jge 0x47b8cc
test esi, esi
je 0x47b8ff
mov edx, dword [esp + 0x28]
test edx, edx
jle 0x47b8ff
lea eax, [edx - 1]
test eax, eax
jl 0x47bc4a
mov ecx, dword [esp + 0xc]
add ecx, 0x98
cmp eax, dword [ecx + 8]
jge 0x47bc4a
mov esi, dword [ecx + 4]
cmp dword [esi + eax*4], 0
jne 0x47bb79
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.user32.dll_EqualRect]
test eax, eax
jne 0x47b964
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xac], eax
jne 0x47b94e
test byte [edi + 0x80], 1
jne 0x47b94e
mov eax, dword [edi + 0x90]
mov edx, dword [esp + 0x18]
add eax, 0x94
mov dword [eax], edx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x20]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00566251
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x10]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
jmp 0x47ba9f
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
cmp eax, edx
jle 0x47b9aa
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x94], 0
jne 0x47b9aa
sub eax, edx
push eax
push 0
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.user32.dll_OffsetRect]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
cmp eax, esi
jle 0x47b9f1
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x94], 0
jne 0x47b9f1
sub eax, edx
sub eax, dword [esp + 0x14]
mov ecx, esi
sub ecx, eax
cmp ecx, ebx
jg 0x47b9d3
mov ecx, ebx
sub ecx, edx
push ecx
push 0
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.user32.dll_OffsetRect]
cmp dword [esp + 0x24], esi
mov edx, dword [esp + 0x1c]
jle 0x47b9f1
mov dword [esp + 0x24], esi
cmp dword [esp + 0x2c], 0
je 0x47bb2f
mov eax, dword [esp + 0x14]
add edx, eax
neg edx
push edx
push 0
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x38], 0
call dword [sym.imp.user32.dll_OffsetRect]
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.user32.dll_EqualRect]
test eax, eax
jne 0x47ba8b
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xac], eax
jne 0x47ba75
test byte [edi + 0x80], 1
jne 0x47ba75
mov eax, dword [edi + 0x90]
test eax, eax
je 0x47ba75
mov edx, dword [esp + 0x18]
mov dword [eax + 0x94], edx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x9c], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xa0], ecx
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00566251
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x38], eax
jg 0x47baa9
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x54], 0
cmp dword [esp + 0x2c], 0
jne 0x47bad1
mov edx, dword [edi]
mov edx, dword [edx + 0x158]
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call edx
test edi, edi
jne 0x47bbd1
cmp dword [esp + 0x44], 0
jne 0x47bbd1
test esi, esi
je 0x47bbd1
cmp dword [ebp + 0x10], 0
je 0x47bb95
sub esi, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add edx, esi
cmp eax, ebx
mov dword [esp + 0x34], edx
jg 0x47bb0f
mov eax, ebx
mov dword [ecx], eax
mov eax, dword [ecx + 4]
cmp eax, edx
jg 0x47bb1a
mov eax, edx
mov ebx, dword [esp + 0x10]
neg ebx
add eax, 0xffffffff
mov dword [esp + 0x30], ebx
mov dword [ecx + 4], eax
jmp 0x47bbcb
sub esi, dword [esp + 0x14]
cmp edx, esi
jge 0x47bb42
cmp dword [esp + 0x48], 0
je 0x47ba1a
mov edx, dword [esp + 0x28]
test edx, edx
jle 0x47ba1a
lea eax, [edx - 1]
test eax, eax
jl 0x47bc4a
mov ecx, dword [esp + 0xc]
add ecx, 0x98
cmp eax, dword [ecx + 8]
jge 0x47bc4a
mov esi, dword [ecx + 4]
cmp dword [esi + eax*4], 0
je 0x47ba1a
push 1
xor edi, edi
push edi
push edx
call fcn.0058f09c
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], 1
jmp 0x47baa9
sub esi, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add ebx, esi
cmp eax, ebx
mov dword [esp + 0x30], ebx
jg 0x47bbaa
mov eax, ebx
mov ecx, dword [edx + 4]
mov esi, dword [esp + 0x34]
cmp ecx, esi
mov dword [edx], eax
jg 0x47bbb9
mov ecx, esi
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x14]
neg ecx
add eax, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [edx], eax
xor esi, esi
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
add eax, 1
cmp eax, dword [ecx + 0xa0]
mov dword [esp + 0x28], eax
jl 0x47b686
mov eax, dword [esp + 0x78]
mov edi, ecx
cmp dword [edi + 0xac], 0
jne 0x47bc06
test eax, eax
je 0x47bc06
push eax
call dword [sym.imp.user32.dll_EndDeferWindowPos]
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.user32.dll_SetRectEmpty]
mov esi, dword [ebp + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x140]
push esi
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call edx
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x47bc31
test esi, esi
jne 0x47bc4f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
test eax, eax
je 0x47bc52
sub eax, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
lea eax, [eax + edi + 1]
mov dword [ecx], eax
jmp 0x47bc52
call fcn.0056c8bd
mov ecx, dword [ebp + 8]
test edx, edx
je 0x47bc5a
test esi, esi
je 0x47bc70
mov eax, dword [ecx + 4]
test eax, eax
je 0x47bc70
sub eax, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea eax, [eax + edx + 1]
mov dword [ecx + 4], eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc