Function at 0x405b30
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41b78e
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x414
test eax, eax
push ebx
push ebp
push esi
push edi
jne 0x405b5e
xor eax, eax
jmp 0x405f61
call fcn.00406000
mov esi, eax
lea eax, [esp + 0x434]
push eax
mov ecx, esi
call fcn.004067b0
mov esi, dword [esi + 4]
mov dword [esp + 0x14], eax
cmp eax, esi
je 0x405b93
mov ecx, dword [esp + 0x434]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x405b93
lea eax, [esp + 0x14]
jmp 0x405b9b
mov dword [esp + 0x10], esi
lea eax, [esp + 0x10]
mov esi, dword [eax]
call fcn.00406000
cmp esi, dword [eax + 4]
je 0x405baf
mov eax, dword [esi + 0x10]
jmp 0x405f61
mov edx, dword [esp + 0x434]
xor ebp, ebp
push edx
mov bl, 1
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
test esi, esi
je 0x405c2c
lea eax, [esp + 0x224]
push 0x100
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
lea ecx, [esp + 0x224]
push 0x41fde0
push ecx
call edi
test eax, eax
sete al
test al, al
je 0x405c2c
lea edx, [esp + 0x24]
push 0x100
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [esp + 0x24]
push 0x41fdd4
push eax
call edi
test eax, eax
je 0x405c2a
lea ecx, [esp + 0x24]
push 0x41fdc8
push ecx
call edi
test eax, eax
jne 0x405c2c
xor bl, bl
mov esi, dword [esp + 0x438]
cmp esi, 3
je 0x405c68
cmp esi, 7
je 0x405c68
cmp esi, 0xc
je 0x405c68
cmp esi, 0xd
je 0x405c68
test esi, esi
je 0x405c64
mov edx, dword [esp + 0x434]
push 0x40ed20
push 0xfffffffffffffffc
push edx
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ebp, eax
jmp 0x405c81
xor ebp, ebp
jmp 0x405c81
mov al, byte [0x423051]
test al, al
jne 0x405c81
test bl, bl
je 0x405c81
call fcn.0040de20
mov byte [0x423051], 1
lea eax, [esi - 1]
cmp eax, 0xc
ja case.default.0x405c8d
jmp dword [eax*4 + 0x405f7c]
push 0x1c
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 0
je 0x405e92
mov ecx, dword [esp + 0x434]
push ebp
push ecx
mov ecx, eax
call fcn.0040b480
jmp 0x405e94
push 0x10
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 1
je 0x405e92
mov edx, dword [esp + 0x434]
push ebp
push edx
mov ecx, eax
call fcn.0040a6e0
jmp 0x405e94
push 0x3c
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 2
je 0x405e92
mov ecx, dword [esp + 0x434]
push ebp
push ecx
mov ecx, eax
call fcn.004090d0
jmp 0x405e94
test bl, bl
je case.default.0x405c8d
mov edx, dword [esp + 0x434]
push edx
call fcn.004086d0
mov eax, dword [esp + 0x434]
push 0
push 3
push eax
call fcn.00408fd0
xor eax, eax
jmp 0x405f61
push 0x14
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 3
je 0x405e92
mov ecx, dword [esp + 0x434]
push ebp
push ecx
mov ecx, eax
call fcn.00407d30
jmp 0x405e94
push 0x10
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 4
je 0x405e92
mov edx, dword [esp + 0x434]
push ebp
push edx
mov ecx, eax
call fcn.004077f0
jmp 0x405e94
push 0x10
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 5
je 0x405e92
mov ecx, dword [esp + 0x434]
push ebp
push ecx
mov ecx, eax
call fcn.00407220
jmp 0x405e94
push 0xc
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 6
je 0x405e92
mov edx, dword [esp + 0x434]
push ebp
push edx
mov ecx, eax
call fcn.00407060
jmp 0x405e94
push 0xc
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 7
je 0x405e92
mov ecx, dword [esp + 0x434]
push ebp
push ecx
mov ecx, eax
call fcn.00406df0
jmp 0x405e94
push 0xc
call fcn.004129a7
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x42c], 8
je 0x405e92
mov edx, dword [esp + 0x434]
push ebp
push edx
mov ecx, eax
call fcn.004068b0
jmp 0x405e94
xor eax, eax
mov ebx, eax
mov dword [esp + 0x42c], 0xffffffff
test ebx, ebx
jne 0x405eac
xor eax, eax
jmp 0x405f61
mov eax, dword [esp + 0x434]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
call fcn.00406000
mov edx, dword [0x423058]
mov ebp, eax
mov al, 1
mov ecx, dword [ebp + 4]
mov edi, ecx
mov esi, dword [ecx + 4]
cmp esi, edx
je 0x405ef1
mov eax, dword [esp + 0x18]
mov edi, esi
cmp eax, dword [esi + 0xc]
setb al
test al, al
je 0x405eea
mov esi, dword [esi]
jmp 0x405eed
mov esi, dword [esi + 8]
cmp esi, edx
jne 0x405ed6
mov dl, byte [ebp + 8]
test dl, dl
je 0x405f05
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
push edi
push esi
jmp 0x405f42
test al, al
mov dword [esp + 0x14], edi
je 0x405f28
cmp edi, dword [ecx]
jne 0x405f1f
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push edi
push esi
push ecx
jmp 0x405f43
lea ecx, [esp + 0x14]
call fcn.004067e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
cmp eax, ecx
jae 0x405f4a
lea ecx, [esp + 0x18]
lea edx, [esp + 0x20]
push ecx
push edi
push esi
push edx
mov ecx, ebp
call fcn.004064c0
call fcn.00406000
add eax, 0x10
push eax
call fcn.00406000
mov ecx, eax
call fcn.004053f0
mov eax, ebx
mov ecx, dword [esp + 0x424]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x420
ret