Function at 0x421360
Capabilities:
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x457efb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x218
push ebx
push ebp
push esi
mov esi, ecx
lea edx, [esp + 0x14]
mov eax, dword [esi + 0x70]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [0x463058]
mov dword [esp + 0xc], eax
mov ecx, dword [0x469708]
lea edx, [esp + 0x24]
push pe_nt_image_headers32
push edx
mov eax, dword [ecx + 8]
xor ebx, ebx
push 0x8c
push eax
mov dword [esp + 0x23c], ebx
call dword [sym.imp.USER32.dll_LoadStringW]
cmp eax, ebx
jne 0x4213c8
mov word [esp + 0x24], bx
mov ecx, pe_nt_image_headers32
push edi
sub ecx, eax
cmp ecx, 1
jle 0x4213e5
lea edx, [esp + 0x28]
lea ecx, [esp + 0x10]
push edx
call fcn.004030c0
jmp 0x421433
push 0x1ff
lea ecx, [esp + 0x14]
mov edi, 0x200
call fcn.00403bf0
cmp eax, ebx
je 0x421428
push edi
push eax
push 0x8c
call fcn.00403f40
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x421428
add edi, 0x100
lea ecx, [esp + 0x10]
lea edx, [edi - 1]
push edx
call fcn.00403bf0
cmp eax, ebx
jne 0x4213fc
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.00403cb0
lea ebp, [esi + 0xa4]
push ebx
mov ecx, ebp
call fcn.00415450
mov eax, dword [esi + 0x70]
mov ecx, ebp
push eax
call fcn.004100a0
mov ecx, dword [esi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3f2
push ecx
call ebx
mov edx, dword [esi + 0xe0]
lea edi, [esi + 0xe0]
push edi
mov ecx, edi
mov dword [esp + 0x18], eax
call dword [edx + 4]
push eax
lea ecx, [edi + 8]
call fcn.004143b0
lea eax, [edi + 8]
push eax
mov eax, dword [esp + 0x18]
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x42149b
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x1c], eax
mov dword [edi + 4], ecx
push 3
push 0x4636c0
push 0x109
mov ecx, ebp
call fcn.00414d50
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
call fcn.00415870
mov eax, dword [esi + 4]
push 0x3f5
push eax
call ebx
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4214f1
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xfffdffff
cmp eax, ecx
je 0x4214f1
push ecx
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [esi + 0x70]
lea edi, [esi + 0x234]
push ecx
mov ecx, edi
call fcn.004100a0
push 0x4636c0
push 0xd1
mov ecx, edi
call fcn.004166e0
push 0x4636c0
push 0xd4
mov ecx, edi
call fcn.00416720
push 0x4636c0
push 0xd3
mov ecx, edi
call fcn.00416700
mov edx, dword [esi + 4]
push 0x3f5
push edx
call ebx
lea ebp, [esi + 0x270]
mov dword [esp + 0x14], eax
mov ecx, ebp
mov eax, dword [ebp]
call dword [eax + 4]
lea edi, [ebp + 8]
push 0xd
sub eax, edi
push edi
sub eax, 0xd
mov dword [edi], 0x42444c7
mov dword [edi + 4], ebp
mov byte [edi + 8], 0xe9
mov dword [edi + 9], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
push edi
mov edi, dword [esp + 0x18]
push 0xfffffffffffffffc
push edi
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x421592
mov dword [ebp + 0x1c], eax
mov dword [ebp + 4], edi
mov ecx, dword [esi + 0x274]
push 0x640000
push 0
push 0x401
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
lea edi, [esi + 0x16c]
push 2
mov ecx, edi
call fcn.00415450
mov edx, dword [esi + 0x70]
mov ecx, edi
push edx
call fcn.004100a0
mov eax, dword [esi + 4]
push 0x3f6
push eax
call ebx
mov edx, dword [esi + 0x1a8]
lea ebp, [esi + 0x1a8]
mov ecx, ebp
mov ebx, eax
call dword [edx + 4]
lea edi, [ebp + 8]
push 0xd
sub eax, edi
push edi
sub eax, 0xd
mov dword [edi], 0x42444c7
mov dword [edi + 4], ebp
mov byte [edi + 8], 0xe9
mov dword [edi + 9], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
push edi
push 0xfffffffffffffffc
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
pop edi
je 0x421620
mov dword [ebp + 0x1c], eax
mov dword [ebp + 4], ebx
mov edx, dword [esi + 0x1ac]
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x1c]
push edx
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [0x46305c]
pop esi
pop ebp
lea ecx, [eax - 0xc]
pop ebx
cmp ecx, edx
je 0x421663
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x421663
mov edx, dword [esp]
add edx, 0xfffffff4
push edx
call fcn.0043733c
add esp, 4
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
add esp, 0x224
ret