Function at 0x10057040
Capabilities:
Get routing table

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, ecx
lea ecx, [ebp - 8]
mov dword [ebp - 0x18], eax
push ecx
mov ebx, edx
mov dword [ebp - 8], 0
push eax
mov dword [ebp - 4], ebx
mov word [edi + 0x18], 0
call dword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable2]
test eax, eax
je 0x1005707b
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor esi, esi
or edx, 0xffffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edx
cmp dword [ecx], esi
jbe 0x10057193
xor edi, edi
mov dword [ebp - 0x14], edi
add ecx, 8
add ecx, edi
test ebx, ebx
je 0x100570ce
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x100570ce
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
jne 0x100570ce
cmp dword [ecx + 0x58], 3
jne 0x1005717b
cmp byte [ecx + 0x5d], 0
jne 0x1005717b
call fcn.10056f90
mov edx, dword [ebp - 0xc]
jmp 0x1005717b
cmp word [ecx + 6], 0x18
jne 0x1005713f
cmp dword [ecx + 0x58], 3
jne 0x1005713f
mov bl, byte [ecx + 0x28]
cmp bl, 1
jne 0x1005713f
movzx eax, word [ecx + 0x2c]
cmp eax, 2
jne 0x100570f5
cmp dword [ecx + 0x30], 0
sete al
jmp 0x10057125
cmp eax, 0x17
jne 0x10057142
lea edx, [ecx + 0x34]
mov esi, 0x100f6630
lea edi, [eax - 0xb]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1005711a
add edx, 4
add esi, 4
sub edi, 4
jae 0x10057105
mov al, 1
jmp 0x1005711c
xor al, al
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
test al, al
je 0x10057142
mov eax, dword [ebp + 0x10]
inc byte [eax + 0x19]
cmp byte [ebp + 8], 0
jne 0x10057178
call fcn.10056f90
mov edx, dword [ebp - 0xc]
jmp 0x10057178
mov bl, byte [ecx + 0x28]
test bl, bl
jne 0x10057178
mov eax, dword [ecx + 0x54]
cmp eax, edx
jae 0x10057178
cmp dword [ebp - 0x18], 2
mov edx, eax
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], edx
jne 0x10057162
mov eax, dword [ecx + 0x30]
mov dword [ebx], eax
jmp 0x10057169
movups xmm0, xmmword [ecx + 0x34]
movups xmmword [ebx], xmm0
mov eax, dword [ecx]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x14], eax
mov byte [ebx + 0x18], 1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
inc esi
add edi, 0x68
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], edi
cmp esi, dword [ecx]
jb 0x10057096
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x10057212
cmp byte [edi + 0x18], 0
je 0x10057212
xor esi, esi
mov dword [ebp - 0xc], esi
cmp dword [ecx], esi
jbe 0x10057212
xor ebx, ebx
mov dword [ebp - 0x14], ebx
nop
add ebx, ecx
cmp dword [ebx + 0x60], 3
jne 0x10057201
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 0x10]
jne 0x10057201
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi + 0x14]
jne 0x10057201
mov edi, dword [edx]
cmp edi, dword [edx + 4]
je 0x100571fe
nop
mov al, byte [edi + 0x10]
cmp al, 0x20
jne 0x10057222
cmp word [ebx + 0x14], 2
jne 0x10057256
mov al, byte [ebx + 0x30]
cmp al, byte [edi + 0x11]
jne 0x10057256
mov eax, dword [ebx + 0x18]
cmp eax, dword [edi]
jne 0x10057256
lea ecx, [ebx + 8]
call fcn.10056f90
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x14]
inc esi
add ebx, 0x68
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], ebx
cmp esi, dword [ecx]
jb 0x100571b0
push ecx
call dword [sym.imp.IPHLPAPI.DLL_FreeMibTable]
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x80
jne 0x10057256
cmp word [ebx + 0x14], 0x17
jne 0x10057256
mov al, byte [ebx + 0x30]
cmp al, byte [edi + 0x11]
jne 0x10057256
lea edx, [ebx + 0x1c]
mov eax, edi
mov esi, 0xc
nop
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x10057253
add edx, 4
add eax, 4
sub esi, 4
jae 0x10057240
jmp 0x100571ed
mov edx, dword [ebp + 0xc]
add edi, 0x12
cmp edi, dword [edx + 4]
jne 0x100571d0
jmp 0x100571f8