Function at 0x478f00
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x630c43
mov eax, dword fs:[0]
push eax
sub esp, 0xce4
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xcb0], edx
mov dword [ebp - 0xc80], ecx
cmp byte [0x6a75e0], 0
je 0x478f9b
lea ecx, [ebp - 0xc8c]
call fcn.00603ba0
mov eax, dword [eax]
test eax, eax
je 0x478f58
mov eax, dword [eax + 0xc]
jmp 0x478f5d
mov eax, 0x651f68
push str._PassThrough
push eax
call fcn.00608430
mov ecx, dword [ebp - 0xc8c]
add esp, 8
test eax, eax
setne byte [0x6b0c1b]
test ecx, ecx
je 0x478f8e
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x478f8e
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0xc80]
mov byte [0x6a75e0], 0
cmp byte [0x6ac246], 0
jne 0x47ad75
cmp byte [0x6b0c1b], 0
jne 0x47ad75
mov esi, dword [0x6ac16c]
xor edi, edi
mov dword [ebp - 0xc54], esi
mov dword [ebp - 0xc50], edi
mov byte [ebp - 0xc4c], 0
mov dword [ebp - 4], 0xb
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b0ff8]
cmp eax, dword [ecx + 4]
jg 0x47b382
mov eax, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ecx, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0xcc4], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xca4], 0
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xcc8], ecx
nop dword [eax]
push 0xffffffffffffffff
push dword [esi]
call eax
cmp eax, 0x80
jne 0x479036
mov dword [esi + 8], 0
jmp 0x47903a
test eax, eax
jne 0x47904a
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
mov ecx, dword [0x6ad5b3]
mov dword [ebp - 0xc5c], ecx
cmp ecx, 0x6ad5b3
jne 0x479068
xor eax, eax
mov dword [ebp - 0xc5c], eax
jmp 0x479085
mov eax, dword [ecx]
mov dword [eax + 4], 0x6ad5b3
mov eax, dword [ecx]
mov dword [0x6ad5b3], eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
test edi, edi
jg 0x47909b
cmp byte [ebp - 0xc4c], 0
jne 0x47909b
cmp dword [0x6ac6c4], 0
jne 0x4790a9
dec edi
mov ecx, esi
mov dword [ebp - 0xc50], edi
call fcn.005e0810
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xc5c]
test ecx, ecx
je 0x4791dd
mov edx, dword [ecx + 8]
lea eax, [ecx + 8]
cmp edx, eax
je 0x4790c9
test edx, edx
jne 0x479142
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x4790e3
mov dword [esi + 8], 0
jmp 0x4790e7
test eax, eax
jne 0x4790f7
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
mov eax, dword [ebp - 0xc5c]
mov ecx, 0x6ad570
push eax
call fcn.00531350
test edi, edi
jg 0x479129
cmp byte [ebp - 0xc4c], 0
jne 0x479129
cmp dword [0x6ac6c4], 0
je 0x479129
mov eax, dword [ebp - 0xc60]
jmp 0x479020
dec edi
mov ecx, esi
mov dword [ebp - 0xc50], edi
call fcn.005e0810
mov eax, dword [ebp - 0xc60]
jmp 0x479020
cmp byte [edx + 0x2f], 1
jne 0x479199
mov edx, ecx
mov ecx, dword [ebp - 0xc80]
call fcn.00499770
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x47916f
mov dword [esi + 8], 0
jmp 0x479173
test eax, eax
jne 0x479183
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
mov eax, dword [ebp - 0xc5c]
mov ecx, 0x6ad570
push eax
call fcn.00531350
jmp 0x479108
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x4791b3
mov dword [esi + 8], 0
jmp 0x4791b7
test eax, eax
jne 0x4791c7
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
mov eax, dword [ebp - 0xc5c]
mov ecx, 0x6ad570
push eax
call fcn.00531350
jmp 0x479108
mov eax, dword [ebp - 0xcb0]
test eax, eax
je 0x479206
cmp dword [ebp - 0xca4], 0
je 0x479206
push 0
push 0
push eax
push 6
call dword [ebp - 0xcc4]
cmp eax, 6
jb 0x47ad65
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x479220
mov dword [esi + 8], 0
jmp 0x479224
test eax, eax
jne 0x479234
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
mov ecx, 0x6ad570
call fcn.005313b0
mov dword [ebp - 0xc94], eax
test edi, edi
jg 0x47925a
cmp byte [ebp - 0xc4c], 0
jne 0x47925a
cmp dword [0x6ac6c4], 0
jne 0x479268
dec edi
mov ecx, esi
mov dword [ebp - 0xc50], edi
call fcn.005e0810
mov edi, dword [ebp - 0xc94]
mov byte [ebp - 4], 0xb
test edi, edi
je 0x47ac87
mov ecx, dword [ebp - 0xc80]
push edi
mov dword [edi + 8], 0xffffffff
call fcn.0046f0b0
lea ecx, [ebp - 0xc54]
test eax, eax
je 0x47ac4e
inc dword [ebp - 0xca4]
call fcn.0041d970
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b0ffc]
cmp eax, dword [ecx + 4]
jg 0x47b3b4
cmp byte [0x6b0c1a], 0
jne 0x4792de
push str.packets:_s_r:__1__2__delta:__3__4_n
mov ecx, 0x6b1050
call fcn.005a5370
mov byte [0x6b0c1a], 1
push 1
push edi
mov ecx, 0x6b1000
call fcn.00470b20
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov esi, dword [edi + 0x14]
cmp esi, 0x5ea
jbe 0x47930d
mov dword [edi + 0x14], 0x5ea
mov esi, 0x5ea
mov dword [edi + 0x10], 0
mov edx, 0x608
movzx eax, word [edi + 0x24]
mov ecx, eax
cmp ax, dx
jne 0x47a06f
cmp esi, 0x2a
jb 0x47a078
mov edx, 0x100
cmp word [edi + 0x26], dx
jne 0x479ffb
cmp word [edi + 0x28], 8
jne 0x479ffb
cmp byte [edi + 0x2a], 6
jne 0x479ffb
cmp byte [edi + 0x2b], 4
jne 0x479ffb
mov eax, dword [edi + 0x2e]
mov esi, dword [edi + 0x34]
mov dword [ebp - 0x28], eax
mov ax, word [edi + 0x32]
mov word [ebp - 0x24], ax
movzx eax, word [edi + 0x2c]
mov ecx, eax
bswap esi
mov dword [ebp - 0xc7c], esi
cmp ax, dx
jne 0x479467
mov esi, dword [edi + 0x3e]
lea ecx, [ebp - 0xc74]
push 1
push 3
bswap esi
call fcn.0042af70
mov edx, edi
lea ecx, [ebp - 0xcc0]
call fcn.00488550
mov byte [ebp - 4], 0x13
test byte [edi + 0xc], 2
jne 0x4793de
mov eax, dword [0x6adab4]
mov dword [ebp - 0xc88], esi
nop
mov dword [ebp - 0xc8c], eax
mov ecx, 0x6ad4b0
push 1
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0xc88]
push eax
call fcn.00408970
test byte [edi + 0xc], 2
lea eax, [ebp - 0xcc0]
push eax
push esi
push dword [ebp - 0xc7c]
lea eax, [edi + 0x1e]
mov ecx, str.Send
push eax
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_arp_request:__:___I_:__I__on__S_n
push 0x6a6e70
call fcn.0042abc0
mov ecx, dword [ebp - 0xcc0]
add esp, 0x1c
test ecx, ecx
je 0x47942e
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x47942e
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0xb
cmp byte [ebp - 0xc64], 0
je 0x47972c
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x47971d
mov eax, 0x200
cmp cx, ax
jne 0x479731
push 0
push 3
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479544
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47950d
cmp byte [0x6ac39e], 0
jne 0x47950d
mov edx, edi
lea ecx, [ebp - 0xcbc]
call fcn.00488550
test byte [edi + 0xc], 2
lea eax, [ebp - 0xcbc]
push eax
lea eax, [edi + 0x1e]
mov ecx, str.Send
push eax
lea eax, [edi + 0x2e]
push eax
push esi
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_arp_responce:__I___:__src_:__on__S_n
push 0x6a6e70
call fcn.0042abc0
mov ecx, dword [ebp - 0xcbc]
add esp, 0x1c
test ecx, ecx
je 0x47950d
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x47950d
push ecx
call fcn.005a47b0
cmp byte [ebp - 0xc64], 0
je 0x479544
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov eax, dword [edi + 0x2e]
mov dword [ebp - 0xcd8], eax
mov ax, word [edi + 0x32]
mov word [ebp - 0xcd4], ax
mov byte [ebp - 4], 0x16
mov esi, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x47957c
mov dword [esi + 8], 0
jmp 0x479580
test eax, eax
jne 0x479589
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
mov ecx, dword [0x6a7114]
cmp ecx, 0x6a7114
je 0x47971d
test ecx, ecx
je 0x47971d
add ecx, 0xfffffffc
mov dword [ebp - 0xc84], ecx
je 0x47971d
mov eax, dword [ebp - 0xc7c]
nop dword [eax + eax]
cmp dword [ecx + 0x24], eax
jne 0x4796a3
mov esi, dword [ecx + 0x28]
lea edx, [ecx + 0x28]
cmp esi, edx
je 0x4796a3
test esi, esi
je 0x4796a3
cmp dword [esi + 0x10610], eax
jne 0x4795eb
test eax, eax
jne 0x4795f9
mov eax, dword [esi]
mov esi, eax
cmp eax, edx
mov eax, dword [ebp - 0xc7c]
jmp 0x4795d1
mov eax, dword [ecx + 0x3a]
push ecx
mov edx, esp
test eax, eax
je 0x479608
lock inc dword [eax]
jmp 0x47960a
xor eax, eax
mov dword [edx], eax
call fcn.00471db0
add esp, 4
mov dword [ebp - 0xc88], eax
test eax, eax
je 0x47963c
cmp dword [eax + 0x26], 0
je 0x47963c
mov eax, dword [esi + 0x10604]
cmp eax, 1
je 0x4796c3
cmp eax, 2
je 0x479709
mov eax, dword [ebp - 0xc84]
mov dword [eax + 0x24], 0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x479654
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
test ecx, ecx
je 0x479660
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
push 0x60e
push dword [esi + 8]
mov dword [esi + 4], 0
mov dword [esi], 0
call fcn.00606a78
push 0x10618
push esi
call fcn.00606a78
mov eax, dword [ebp - 0xc84]
add esp, 0x10
push dword [eax + 0x31]
call dword [ebp - 0xcc8]
mov ecx, dword [ebp - 0xc84]
mov eax, dword [ebp - 0xc7c]
mov ecx, dword [ecx + 4]
cmp ecx, 0x6a7114
je 0x47971d
test ecx, ecx
je 0x47971d
add ecx, 0xfffffffc
mov dword [ebp - 0xc84], ecx
jne 0x4795c0
jmp 0x47971d
lea eax, [ebp - 0xcd8]
lea ecx, [esi + 0xc]
push eax
call fcn.0053a3c0
test al, al
je 0x4796f0
push dword [esi + 0x10608]
mov ecx, dword [ebp - 0xc84]
push dword [ebp - 0xc88]
push esi
call fcn.005878e0
jmp 0x47971d
mov eax, dword [ebp - 0xc84]
mov dword [esi + 0x10604], 2
mov dword [eax + 0x35], 0xffffffff
jmp 0x47970f
mov eax, dword [ebp - 0xc84]
push dword [ebp - 0xc88]
mov ecx, eax
push esi
call fcn.00587680
mov byte [ebp - 4], 0xb
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov edx, 0x100
mov eax, dword [edi + 8]
cmp eax, dword [0x6a6bfc]
jne 0x479a23
test byte [edi + 0xc], 2
jne 0x479a23
cmp word [edi + 0x2c], dx
jne 0x479a23
mov esi, dword [edi + 0x3e]
xor eax, eax
bswap esi
mov dword [ebp - 0xc5c], eax
mov dword [ebp - 0xc84], eax
cmp esi, dword [0x6a6bf4]
jne 0x479805
push eax
push 5
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x4799aa
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x4797c1
cmp byte [0x6ac39e], 0
jne 0x4797c1
push str.Arp_request_for_VPN_dhcp_server_detected_n
push 0x6a6e70
call fcn.0042abc0
add esp, 8
cmp byte [ebp - 0xc64], 0
je 0x4799aa
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x6ac16c]
call fcn.005e0810
jmp 0x4799aa
lea ecx, [ebp - 0xc54]
call fcn.0041d970
cmp esi, dword [0x6ada18]
je 0x479999
push esi
mov ecx, 0x6ada10
call fcn.00521050
test al, al
je 0x4798ba
push 0
push 5
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0xc5c], esi
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479999
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x479885
cmp byte [0x6ac39e], 0
jne 0x479885
push esi
push str.Arp_request_for_VPN_client__I_detected_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0xc
cmp byte [ebp - 0xc64], 0
je 0x479999
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x47998a
lea eax, [ebp - 0xcb8]
mov ecx, 0x6ada10
push eax
push esi
call fcn.00520640
mov eax, dword [ebp - 0xcb8]
cmp eax, 0xffffffff
je 0x479999
cmp eax, dword [0x6ada14]
je 0x479999
lea eax, [ebp - 0xc84]
mov ecx, 0x6ada1c
push eax
lea eax, [ebp - 0xcb8]
push eax
call fcn.00420530
cmp dword [ebp - 0xc84], 0
je 0x479999
push 0
push 5
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0xc5c], esi
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479999
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47995e
cmp byte [0x6ac39e], 0
jne 0x47995e
push esi
push str.Arp_request_for_Bridged_VPN_LAN_Ip__I_detected_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0xc
cmp byte [ebp - 0xc64], 0
je 0x479999
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x6ac16c]
call fcn.005e0810
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov esi, dword [ebp - 0xc5c]
test esi, esi
je 0x479a23
or dword [edi + 0xc], 2
mov eax, 0x200
mov word [edi + 0x2c], ax
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3e], eax
mov eax, esi
bswap eax
mov dword [edi + 0x34], eax
mov eax, dword [edi + 0x2e]
mov dword [edi + 0x38], eax
movzx eax, word [edi + 0x32]
mov word [edi + 0x3c], ax
mov eax, dword [0x6a6bec]
mov dword [edi + 0x2e], eax
mov eax, dword [ebp - 0xc84]
test eax, eax
cmove eax, esi
bswap eax
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x1e]
mov dword [edi + 0x18], eax
movzx eax, word [edi + 0x22]
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x2e]
mov dword [edi + 0x1e], eax
movzx eax, word [edi + 0x32]
mov word [edi + 0x22], ax
mov eax, dword [edi + 0x2e]
mov dword [ebp - 0x28], eax
movzx eax, word [edi + 0x32]
mov word [ebp - 0x24], ax
mov eax, dword [edi + 0x34]
bswap eax
mov dword [ebp - 0xc7c], eax
mov eax, dword [edi + 8]
cmp eax, dword [0x6a6bfc]
jne 0x479c5f
test byte [edi + 0xc], 2
je 0x479c5f
mov eax, 0x100
cmp word [edi + 0x2c], ax
jne 0x479c5f
mov esi, dword [edi + 0x3e]
xor eax, eax
bswap esi
mov dword [ebp - 0xc5c], eax
mov dword [ebp - 0xc88], eax
cmp esi, dword [0x6a6bf4]
je 0x479c5f
lea ecx, [ebp - 0xc54]
call fcn.0041d970
cmp esi, dword [0x6ada18]
je 0x479bfe
push esi
mov ecx, 0x6ada10
call fcn.00521050
test al, al
je 0x479b1f
push 0
push 5
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0xc5c], esi
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479bfe
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x479aea
cmp byte [0x6ac39e], 0
jne 0x479aea
push esi
push str.Arp_request_for_VPN_client__I_detected_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0xc
cmp byte [ebp - 0xc64], 0
je 0x479bfe
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x479bef
lea eax, [ebp - 0xcb4]
mov ecx, 0x6ada10
push eax
push esi
call fcn.00520640
mov eax, dword [ebp - 0xcb4]
cmp eax, 0xffffffff
je 0x479bfe
cmp eax, dword [0x6ada14]
je 0x479bfe
lea eax, [ebp - 0xc88]
mov ecx, 0x6ada1c
push eax
lea eax, [ebp - 0xcb4]
push eax
call fcn.00420530
cmp dword [ebp - 0xc88], 0
je 0x479bfe
push 0
push 5
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0xc5c], esi
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479bfe
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x479bc3
cmp byte [0x6ac39e], 0
jne 0x479bc3
push esi
push str.Arp_request_for_Bridged_VPN_LAN_Ip__I_detected_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0xc
cmp byte [ebp - 0xc64], 0
je 0x479bfe
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x6ac16c]
call fcn.005e0810
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov esi, dword [ebp - 0xc5c]
test esi, esi
je 0x479c5f
lea ecx, [ebp - 0xc54]
call fcn.0041d970
test byte [0x6ad788], 3
jne 0x479c54
mov ecx, dword [0x6a6c1c]
xor edx, edx
mov eax, ecx
div dword [0x6ad780]
mov eax, dword [0x6ad784]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x479c54
cmp dword [eax + 4], ecx
je 0x479d4d
mov eax, dword [eax]
test eax, eax
jne 0x479c45
lea ecx, [ebp - 0xc54]
call fcn.0041d900
movzx eax, word [edi + 0x2c]
mov esi, 0x100
mov ecx, eax
cmp ax, si
jne 0x479c77
mov eax, dword [edi + 0x34]
cmp eax, dword [edi + 0x3e]
je 0x479c85
mov eax, 0x200
cmp cx, ax
jne 0x479ffb
push str.Unknown
lea ecx, [ebp - 0xca8]
call fcn.005a5400
lea ecx, [ebp - 0xc54]
mov byte [ebp - 4], 0x1d
call fcn.0041d970
lea edx, [ebp - 0xca8]
mov ecx, edi
call fcn.00471c30
mov dword [ebp - 0xc8c], eax
test eax, eax
je 0x479f2d
push 0x6ad680
lea ecx, [ebp - 0xc78]
call fcn.004a6f20
nop
cmp dword [ebp - 0xc70], 0
je 0x479f1d
cmp byte [ebp - 0xc64], 0
jne 0x479f1d
mov esi, dword [ebp - 0xc6c]
test esi, esi
je 0x479f1d
mov edx, dword [esi + 8]
mov esi, dword [esi + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc7c]
and eax, edx
and ecx, edx
cmp eax, ecx
jne 0x479dc3
test byte [0x6ad638], 3
jne 0x479dc3
xor edx, edx
mov eax, esi
div dword [0x6ad630]
mov eax, dword [0x6ad634]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x479dc3
nop dword [eax + eax]
cmp dword [eax + 4], esi
je 0x479db8
mov eax, dword [eax]
test eax, eax
jne 0x479d40
jmp 0x479dc3
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x479c54
and dword [edi + 0xc], 0xfffffffd
mov eax, 0x200
mov word [edi + 0x2c], ax
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3e], eax
mov eax, dword [edi + 0x2e]
mov dword [edi + 0x38], eax
movzx eax, word [edi + 0x32]
mov word [edi + 0x3c], ax
bswap esi
mov dword [edi + 0x34], esi
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x2e], eax
movzx eax, word [ecx + 0x1c]
lea ecx, [ebp - 0xc54]
mov word [edi + 0x32], ax
mov eax, dword [edi + 0x1e]
mov dword [edi + 0x18], eax
movzx eax, word [edi + 0x22]
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x2e]
mov dword [edi + 0x1e], eax
movzx eax, word [edi + 0x32]
mov word [edi + 0x22], ax
call fcn.0041d900
jmp 0x479ffb
mov ecx, dword [ebp - 0xc8c]
cmp dword [eax + 8], ecx
je 0x479e0d
lea ecx, [ebp - 0xc78]
call fcn.00408f90
cmp byte [ebp - 0xc64], 0
je 0x479de0
mov byte [ebp - 0xc64], 0
jmp 0x479deb
lea ecx, [ebp - 0xc78]
call fcn.004096c0
lea eax, [ebp - 0xc78]
push eax
lea ecx, [ebp - 0xced]
call fcn.00429640
lea ecx, [ebp - 0xced]
call fcn.004096c0
jmp 0x479cd0
lea ecx, [ebp - 0xc78]
call fcn.004096c0
test byte [edi + 0xc], 2
je 0x479fd6
mov esi, 0x100
cmp word [edi + 0x2c], si
jne 0x479e67
mov eax, dword [edi + 0x34]
cmp eax, dword [edi + 0x3e]
jne 0x479e67
mov eax, dword [ebp - 0xc7c]
mov dword [ebp - 0xc88], eax
mov eax, dword [0x6adab4]
nop
mov dword [ebp - 0xc8c], eax
mov ecx, 0x6ad4b0
push 1
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0xc88]
push eax
call fcn.00408970
mov ecx, dword [ebp - 0xc7c]
lea edx, [ebp - 0x28]
call fcn.00471320
test al, al
je 0x479fd6
push 0
push 2
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479fd6
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x479ee8
cmp byte [0x6ac39e], 0
jne 0x479ee8
cmp word [edi + 0x2c], si
mov ecx, 0x651eaf
mov eax, str.__boot_up_
cmovne eax, ecx
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xc7c]
push str.Added_Arp_entry_for__I___:_s_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x14
cmp byte [ebp - 0xc64], 0
je 0x479fd6
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x479fcb
lea ecx, [ebp - 0xc78]
call fcn.004096c0
mov esi, 0x100
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x479fd6
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x479f9f
cmp byte [0x6ac39e], 0
jne 0x479f9f
cmp word [edi + 0x2c], si
mov ecx, 0x651eaf
mov eax, str.__boot_up_
cmovne eax, ecx
lea ecx, [ebp - 0xca8]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xc7c]
push str.Block_to_add_arp_entry_for__I___:_s_on_interface__S_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x18
cmp byte [ebp - 0xc64], 0
je 0x479fd6
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov ecx, dword [ebp - 0xca8]
test ecx, ecx
je 0x479ffb
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x479ffb
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0xc80]
push 0xffffffffffffffff
push edi
call fcn.0046f150
mov esi, dword [ebp - 0xc54]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x47a029
mov dword [esi + 8], 0
jmp 0x47a02d
test eax, eax
jne 0x47a045
mov edi, dword [ebp - 0xc50]
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc edi
mov dword [ebp - 0xc50], edi
jmp 0x47a04b
mov edi, dword [ebp - 0xc50]
mov ecx, dword [ebp - 0xc94]
mov eax, dword [0x6ad598]
mov dword [ecx], eax
mov dword [ecx + 4], 0x6ad598
mov dword [0x6ad598], ecx
mov eax, dword [ecx]
mov dword [eax + 4], ecx
jmp 0x479108
cmp ecx, 8
je 0x47a40b
mov ah, cl
mov edx, 0x86dd
mov al, ch
movzx eax, ax
mov ecx, eax
cmp ax, dx
jne 0x47a2ba
lea ecx, [ebp - 0xc54]
call fcn.0041d970
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b1058]
cmp eax, dword [ecx + 4]
jg 0x47b413
cmp byte [0x6a6be1], 0
jne 0x47a0d9
push 0
push edi
mov ecx, 0x6b1060
call fcn.00470b20
lea ecx, [ebp - 0xc54]
call fcn.0041d900
jmp 0x47a3e2
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov ecx, dword [edi + 0x14]
add ecx, 0xfffffff2
cmp ecx, 0x28
jl 0x47a289
mov al, byte [edi + 0x26]
and al, 0xf0
cmp al, 0x60
jne 0x47a289
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push edi
mov ecx, 0x6ad570
call fcn.00531ab0
lea ecx, [ebp - 0xc54]
mov edi, eax
call fcn.0041d900
test edi, edi
je 0x47a1f1
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
xor eax, eax
cmp edx, ecx
cmove edx, eax
mov esi, dword [edx + 0x14]
lea eax, [edx + 0x26]
mov dword [ebp - 0xc94], eax
sub esi, 0x36
movzx eax, word [eax + 4]
mov ecx, eax
shl eax, 8
shr ecx, 8
movzx eax, ax
or ecx, eax
lea eax, [edx + 0x26]
mov dl, byte [eax + 6]
mov dword [ebp - 0xc5c], ecx
lea ecx, [eax + 0x28]
jbe 0x47a1ae
nop dword [eax]
cmp esi, 2
jl 0x47a1a8
test dl, dl
je 0x47a188
cmp dl, 0x2b
je 0x47a188
cmp dl, 0x3c
je 0x47a188
cmp dl, 0x33
jne 0x47a1a8
movzx eax, byte [ecx + 1]
mov dl, byte [ecx]
lea eax, [eax*8 + 8]
sub dword [ebp - 0xc5c], eax
sub esi, eax
add ecx, eax
cmp dword [ebp - 0xc5c], 0
jg 0x47a170
mov eax, dword [ebp - 0xc94]
cmp dl, 0x2c
je 0x47a23c
sub ecx, eax
cmp dl, 6
jne 0x47a208
push esi
push ecx
mov ecx, dword [ebp - 0xc80]
mov edx, edi
call fcn.00485100
add esp, 8
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push edi
mov ecx, 0x6ad570
call fcn.00531350
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov edi, dword [ebp - 0xc50]
mov esi, dword [ebp - 0xc54]
mov eax, dword [ebp - 0xc60]
jmp 0x479020
push esi
push ecx
mov ecx, dword [ebp - 0xc80]
cmp dl, 0x11
jne 0x47a21e
mov edx, edi
call fcn.00494710
jmp 0x47a1cd
cmp dl, 0x3a
jne 0x47a22c
mov edx, edi
call fcn.0049d270
jmp 0x47a1cd
movzx eax, dl
mov edx, edi
push eax
call fcn.004a3070
add esp, 0xc
jmp 0x47a1d0
mov al, byte [ecx]
sub esi, 8
add ecx, 8
sub ecx, dword [ebp - 0xc94]
cmp al, 6
je 0x47a1be
mov edx, edi
push esi
push ecx
mov ecx, dword [ebp - 0xc80]
cmp al, 0x11
jne 0x47a26a
call fcn.00494710
jmp 0x47a1cd
cmp al, 0x3a
jne 0x47a278
call fcn.0049d270
jmp 0x47a1cd
movzx eax, al
push eax
call fcn.004a3070
add esp, 0xc
jmp 0x47a1d0
movzx eax, byte [edi + 0x26]
push 6
shr eax, 4
push eax
push 0x28
push ecx
push str.len___d_____d___IP6_HeaderVersion_h6____d_____d___drop_packet_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x18
mov ecx, 0x6b1060
push 0
push edi
call fcn.00470b20
jmp 0x47a3e2
mov eax, 0x8863
cmp cx, ax
je 0x47a311
mov eax, 0x8864
cmp cx, ax
je 0x47a358
lea ecx, [ebp - 0xc54]
call fcn.0041d970
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b1118]
cmp eax, dword [ecx + 4]
jg 0x47b472
mov al, byte [0x6ac244]
mov ecx, 0x6b1120
mov dword [ebp - 0xc5c], eax
mov byte [ebp - 0xc9a], al
jmp 0x47a3b4
movzx eax, word [edi + 0x24]
mov ecx, str.Recv
mov edx, eax
shl eax, 8
movzx eax, ax
shr edx, 8
or edx, eax
test byte [edi + 0xc], 2
push edx
mov eax, str.Send
cmove ecx, eax
lea eax, [edi + 0x18]
push eax
lea eax, [edi + 0x1e]
push eax
push esi
push 0
push ecx
push dword [edi + 0xc]
push dword [edi + 8]
push str.PPPoE_Discovery_Stage_packet_on_adapter__d__status_x___s___flags_x__len_d___:______:__04x_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x28
lea ecx, [ebp - 0xc54]
call fcn.0041d970
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b10b8]
cmp eax, dword [ecx + 4]
jg 0x47b4cd
mov al, byte [0x6a6be2]
mov ecx, dword [0x6a6c28]
mov dword [ebp - 0xc5c], eax
mov byte [ebp - 0xc9a], al
cmp ecx, 0xfffffffc
je 0x47a3af
xor edx, edx
movzx eax, al
cmp dword [edi + 8], ecx
cmovne eax, edx
mov dword [ebp - 0xc5c], eax
mov byte [ebp - 0xc9a], al
mov ecx, 0x6b10c0
push dword [ebp - 0xc9a]
push edi
call fcn.00470b20
lea ecx, [ebp - 0xc54]
call fcn.0041d900
cmp byte [ebp - 0xc5c], 0
je 0x47a3e2
push 0
mov ecx, dword [ebp - 0xc80]
push edi
call fcn.0046f150
lea ecx, [ebp - 0xc54]
call fcn.0041d970
mov eax, dword [0x6ad598]
mov dword [edi], eax
mov dword [edi + 4], 0x6ad598
mov dword [0x6ad598], edi
mov eax, dword [edi]
mov dword [eax + 4], edi
jmp 0x47a1e6
mov cl, byte [edi + 0x26]
mov al, cl
and al, 0xf0
cmp al, 0x40
je 0x47a41a
push 0xffffffffffffffff
jmp 0x47a3d6
movzx eax, cl
and eax, 0xf
shl eax, 2
cmp eax, 0x14
jb 0x47a3e2
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push edi
call fcn.00531510
mov esi, eax
lea ecx, [ebp - 0xc54]
mov dword [ebp - 0xc84], esi
call fcn.0041d900
test esi, esi
je 0x47a1f1
lea ecx, [esi + 8]
mov esi, dword [ecx]
mov dword [ebp - 0xc8c], esi
cmp esi, ecx
je 0x47a1f1
test esi, esi
je 0x47a1f1
test byte [esi + 0xc], 2
lea eax, [esi + 0x18]
mov ecx, dword [esi + 0x36]
mov dword [ebp - 0xc90], eax
mov eax, dword [esi + 0x32]
bswap eax
bswap ecx
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0xc94], ecx
mov dword [ebp - 0xc7c], esi
je 0x47a5a5
test eax, eax
jne 0x47a4f2
cmp byte [esi + 0x2f], 0x11
jne 0x47a4f2
mov ecx, dword [ebp - 0xc84]
push 8
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00532230
mov eax, dword [ebp - 0x20]
mov cx, ax
shr cx, 8
shl eax, 8
or cx, ax
mov eax, dword [ebp - 0x1e]
movzx edx, cx
mov cx, ax
shl eax, 8
shr cx, 8
or cx, ax
movzx eax, cx
cmp edx, 0x43
jne 0x47a6c3
cmp eax, 0x44
je 0x47a6d5
lea ecx, [ebp - 0xc54]
call fcn.0041d970
lea edx, [ebp - 0xc5c]
mov dword [ebp - 0xc5c], 0
mov ecx, esi
call fcn.00471c30
mov ecx, eax
mov eax, dword [esi + 0x32]
bswap eax
push ecx
mov edx, eax
mov dword [ebp - 0xcac], eax
lea ecx, [ebp - 0x18]
call fcn.00471630
add esp, 4
mov dword [ebp - 0xc7c], esi
test al, al
je 0x47a580
mov eax, dword [ebp - 0xc84]
lea edx, [esi + 0x1e]
add eax, 8
mov dword [ebp - 0xccc], esi
push 6
lea ecx, [ebp - 0x18]
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xc7c], esi
call fcn.005a4c60
add esp, 4
test al, al
je 0x47a702
mov edx, dword [ebp - 0xcd0]
mov ecx, esi
mov eax, dword [ecx]
mov ecx, eax
cmp eax, edx
je 0x47a580
test ecx, ecx
jne 0x47a574
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov ecx, dword [ebp - 0xc5c]
test ecx, ecx
je 0x47a5a5
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x47a5a5
push ecx
call fcn.005a47b0
mov ecx, dword [0x6ad608]
xor esi, esi
test ecx, ecx
je 0x47a5e1
mov edx, dword [ecx + 0x2a]
mov eax, edx
not eax
or eax, dword [ecx + 0x26]
cmp dword [ebp - 0xc88], eax
jne 0x47a5cb
cmp edx, 0xffffffff
je 0x47a5cb
or esi, 1
cmp dword [ebp - 0xc94], eax
jne 0x47a5db
cmp edx, 0xffffffff
je 0x47a5db
or esi, 2
mov ecx, dword [ecx]
test ecx, ecx
jne 0x47a5b1
mov ecx, dword [ebp - 0xc7c]
mov edx, 0x6a6c20
push 6
add ecx, 0x18
call fcn.005a4c60
mov ecx, esi
add esp, 4
or ecx, 2
test al, al
cmove ecx, esi
cmp ecx, 3
jne 0x47a805
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47ab9c
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47a672
cmp byte [0x6ac39e], 0
jne 0x47a672
mov eax, dword [ebp - 0xc90]
push eax
add eax, 6
push eax
push dword [ebp - 0xc94]
push dword [ebp - 0xc88]
push str.Source_and_Destination_IP_are_broadcasts:__I____I___:____:__drop_packet_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x18
cmp byte [ebp - 0xc64], 0
je 0x47ab9c
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push dword [ebp - 0xc84]
jmp 0x47a1dc
cmp edx, 0x44
jne 0x47a4f2
cmp eax, 0x43
jne 0x47a4f2
lea ecx, [ebp - 0xc54]
call fcn.0041d970
lea edx, [ebp - 0xc5c]
mov dword [ebp - 0xc5c], 0
mov ecx, esi
call fcn.00471c30
mov dword [ebp - 0xc7c], esi
jmp 0x47a580
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47a7b1
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47a77a
cmp byte [0x6ac39e], 0
jne 0x47a77a
mov ecx, dword [ebp - 0xc8c]
lea edi, [ebp - 0x18]
push edi
push dword [ebp - 0xcac]
lea eax, [esi + 0x18]
movzx esi, byte [esi + 0x2f]
mov edx, dword [ecx + 0x36]
mov ecx, dword [ecx + 0x32]
push eax
add eax, 6
push eax
push esi
bswap edx
push edx
bswap ecx
push ecx
push str.Deny_ip_packet:_static_mac_mismatch:__I____I__proto_d___:___:___static_record_for__I_is__:_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x24
cmp byte [ebp - 0xc64], 0
je 0x47a7b1
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
push dword [ebp - 0xc84]
mov ecx, 0x6ad570
call fcn.00531350
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov ecx, dword [ebp - 0xc5c]
test ecx, ecx
je 0x47a1f1
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x47a1f1
push ecx
call fcn.005a47b0
mov edi, dword [ebp - 0xc50]
mov esi, dword [ebp - 0xc54]
mov eax, dword [ebp - 0xc60]
jmp 0x479020
mov ecx, dword [ebp - 0xc8c]
mov byte [ebp - 0xc55], 0
mov eax, dword [ecx + 0x32]
bswap eax
mov dword [ebp - 0xc90], eax
mov eax, dword [ecx + 0x36]
bswap eax
mov dword [ebp - 0xc88], eax
mov eax, dword [ecx + 8]
cmp eax, dword [0x6a6bfc]
jne 0x47abb2
push 0xffffffffffffffff
push dword [0x6a705c]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x47a850
xor eax, eax
jmp 0x47a859
test eax, eax
jne 0x47a86b
mov eax, dword [0x6a7064]
inc dword [0x6a7068]
inc eax
inc dword [0x6a7060]
mov dword [0x6a7064], eax
mov esi, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0xc60]
cmp eax, 0x80
jne 0x47a88b
mov dword [esi + 8], 0
jmp 0x47a88f
test eax, eax
jne 0x47a898
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
mov esi, dword [0x6ac5f8]
test esi, esi
je 0x47ab7a
mov eax, dword [esi + 0x301]
test eax, eax
je 0x47ab7a
cmp dword [eax + 0x3ea], 0
je 0x47ab7a
test byte [0x6ad788], 3
jne 0x47a934
mov ecx, dword [0x6a6c1c]
xor edx, edx
mov eax, ecx
div dword [0x6ad780]
mov eax, dword [0x6ad784]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x47a934
cmp dword [eax + 4], ecx
je 0x47a8f3
mov eax, dword [eax]
test eax, eax
jne 0x47a8e6
jmp 0x47a934
mov edx, dword [eax + 8]
test edx, edx
je 0x47a934
mov ecx, dword [ebp - 0xc7c]
add edx, 0x18
push 6
lea ecx, [ecx + 0x1e]
call fcn.005a4c60
add esp, 4
test al, al
je 0x47a934
mov ecx, dword [ebp - 0xc7c]
mov edx, 0x6a6c20
push 6
lea ecx, [ecx + 0x18]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x47ab7a
mov eax, dword [esi + 0x301]
mov esi, dword [ebp - 0xc90]
mov ecx, dword [eax + 0x3ea]
cmp esi, dword [ecx + 0x10]
jne 0x47a9ed
mov eax, dword [ebp - 0xc7c]
test byte [eax + 0xc], 2
je 0x47ab7a
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47a9b1
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47a9b1
cmp byte [0x6ac39e], 0
jne 0x47a9b1
push dword [ebp - 0xc88]
push esi
push str.Blocked_received_open_text_IP_packet_with_source_IP_I__VPN_Firewall_IP___DestIp_I_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47ab7a
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x47ab6f
lea eax, [ebp - 0xc90]
mov dword [ebp - 0xc90], esi
sub ecx, 0xffffff80
push eax
call fcn.00428b80
test eax, eax
jne 0x47aa97
push eax
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47aa5b
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47aa5b
cmp byte [0x6ac39e], 0
jne 0x47aa5b
push dword [ebp - 0xc88]
push esi
push str.Blocked_received_sent_open_text_IP_packet_with_source_IP_I__Some_VPN_client_IP___DestIp_I_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47ab7a
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x47ab6f
mov eax, dword [0x6ac5f8]
lea ecx, [ebp - 0xca0]
push ecx
push esi
mov eax, dword [eax + 0x301]
mov ecx, dword [eax + 0x3ea]
call fcn.005206d0
mov ecx, dword [ebp - 0xca0]
cmp ecx, 0xffffffff
je 0x47ab7a
mov eax, dword [0x6ac5f8]
mov eax, dword [eax + 0x301]
mov eax, dword [eax + 0x3ea]
cmp ecx, dword [eax + 8]
jne 0x47aaea
mov eax, dword [ebp - 0xc7c]
test byte [eax + 0xc], 2
jne 0x47ab7a
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47ab3c
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47ab3c
cmp byte [0x6ac39e], 0
jne 0x47ab3c
push dword [ebp - 0xc88]
push esi
push str.Blocked_received_sent_open_text_IP_packet_with_source_IP_I__Some_Bridged_VPN_LAN_IP___DestIp_I_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47ab7a
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov byte [ebp - 4], 0xb
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov ecx, 0x6a705c
call fcn.005e0810
cmp byte [ebp - 0xc55], 0
je 0x47abb2
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push dword [ebp - 0xc84]
jmp 0x47a1dc
mov al, byte [edi + 0x2f]
mov esi, dword [ebp - 0xc84]
mov edx, esi
mov ecx, dword [ebp - 0xc80]
cmp al, 6
jne 0x47abdd
call fcn.0047e8a0
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push esi
jmp 0x47a1dc
cmp al, 0x11
jne 0x47abf7
call fcn.0048f460
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push esi
jmp 0x47a1dc
cmp al, 1
jne 0x47ac11
call fcn.00499770
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push esi
jmp 0x47a1dc
call fcn.004a09f0
lea ecx, [ebp - 0xc54]
call fcn.0041d970
push esi
mov ecx, 0x6ad570
call fcn.00531350
lea ecx, [ebp - 0xc54]
call fcn.0041d900
mov edi, dword [ebp - 0xc50]
mov esi, dword [ebp - 0xc54]
mov eax, dword [ebp - 0xc60]
jmp 0x479020
call fcn.0041d970
mov eax, dword [0x6ad598]
lea ecx, [ebp - 0xc54]
mov dword [edi], eax
mov dword [edi + 4], 0x6ad598
mov dword [0x6ad598], edi
mov eax, dword [edi]
mov dword [eax + 4], edi
call fcn.0041d900
lea ecx, [ebp - 0xc54]
call fcn.0041d9b0
jmp 0x47b365
push str.impossible:_no_free_packets_n
push 0x6a6e70
call fcn.0042abc0
add esp, 8
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0xffffffff
nop word [eax + eax]
mov ecx, dword [ebp - 0xc80]
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0x638]
mov dword [ebp - 0xc8c], 0
push eax
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x62c], 0x12340000
call fcn.0046eeb0
test eax, eax
je 0x47ad5e
and dword [ebp - 0x62c], 0xffff00ff
mov esi, dword [ebp - 0xc8c]
cmp esi, 4
jbe 0x47ad65
cmp esi, 0x5fa
jbe 0x47acc0
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
lea ecx, [ebp - 0xc74]
call fcn.0042b180
test al, al
je 0x47ad4e
push 0x5fa
push esi
push str.GetPacket__:_SizeRet___d____d_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
lea ecx, [ebp - 0xc74]
call fcn.0042b120
jmp 0x47acc0
add dword [0x6b0b6c], 3
lea ecx, [ebp - 0xc54]
call fcn.0041d9b0
jmp 0x47b365
mov dword [ebp - 0xc48], 0
mov dword [ebp - 0xc44], 0
mov dword [ebp - 0xc40], 0xffffffff
lea eax, [ebp - 0xc8c]
mov dword [ebp - 0xc8c], 0
push eax
lea eax, [ebp - 0xc48]
mov dword [ebp - 0xc34], 0
push eax
mov edi, 0x6af2b8
mov dword [ebp - 0xc3c], 0x12340000
call fcn.0046eeb0
test eax, eax
je 0x47b35e
and dword [ebp - 0xc3c], 0xffff00ff
mov esi, dword [ebp - 0xc8c]
cmp esi, 4
jbe 0x47b365
cmp esi, 0x5fa
jbe 0x47ae33
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
lea ecx, [ebp - 0xc74]
call fcn.0042b180
test al, al
je 0x47ae28
push 0x5fa
push esi
push str.GetPacket__:_SizeRet___d____d_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
lea ecx, [ebp - 0xc74]
call fcn.0042b120
cmp word [ebp - 0xc24], 8
mov byte [ebp - 0xc55], 0
jne 0x47b258
cmp byte [0x6ac245], 0
je 0x47b258
cmp byte [ebp - 0xc19], 0x11
jne 0x47af58
mov ecx, dword [ebp - 0xc16]
mov esi, ecx
mov eax, ecx
and esi, 0xff0000
shr eax, 0x10
or esi, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr esi, 8
mov ecx, dword [ebp - 0xc12]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or esi, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
cmp esi, edx
jne 0x47b258
push 0
push 8
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47af1f
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47af1f
cmp byte [0x6ac39e], 0
jne 0x47af1f
test byte [ebp - 0xc3c], 2
mov ecx, str.Send
push esi
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_udp:_k.IPs__k.IPd_error___I__n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47af58
mov eax, dword [ebp - 0xc74]
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [edi], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
cmp byte [ebp - 0xc19], 6
jne 0x47b05b
mov ecx, dword [ebp - 0xc16]
mov esi, ecx
mov eax, ecx
and esi, 0xff0000
shr eax, 0x10
or esi, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr esi, 8
mov ecx, dword [ebp - 0xc12]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or esi, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
cmp esi, edx
jne 0x47b258
push 0
push 1
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47b022
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47b022
cmp byte [0x6ac39e], 0
jne 0x47b022
test byte [ebp - 0xc3c], 2
mov ecx, str.Send
push esi
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_tcp:_k.IPs__k.IPd_error___I__n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47b05b
mov eax, dword [ebp - 0xc74]
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [edi], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
cmp byte [ebp - 0xc19], 1
jne 0x47b258
mov ecx, dword [ebp - 0xc16]
mov esi, ecx
mov eax, ecx
and esi, 0xff0000
shr eax, 0x10
or esi, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr esi, 8
mov ecx, dword [ebp - 0xc12]
mov edi, ecx
shl eax, 8
and edi, 0xff0000
or esi, eax
mov eax, ecx
shr eax, 0x10
or edi, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edi, 8
shl eax, 8
or edi, eax
movzx eax, byte [ebp - 0xc22]
and eax, 0xf
mov cl, byte [ebp + eax*4 - 0xc22]
mov al, byte [ebp + eax*4 - 0xc21]
mov byte [ebp - 0xc96], cl
mov byte [ebp - 0xc95], al
cmp esi, edi
jne 0x47b185
push 0
push 0xa
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47b149
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47b149
cmp byte [0x6ac39e], 0
jne 0x47b149
test byte [ebp - 0xc3c], 2
mov ecx, str.Send
push esi
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_icmp:_k.IPs__k.IPd_error___I__n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47b258
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
jmp 0x47b24d
cmp cl, 3
je 0x47b258
cmp cl, 8
je 0x47b258
test cl, cl
je 0x47b258
cmp cl, 0xb
je 0x47b258
push 0
push 3
lea ecx, [ebp - 0xc74]
call fcn.0042af70
cmp byte [ebp - 0xc64], 0
je 0x47b21a
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0xc68]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x47b21a
cmp byte [0x6ac39e], 0
jne 0x47b21a
movzx eax, byte [ebp - 0xc95]
mov ecx, str.Send
test byte [ebp - 0xc3c], 2
push eax
movzx eax, byte [ebp - 0xc96]
push edi
push eax
push esi
mov eax, str.Recv
cmove eax, ecx
push eax
push str._s_icmp:_skipping___I:_d______I:_d__n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x1c
cmp byte [ebp - 0xc64], 0
mov byte [ebp - 0xc55], 1
je 0x47b258
mov eax, dword [ebp - 0xc74]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0xc70]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0xc6c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov esi, dword [0x6ac16c]
xor edi, edi
mov dword [ebp - 0xc54], esi
mov dword [ebp - 0xc50], edi
mov byte [ebp - 0xc4c], 0
push 0xffffffffffffffff
mov dword [ebp - 4], 5
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x80
jne 0x47b290
mov dword [esi + 8], edi
jmp 0x47b294
test eax, eax
jne 0x47b2a8
inc dword [esi + 0xc]
mov edi, 1
inc dword [esi + 8]
inc dword [esi + 4]
mov dword [ebp - 0xc50], edi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b0f90]
cmp eax, dword [ecx + 4]
jg 0x47b528
cmp byte [ebp - 0xc55], 0
mov ecx, 0x6b0fa0
sete al
movzx eax, al
push eax
lea eax, [ebp - 0xc48]
push eax
call fcn.00470b20
test edi, edi
jg 0x47b2ed
cmp dword [0x6ac6c4], 0
jne 0x47b2fb
dec edi
mov ecx, esi
mov dword [ebp - 0xc50], edi
call fcn.005e0810
cmp byte [ebp - 0xc55], 0
mov byte [ebp - 4], 5
jne 0x47b31c
mov ecx, dword [ebp - 0xc80]
lea eax, [ebp - 0xc48]
push 0
push eax
call fcn.0046f150
push 0
push 0
push dword [ebp - 0xcb0]
mov dword [ebp - 0xc40], 0xffffffff
push 6
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
lea ecx, [ebp - 0xc54]
cmp eax, 6
jb 0x47ad6b
mov dword [ebp - 4], 0xffffffff
call fcn.0041d9b0
mov ecx, dword [ebp - 0xc80]
jmp 0x47ad93
add dword [0x6b0b6c], 3
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
ret
push 0x6b0ff8
call fcn.00606e68
add esp, 4
cmp dword [0x6b0ff8], 0xffffffff
jne 0x478ff0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x6b0ff8
call fcn.00606e17
add esp, 4
jmp 0x478ff0
push 0x6b0ffc
call fcn.00606e68
add esp, 4
cmp dword [0x6b0ffc], 0xffffffff
jne 0x4792bf
push 0xea60
push 0xea60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x11
push 0x651eaf
call fcn.005a5400
mov ecx, 0x6b1000
call fcn.00470a10
push 0x648da0
call fcn.00606dd7
push 0x6b0ffc
mov byte [ebp - 4], 0xb
call fcn.00606e17
add esp, 8
jmp 0x4792bf
push 0x6b1058
call fcn.00606e68
add esp, 4
cmp dword [0x6b1058], 0xffffffff
jne 0x47a0b3
push 0xea60
push 0xea60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x21
push str.IPv6
call fcn.005a5400
mov ecx, 0x6b1060
call fcn.00470a10
push 0x648d50
call fcn.00606dd7
push 0x6b1058
mov byte [ebp - 4], 0xb
call fcn.00606e17
add esp, 8
jmp 0x47a0b3
push 0x6b1118
call fcn.00606e68
add esp, 4
cmp dword [0x6b1118], 0xffffffff
jne 0x47a2f6
push 0xea60
push 0xea60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x23
push str.other_Ethernet_frames
call fcn.005a5400
mov ecx, 0x6b1120
call fcn.00470a10
push 0x648cb0
call fcn.00606dd7
push 0x6b1118
call fcn.00606e17
add esp, 8
jmp 0x47a2f6
push 0x6b10b8
call fcn.00606e68
add esp, 4
cmp dword [0x6b10b8], 0xffffffff
jne 0x47a37c
push 0xea60
push 0xea60
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x22
push str.PPPoE
call fcn.005a5400
mov ecx, 0x6b10c0
call fcn.00470a10
push 0x648d00
call fcn.00606dd7
push 0x6b10b8
call fcn.00606e17
add esp, 8
jmp 0x47a37c
push 0x6b0f90
call fcn.00606e68
add esp, 4
cmp dword [0x6b0f90], 0xffffffff
jne 0x47b2c1
mov byte [ebp - 4], 6
call fcn.005a45d0
mov dword [ebp - 0xca0], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x47b57f
push str._firewall_disabled_mode_
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0xc5c], eax
test eax, eax
je 0x47b58b
cmp dword [eax + 0xc], 0
jne 0x47b58b
push ecx
mov ecx, eax
call fcn.005a47b0
jmp 0x47b57f
mov dword [ebp - 0xc5c], 0
jmp 0x47b58b
push fcn.004250c0
push fcn.00406030
push 2
push 4
push 0x6b0ff0
mov byte [ebp - 4], 8
call fcn.00606f18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm0, xmm0
mov dword [0x6b0fa4], eax
mov dword [0x6b0fa0], eax
movlpd qword [0x6b0fa8], xmm0
mov eax, dword [0x6b0fac]
mov ecx, dword [0x6b0fa8]
mov dword [0x6b0fb4], eax
mov dword [0x6b0fbc], eax
mov dword [0x6b0fc4], eax
mov dword [0x6b0fcc], eax
mov dword [0x6b0fd4], eax
mov dword [0x6b0fdc], eax
mov dword [0x6b0fe4], eax
lea eax, [ebp - 0xc5c]
push eax
push str.Processing__Spackets:_s_r:___1___2__delta:___3___4_n
push 0x6b0ff0
mov dword [0x6b0fb0], ecx
mov dword [0x6b0fb8], ecx
mov dword [0x6b0fc0], ecx
mov dword [0x6b0fc8], ecx
mov dword [0x6b0fd0], ecx
mov dword [0x6b0fd8], ecx
mov dword [0x6b0fe0], ecx
mov dword [0x6b0fe8], 0xea60
mov dword [0x6b0fec], 0xea60
call fcn.005abfb0
lea eax, [ebp - 0xc5c]
push eax
push str.Blocked__Spackets:_s_r:___1___2__delta:___3___4_n
push 0x6b0ff4
call fcn.005abfb0
mov ecx, dword [ebp - 0xc5c]
add esp, 0x18
test ecx, ecx
je 0x47b679
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x47b679
push ecx
call fcn.005a47b0
jmp 0x47b679
push 0x648df0
call fcn.00606dd7
push 0x6b0f90
call fcn.00606e17
add esp, 8
jmp 0x47b2c1