Function at 0x40f940
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43fd48
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x518
push ebx
mov ebx, dword [sym.imp.user32.dll_GetWindowTextA]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x524]
push 0x400
mov ecx, dword [edi + 0x1c]
push eax
push ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0
call ebx
mov edx, dword [0x448104]
lea eax, [ebp - 0x524]
test eax, eax
mov dword [ebp - 0x20], edx
je 0x40f9f3
lea ecx, [ebp - 0x524]
shr ecx, 0x10
jne 0x40f9b7
lea edx, [ebp - 0x524]
lea ecx, [ebp - 0x20]
push edx
call fcn.0040ef70
jmp 0x40f9f3
lea eax, [ebp - 0x524]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov esi, eax
test esi, esi
je 0x40f9f3
push esi
lea ecx, [ebp - 0x20]
call fcn.00403ff0
test eax, eax
je 0x40f9f3
mov edi, dword [ebp - 0x20]
mov ecx, esi
mov edx, ecx
lea esi, [ebp - 0x524]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x524]
push 0x400
push eax
push ecx
mov byte [ebp - 4], 1
call ebx
mov edx, dword [0x448104]
lea eax, [ebp - 0x524]
test eax, eax
mov dword [ebp - 0x1c], edx
je 0x40fa74
lea ecx, [ebp - 0x524]
shr ecx, 0x10
jne 0x40fa38
lea edx, [ebp - 0x524]
lea ecx, [ebp - 0x1c]
push edx
call fcn.0040ef70
jmp 0x40fa74
lea eax, [ebp - 0x524]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov esi, eax
test esi, esi
je 0x40fa74
push esi
lea ecx, [ebp - 0x1c]
call fcn.00403ff0
test eax, eax
je 0x40fa74
mov edi, dword [ebp - 0x1c]
mov ecx, esi
mov edx, ecx
lea esi, [ebp - 0x524]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ebx, 2
push eax
mov ecx, 0x46eaac
mov byte [ebp - 4], bl
call fcn.0040e170
test eax, eax
je 0x40fc47
mov eax, dword [0x448104]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x120]
push 0x100
push ecx
push 0xe709
mov byte [ebp - 4], 4
call fcn.0040fda0
mov edx, 0x100
sub edx, eax
cmp edx, ebx
jle 0x40fad3
lea eax, [ebp - 0x120]
lea ecx, [ebp - 0x14]
push eax
call fcn.0040feb0
jmp 0x40fb0c
mov esi, 0x100
add esi, 0x100
lea ecx, [esi - 1]
push ecx
lea ecx, [ebp - 0x14]
call fcn.00410160
test eax, eax
je 0x40fb02
push esi
push eax
push 0xe709
call fcn.0040fda0
mov edx, esi
sub edx, eax
cmp edx, ebx
jle 0x40fad8
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.00410210
lea eax, [ebp - 0x120]
push 0x100
push eax
push 0xe70b
call fcn.0040fda0
mov ecx, 0x100
sub ecx, eax
cmp ecx, ebx
jle 0x40fb3e
lea edx, [ebp - 0x120]
lea ecx, [ebp - 0x18]
push edx
call fcn.0040feb0
jmp 0x40fb77
mov esi, 0x100
add esi, 0x100
lea ecx, [ebp - 0x18]
lea eax, [esi - 1]
push eax
call fcn.00410160
test eax, eax
je 0x40fb6d
push esi
push eax
push 0xe70b
call fcn.0040fda0
mov ecx, esi
sub ecx, eax
cmp ecx, ebx
jle 0x40fb43
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call fcn.00410210
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi + 4]
push 0x40
push edx
push eax
push ecx
call dword [sym.imp.user32.dll_MessageBoxA]
mov eax, dword [0x46daa4]
mov ecx, dword [ebp - 0x1c]
cmp eax, ecx
je 0x40fbdf
mov edx, dword [eax - 0xc]
test edx, edx
jge 0x40fbab
mov edx, dword [0x448108]
add eax, 0xfffffff4
cmp eax, edx
jne 0x40fbb2
mov eax, dword [ecx - 0xc]
test eax, eax
jge 0x40fbc3
mov edx, dword [ecx - 8]
push ecx
push edx
mov ecx, 0x46daa4
call fcn.0040ed40
jmp 0x40fbdf
mov ecx, 0x46daa4
call fcn.00404050
mov eax, dword [ebp - 0x1c]
mov dword [0x46daa4], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedIncrement]
mov eax, dword [0x46daa0]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
je 0x40fc33
mov edx, dword [eax - 0xc]
test edx, edx
jge 0x40fbff
mov edx, dword [0x448108]
add eax, 0xfffffff4
cmp eax, edx
jne 0x40fc06
mov eax, dword [ecx - 0xc]
test eax, eax
jge 0x40fc17
mov eax, dword [ecx - 8]
push ecx
push eax
mov ecx, 0x46daa0
call fcn.0040ed40
jmp 0x40fc33
mov ecx, 0x46daa0
call fcn.00404050
mov eax, dword [ebp - 0x20]
mov dword [0x46daa0], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedIncrement]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00401710
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x14]
jmp 0x40fcab
mov ecx, dword [0x46daa4]
push ecx
mov ecx, 0x46eaac
call fcn.0040e170
test eax, eax
jne 0x40fcb0
mov eax, dword [0x448104]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
push 0xe709
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.0040ef70
push 0xe70a
lea ecx, [ebp - 0x14]
call fcn.0040ef70
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi + 4]
push 0x40
push edx
push eax
push ecx
call dword [sym.imp.user32.dll_MessageBoxA]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.00401710
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x18]
call fcn.00401710
mov edx, dword [ebp + 0xc]
mov eax, dword [edi + 4]
and edx, 0xffff
push edx
push eax
call dword [sym.imp.user32.dll_EndDialog]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.00401710
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0
call fcn.00401710
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10