Function at 0x6ca4eab0
Capabilities:
Inspect section memory permissions

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edi
mov edi, ecx
add esp, 0xffffff80
mov dword [ebp - 0x58], eax
mov eax, dword [ebx]
mov dword [ebp - 0x60], edx
movss xmm0, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x60], ecx
movss xmm1, dword [ebp - 0x60]
mov dword [esp + 4], 0x7c
mov dword [esp], 1
unpcklps xmm0, xmm1
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x68], eax
movlps qword [ebp - 0x60], xmm0
call fcn.6c9d3a70
test eax, eax
je 0x6ca4ee28
movlps xmm2, qword [ebp - 0x60]
mov esi, eax
movlps qword [eax], xmm2
mov eax, dword [ebp - 0x64]
mov dword [esi + 8], eax
mov dword [esp], edi
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esi + 0xc], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
sub esp, 4
mov dword [esp + 4], 0xfffffffa
mov dword [esp], edi
mov dword [ebp - 0x60], eax
call eax
mov dword [esi + 0x28], 0
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x68]
sub esp, 8
mov dword [esi + 0x2c], 0xffffffff
mov dword [esi + 0x24], eax
xor eax, eax
mov word [esi + 0x30], ax
mov eax, dword [ebp - 0x58]
mov dword [esi + 0x34], 1
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x54]
mov dword [eax + 0xa4], esi
mov dword [esp + 8], esi
mov dword [esp + 4], str.SDL_WindowData
mov dword [esp], edi
call dword [sym.imp.USER32.dll_SetPropW]
sub esp, 0xc
test eax, eax
je 0x6ca4edc0
mov dword [esp + 4], 0xfffffffc
mov eax, dword [ebp - 0x60]
mov dword [esp], edi
call eax
mov dword [esi + 0x1c], eax
sub esp, 8
cmp eax, 0x6ca40d60
je 0x6ca4edb0
mov dword [esp + 8], 0x6ca40d60
mov dword [esp + 4], 0xfffffffc
mov dword [esp], edi
call dword [sym.imp.USER32.dll_SetWindowLongW]
sub esp, 0xc
lea eax, [ebp - 0x30]
mov dword [esp], edi
lea ebx, [ebp - 0x20]
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_GetClientRect]
sub esp, 8
test eax, eax
je 0x6ca4ecd3
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ebx
cmp ecx, eax
je 0x6ca4ee00
test eax, eax
je 0x6ca4ee00
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0xa4]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], 0xfffffff0
mov dword [esp], ebx
call eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], eax
sub esp, 8
test eax, 0x40000000
je 0x6ca4ee60
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov ebx, dword [eax + 0x48]
mov ecx, dword [eax + 0x44]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], ebx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ebx
test byte [eax + 0x30], 0x10
je 0x6ca4ee80
xor eax, eax
xor ecx, ecx
lea ebx, [ebp - 0x20]
mov edx, dword [ebp - 0x54]
add ecx, dword [edx + 0x3c]
add eax, dword [edx + 0x40]
mov dword [esp + 0x18], 0x114
mov edx, dword [ebp - 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x68]
mov dword [esp + 4], 0xfffffffe
mov dword [esp + 0x10], edx
mov dword [esp], edi
call dword [sym.imp.USER32.dll_SetWindowPos]
sub esp, 0x1c
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [sym.imp.USER32.dll_ClientToScreen]
sub esp, 8
test eax, eax
je 0x6ca4ed00
mov eax, dword [ebp - 0x54]
movlps xmm3, qword [ebp - 0x20]
movlps qword [eax + 0x10], xmm3
mov dword [esp + 4], 0xfffffff0
mov eax, dword [ebp - 0x60]
mov dword [esp], edi
call eax
mov ecx, eax
mov eax, dword [ebp - 0x54]
sub esp, 8
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x60], eax
test ecx, 0x10000000
je 0x6ca4edf8
or eax, 4
mov ebx, eax
and eax, 0xffffffef
mov edx, dword [ebp - 0x54]
or ebx, 0x10
test ecx, ecx
cmovs eax, ebx
mov ebx, eax
and eax, 0xffffffdf
or ebx, 0x20
test ecx, 0x40000
cmovne eax, ebx
mov ebx, eax
and al, 0x7f
or bl, 0x80
test ecx, 0x1000000
cmovne eax, ebx
mov ebx, eax
and eax, 0xffffffbf
or ebx, 0x40
and ecx, 0x20000000
cmovne eax, ebx
mov dword [edx + 0x30], eax
call dword [sym.imp.USER32.dll_GetFocus]
cmp edi, eax
je 0x6ca4ee40
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x6ca4ed9a
mov dword [esp + 4], 3
mov dword [esp], edi
call eax
sub esp, 8
mov dword [esi + 0x34], 0
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov dword [esi + 0x1c], 0
jmp 0x6ca4ebd2
mov eax, dword [esi + 0xc]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
sub esp, 8
mov dword [esp], esi
call fcn.6c9d3b40
mov dword [ebx], str.SetProp___failed
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp fcn.6ca3f5d0
and eax, 0xfffffffb
jmp 0x6ca4ed2d
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x64]
je 0x6ca4ee13
test eax, eax
jne 0x6ca4ec1e
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x1c], ebx
lea ebx, [ebp - 0x20]
mov dword [eax + 0x18], ecx
jmp 0x6ca4ecd3
mov dword [ebx], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp fcn.6c942640
mov ebx, dword [ebp - 0x54]
or dword [ebx + 0x30], 0x200
mov dword [esp], ebx
call fcn.6c971bf0
mov dword [esp], ebx
call fcn.6ca4e6a0
jmp 0x6ca4ed80
mov dword [esp], ebx
call dword [sym.imp.USER32.dll_GetMenu]
sub esp, 4
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x6c], eax
jmp 0x6ca4ec52
mov eax, dword [ebp - 0x6c]
lea ebx, [ebp - 0x20]
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
sub esp, 0x10
sub edx, ecx
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x64], edx
jmp 0x6ca4ec98