Function at 0x180035094
Capabilities:
Get routing table

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0xb0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x18009c600]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r12, rdx
mov rbp, rcx
xor esi, esi
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
and dword [rsp + 0x48], esi
lea r8d, [rsi + 1]
lea rdx, [rsp + 0x48]
xor ecx, ecx
call sub.IPHLPAPI.DLL_GetIpForwardTable
cmp eax, 0x7a
jne 0x1800351c2
mov edx, dword [rsp + 0x48]
lea ecx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
lea r8d, [rsi + 1]
lea rdx, [rsp + 0x48]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetIpForwardTable
test eax, eax
jne 0x1800351b9
mov r9d, 0x7fffffff
mov edx, r9d
xor r8d, r8d
xor ecx, ecx
cmp dword [rdi], ecx
jbe 0x1800351b9
lea rax, [rdi + 4]
cmp dword [rax + 4], 0
jne 0x180035177
cmp dword [rax], 0
jne 0x180035177
cmp dword [rax + 0x18], 3
jne 0x180035177
cmp dword [rax + 0x24], edx
jae 0x180035177
mov edx, dword [rax + 0x24]
mov r8d, ecx
inc ecx
add rax, 0x38
cmp ecx, dword [rdi]
jb 0x18003515b
cmp edx, r9d
je 0x1800351b9
mov eax, r8d
imul rax, rax, 0x38
lea rcx, [rax + rdi + 4]
test rcx, rcx
je 0x1800351b9
mov ecx, dword [rcx + 0xc]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r8, rax
lea rdx, [0x180085544]
lea rcx, [rsp + 0x40]
call fcn.180035450
mov rbx, qword [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
or r14, 0xffffffffffffffff
cmp dword [rbx - 0x10], 0
je 0x180035348
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.1800126c4
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x60]
call fcn.18001d050
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x50]
call fcn.180002304
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x18003521c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x18003523d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x180035343
mov dword [rsp + 0x58], 6
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 8], 1
jle 0x180035271
mov edx, dword [rbx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.180002560
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_inet_addr]
xor ecx, ecx
mov dword [rsp + 0x88], ecx
mov word [rsp + 0x8c], cx
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x88]
xor edx, edx
mov ecx, eax
call sub.IPHLPAPI.DLL_SendARP
mov esi, eax
test eax, eax
jne 0x180035348
mov byte [rsp + 0x90], al
xor eax, eax
mov qword [rsp + 0x91], rax
mov dword [rsp + 0x99], eax
movzx ecx, byte [rsp + 0x8d]
movzx edx, byte [rsp + 0x8c]
movzx eax, byte [rsp + 0x8b]
movzx edi, byte [rsp + 0x8a]
movzx r9d, byte [rsp + 0x89]
movzx r8d, byte [rsp + 0x88]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
lea rdx, str._02X_02X_02X_02X_02X_02X
lea rcx, [rsp + 0x90]
call fcn.180053d4c
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x90]
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.180002aa4
jmp 0x180035348
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.1800126c4
nop
mov r8, qword [rax]
lea rdx, [0x180085564]
mov rcx, rbp
call fcn.180001a50
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x18003538a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1800126c4
nop
mov r8, qword [rax]
lea rdx, [0x180085564]
mov rcx, r12
call fcn.180001a50
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x1800353ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x40]
call fcn.1800024f0
lea rcx, [rsp + 0x50]
call fcn.1800024f0
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x180035405
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x180035426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, esi
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800520e0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret