Function at 0x40791b
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x59c
mov eax, dword [0x446b0c]
xor eax, esp
mov dword [esp + 0x598], eax
push ebx
push esi
push edi
mov ebx, ecx
push 0xffffffffffffffeb
mov dword [esp + 0x24], ebx
call fcn.00403abf
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor edi, edi
lea eax, [esp + 0x6c]
inc edi
push eax
mov dword [esp + 0x74], edi
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea eax, [esp + 0x44]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x48]
xor esi, esi
push esi
push dword [0x44b3b4]
push esi
push ebx
push eax
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
push eax
push esi
push esi
push 0x50800215
push 0x44054c
push str.SysListView32
push esi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ebx, 0x400
push ebx
mov dword [0x44b38c], eax
lea eax, [esp + 0x1a4]
push 0x30
push eax
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], 2
call fcn.004204c0
push str.00:00:0000000000
lea eax, [esp + 0x1b0]
push ebx
push eax
call fcn.0042074b
mov ebx, dword [sym.imp.USER32.dll_GetDC]
add esp, 0x18
lea eax, [esp + 0x14]
push eax
push edi
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x44b390]
cmp eax, esi
jne 0x407a38
push str.Arial_Cyr
push esi
push 2
push esi
push esi
push 0xcc
push esi
push esi
push esi
push 0x190
push esi
push esi
push esi
push dword [esp + 0x4c]
call dword [sym.imp.GDI32.dll_CreateFontW]
mov dword [0x44b390], eax
push eax
push dword [0x44b38c]
call ebx
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
call edi
push dword [0x44b390]
push dword [esp + 0x24]
call ebx
push eax
call edi
mov eax, dword [0x44b3c0]
lea edi, [eax + 0x4490]
cmp dword [edi], esi
mov dword [esp + 0x10], esi
jle 0x407aba
add eax, 0x7e0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
push esi
push 0x20
push 3
push esi
push esi
push 0x80000000
add eax, 0xfffffbc0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edx, dword [esp + 0xc]
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
push eax
mov dword [edx], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add dword [esp + 0xc], 0x584
cmp eax, dword [edi]
jl 0x407a75
xor edi, edi
mov dword [esp + 0xc], 0x3cac
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax + 0x3a0]
cmp word [eax], si
mov dword [esp + 0x1c], eax
je 0x407b07
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00420223
pop ecx
push eax
push dword [esp + 0x24]
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp dword [esp + 0x14], edi
jle 0x407b07
mov edi, dword [esp + 0x14]
sub dword [esp + 0xc], 0x584
jns 0x407ac4
push 0xe8
call fcn.0041482f
pop ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x24]
push eax
push esi
push 0x1061
push dword [0x44b38c]
mov dword [esp + 0x38], esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x3c], edi
call esi
lea eax, [esp + 0x14]
push eax
push 9
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
mov dword [esp + 0x38], 2
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x14]
push 0xe6
lea edi, [eax + edi + 7]
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 1
push 0x1061
push dword [0x44b38c]
call esi
lea eax, [esp + 0x14]
push eax
push 7
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
add edi, dword [esp + 0x14]
push 0xe7
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 2
push 0x1061
push dword [0x44b38c]
call esi
lea eax, [esp + 0x14]
push eax
push 0x11
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
add edi, dword [esp + 0x14]
push 0xe9
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 3
push 0x1061
push dword [0x44b38c]
call esi
lea eax, [esp + 0x14]
push eax
push 9
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
add edi, dword [esp + 0x14]
push 0xea
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 4
push 0x1061
push dword [0x44b38c]
call esi
lea eax, [esp + 0x14]
push eax
push 9
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
add edi, dword [esp + 0x14]
push 0xeb
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 5
push 0x1061
push dword [0x44b38c]
call esi
lea eax, [esp + 0x14]
push eax
push 0xa
lea eax, [esp + 0x1a8]
push eax
push dword [0x44b38c]
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
add edi, dword [esp + 0x14]
push 0xee
call fcn.0041482f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push 6
push 0x1061
push dword [0x44b38c]
call esi
push 0x34
xor ebx, ebx
lea eax, [esp + 0xe0]
push ebx
push eax
call fcn.004204c0
lea eax, [esp + 0x158]
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
add esp, 0xc
mov dword [esp + 0xdc], 0xd
mov dword [esp + 0x10], 0x3cac
mov dword [esp + 0x1c], eax
mov ebx, 0x1074
mov ecx, dword [0x44b3c0]
mov edx, dword [esp + 0x10]
xor eax, eax
cmp word [edx + ecx + 0x3a0], ax
je 0x407f11
lea ecx, [esp + 0xdc]
push ecx
push eax
push 0x104d
push dword [0x44b38c]
mov dword [esp + 0xf0], 1
mov dword [esp + 0xf4], eax
call esi
mov ecx, dword [0x44b3c0]
mov edx, dword [esp + 0x10]
and dword [esp + 0x7c], 0
lea ecx, [edx + ecx + 0x3a0]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x74]
push ecx
push eax
push ebx
push dword [0x44b38c]
mov dword [esp + 0x1c], eax
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x260]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x10]
mov dword [esp + 0xb8], 1
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x2a0]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x10]
mov dword [esp + 0x84], 2
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x2e0]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x10]
mov dword [esp + 0xb8], 3
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x320]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x10]
mov dword [esp + 0x84], 4
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x360]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x10]
mov dword [esp + 0xb8], 5
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x7a0]
mov dword [esp + 0x88], eax
mov dword [esp + 0x7c], 6
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x10]
push ebx
push dword [0x44b38c]
call esi
sub dword [esp + 0x1c], 4
sub dword [esp + 0x10], 0x584
jns 0x407d61
lea eax, [esp + 0x14]
push eax
push 0
mov ebx, 0x1010
push ebx
push dword [0x44b38c]
call esi
lea eax, [esp + 0x64]
push eax
push 1
push ebx
push dword [0x44b38c]
call esi
mov eax, dword [0x44b3c0]
mov eax, dword [eax + 0x4490]
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 8
mov dword [esp + 0x20], eax
call ebx
mov ecx, dword [esp + 0x68]
sub ecx, dword [esp + 0x18]
push 1
imul ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x1c]
lea eax, [ecx + eax*2]
push eax
push edi
push 0
push 0
push dword [0x44b38c]
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_MoveWindow]
lea eax, [esp + 0x110]
push eax
push dword [esp + 0x24]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x3ed
push dword [esp + 0x24]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [esp + 0x54]
push ecx
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetClientRect]
push 8
call ebx
push 1
add eax, eax
push 4
mov dword [esp + 0x14], eax
call ebx
mov ecx, eax
mov eax, dword [esp + 0x64]
add ecx, dword [esp + 0x10]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
add eax, ecx
add eax, dword [esp + 0x20]
push eax
push edi
push dword [esp + 0x120]
push 0x10
call ebx
mov ebx, dword [sym.imp.USER32.dll_MoveWindow]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push dword [esp + 0x34]
call ebx
mov eax, dword [esp + 0x60]
push 1
push eax
push dword [esp + 0x64]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [esp + 0x28]
push eax
mov eax, edi
sub eax, dword [esp + 0x6c]
cdq
sub eax, edx
sar eax, 1
push eax
push dword [esp + 0x24]
call ebx
xor edi, edi
push edi
push edi
push 0x1037
push dword [0x44b38c]
call esi
or eax, 0x20
push eax
push edi
push 0x1036
push dword [0x44b38c]
call esi
mov ecx, dword [esp + 0x5a4]
mov eax, dword [0x44b38c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041fba2
mov esp, ebp
pop ebp
ret