Function at 0x140063170
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rcx, [0x1401a5704]
call fcn.14006b9e0
lea rax, [0x14009e960]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
and eax, 0xfffffffd
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 4
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
lea rcx, str.NPcapPacket.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x1400631dd
lea rcx, str.Packet.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x140063298
mov rax, qword [rbp + 8]
mov eax, dword [rax]
shr eax, 2
and eax, 1
test eax, eax
je 0x140063298
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
cmp dword [rbp + 0x114], 0x7e
je 0x140063213
jmp 0x140063258
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea r8, str.Packet.dll
lea rdx, str._s:_not_found_n
mov rcx, rax
call fcn.140001b10
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.__HINT:_you_must_install_either_WinPcap_or_Npcap_n
mov rcx, rax
call fcn.140001b10
mov eax, 0xffffffff
jmp 0x140063bc9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x114]
mov r9d, ecx
lea r8, str.Packet.dll
lea rdx, str._s:_couldnt_load__d_n
mov rcx, rax
call fcn.140001b10
mov eax, 0xffffffff
jmp 0x140063bc9
lea rcx, str.Npcapwpcap.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
jne 0x1400632c1
lea rcx, str.wpcap.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
jne 0x140063318
mov rax, qword [rbp + 8]
mov eax, dword [rax]
shr eax, 2
and eax, 1
test eax, eax
je 0x14006330e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0x114]
mov r9d, ecx
lea r8, str.wpcap.dll
lea rdx, str._s:_couldnt_load__d_n
mov rcx, rax
call fcn.140001b10
mov eax, 0xffffffff
jmp 0x140063bc9
lea rdx, str.pcap_close
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x10], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x10], 0
jne 0x14006335a
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062800]
mov qword [rax + 0x10], rcx
lea rdx, str.pcap_datalink
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x18], 0
jne 0x14006339c
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062930]
mov qword [rax + 0x18], rcx
lea rdx, str.pcap_dispatch
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x20], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x20], 0
jne 0x1400633de
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062a70]
mov qword [rax + 0x20], rcx
lea rdx, str.pcap_findalldevs
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x28], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x28], 0
jne 0x140063420
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062ae0]
mov qword [rax + 0x28], rcx
lea rdx, str.pcap_freealldevs
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x30], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x30], 0
jne 0x140063462
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062b40]
mov qword [rax + 0x30], rcx
lea rdx, str.pcap_lib_version
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x40], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x40], 0
jne 0x1400634a4
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062bc0]
mov qword [rax + 0x40], rcx
lea rdx, str.pcap_lookupdev
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x38], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x38], 0
jne 0x1400634e6
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062bf0]
mov qword [rax + 0x38], rcx
lea rdx, str.pcap_major_version
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x48], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x48], 0
jne 0x140063528
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062c40]
mov qword [rax + 0x48], rcx
lea rdx, str.pcap_minor_version
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x50], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x50], 0
jne 0x14006356a
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062c80]
mov qword [rax + 0x50], rcx
lea rdx, str.pcap_open_live
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x58], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x58], 0
jne 0x1400635ac
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062d10]
mov qword [rax + 0x58], rcx
lea rdx, str.pcap_open_offline
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x60], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x60], 0
jne 0x1400635ee
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062d90]
mov qword [rax + 0x60], rcx
lea rdx, str.pcap_sendpacket
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x68], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x68], 0
jne 0x140063630
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062e50]
mov qword [rax + 0x68], rcx
lea rdx, str.pcap_next
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x70], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x70], 0
jne 0x140063672
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062cc0]
mov qword [rax + 0x70], rcx
lea rdx, str.pcap_setdirection
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x78], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x78], 0
jne 0x1400636b4
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140063000]
mov qword [rax + 0x78], rcx
lea rdx, str.pcap_datalink_val_to_name
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x80], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x80], 0
jne 0x1400636ff
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062970]
mov qword [rax + 0x80], rcx
lea rdx, str.pcap_perror
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x88], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x88], 0
jne 0x14006374a
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062de0]
mov qword [rax + 0x88], rcx
lea rdx, str.pcap_geterr
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x90], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x90], 0
jne 0x140063795
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062b80]
mov qword [rax + 0x90], rcx
mov rax, qword [rbp + 8]
lea rcx, [0x1400629f0]
mov qword [rax + 0x98], rcx
mov rax, qword [rbp + 8]
lea rcx, [0x1400629b0]
mov qword [rax + 0xa0], rcx
mov rax, qword [rbp + 8]
lea rcx, [0x140062a30]
mov qword [rax + 0xa8], rcx
lea rdx, str.pcap_sendqueue_alloc
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xb0], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xb0], 0
jne 0x140063816
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062eb0]
mov qword [rax + 0xb0], rcx
lea rdx, str.pcap_sendqueue_transmit
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xb8], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xb8], 0
jne 0x140063861
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062fa0]
mov qword [rax + 0xb8], rcx
lea rdx, str.pcap_sendqueue_destroy
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xc0], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xc0], 0
jne 0x1400638ac
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062ef0]
mov qword [rax + 0xc0], rcx
lea rdx, str.pcap_sendqueue_queue
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xc8], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xc8], 0
jne 0x1400638f7
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062f40]
mov qword [rax + 0xc8], rcx
lea rdx, str.pcap_create
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xd0], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xd0], 0
jne 0x140063942
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140062900]
mov qword [rax + 0xd0], rcx
lea rdx, str.pcap_set_snaplen
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xd8], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xd8], 0
jne 0x14006398d
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140063110]
mov qword [rax + 0xd8], rcx
lea rdx, str.pcap_set_promisc
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xe0], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xe0], 0
jne 0x1400639d8
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x1400630b0]
mov qword [rax + 0xe0], rcx
lea rdx, str.pcap_set_timeout
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xe8], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xe8], 0
jne 0x140063a23
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140063140]
mov qword [rax + 0xe8], rcx
lea rdx, str.pcap_set_immediate_mode
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xf0], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xf0], 0
jne 0x140063a6e
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140063080]
mov qword [rax + 0xf0], rcx
lea rdx, str.pcap_set_buffer_size
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0xf8], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0xf8], 0
jne 0x140063ab9
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x140063050]
mov qword [rax + 0xf8], rcx
lea rdx, str.pcap_set_rfmon
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x100], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x100], 0
jne 0x140063b04
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x1400630e0]
mov qword [rax + 0x100], rcx
lea rdx, str.pcap_can_set_rfmon
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x108], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x108], 0
jne 0x140063b4f
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x1400628d0]
mov qword [rax + 0x108], rcx
lea rdx, str.pcap_activate
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x110], rax
mov rax, qword [rbp + 8]
cmp qword [rax + 0x110], 0
jne 0x140063b9a
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 1
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov rax, qword [rbp + 8]
lea rcx, [0x1400628a0]
mov qword [rax + 0x110], rcx
mov rax, qword [rbp + 8]
mov eax, dword [rax]
and eax, 1
test eax, eax
jne 0x140063bb8
mov rax, qword [rbp + 8]
mov eax, dword [rax]
or eax, 2
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
jmp 0x140063bc7
mov rax, qword [rbp + 8]
mov eax, dword [rax]
and eax, 0xfffffffd
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
xor eax, eax
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret