Function at 0x44b7f0
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [sym.imp.Qt5Core.dll_QArrayData::shared_null]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x5c], eax
call dword [method.QCoreApplication.applicationDirPath__]
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x54], edx
mov edx, dword [eax]
test edx, edx
je 0x44bec1
cmp edx, 0xffffffff
je 0x44b840
lock sub dword [eax], 1
je 0x44bec1
nop
lea eax, [ebp - 0x3c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4ecbef
mov edi, dword [method.QString.fromUtf8_helper_char_const__int_]
mov dword [esp], eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x5c], eax
call edi
lea eax, [ebp - 0x54]
lea esi, [ebp - 0x3c]
mov ebx, dword [method.QString.append_QString_const_]
mov dword [ebp - 0x5c], eax
mov dword [esp], esi
mov ecx, eax
call ebx
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x44bf41
cmp edx, 0xffffffff
je 0x44b89c
lock sub dword [eax], 1
mov eax, dword [ebp - 0x3c]
je 0x44bf41
lea esi, [ebp - 0x30]
mov dword [esp + 8], 0x14
mov dword [esp + 4], str.FirewallSettings.log
mov dword [esp], esi
call edi
mov dword [esp], esi
mov ecx, dword [ebp - 0x5c]
call ebx
mov eax, dword [ebp - 0x30]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x44bf80
cmp edx, 0xffffffff
je 0x44b8de
lock sub dword [eax], 1
mov eax, dword [ebp - 0x30]
je 0x44bf80
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x50]
mov dword [esp], eax
call fcn.0044a670
mov eax, dword [method.QString.fromAscii_helper_char_const__int_]
sub esp, 4
mov dword [esp + 4], 0x56
mov dword [esp], str.Reading_firewall_rules_for_GemUpdater._nThere_will_be__1_popup_windows._n_nPlease_wait...
mov dword [ebp - 0x60], eax
call eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
mov ecx, 0x20
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 8]
mov word [esp + 0x14], cx
mov dword [esp + 0x10], 0xa
lea ecx, [ebp - 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call dword [method.QString.arg_long_long__int__int__QChar__const]
mov eax, dword [ebp - 0x28]
sub esp, 0x18
mov edx, dword [eax]
test edx, edx
je 0x44bf60
cmp edx, 0xffffffff
je 0x44b96a
lock sub dword [eax], 1
mov eax, dword [ebp - 0x28]
je 0x44bf60
mov dword [esp + 4], 0x16
mov dword [esp], str.Reading_firewall_rules
mov eax, dword [ebp - 0x60]
call eax
mov dword [esp], 0x18
mov dword [ebp - 0x28], eax
call sub.libstdc_6.dll_operator_new_unsigned_int_
mov edi, dword [ebp - 0x64]
lea ebx, [ebp - 0x28]
mov dword [ebp - 0x68], eax
mov dword [esp + 0x14], 0x40000
mov dword [esp + 0xc], 0
mov ecx, eax
mov dword [esp + 4], ebx
mov dword [esp], 1
mov dword [esp + 0x10], edi
lea edi, [ebp - 0x4c]
mov dword [esp + 8], edi
call dword [method.QMessageBox.QMessageBox_QMessageBox::Icon__QString_const__QString_const__QFlags_QMessageBox::StandardButton___QWidget__QFlags_Qt::WindowType__]
mov eax, dword [ebp - 0x28]
sub esp, 0x18
mov edx, dword [eax]
test edx, edx
je 0x44bf00
cmp edx, 0xffffffff
je 0x44b9e6
lock sub dword [eax], 1
mov eax, dword [ebp - 0x28]
je 0x44bf00
mov edi, dword [ebp - 0x68]
mov dword [esp], 1
mov ecx, edi
call dword [method.QDialog.setModal_bool_]
sub esp, 4
mov ecx, edi
call dword [method.QWidget.show__]
mov dword [esp], 1
call dword [method.QCoreApplication.processEvents_QFlags_QEventLoop::ProcessEventsFlag__]
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x38]
mov dword [esp], eax
call dword [method.QFile.QFile_QString_const_]
sub esp, 4
lea ecx, [ebp - 0x38]
call dword [method.QFile.remove__]
lea eax, [ebp - 0x28]
mov dword [esp], eax
call dword [method.QOperatingSystemVersion.current__]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 8]
test eax, eax
jle 0x44bc1d
xor ebx, ebx
mov edi, dword [method.QString.arg_QString_const__int__QChar__const]
jmp 0x44baf6
cmp edx, 0xffffffff
je 0x44ba67
lock sub dword [eax], 1
mov eax, dword [ebp - 0x30]
je 0x44bbaa
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
test edx, edx
je 0x44bbd0
cmp edx, 0xffffffff
je 0x44ba86
lock sub dword [eax], 1
mov eax, dword [ebp - 0x3c]
je 0x44bbd0
lea eax, [ebp - 0x48]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [method.QString.toLatin1_helper_QString_const_]
mov eax, dword [ebp - 0x30]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_system
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
test edx, edx
je 0x44bda0
cmp edx, 0xffffffff
je 0x44bac3
lock sub dword [eax], 1
mov eax, dword [ebp - 0x30]
je 0x44bda0
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
test edx, edx
je 0x44bbf0
cmp edx, 0xffffffff
je 0x44bae2
lock sub dword [eax], 1
mov eax, dword [ebp - 0x48]
je 0x44bbf0
mov edx, dword [ebp - 0x50]
add ebx, 1
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 8]
cmp ebx, eax
jge 0x44bc1d
mov eax, dword [sym.imp.Qt5Core.dll_QArrayData::shared_null]
mov dword [ebp - 0x48], eax
mov eax, dword [sym.imp.Qt5Core.dll_QOperatingSystemVersion::Windows7]
mov eax, dword [eax]
cmp dword [ebp - 0x28], eax
je 0x44bde1
mov dword [esp + 4], 0x4a
mov dword [esp], str.powershell__windowstyle_hidden_Get_NetFirewallRule__DisplayName___1______2
mov eax, dword [ebp - 0x60]
call eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov edx, 0x20
mov word [esp + 0xc], dx
mov dword [esp + 8], 0
mov ecx, esi
mov edx, dword [eax + 8]
add edx, ebx
lea eax, [eax + edx*4 + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call edi
sub esp, 0x10
mov eax, 0x20
lea ecx, [ebp - 0x40]
mov word [esp + 0xc], ax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 4], eax
call edi
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x40]
sub esp, 0x10
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x40], eax
mov edx, dword [eax]
test edx, edx
je 0x44bdc0
cmp edx, 0xffffffff
je 0x44bb9d
lock sub dword [eax], 1
je 0x44bdc0
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
test edx, edx
jne 0x44ba55
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
test edx, edx
jne 0x44ba74
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44ba86
mov dword [esp], eax
mov dword [esp + 8], 4
add ebx, 1
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 8]
cmp ebx, eax
jl 0x44baf6
mov dword [esp], 1
lea ecx, [ebp - 0x38]
call dword [method.QFile.open_QFlags_QIODevice::OpenModeFlag__]
sub esp, 4
test al, al
je 0x44bd2f
lea eax, [ebp - 0x38]
mov ecx, esi
mov dword [esp], eax
call dword [method.QTextStream.QTextStream_QIODevice_]
sub esp, 4
mov ecx, esi
mov dword [esp], str.IBM_850
call dword [method.QTextStream.setCodec_char_const_]
sub esp, 4
lea ecx, [ebp - 0x40]
mov dword [esp], esi
call dword [method.QTextStream.readAll__]
sub esp, 4
lea ecx, [ebp - 0x38]
call dword [method.QFileDevice.close__]
mov dword [esp], 0x1c
call sub.libstdc_6.dll_operator_new_unsigned_int_
mov edi, dword [ebp - 0x64]
mov ebx, eax
mov ecx, ebx
mov dword [esp], edi
call fcn.004301a0
sub esp, 4
mov dword [edi + 0xa4], ebx
mov ecx, ebx
call dword [method.QWidget.raise__]
mov edx, dword [ebp - 0x40]
mov ecx, dword [edi + 0xa4]
mov dword [ebp - 0x3c], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x44bfd0
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.004309b0
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x44bce0
cmp edx, 0xffffffff
je 0x44bcf9
lock sub dword [eax], 1
mov eax, dword [ebp - 0x3c]
jne 0x44bcf9
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0xa4]
call dword [method.QWidget.showNormal__]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
test edx, edx
je 0x44bfa0
cmp edx, 0xffffffff
je 0x44bd27
lock sub dword [eax], 1
mov eax, dword [ebp - 0x40]
je 0x44bfa0
mov ecx, esi
call dword [method.QTextStream.QTextStream__]
mov edi, dword [ebp - 0x68]
mov ecx, edi
call dword [method.QWidget.close__]
mov ecx, edi
call dword [method.QObject.deleteLater__]
lea ecx, [ebp - 0x38]
call dword [method.QFile.QFile__]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
test edx, edx
je 0x44bee2
cmp edx, 0xffffffff
je 0x44bd6a
lock sub dword [eax], 1
mov eax, dword [ebp - 0x4c]
je 0x44bee2
lea ecx, [ebp - 0x50]
call fcn.004b5840
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
test edx, edx
je 0x44bf20
cmp edx, 0xffffffff
je 0x44bd91
lock sub dword [eax], 1
mov eax, dword [ebp - 0x54]
je 0x44bf20
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44bac3
mov eax, dword [ebp - 0x40]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44bb9d
mov eax, dword [sym.imp.Qt5Core.dll_QOperatingSystemVersion::Windows7]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call dword [method.QOperatingSystemVersion.compare_QOperatingSystemVersion_const__QOperatingSystemVersion_const_]
test eax, eax
jg 0x44bb0e
mov dword [esp + 4], 0x34
mov dword [esp], str.netsh_advfirewall_firewall_show_rule_name__1______2
mov eax, dword [ebp - 0x60]
call eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov edx, 0x20
mov word [esp + 0xc], dx
mov dword [esp + 8], 0
mov ecx, esi
mov edx, dword [eax + 8]
add edx, ebx
lea eax, [eax + edx*4 + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
mov eax, dword [method.QString.arg_QString_const__int__QChar__const]
mov dword [ebp - 0x6c], eax
call eax
sub esp, 0x10
mov ecx, 0x20
mov eax, dword [ebp - 0x6c]
mov word [esp + 0xc], cx
mov ecx, dword [ebp - 0x5c]
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x44]
call eax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub esp, 0x10
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov edx, dword [eax]
test edx, edx
je 0x44bea0
cmp edx, 0xffffffff
je 0x44bb9d
lock sub dword [eax], 1
jne 0x44bb9d
nop
lea esi, [esi]
mov eax, dword [ebp - 0x44]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44bb9d
mov eax, dword [ebp - 0x48]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44b840
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44bd6a
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44b9e6
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44b89c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44b96a
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x44b8de
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov ecx, esi
call dword [method.QTextStream.QTextStream__]
jmp 0x44bd2f
lock add dword [edx], 1
jmp 0x44bcb9