Function at 0x416bc3
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x14
push ebx
xor ebx, ebx
cmp dword [0x41c898], ebx
je 0x417669
push ebp
push esi
push edi
call fcn.00406732
push ebx
push ebx
mov ebp, eax
push ebx
push ebx
mov dword [esp + 0x24], ebp
call fcn.00407b34
add esp, 0x10
cmp dword [0x41c8c4], ebx
je 0x416cee
cmp dword [0x41c77c], ebx
mov dword [esp + 0x18], ebx
jl 0x416cee
xor esi, esi
mov eax, dword [0x41c8c4]
mov dword [esi + eax + 0x304], ebp
mov eax, dword [0x41c8c4]
mov ecx, dword [0x41c898]
push ebx
add eax, esi
push dword [eax + 0x304]
push dword [ecx + 0x4d0]
push dword [0x41d42c]
push eax
push ebx
call fcn.00408678
mov ecx, dword [0x41c8c4]
mov dword [esi + ecx + 0xb0], eax
mov eax, dword [0x41c8c4]
add eax, esi
mov ecx, dword [eax + 0xb0]
add esp, 0x18
cmp ecx, ebx
je 0x416cd4
add eax, 0xd0
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x41c8c4]
lea edx, [esi + eax]
mov ecx, dword [edx + 0xb4]
cmp ecx, ebx
je 0x416ca0
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.00414a99
jmp 0x416cd4
push 0xfffffffffffffffc
push dword [edx + 0xb0]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x41c8c4]
push 0x4081d8
mov dword [esi + ecx + 0x30c], eax
mov eax, dword [0x41c8c4]
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 [0x41c77c]
jle 0x416c0d
cmp dword [0x41c8b0], ebx
je 0x416d62
xor edi, edi
cmp dword [0x41c764], ebx
jl 0x416d62
xor esi, esi
mov ecx, dword [0x41c898]
mov eax, dword [0x41c8b0]
push ebp
push dword [ecx + 0x4d0]
add eax, esi
push dword [0x41d42c]
push eax
add eax, 0xb0
push eax
call fcn.00408624
mov ecx, dword [0x41c8b0]
mov dword [esi + ecx + 0x150], eax
mov eax, dword [0x41c8b0]
add esp, 0x14
cmp dword [esi + eax + 0x150], ebx
je 0x416d53
push ebx
push ebx
push edi
push 6
call fcn.00407b34
add esp, 0x10
inc edi
add esi, 0x154
cmp edi, dword [0x41c764]
jle 0x416d02
cmp dword [0x41c89c], ebx
je 0x416e51
xor ebp, ebp
cmp dword [0x41c750], ebx
jl 0x416e51
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x41c898]
push dword [ecx + 0x4d0]
mov eax, dword [0x41c89c]
push dword [0x41d42c]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.004084f9
mov ecx, dword [0x41c89c]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x41c89c]
add eax, esi
mov edi, dword [eax + 0x360]
add esp, 0x14
cmp edi, ebx
je 0x416e3e
xor ecx, ecx
cmp dword [eax + 0x35c], ebx
sete cl
push ecx
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x41c89c]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x41c89c]
push fcn.0040d9da
mov dword [esi + ecx + 0x364], eax
mov eax, dword [0x41c89c]
push 0xfffffffffffffffc
push dword [esi + eax + 0x360]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push ebp
push 1
call fcn.00407b34
mov ecx, dword [0x41c89c]
xor eax, eax
cmp dword [esi + ecx + 0x35c], ebx
sete al
push eax
push ebx
push ebp
push 0xf
call fcn.00407b34
add esp, 0x20
inc ebp
add esi, 0x368
cmp ebp, dword [0x41c750]
jle 0x416d7e
cmp dword [0x41c8a8], ebx
je 0x416f7d
xor edi, edi
cmp dword [0x41c75c], ebx
jl 0x416f7d
xor esi, esi
mov eax, dword [0x41c8a8]
add eax, esi
mov ecx, dword [eax + 0xaf8]
cmp ecx, ebx
je 0x416e9a
push 0x401e34
push ecx
call fcn.00406710
pop ecx
pop ecx
mov ecx, dword [0x41c8a8]
mov dword [esi + ecx + 0xafc], eax
jmp 0x416ea4
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xafc], ecx
mov eax, dword [0x41c8a8]
mov ecx, dword [0x41c898]
add eax, esi
push dword [eax + 0xaf4]
push dword [eax + 0xafc]
push dword [ecx + 0x4d0]
push dword [0x41d42c]
push eax
add eax, 0xb0
push eax
call fcn.0040864c
mov ecx, dword [0x41c8a8]
mov dword [esi + ecx + 0x8b0], eax
mov eax, dword [0x41c8a8]
add eax, esi
mov ecx, dword [eax + 0x8b0]
add esp, 0x18
cmp ecx, ebx
je 0x416f6a
cmp word [eax + 0x8d4], bx
je 0x416f2e
push 0xfffffffffffffffc
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x41c8a8]
push 0x4082e9
mov dword [esi + ecx + 0xb00], eax
mov eax, dword [0x41c8a8]
push 0xfffffffffffffffc
push dword [esi + eax + 0x8b0]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push edi
push 3
call fcn.00407b34
mov eax, dword [0x41c8a8]
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 [0x41c8a8]
add eax, esi
push eax
add eax, 0x8b4
push eax
call fcn.00408433
pop ecx
pop ecx
inc edi
add esi, 0xb04
cmp edi, dword [0x41c75c]
jle 0x416e6d
cmp dword [0x41c8ac], ebx
mov edi, 0xf1
je 0x417063
cmp dword [0x41c760], ebx
mov dword [esp + 0x18], ebx
jl 0x417063
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x41c898]
push dword [ecx + 0x4d0]
mov eax, dword [0x41c8ac]
push dword [0x41d42c]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.004085d4
mov ecx, dword [0x41c8ac]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x41c8ac]
add eax, esi
mov ebp, dword [eax + 0x360]
add esp, 0x14
cmp ebp, ebx
je 0x417049
xor ecx, ecx
cmp dword [eax + 0x358], 0xffffffff
setg cl
push ecx
push ebp
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x41c8ac]
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.00407b34
mov ecx, dword [0x41c8ac]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xa
call fcn.00407b34
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x364
cmp eax, dword [0x41c760]
jle 0x416fa0
cmp dword [0x41c8b4], ebx
je 0x417144
cmp dword [0x41c768], ebx
mov dword [esp + 0x18], ebx
jl 0x417144
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x41c898]
push dword [ecx + 0x4d0]
mov eax, dword [0x41c8b4]
push dword [0x41d42c]
add eax, esi
push eax
add eax, 0xb0
push eax
call fcn.004085fc
mov ecx, dword [0x41c8b4]
mov dword [esi + ecx + 0x360], eax
mov eax, dword [0x41c8b4]
add eax, esi
mov ebp, dword [eax + 0x360]
add esp, 0x14
cmp ebp, ebx
je 0x41712a
xor ecx, ecx
cmp dword [eax + 0x358], 0xffffffff
setg cl
push ecx
push ebp
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x41c8b4]
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.00407b34
mov ecx, dword [0x41c8b4]
xor eax, eax
cmp dword [esi + ecx + 0x358], 0xffffffff
setg al
push eax
push ebx
push dword [esp + 0x30]
push 0xd
call fcn.00407b34
add esp, 0x20
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 0x368
cmp eax, dword [0x41c768]
jle 0x417081
mov eax, dword [0x41c8b8]
cmp eax, ebx
je 0x417289
xor edi, edi
cmp dword [0x41c76c], ebx
jl 0x417289
xor esi, esi
push dword [esp + 0x14]
mov ecx, dword [0x41c898]
push dword [ecx + 0x4d0]
add eax, esi
push dword [0x41d42c]
push eax
add eax, 0xb0
push eax
call fcn.004085ac
mov ecx, dword [0x41c8b8]
mov dword [esi + ecx + 0x3558], eax
mov eax, dword [0x41c8b8]
add esp, 0x14
cmp dword [esi + eax + 0x3558], ebx
je 0x417276
cmp word [esi + eax + 0x358], bx
mov byte [esp + 0x13], bl
je 0x417204
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 [0x41c8b8]
je 0x417204
movzx ecx, byte [esp + 0x13]
imul ecx, ecx, 0xa0
add ecx, esi
cmp word [ecx + eax + 0x358], bx
jne 0x4171b5
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 [0x41c8b8]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x41c8b8]
push 0x40dc59
mov dword [esi + ecx + 0x355c], eax
mov eax, dword [0x41c8b8]
push 0xfffffffffffffffc
push dword [esi + eax + 0x3558]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push edi
push 7
call fcn.00407b34
push 1
push ebx
push edi
push 0x10
call fcn.00407b34
mov eax, dword [0x41c8b8]
add esp, 0x20
inc edi
add esi, 0x3560
cmp edi, dword [0x41c76c]
jle 0x417161
cmp dword [0x41c8bc], ebx
je 0x4172fc
xor edi, edi
cmp dword [0x41c770], ebx
jl 0x4172fc
xor esi, esi
mov eax, dword [0x41c8bc]
mov eax, dword [esi + eax + 0xa0]
cmp eax, ebx
jbe 0x4172e0
push 0x407f68
push eax
lea eax, [edi + 1]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [0x41c8bc]
mov dword [esi + ecx + 0x2ac], eax
mov eax, dword [0x41c8bc]
add eax, esi
cmp dword [eax + 0x2ac], ebx
jne 0x4172e0
mov dword [eax + 0xa0], ebx
push ebx
push ebx
push edi
push 8
call fcn.00407b34
add esp, 0x10
inc edi
add esi, 0x2b0
cmp edi, dword [0x41c770]
jle 0x41729d
cmp dword [0x41c8c8], ebx
je 0x41733d
xor esi, esi
cmp dword [0x41c778], ebx
jl 0x41733d
xor edi, edi
mov eax, dword [0x41c8c8]
add eax, edi
push dword [eax + 4]
push dword [eax]
mov eax, dword [0x41c898]
push esi
push dword [eax + 0x4d0]
call dword [sym.imp.USER32.dll_RegisterHotKey]
inc esi
add edi, 0x210
cmp esi, dword [0x41c778]
jle 0x417310
cmp dword [0x41c8c0], ebx
je 0x417360
mov eax, dword [0x41c898]
push 1
push dword [eax + 0x4c0]
push dword [eax + 0x4d0]
call fcn.00410749
add esp, 0xc
cmp dword [0x41c8cc], ebx
je 0x417402
xor edi, edi
cmp dword [0x41c780], ebx
jl 0x417402
xor esi, esi
mov eax, dword [0x41c898]
push dword [eax + 0x4d0]
mov eax, dword [0x41c8cc]
push dword [0x41d42c]
add eax, esi
push eax
call fcn.0040854c
mov ecx, dword [0x41c8cc]
mov dword [esi + ecx + 0xb4], eax
mov eax, dword [0x41c8cc]
add eax, esi
mov ecx, dword [eax + 0xb4]
add esp, 0xc
cmp ecx, ebx
je 0x4173ef
mov eax, dword [eax + 0xb0]
cmp eax, 0x64
jle 0x4173e1
cmp eax, ebx
jge 0x4173e1
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push edi
push 9
call fcn.00407b34
add esp, 0x10
jmp 0x4173ef
push ebx
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
add esi, 0xb8
cmp edi, dword [0x41c780]
jle 0x41737c
cmp dword [0x41c8a0], ebx
je 0x417540
xor ebp, ebp
cmp dword [0x41c754], ebx
jl 0x417524
xor esi, esi
mov eax, dword [0x41c8a0]
add eax, esi
cmp dword [eax + 0x4c0], ebx
mov ecx, 0x800000
jle 0x417435
add ecx, 0x20
push ebx
push ecx
push dword [esp + 0x1c]
mov ecx, dword [0x41c898]
push dword [ecx + 0x4d0]
push dword [0x41d42c]
push eax
add eax, 0xb0
push eax
call fcn.004084cc
mov ecx, dword [0x41c8a0]
mov dword [esi + ecx + 0x4c4], eax
mov eax, dword [0x41c8a0]
add eax, esi
mov edi, dword [eax + 0x4c4]
add esp, 0x1c
cmp edi, ebx
je 0x417511
xor ecx, ecx
cmp dword [eax + 0x4c0], 0xffffffff
setg cl
push ecx
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [0x41c8a0]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x41c8a0]
push 0x40dd10
mov dword [esi + ecx + 0x4c8], eax
mov eax, dword [0x41c8a0]
push 0xfffffffffffffffc
push dword [esi + eax + 0x4c4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push ebx
push ebp
push 2
call fcn.00407b34
mov ecx, dword [0x41c8a0]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], ebx
setge al
push eax
push ebx
push ebp
push 0xe
call fcn.00407b34
mov ecx, dword [0x41c8a0]
xor eax, eax
cmp dword [esi + ecx + 0x4c0], ebx
sete al
push eax
push ebx
push ebp
push 0x12
call fcn.00407b34
add esp, 0x30
inc ebp
add esi, 0x4cc
cmp ebp, dword [0x41c754]
jle 0x41741e
mov eax, dword [0x41c898]
cmp dword [eax + 0x4c4], 0xffffffff
je 0x417540
push 1
push dword [eax + 0x4d0]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
cmp dword [0x41c8a4], ebx
je 0x417666
xor ebp, ebp
cmp dword [0x41c758], ebx
jl 0x417666
xor esi, esi
mov eax, dword [0x41c8a4]
mov ecx, dword [0x41c898]
push ebx
add eax, esi
push dword [eax + 0xab8]
push dword [esp + 0x1c]
push dword [ecx + 0x4d0]
push dword [0x41d42c]
push eax
push ebx
call fcn.0040869d
mov ecx, dword [0x41c8a4]
mov dword [esi + ecx + 0xabc], eax
mov eax, dword [0x41c8a4]
add eax, esi
add esp, 0x1c
cmp dword [eax + 0xabc], ebx
je 0x417653
lea ecx, [eax + 0xb0]
xor edi, edi
cmp ecx, ebx
je 0x4175c4
cmp word [ecx], bx
je 0x4175c4
push ecx
call fcn.0040644a
pop ecx
jmp 0x417610
add eax, 0x8b0
push eax
call fcn.00403642
test eax, eax
mov eax, dword [0x41c8a4]
pop ecx
je 0x4175e7
push 1
push ebx
push ebx
lea eax, [esi + eax + 0x8b0]
push eax
jmp 0x417608
add eax, esi
cmp word [eax + 0x8b0], 0x23
jne 0x417612
push 1
add eax, 0x8b2
push 0x40195c
push eax
call fcn.00403470
pop ecx
push eax
push ebx
call fcn.0041518a
add esp, 0x10
mov edi, eax
mov ecx, dword [0x41c8a4]
xor eax, eax
cmp dword [esi + ecx + 0xab8], 0x800
setne al
push eax
push ebx
push ebp
push 0x11
call fcn.00407b34
add esp, 0x10
cmp edi, ebx
je 0x417653
mov eax, dword [0x41c8a4]
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, 0xac8
cmp ebp, dword [0x41c758]
jle 0x41755c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret