Function at 0x40da28
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0xc
mov eax, dword [0x412260]
push ebx
push ebp
push esi
push edi
push dword [eax + 0x4c0]
xor ebx, ebx
push ebx
push 0x80
push dword [eax + 0x4d0]
call dword [sym.imp.USER32.dll_SendMessageW]
call fcn.00403e21
push ebx
push ebx
push ebx
push ebx
mov dword [esp + 0x24], eax
call fcn.00404771
add esp, 0x10
cmp dword [0x412278], ebx
je 0x40dada
xor edi, edi
cmp dword [0x412064], ebx
jl 0x40dada
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
mov eax, dword [0x412278]
push dword [0x4122d8]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.00407e48
mov ecx, dword [0x412278]
mov dword [esi + ecx + 0x150], eax
mov eax, dword [0x412278]
add esp, 0x14
cmp dword [esi + eax + 0x150], ebx
je 0x40dacb
push ebx
push ebx
push edi
push 6
call fcn.00404771
add esp, 0x10
inc edi
add esi, 0x154
cmp edi, dword [0x412064]
jle 0x40da77
cmp dword [0x412264], ebx
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
je 0x40dbda
cmp dword [0x412050], ebx
mov dword [esp + 0x18], ebx
jl 0x40dbda
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
mov eax, dword [0x412264]
push dword [0x4122d8]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.00407d4b
mov ecx, dword [0x412264]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x412264]
add eax, esi
mov edi, dword [eax + 0x360]
add esp, 0x14
cmp edi, ebx
je 0x40dbc0
xor ecx, ecx
cmp dword [eax + 0x35c], ebx
sete cl
push ecx
push edi
call ebp
mov eax, dword [0x412264]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x412264]
push fcn.0040745d
mov dword [esi + ecx + 0x364], eax
mov eax, dword [0x412264]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push dword [esp + 0x20]
push 1
call fcn.00404771
mov ecx, dword [0x412264]
xor eax, eax
cmp dword [esi + ecx + 0x35c], ebx
sete al
push eax
push ebx
push dword [esp + 0x30]
push 0xf
call fcn.00404771
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x368
cmp eax, dword [0x412050]
jle 0x40dafe
cmp dword [0x412270], ebx
je 0x40dc51
xor edi, edi
cmp dword [0x41205c], ebx
jl 0x40dc51
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
mov eax, dword [0x412270]
push dword [0x4122d8]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.00407e69
mov ecx, dword [0x412270]
mov dword [esi + ecx + 0x8b0], eax
mov eax, dword [0x412270]
add esp, 0x14
cmp dword [esi + eax + 0x8b0], ebx
je 0x40dc42
push ebx
push ebx
push edi
push 3
call fcn.00404771
add esp, 0x10
inc edi
add esi, 0x8b4
cmp edi, dword [0x41205c]
jle 0x40dbee
cmp dword [0x412274], ebx
mov edi, 0xf1
je 0x40dd33
cmp dword [0x412060], ebx
mov dword [esp + 0x18], ebx
jl 0x40dd33
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
mov eax, dword [0x412274]
push dword [0x4122d8]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.00407e06
mov ecx, dword [0x412274]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x412274]
add eax, esi
mov ecx, dword [eax + 0x360]
add esp, 0x14
cmp ecx, ebx
je 0x40dd19
xor edx, edx
cmp dword [eax + 0x358], 0xffffffff
setg dl
push edx
push ecx
call ebp
mov eax, dword [0x412274]
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.00404771
mov ecx, dword [0x412274]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xa
call fcn.00404771
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x364
cmp eax, dword [0x412060]
jle 0x40dc74
cmp dword [0x41227c], ebx
je 0x40de10
cmp dword [0x412068], ebx
mov dword [esp + 0x18], ebx
jl 0x40de10
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
mov eax, dword [0x41227c]
push dword [0x4122d8]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.00407e27
mov ecx, dword [0x41227c]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x41227c]
add eax, esi
mov ecx, dword [eax + 0x360]
add esp, 0x14
cmp ecx, ebx
je 0x40ddf6
xor edx, edx
cmp dword [eax + 0x358], 0xffffffff
setg dl
push edx
push ecx
call ebp
mov eax, dword [0x41227c]
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.00404771
mov ecx, dword [0x41227c]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xd
call fcn.00404771
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x368
cmp eax, dword [0x412068]
jle 0x40dd51
mov eax, dword [0x412280]
cmp eax, ebx
je 0x40df55
xor edi, edi
cmp dword [0x41206c], ebx
jl 0x40df55
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
add eax, esi
push dword [0x4122d8]
push eax
add eax, 0xb0
push eax
call fcn.00407dbc
mov ecx, dword [0x412280]
mov dword [esi + ecx + 0x3558], eax
mov eax, dword [0x412280]
add esp, 0x14
cmp dword [esi + eax + 0x3558], ebx
je 0x40df42
cmp word [esi + eax + 0x358], bx
mov byte [esp + 0x13], bl
je 0x40ded0
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 [0x412280]
je 0x40ded0
movzx ecx, byte [esp + 0x13]
imul ecx, ecx, 0xa0
add ecx, esi
cmp word [ecx + eax + 0x358], bx
jne 0x40de81
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 [0x412280]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x412280]
push 0x40769d
mov dword [esi + ecx + 0x355c], eax
mov eax, dword [0x412280]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push edi
push 7
call fcn.00404771
push 1
push ebx
push edi
push 0x10
call fcn.00404771
mov eax, dword [0x412280]
add esp, 0x20
inc edi
add esi, 0x3560
cmp edi, dword [0x41206c]
jle 0x40de2d
cmp dword [0x412284], ebx
je 0x40dfc8
xor edi, edi
cmp dword [0x412070], ebx
jl 0x40dfc8
xor esi, esi
mov eax, dword [0x412284]
mov eax, dword [esi + eax + 0xa0]
cmp eax, ebx
jbe 0x40dfac
push 0x404ba5
push eax
lea eax, [edi + 1]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [0x412284]
mov dword [esi + ecx + 0x2ac], eax
mov eax, dword [0x412284]
add eax, esi
cmp dword [eax + 0x2ac], ebx
jne 0x40dfac
mov dword [eax + 0xa0], ebx
push ebx
push ebx
push edi
push 8
call fcn.00404771
add esp, 0x10
inc edi
add esi, 0x2b0
cmp edi, dword [0x412070]
jle 0x40df69
cmp dword [0x41226c], ebx
je 0x40e0ef
xor ebp, ebp
cmp dword [0x412058], ebx
jl 0x40e0ef
xor esi, esi
mov eax, dword [0x41226c]
mov ecx, dword [0x412260]
add eax, esi
push dword [eax + 0xab8]
push dword [esp + 0x18]
push dword [ecx + 0x4d0]
push dword [0x4122d8]
push eax
push ebx
call fcn.00407f09
mov ecx, dword [0x41226c]
mov dword [esi + ecx + 0xabc], eax
mov eax, dword [0x41226c]
lea ecx, [esi + eax]
add esp, 0x18
cmp dword [ecx + 0xabc], ebx
je 0x40e0dc
lea edx, [ecx + 0xb0]
push edx
xor edi, edi
call fcn.00403bda
add esp, 4
test eax, eax
je 0x40e050
push edx
call fcn.00403c15
pop ecx
jmp 0x40e099
add ecx, 0x8b0
push ecx
call fcn.0040258f
test eax, eax
mov eax, dword [0x41226c]
pop ecx
je 0x40e072
push ebx
push ebx
lea eax, [esi + eax + 0x8b0]
push eax
jmp 0x40e091
add eax, esi
cmp word [eax + 0x8b0], 0x23
jne 0x40e09b
add eax, 0x8b2
push 0x4016e4
push eax
call fcn.00402463
pop ecx
push eax
push ebx
call fcn.0040d983
add esp, 0xc
mov edi, eax
mov ecx, dword [0x41226c]
xor eax, eax
cmp dword [esi + ecx + 0xab8], 0x800
setne al
push eax
push ebx
push ebp
push 0x11
call fcn.00404771
add esp, 0x10
cmp edi, ebx
je 0x40e0dc
mov eax, dword [0x41226c]
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, 0xac0
cmp ebp, dword [0x412058]
jle 0x40dfe4
cmp dword [0x412290], ebx
je 0x40e130
xor esi, esi
cmp dword [0x412078], ebx
jl 0x40e130
xor edi, edi
mov eax, dword [0x412290]
add eax, edi
push dword [eax + 4]
push dword [eax]
mov eax, dword [0x412260]
push esi
push dword [eax + 0x4d0]
call dword [sym.imp.USER32.dll_RegisterHotKey]
inc esi
add edi, 0x210
cmp esi, dword [0x412078]
jle 0x40e103
cmp dword [0x412288], ebx
je 0x40e153
mov eax, dword [0x412260]
push 1
push dword [eax + 0x4c0]
push dword [eax + 0x4d0]
call fcn.004098a9
add esp, 0xc
cmp dword [0x412294], ebx
je 0x40e1f5
xor edi, edi
cmp dword [0x412080], ebx
jl 0x40e1f5
xor esi, esi
mov eax, dword [0x412260]
push dword [eax + 0x4d0]
mov eax, dword [0x412294]
push dword [0x4122d8]
add eax, esi
push eax
call fcn.00407d6c
mov ecx, dword [0x412294]
mov dword [esi + ecx + 0xb4], eax
mov eax, dword [0x412294]
add eax, esi
mov ecx, dword [eax + 0xb4]
add esp, 0xc
cmp ecx, ebx
je 0x40e1e2
mov eax, dword [eax + 0xb0]
cmp eax, 0x64
jle 0x40e1d4
cmp eax, ebx
jge 0x40e1d4
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push edi
push 9
call fcn.00404771
add esp, 0x10
jmp 0x40e1e2
push ebx
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
add esi, 0xb8
cmp edi, dword [0x412080]
jle 0x40e16f
cmp dword [0x412268], ebx
je 0x40e313
xor ebp, ebp
cmp dword [0x412054], ebx
jl 0x40e313
xor esi, esi
mov eax, dword [0x412268]
add eax, esi
xor ecx, ecx
cmp dword [eax + 0x4c0], ebx
jle 0x40e225
push 0x20
pop ecx
push ecx
push dword [esp + 0x18]
mov ecx, dword [0x412260]
push dword [ecx + 0x4d0]
push dword [0x4122d8]
push eax
add eax, 0xb0
push eax
call fcn.00407eb3
mov ecx, dword [0x412268]
mov dword [esi + ecx + 0x4c4], eax
mov eax, dword [0x412268]
add eax, esi
mov edi, dword [eax + 0x4c4]
add esp, 0x18
cmp edi, ebx
je 0x40e300
xor ecx, ecx
cmp dword [eax + 0x4c0], 0xffffffff
setg cl
push ecx
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x412268]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x412268]
push 0x407755
mov dword [esi + ecx + 0x4c8], eax
mov eax, dword [0x412268]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push ebp
push 2
call fcn.00404771
mov ecx, dword [0x412268]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], ebx
setge al
push eax
push ebx
push ebp
push 0xe
call fcn.00404771
mov ecx, dword [0x412268]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], ebx
sete al
push eax
push ebx
push ebp
push 0x12
call fcn.00404771
add esp, 0x30
inc ebp
add esi, 0x4cc
cmp ebp, dword [0x412054]
jle 0x40e211
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret