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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x630f8e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x60
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], 0
mov esi, dword [0x6ac680]
mov dword [ebp - 0x58], 0
mov eax, dword [esi + 0xc47e98]
sub eax, dword [esi + 0xc47e94]
cdq
sub eax, edx
sar eax, 1
cmp dword [esi + 0xc47e9c], eax
jl 0x4826e5
mov esi, dword [0x6a70c0]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp esi, 0x6a70c0
je 0x482665
test esi, esi
je 0x482665
cmp eax, 2
jge 0x482662
mov edx, dword [esi]
xor edi, edi
cmp edx, 0x6a70c0
mov ecx, edx
cmove ecx, edi
mov dword [ebp - 0x1c], ecx
cmp dword [esi + 0x4e4], edi
je 0x482658
mov eax, dword [esi + 4]
test eax, eax
je 0x4825d3
mov dword [eax], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x4825df
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov dword [esi + 4], edi
mov dword [esi], edi
cmp dword [esi + 0x4ec], edi
jne 0x482641
cmp dword [esi + 0x4e8], edi
jne 0x482641
mov eax, dword [0x6ac680]
test byte [eax + 0xc48064], 3
jne 0x482641
mov edi, dword [0x6ac680]
xor edx, edx
mov ecx, dword [esi + 0x4e4]
mov eax, ecx
div dword [edi + 0xc4805c]
mov eax, dword [edi + 0xc48060]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x482641
cmp dword [eax + 4], ecx
je 0x482634
mov eax, dword [eax]
test eax, eax
jne 0x482627
jmp 0x482641
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x482641
push esi
call fcn.005903f0
push 1
mov ecx, esi
call fcn.0056a860
mov ecx, dword [ebp - 0x1c]
test al, al
mov eax, dword [ebp - 0x20]
je 0x482658
inc eax
mov dword [ebp - 0x20], eax
mov esi, ecx
test ecx, ecx
jne 0x4825a3
mov edi, dword [ebp - 0x38]
mov esi, dword [0x6a70cc]
cmp esi, 0x6a70cc
je 0x4826e5
test esi, esi
je 0x4826e5
cmp eax, 2
jge 0x4826e5
mov edx, dword [esi]
mov ecx, edx
cmp edx, 0x6a70cc
mov dword [ebp - 0x40], 0
cmove ecx, dword [ebp - 0x40]
cmp dword [esi + 0x4e4], 0
mov dword [ebp - 0x1c], ecx
je 0x4826df
mov eax, dword [esi + 4]
test eax, eax
je 0x4826a6
mov dword [eax], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x4826b2
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
push 3
mov ecx, esi
mov dword [esi + 4], 0
mov dword [esi], 0
call fcn.0056ae50
push 1
mov ecx, esi
call fcn.0056a860
mov ecx, dword [ebp - 0x1c]
test al, al
mov eax, dword [ebp - 0x20]
je 0x4826df
inc eax
mov dword [ebp - 0x20], eax
mov esi, ecx
test ecx, ecx
jne 0x482677
cmp byte [edi + 0x46e], 0
je 0x48284c
cmp dword [0x6aee99], 0
lea esi, [edi + 0x235]
mov ecx, dword [esi]
mov dword [ebp - 0x1c], ecx
je 0x48274d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x6aee99]
cmp eax, dword [0x6a6c3c]
jb 0x482a5a
mov eax, dword [0x6a6c44]
cmp dword [0x6aee95], eax
jge 0x482a5a
mov eax, dword [0x6a6c40]
cmp dword [0x6aee9d], eax
jge 0x482a5a
mov ecx, dword [ebp - 0x1c]
mov dword [0x6aee99], 0
xor eax, eax
test byte [0x6aee88], 3
mov dword [ebp - 0x24], eax
jne 0x482784
xor edx, edx
mov eax, ecx
div dword [0x6aee80]
mov eax, dword [0x6aee84]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x482782
cmp dword [eax + 4], ecx
je 0x482a2e
mov eax, dword [eax]
test eax, eax
jne 0x482773
xor eax, eax
mov ecx, dword [0x6aee9d]
inc eax
mov edx, dword [0x6a6c40]
mov dword [ebp - 0x64], eax
cmp eax, 1
je 0x48279d
cmp ecx, edx
jl 0x4827ba
mov edi, dword [0x6a6c44]
cmp dword [0x6aee95], edi
mov edi, dword [ebp - 0x38]
jge 0x482a41
cmp ecx, edx
jge 0x482a41
cmp eax, dword [0x6a6c38]
jg 0x482a5a
push 1
lea eax, [ebp - 0x64]
mov ecx, 0x6aee70
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00422170
test eax, eax
jne 0x4827f3
mov eax, dword [ebp - 0x24]
inc eax
cmp eax, 1
jne 0x4827ed
inc dword [0x6aee95]
inc dword [0x6aee9d]
mov byte [edi + 0x34d], 1
or eax, 0xffffffff
test byte [0x6aee88], 3
jne 0x482832
mov ecx, dword [esi]
xor edx, edx
mov eax, ecx
div dword [0x6aee80]
mov eax, dword [0x6aee84]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x48282f
cmp dword [eax + 4], ecx
je 0x482a39
mov eax, dword [eax]
test eax, eax
jne 0x482820
or eax, 0xffffffff
push eax
push str.true
push dword [esi]
push str.g_AntiSynFlood1.Add__I_____s__xx___d_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x14
cmp byte [edi + 0x3d0], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x1e]
mov dword [ebp - 0x6c], eax
mov ax, word [ecx + 0x22]
mov word [ebp - 0x68], ax
mov eax, dword [ecx + 0x32]
bswap eax
mov dword [ebp - 0x60], eax
mov word [edi + 0x358], 0
mov word [edi + 0x376], 0
mov dword [edi + 0x33d], 0
je 0x482975
cmp byte [edi + 0x24e], 0
mov eax, dword [ecx + 8]
mov dword [edi + 0x339], eax
mov eax, dword [ecx + 0x1e]
mov dword [edi + 0x341], eax
movzx eax, word [ecx + 0x22]
mov word [edi + 0x345], ax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x347], eax
movzx eax, word [ecx + 0x1c]
mov word [edi + 0x34b], ax
jne 0x482945
mov ecx, dword [edi + 0x3f0]
test ecx, ecx
je 0x482945
push ecx
mov eax, esp
lock inc dword [ecx]
mov dword [eax], ecx
call fcn.00471db0
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x482945
mov eax, dword [ecx + 0x26a]
test eax, eax
je 0x482945
cmp byte [ecx + 0x274], 0
je 0x482945
mov eax, dword [eax + 0x204]
mov dword [edi + 0x339], eax
mov eax, dword [ecx + 0x26e]
mov dword [edi + 0x341], eax
movzx eax, word [ecx + 0x272]
mov word [edi + 0x345], ax
mov ecx, dword [ecx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x347], eax
movzx eax, word [ecx + 0x214]
mov word [edi + 0x34b], ax
mov eax, 0x22222222
mov dword [edi + 0x35a], 0
mov byte [edi + 0x358], 1
mov dword [edi + 0x35e], eax
mov word [edi + 0x362], ax
mov dword [edi + 0x364], eax
mov word [edi + 0x368], ax
mov eax, 0x22222222
mov dword [edi + 0x35a], 0
mov byte [edi + 0x358], 1
mov dword [edi + 0x35e], eax
mov word [edi + 0x362], ax
mov dword [edi + 0x364], eax
mov word [edi + 0x368], ax
xor eax, eax
mov esi, dword [edi + 0x239]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x20], eax
cmp byte [edi + 0x3cb], al
je 0x4829c4
mov esi, dword [edi + 0x404]
mov dword [ebp - 0x40], esi
lea eax, [edi + 0x410]
mov byte [ebp - 0x15], 1
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
xor dl, dl
mov byte [edi + 0x3a8], 1
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x29], dl
test eax, eax
je 0x482caf
xor edx, edx
mov ecx, eax
call fcn.0047bd60
mov ecx, eax
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x482ac5
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x482ac5
cmp dword [eax + 0x26a], 0
je 0x482ac5
lea eax, [edi + 0x3cf]
mov dword [ebp - 0x24], eax
lea edx, [edi + 0x410]
jmp 0x482b48
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
jmp 0x482784
mov eax, dword [eax + 8]
jmp 0x482832
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x6aee99], eax
test eax, eax
jne 0x482a5a
mov dword [0x6aee99], 0xffffffff
mov byte [edi + 0x34d], 0
or eax, 0xffffffff
test byte [0x6aee88], 3
mov ecx, esi
jne 0x482a95
mov ecx, dword [ecx]
xor edx, edx
mov eax, ecx
div dword [0x6aee80]
mov eax, dword [0x6aee84]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x482a92
cmp dword [eax + 4], ecx
je 0x482ac0
mov eax, dword [eax]
test eax, eax
jne 0x482a87
or eax, 0xffffffff
push eax
push str.false
push dword [esi]
push str.g_AntiSynFlood1.Add__I_____s__xx___d_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x14
mov dword [edi + 0x3b1], 3
xor al, al
jmp 0x4835f0
mov eax, dword [eax + 8]
jmp 0x482a95
cmp byte [edi + 0x3cf], 0
jne 0x482b31
mov edx, dword [ebp - 0x24]
mov esi, dword [ebx + 0xc]
push dword [edx]
push esi
push str._SFindBestRoute_XmitGatewayIp_I_:
push esi
call fcn.005abfb0
mov eax, dword [ebp - 0x34]
add esp, 0x10
test eax, eax
jne 0x482af5
push 0xc
push str.r__nullptr
jmp 0x482b15
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x482b05
push 0x18
push str._r__m_NicInfo__nullptr
jmp 0x482b15
cmp dword [eax + 0x26a], 0
jne 0x482b1c
push 0x23
push str._r__m_NicInfo__m_UserPtr__nullptr
mov ecx, esi
call fcn.005a6b10
push 0x1e
push str.__m_bXmitToAdapter__false_n
mov ecx, esi
call fcn.005a6b10
xor al, al
jmp 0x4835f0
lea eax, [edi + 0x3cf]
mov dword [ebp - 0x24], eax
lea edx, [edi + 0x410]
test ecx, ecx
je 0x482ca7
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x482ca7
cmp dword [eax + 0x26a], 0
mov edi, dword [ebp - 0x38]
je 0x482ca7
mov edx, eax
mov dword [ebp - 0x30], edx
cmp byte [edx + 0x274], 0
je 0x482bda
mov eax, dword [eax + 0x26a]
mov ecx, edx
mov eax, dword [eax + 0x204]
mov dword [edi + 0x33d], eax
mov eax, dword [ebp - 0x24]
mov byte [eax], 1
mov eax, dword [edx + 0x26e]
mov dword [edi + 0x36a], eax
movzx eax, word [edx + 0x272]
mov dl, byte [ebp - 0x29]
mov word [edi + 0x36e], ax
mov dword [edi + 0x378], 0
mov ecx, dword [ecx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x370], eax
movzx eax, word [ecx + 0x214]
mov word [edi + 0x374], ax
jmp 0x482caf
test byte [0x6ad638], 3
jne 0x482c0b
mov eax, dword [ecx + 0xc]
xor edx, edx
div dword [0x6ad630]
mov eax, dword [0x6ad634]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x482c0b
mov edx, dword [ecx + 0xc]
nop
cmp dword [eax + 4], edx
je 0x482c3a
mov eax, dword [eax]
test eax, eax
jne 0x482c00
cmp byte [edi + 0x3cf], 0
jne 0x482c96
push dword [ecx + 0xc]
mov eax, dword [ebx + 0xc]
push dword [edi + 0x410]
push eax
push str._SXmitGatewayIp_I__XmitToAdapter_is_true__r__m_NextHop_I__next_hop_adapter__nullptr__bXmitToAdapter__nullptr_n
push eax
call fcn.005abfb0
add esp, 0x14
xor al, al
jmp 0x4835f0
cmp dword [eax + 8], 0
je 0x482c0b
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x26a]
mov eax, dword [eax + 0x204]
mov dword [edi + 0x33d], eax
mov eax, dword [edi + 0x410]
mov byte [edi + 0x3cf], 1
mov dword [edi + 0x378], eax
mov eax, dword [edx + 0x26]
mov dword [edi + 0x37c], eax
mov ecx, dword [edx + 0x26a]
mov dl, byte [ebp - 0x29]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x370], eax
mov ax, word [ecx + 0x214]
mov word [edi + 0x374], ax
jmp 0x482caf
xor ecx, ecx
mov dword [edi + 0x410], 0
mov dword [ebp - 0x30], ecx
jmp 0x482cad
mov dword [edx], 0
mov dl, 1
cmp byte [edi + 0x3cf], 0
je 0x483148
mov eax, dword [edi + 0x410]
test dl, dl
je 0x482d11
test eax, eax
jne 0x482d52
call fcn.005a45d0
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x482d02
push str._ignored_
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x24], eax
mov ecx, eax
test eax, eax
je 0x482d07
cmp dword [eax + 0xc], 0
jne 0x482d07
push ecx
call fcn.005a47b0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea eax, [ebp - 0x24]
mov edx, 1
jmp 0x482d77
test eax, eax
jne 0x482d52
call fcn.005a45d0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x482d46
push 0x6584cc
mov ecx, eax
call fcn.005a5480
mov ecx, eax
test eax, eax
je 0x482d48
cmp dword [eax + 0xc], 0
jne 0x482d48
push ecx
call fcn.005a47b0
xor ecx, ecx
lea eax, [ebp - 0x28]
mov edx, 2
jmp 0x482d6b
push eax
lea eax, [ebp - 0x5c]
push 0x658e10
push eax
call fcn.005ac360
add esp, 0xc
mov edx, 4
mov ecx, dword [eax]
mov dword [eax], 0
or edx, 8
lea eax, [ebp - 0x3c]
mov dword [eax], 0
or eax, 0xffffffff
mov dword [ebp - 0x1c], ecx
test dl, 8
je 0x482da8
mov ecx, dword [ebp - 0x3c]
and edx, 0xfffffff7
mov dword [ebp - 0x34], edx
test ecx, ecx
je 0x482da8
lock xadd dword [ecx], eax
dec eax
jne 0x482da5
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x34]
or eax, 0xffffffff
test dl, 4
je 0x482dca
mov ecx, dword [ebp - 0x5c]
and edx, 0xfffffffb
mov dword [ebp - 0x34], edx
test ecx, ecx
je 0x482dca
lock xadd dword [ecx], eax
dec eax
jne 0x482dca
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x34]
test dl, 2
je 0x482def
mov ecx, dword [ebp - 0x28]
and edx, 0xfffffffd
mov dword [ebp - 0x34], edx
test ecx, ecx
je 0x482def
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x482def
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x34]
test dl, 1
je 0x482e0b
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x482e0b
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x482e0b
push ecx
call fcn.005a47b0
cmp dword [edi + 0x410], 0
jne 0x482e72
lea eax, [edi + 0x3ec]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
push ecx
mov ecx, esp
test eax, eax
je 0x482e2b
lock inc dword [eax]
jmp 0x482e2d
xor eax, eax
mov dword [ecx], eax
call fcn.00471db0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x30], ecx
test ecx, ecx
jne 0x482e5e
push dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebx + 0xc]
push eax
push str._SXmitToAdapter_is_true__m_XmitGatewayIp_S__GetAdapterByName_m_Plugin.m_XmitToAdapter_S___nullptr_n
push eax
call fcn.005abfb0
add esp, 0x14
jmp 0x483122
mov eax, dword [ecx + 0x26a]
mov eax, dword [eax + 0x204]
mov dword [edi + 0x33d], eax
jmp 0x482e75
mov ecx, dword [ebp - 0x30]
cmp byte [edi + 0x3ce], 0
je 0x482e86
mov eax, dword [edi + 0x40c]
jmp 0x482e92
cmp byte [edi + 0x3cd], 0
je 0x482e95
mov eax, dword [ecx + 0x26]
mov dword [ebp - 0x20], eax
mov word [edi + 0x376], 0x101
test byte [0x6ad638], 3
jne 0x482ece
xor edx, edx
mov ecx, dword [0x6ad634]
mov eax, esi
div dword [0x6ad630]
lea eax, [ecx + edx*4]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax]
test eax, eax
je 0x482ece
cmp dword [eax + 4], esi
je 0x482f32
mov eax, dword [eax]
test eax, eax
jne 0x482ec3
cmp dword [edi + 0x410], 0
jne 0x482fa7
mov edx, ecx
mov ecx, esi
call fcn.0047bd60
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
mov ecx, dword [ebp - 0x30]
je 0x483109
test ecx, ecx
je 0x483109
cmp byte [ecx + 0x274], 0
je 0x48308a
mov eax, dword [ecx + 0x26e]
mov dword [edi + 0x36a], eax
mov ax, word [ecx + 0x272]
mov word [edi + 0x36e], ax
mov dword [edi + 0x378], 0
jmp 0x4830e1
cmp byte [edi + 0x3ce], 0
mov byte [ebp - 0x15], 0
mov byte [edi + 0x3a8], 0
je 0x482fd7
mov eax, dword [edi + 0x40c]
mov dword [ebp - 0x20], eax
mov dword [edi + 0x378], 0
mov ecx, dword [ecx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x36a], eax
mov ax, word [ecx + 0x214]
mov ecx, dword [ebp - 0x30]
mov word [edi + 0x36e], ax
cmp byte [ecx + 0x274], 0
je 0x483071
mov eax, dword [ecx + 0x26e]
mov dword [edi + 0x370], eax
mov ax, word [ecx + 0x272]
mov word [edi + 0x374], ax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x482fbe
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x482fbe
push ecx
call fcn.005a47b0
cmp byte [edi + 0x3cc], 0
jne 0x483463
movzx ecx, word [edi + 0x23f]
jmp 0x483469
cmp byte [edi + 0x3cd], 0
je 0x482f53
mov eax, dword [ebx + 0xc]
push esi
push eax
push str._SXmitToAdapter_is_true__DstIp_I_is_a_interface_IP__Nat_option_is_specified__not_SpecificNat_IP__n
push eax
call fcn.005abfb0
add esp, 0x10
lea ecx, [ebp - 0x54]
push 0
push 1
call fcn.0042af70
cmp byte [ebp - 0x44], 0
je 0x483122
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0x48]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x48303d
cmp byte [0x6ac39e], 0
jne 0x48303d
push str.Cant_apply_NAT_for_receiving__not_routed__connections_n
push 0x6a6e70
call fcn.0042abc0
add esp, 8
cmp byte [ebp - 0x44], 0
je 0x483122
mov eax, dword [ebp - 0x54]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0x50]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0x4c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
jmp 0x483122
mov eax, dword [0x6ac618]
mov dword [edi + 0x370], eax
mov ax, word [0x6ac61c]
mov dword [ebp - 0x58], ecx
jmp 0x482fa0
test byte [0x6ad638], 3
jne 0x4830c2
mov eax, dword [ebp - 0x24]
xor edx, edx
mov edi, dword [0x6ad634]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
div dword [0x6ad630]
mov eax, dword [edi + edx*4]
mov edi, dword [ebp - 0x38]
test eax, eax
je 0x4830c2
mov edx, dword [ebp - 0x28]
cmp dword [eax + 4], edx
je 0x4830ff
mov eax, dword [eax]
test eax, eax
jne 0x4830b7
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x30]
mov edx, edi
mov edi, 0x378
mov dword [edx + edi], eax
mov edi, dword [ebp - 0x38]
mov eax, dword [ecx + 0x26]
mov dword [edi + 0x37c], eax
mov ecx, dword [ecx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x370], eax
mov ax, word [ecx + 0x214]
jmp 0x482fa0
cmp dword [eax + 8], 0
je 0x4830c2
mov eax, esi
jmp 0x4830c8
push ecx
push esi
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebx + 0xc]
push esi
push eax
push str._SXmitToAdapter_is_true__DstIp_I_is_not_interface_IP__m_Plugin.m_XmitGatewayIp_S__FindBestRoute__I__n___nullptr__n__p___nullptr_n
push eax
call fcn.005abfb0
add esp, 0x1c
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x483496
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x483496
push ecx
call fcn.005a47b0
xor al, al
jmp 0x4835f0
test byte [0x6ad638], 3
jne 0x48317b
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 0x48317b
nop dword [eax]
cmp dword [eax + 4], esi
je 0x4831c1
mov eax, dword [eax]
test eax, eax
jne 0x483170
xor edx, edx
mov ecx, esi
call fcn.0047bd60
mov ecx, eax
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x4833ee
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x4833ee
cmp dword [ecx + 0x26a], 0
je 0x4833ee
cmp byte [edi + 0x3ce], 0
je 0x48330e
mov eax, dword [edi + 0x40c]
jmp 0x48331a
mov edx, dword [eax + 8]
mov byte [edi + 0x3a8], 0
mov byte [ebp - 0x15], 0
cmp dword [edx + 0x26a], 0
jne 0x4831f2
mov eax, dword [ebx + 0xc]
push esi
push eax
push str._SDstIp_I_is_a_interface_IP__n__m_UserPtrnullptr_n
push eax
call fcn.005abfb0
add esp, 0x10
xor al, al
jmp 0x4835f0
cmp byte [edi + 0x3ce], 0
je 0x483276
mov eax, dword [edi + 0x40c]
mov dword [ebp - 0x20], eax
mov byte [edi + 0x376], 1
mov ecx, dword [edx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x36a], eax
mov ax, word [ecx + 0x214]
mov word [edi + 0x36e], ax
mov dword [edi + 0x378], 0
cmp byte [edx + 0x274], 0
je 0x48325f
mov byte [edi + 0x377], 1
mov eax, dword [edx + 0x26e]
mov dword [edi + 0x370], eax
mov ax, word [edx + 0x272]
mov word [edi + 0x374], ax
mov eax, dword [edx + 0x26a]
mov eax, dword [eax + 0x204]
mov dword [edi + 0x33d], eax
jmp 0x482fbe
cmp byte [edi + 0x3cd], 0
je 0x483204
mov eax, dword [ebx + 0xc]
push esi
push eax
push str._SDstIp_I_is_a_interface_IP__Nat_option_is_specified__not_SpecificNat_IP__n
push eax
call fcn.005abfb0
add esp, 0x10
lea ecx, [ebp - 0x54]
push 0
push 1
call fcn.0042af70
cmp byte [ebp - 0x44], 0
je 0x483496
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0x48]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x4832d8
cmp byte [0x6ac39e], 0
jne 0x4832d8
push str.Cant_apply_NAT_for_receiving__not_routed__connections_n
push 0x6a6e70
call fcn.0042abc0
add esp, 8
cmp byte [ebp - 0x44], 0
je 0x483496
mov eax, dword [ebp - 0x54]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0x50]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0x4c]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
xor al, al
jmp 0x4835f0
cmp byte [edi + 0x3cd], 0
je 0x48331d
mov eax, dword [ecx + 0x26]
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x239]
jne 0x483332
cmp byte [edi + 0x4aa], 0
je 0x482fbe
mov byte [edi + 0x376], 1
mov dword [edi + 0x378], 0
cmp byte [ecx + 0x274], 0
je 0x483368
mov eax, dword [ecx + 0x26e]
mov dword [edi + 0x36a], eax
mov ax, word [ecx + 0x272]
mov word [edi + 0x36e], ax
jmp 0x4833b8
test byte [0x6ad638], 3
jne 0x48339c
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
div dword [0x6ad630]
mov eax, dword [0x6ad634]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x48339c
mov edx, dword [ebp - 0x28]
cmp dword [eax + 4], edx
je 0x4833e4
mov eax, dword [eax]
test eax, eax
jne 0x483391
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov edx, edi
mov edi, 0x378
mov dword [edx + edi], eax
mov edi, dword [ebp - 0x38]
mov eax, dword [ecx + 0x26]
mov dword [edi + 0x37c], eax
mov byte [edi + 0x377], 1
mov ecx, dword [ecx + 0x26a]
mov eax, dword [ecx + 0x210]
mov dword [edi + 0x370], eax
mov ax, word [ecx + 0x214]
mov word [edi + 0x374], ax
jmp 0x482fbe
cmp dword [eax + 8], 0
je 0x48339c
mov eax, esi
jmp 0x4833a2
cmp esi, 0x7f000001
je 0x482fbe
mov edi, dword [ebx + 0xc]
push esi
push edi
push str._SDstIp_I_is_not_a_interface_IP
push edi
call fcn.005abfb0
mov eax, dword [ebp - 0x1c]
add esp, 0x10
test eax, eax
jne 0x483426
push esi
push edi
push str._S__FindBestRoute__I___nullptr
push edi
call fcn.005abfb0
add esp, 0x10
jmp 0x48344d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x483435
push edi
push str._S__r__m_NicInfo__nullptr
jmp 0x483444
cmp dword [eax + 0x26a], 0
jne 0x48344d
push edi
push str._S__r__m_NicInfo__m_UserPtr__nullptr
push edi
call fcn.005abfb0
add esp, 0xc
push edi
push str._S__DstIp___127.0.0.1_n
push edi
call fcn.005abfb0
add esp, 0xc
xor al, al
jmp 0x4835f0
mov ecx, dword [edi + 0x408]
cmp byte [ebp - 0x15], 0
je 0x483481
cmp esi, 0x7f000001
jne 0x483481
mov edx, esi
movzx eax, cx
jmp 0x483515
mov eax, dword [edi + 0x3a4]
sub eax, 0
je 0x4834b5
sub eax, 1
je 0x48349d
sub eax, 1
je 0x4834ae
xor al, al
jmp 0x4835f0
cmp byte [ebp - 0x15], 0
mov eax, 0x2713
mov edx, dword [edi + 0x235]
je 0x483515
mov edx, esi
movzx eax, cx
jmp 0x483515
cmp byte [ebp - 0x15], 0
mov edx, esi
movzx eax, cx
mov dword [ebp - 0x1c], eax
jne 0x483510
mov edx, dword [ebp - 0x20]
mov dword [edi + 0x24f], 0
test edx, edx
je 0x4834ef
xor eax, eax
mov dword [edi + 0x253], edx
mov word [edi + 0x257], ax
mov eax, dword [ebp - 0x1c]
mov word [edi + 0x259], ax
jmp 0x483548
mov eax, dword [edi + 0x239]
xor edx, edx
mov dword [edi + 0x253], eax
mov eax, dword [ebp - 0x1c]
mov word [edi + 0x257], dx
mov word [edi + 0x259], ax
jmp 0x48353f
mov eax, 0x2713
xor esi, esi
mov dword [edi + 0x253], edx
mov edx, dword [ebp - 0x20]
mov word [edi + 0x257], si
mov esi, dword [ebp - 0x40]
mov dword [edi + 0x24f], 0
mov word [edi + 0x259], ax
test edx, edx
jne 0x483548
mov edx, dword [edi + 0x235]
mov dword [ebp - 0x20], edx
cmp byte [edi + 0x3ce], 0
mov dword [edi + 0x25f], edx
jne 0x483569
cmp byte [edi + 0x3cd], 0
jne 0x483569
movzx eax, word [edi + 0x23d]
jmp 0x48356b
xor eax, eax
mov word [edi + 0x265], ax
mov al, byte [ebp - 0x15]
xor al, 1
mov dword [edi + 0x25b], esi
cmp byte [edi + 0x478], 0
mov word [edi + 0x263], cx
mov byte [edi + 0x267], al
mov byte [edi + 0x268], 1
je 0x4835a1
mov byte [edi + 0x24d], 0
cmp byte [edi + 0x4aa], 0
je 0x4835b1
mov byte [edi + 0x268], 0
cmp byte [edi + 0x377], 0
je 0x4835ee
push 6
mov edx, 0x6ac618
lea ecx, [edi + 0x370]
call fcn.005a4c60
add esp, 4
test al, al
je 0x4835ee
push dword [ebp - 0x58]
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x6c]
push dword [ebp - 0x60]
lea ecx, [edi + 0x370]
push eax
call fcn.00471780
add esp, 0xc
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8