Function at 0x45c130
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x59f978]
mov dl, byte [0x551e6c]
mov ecx, dword [0x55a75c]
mov dh, byte [0x5a3065]
push ebx
mov bh, byte [0x5a3064]
mov bl, byte [0x5a3054]
mov dword [ebp - 0x14], eax
mov eax, dword [0x5a2ae0]
mov byte [ebp - 1], dl
push esi
push edi
cmp eax, 3
jne 0x45c1a9
test ecx, ecx
je 0x45c1a9
test bl, bl
jne 0x45c17c
cmp byte [0x5a3057], bl
je 0x45c1a9
cmp dword [0x58b260], 0x62
jb 0x45c1a9
test bh, bh
jne 0x45c18d
test dh, dh
je 0x45c1a9
cmp word [0x5a305c], 0
je 0x45c1a9
cmp byte [0x5a305f], 0
je 0x45c1a9
mov dword [ebp - 8], 1
jmp 0x45c1b5
mov dword [ebp - 8], 0
cmp eax, 3
jne 0x45c224
test ecx, ecx
je 0x45c224
test bl, bl
je 0x45c224
cmp word [0x5a307c], 0
jne 0x45c1d9
cmp byte [0x5a306c], 0
jne 0x45c1d9
cmp byte [0x5a306b], 0
je 0x45c224
test bh, bh
jne 0x45c224
test dh, dh
jne 0x45c224
cmp byte [0x5a3072], dh
jne 0x45c224
mov cx, word [0x5a305a]
mov al, cl
and al, 7
cmp al, 7
je 0x45c224
mov al, cl
and al, 0x23
cmp al, 0x23
je 0x45c224
mov eax, 0x1c0
and cx, ax
cmp cx, ax
je 0x45c224
cmp byte [0x5a2d00], dh
jne 0x45c224
cmp byte [0x5a306e], dh
jne 0x45c224
mov edi, 1
jmp 0x45c226
xor edi, edi
movzx ecx, dl
mov eax, ecx
and ecx, 0xf
shr eax, 4
mov al, byte [eax + 0x527de0]
add al, byte [ecx + 0x527de0]
cmp al, 1
jbe 0x45c25e
push 0x311
push str.D:_a_rufus_rufus_srcui.c
push str.popcnt8_image_options____1
call fcn.004dfbbc
mov dl, byte [0x551e6c]
add esp, 0xc
cmp byte [0x5a1c20], 0
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x45c306
push 0x7de
push dword [0x5a2ae4]
call ebx
push 2
push 0x80
mov esi, eax
mov byte [0x5a1c20], 0
call fcn.004b6706
add esp, 8
mov dword [ebp - 0xc], eax
push 0x80
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0xc]
je 0x45c2e3
push 0
push 0
push 0x80
push 0x5a1c20
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x45c2e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10], eax
test esi, esi
je 0x45c2f0
push esi
call fcn.004d1211
add esp, 4
mov byte [0x5a1c9f], 0
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dl, byte [0x551e6c]
mov esi, dword [ebp - 8]
test esi, esi
je 0x45c314
test dl, 1
je 0x45c319
jmp 0x45c35f
test dl, 1
je 0x45c35f
xor dl, 1
mov byte [0x551e6c], dl
test dl, 1
je 0x45c35f
push 0x7de
push dword [0x5a2ae4]
call ebx
mov edx, 0x5a1c20
mov ecx, eax
call fcn.00459720
push 0
push dword [0x55a7c8]
push 0x14e
push dword [0x5a2884]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dl, byte [0x551e6c]
test edi, edi
je 0x45c36a
test dl, 2
je 0x45c36f
jmp 0x45c3cb
test dl, 2
je 0x45c3cb
xor dl, 2
mov byte [0x551e6c], dl
test dl, 2
je 0x45c3cb
push 0xc33
call fcn.0041e970
add esp, 4
mov esi, eax
push 0x7de
push dword [0x5a2ae4]
call ebx
mov edx, esi
mov ecx, eax
call fcn.00459720
mov eax, dword [0x55a310]
or eax, dword [0x55a314]
je 0x45c3b6
mov ecx, 1
jmp 0x45c3b8
xor ecx, ecx
call fcn.0045bae0
call fcn.0045bd80
mov dl, byte [0x551e6c]
mov esi, dword [ebp - 8]
mov cl, byte [ebp - 1]
test cl, cl
je 0x45c3dc
test esi, esi
jne 0x45c44e
test edi, edi
jne 0x45c44e
jmp 0x45c3e4
test esi, esi
jne 0x45c3e4
test edi, edi
je 0x45c44e
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x45c44e
mov ebx, eax
neg ebx
test cl, cl
cmove ebx, eax
add dword [0x59f52c], ebx
add dword [0x59f530], ebx
xor edi, edi
mov esi, dword [0x5a2ae4]
push ecx
mov dword [esp], 0x3f800000
push 0
push 0
push ebx
push 0
push dword [edi + 0x527e38]
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, eax
mov ecx, esi
call fcn.0044e580
add edi, 4
add esp, 0x14
cmp edi, 0x80
jb 0x45c402
mov ecx, ebx
call fcn.0045b2e0
mov dl, byte [0x551e6c]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
xor esi, esi
nop word [eax + eax]
mov eax, dword [esi + 0x5280c4]
and al, dl
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
push eax
push dword [esi + 0x5280c0]
push dword [0x5a2ae4]
call ebx
push eax
call edi
add esi, 8
cmp esi, 0x28
jae 0x45c494
mov dl, byte [0x551e6c]
jmp 0x45c460
push 1
push 0
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret