Function at 0x43b390
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x4e2018]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x1c], 0
mov edx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x18]
mov esi, ecx
jne 0x43b9db
mov eax, dword [ebp + 0xc]
cmp eax, 0x111
jne 0x43b3f2
movzx eax, word [ebp + 0x10]
lea ecx, [esi - 0x130]
mov dword [ebp - 0x214], eax
lea edx, [ebp - 0x214]
mov eax, dword [ecx]
push edx
push 0x1fb
mov dword [ebp - 0x210], 1
call dword [eax + 0x28]
jmp 0x43b922
cmp eax, 0x102
jne 0x43b48a
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x214]
mov dword [ebp - 0x21c], eax
mov eax, dword [esi - 0x130]
push ecx
push 0x1f4
lea ecx, [esi - 0x130]
mov dword [ebp - 0x218], 0
call dword [eax + 0x28]
mov eax, dword [ebp - 0x218]
push 0xfffffffffffffff0
push dword [esi + 4]
mov dword [ebp - 0x210], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test al, 4
mov ecx, 1
mov eax, dword [ebp - 0x210]
jne 0x43b467
cmp dword [ebp - 0x214], 0xd
cmove eax, ecx
mov dword [edi], 0
test eax, eax
je 0x43b9db
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486589
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 8
jne 0x43b532
push dword [esi + 4]
add esi, 0xfffffed0
mov dword [ebp - 0x210], 1
mov dword [esi + 0x154], 0
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
jne 0x43b4d6
push dword [esi + 0x160]
mov dword [esi + 0x15c], 1
push dword [esi + 0x134]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [esi + 0x180]
test eax, eax
je 0x43b523
cmp eax, dword [esi + 0x17c]
je 0x43b523
mov ecx, dword [esi + 0x188]
mov dword [esi + 0x17c], eax
test ecx, ecx
je 0x43b505
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x17c]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [esi + 0x40]
push dword [esi + 0x194]
mov dword [esi + 0x188], eax
mov eax, dword [ecx]
call dword [eax + 0xa4]
mov eax, dword [esi]
mov ecx, esi
push esi
push 0x1f5
jmp 0x43b9d2
cmp eax, 7
jne 0x43b622
add esi, 0xfffffed0
mov dword [ebp - 0x210], 1
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [esi + 0x134]
mov dword [esi + 0x154], 1
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [esi + 0x160]
lea ecx, [ebp - 0x20c]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43b5a6
test dx, dx
je 0x43b5a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43b5a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x43b580
xor eax, eax
jmp 0x43b5ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43b5c6
push 0x4c6c00
push dword [esi + 0x134]
mov dword [esi + 0x15c], eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [esi + 0x184]
test eax, eax
je 0x43b613
cmp dword [esi + 0x17c], eax
je 0x43b613
mov ecx, dword [esi + 0x188]
mov dword [esi + 0x17c], eax
test ecx, ecx
je 0x43b5f5
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x17c]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [esi + 0x40]
push dword [esi + 0x198]
mov dword [esi + 0x188], eax
mov eax, dword [ecx]
call dword [eax + 0xa4]
mov eax, dword [esi]
mov ecx, esi
push esi
push 0x1fc
jmp 0x43b9d2
cmp eax, 0x20a
jne 0x43b680
push 0xfffffffffffffff0
push dword [esi + 4]
mov dword [ebp - 0x210], 1
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebx, dword [ebp + 0x10]
test al, 4
je 0x43b666
mov ecx, dword [esi + 4]
mov eax, ebx
shr eax, 0x10
push 0
test ax, ax
jle 0x43b658
push 0
jmp 0x43b65a
push 1
push 0xb5
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi - 0x130]
lea ecx, [esi - 0x130]
push ebx
push 0x1f8
call dword [eax + 0x28]
jmp 0x43b922
cmp eax, 0x200
jne 0x43b6f0
mov eax, dword [esi + 0x54]
add esi, 0xfffffed0
mov dword [ebp - 0x210], 1
test eax, eax
je 0x43b6e1
cmp dword [esi + 0x17c], eax
je 0x43b6e1
mov ecx, dword [esi + 0x188]
mov dword [esi + 0x17c], eax
test ecx, ecx
je 0x43b6c3
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x17c]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [esi + 0x40]
push dword [esi + 0x198]
mov dword [esi + 0x188], eax
mov eax, dword [ecx]
call dword [eax + 0xa4]
mov eax, dword [esi]
mov ecx, esi
push esi
push 0x1fd
jmp 0x43b9d2
cmp eax, 0x2a1
jne 0x43b71b
mov eax, dword [esi + 0x60]
mov dword [esi + 0x58], eax
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486589
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x2a3
jne 0x43b755
mov eax, dword [esi - 0x130]
lea ecx, [esi - 0x130]
lea esi, [ebp - 0x210]
mov dword [ebp - 0x210], 1
push esi
push edx
push dword [ebp + 0x10]
push 0x2a3
call dword [eax + 0xf0]
mov dword [edi], eax
jmp 0x43b928
cmp eax, 0x2133
jne 0x43b7a6
cmp dword [esi + 0x2c], 0
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x210], 1
je 0x43b774
push dword [esi + 0x48]
jmp 0x43b777
push dword [esi + 0x44]
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [esi + 0x4c]
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
push 1
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x43b79f
push eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [edi], eax
jmp 0x43b928
cmp eax, 0x2138
jne 0x43b7c5
cmp dword [esi + 0x2c], 0
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x210], 1
je 0x43b774
push dword [esi + 0x48]
jmp 0x43b777
cmp eax, 0x100
jne 0x43b844
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x214], eax
mov eax, dword [esi - 0x130]
push ecx
push 0x1f7
lea ecx, [esi - 0x130]
mov dword [ebp - 0x210], 1
call dword [eax + 0x28]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
sub edx, ecx
mov esi, dword [ebp - 0x214]
sar edx, 2
test edx, edx
jle 0x43b81d
xor eax, eax
cmp esi, dword [ecx]
je 0x43b831
inc eax
add ecx, 4
cmp eax, edx
jl 0x43b811
xor eax, eax
mov dword [edi], 0
test esi, esi
sete al
test eax, eax
jmp 0x43b92f
mov eax, dword [ebp - 0x210]
test eax, eax
mov dword [edi], 0
jmp 0x43b92f
cmp eax, 0x101
jne 0x43b87a
mov eax, dword [ebp + 0x10]
lea ecx, [esi - 0x130]
mov dword [ebp - 0x214], eax
lea edx, [ebp - 0x214]
mov eax, dword [ecx]
push edx
push 0x1fa
mov dword [ebp - 0x210], 1
call dword [eax + 0x28]
jmp 0x43b922
cmp eax, 0x104
jne 0x43b8f1
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x214], eax
mov eax, dword [esi - 0x130]
push ecx
push 0x1f7
lea ecx, [esi - 0x130]
mov dword [ebp - 0x210], 1
call dword [eax + 0x28]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
sub edx, ecx
mov esi, dword [ebp - 0x214]
sar edx, 2
test edx, edx
jle 0x43b81d
xor eax, eax
nop word [eax + eax]
cmp esi, dword [ecx]
je 0x43b831
inc eax
add ecx, 4
cmp eax, edx
jl 0x43b8d0
xor eax, eax
mov dword [edi], 0
test esi, esi
sete al
test eax, eax
jmp 0x43b92f
cmp eax, 0x105
jne 0x43b94f
mov eax, dword [ebp + 0x10]
lea ecx, [esi - 0x130]
mov edx, dword [ecx]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x214]
push eax
push 0x1fa
mov dword [ebp - 0x210], 1
call dword [edx + 0x28]
mov dword [edi], 0
cmp dword [ebp - 0x210], 0
je 0x43b9db
pop edi
mov ecx, 1
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486589
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x14
je 0x43b6fd
cmp eax, 0x2111
jne 0x43b9db
mov eax, dword [ebp + 0x10]
mov ecx, 0x300
shr eax, 0x10
cmp cx, ax
jne 0x43b9ab
mov eax, dword [esi - 0x130]
lea ecx, [esi - 0x130]
push 1
push 0
mov dword [ebp - 0x210], 1
call dword [eax + 0x13c]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi - 0x130]
lea ecx, [esi - 0x130]
push 0
push 0x1f6
jmp 0x43b9d2
mov ecx, 0x400
cmp cx, ax
jne 0x43b9db
mov eax, dword [esi - 0x130]
lea ecx, [esi - 0x130]
push 0
mov dword [ebp - 0x210], 1
push 0x1f9
call dword [eax + 0x28]
mov dword [edi], 0
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486589
mov esp, ebp
pop ebp
ret 0x18