Function at 0x41d5e3
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x14
push ebx
xor ebx, ebx
cmp dword [0x4228a4], ebx
je 0x41e07e
push ebp
push esi
push edi
call fcn.0040b04b
push ebx
push ebx
mov ebp, eax
push ebx
push ebx
mov dword [esp + 0x24], ebp
call fcn.0040c2ad
add esp, 0x10
cmp dword [0x4228d0], ebx
je 0x41d70e
cmp dword [0x422748], ebx
mov dword [esp + 0x18], ebx
jl 0x41d70e
xor esi, esi
mov eax, dword [0x4228d0]
mov dword [esi + eax + 0x304], ebp
mov eax, dword [0x4228d0]
mov ecx, dword [0x4228a4]
push ebx
add eax, esi
push dword [eax + 0x304]
push dword [ecx + 0x4d0]
push dword [0x423438]
push eax
push ebx
call fcn.0040cdf2
mov ecx, dword [0x4228d0]
mov dword [esi + ecx + 0xb0], eax
mov eax, dword [0x4228d0]
add eax, esi
mov ecx, dword [eax + 0xb0]
add esp, 0x18
cmp ecx, ebx
je 0x41d6f4
add eax, 0xd0
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x4228d0]
lea edx, [esi + eax]
mov ecx, dword [edx + 0xb4]
cmp ecx, ebx
je 0x41d6c0
xor eax, eax
mov dword [esp + 0x1c], ebx
lea edi, [esp + 0x20]
stosd dword es:[edi], eax
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [edx + 0xb0]
call fcn.0041b15b
jmp 0x41d6f4
push 0xfffffffffffffffc
push dword [edx + 0xb0]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x4228d0]
push 0x40c951
mov dword [esi + ecx + 0x30c], eax
mov eax, dword [0x4228d0]
push 0xfffffffffffffffc
push dword [esi + eax + 0xb0]
call dword [sym.imp.USER32.dll_SetWindowLongW]
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x310
cmp eax, dword [0x422748]
jle 0x41d62d
cmp dword [0x4228bc], ebx
je 0x41d782
xor edi, edi
cmp dword [0x422730], ebx
jl 0x41d782
xor esi, esi
mov ecx, dword [0x4228a4]
mov eax, dword [0x4228bc]
push ebp
push dword [ecx + 0x4d0]
add eax, esi
push dword [0x423438]
push eax
add eax, 0xb0
push eax
call fcn.0040cd9e
mov ecx, dword [0x4228bc]
mov dword [esi + ecx + 0x150], eax
mov eax, dword [0x4228bc]
add esp, 0x14
cmp dword [esi + eax + 0x150], ebx
je 0x41d773
push ebx
push ebx
push edi
push 6
call fcn.0040c2ad
add esp, 0x10
inc edi
add esi, 0x154
cmp edi, dword [0x422730]
jle 0x41d722
cmp dword [0x4228a8], ebx
je 0x41d871
xor ebp, ebp
cmp dword [0x42271c], ebx
jl 0x41d871
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x4228a4]
push dword [ecx + 0x4d0]
mov eax, dword [0x4228a8]
push dword [0x423438]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.0040cc72
mov ecx, dword [0x4228a8]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x4228a8]
add eax, esi
mov edi, dword [eax + 0x360]
add esp, 0x14
cmp edi, ebx
je 0x41d85e
xor ecx, ecx
cmp dword [eax + 0x35c], ebx
sete cl
push ecx
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x4228a8]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x4228a8]
push fcn.00413195
mov dword [esi + ecx + 0x364], eax
mov eax, dword [0x4228a8]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push ebp
push 1
call fcn.0040c2ad
mov ecx, dword [0x4228a8]
xor eax, eax
cmp dword [esi + ecx + 0x35c], ebx
sete al
push eax
push ebx
push ebp
push 0xf
call fcn.0040c2ad
add esp, 0x20
inc ebp
add esi, 0x368
cmp ebp, dword [0x42271c]
jle 0x41d79e
cmp dword [0x4228b4], ebx
je 0x41d99d
xor edi, edi
cmp dword [0x422728], ebx
jl 0x41d99d
xor esi, esi
mov eax, dword [0x4228b4]
add eax, esi
mov ecx, dword [eax + 0xaf8]
cmp ecx, ebx
je 0x41d8ba
push 0x4025d4
push ecx
call fcn.0040b029
pop ecx
pop ecx
mov ecx, dword [0x4228b4]
mov dword [esi + ecx + 0xafc], eax
jmp 0x41d8c4
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xafc], ecx
mov eax, dword [0x4228b4]
mov ecx, dword [0x4228a4]
add eax, esi
push dword [eax + 0xaf4]
push dword [eax + 0xafc]
push dword [ecx + 0x4d0]
push dword [0x423438]
push eax
add eax, 0xb0
push eax
call fcn.0040cdc6
mov ecx, dword [0x4228b4]
mov dword [esi + ecx + 0x8b0], eax
mov eax, dword [0x4228b4]
add eax, esi
mov ecx, dword [eax + 0x8b0]
add esp, 0x18
cmp ecx, ebx
je 0x41d98a
cmp word [eax + 0x8d4], bx
je 0x41d94e
push 0xfffffffffffffffc
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x4228b4]
push 0x40ca62
mov dword [esi + ecx + 0xb00], eax
mov eax, dword [0x4228b4]
push 0xfffffffffffffffc
push dword [esi + eax + 0x8b0]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push edi
push 3
call fcn.0040c2ad
mov eax, dword [0x4228b4]
add eax, esi
add esp, 0x10
lea ecx, [eax + 0x8c4]
push ecx
push dword [eax + 0x8b0]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x4228b4]
add eax, esi
push eax
add eax, 0x8b4
push eax
call fcn.0040cbac
pop ecx
pop ecx
inc edi
add esi, 0xb04
cmp edi, dword [0x422728]
jle 0x41d88d
cmp dword [0x4228b8], ebx
mov edi, 0xf1
je 0x41da83
cmp dword [0x42272c], ebx
mov dword [esp + 0x18], ebx
jl 0x41da83
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x4228a4]
push dword [ecx + 0x4d0]
mov eax, dword [0x4228b8]
push dword [0x423438]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.0040cd4e
mov ecx, dword [0x4228b8]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x4228b8]
add eax, esi
mov ebp, dword [eax + 0x360]
add esp, 0x14
cmp ebp, ebx
je 0x41da69
xor ecx, ecx
cmp dword [eax + 0x358], 0xffffffff
setg cl
push ecx
push ebp
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x4228b8]
push ebx
add eax, esi
push dword [eax + 0x35c]
push edi
push dword [eax + 0x360]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push dword [esp + 0x20]
push 4
call fcn.0040c2ad
mov ecx, dword [0x4228b8]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xa
call fcn.0040c2ad
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x364
cmp eax, dword [0x42272c]
jle 0x41d9c0
cmp dword [0x4228c0], ebx
je 0x41db64
cmp dword [0x422734], ebx
mov dword [esp + 0x18], ebx
jl 0x41db64
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x4228a4]
push dword [ecx + 0x4d0]
mov eax, dword [0x4228c0]
push dword [0x423438]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.0040cd76
mov ecx, dword [0x4228c0]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x4228c0]
add eax, esi
mov ebp, dword [eax + 0x360]
add esp, 0x14
cmp ebp, ebx
je 0x41db4a
xor ecx, ecx
cmp dword [eax + 0x358], 0xffffffff
setg cl
push ecx
push ebp
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x4228c0]
push ebx
add eax, esi
push dword [eax + 0x35c]
push edi
push dword [eax + 0x360]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push dword [esp + 0x20]
push 5
call fcn.0040c2ad
mov ecx, dword [0x4228c0]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xd
call fcn.0040c2ad
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x368
cmp eax, dword [0x422734]
jle 0x41daa1
mov eax, dword [0x4228c4]
cmp eax, ebx
je 0x41dca9
xor edi, edi
cmp dword [0x422738], ebx
jl 0x41dca9
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x4228a4]
push dword [ecx + 0x4d0]
add eax, esi
push dword [0x423438]
push eax
add eax, 0xb0
push eax
call fcn.0040cd26
mov ecx, dword [0x4228c4]
mov dword [esi + ecx + 0x3558], eax
mov eax, dword [0x4228c4]
add esp, 0x14
cmp dword [esi + eax + 0x3558], ebx
je 0x41dc96
cmp word [esi + eax + 0x358], bx
mov byte [esp + 0x13], bl
je 0x41dc24
movzx ecx, byte [esp + 0x13]
imul ecx, ecx, 0xa0
add ecx, esi
lea ecx, [ecx + eax + 0x358]
push ecx
push ebx
push 0x143
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_SendMessageW]
inc byte [esp + 0x13]
cmp byte [esp + 0x13], 0x50
mov eax, dword [0x4228c4]
je 0x41dc24
movzx ecx, byte [esp + 0x13]
imul ecx, ecx, 0xa0
add ecx, esi
cmp word [ecx + eax + 0x358], bx
jne 0x41dbd5
add eax, esi
lea ecx, [eax + 0xb0]
push ecx
push ebx
push 0x14d
push dword [eax + 0x3558]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x4228c4]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x4228c4]
push 0x413414
mov dword [esi + ecx + 0x355c], eax
mov eax, dword [0x4228c4]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push edi
push 7
call fcn.0040c2ad
push 1
push ebx
push edi
push 0x10
call fcn.0040c2ad
mov eax, dword [0x4228c4]
add esp, 0x20
inc edi
add esi, 0x3560
cmp edi, dword [0x422738]
jle 0x41db81
cmp dword [0x4228c8], ebx
je 0x41dd1c
xor edi, edi
cmp dword [0x42273c], ebx
jl 0x41dd1c
xor esi, esi
mov eax, dword [0x4228c8]
mov eax, dword [esi + eax + 0xa0]
cmp eax, ebx
jbe 0x41dd00
push 0x40c6e1
push eax
lea eax, [edi + 1]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [0x4228c8]
mov dword [esi + ecx + 0x2ac], eax
mov eax, dword [0x4228c8]
add eax, esi
cmp dword [eax + 0x2ac], ebx
jne 0x41dd00
mov dword [eax + 0xa0], ebx
push ebx
push ebx
push edi
push 8
call fcn.0040c2ad
add esp, 0x10
inc edi
add esi, 0x2b0
cmp edi, dword [0x42273c]
jle 0x41dcbd
cmp dword [0x4228d4], ebx
je 0x41dd5d
xor esi, esi
cmp dword [0x422744], ebx
jl 0x41dd5d
xor edi, edi
mov eax, dword [0x4228d4]
add eax, edi
push dword [eax + 4]
push dword [eax]
mov eax, dword [0x4228a4]
push esi
push dword [eax + 0x4d0]
call dword [sym.imp.USER32.dll_RegisterHotKey]
inc esi
add edi, 0x210
cmp esi, dword [0x422744]
jle 0x41dd30
cmp dword [0x4228cc], ebx
je 0x41dd80
mov eax, dword [0x4228a4]
push 1
push dword [eax + 0x4c0]
push dword [eax + 0x4d0]
call fcn.0041675d
add esp, 0xc
cmp dword [0x4228d8], ebx
je 0x41de22
xor edi, edi
cmp dword [0x42274c], ebx
jl 0x41de22
xor esi, esi
mov eax, dword [0x4228a4]
push dword [eax + 0x4d0]
mov eax, dword [0x4228d8]
push dword [0x423438]
add eax, esi
push eax
call fcn.0040ccc6
mov ecx, dword [0x4228d8]
mov dword [esi + ecx + 0xb4], eax
mov eax, dword [0x4228d8]
add eax, esi
mov ecx, dword [eax + 0xb4]
add esp, 0xc
cmp ecx, ebx
je 0x41de0f
mov eax, dword [eax + 0xb0]
cmp eax, 0x64
jle 0x41de01
cmp eax, ebx
jge 0x41de01
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push edi
push 9
call fcn.0040c2ad
add esp, 0x10
jmp 0x41de0f
push ebx
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
add esi, 0xb8
cmp edi, dword [0x42274c]
jle 0x41dd9c
cmp dword [0x4228ac], ebx
je 0x41df55
xor ebp, ebp
cmp dword [0x422720], ebx
jl 0x41df55
xor esi, esi
mov eax, dword [0x4228ac]
add eax, esi
mov ecx, dword [eax + 0x4c0]
cmp ecx, 1
mov edx, 0x800000
jne 0x41de5a
add edx, 0x20
jmp 0x41de64
cmp ecx, 3
jne 0x41de64
mov edx, 0x800800
mov ecx, dword [0x4228a4]
push ebx
push edx
push dword [esp + 0x1c]
push dword [ecx + 0x4d0]
push dword [0x423438]
push eax
add eax, 0xb0
push eax
call fcn.0040cc45
mov ecx, dword [0x4228ac]
mov dword [esi + ecx + 0x4c4], eax
mov eax, dword [0x4228ac]
add eax, esi
mov edi, dword [eax + 0x4c4]
add esp, 0x1c
cmp edi, ebx
je 0x41df42
xor ecx, ecx
cmp dword [eax + 0x4c0], 2
setne cl
push ecx
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x4228ac]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x4228ac]
push 0x4134cb
mov dword [esi + ecx + 0x4c8], eax
mov eax, dword [0x4228ac]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push ebp
push 2
call fcn.0040c2ad
mov ecx, dword [0x4228ac]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], 2
setne al
push eax
push ebx
push ebp
push 0xe
call fcn.0040c2ad
mov ecx, dword [0x4228ac]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], 3
sete al
push eax
push ebx
push ebp
push 0x12
call fcn.0040c2ad
add esp, 0x30
inc ebp
add esi, 0x4cc
cmp ebp, dword [0x422720]
jle 0x41de3e
cmp dword [0x4228b0], ebx
je 0x41e07b
xor ebp, ebp
cmp dword [0x422724], ebx
jl 0x41e07b
xor esi, esi
mov eax, dword [0x4228b0]
mov ecx, dword [0x4228a4]
push ebx
add eax, esi
push dword [eax + 0xab8]
push dword [esp + 0x1c]
push dword [ecx + 0x4d0]
push dword [0x423438]
push eax
push ebx
call fcn.0040ce17
mov ecx, dword [0x4228b0]
mov dword [esi + ecx + 0xabc], eax
mov eax, dword [0x4228b0]
add eax, esi
add esp, 0x1c
cmp dword [eax + 0xabc], ebx
je 0x41e068
lea ecx, [eax + 0xb0]
xor edi, edi
cmp ecx, ebx
je 0x41dfd9
cmp word [ecx], bx
je 0x41dfd9
push ecx
call fcn.0040acf3
pop ecx
jmp 0x41e025
add eax, 0x8b0
push eax
call fcn.00403cd5
test eax, eax
mov eax, dword [0x4228b0]
pop ecx
je 0x41dffc
push 1
push ebx
push ebx
lea eax, [esi + eax + 0x8b0]
push eax
jmp 0x41e01d
add eax, esi
cmp word [eax + 0x8b0], 0x23
jne 0x41e027
push 1
add eax, 0x8b2
push 0x401ffa
push eax
call fcn.00403b00
pop ecx
push eax
push ebx
call fcn.0041bae7
add esp, 0x10
mov edi, eax
mov ecx, dword [0x4228b0]
xor eax, eax
cmp dword [esi + ecx + 0xab8], 0x800
setne al
push eax
push ebx
push ebp
push 0x11
call fcn.0040c2ad
add esp, 0x10
cmp edi, ebx
je 0x41e068
mov eax, dword [0x4228b0]
push edi
push dword [esi + eax + 0xabc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push edi
call sub.MSVCRT.dll_free
pop ecx
inc ebp
add esi, 0xacc
cmp ebp, dword [0x422724]
jle 0x41df71
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret