Function at 0x100f3720
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [eax + 0x468]
push 0xc0
push 1
mov dword [ebp - 8], eax
call fcn.10096650
mov ebx, eax
add esp, 8
mov dword [ebp + 8], ebx
test ebx, ebx
jne 0x100f3760
or eax, 0xffffffff
lea esp, [ebp - 0x23c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
push esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
call dword [sym.imp.USER32.dll_GetDC]
push 0xfffffffffffffffa
mov dword [ebx + 0xc], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
push esi
mov dword [ebp - 4], eax
call eax
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x24], 0xffffffff
mov dword [ebx + 0x28], 0xffffffff
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0x30], 1
mov eax, dword [edi + 0x50]
push 0
push str.SDL_WINDOW_RETAIN_CONTENT
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0x78], 0xffffffff
call fcn.1008d4b0
neg eax
push ebx
sbb eax, eax
and eax, 0xffffff00
add eax, 0x100
push 0x100f4810
push str.SDL_MOUSE_RELATIVE_MODE_CENTER
mov dword [ebx + 0xbc], eax
call fcn.1008d260
add esp, 0x14
mov dword [edi + 0xf4], ebx
push ebx
push str.SDL_WindowData
push esi
call dword [sym.imp.USER32.dll_SetPropW]
test eax, eax
jne 0x100f382d
push dword [ebx + 0xc]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebx
call fcn.100966a0
push str.SetProp___failed
call fcn.100e5430
add esp, 8
lea esp, [ebp - 0x23c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xfffffffffffffffc
push esi
call dword [ebp - 4]
mov dword [ebx + 0x1c], eax
cmp eax, 0x100e87a0
jne 0x100f3846
mov dword [ebx + 0x1c], 0
jmp 0x100f3854
push 0x100e87a0
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push esi
call dword [ebp - 4]
mov ebx, dword [edi + 0x38]
mov esi, eax
mov ecx, ebx
mov edx, esi
and ebx, 0xfffffff7
or ecx, 8
and edx, 0x10000000
cmove ebx, ecx
mov ecx, esi
mov eax, ebx
and ebx, 0xffffffef
or eax, 0x10
test esi, esi
cmovs ebx, eax
mov eax, ebx
or ebx, 0x20
and eax, 0xffffffdf
and ecx, 0x40000
mov ecx, esi
cmove ebx, eax
mov eax, ebx
or ebx, 0x80
and eax, 0xffffff7f
and ecx, 0x1000000
cmove ebx, eax
mov eax, ebx
or ebx, 0x40
and eax, 0xffffffbf
and esi, 0x20000000
mov esi, dword [ebp + 0x10]
cmove ebx, eax
mov dword [edi + 0x38], ebx
test bl, 0x40
jne 0x100f3910
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
je 0x100f3910
lea eax, [ebp - 0x28]
push eax
call fcn.100e5000
add esp, 4
test eax, eax
jne 0x100f3910
test dword [edi + 0x38], 0x800
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], ecx
je 0x100f3a87
mov dword [edi + 0x5c], eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x60], ecx
mov dword [edi + 0x70], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x18], eax
mov ebx, dword [ebp + 8]
test byte [edi + 0x38], 0x40
jne 0x100f3957
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push esi
mov dword [ebp - 0xc], 0
call dword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x100f3957
test dword [edi + 0x38], 0x800
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
je 0x100f3951
mov dword [edi + 0x54], ecx
mov dword [edi + 0x64], ecx
mov dword [edi + 0x58], eax
mov dword [edi + 0x68], eax
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov eax, dword [edi + 0xf4]
push edi
mov dword [ebp + 8], eax
call fcn.100da970
add esp, 4
test eax, eax
je 0x100f39fa
push 0
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_CreateDCW]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x100f39fa
lea ecx, [ebp - 0x230]
mov dword [ebp - 0xc], 0x104
push ecx
lea ecx, [ebp - 0xc]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetICMProfileW]
test eax, eax
je 0x100f39f1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xac]
test ecx, ecx
je 0x100f39c6
lea eax, [ebp - 0x230]
push eax
push ecx
call fcn.100cc2f0
add esp, 8
test eax, eax
je 0x100f39f1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x100f39d9
push eax
call fcn.100966a0
add esp, 4
lea eax, [ebp - 0x230]
push eax
call fcn.100cc330
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [ecx + 0xac], eax
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_DeleteDC]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x100f3a1a
or dword [edi + 0x38], 0x200
push edi
call fcn.100955e0
push edi
call fcn.100f53e0
add esp, 8
push 0
push 0x13
push edi
call fcn.100f5030
mov eax, dword [ebp - 8]
add esp, 0xc
mov eax, dword [eax + 0x14]
test eax, eax
je 0x100f3a36
push 3
push esi
call eax
cmp dword [ebx + 8], 0
je 0x100f3a4f
cmp dword [edi + 0x100], 0
jne 0x100f3a4f
mov dword [ebx + 0xa4], 1
mov dword [ebx + 0x30], 0
test dword [edi + 0x38], 0x800
je 0x100f3b5b
push esi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 8], eax
lea eax, [eax*2 + 2]
cmp eax, 0x80
jae 0x100f3af7
call fcn.1010b130
mov ecx, esp
mov dword [ebp + 8], ecx
jmp 0x100f3b05
mov edx, dword [edi + 0x5c]
test edx, edx
je 0x100f3a92
cmp edx, eax
jne 0x100f3aa5
mov edx, dword [edi + 0x60]
test edx, edx
je 0x100f390a
cmp edx, ecx
je 0x100f390a
push 2
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.100f3bc0
mov ebx, dword [ebp + 8]
add esp, 0x18
mov eax, dword [ebx + 0xbc]
or eax, 0x214
mov dword [ebx + 0x34], 1
push eax
push dword [ebp - 4]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebx + 0x34], 0
jmp 0x100f3913
push eax
call fcn.100966d0
add esp, 4
mov dword [ebp + 8], eax
mov ecx, eax
test ecx, ecx
je 0x100f3b5b
mov eax, dword [ebp - 8]
inc eax
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, dword [ebp + 8]
test eax, eax
jle 0x100f3b41
push esi
call fcn.100cc460
lea eax, [eax*2 + 2]
push eax
push esi
push str.UTF_16LE
push 0x1012e9d8
call fcn.1008e3c0
add esp, 0x14
mov dword [edi + 8], eax
mov ecx, dword [ebp - 8]
lea eax, [ecx*2 + 2]
cmp eax, 0x80
jb 0x100f3b5b
push esi
call fcn.100966a0
add esp, 4
push edi
call fcn.100db940
push dword [ebx + 4]
mov esi, eax
push str.SDL.window.win32.hwnd
push esi
call fcn.1009caa0
push dword [ebx + 0xc]
push str.SDL.window.win32.hdc
push esi
call fcn.1009caa0
push dword [ebx + 0x14]
push str.SDL.window.win32.instance
push esi
call fcn.1009caa0
add esp, 0x28
xor eax, eax
lea esp, [ebp - 0x23c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret