Function at 0x47b574
Capabilities:
Get graphical window text

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d38c0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc8
mov eax, dword [0x64c00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [ebx + 0x1c], 0
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xc8], eax
jne 0x47c941
mov edi, dword [ebx + 0xc]
cmp edi, 0x18
ja 0x47b561
je case.0x47b55a.2
lea eax, [edi - 2]
cmp eax, 0xd
ja case.0x47b55a.4
movzx eax, byte [eax + 0x47c96c]
jmp dword [eax*4 + 0x47c964]
mov eax, edi
sub eax, 0x1a
je case.0x47b55a.2
sub eax, 0x1fc
je case.0x47b55a.2
sub eax, 0x1c
jne case.0x47b55a.4
cmp dword [esi + 0x45c], 0
je case.0x47b55a.4
push ecx
push edx
push edi
push dword [ebp - 0xcc]
lea ecx, [esi + 0x438]
call fcn.0042cbb0
lea eax, [edi - 0x200]
cmp eax, 0xe
ja 0x47b620
push dword [esi + 0x410]
mov dword [esi + 0x48c], 1
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47b5fb
mov eax, dword [esi + 4]
xorps xmm0, xmm0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x54]
push eax
push 0
push 0x407
push dword [esi + 0x410]
mov dword [ebp - 0x50], edi
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], 0
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x48c], 0
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
jmp 0x47b626
mov eax, dword [ebp - 0xc8]
cmp edi, 5
jne 0x47b750
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x48c], 1
cmp eax, 1
je 0x47b848
cmp eax, 2
jne 0x47b68a
cmp dword [esi + 0x3f4], 0
jne 0x47b68a
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfeffffff
push eax
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ecx
lea ecx, [esi + 4]
call fcn.00424660
mov dword [esi + 0x48c], 0
jmp 0x47b848
lea eax, [ebp - 0x28]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x28], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0x20]
mov eax, ecx
mov edx, dword [ebp - 0x28]
sub eax, edx
je 0x47b848
mov edi, dword [esi + 0x398]
test edi, edi
mov dword [ebp - 0xcc], edi
mov edi, dword [ebx + 0xc]
je 0x47b71b
cmp dword [esi + 0x39c], eax
jne 0x47b6d7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
cmp dword [esi + 0x3a0], eax
je 0x47b741
push dword [ebp - 0xcc]
mov dword [esi + 0x398], 0
mov dword [esi + 0x3a4], 0
mov dword [esi + 0x39c], 0
mov dword [esi + 0x3a0], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov dword [esi + 0x398], 0
mov eax, dword [ebp - 0x1c]
sub ecx, edx
sub eax, dword [ebp - 0x24]
push eax
push ecx
lea ecx, [esi + 0x394]
call fcn.00428100
cmp dword [esi + 0x408], 0
je 0x47b741
push ecx
mov ecx, esi
call fcn.00438e10
mov dword [esi + 0x404], 1
jmp 0x47b848
cmp edi, 0x317
jne 0x47b788
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x48c], 1
mov dword [ebp - 0x1c], eax
push 1
push eax
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.004389b0
mov dword [ebp - 4], 0xffffffff
jmp 0x47b848
cmp edi, 0xf
jne 0x47b7fc
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x48c], 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x98]
mov eax, dword [esi + 4]
push ecx
push eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0xa0], eax
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 2
mov dword [ecx], eax
mov ecx, esi
call fcn.004389b0
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x9c]
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 4], 0xffffffff
jmp 0x47b848
cmp edi, 2
jne 0x47b95c
mov eax, dword [esi + 0x398]
mov dword [esi + 0x48c], 1
test eax, eax
je 0x47b848
push eax
mov dword [esi + 0x398], 0
mov dword [esi + 0x3a4], 0
mov dword [esi + 0x39c], 0
mov dword [esi + 0x3a0], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
mov ecx, dword [ebp - 0xd4]
movzx eax, cx
mov dword [ebp - 0xd0], eax
mov edx, eax
cmp edi, 0x2a3
jne 0x47bb92
mov ecx, dword [esi + 0x3a8]
xor eax, eax
mov dword [esi + 0x48c], 1
mov dword [esi + 0x3b8], 0
mov dword [esi + 0x3c0], 0
test ecx, ecx
je 0x47b900
call fcn.00429930
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x47b8f0
push 1
push 0
push eax
mov ecx, esi
call fcn.0047d3a0
mov ecx, dword [ebp - 0xd8]
lea edx, [ebp - 0xcc]
push edx
push 0
push 0
mov eax, dword [ecx]
push edi
push 0
mov dword [ebp - 0xcc], 0
mov dword [ecx + 0xfc], 0
call dword [eax + 0x4c]
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x3a8], 0
mov ecx, dword [esi + 0x3ac]
test ecx, ecx
je 0x47b935
call fcn.00429930
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x47b925
push 2
push 0
push eax
mov ecx, esi
call fcn.0047d3a0
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x3ac], 0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], 0xffffffff
test eax, eax
je 0x47bb59
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x40], eax
jmp 0x47bb60
cmp edi, 0x14
jne 0x47b986
mov dword [esi + 0x48c], 1
mov dword [eax], 1
cmp dword [esi + 0x48c], 0
je 0x47b861
lea eax, [edi - 0x13]
jmp 0x47c943
cmp edi, 0x200
jne 0x47b861
mov eax, dword [ebp - 0xd4]
movzx edi, ax
shr eax, 0x10
cwde
push eax
movsx ecx, di
push ecx
push dword [ebp - 0xc4]
mov ecx, esi
mov dword [esi + 0x48c], 1
call fcn.0047ced0
mov edx, dword [ebp - 0xc8]
mov eax, edi
mov dword [ebp - 0xd0], eax
mov dword [edx], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd4]
cmp edi, 0x204
jne 0x47bbd0
mov edi, dword [ebp - 0xd0]
mov eax, ecx
shr eax, 0x10
lea ecx, [esi + 0x28]
movsx edx, ax
mov eax, dword [ecx]
push 1
push edx
mov dword [ebp - 0xd8], edx
mov eax, dword [eax + 0x30]
movsx edx, di
push edx
mov dword [esi + 0x48c], 1
call eax
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x47ba59
mov eax, dword [esi + 0x14c]
lea ecx, [esi + 0x14c]
mov edi, dword [ebp - 0xd0]
push 1
push dword [ebp - 0xd8]
mov eax, dword [eax + 0x30]
movsx edx, di
push edx
call eax
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd8]
movzx ecx, cx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0xd0]
movsx edx, cx
movzx ecx, dx
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x47ba98
mov eax, dword [esi + 0x270]
lea ecx, [esi + 0x270]
push 1
push dword [ebp - 0xd8]
mov eax, dword [eax + 0x30]
push edx
call eax
mov dword [ebp - 0xcc], eax
mov ecx, eax
call fcn.00429930
mov ecx, eax
mov dword [ebp - 0xd8], ecx
test ecx, ecx
je 0x47c753
cmp dword [esi + 0x3c0], 0
mov eax, dword [ebp - 0x2c]
movzx eax, ax
mov dword [ebp - 0xd0], eax
jne 0x47badd
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetCapture]
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x3c0], 1
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x3b0], eax
lea eax, [ebp - 0x2c]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0xfc], 0
movzx ecx, ax
mov eax, dword [ebp - 0x1c]
shl ecx, 0x10
movzx eax, ax
or ecx, eax
mov dword [ebp - 0x2c], 0
push ecx
push dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
push 0x204
push 0
call dword [edx + 0x4c]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push 0x4e
mov dword [ebp - 0x48], 0xffffffff
push ecx
jmp 0x47c74d
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push 0x4e
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0xc8]
mov dword [edx], 0
cmp dword [esi + 0x48c], 0
je 0x47b9df
mov eax, 1
jmp 0x47c943
cmp edi, 0x201
jne 0x47bbc5
mov eax, dword [ebp - 0xd4]
shr eax, 0x10
cwde
movsx ecx, dx
push eax
push ecx
push dword [ebp - 0xc4]
mov ecx, esi
mov dword [esi + 0x48c], 1
call fcn.0047cbb0
jmp 0x47c753
mov edx, dword [ebp - 0xc8]
jmp 0x47b9e5
cmp edi, 0x205
jne 0x47bd52
mov edi, dword [ebp - 0xd0]
mov eax, ecx
shr eax, 0x10
lea ecx, [esi + 0x28]
movsx edx, ax
mov eax, dword [ecx]
push 1
push edx
mov dword [ebp - 0xcc], edx
mov eax, dword [eax + 0x30]
movsx edx, di
push edx
mov dword [esi + 0x48c], 1
call eax
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x47bc44
mov eax, dword [esi + 0x14c]
lea ecx, [esi + 0x14c]
mov edi, dword [ebp - 0xd0]
push 1
push dword [ebp - 0xcc]
mov eax, dword [eax + 0x30]
movsx edx, di
push edx
call eax
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xcc]
movzx ecx, cx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0xd0]
movsx edx, cx
movzx ecx, dx
mov dword [ebp - 0xd0], ecx
test eax, eax
jne 0x47bc86
mov eax, dword [esi + 0x270]
lea ecx, [esi + 0x270]
push 1
push dword [ebp - 0xcc]
mov eax, dword [eax + 0x30]
push edx
call eax
mov dword [ebp - 0xd8], eax
mov ecx, dword [esi + 0x3b0]
test ecx, ecx
je 0x47c753
cmp dword [esi + 0x3c0], 0
mov eax, dword [ebp - 0x1c]
movzx eax, ax
mov dword [ebp - 0x2c], eax
je 0x47bcbc
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov ecx, dword [esi + 0x3b0]
mov dword [esi + 0x3c0], 0
mov eax, dword [ebp - 0xd8]
cmp ecx, eax
jne 0x47bd43
mov ecx, eax
call fcn.00429930
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xcc], eax
push ecx
mov ecx, dword [ebp - 0x2c]
mov edi, dword [eax]
movzx edx, cx
mov ecx, dword [ebp - 0xd0]
movzx ecx, cx
shl edx, 0x10
or edx, ecx
mov dword [ebp - 0x1c], 0
push edx
push dword [ebp - 0xc4]
mov ecx, eax
mov dword [eax + 0xfc], 0
push 0x205
push 0
call dword [edi + 0x4c]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x44], 0xd
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push 0x4e
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebx + 0xc]
mov dword [esi + 0x3b0], 0
jmp 0x47c753
cmp edi, 0x202
jne 0x47bd87
mov eax, ecx
mov dword [esi + 0x48c], 1
mov ecx, dword [ebp - 0xd0]
shr eax, 0x10
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push dword [ebp - 0xc4]
call fcn.0047c980
jmp 0x47c753
cmp edi, 0x203
jne 0x47bdbc
mov eax, ecx
mov dword [esi + 0x48c], 1
mov ecx, dword [ebp - 0xd0]
shr eax, 0x10
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push dword [ebp - 0xc4]
call fcn.00436e70
jmp 0x47c753
cmp edi, 0x20
jne 0x47bf0a
mov ecx, dword [esi + 0x3a8]
mov dword [esi + 0x48c], 1
test ecx, ecx
je 0x47be87
call fcn.00429930
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x47be9b
mov edx, dword [eax]
mov ecx, eax
push str.realwnd
mov edx, dword [edx + 4]
call edx
test eax, eax
jne 0x47be78
mov ecx, dword [ebp - 0xcc]
push str.realwnd2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
jne 0x47be78
mov eax, dword [ebp - 0xcc]
test byte [eax + 0x38], 0x10
jne 0x47be9b
mov ecx, dword [eax + 0xc]
call fcn.00429930
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x47be5b
push 0
mov ecx, eax
call fcn.0042a080
test eax, eax
jne 0x47be9b
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0xc]
call fcn.00429930
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x47be36
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov eax, dword [ebp - 0xc8]
mov ecx, 1
mov dword [eax], ecx
jmp 0x47c75f
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov dword [eax], ecx
jmp 0x47c75f
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [esi + 0x46c]
cmp eax, 1
je 0x47bef8
cmp eax, 0xc
je 0x47bee3
cmp eax, 0xf
je 0x47bee3
cmp eax, 0xa
je 0x47bedc
cmp eax, 0xb
je 0x47bedc
cmp eax, 0xd
je 0x47bed5
cmp eax, 0x11
je 0x47bed5
cmp eax, 0xe
je 0x47bece
cmp eax, 0x10
jne 0x47bef8
push 0x7f83
jmp 0x47bee8
push 0x7f82
jmp 0x47bee8
push 0x7f84
jmp 0x47bee8
push 0x7f85
mov eax, dword [sym.imp.USER32.dll_LoadCursorW]
push 0
call eax
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [ebp - 0xc8]
mov ecx, 1
mov dword [eax], ecx
jmp 0x47c75f
cmp edi, 0x87
jne 0x47c1b6
mov dword [esi + 0x48c], 1
mov dword [edx], 0x85
cmp dword [esi + 0x48c], 0
jne 0x47c93a
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
cmp edi, dword [0x65cb8c]
jne 0x47c07a
mov eax, ecx
movsx edx, cx
shr eax, 0x10
lea ecx, [esi + 0x28]
cwde
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx]
push 1
push dword [ebp - 0xcc]
mov dword [esi + 0x48c], 1
mov eax, dword [eax + 0x30]
push edx
mov dword [ebp - 0xd8], edx
call eax
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47bfd5
mov eax, dword [esi + 0x14c]
lea ecx, [esi + 0x14c]
push 1
push dword [ebp - 0xcc]
push dword [ebp - 0xd8]
mov eax, dword [eax + 0x30]
call eax
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x47bfd5
mov eax, dword [esi + 0x270]
lea ecx, [esi + 0x270]
push 1
push dword [ebp - 0xcc]
push dword [ebp - 0xd8]
mov eax, dword [eax + 0x30]
call eax
mov dword [ebp - 0xd0], eax
mov ecx, dword [esi + 0x3b4]
cmp eax, ecx
je 0x47c01a
test ecx, ecx
je 0x47c01a
call fcn.00429930
test eax, eax
je 0x47c014
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push 0
push 0
push dword [0x65cb84]
mov ecx, eax
mov dword [ebp - 0x1c], 0
push 0
mov dword [eax + 0xfc], 0
call dword [edx + 0x4c]
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x47c05b
mov ecx, eax
call fcn.00429930
test eax, eax
je 0x47c055
mov edx, dword [eax]
lea ecx, [ebp - 0x2c]
push ecx
push 0
push dword [ebp - 0xc4]
mov ecx, eax
mov dword [ebp - 0x2c], 0
push dword [0x65cb8c]
mov dword [eax + 0xfc], 0
push 0
call dword [edx + 0x4c]
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x3b4], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
cmp edi, dword [0x65cb84]
jne 0x47c0f2
mov ecx, dword [esi + 0x3b4]
mov dword [esi + 0x48c], 1
test ecx, ecx
je 0x47c0df
call fcn.00429930
test eax, eax
je 0x47c0cf
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0x1c], 0
push dword [ebp - 0xc4]
mov dword [eax + 0xfc], 0
push dword [0x65cb84]
push 0
call dword [edx + 0x4c]
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x3b4], 0
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
cmp edi, dword [0x65cb90]
jne 0x47c16a
mov ecx, dword [esi + 0x3b4]
mov dword [esi + 0x48c], 1
test ecx, ecx
je 0x47c157
call fcn.00429930
test eax, eax
je 0x47c147
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0x1c], 0
push dword [ebp - 0xc4]
mov dword [eax + 0xfc], 0
push dword [0x65cb90]
push 0
call dword [edx + 0x4c]
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x3b4], 0
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
cmp edi, 3
je 0x47c899
cmp edi, 0x47
jne 0x47c7f2
push dword [ebp - 0xd4]
mov dword [esi + 0x48c], 1
push 0
push edi
push dword [esi + 4]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_CallWindowProcW]
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x48c], 1
mov dword [eax], 0
jmp 0x47c8a9
cmp edi, 7
jne 0x47c1e8
push 0
push 0
push dword [esi + 4]
mov dword [esi + 0x48c], 1
call dword [sym.imp.USER32.dll_GetNextDlgTabItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [esi + 0x48c], 0
jmp 0x47c753
cmp edi, 0x83
jne 0x47c311
cmp dword [ebp - 0xc4], 0
mov dword [esi + 0x48c], 1
je 0x47c753
mov eax, dword [esi]
xorps xmm0, xmm0
mov ecx, esi
movups xmmword [ebp - 0x38], xmm0
mov eax, dword [eax + 0x10]
call eax
test eax, 0x40000000
jne 0x47c231
lea eax, [ebp - 0x38]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x47c245
mov eax, dword [ebp - 0xd4]
add eax, 0x10
push eax
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + 0x18]
test cl, 1
jne 0x47c753
test ecx, 2
jne 0x47c27c
mov ecx, dword [eax + 8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x34], ecx
jmp 0x47c28e
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x3d4]
cmp ecx, eax
mov dword [ebp - 0x20], eax
cmovle ecx, eax
mov eax, dword [edx + 0x30]
add ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 0x3d8]
mov eax, dword [eax + 0x14]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebp - 0xd8]
add eax, ecx
cmp dword [esi + 0x3f8], 0
mov dword [ebp - 0x2c], eax
je 0x47c305
cmp dword [esi + 0x3cc], 0
je 0x47c305
cmp dword [esi + 0x3d0], 0
mov eax, dword [esi + 0x3cc]
mov dword [ebp - 0x20], eax
je 0x47c305
mov eax, dword [ebp - 0xcc]
add eax, dword [esi + 0x3cc]
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x3d0]
add eax, ecx
mov dword [ebp - 0x2c], eax
movups xmm0, xmmword [ebp - 0x38]
movups xmmword [edx], xmm0
jmp 0x47c753
cmp edi, 0x46
jne 0x47c37c
cmp dword [esi + 0x3f8], 0
je 0x47c355
cmp dword [esi + 0x3cc], 0
je 0x47c355
cmp dword [esi + 0x3d0], 0
mov eax, dword [esi + 0x3cc]
mov dword [ebp - 0x30], eax
je 0x47c355
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x3cc]
mov ecx, dword [esi + 0x3d0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x14], ecx
mov dword [esi + 0x48c], 0
mov dword [edx], 0
cmp dword [esi + 0x48c], 0
je 0x47bf33
mov eax, 1
jmp 0x47c943
cmp edi, 0x31e
jne 0x47c39a
mov ecx, esi
mov dword [esi + 0x48c], 1
call fcn.00436d10
jmp 0x47c753
cmp edi, 0x24
jne 0x47c4d9
push 0
push dword [esi + 4]
mov dword [esi + 0x48c], 1
call dword [sym.imp.USER32.dll_MonitorFromWindow]
test eax, eax
je 0x47c753
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x28
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push ecx
push eax
movups xmmword [ebp - 0x7c], xmm0
movups xmmword [ebp - 0x6c], xmm0
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [esi + 0x3cc]
mov cl, 0x20
mov edx, dword [esi + 0x3d0]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
call fcn.005cf7f0
cmp dword [esi + 0x3f4], 0
lea ecx, [ebp - 0x28]
mov edi, dword [sym.imp.USER32.dll_CopyRect]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x6c]
cmove eax, ecx
push eax
lea eax, [ebp - 0x38]
push eax
call edi
cmp dword [esi + 0x3f4], 0
je 0x47c444
movups xmm0, xmmword [ebp - 0x7c]
lea eax, [ebp - 0xc0]
movups xmmword [ebp - 0xc0], xmm0
jmp 0x47c44e
xorps xmm0, xmm0
lea eax, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
push eax
lea eax, [ebp - 0xb0]
push eax
call edi
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0xb0]
cdq
xor eax, edx
mov edi, dword [ebx + 0xc]
sub eax, edx
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0xac]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
cdq
mov ecx, eax
mov eax, dword [ebp - 0xd4]
xor ecx, edx
sub ecx, edx
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0xc], eax
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
mov eax, dword [esi + 0x3cc]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x3cc]
mov ecx, dword [esi + 0x3d0]
mov dword [ebp - 0x20], eax
mov dword [edx + 0x1c], ecx
jmp 0x47c753
cmp edi, 0x231
jne 0x47c540
cmp dword [esi + 0x420], 0
mov dword [esi + 0x48c], 1
je 0x47c753
cmp dword [esi + 0x424], 0xffffffff
lea eax, [esi + 0x424]
jne 0x47c753
push 0
push eax
push 0
push 0x26
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x47c753
cmp dword [esi + 0x424], 0
je 0x47c753
push 0
push 0
push 0
push 0x25
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
jmp 0x47c753
cmp edi, 0x232
jne 0x47c5a6
cmp dword [esi + 0x420], 0
mov dword [esi + 0x48c], 1
je 0x47c753
push 0
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0
push eax
push 0
push 0x26
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [esi + 0x424]
cmp eax, dword [ebp - 0xcc]
je 0x47c597
push 0
push 0
push eax
push 0x25
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [esi + 0x424], 0xffffffff
jmp 0x47c753
cmp edi, 0x111
jne 0x47c610
mov ecx, dword [ebp - 0xc4]
mov edx, 1
movzx eax, cx
cmp dx, ax
jne 0x47c5cc
mov dword [esi + 0x48c], edx
mov dword [ebp - 0x44], edx
jmp 0x47c5eb
mov edx, 2
cmp dx, ax
jne 0x47c7e7
mov dword [esi + 0x48c], 1
mov dword [ebp - 0x44], 1
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x4c]
push ecx
push 0xffffffffffffffff
push 0x4e
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0x6365b4
push eax
jmp 0x47c74d
cmp edi, 0x4e
jne 0x47c64a
cmp dword [ecx + 8], 0x3e8
jne 0x47bf33
lea eax, [ecx + 0x10]
mov dword [esi + 0x48c], 1
push eax
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
call fcn.00438d90
jmp 0x47c753
cmp edi, 0x18
jne 0x47c6c0
mov ecx, dword [ebp - 0xc4]
mov dword [esi + 0x48c], 0
test ecx, ecx
je 0x47c69d
cmp dword [esi + 0x460], 0
je 0x47c69d
push 0xffffffffffffffec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x80000
je 0x47c68d
push 0
push 0
push 0xf
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0xc4]
mov dword [esi + 0x460], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
je 0x47bf3f
mov eax, 1
jmp 0x47c943
cmp edi, 0x20a
jne 0x47c70e
mov ecx, dword [esi + 0x3a8]
mov dword [esi + 0x48c], 1
call fcn.00429930
test eax, eax
je 0x47c753
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0x1c], 0
push dword [ebp - 0xc4]
mov dword [eax + 0xfc], 0
push edi
push 0
call dword [edx + 0x4c]
jmp 0x47c753
cmp edi, 0x81f5
jne 0x47c776
push ecx
push dword [ebp - 0xc4]
mov dword [esi + 0x48c], 1
sub esp, 8
push dword [esi + 4]
push ecx
lea ecx, [ebp - 0x88]
call fcn.00424810
lea eax, [ebp - 0x88]
push eax
push 0
push 0x439
push dword [esi + 0x410]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
je 0x47bf39
mov eax, 1
jmp 0x47c943
cmp edi, 0x81f7
jne 0x47c7ae
mov dword [esi + 0x48c], 1
test ecx, ecx
je 0x47c791
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov dword [edx], 1
cmp dword [esi + 0x48c], 0
je 0x47bf33
mov eax, 1
jmp 0x47c943
cmp edi, 0x81f8
jne 0x47bf33
mov ecx, esi
mov dword [esi + 0x48c], 1
call fcn.004388b0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
cmp dword [esi + 0x48c], 0
jne 0x47c93a
mov eax, ecx
jmp 0x47bf39
mov eax, dword [ebp - 0xc8]
jmp 0x47bf3f
cmp edi, 0x4e
jne 0x47c844
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 8], 0xfffffff4
jne 0x47c8fa
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 1
push ecx
push eax
push dword [ebp - 0xc4]
mov ecx, esi
push edi
call fcn.00439f30
cmp dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
je 0x47c8f4
lea eax, [edi - 0x4d]
jmp 0x47c943
cmp edi, 0x84
jne 0x47c891
mov eax, dword [ebp - 0xd4]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 4]
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x48c], 0
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x1c]
mov ecx, esi
push dword [ebp - 0x20]
call fcn.004385e0
mov dword [esi + 0x46c], eax
mov eax, dword [ebp - 0xc8]
jmp 0x47c8a3
cmp edi, 0x86
jne 0x47c8bc
mov dword [esi + 0x48c], 1
mov dword [eax], 1
cmp dword [esi + 0x48c], 0
je 0x47c8f4
mov eax, 1
jmp 0x47c943
cmp edi, 0x85
jne 0x47c8f4
mov ecx, dword [ebp - 0xc4]
mov dword [esi + 0x48c], 1
test ecx, ecx
je 0x47c8e5
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xc8]
mov dword [eax], 0
cmp dword [esi + 0x48c], 0
jne 0x47c93a
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 1
push ecx
push eax
push dword [ebp - 0xc4]
mov ecx, esi
push edi
call fcn.00439f30
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
test eax, eax
jne 0x47c931
lea ecx, [edi - 0x132]
cmp ecx, 6
jbe 0x47c941
cmp dword [ebp - 0xd0], 0
je 0x47c941
mov eax, 1
jmp 0x47c943
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00483ab6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18