Function at 0x4149f0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1007c
call fcn.004a8730
mov eax, dword [0x4c3790]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push str.Packet_filter_launched_n
mov dword [ebp - 0x10018], eax
mov dword [ebp - 0x10044], ecx
mov dword [ebp - 0x10040], edx
mov dword [ebp - 0x1001c], 0
call fcn.0049817c
mov ebx, dword [sym.imp.KERNEL32.dll_OpenMutexW]
add esp, 4
push str.PACKET_FILTER_832u8u893289894377_STOP
push 0
push 0x100000
call ebx
test eax, eax
jne 0x414d16
push str.PACKET_FILTER_832u8u893289894377_FIREWALL_ON
push 0
push 0x100000
call ebx
mov edi, eax
test edi, edi
je 0x414a96
mov eax, dword [0x4c5c0c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x414a8f
mov ecx, dword [0x4c5c0c]
push ecx
mov byte [0x4c5c10], 1
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.PACKET_FILTER_832u8u893289894377_FILTERS_UPDATE
push 0
push 0x100000
call ebx
test eax, eax
je 0x414ab4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x414cfa
lea edx, [ebp - 0x10020]
push edx
mov edx, dword [ebp - 0x10018]
lea eax, [ebp - 0x10014]
push eax
push 0xffff
lea ecx, [ebp - 0x10008]
push ecx
push edx
call dword [sym.imp.WinDivert.dll_WinDivertRecv]
add esp, 0x14
test eax, eax
jne 0x414af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.warning:_failed_to_read_packet___d__n
jmp 0x414ce9
lea eax, [ebp - 0x1003c]
push eax
lea ecx, [ebp - 0x10038]
push ecx
lea edx, [ebp - 0x10030]
push edx
lea eax, [ebp - 0x10048]
push eax
lea ecx, [ebp - 0x10034]
push ecx
lea edx, [ebp - 0x1004c]
push edx
mov edx, dword [ebp - 0x10020]
lea eax, [ebp - 0x1002c]
push eax
lea ecx, [ebp - 0x10028]
push ecx
push edx
lea eax, [ebp - 0x10008]
push eax
call dword [sym.imp.WinDivert.dll_WinDivertHelperParsePacket]
add esp, 0x28
cmp dword [ebp - 0x10028], 0
jne 0x414b54
cmp dword [ebp - 0x1002c], 0
je 0x414b7e
mov ecx, dword [0x4c5c0c]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x414b7e
mov edx, dword [0x4c5c0c]
mov bl, byte [0x4c5c10]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test bl, bl
jne 0x414ba1
mov ecx, dword [ebp - 0x10020]
push 0
lea eax, [ebp - 0x10014]
push eax
mov eax, dword [ebp - 0x10018]
push ecx
lea edx, [ebp - 0x10008]
push edx
push eax
jmp 0x414cd0
call fcn.0041abb0
test al, al
jne 0x414cfa
mov ecx, dword [ebp - 0x10028]
mov edx, dword [ebp - 0x1002c]
mov eax, dword [ebp - 0x1004c]
mov dword [ebp - 0x1006c], ecx
mov ecx, dword [ebp - 0x10034]
mov dword [ebp - 0x10068], edx
mov edx, dword [ebp - 0x10048]
mov dword [ebp - 0x10064], eax
mov eax, dword [ebp - 0x10030]
mov dword [ebp - 0x10060], ecx
mov ecx, dword [ebp - 0x10038]
mov dword [ebp - 0x1005c], edx
mov edx, dword [ebp - 0x1003c]
xor edi, edi
cmp byte [0x4c7363], 1
mov dword [ebp - 0x10058], eax
mov dword [ebp - 0x10054], ecx
mov dword [ebp - 0x10050], edx
jne 0x414d2e
mov ebx, dword [ebp - 0x10040]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x414c56
mov eax, dword [eax + edi*4]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [ebp - 0x1006c]
push ecx
mov ecx, eax
call edx
test al, al
je 0x414cad
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
sub ecx, eax
inc edi
sar ecx, 2
cmp edi, ecx
jb 0x414c31
call fcn.00413dd0
call fcn.00413dd0
mov edx, dword [0x4c5c0c]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x414cfa
mov eax, dword [0x4c5c0c]
mov bl, byte [0x4c5c12]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test bl, bl
je 0x414cfa
mov edi, dword [ebp - 0x1001c]
call fcn.00498345
test edi, edi
jne 0x414d74
mov dword [ebp - 0x1001c], eax
call fcn.004140e0
jmp 0x414cfa
call fcn.00413dd0
mov edx, dword [ebp - 0x10020]
push 0
lea ecx, [ebp - 0x10014]
push ecx
mov ecx, dword [ebp - 0x10018]
push edx
lea eax, [ebp - 0x10008]
push eax
push ecx
call dword [sym.imp.WinDivert.dll_WinDivertSend]
add esp, 0x14
test eax, eax
jne 0x414cfa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.warning:_failed_to_reinject_packet___d__n
call fcn.004966df
add eax, 0x40
push eax
call fcn.00498239
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_OpenMutexW]
push str.PACKET_FILTER_832u8u893289894377_STOP
push 0
push 0x100000
call ebx
test eax, eax
je 0x414a55
call fcn.00413dd0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00495b13
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x10044]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub edx, eax
sar edx, 2
test edx, edx
je 0x414cb2
mov eax, dword [eax + edi*4]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [ebp - 0x1006c]
push ecx
mov ecx, eax
call edx
test al, al
je 0x414c5b
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
sub ecx, eax
inc edi
sar ecx, 2
cmp edi, ecx
jb 0x414d46
jmp 0x414cb2
sub eax, edi
mov dword [ebp - 0x10024], eax
fild dword [ebp - 0x10024]
fdiv qword [0x4bd180]
fstp qword [ebp - 0x10078]
call fcn.0041ac70
mov dword [ebp - 0x10024], eax
fild dword [ebp - 0x10024]
fcomp qword [ebp - 0x10078]
fnstsw ax
test ah, 0x41
jp 0x414cfa
call fcn.00498345
mov dword [ebp - 0x1001c], eax
call fcn.004140e0
jmp 0x414cfa