Function at 0x100044a0
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x84
mov eax, dword [esp + 0x8c]
push ebx
push ebp
xor ebx, ebx
xor ebp, ebp
push esi
test eax, eax
push edi
mov dword [esp + 0x10], 0
jl 0x10004a86
cmp eax, 0x20
jge 0x10004a86
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
mov eax, dword [esp + 0x98]
push 0
push str.AfxWnd42
push ebx
push eax
call esi
mov ebx, eax
test ebx, ebx
je 0x1000478a
push 0xfffffffffffffff0
push ebx
mov dword [esp + 0x18], 1
call dword [sym.imp.USER32.dll_GetWindowLongA]
cmp eax, 0x52000000
jne 0x100044d4
jmp 0x10004510
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
push 0
push str.Button
push ebp
push ebx
call esi
mov ebp, eax
test ebp, ebp
je 0x100044d4
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebp
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_IsWindowVisible]
lea ecx, [esp + 0x14]
push 0x20
push ecx
push ebp
mov edi, eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov esi, 0x10007758
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000457a
test cl, cl
je 0x10004576
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000457a
add eax, 2
add esi, 2
test cl, cl
jne 0x10004556
xor eax, eax
jmp 0x1000457f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000458b
test edi, edi
jne 0x10004646
mov esi, 0x1000774c
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100045b8
test cl, cl
je 0x100045b4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100045b8
add eax, 2
add esi, 2
test cl, cl
jne 0x10004594
xor eax, eax
jmp 0x100045bd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100045c9
test edi, edi
jne 0x10004694
mov esi, 0x10007744
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100045f6
test cl, cl
je 0x100045f2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100045f6
add eax, 2
add esi, 2
test cl, cl
jne 0x100045d2
xor eax, eax
jmp 0x100045fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10004639
mov esi, 0x10007738
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000462c
test cl, cl
je 0x10004628
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000462c
add eax, 2
add esi, 2
test cl, cl
jne 0x10004608
xor eax, eax
jmp 0x10004631
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000450a
test edi, edi
jne 0x100046e2
jmp 0x1000450a
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*4]
cmp dword [eax*4 + 0x100079e0], 1
je 0x10004a93
push 0
mov dword [eax*4 + 0x100079e0], 1
mov eax, dword [esp + 0xa0]
push 0
push 0
push 0xa
push eax
call fcn.10004050
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*4]
cmp dword [eax*4 + 0x100079e0], 2
je 0x10004a93
mov ecx, dword [esp + 0x9c]
push 0
push 0
push 0
push 0xb
push ecx
mov dword [eax*4 + 0x100079e0], 2
call fcn.10004050
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ebp, dword [esp + 0x9c]
mov esi, 3
lea eax, [ebp + ebp*2]
shl eax, 3
sub eax, ebp
lea edx, [eax + eax*4]
cmp dword [edx*4 + 0x100079e0], esi
je 0x10004a93
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x75]
mov byte [esp + 0x74], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x55]
mov byte [esp + 0x54], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x35]
mov byte [esp + 0x34], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [edx*4 + 0x100079e0], esi
lea edx, [esp + 0x34]
stosb byte es:[edi], al
lea eax, [esp + 0x54]
push edx
lea ecx, [esp + 0x78]
push eax
push ecx
push ebx
call fcn.100043a0
lea edx, [esp + 0x44]
lea eax, [esp + 0x64]
push edx
lea ecx, [esp + 0x88]
push eax
push ecx
push 0xc
push ebp
call fcn.10004050
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10004a5e
xor ebx, ebx
mov dword [esp + 0x10], 0
xor ebp, ebp
mov edx, dword [esp + 0x98]
push 0
push str.32770
push ebx
push edx
call esi
mov ebx, eax
test ebx, ebx
je 0x10004a5e
mov eax, dword [esp + 0x10]
push 0
push str.AfxWnd42
push eax
push ebx
call esi
test eax, eax
mov dword [esp + 0x10], eax
je 0x100047a2
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
cmp eax, 0x52000000
jne 0x100047be
mov ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
push 0
push str.Button
push ebp
push ecx
call esi
mov ebp, eax
test ebp, ebp
je 0x100047be
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebp
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_IsWindowVisible]
lea edx, [esp + 0x14]
push 0x20
push edx
push ebp
mov edi, eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov esi, 0x10007758
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10004859
test cl, cl
je 0x10004855
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10004859
add eax, 2
add esi, 2
test cl, cl
jne 0x10004835
xor eax, eax
jmp 0x1000485e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000486a
test edi, edi
jne 0x10004925
mov esi, 0x1000774c
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10004897
test cl, cl
je 0x10004893
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10004897
add eax, 2
add esi, 2
test cl, cl
jne 0x10004873
xor eax, eax
jmp 0x1000489c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100048a8
test edi, edi
jne 0x1000496c
mov esi, 0x10007738
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100048d5
test cl, cl
je 0x100048d1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100048d5
add eax, 2
add esi, 2
test cl, cl
jne 0x100048b1
xor eax, eax
jmp 0x100048da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10004918
mov esi, 0x10007744
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000490b
test cl, cl
je 0x10004907
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000490b
add eax, 2
add esi, 2
test cl, cl
jne 0x100048e7
xor eax, eax
jmp 0x10004910
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100047e5
test edi, edi
jne 0x100049b3
jmp 0x100047e5
mov ecx, dword [esp + 0x9c]
mov edx, 1
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*4]
cmp dword [eax*4 + 0x100079e0], edx
je 0x10004a93
push 0
push 0
push 0
push 0xa
push ecx
mov dword [eax*4 + 0x100079e0], edx
call fcn.10004050
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ecx, dword [esp + 0x9c]
mov edx, 2
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*4]
cmp dword [eax*4 + 0x100079e0], edx
je 0x10004a93
push 0
push 0
push 0
push 0xb
push ecx
mov dword [eax*4 + 0x100079e0], edx
call fcn.10004050
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ebx, dword [esp + 0x9c]
mov esi, 3
lea eax, [ebx + ebx*2]
shl eax, 3
sub eax, ebx
lea edx, [eax + eax*4]
cmp dword [edx*4 + 0x100079e0], esi
je 0x10004a93
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x35]
mov byte [esp + 0x34], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x55]
mov byte [esp + 0x54], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x75]
mov byte [esp + 0x74], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x74]
mov dword [edx*4 + 0x100079e0], esi
lea ecx, [esp + 0x54]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x38]
push ecx
push edx
push eax
call fcn.100043a0
lea ecx, [esp + 0x84]
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0x48]
push edx
push eax
push 0xc
push ebx
call fcn.10004050
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
lea eax, [ecx + ecx*2]
pop ebx
shl eax, 3
sub eax, ecx
lea ecx, [eax + eax*4]
mov dword [ecx*4 + 0x100079e0], 0
add esp, 0x84
ret
push 0x100074c4
call fcn.10001530
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret