Function at 0x440620
Capabilities:
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x84
mov eax, dword [0x459c80]
xor eax, esp
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x94]
push ebx
push ebp
mov ebp, dword [esp + 0x98]
xor ebx, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa8]
push esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov eax, 0x104
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edx
push edi
mov edi, dword [esp + 0xa8]
cmp ebp, eax
ja 0x440e07
je 0x440def
cmp ebp, 0x4e
ja 0x440cb6
je 0x4409d2
mov eax, ebp
sub eax, 5
je 0x440975
dec eax
sub eax, 1
je 0x440923
sub eax, 8
je 0x440776
sub eax, 5
je 0x440715
sub eax, 0xc
je 0x4406ef
sub eax, 0x27
jne 0x441196
test byte [edi + 0x18], 0x80
je 0x4406d9
push ebx
push ebx
push 0x402
jmp 0x44118d
test byte [edi + 0x18], 0x40
je 0x441196
push ebx
push ebx
push 0x403
jmp 0x44118d
mov eax, dword [esi + 8]
cmp eax, dword [0x45a584]
jne 0x440704
cmp dword [esi + 0x44], 1
jne 0x441196
push dword [esi + 0x48]
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
inc eax
jmp 0x44119e
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5b8]
je 0x44072c
cmp eax, dword [0x45a5ac]
jne 0x441196
mov edi, dword [esi + 4]
lea eax, [esp + 0x5c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
xor ebx, ebx
jmp 0x44075d
test edi, edi
je 0x440d88
push 0xffffffffffffffeb
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov esi, eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetParent]
mov edi, eax
cmp dword [esi + 0x50], ebx
je 0x44073f
push dword [esi + 0x50]
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x24]
call dword [sym.imp.USER32.dll_FillRect]
jmp 0x44070d
mov eax, dword [esi + 8]
cmp eax, dword [0x45a594]
jne 0x441196
xor ebx, ebx
push ebx
push ebx
push 0x1304
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffeb
push dword [esi + 4]
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4407bf
mov eax, dword [esi + 0x50]
mov dword [esp + 0x14], eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDC]
push edi
push dword [esp + 0x20]
mov dword [esp + 0x20], eax
push ebp
push dword [esi + 4]
call sub.COMCTL32.dll_DefSubclassProc
lea eax, [esp + 0x74]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0x84]
push eax
push 0xc
push dword [esp + 0x1c]
call dword [sym.imp.GDI32.dll_GetObjectA]
push dword [esp + 0x88]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ebp, dword [esp + 0x18]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebx
push 0x130b
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, eax
mov edi, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x4408a6
cmp edi, ecx
je 0x4408a1
lea eax, [esp + 0x5c]
push eax
push edi
push 0x130a
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
add ecx, 0xfffffffe
add eax, ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x78]
add ecx, 2
add eax, ecx
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x60]
push 1
push eax
mov eax, dword [esp + 0x80]
add ecx, 0xfffffffe
add eax, ecx
mov ecx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x68]
add ecx, 0xa
add eax, ecx
push eax
push ebp
call dword [sym.imp.GDI32.dll_ExtFloodFill]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc edi
cmp edi, eax
jl 0x440835
mov eax, dword [esp + 0x7c]
push 3
add eax, 0xfffffffe
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetPixel]
mov edi, dword [sym.imp.GDI32.dll_ExtFloodFill]
push 1
push eax
mov eax, dword [esp + 0x84]
push 3
add eax, 0xfffffffe
push eax
push ebp
call edi
mov eax, dword [esp + 0x80]
dec eax
push eax
mov eax, dword [esp + 0x80]
add eax, 0xfffffffe
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetPixel]
push 1
push eax
mov eax, dword [esp + 0x88]
dec eax
push eax
mov eax, dword [esp + 0x88]
add eax, 0xfffffffe
push eax
push ebp
call edi
push ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebp
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x44119c
mov eax, dword [esi + 8]
mov ecx, dword [0x45a584]
cmp eax, ecx
jne 0x440944
cmp dword [esi + 0x44], 1
jne 0x440944
push dword [esi + 4]
call dword [sym.imp.USER32.dll_HideCaret]
jmp 0x44070d
cmp eax, dword [0x45a590]
je 0x441196
cmp eax, dword [0x45a5a8]
je 0x441196
cmp eax, ecx
je 0x441196
cmp eax, dword [0x45a588]
jne 0x44119c
jmp 0x441196
mov eax, dword [esi + 8]
mov ecx, dword [0x45a594]
cmp eax, dword [0x45a5b8]
je 0x4409af
cmp eax, ecx
je 0x4409b3
cmp eax, dword [0x45a578]
je 0x4409af
cmp eax, dword [0x45a590]
jne 0x441196
push ebx
push 0xffffffffffffffff
push esi
call fcn.00446698
add esp, 0xc
jmp 0x441196
cmp eax, ecx
jne 0x4409bc
push ebx
push esi
call fcn.00441fa2
pop ecx
pop ecx
push dword [esi + 4]
push 0x448479
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x441196
mov ebp, dword [sym.imp.USER32.dll_GetWindowLongA]
mov eax, dword [esi + 8]
cmp eax, dword [0x45a584]
jne 0x4409ec
cmp dword [edi + 8], 0x702
je 0x440a4c
cmp eax, dword [0x45a5a0]
je 0x440c84
cmp eax, dword [0x45a594]
je 0x440c21
cmp eax, dword [0x45a590]
je 0x440b9b
cmp eax, dword [0x45a58c]
je 0x440b63
cmp eax, dword [0x45a588]
je 0x440a6f
cmp eax, dword [0x45a5b8]
jne 0x44119c
push 0xffffffffffffffeb
push dword [edi + 4]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
mov esi, eax
test esi, esi
jne 0x4409d8
jmp 0x44119c
xor eax, eax
cmp word [edi + 0x14], ax
jne 0x440a60
push eax
push eax
push 0x40d
jmp 0x440be1
mov eax, dword [edi + 0x10]
inc eax
push eax
mov eax, dword [edi + 0xc]
inc eax
push eax
jmp 0x440bdc
mov eax, dword [edi + 8]
cmp eax, 0xfffffe34
je 0x440b59
cmp eax, 0xfffffe36
je 0x440b1a
cmp eax, 0xfffffe3d
je 0x440aed
cmp eax, 0xfffffffb
je 0x440ac8
cmp eax, 0xfffffffd
jne 0x44119c
push 0
call dword [sym.imp.USER32.dll_GetMessagePos]
push eax
push 0x46
push 0x1111
push dword [esi + 4]
lea eax, [esp + 0x70]
push eax
call fcn.004405e6
add esp, 0x14
push eax
push 0x40a
jmp 0x440be1
push 0
call dword [sym.imp.USER32.dll_GetMessagePos]
push eax
push 0x46
push 0x1111
push dword [esi + 4]
lea eax, [esp + 0x70]
push eax
call fcn.004405e6
add esp, 0x14
jmp 0x440c0e
push dword [edi + 0x3c]
xor ebx, ebx
push ebx
push 0x40f
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
push ebx
push 0x10001
push pe_nt_image_headers32
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x44070d
push dword [edi + 0x14]
push 0
push esi
call fcn.00446431
mov edi, eax
push dword [edi + 0x10]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsdup]
add esp, 0x10
push eax
push 1
push 0x40e
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
push dword [edi + 0x10]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call esi
push edi
call esi
pop ecx
pop ecx
jmp 0x44119c
push dword [edi + 0x10]
push 0
jmp 0x440c1a
cmp dword [edi + 8], 0xfffffcda
je 0x440b90
cmp dword [edi + 8], 0xfffffcdc
jne 0x44119c
xor eax, eax
push eax
push eax
push 0x409
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44119c
xor eax, eax
push eax
push eax
push 0x40e
jmp 0x440b82
mov eax, dword [edi + 8]
cmp eax, 0xffffff9b
jne 0x440bf5
test byte [edi + 0x14], 2
je 0x440bef
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 2
push 0xffffffffffffffff
push 0x100c
push dword [esi + 4]
call edi
mov ebp, eax
cmp ebp, 0xffffffff
je 0x44070d
xor ebx, ebx
push ebx
push 0x10001
push 0x127
push dword [esi + 4]
call edi
push ebx
push ebp
push 0x40f
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44070d
test byte [edi + 0x1c], 1
jne 0x440c16
cmp eax, 0xffffff9a
je 0x440c16
cmp eax, 0xffffff99
je 0x440c16
cmp eax, 0xfffffffb
jne 0x441196
mov eax, dword [edi + 0xc]
push 0
inc eax
push eax
push 0x40b
jmp 0x440be1
xor eax, eax
push eax
push eax
push 0x40e
jmp 0x440be1
cmp dword [edi + 8], 0xfffffdd9
jne 0x440c4c
push 1
push esi
call fcn.00441fa2
pop ecx
pop ecx
xor eax, eax
push eax
push eax
push eax
push 0x130b
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x440a69
cmp dword [edi + 8], 0xfffffffb
jne 0x44119c
push 0
call dword [sym.imp.USER32.dll_GetMessagePos]
push eax
push 6
push 0x130d
push dword [esi + 4]
lea eax, [esp + 0x98]
push eax
call fcn.004405e6
add esp, 0x14
push eax
push 0x40b
jmp 0x440b82
cmp dword [edi + 8], 0xfffffd16
jne 0x44070d
push 0xffffffffffffffeb
push dword [edi]
call ebp
xor ebx, ebx
mov esi, eax
push ebx
push 0x10001
push 0x127
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
jmp 0x440bdc
mov eax, ebp
sub eax, 0x7b
je 0x440dc8
sub eax, 7
je 0x440daf
push 2
pop ecx
sub eax, ecx
je 0x440d80
sub eax, 0x7c
je 0x440d34
sub eax, ecx
jne 0x441196
cmp edx, 0xd
jne 0x441196
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5a8]
jne 0x441196
mov edi, dword [esp + 0x18]
xor ebx, ebx
push ebx
push ebx
push 0xb1
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push ebx
push ebx
push 0x40f
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
push 0xd
pop eax
jmp 0x44119e
mov eax, dword [esi + 8]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, dword [0x45a5a8]
jne 0x440d59
push ebx
push 0x300
push 0x111
push dword [esi + 4]
call ebp
mov edx, dword [esp + 0x1c]
push edi
push edx
push 0x100
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call ebp
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5b8]
je 0x44119c
jmp 0x441196
cmp dword [esi + 0x8c], ebx
je 0x440d90
or eax, 0xffffffff
jmp 0x44119e
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5b8]
je 0x44070d
push edi
push edx
push ebp
push dword [esi + 4]
call sub.COMCTL32.dll_DefSubclassProc
jmp 0x44119e
push dword [esp + 0xac]
push 0x4414bd
push dword [esi + 4]
call sub.COMCTL32.dll_RemoveWindowSubclass
jmp 0x441196
mov eax, dword [esi + 8]
cmp eax, dword [0x45a590]
jl 0x440de7
mov ecx, dword [0x45a594]
sar eax, cl
test eax, eax
jne 0x440de7
test edx, edx
jne 0x441196
xor eax, eax
push eax
jmp 0x440c0e
push edi
push edx
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x441196
mov eax, 0x203
push 3
pop ecx
cmp ebp, eax
ja 0x441148
je 0x441102
mov eax, ebp
sub eax, 0x111
je 0x440f60
sub eax, 0x24
je 0x440f50
sub eax, ecx
je 0x440f50
sub eax, 0xc8
je 0x440f3a
sub eax, 1
je 0x440e6a
sub eax, 1
jne 0x441196
lea eax, [ebp - 0x202]
xor edx, edx
div ecx
push edi
push eax
push 0x416
jmp 0x44118d
mov ebp, dword [sym.imp.USER32.dll_PostMessageA]
push edi
push ebx
push 0x417
push dword [esi + 4]
call ebp
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5bc]
je 0x440ebc
cmp eax, dword [0x45a5ac]
je 0x440ebc
cmp eax, dword [0x45a5b4]
je 0x440ebc
cmp eax, dword [0x45a5b0]
je 0x440ebc
cmp eax, dword [0x45a5a4]
je 0x440ebc
mov eax, edi
shr eax, 0x10
cwde
push eax
movsx eax, di
push eax
push 0x409
push dword [esi + 4]
call ebp
mov eax, dword [esi + 8]
cmp eax, dword [0x45a590]
jne 0x441196
movsx eax, di
mov dword [esp + 0x5c], eax
shr edi, 0x10
movsx eax, di
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
push eax
push ebx
push 0x1012
push dword [esi + 4]
mov dword [esp + 0x74], 0xe
call edi
mov ebp, eax
cmp ebp, 0xffffffff
jle 0x44070d
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
push ebx
push ebp
push 0x1013
push dword [esi + 4]
call edi
push 2
pop ecx
lea eax, [esp + 0x20]
mov dword [esp + 0x30], ecx
push eax
push ebp
push 0x102b
push dword [esi + 4]
mov dword [esp + 0x3c], ecx
call edi
jmp 0x44070d
push edi
push edx
push ebp
push dword [esi + 4]
push fcn.00448b09
call dword [sym.imp.USER32.dll_CallWindowProcA]
jmp 0x441196
push edi
push edx
push esi
call fcn.0044258b
add esp, 0xc
jmp 0x44119e
mov ecx, dword [0x45a5b8]
mov edi, edx
shr edi, 0x10
cmp dword [esi + 8], ecx
jne 0x440f92
push 0xffffffffffffffeb
movzx eax, dx
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [0x45a5b8]
mov esi, eax
mov dword [esp + 0x14], eax
test esi, esi
je 0x441196
mov eax, dword [esi + 8]
cmp eax, dword [0x45a5bc]
je 0x4410de
cmp eax, dword [0x45a5ac]
je 0x4410de
cmp eax, dword [0x45a5b4]
jl 0x440fc5
cmp eax, ecx
jle 0x4410de
cmp eax, dword [0x45a5a4]
je 0x4410de
mov ecx, dword [0x45a5a8]
cmp eax, ecx
je 0x440fe3
cmp eax, dword [0x45a584]
jne 0x440fff
cmp edi, 0x300
je 0x440b90
cmp eax, ecx
jne 0x440fff
cmp edi, 0x702
je 0x440b90
cmp eax, dword [0x45a58c]
jne 0x441196
cmp edi, 1
jne 0x44070d
xor edi, edi
push edi
push edi
push 0x147
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x44070d
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push 2
push edi
push eax
push 0x149
push dword [esi + 0x10]
call ebp
inc eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
pop ecx
pop ecx
mov ebx, eax
push ebx
push dword [esp + 0x14]
push 0x148
push dword [esi + 0x10]
call ebp
push ebx
push edi
push 0xc
push dword [esi + 4]
call ebp
push edi
push edi
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
push 0x40e
push dword [esi + 4]
call edi
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [esi + 4]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x14]
push 0
push 0x10001
push pe_nt_image_headers32
push dword [eax + 4]
call ebp
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ebx, dword [esp + 0x18]
pop ecx
push 0
push dword [esp + 0x14]
push 0x40f
push dword [ebx + 4]
call edi
push dword [ebx + 4]
call esi
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x44119c
xor eax, eax
sub edi, eax
je 0x440b7b
sub edi, 1
je 0x4410f6
sub edi, 4
jne 0x44119c
push eax
push eax
push 0x40a
jmp 0x440b82
mov eax, dword [esi + 8]
cmp eax, dword [0x45a590]
jne 0x441196
movsx eax, di
mov dword [esp + 0x5c], eax
shr edi, 0x10
movsx eax, di
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
push eax
push ebx
push 0x1012
push dword [esi + 4]
mov dword [esp + 0x74], 0xe
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
inc eax
push eax
push 0x40a
jmp 0x44118d
mov eax, ebp
sub eax, 0x204
je 0x441179
sub eax, 1
je 0x440e54
dec eax
sub eax, 1
je 0x441179
sub eax, 1
je 0x440e54
sub eax, 0x9b
jne 0x441196
push ebx
push ebx
push 0x407
jmp 0x44118d
push edi
push 3
pop ecx
lea eax, [ebp - 0x201]
xor edx, edx
div ecx
push eax
push 0x417
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esp + 0x10]
mov dword [eax], ebx
xor eax, eax
mov ecx, dword [esp + 0x90]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00449662
add esp, 0x84
ret