Function at 0x40f972
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x568
mov eax, dword [0x4285f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x42d698
push 0x42d694
call fcn.00414ae7
push 0x42d6b4
call fcn.00413580
test eax, eax
js 0x410031
call fcn.00419023
test eax, eax
js 0x410031
push 0x42d6fc
push 0x401a38
call fcn.00417f64
mov ecx, dword [0x42d6fc]
push 3
call fcn.00417eff
xor edi, edi
inc edi
test eax, eax
je 0x40fa00
push 3
push esi
push edi
push 0x47
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push esi
push 0x47
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x42d6fc]
push esi
call fcn.00417eff
cmp eax, dword [0x42d698]
jl 0x40fa22
mov ecx, dword [0x42d6fc]
push edi
push esi
push esi
call fcn.0041802f
mov eax, dword [0x42d664]
push 0x65
push eax
mov dword [ebp - 0x568], 0x30
mov dword [ebp - 0x564], esi
mov dword [ebp - 0x560], 0x410910
mov dword [ebp - 0x55c], esi
mov dword [ebp - 0x558], esi
mov dword [ebp - 0x554], eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x7f00
push esi
mov dword [ebp - 0x550], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x54c], eax
lea eax, [ebp - 0x568]
push eax
mov dword [ebp - 0x548], 6
mov dword [ebp - 0x544], 0x66
mov dword [ebp - 0x540], 0x401a94
mov dword [ebp - 0x53c], esi
call dword [sym.imp.USER32.dll_RegisterClassExW]
mov ebx, 0x401ab0
mov eax, ebx
cmp dword [0x42d668], esi
jne 0x40fab9
mov eax, 0x401ae4
push esi
push dword [0x42d664]
push esi
push esi
push edi
push edi
push esi
push esi
push 0x2cf0000
push eax
push 0x401a94
push esi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x42d64c], eax
test eax, eax
je 0x410031
push esi
lea eax, [ebp - 0x424]
push eax
push esi
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov esi, dword [ebp - 0x41c]
mov edi, eax
movzx eax, di
mov ecx, esi
imul eax, eax, 0xe1
shr edi, 0x10
mov dword [ebp - 0x40c], esi
cdq
and edx, 3
add eax, edx
mov edx, dword [ebp - 0x418]
sar eax, 2
sub ecx, eax
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x414], ecx
mov eax, edx
imul ecx, edi, 0x19
sub eax, ecx
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x414]
push eax
push dword [0x42d64c]
push 0x401a38
call fcn.004161c8
call fcn.004160a1
mov edi, 0x42d708
test al, al
je 0x40fb74
push 0x401af8
push 0x40
push edi
call fcn.0041268e
cmp dword [0x42d668], 0
lea eax, [ebp - 0x528]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], 0x80
jne 0x40fb98
mov ebx, 0x401ae4
mov eax, dword [0x42d64c]
lea ecx, [ebp - 0x530]
push 8
pop esi
push ebx
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], esi
call fcn.00415a66
push 0x401b10
lea ecx, [ebp - 0x530]
call fcn.00415a66
lea eax, [ebp - 0x530]
push eax
lea ecx, [ebp - 0x538]
call fcn.00415bb6
push 0x401b0c
lea ecx, [ebp - 0x530]
call fcn.00415a66
push edi
lea ecx, [ebp - 0x530]
call fcn.00415a66
mov eax, dword [ebp - 0x530]
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x528]
push eax
push dword [0x42d64c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [ebp + 8]
push dword [0x42d64c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x42d6fc]
push 1
call fcn.00417eff
push eax
push 0xcb
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 2
call fcn.00417eff
push eax
push 0xcc
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 0xe
call fcn.00417eff
push eax
push 0xcd
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 3
call fcn.00417eff
push eax
push 0xce
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 9
call fcn.00417eff
push eax
push 0xd4
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 7
call fcn.00417eff
push eax
push 0xd2
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push esi
call fcn.00417eff
push eax
push 0xd3
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 0xa
call fcn.00417eff
push eax
push 0xee
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 4
call fcn.00417eff
push eax
push 0xcf
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 5
call fcn.00417eff
push eax
push 0xd1
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 6
call fcn.00417eff
push eax
push 0xd0
call fcn.0040db93
mov ecx, dword [0x42d6fc]
push 0xc
call fcn.00417eff
push eax
push 0xf3
call fcn.0040db93
mov ecx, dword [0x42d6fc]
xor ebx, ebx
push ebx
push ebx
call fcn.00417eff
push eax
push 0x14e
push 0xef
push dword [0x42d650]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [0x42d6fc]
push ebx
call fcn.00417eff
push eax
call fcn.0040db60
mov eax, dword [0x42d6b4]
mov ecx, dword [0x42d6fc]
push 0xf
mov esi, dword [eax]
call fcn.00417eff
mov ecx, dword [esi + 0x18]
push eax
call dword [0x42e3f4]
mov ecx, dword [0x42d6b4]
call dword [esi + 0x18]
mov ecx, dword [0x42d6fc]
push 0xc
call fcn.00417eff
mov ecx, dword [0x42d6fc]
push 0xd
mov dword [0x42d674], eax
call fcn.00417eff
push 0x21
mov dword [0x42d678], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push dword [0x42d64c]
mov dword [0x42d67c], eax
call fcn.0040d900
mov edi, dword [0x42d6b4]
mov eax, dword [0x42d674]
neg eax
mov esi, dword [edi]
sbb eax, eax
and eax, dword [0x42d658]
push eax
mov ecx, dword [esi + 8]
call dword [0x42e3f4]
mov ecx, edi
call dword [esi + 8]
mov ecx, dword [0x42d6fc]
push 1
call fcn.00417eff
test eax, eax
je 0x40fe2f
push 0x13
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [0x42d64c]
call dword [sym.imp.USER32.dll_SetWindowPos]
call fcn.00416bfe
mov dword [0x42d684], eax
call fcn.00416c23
mov dword [0x42d688], eax
call fcn.00416bdc
mov ecx, dword [0x42d6fc]
mov dword [0x42d68c], eax
mov eax, dword [0x42d684]
push 4
mov esi, dword [eax]
call fcn.00417eff
mov ecx, dword [esi + 8]
push eax
call dword [0x42e3f4]
mov ecx, dword [0x42d684]
call dword [esi + 8]
mov eax, dword [0x42d688]
mov ecx, dword [0x42d6fc]
push 6
mov esi, dword [eax]
call fcn.00417eff
mov ecx, dword [esi + 0xc]
push eax
call dword [0x42e3f4]
mov ecx, dword [0x42d688]
call dword [esi + 0xc]
mov eax, dword [0x42d68c]
mov ecx, dword [0x42d6fc]
push 5
mov esi, dword [eax]
call fcn.00417eff
mov ecx, dword [esi + 8]
push eax
call dword [0x42e3f4]
mov ecx, dword [0x42d68c]
call dword [esi + 8]
push dword [0x42d64c]
call fcn.00411919
mov ecx, dword [0x42d6fc]
mov esi, eax
push ebx
call fcn.00417eff
push eax
call fcn.00411c3b
test eax, eax
jne 0x40ff10
push ebx
call fcn.00411c3b
push ebx
push ebx
push 0x14e
push 0xef
push dword [0x42d650]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.0040db60
test esi, esi
jne 0x40ff48
push 0x200
lea eax, [ebp - 0x404]
push eax
push 0x6f
push dword [0x42d664]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jle 0x40ff48
push 0x30
push ebx
lea eax, [ebp - 0x404]
push eax
push dword [0x42d64c]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [0x42d6fc]
push 7
call fcn.00417eff
test eax, eax
je 0x40ff82
mov edi, dword [0x42d690]
push 0x4111e0
mov eax, dword [edi]
mov esi, dword [eax + 0x54]
mov ecx, esi
call dword [0x42e3f4]
mov ecx, edi
call esi
xor ecx, ecx
test eax, eax
setns cl
mov dword [0x42d6c4], ecx
mov ecx, dword [0x42d6fc]
push 8
call fcn.00417eff
test eax, eax
je 0x40ffbc
mov edi, dword [0x42d690]
push 0x411150
mov eax, dword [edi]
mov esi, dword [eax + 0x58]
mov ecx, esi
call dword [0x42e3f4]
mov ecx, edi
call esi
xor ecx, ecx
test eax, eax
setns cl
mov dword [0x42d6c0], ecx
mov ecx, dword [0x42d6fc]
push 0xa
call fcn.00417eff
test eax, eax
je 0x40fff6
mov edi, dword [0x42d690]
push 0x411270
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x42e3f4]
mov ecx, edi
call esi
xor ecx, ecx
test eax, eax
setns cl
mov dword [0x42d6c8], ecx
mov ecx, dword [0x42d6fc]
push 9
call fcn.00417eff
test eax, eax
jne 0x410018
mov ecx, dword [0x42d6fc]
push 2
call fcn.00417eff
test eax, eax
je 0x41002c
push ebx
push 0xfa
push 0x32
push dword [0x42d64c]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
inc eax
jmp 0x410033
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004151b0
leave
ret 4