Function at 0x10087ad0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2ab4
call fcn.1008bb10
mov eax, dword [0x1010b070]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push 0x208
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x2ab0], edx
push 0
push eax
mov ebx, ecx
call fcn.1008dc90
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.iphlpapi.dll
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x2ab4], eax
test eax, eax
jne 0x10087b52
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a777
mov esp, ebp
pop ebp
ret
push str.GetAdaptersInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10087cdc
lea ecx, [ebp - 0x2aa8]
mov dword [ebp - 0x2aa8], 0x2880
push ecx
lea ecx, [ebp - 0x2a8c]
push ecx
call eax
test eax, eax
jne 0x10087cdc
mov eax, ebx
mov dword [ebp - 0x2aa4], 3
lea ecx, [ebp - 0x2a9c]
push esi
sub eax, ecx
push edi
lea edi, [ebp - 0x2a8c]
mov dword [ebp - 0x2aac], eax
nop word [eax + eax]
lea ecx, [edi + 8]
call fcn.10087d40
mov dword [ebp - 0x2aa0], eax
xor eax, eax
mov dword [ebp - 0x2a9c], eax
xor ecx, ecx
mov word [ebp - 0x2a98], ax
mov eax, dword [ebp - 0x2aac]
lea esi, [ebp - 0x2a9c]
add esi, ecx
mov dl, byte [eax + esi]
cmp dl, byte [esi]
jne 0x10087bf2
inc ecx
cmp ecx, 6
jb 0x10087bd5
mov ecx, dword [ebp - 0x2aa0]
jmp 0x10087c10
mov eax, dword [edi + 0x1a0]
cmp eax, 6
je 0x10087c02
cmp eax, 0x17
jne 0x10087c51
mov ecx, dword [ebp - 0x2aa0]
cmp dword [ebp - 0x2aa4], ecx
jle 0x10087c51
movzx eax, byte [edi + 0x194]
mov byte [ebx], al
movzx eax, byte [edi + 0x195]
mov byte [ebx + 1], al
movzx eax, byte [edi + 0x196]
mov byte [ebx + 2], al
movzx eax, byte [edi + 0x197]
mov byte [ebx + 3], al
movzx eax, byte [edi + 0x198]
mov byte [ebx + 4], al
movzx eax, byte [edi + 0x199]
mov byte [ebx + 5], al
mov dword [ebp - 0x2aa4], ecx
mov eax, dword [edi + 0x1a0]
cmp eax, 6
je 0x10087c61
cmp eax, 0x17
jne 0x10087cd0
xor eax, eax
mov ecx, dword [ebp - 0x2ab0]
mov dword [ebp - 0x2a94], eax
mov word [ebp - 0x2a90], ax
movzx eax, byte [edi + 0x194]
mov byte [ebp - 0x2a94], al
movzx eax, byte [edi + 0x195]
mov byte [ebp - 0x2a93], al
movzx eax, byte [edi + 0x196]
mov byte [ebp - 0x2a92], al
movzx eax, byte [edi + 0x197]
mov byte [ebp - 0x2a91], al
movzx eax, byte [edi + 0x198]
mov byte [ebp - 0x2a90], al
movzx eax, byte [edi + 0x199]
mov byte [ebp - 0x2a8f], al
lea eax, [ebp - 0x2a94]
push eax
call fcn.10087f30
mov edi, dword [edi]
test edi, edi
jne 0x10087bb0
pop edi
pop esi
push dword [ebp - 0x2ab4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2a9c], eax
mov word [ebp - 0x2a98], ax
lea eax, [ebp - 0x2a9c]
sub ebx, eax
lea ecx, [ebp - 0x2a9c]
add ecx, edx
mov al, byte [ebx + ecx]
cmp al, byte [ecx]
jne 0x10087d27
inc edx
cmp edx, 6
jb 0x10087d01
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a777
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop ebx
call fcn.1008a777
mov esp, ebp
pop ebp
ret