Function at 0x969c29
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x1664
call fcn.0097dd39
mov eax, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
xor eax, esp
mov dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], eax
mov eax, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
lea esi, [esp + 0x28]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
call fcn.0096ad39
mov edx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
mov eax, dword [edx + 0xc]
mov ecx, 0x1002c1ec
call eax
mov edx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
add eax, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x1002c1ec
call eax
push 0x3ff
mov ebp, eax
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0
add ebp, 0x10
push ecx
mov dword [esp + 0x28], ebp
mov byte [esp + 0xa74], 0
call fcn.0097eb29
mov eax, edi
add esp, 0xc
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x969cb9
lea edi, reloc.iphlpapi.dll_GetAdaptersInfo
sub eax, ecx
mov esi, ecx
add edi, reloc.iphlpapi.dll_GetAdaptersInfo
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x969cd0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
rep movsb byte es:[edi], byte [esi]
add eax, reloc.iphlpapi.dll_GetAdaptersInfo
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x969cf9
mov edx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
mov cl, byte [0x10027a84]
mov dword [eax], edx
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027a88
push edx
mov byte [eax + 4], cl
call fcn.0097bc22
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x969d90
add ebp, 0xfffffff0
lea eax, [ebp + 0xc]
or ecx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x969d4c
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x969d6c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
test eax, eax
mov dword [esp + 0x28], 0x10027ba4
je 0x969d86
push eax
call dword [0x100231bc]
mov eax, 1
jmp 0x96a250
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
push eax
lea edi, [esp + 0x28]
lea eax, [esp + 0x24]
call fcn.00969b09
add esp, 0xc
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], 0
jne 0x969dcc
push 0
push 1
push 2
call dword [0x100231b0]
mov dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], eax
movzx eax, word [esp + 0x20]
mov edi, dword [esp + 0x18]
push eax
lea esi, [esp + 0x2c]
call fcn.0096ae49
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
push edi
mov ecx, esi
call fcn.0096af69
mov eax, esi
call fcn.0096b219
mov eax, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
push 4
lea edx, [esp + 0x18]
push edx
push 0x1006
push 0xffff
push eax
mov dword [esp + 0x28], 0x2710
call dword [0x100231ac]
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], 0
je 0x969e94
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
mov edx, esi
push edx
mov ecx, 0x10027a8c
call fcn.0096b359
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], 0
je 0x969e94
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push eax
mov ecx, esi
push ecx
mov ecx, 0x10027a9c
call fcn.0096b359
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], 0
je 0x969e94
mov dl, byte [esp + 0x435]
mov al, byte [esp + 0x436]
mov cl, byte [esp + 0x437]
mov byte [esp + 0x14], dl
lea edx, [esp + 0x14]
push edx
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], cl
call fcn.0097c7c4
add esp, 4
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push eax
call fcn.0097c7c4
mov ecx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
mov ebp, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
add esp, 4
mov esi, eax
push esi
push 0
push 0x406
push 0x3e9
push ecx
mov dword [esp + 0x28], esi
call ebp
mov edi, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
push eax
call edi
mov edx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
push 0
push 0
push 0x402
push 0x3e9
push edx
call ebp
push eax
call edi
mov eax, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
push eax
xor ebp, ebp
call dword [0x10023184]
test eax, eax
jne 0x969f0a
mov ecx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
push 5
push ecx
call dword [0x10023188]
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027aa4
push edx
call fcn.00988c87
add esp, 8
test eax, eax
je 0x96a104
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027aac
push eax
call fcn.00988c87
add esp, 8
test eax, eax
je 0x96a104
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ac0
push ecx
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a104
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ac4
push edx
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a104
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ac8
push eax
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a029
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027acc
push ecx
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a029
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ad0
push edx
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a029
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ad4
push eax
call fcn.0097c7c9
add esp, 8
test eax, eax
jne 0x96a029
lea esi, [esp + 0x28]
call fcn.0096b279
push ebx
call fcn.0097c2fb
add esp, 4
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
call dword [0x10023038]
lea eax, [esp + 0x1c]
call fcn.0096a359
lea eax, [esp + 0x18]
call fcn.0096a359
mov ecx, esi
call fcn.0096ae09
mov eax, 1
jmp 0x96a250
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], ebp
je 0x96a049
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push edx
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x10027ad8
call fcn.0096b359
lea esi, [esp + 0x28]
call fcn.0096b279
push ebx
call fcn.0097c2fb
add esp, 4
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
call dword [0x10023038]
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027ae4
push edx
call fcn.00988c87
add esp, 8
test eax, eax
jne 0x96a0ce
mov ecx, dword [esp + 0x18]
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push eax
movzx eax, word [esp + 0x24]
push eax
push ecx
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 0x10027aec
push edx
call fcn.0097cb9b
add esp, 0x14
xor eax, eax
jmp 0x96a0b9
mov cl, byte [esp + eax + 0x1068]
mov byte [esp + eax + 0xe68], cl
add eax, 1
test cl, cl
jne 0x96a0b9
mov eax, dword [esp + 0x24]
push eax
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
call fcn.00969c29
mov esi, eax
lea eax, [esp + 0x1c]
call fcn.0096a359
lea eax, [esp + 0x18]
call fcn.0096a359
lea ecx, [esp + 0x28]
call fcn.0096ae09
mov eax, esi
jmp 0x96a250
test esi, esi
jle 0x96a1d0
mov edx, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
push 0
push 0
push 0x488
push edx
call edi
test al, al
mov byte [0x1002eaf1], al
jne 0x96a26b
cmp dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], 0
je 0x96a2de
mov ecx, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
push 0
push 0x400
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push eax
push ecx
call dword [0x100231a4]
mov esi, eax
test esi, esi
jg 0x96a18b
mov eax, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
test eax, eax
je 0x96a173
push eax
call dword [0x100231bc]
cmp eax, reloc.iphlpapi.dll_GetAdaptersInfo
je 0x96a183
xor eax, eax
mov dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], eax
mov dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo], eax
test esi, esi
je 0x96a2de
cmp esi, reloc.iphlpapi.dll_GetAdaptersInfo
je 0x96a2de
push ebx
push esi
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push 1
push edx
call fcn.0097cb19
mov eax, dword [reloc.iphlpapi.dll_GetAdaptersInfo]
add esp, 0x10
push 0
add ebp, esi
push ebp
push 0x402
push 0x3e9
push eax
call dword [0x10023180]
push eax
call edi
cmp ebp, dword [esp + 0x14]
jl 0x96a10c
lea esi, [esp + 0x28]
call fcn.0096b279
push ebx
call fcn.0097c2fb
mov ecx, dword [esp + 0x28]
add esp, 4
push 0
push ecx
lea edx, reloc.iphlpapi.dll_GetAdaptersInfo
push edx
call dword [0x1002316c]
lea eax, reloc.iphlpapi.dll_GetAdaptersInfo
push eax
call dword [0x10023038]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x96a225
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x96a245
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
call fcn.0096ae09
xor eax, eax
mov ecx, dword [esp + reloc.iphlpapi.dll_GetAdaptersInfo]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0097d1b8
add esp, 0x1664
ret 8
lea esi, [esp + 0x28]
call fcn.0096b279
push ebx
call fcn.0097c2fb
add esp, 4
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
call dword [0x10023038]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x96a2ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.iphlpapi.dll_GetAdaptersInfo
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x96a2cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
call fcn.0096ae09
mov eax, 0x80004004
jmp 0x96a250
lea esi, [esp + 0x28]
call fcn.0096b279
push ebx
call fcn.0097c2fb
add esp, 4
lea ecx, reloc.iphlpapi.dll_GetAdaptersInfo
push ecx
call dword [0x10023038]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
or ecx, reloc.iphlpapi.dll_GetAdaptersInfo
lea edx, [eax + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x96a31e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or edx, reloc.iphlpapi.dll_GetAdaptersInfo
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x96a33e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
call fcn.0096ae09
mov eax, 1
jmp 0x96a250