Function at 0x411c64
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x314
push ebx
push esi
push edi
mov edi, dword [0x4339ac]
push 0x38
lea esi, [edi + 0x34dc]
xor ebx, ebx
push esi
mov dword [ebp - 8], ebx
call fcn.0041ce10
cmp dword [ebp + 8], ebx
jne 0x411cf4
mov eax, dword [0x431f8c]
mov dword [edi + 0x3514], eax
mov dword [edi + 0x3518], 0x431f90
mov eax, dword [0x431f9c]
mov dword [edi + 0x351c], eax
mov dword [edi + 0x3520], 0x431fa0
mov eax, dword [0x431fa8]
mov dword [edi + 0x3524], eax
mov dword [edi + 0x3528], 0x431fac
mov eax, dword [0x431fd4]
mov dword [edi + 0x352c], eax
mov dword [edi + 0x3530], 0x431fd8
mov dword [edi + 0x3534], 0x431fe8
mov ax, word [0x431ff0]
jmp 0x411d58
mov eax, dword [0x431ff4]
mov dword [edi + 0x3514], eax
mov dword [edi + 0x3518], 0x431ff8
mov eax, dword [0x432008]
mov dword [edi + 0x351c], eax
mov dword [edi + 0x3520], 0x43200c
mov eax, dword [0x432014]
mov dword [edi + 0x3524], eax
mov dword [edi + 0x3528], 0x432018
mov eax, dword [0x432040]
mov dword [edi + 0x352c], eax
mov dword [edi + 0x3530], 0x432044
mov dword [edi + 0x3534], 0x432054
mov ax, word [0x43205c]
mov word [edi + 0x3538], ax
push 0x104
lea eax, [ebp - 0x314]
push eax
push dword [edi + 0x8dc]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x314]
push eax
call fcn.0041cef0
movzx eax, ax
cmp ax, bx
je 0x411d92
mov word [edi + 0x3538], ax
cmp dword [ebp + 0x10], ebx
je 0x41230d
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
je 0x41230d
mov eax, dword [ebp + 0x18]
cmp eax, ebx
je 0x41230d
cmp dword [ebp + 0xc], ebx
jne 0x411dc5
mov dword [eax], ebx
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
mov dword [ecx], ebx
je 0x411dd5
mov dword [eax], ebx
jmp 0x411dd5
cmp dword [ecx], ebx
je 0x412305
cmp dword [eax], ebx
je 0x412305
push ebx
push 0x80
push 3
push ebx
xor esi, esi
inc esi
push esi
push 0xc0000000
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
jne 0x411e03
mov dword [edi + 0x34e0], esi
jmp 0x412318
push ebx
lea ecx, [ebp - 4]
push ecx
push ebx
push ebx
push ebx
push ebx
push 0x2223fc
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x411e2d
mov dword [edi + 0x34e4], esi
jmp 0x4122f5
mov esi, 0x100
push esi
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 4], ebx
call fcn.0041ce10
push esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041ce10
lea eax, [ebp - 0x210]
push eax
push dword [edi + 0x3518]
push dword [edi + 0x3514]
call fcn.00411b94
push ebx
lea eax, [ebp - 4]
push eax
mov eax, dword [edi + 0x351c]
lea eax, [eax*4 + 2]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [edi + 0x3514]
lea eax, [eax*4 + 2]
push eax
lea eax, [ebp - 0x210]
push eax
push 0x222000
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x411eba
mov dword [edi + 0x34e8], 1
jmp 0x4122f5
lea eax, [ebp - 0x110]
push eax
push dword [edi + 0x3520]
push dword [edi + 0x351c]
call fcn.00411bc7
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x411ee8
mov dword [edi + 0x34ec], 1
jmp 0x4122f5
push esi
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 4], ebx
call fcn.0041ce10
push esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041ce10
lea eax, [ebp - 0x210]
push eax
push dword [edi + 0x3528]
push dword [edi + 0x3524]
call fcn.00411b94
push ebx
lea eax, [ebp - 4]
push eax
mov eax, dword [edi + 0x352c]
lea eax, [eax*4 + 2]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [edi + 0x3524]
lea eax, [eax*4 + 2]
push eax
lea eax, [ebp - 0x210]
push eax
push 0x222004
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x411f70
mov dword [edi + 0x34f0], 1
jmp 0x4122f5
lea eax, [ebp - 0x110]
push eax
push dword [edi + 0x3530]
push dword [edi + 0x352c]
call fcn.00411bc7
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x411f9e
mov dword [edi + 0x34f4], 1
jmp 0x4122f5
mov eax, dword [ebp + 8]
neg eax
sbb eax, eax
and eax, 0x8a0
add eax, 0x800
cmp dword [ebp + 0xc], ebx
mov dword [ebp + 8], eax
jne 0x411fdf
push eax
mov eax, dword [0x4339ac]
push 8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp eax, ebx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jne 0x411fdf
mov dword [edi + 0x34f8], 1
jmp 0x4122f5
mov eax, dword [ebp + 8]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp eax, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ebx
jle 0x4120f3
mov dword [ebp + 8], ebx
push esi
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 4], ebx
call fcn.0041ce10
push esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041ce10
cmp dword [ebp + 0xc], ebx
jne 0x41207e
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp + 8]
cdq
sub eax, edx
push 8
sar eax, 1
push eax
call fcn.00411b74
push ebx
lea eax, [ebp - 4]
push eax
push 0x10
lea eax, [ebp - 0x110]
push eax
push 0x10
lea eax, [ebp - 0x210]
push eax
push 0x222008
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x412120
push 0x10
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.0041cde0
jmp 0x4120e0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push 0x10
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0041cde0
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp + 8]
cdq
sub eax, edx
push 8
sar eax, 1
push eax
movzx eax, word [edi + 0x3538]
push eax
push ebx
call fcn.00411c0d
push ebx
lea ecx, [ebp - 4]
push ecx
push ebx
push ebx
push eax
lea eax, [ebp - 0x210]
push eax
push 0x22200c
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x412120
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add dword [ebp + 8], 0x10
cmp eax, dword [ebp - 0x10]
jl 0x411ffc
cmp dword [ebp + 0xc], ebx
jne 0x41212f
mov eax, dword [0x4339ac]
push esi
push 8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp eax, ebx
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jne 0x41212f
mov dword [edi + 0x3500], 1
jmp 0x4122f5
mov dword [edi + 0x34fc], 1
jmp 0x4122f5
mov dword [ebp + 8], ebx
push esi
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 4], ebx
call fcn.0041ce10
push esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041ce10
cmp dword [ebp + 0xc], ebx
jne 0x4121b4
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp + 8]
cdq
sub eax, edx
push 8
sar eax, 1
push eax
call fcn.00411b74
push ebx
lea eax, [ebp - 4]
push eax
push 0x10
lea eax, [ebp - 0x110]
push eax
push 0x10
lea eax, [ebp - 0x210]
push eax
push 0x222010
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x41225f
push 0x10
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.0041cde0
jmp 0x412210
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push 0x10
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0041cde0
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp + 8]
cdq
push 8
sub eax, edx
sar eax, 1
push eax
push ebx
push 1
call fcn.00411c0d
push ebx
lea ecx, [ebp - 4]
push ecx
push ebx
push ebx
push eax
lea eax, [ebp - 0x210]
push eax
push 0x222014
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x41225f
add dword [ebp + 8], 0x10
cmp dword [ebp + 8], esi
jl 0x412132
cmp dword [ebp + 0xc], ebx
jne 0x4122f5
cmp dword [ebp + 0x1c], ebx
je 0x4122f5
push ebx
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push ebx
push ebx
push 0x2223fc
push dword [ebp + 0x10]
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x41226e
mov dword [edi + 0x3508], 1
jmp 0x4122f5
mov dword [edi + 0x3504], 1
jmp 0x4122f5
mov eax, dword [0x4339ac]
push 6
push 8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp eax, ebx
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
jne 0x412294
mov dword [edi + 0x350c], 1
jmp 0x4122f5
push esi
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 4], ebx
call fcn.0041ce10
push esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041ce10
push ebx
lea eax, [ebp - 4]
push eax
push 6
lea eax, [ebp - 0x110]
push eax
push ebx
push ebx
push 0x222018
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x4122e2
mov dword [edi + 0x3510], 1
jmp 0x4122f5
push 6
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp + 0x1c]
push dword [eax]
call fcn.0041cde0
cmp dword [ebp + 0x10], ebx
je 0x412313
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x412313
mov dword [esi], 1
jmp 0x412318
mov dword [esi], 1
cmp dword [ebp - 8], ebx
jne 0x412373
cmp dword [ebp + 0xc], ebx
jne 0x412373
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, ebx
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x412337
push eax
mov eax, dword [0x4339ac]
push ebx
push dword [eax]
call esi
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
cmp eax, ebx
je 0x41234b
push eax
mov eax, dword [0x4339ac]
push ebx
push dword [eax]
call esi
mov edi, dword [ebp + 0x1c]
cmp edi, ebx
je 0x412363
mov eax, dword [edi]
cmp eax, ebx
je 0x412363
push eax
mov eax, dword [0x4339ac]
push ebx
push dword [eax]
call esi
cmp edi, ebx
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
je 0x412373
mov dword [edi], ebx
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 0x18