Function at 0x40b6f0
Capabilities:
Create thread
Terminate thread

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0x10]
xor ebx, ebx
push esi
cmp ebp, ebx
push edi
jne 0x40b7f6
mov eax, dword [0x42941c]
mov esi, dword [sym.imp.USER32.dll_DeleteMenu]
cmp eax, ebx
jne 0x40b72e
mov eax, dword [0x428cc8]
push ebx
push 0x143
push eax
call esi
mov ecx, dword [0x428cc8]
push ebx
push 0x38f
push ecx
call esi
mov ecx, 0x10
xor eax, eax
mov edi, 0x4229d0
rep stosd dword es:[edi], eax
mov ecx, 0x8c
mov edi, 0x4226e0
rep stosd dword es:[edi], eax
test dword [0x42874c], 0x80000
jne 0x40b785
mov edx, dword [0x428cc8]
push ebx
push 0x13e
push edx
call esi
mov eax, dword [0x428cc8]
push ebx
push 0x38e
push eax
call esi
mov ecx, dword [0x428cd4]
push ecx
call dword [sym.imp.USER32.dll_DrawMenuBar]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
push 0x100000
call dword [sym.imp.MSVCRT.dll_malloc]
mov edx, dword [0x428cc8]
add esp, 4
mov dword [0x42942c], eax
push ebx
push 0x130
push edx
call esi
mov eax, dword [0x428cc8]
push ebx
push 0x13a
push eax
call esi
mov ecx, dword [0x428cd4]
push ecx
call dword [sym.imp.USER32.dll_DrawMenuBar]
cmp dword [0x429370], ebx
je 0x40b9b0
call sub.packet.dll_PacketAllocatePacket
mov dword [0x429534], eax
call sub.packet.dll_PacketAllocatePacket
cmp eax, ebx
mov dword [0x429530], eax
je 0x40b99e
cmp dword [0x429534], ebx
je 0x40b995
mov eax, dword [0x429528]
mov esi, dword [sym.imp.KERNEL32.DLL_TerminateThread]
cmp eax, ebx
mov dword [0x429564], ebx
je 0x40b816
push 1
push eax
call esi
mov dword [0x429528], ebx
mov eax, dword [0x429538]
cmp eax, ebx
je 0x40b82a
push 1
push eax
call esi
mov dword [0x429538], ebx
mov eax, dword [0x42952c]
cmp eax, ebx
je 0x40b842
push eax
call sub.packet.dll_PacketCloseAdapter
add esp, 4
mov dword [0x42952c], ebx
push 3
push str.SOFTWAREDRCOMCLIENT
push reloc.OLEAUT32.dll_SysReAllocString
push 0x230
push 0x4226e0
push str.DesAdapterName
call fcn.00408c00
add esp, 0x18
test al, al
jne 0x40b870
mov word [0x4226e0], bx
mov edi, 0x4226e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40b893
push 0x4226e0
call sub.packet.dll_PacketOpenAdapter
add esp, 4
mov dword [0x42952c], eax
cmp dword [0x42952c], ebx
jne 0x40b8cf
cmp ebp, ebx
push ebx
push ebx
jne 0x40b8b8
push ebx
call fcn.0040ca50
add esp, 0xc
test eax, eax
je 0x40b8cf
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
ret
push str.Error_opening_adapter
call fcn.00409af0
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, dword [0x42952c]
push 0x86
push eax
call sub.packet.dll_PacketSetHwFilter
add esp, 8
test al, al
jne 0x40b917
mov ecx, dword [0x42952c]
push 0x82
push ecx
call sub.packet.dll_PacketSetHwFilter
add esp, 8
test al, al
jne 0x40b917
push ebx
push ebx
push str.Unable_to_PacketSetHwFilter_
call fcn.00409af0
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
ret
mov edx, dword [0x42952c]
push 0x80000
push edx
call sub.packet.dll_PacketSetBuff
add esp, 8
test al, al
jne 0x40b948
push ebx
push ebx
push str.Unable_to_PacketSetBuff_
call fcn.00409af0
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
ret
lea eax, [esp + 0x18]
push eax
push ebx
push 1
push 0x40b590
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp eax, ebx
mov dword [0x429538], eax
jne 0x40b77e
mov ecx, dword [0x42952c]
push ecx
call sub.packet.dll_PacketCloseAdapter
push ebx
push ebx
push str.Error_launching_the_capture_thread
mov dword [0x42952c], ebx
call fcn.00409af0
add esp, 0x10
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
ret
push eax
call sub.packet.dll_PacketFreePacket
add esp, 4
mov eax, dword [0x429534]
cmp eax, ebx
je 0x40b9b0
push eax
call sub.packet.dll_PacketFreePacket
add esp, 4
mov edx, dword [esp + 0x14]
push 0x30
push 0x41ee48
push 0x41ee20
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
ret