Function at 0x1004158b
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x10057940]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
xor esi, esi
mov dword [ebp - 0x34], ebx
call fcn.1003c30f
push 1
push dword [0x1012ad1c]
mov dword [0x1012ae10], ebx
push 4
push 0xffff0000
push dword [0x1012ad94]
mov dword [0x1012ae14], ebx
push ebx
call fcn.1003d81a
mov dword [0x1012ad80], eax
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x38]
test eax, eax
js 0x1004160b
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x4c]
lea edx, [ebp - 0x3c]
mov esi, eax
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x54]
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
js 0x1004163e
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x4c]
lea edx, [ebp - 0x3c]
add esi, eax
mov eax, dword [0x10116cac]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x54]
mov ecx, dword [0x1012ad7c]
push ebx
call fcn.10012666
mov ecx, dword [0x1012ad80]
mov dword [eax], ecx
mov ecx, dword [0x1012ad7c]
push ebx
call fcn.10012666
mov dword [eax + 4], ebx
mov ecx, dword [0x1012ad7c]
push ebx
inc esi
call fcn.10012666
mov dword [eax + 0xc], esi
mov ecx, dword [0x1012ad7c]
push ebx
call fcn.10012666
mov edi, 0x1000a950
push edi
mov dword [eax + 0x10], ebx
xor ecx, ecx
push 0xc
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10042e60
pop ecx
pop ecx
mov ecx, dword [0x1012ad7c]
push ebx
mov esi, eax
call fcn.10012666
push 0xffffffffffffffff
mov dword [eax + 8], esi
mov ecx, dword [0x1012ad7c]
inc dword [0x1012ae10]
push 0x1000a854
push ebx
call fcn.10012666
push eax
push 0xffff0000
call fcn.1003e3d5
mov esi, dword [0x10114c74]
cmp esi, ebx
je 0x100417b0
push edi
xor ecx, ecx
push 4
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10042e60
mov dword [ebp - 0x40], eax
xor eax, eax
pop ecx
xor esi, esi
pop ecx
mov dword [ebp - 0x44], eax
cmp dword [0x10114c74], ebx
jbe 0x1004179c
mov ecx, eax
mov eax, dword [0x10116cc0]
cmp dword [eax + ecx*4], 0x2000000
jne 0x1004175f
mov eax, dword [0x10116cac]
mov edx, dword [eax]
lea edi, [ebp - 0x48]
push edi
lea edi, [ebp - 0x4c]
push edi
mov edi, dword [0x10116cbc]
push dword [edi + ecx*4]
push eax
call dword [edx + 0x78]
test eax, eax
jns 0x1004174d
mov eax, 0x10003858
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], eax
jmp 0x10041750
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x1004175f
cmp byte [eax], bl
je 0x1004175f
mov ecx, dword [ebp - 0x40]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, dword [0x10114c74]
jb 0x10041710
cmp esi, ebx
je 0x1004179c
push 0x1003c2d9
push 4
push esi
push dword [ebp - 0x40]
call dword [sym.imp.MSVCR100.dll_qsort]
add esp, 0x10
xor edi, edi
cmp esi, ebx
jbe 0x1004179c
mov eax, dword [ebp - 0x40]
push dword [eax + edi*4]
call fcn.1003f079
inc edi
cmp edi, esi
jb 0x1004178c
push dword [ebp - 0x40]
call fcn.10042d92
pop ecx
push ebx
push 0x2000000
call fcn.10041407
call fcn.1003f363
push dword [0x1012ad80]
mov edi, dword [fcn.100013a4]
push 2
push 0x1102
push dword [0x1012ad1c]
call edi
mov esi, dword [0x1000133c]
push ebx
push dword [0x1012ac70]
push dword [0x1012ad14]
call esi
push ebx
push 2
push dword [0x1012ac74]
call esi
push ebx
push 3
push dword [0x1012ac74]
call esi
push dword [0x1012ad70]
call dword [0x10001354]
push 0x800
mov esi, 0x10078a80
push esi
push 0xffffffffffffffff
push 0x10115090
push ebx
push 0xfde9
call dword [fcn.10001120]
push 0x1000a83c
push 0x800
push esi
call dword [sym.imp.MSVCR100.dll_wcscat_s]
add esp, 0xc
mov dword [ebp - 0x40], ebx
push esi
push ebx
push 0xc
push dword [0x1012ad70]
call edi
push 0x10079a80
push 0x800
push 0xd
push dword [0x1012ad70]
call edi
xor eax, eax
mov word [0x10079a7e], ax
mov ecx, 0x10079a80
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10041891
cmp dx, bx
je 0x1004188d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10041891
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1004186b
xor eax, eax
jmp 0x10041896
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x100418a3
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x64
jl 0x1004183c
call fcn.1003ac91
test eax, eax
je 0x100418af
push ebx
jmp 0x100418b1
push 5
push dword [0x1012ad70]
call dword [0x10001384]
push dword [0x1012ad70]
call dword [0x100013d8]
and dword [0x10116d14], 0xfffffffb
push ebx
call fcn.1001adeb
or dword [0x10116d14], 4
call fcn.1003c3ba
push dword [0x1012ad80]
push 9
push 0x110b
push dword [0x1012ad1c]
call edi
push dword [0x1012ad1c]
call dword [0x10001334]
mov ecx, dword [ebp - 4]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.1004a51e
leave
ret