Function at 0x140098de0
Capabilities:
Get routing table

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x180], rbx
mov rax, qword [0x140131088]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x58], 0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140098e81
lea rax, str._DetectLocalIP__Error_allocating_memory_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x43
lea r9, str.get_default_interface_ip
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
mov edx, 2
lea rcx, [0x1401399a0]
call fcn.14007a380
jmp 0x1400992e2
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
cmp eax, 0x7a
jne 0x140098ee4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140098ee4
lea rax, str._DetectLocalIP__Error_allocating_memory_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x4d
jmp 0x140098e5d
or r13d, 0xffffffff
xor ebx, ebx
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
lea rcx, [0x1401399a0]
test eax, eax
jne 0x1400992a9
mov eax, dword [r14]
mov dword [rsp + 0x30], eax
lea rax, str._DetectLocalIP__Number_of_entries:__d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x57
lea r12, str.get_default_interface_ip
mov r9, r12
lea edx, [rbx + 8]
call fcn.14007a380
xor r15d, r15d
cmp dword [r14], ebx
jle 0x14009925f
lea rdi, [r14 + 0x28]
nop
cmp dword [rdi - 0x24], 0
jne 0x1400990ca
cmp dword [rdi - 0x10], 4
jne 0x1400990ca
mov eax, dword [rdi]
cmp eax, r13d
jae 0x1400990ca
mov r13d, eax
mov ebx, dword [rdi - 0x18]
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
cmp byte [rax], 0
jne 0x140098f87
xor r8d, r8d
jmp 0x140098f9a
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140098f90
mov rdx, rax
mov rcx, rsi
call fcn.140009260
mov rcx, rsi
call fcn.140009030
mov qword [rsp + 0x30], rax
lea rax, str._DetectLocalIP__Detect_Local_IP_:_local_gateway___s
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x67
mov r9, r12
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
mov qword [rbp - 0x60], reloc.WS2_32.dll_ntohs
xor ecx, ecx
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x78], cl
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x48], rcx
mov byte [rbp - 0x58], cl
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rcx
mov byte [rbp - 0x38], cl
mov qword [rbp], reloc.WS2_32.dll_ntohs
mov qword [rbp - 8], rcx
mov byte [rbp - 0x18], cl
mov qword [rbp + 8], rcx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov esi, dword [rdi - 0x14]
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rcx
lea rcx, [rsp + 0x60]
call fcn.140099d80
test eax, eax
jne 0x14009908d
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
cmp rdx, rax
je 0x14009908d
cmp dword [rdx], esi
je 0x140099068
add rdx, 0xa0
cmp rdx, rax
jne 0x140099056
jmp 0x14009908d
lea rcx, [rbp - 0x80]
call fcn.14009a130
nop
lea rcx, [rsp + 0x60]
call fcn.14009a790
mov rcx, qword [rbp + 8]
cmp rcx, qword [rbp + 0x10]
sete al
test al, al
je 0x1400990df
jmp 0x140099098
lea rcx, [rsp + 0x60]
call fcn.14009a790
nop
lea rcx, [rbp + 8]
call fcn.140099990
lea rcx, [rbp - 0x18]
call fcn.140009040
lea rcx, [rbp - 0x38]
call fcn.140009040
lea rcx, [rbp - 0x58]
call fcn.140009040
lea rcx, [rbp - 0x78]
call fcn.140009040
mov rsi, qword [rsp + 0x48]
inc r15d
add rdi, 0x38
cmp r15d, dword [r14]
jge 0x140099183
jmp 0x140098f50
cmp qword [rcx + 0x18], 0x10
jb 0x1400990e9
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
lea rax, str._DetectLocalIP__Detect_Local_IP_:_local_ip___s
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], WSAStartup
mov r9, r12
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
mov rdx, qword [rbp + 8]
mov rax, qword [rsp + 0x40]
cmp rax, rdx
je 0x14009913a
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, rax
call fcn.140009390
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
lea rcx, [rbp + 8]
call fcn.140099990
lea rcx, [rbp - 0x18]
call fcn.140009040
lea rcx, [rbp - 0x38]
call fcn.140009040
lea rcx, [rbp - 0x58]
call fcn.140009040
lea rcx, [rbp - 0x78]
call fcn.140009040
mov al, 1
jmp 0x1400992e4
test ebx, ebx
je 0x14009925f
xor r15d, r15d
xor esi, esi
cmp dword [r14], esi
jle 0x140099244
lea rdi, [r14 + 8]
nop dword [rax]
mov ecx, dword [rdi]
mov eax, ecx
and eax, ebx
cmp eax, dword [rdi - 4]
jne 0x140099235
cmp ecx, r15d
jbe 0x140099235
cmp dword [rdi + 0x10], 3
jne 0x140099235
cmp dword [rdi + 0x14], 2
jne 0x140099235
mov r15d, ecx
mov ecx, dword [rdi + 8]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
cmp byte [rax], 0
jne 0x1400991da
xor r8d, r8d
jmp 0x1400991ea
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400991e0
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140009260
mov rcx, qword [rsp + 0x40]
call fcn.140009030
mov qword [rsp + 0x30], rax
lea rax, str._DetectLocalIP__find_ip__s
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], __WSAFDIsSet
mov r9, r12
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
mov edx, 8
lea rcx, [0x1401399a0]
call fcn.14007a380
inc esi
add rdi, 0x38
cmp esi, dword [r14]
jl 0x1400991a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov al, 1
jmp 0x1400992e4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x30], r12
lea rax, str.__s__no_next_hop_gateway
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x7a
mov r9, r12
lea r8, str...includesonetlibsDetectLocalIPDetectLocalIPEx.cpp
mov edx, 2
lea rcx, [0x1401399a0]
call fcn.14007a380
jmp 0x1400992e2
lea rax, str._DetectLocalIP__GetIpForwardTable_failed.
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x9a
lea r9, str.get_default_interface_ip
mov edx, 2
call fcn.14007a380
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor al, al
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.14009d860
mov rbx, qword [rsp + 0x180]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret