Function at 0x4b0ee0
Capabilities:
Connect to wmi namespace via wbemlocator
Reference sql statements
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1088
call fcn.004f18a0
mov eax, dword [0x5322a8]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
push edi
mov dword [ebp - 0x1070], eax
call dword [sym.imp.ole32.dll_CoInitialize]
cmp byte [0x53b5fd], 0
je 0x4b0fd8
lea ecx, [ebp - 0x1060]
push ecx
push 0x502118
mov ebx, 1
push ebx
push edi
push 0x5021e8
mov dword [ebp - 0x1060], edi
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4b0fd2
mov eax, dword [ebp - 0x1060]
lea ecx, [ebp - 0x105c]
push ecx
push edi
push edi
push edi
push edi
push edi
push edi
mov dword [ebp - 0x105c], edi
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push 0x52619c
push eax
call edx
test eax, eax
js 0x4b0fc4
mov eax, dword [ebp - 0x105c]
push edi
push edi
push 3
push 3
push edi
push edi
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
mov eax, dword [ebp - 0x105c]
js 0x4b0fbc
lea edx, [ebp - 0x1068]
push edx
push edi
push 0x30
push str.SELECT__FROM_Win32_NetworkAdapter_WHERE_AdapterTypeID__0_OR_AdapterTypeID__9
mov dword [ebp - 0x1068], edi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b0feb
mov eax, dword [ebp - 0x105c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1060]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
push 0x800
mov dword [ebp - 0x1064], edi
call fcn.004e4240
mov esi, eax
mov eax, dword [ebp - 0x1068]
add esp, 4
mov dword [ebp - 0x1074], esi
cmp eax, edi
je 0x4b2388
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ebx, [ebx]
mov ecx, dword [eax]
lea edx, [ebp - 0x1064]
push edx
lea edx, [ebp - 0x1054]
push edx
push ebx
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x1064], 0
je 0x4b2388
xor ecx, ecx
push 0xfe
push ecx
lea edx, [ebp - 0x73a]
push edx
mov word [ebp - 0x73c], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.Name
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b10b2
cmp word [ebp - 0x104c], bx
je 0x4b10b2
mov ecx, dword [ebp - 0x1044]
push 0x7f
push ecx
lea edx, [ebp - 0x73c]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
xor ecx, ecx
push 0xfe
push ecx
lea edx, [ebp - 0x63a]
push edx
mov word [ebp - 0x63c], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push 0x526254
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b111e
cmp word [ebp - 0x104c], bx
je 0x4b111e
mov ecx, dword [ebp - 0x1044]
push 0x7f
push ecx
lea edx, [ebp - 0x63c]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
xor ecx, ecx
push 0x7e
push ecx
lea edx, [ebp - 0x2ba]
push edx
mov word [ebp - 0x2bc], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.AdapterType
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b1187
cmp word [ebp - 0x104c], bx
je 0x4b1187
mov ecx, dword [ebp - 0x1044]
push 0x3f
push ecx
lea edx, [ebp - 0x2bc]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
xor ecx, ecx
push ecx
push ecx
xor eax, eax
mov word [ebp - 0x38], cx
lea ecx, [ebp - 0x104c]
push ecx
mov dword [ebp - 0x36], eax
mov dword [ebp - 0x32], eax
mov dword [ebp - 0x2e], eax
mov word [ebp - 0x2a], ax
mov eax, dword [ebp - 0x1054]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
push 0
push str.Availability
push eax
call edx
test eax, eax
jne 0x4b11e6
cmp word [ebp - 0x104c], bx
je 0x4b11e6
movsx ecx, word [ebp - 0x1044]
push 0xa
lea eax, [ebp - 0x38]
push eax
push ecx
call fcn.004e45ff
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x1ba]
push ecx
mov word [ebp - 0x1bc], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.GUID
push eax
call edx
test eax, eax
jne 0x4b124f
cmp word [ebp - 0x104c], bx
je 0x4b124f
mov eax, dword [ebp - 0x1044]
push 0x3f
push eax
lea ecx, [ebp - 0x1bc]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x3ba]
push ecx
mov word [ebp - 0x3bc], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.Manufacturer
push eax
call edx
test eax, eax
jne 0x4b12b8
cmp word [ebp - 0x104c], bx
je 0x4b12b8
mov eax, dword [ebp - 0x1044]
push 0x3f
push eax
lea ecx, [ebp - 0x3bc]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x43a]
push ecx
mov word [ebp - 0x43c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.NetConnectionID
push eax
call edx
test eax, eax
jne 0x4b1321
cmp word [ebp - 0x104c], bx
je 0x4b1321
mov eax, dword [ebp - 0x1044]
push 0x3f
push eax
lea ecx, [ebp - 0x43c]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
push 0
xor eax, eax
push 0
lea edx, [ebp - 0x104c]
push edx
mov word [ebp - 0x28], ax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov word [ebp - 0x1a], ax
mov eax, dword [ebp - 0x1054]
mov ecx, dword [eax]
push 0
push str.NetConnectionStatus
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b1380
cmp word [ebp - 0x104c], bx
je 0x4b1380
movsx edx, word [ebp - 0x1044]
push 0xa
lea ecx, [ebp - 0x28]
push ecx
push edx
call fcn.004e45ff
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
xor ecx, ecx
push 0xfe
push ecx
lea edx, [ebp - 0x83a]
push edx
mov word [ebp - 0x83c], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x1054]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.PNPDeviceID
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b13ec
cmp word [ebp - 0x104c], bx
je 0x4b13ec
mov ecx, dword [ebp - 0x1044]
push 0x7f
push ecx
lea edx, [ebp - 0x83c]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
push 0x800
push 0
push esi
call fcn.004e7d90
lea ecx, [ebp - 0x63c]
push ecx
push str.SELECT__FROM_Win32_NetworkAdapterConfiguration_WHERE_Caption___s
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp - 0x105c]
add esp, 0x18
lea ecx, [ebp - 0x106c]
push ecx
push 0
push 0x30
push esi
mov dword [ebp - 0x106c], 0
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
push 0x526208
push eax
call edx
mov eax, dword [ebp - 0x106c]
test eax, eax
je 0x4b2372
mov ecx, dword [eax]
lea edx, [ebp - 0x1064]
push edx
lea edx, [ebp - 0x1050]
push edx
push ebx
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x1064], 0
je 0x4b2388
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [ebp - 0x103a]
push edx
mov word [ebp - 0x103c], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.IPAddress
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b15a5
cmp word [ebp - 0x104c], bx
je 0x4b15a5
mov edx, dword [ebp - 0x1044]
lea ecx, [ebp - 0x1084]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov eax, dword [ebp - 0x1044]
mov eax, dword [eax + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1058], eax
test eax, eax
je 0x4b1580
lea esp, [esp]
test ebx, ebx
jne 0x4b1515
mov ecx, dword [ebp - 0x1084]
mov eax, dword [ecx]
lea edx, [ebp - 0x103c]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b1504
jmp 0x4b1552
mov edx, dword [ebp - 0x1084]
mov eax, dword [edx + ebx*4]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1520
lea edi, [ebp - 0x103c]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1536
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x103c]
add edi, 0xfffffffe
jmp 0x4b1560
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1560
mov eax, dword [0x51d580]
inc ebx
mov dword [edi], eax
cmp ebx, dword [ebp - 0x1058]
jb 0x4b14f0
mov ecx, dword [ebp - 0x1044]
push ecx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea edx, [ebp - 0x104c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, 1
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0x7a]
push ecx
mov word [ebp - 0x7c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.MACAddress
push eax
call edx
test eax, eax
jne 0x4b1605
cmp word [ebp - 0x104c], bx
je 0x4b1605
mov eax, dword [ebp - 0x1044]
push 0x1f
push eax
lea ecx, [ebp - 0x7c]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0xfe
push eax
lea ecx, [ebp - 0x53a]
push ecx
mov word [ebp - 0x53c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DefaultIPGateway
push eax
call edx
test eax, eax
jne 0x4b1743
cmp word [ebp - 0x104c], bx
je 0x4b1743
mov ecx, dword [ebp - 0x1044]
lea eax, [ebp - 0x1080]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov edx, dword [ebp - 0x1044]
mov esi, dword [edx + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1058], esi
test esi, esi
je 0x4b171e
test ebx, ebx
jne 0x4b16b1
mov eax, dword [ebp - 0x1080]
mov eax, dword [eax]
lea edx, [ebp - 0x53c]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b16a0
jmp 0x4b16f8
mov ecx, dword [ebp - 0x1080]
mov eax, dword [ecx + ebx*4]
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b16c0
lea edi, [ebp - 0x53c]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b16d6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1058]
lea edi, [ebp - 0x53c]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1701
mov edx, dword [0x51d580]
inc ebx
mov dword [edi], edx
cmp ebx, esi
jb 0x4b1685
mov eax, dword [ebp - 0x1044]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea ecx, [ebp - 0x104c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, 1
xor edx, edx
push 0x1fe
push edx
lea eax, [ebp - 0xc3a]
push eax
mov word [ebp - 0xc3c], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.IPSubnet
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b1882
cmp word [ebp - 0x104c], bx
je 0x4b1882
mov edx, dword [ebp - 0x1044]
lea ecx, [ebp - 0x107c]
push ecx
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov eax, dword [ebp - 0x1044]
mov esi, dword [eax + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1058], esi
test esi, esi
je 0x4b185d
test ebx, ebx
jne 0x4b17f1
mov ecx, dword [ebp - 0x107c]
mov eax, dword [ecx]
lea edx, [ebp - 0xc3c]
sub edx, eax
jmp 0x4b17e0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b17e0
jmp 0x4b1838
mov edx, dword [ebp - 0x107c]
mov eax, dword [edx + ebx*4]
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1800
lea edi, [ebp - 0xc3c]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1816
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1058]
lea edi, [ebp - 0xc3c]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1841
mov eax, dword [0x51d580]
inc ebx
mov dword [edi], eax
cmp ebx, esi
jb 0x4b17c3
mov ecx, dword [ebp - 0x1044]
push ecx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea edx, [ebp - 0x104c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, 1
xor eax, eax
push 0x1fe
push eax
lea ecx, [ebp - 0xa3a]
push ecx
mov word [ebp - 0xa3c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DNSServerSearchOrder
push eax
call edx
test eax, eax
jne 0x4b19c2
cmp word [ebp - 0x104c], bx
je 0x4b19c2
mov ecx, dword [ebp - 0x1044]
lea eax, [ebp - 0x1078]
push eax
push ecx
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov edx, dword [ebp - 0x1044]
mov esi, dword [edx + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1058], esi
test esi, esi
je 0x4b199d
test ebx, ebx
jne 0x4b1927
mov eax, dword [ebp - 0x1078]
mov eax, dword [eax]
lea edx, [ebp - 0xa3c]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b1916
jmp 0x4b1972
mov ecx, dword [ebp - 0x1078]
mov eax, dword [ecx + ebx*4]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1932
lea edi, [ebp - 0xa3c]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4b1950
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1950
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1058]
lea edi, [ebp - 0xa3c]
add edi, 0xfffffffe
jmp 0x4b1980
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1980
mov edx, dword [0x51d580]
inc ebx
mov dword [edi], edx
cmp ebx, esi
jb 0x4b1902
mov eax, dword [ebp - 0x1044]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea ecx, [ebp - 0x104c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, 1
xor edx, edx
push 0x7e
push edx
lea eax, [ebp - 0x33a]
push eax
mov word [ebp - 0x33c], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov ecx, dword [eax]
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x104c]
push edx
push 0
push str.DNSHostName
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b1a2b
cmp word [ebp - 0x104c], bx
je 0x4b1a2b
mov ecx, dword [ebp - 0x1044]
push 0x3f
push ecx
lea edx, [ebp - 0x33c]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x104c]
push eax
call edi
xor ecx, ecx
push ecx
push ecx
xor eax, eax
mov word [ebp - 0x18], cx
lea ecx, [ebp - 0x104c]
push ecx
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov word [ebp - 0xa], ax
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
push 0
push str.DNSEnabledForWINSResolution
push eax
call edx
test eax, eax
jne 0x4b1a8a
cmp word [ebp - 0x104c], bx
je 0x4b1a8a
movsx ecx, word [ebp - 0x1044]
push 0xa
lea eax, [ebp - 0x18]
push eax
push ecx
call fcn.004e45ff
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0xba]
push ecx
mov word [ebp - 0xbc], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DNSDomain
push eax
call edx
test eax, eax
jne 0x4b1af3
cmp word [ebp - 0x104c], bx
je 0x4b1af3
mov eax, dword [ebp - 0x1044]
push 0x1f
push eax
lea ecx, [ebp - 0xbc]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0x13a]
push ecx
mov word [ebp - 0x13c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DHCPServer
push eax
call edx
test eax, eax
jne 0x4b1b5c
cmp word [ebp - 0x104c], bx
je 0x4b1b5c
mov eax, dword [ebp - 0x1044]
push 0x1f
push eax
lea ecx, [ebp - 0x13c]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0xfa]
push ecx
mov word [ebp - 0xfc], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DHCPLeaseObtained
push eax
call edx
test eax, eax
jne 0x4b1bc5
cmp word [ebp - 0x104c], bx
je 0x4b1bc5
mov eax, dword [ebp - 0x1044]
push 0x1f
push eax
lea ecx, [ebp - 0xfc]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x23a]
push ecx
mov word [ebp - 0x23c], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x1050]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x104c]
push ecx
push 0
push str.DHCPLeaseExpires
push eax
call edx
test eax, eax
jne 0x4b1c2e
cmp word [ebp - 0x104c], bx
je 0x4b1c2e
mov eax, dword [ebp - 0x1044]
push 0x3f
push eax
lea ecx, [ebp - 0x23c]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x104c]
push edx
call edi
push 0x1000
call fcn.004e4240
push 0x1000
mov ebx, eax
push 0
push ebx
call fcn.004e7d90
lea eax, [ebp - 0x73c]
mov edx, ebx
mov ecx, eax
add esp, 0x10
sub edx, ecx
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b1c56
lea edi, [ebx - 2]
jmp 0x4b1c70
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1c70
mov edx, dword [0x51d454]
lea eax, [ebp - 0x63c]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1c90
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1ca0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1cc0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x2bc]
mov edx, eax
jmp 0x4b1ce0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1ce0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1cf0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1d10
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x38]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1d30
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1d40
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1d60
mov edx, dword [0x51d454]
lea eax, [ebp - 0x1bc]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1d80
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1d90
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1db0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x3bc]
mov edx, eax
jmp 0x4b1dd0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1dd0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1de0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1e00
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x43c]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1e20
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1e30
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1e50
mov edx, dword [0x51d454]
lea eax, [ebp - 0x28]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1e70
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1e80
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1ea0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x83c]
mov edx, eax
jmp 0x4b1ec0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1ec0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1ed0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1ef0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x103c]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1f10
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1f20
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1f40
mov edx, dword [0x51d454]
lea eax, [ebp - 0x7c]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1f60
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1f70
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1f90
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x53c]
mov edx, eax
jmp 0x4b1fb0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b1fb0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b1fc0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b1fe0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0xc3c]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2000
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2010
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2030
mov edx, dword [0x51d454]
lea eax, [ebp - 0xa3c]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2050
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2060
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2080
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x33c]
mov edx, eax
jmp 0x4b20a0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b20a0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b20b0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b20d0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x18]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b20f0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2100
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2120
mov edx, dword [0x51d454]
lea eax, [ebp - 0xbc]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2140
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2150
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2170
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x13c]
mov edx, eax
jmp 0x4b2190
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2190
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b21a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b21c0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0xfc]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b21e0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b21f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2210
mov edx, dword [0x51d454]
lea eax, [ebp - 0x23c]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2230
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2240
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b2260
mov eax, dword [0x51d454]
mov dword [edi], eax
mov eax, ebx
lea edx, [eax + 2]
jmp 0x4b2280
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2280
sub eax, edx
sar eax, 1
mov ecx, 1
mov word [ebx + eax*2], cx
mov eax, ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b22a0
mov ecx, dword [ebp - 0x1070]
sub eax, edx
sar eax, 1
lea esi, [ecx + 2]
jmp 0x4b22c0
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4b22c0
sub ecx, esi
sar ecx, 1
add ecx, eax
cmp ecx, 0x1af00
jae 0x4b2388
mov edx, dword [ebp - 0x1070]
mov eax, edx
lea esi, [eax + 2]
jmp 0x4b22f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b22f0
sub eax, esi
sar eax, 1
mov eax, ebx
jne 0x4b2316
sub edx, ebx
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4b2305
jmp 0x4b2352
mov edx, eax
jmp 0x4b2320
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b2320
mov edi, dword [ebp - 0x1070]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b2336
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
call fcn.004e424b
mov eax, dword [ebp - 0x106c]
mov esi, dword [ebp - 0x1074]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
add esp, 4
mov ebx, 1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x1068]
test eax, eax
jne 0x4b1020
mov ecx, dword [ebp - 0x1074]
push ecx
call fcn.004e424b
mov eax, dword [ebp - 0x1068]
mov edx, dword [eax]
add esp, 4
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x105c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1060]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.004e3946
mov esp, ebp
pop ebp
ret