Function at 0x1000b4a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10063d82
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1009b004]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
push 1
lea ecx, [esp + 0x40]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_]
mov ebx, dword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____cdecl_QString::fromAscii_helper_char_const___int_]
push 0x13
push str.firewall_add_update
mov dword [esp + 0x84], 0
call ebx
add esp, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x80], 1
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1000a270
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 0
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov ebp, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x7c], 0xffffffff
call ebp
lea eax, [esp + 0x88]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x5c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
push str.firewall_add_json
mov ecx, eax
mov dword [esp + 0x80], 2
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov edi, dword [esp + 0x84]
mov esi, eax
push edi
mov ecx, dword [esi]
call dword [sym.imp.Qt5Core.dll_public:_class_QTextStream____thiscall_QTextStream::operator___void_const__]
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::maybeSpace_void_]
lea ecx, [esp + 0x88]
mov dword [esp + 0x7c], 0xffffffff
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
push 6
push 0x10072c24
call ebx
add esp, 8
mov dword [esp + 0x84], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x7c], 3
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_void_]
push eax
lea eax, [esp + 0x88]
mov byte [esp + 0x80], 4
push eax
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.1000e260
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 5
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QList_class_QVariant____thiscall_QVariant::toList_void_]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 7
call ebp
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 8
call ebp
lea ecx, [esp + 0x84]
mov byte [esp + 0x7c], 9
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
call fcn.1000ac60
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
add eax, 4
lea edx, [ecx + eax*4]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 0xc]
add eax, 4
lea esi, [ecx + eax*4]
mov eax, 1
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], eax
mov byte [esp + 0x7c], 0xa
cmp edx, esi
je 0x1000b790
mov ecx, dword [edx]
test eax, eax
je 0x1000b77c
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QVariant::toString_void_]
lea eax, [esp + 0x88]
mov byte [esp + 0x7c], 0xb
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.Qt5Network.dll_public:_void___thiscall_QHostAddress::constructor_class_QString_const__]
mov ecx, eax
mov byte [esp + 0x7c], 0xc
call dword [sym.imp.Qt5Network.dll_public:_unsigned_int___thiscall_QHostAddress::toIPv4Address_void_const]
mov edx, dword [0x1009c3dc]
mov edi, eax
mov ebp, dword [edx + 4]
mov ecx, dword [edx + 8]
mov esi, dword [edx]
and ecx, 0x7fffffff
lea eax, [ebp + 1]
cmp eax, ecx
seta bl
cmp esi, 1
je 0x1000b6c2
test esi, esi
jne 0x1000b6ca
test bl, bl
jne 0x1000b6ca
mov ecx, ebp
jmp 0x1000b6f2
xor eax, eax
mov edx, 8
test bl, bl
cmovne eax, edx
lea edx, [ebp + 1]
cmovne ecx, edx
push eax
push ecx
push ebp
mov ecx, 0x1009c3dc
call fcn.1001bd30
mov edx, dword [0x1009c3dc]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
mov byte [esp + 0x7c], 0xb
lea eax, [eax + ecx*4]
mov dword [eax + edx], edi
lea ecx, [esp + 0x1c]
mov eax, dword [0x1009c3dc]
inc dword [eax + 4]
call dword [sym.imp.Qt5Network.dll_public:_void___thiscall_QHostAddress::destructor_void_]
lea eax, [esp + 0x20]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x70]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
lea ecx, [esp + 0x88]
mov byte [esp + 0x7c], 0xd
push ecx
push str.firewall_add_ip
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QString_const__]
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 0xb
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ecx, [esp + 0x88]
mov byte [esp + 0x7c], 0xa
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov esi, dword [esp + 0x34]
xor eax, eax
mov edx, dword [esp + 0x30]
add edx, 4
xor eax, 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
jne 0x1000b657
mov ebx, dword [esp + 0x2c]
or ebp, 0xffffffff
mov byte [esp + 0x7c], 9
mov eax, dword [ebx]
test eax, eax
je 0x1000b7b7
cmp eax, ebp
je 0x1000b80f
mov eax, ebp
lock xadd dword [ebx], eax
setne al
test al, al
jne 0x1000b80f
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
add eax, 4
lea esi, [ebx + eax*4]
mov eax, dword [ebx + 8]
add eax, 4
lea eax, [ebx + eax*4]
mov dword [esp + 0x88], eax
cmp eax, esi
je 0x1000b805
mov ebp, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_]
lea ebx, [ebx]
mov edi, dword [esi - 4]
sub esi, 4
test edi, edi
je 0x1000b7fe
mov ecx, edi
call ebp
push edi
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x8c]
add esp, 4
cmp esi, eax
jne 0x1000b7e0
or ebp, 0xffffffff
push ebx
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
add esp, 4
mov esi, dword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QCoreApplication::applicationDirPath_void_]
lea eax, [esp + 0x20]
push eax
call esi
push 0x100724c0
push eax
lea eax, [esp + 0x94]
mov byte [esp + 0x88], 0xe
push eax
call fcn.10003b10
push str.Firewall.dll
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x94], 0xf
push eax
call fcn.10003b10
add esp, 0x1c
lea ecx, [esp + 0x88]
mov byte [esp + 0x7c], 0x11
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 0x12
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [esp + 0x14]
push eax
call fcn.10010c00
add esp, 4
mov ecx, eax
call fcn.10010d90
test al, al
je 0x1000b9b6
push dword [0x1009c3e0]
lea ecx, [esp + 0x20]
call dword [sym.imp.Qt5Network.dll_public:_void___thiscall_QHostAddress::constructor_unsigned_int_]
mov edi, eax
mov ecx, dword [0x1009c3dc]
mov byte [esp + 0x7c], 0x13
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, 1
je 0x1000b909
test edx, edx
je 0x1000b909
test dword [ecx + 8], 0x7fffffff
jne 0x1000b8de
push 2
push 0
push 4
push 4
call dword [sym.imp.Qt5Core.dll_public:_static_struct_QArrayData____cdecl_QArrayData::allocate_unsigned_int__unsigned_int__unsigned_int__class_QFlags_enum_QArrayData::AllocationOption__]
mov ecx, eax
add esp, 0x10
mov dword [0x1009c3dc], ecx
jmp 0x1000b909
push ecx
mov eax, esp
mov dword [eax], 0
mov ecx, dword [0x1009c3dc]
mov eax, dword [ecx + 8]
and eax, 0x7fffffff
push eax
push dword [ecx + 4]
mov ecx, 0x1009c3dc
call fcn.1001bd30
mov ecx, dword [0x1009c3dc]
mov eax, dword [ecx + 0xc]
add eax, ecx
mov ecx, edi
push ebx
push eax
call dword [sym.imp.Qt5Network.dll_public:_unsigned_int___thiscall_QHostAddress::toIPv4Address_void_const]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10010c00
add esp, 4
mov ecx, eax
call fcn.10010f50
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 0x12
call dword [sym.imp.Qt5Network.dll_public:_void___thiscall_QHostAddress::destructor_void_]
lea eax, [esp + 0x28]
push eax
call esi
push 0x100724c0
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0x88], 0x14
push eax
call fcn.10003b10
push str.Firewall.ini
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0x94], 0x15
push eax
call fcn.10003b10
add esp, 0x1c
push eax
mov ecx, 0x1009c3dc
mov byte [esp + 0x80], 0x16
call fcn.1000cd20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 0x15
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 0x14
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x28]
mov byte [esp + 0x7c], 0x12
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [esp + 0x24]
mov ecx, 0x1009c3dc
push eax
call fcn.1000b040
mov esi, eax
lea eax, [esp + 0x28]
mov byte [esp + 0x7c], 0x17
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x70]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
push esi
push str.g_firewallWhiteList_add
mov ecx, eax
mov byte [esp + 0x84], 0x18
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QString_const__]
lea ecx, [esp + 0x28]
mov byte [esp + 0x7c], 0x17
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 0x12
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x14]
mov byte [esp + 0x7c], 9
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x7c], 0xffffffff
mov eax, dword [ebx]
test eax, eax
je 0x1000ba5b
cmp eax, 0xffffffff
je 0x1000ba9a
lock xadd dword [ebx], ebp
dec ebp
setne al
test al, al
jne 0x1000ba9a
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
add esi, 4
add ebp, 4
lea esi, [ebx + esi*4]
lea ebp, [ebx + ebp*4]
cmp ebp, esi
je 0x1000ba90
mov edi, dword [esi - 4]
sub esi, 4
test edi, edi
je 0x1000ba8c
mov ecx, edi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_]
push edi
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp esi, ebp
jne 0x1000ba71
push ebx
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
add esp, 4
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 8