Function at 0x440440
Capabilities:
Get mac address on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe90
mov eax, dword [0x487b30]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
mov dword [ebp - 0xcd4], 0x474f78
mov eax, dword [ebp + 8]
mov dword [ebp - 0xcd8], eax
mov ecx, dword [ebp - 0xcd8]
mov dword [ebp - 0xcdc], ecx
mov edx, dword [ebp - 0xcd4]
mov ax, word [edx]
mov word [ebp - 0xcde], ax
mov ecx, dword [ebp - 0xcd8]
mov dx, word [ebp - 0xcde]
mov word [ecx], dx
mov eax, dword [ebp - 0xcd4]
add eax, 2
mov dword [ebp - 0xcd4], eax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
cmp word [ebp - 0xcde], 0
jne 0x440474
mov dword [ebp - 0x20], 0
push 0x288
call fcn.00457e15
add esp, 4
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0x288
mov dword [ebp - 0x18], 0
mov dl, byte [0x474da2]
mov byte [ebp - 0x928], dl
push 0x7ff
push 0
lea eax, [ebp - 0x927]
push eax
call fcn.00459420
add esp, 0xc
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x928]
push ecx
call fcn.004400b0
add esp, 4
lea edx, [ebp - 0x928]
push edx
call fcn.004433a0
add esp, 4
test eax, eax
jne 0x440533
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0
mov al, byte [0x474da3]
mov byte [ebp - 0x128], al
push 0xff
push 0
lea ecx, [ebp - 0x127]
push ecx
call fcn.00459420
add esp, 0xc
mov dword [ebp - 8], 0xff
mov dword [ebp - 0x10], 0
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 4]
push ecx
push 2
push 0x474f7c
push 0x474f94
push SysReAllocString
call fcn.00442c90
add esp, 0x1c
test eax, eax
jne 0x440720
lea edx, [ebp - 0x128]
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0xce4]
add eax, 1
mov dword [ebp - 0xce8], eax
mov ecx, dword [ebp - 0xce4]
mov dl, byte [ecx]
mov byte [ebp - 0xce9], dl
add dword [ebp - 0xce4], 1
cmp byte [ebp - 0xce9], 0
jne 0x4405b4
mov eax, dword [ebp - 0xce4]
sub eax, dword [ebp - 0xce8]
mov dword [ebp - 0xcf0], eax
je 0x440720
mov dword [ebp - 0x10], 1
cmp dword [ebp + 0x14], 0
je 0x440720
mov ecx, dword [ebp + 0x14]
add ecx, 0xffffffff
mov dword [ebp - 0xcf4], ecx
mov edx, dword [ebp - 0xcf4]
mov al, byte [edx + 1]
mov byte [ebp - 0xcf5], al
add dword [ebp - 0xcf4], 1
cmp byte [ebp - 0xcf5], 0
jne 0x440607
mov edi, dword [ebp - 0xcf4]
mov ecx, dword [str.REG]
mov dword [edi], ecx
mov dl, byte [0x474fc0]
mov byte [edi + 4], dl
lea eax, [ebp - 0x128]
mov dword [ebp - 0xcfc], eax
mov ecx, dword [ebp - 0xcfc]
mov dword [ebp - 0xd00], ecx
mov edx, dword [ebp - 0xcfc]
mov al, byte [edx]
mov byte [ebp - 0xd01], al
add dword [ebp - 0xcfc], 1
cmp byte [ebp - 0xd01], 0
jne 0x440655
mov ecx, dword [ebp - 0xcfc]
sub ecx, dword [ebp - 0xd00]
mov edx, dword [ebp - 0xd00]
mov dword [ebp - 0xd08], edx
mov dword [ebp - 0xd0c], ecx
mov eax, dword [ebp + 0x14]
add eax, 0xffffffff
mov dword [ebp - 0xd10], eax
mov ecx, dword [ebp - 0xd10]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xd11], dl
add dword [ebp - 0xd10], 1
cmp byte [ebp - 0xd11], 0
jne 0x44069d
mov edi, dword [ebp - 0xd10]
mov esi, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd0c]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
add ecx, 0xffffffff
mov dword [ebp - 0xd18], ecx
mov edx, dword [ebp - 0xd18]
mov al, byte [edx + 1]
mov byte [ebp - 0xd19], al
add dword [ebp - 0xd18], 1
cmp byte [ebp - 0xd19], 0
jne 0x4406e8
mov edi, dword [ebp - 0xd18]
mov cx, word [0x474fc4]
mov word [edi], cx
mov dl, byte [0x474fc6]
mov byte [edi + 2], dl
cmp dword [ebp + 0x14], 0
je 0x44080d
lea eax, [ebp - 0x928]
mov dword [ebp - 0xd20], eax
mov ecx, dword [ebp - 0xd20]
mov dword [ebp - 0xd24], ecx
mov edx, dword [ebp - 0xd20]
mov al, byte [edx]
mov byte [ebp - 0xd25], al
add dword [ebp - 0xd20], 1
cmp byte [ebp - 0xd25], 0
jne 0x440742
mov ecx, dword [ebp - 0xd20]
sub ecx, dword [ebp - 0xd24]
mov edx, dword [ebp - 0xd24]
mov dword [ebp - 0xd2c], edx
mov dword [ebp - 0xd30], ecx
mov eax, dword [ebp + 0x14]
add eax, 0xffffffff
mov dword [ebp - 0xd34], eax
mov ecx, dword [ebp - 0xd34]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xd35], dl
add dword [ebp - 0xd34], 1
cmp byte [ebp - 0xd35], 0
jne 0x44078a
mov edi, dword [ebp - 0xd34]
mov esi, dword [ebp - 0xd2c]
mov eax, dword [ebp - 0xd30]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
add ecx, 0xffffffff
mov dword [ebp - 0xd3c], ecx
mov edx, dword [ebp - 0xd3c]
mov al, byte [edx + 1]
mov byte [ebp - 0xd3d], al
add dword [ebp - 0xd3c], 1
cmp byte [ebp - 0xd3d], 0
jne 0x4407d5
mov edi, dword [ebp - 0xd3c]
mov cx, word [0x474fc8]
mov word [edi], cx
mov dl, byte [0x474fca]
mov byte [edi + 2], dl
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x6f
jne 0x44084e
mov edx, dword [ebp - 0xc]
push edx
call fcn.00456e4a
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00457e15
add esp, 4
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x441916
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x441185
cmp dword [ebp + 0x14], 0
je 0x440a7f
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
mov dword [ebp - 0xd44], ecx
mov edx, dword [ebp - 0xd44]
mov dword [ebp - 0xd48], edx
mov eax, dword [ebp - 0xd44]
mov cl, byte [eax]
mov byte [ebp - 0xd49], cl
add dword [ebp - 0xd44], 1
cmp byte [ebp - 0xd49], 0
jne 0x44088d
mov edx, dword [ebp - 0xd44]
sub edx, dword [ebp - 0xd48]
mov eax, dword [ebp - 0xd48]
mov dword [ebp - 0xd50], eax
mov dword [ebp - 0xd54], edx
mov ecx, dword [ebp + 0x14]
add ecx, 0xffffffff
mov dword [ebp - 0xd58], ecx
mov edx, dword [ebp - 0xd58]
mov al, byte [edx + 1]
mov byte [ebp - 0xd59], al
add dword [ebp - 0xd58], 1
cmp byte [ebp - 0xd59], 0
jne 0x4408d5
mov edi, dword [ebp - 0xd58]
mov esi, dword [ebp - 0xd50]
mov edx, dword [ebp - 0xd54]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
add eax, 0xffffffff
mov dword [ebp - 0xd60], eax
mov ecx, dword [ebp - 0xd60]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xd61], dl
add dword [ebp - 0xd60], 1
cmp byte [ebp - 0xd61], 0
jne 0x440920
mov edi, dword [ebp - 0xd60]
mov ax, word [0x474fcc]
mov word [edi], ax
mov dword [ebp - 0xa2c], 0
jmp 0x440969
mov ecx, dword [ebp - 0xa2c]
add ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa2c]
cmp eax, dword [edx + 0x190]
jae 0x440a47
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xa2c]
movzx edx, byte [ecx + 0x194]
push edx
push 0x474fd0
lea eax, [ebp - 0xa34]
push eax
call fcn.0045890f
add esp, 0xc
lea ecx, [ebp - 0xa34]
mov dword [ebp - 0xd68], ecx
mov edx, dword [ebp - 0xd68]
mov dword [ebp - 0xd6c], edx
mov eax, dword [ebp - 0xd68]
mov cl, byte [eax]
mov byte [ebp - 0xd6d], cl
add dword [ebp - 0xd68], 1
cmp byte [ebp - 0xd6d], 0
jne 0x4409bb
mov edx, dword [ebp - 0xd68]
sub edx, dword [ebp - 0xd6c]
mov eax, dword [ebp - 0xd6c]
mov dword [ebp - 0xd74], eax
mov dword [ebp - 0xd78], edx
mov ecx, dword [ebp + 0x14]
add ecx, 0xffffffff
mov dword [ebp - 0xd7c], ecx
mov edx, dword [ebp - 0xd7c]
mov al, byte [edx + 1]
mov byte [ebp - 0xd7d], al
add dword [ebp - 0xd7c], 1
cmp byte [ebp - 0xd7d], 0
jne 0x440a03
mov edi, dword [ebp - 0xd7c]
mov esi, dword [ebp - 0xd74]
mov edx, dword [ebp - 0xd78]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x44095a
mov eax, dword [ebp + 0x14]
add eax, 0xffffffff
mov dword [ebp - 0xd84], eax
mov ecx, dword [ebp - 0xd84]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xd85], dl
add dword [ebp - 0xd84], 1
cmp byte [ebp - 0xd85], 0
jne 0x440a53
mov edi, dword [ebp - 0xd84]
mov eax, dword [0x474fd8]
mov dword [edi], eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
mov dword [ebp - 0xd8c], ecx
lea edx, [ebp - 0xa28]
mov dword [ebp - 0xd90], edx
mov eax, dword [ebp - 0xd90]
mov dword [ebp - 0xd94], eax
mov ecx, dword [ebp - 0xd8c]
mov dl, byte [ecx]
mov byte [ebp - 0xd95], dl
mov eax, dword [ebp - 0xd90]
mov cl, byte [ebp - 0xd95]
mov byte [eax], cl
mov edx, dword [ebp - 0xd8c]
add edx, 1
mov dword [ebp - 0xd8c], edx
mov eax, dword [ebp - 0xd90]
add eax, 1
mov dword [ebp - 0xd90], eax
cmp byte [ebp - 0xd95], 0
jne 0x440aa6
lea ecx, [ebp - 0xa28]
add ecx, 0xffffffff
mov dword [ebp - 0xd9c], ecx
mov edx, dword [ebp - 0xd9c]
mov al, byte [edx + 1]
mov byte [ebp - 0xd9d], al
add dword [ebp - 0xd9c], 1
cmp byte [ebp - 0xd9d], 0
jne 0x440af8
mov edi, dword [ebp - 0xd9c]
mov ecx, dword [0x474fdc]
mov dword [edi], ecx
mov edx, dword [0x474fe0]
mov dword [edi + 4], edx
mov al, byte [0x474fe4]
mov byte [edi + 8], al
cmp dword [ebp - 0x14], 0
jne 0x440e9f
push str.Atheros
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.RealTek
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Realtek
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Intel_R_
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Marvell
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.D_Link
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.TP_LINK
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Qualcomm
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Killer
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.NVIDIA
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Wireless
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.USB_to_Ethernet
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Belkin
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Mediatek
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Dell
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.ASUS
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Cisco
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Ralink
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.HUAWEI
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Vodafone
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.iBall
lea eax, [ebp - 0xa28]
push eax
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.NetLink
lea ecx, [ebp - 0xa28]
push ecx
call fcn.00443990
add esp, 8
test eax, eax
jne 0x440db0
push str.Broadcom
lea edx, [ebp - 0xa28]
push edx
call fcn.00443990
add esp, 8
test eax, eax
je 0x440e9f
lea eax, [ebp - 0xa28]
mov dword [ebp - 0xda4], eax
mov ecx, dword [ebp - 0xda4]
mov dword [ebp - 0xda8], ecx
mov edx, dword [ebp - 0xda4]
mov al, byte [edx]
mov byte [ebp - 0xda9], al
add dword [ebp - 0xda4], 1
cmp byte [ebp - 0xda9], 0
jne 0x440dc8
mov ecx, dword [ebp - 0xda4]
sub ecx, dword [ebp - 0xda8]
mov edx, dword [ebp - 0xda8]
mov dword [ebp - 0xdb0], edx
mov dword [ebp - 0xdb4], ecx
lea eax, [ebp - 0x928]
add eax, 0xffffffff
mov dword [ebp - 0xdb8], eax
mov ecx, dword [ebp - 0xdb8]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xdb9], dl
add dword [ebp - 0xdb8], 1
cmp byte [ebp - 0xdb9], 0
jne 0x440e13
mov edi, dword [ebp - 0xdb8]
mov esi, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdb4]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x928]
add ecx, 0xffffffff
mov dword [ebp - 0xdc0], ecx
mov edx, dword [ebp - 0xdc0]
mov al, byte [edx + 1]
mov byte [ebp - 0xdc1], al
add dword [ebp - 0xdc0], 1
cmp byte [ebp - 0xdc1], 0
jne 0x440e61
mov edi, dword [ebp - 0xdc0]
mov ecx, dword [0x4750c0]
mov dword [edi], ecx
mov edx, dword [0x4750c4]
mov dword [edi + 4], edx
mov al, byte [0x4750c8]
mov byte [edi + 8], al
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x1a0], 0x47
jne 0x441178
lea edx, [ebp - 0xa28]
push edx
lea eax, [ebp - 0x928]
push eax
call fcn.00443990
add esp, 8
test eax, eax
je 0x441178
cmp dword [ebp - 0x10], 0
je 0x440faf
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xa44], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x10c
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa44]
push eax
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0xa40]
push ecx
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa38], 1
mov edx, dword [ebp - 0xa3c]
cmp edx, dword [ebp - 0xa48]
je 0x440f40
mov dword [ebp - 0xa38], 0
jmp 0x440f99
mov dword [ebp - 0xa4c], 0
jmp 0x440f5b
mov eax, dword [ebp - 0xa4c]
add eax, 1
mov dword [ebp - 0xa4c], eax
mov ecx, dword [ebp - 0xa4c]
cmp ecx, dword [ebp - 0xa3c]
jge 0x440f99
mov edx, dword [ebp - 0xa44]
add edx, dword [ebp - 0xa4c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xa40]
add ecx, dword [ebp - 0xa4c]
movsx edx, byte [ecx]
cmp eax, edx
je 0x440f97
mov dword [ebp - 0xa38], 0
jmp 0x440f99
jmp 0x440f4c
cmp dword [ebp - 0xa38], 0
jne 0x440faf
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
jmp 0x44085e
mov dword [ebp - 0xa50], 0
jmp 0x440fca
mov edx, dword [ebp - 0xa50]
add edx, 1
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xa50]
cmp ecx, dword [eax + 0x190]
jae 0x4410ca
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0xa50]
movzx eax, byte [edx + 0x194]
push eax
push 0x4750cc
push 6
lea ecx, [ebp - 0xa5c]
push ecx
call fcn.0040f8b0
add esp, 0x10
lea edx, [ebp - 0xa5c]
mov dword [ebp - 0xdc8], edx
mov eax, dword [ebp - 0xdc8]
mov dword [ebp - 0xdcc], eax
mov ecx, dword [ebp - 0xdc8]
mov dx, word [ecx]
mov word [ebp - 0xdce], dx
add dword [ebp - 0xdc8], 2
cmp word [ebp - 0xdce], 0
jne 0x44101e
mov eax, dword [ebp - 0xdc8]
sub eax, dword [ebp - 0xdcc]
mov ecx, dword [ebp - 0xdcc]
mov dword [ebp - 0xdd4], ecx
mov dword [ebp - 0xdd8], eax
mov edx, dword [ebp + 8]
add edx, 0xfffffffe
mov dword [ebp - 0xddc], edx
mov eax, dword [ebp - 0xddc]
mov cx, word [eax + 2]
mov word [ebp - 0xdde], cx
add dword [ebp - 0xddc], 2
cmp word [ebp - 0xdde], 0
jne 0x441069
mov edi, dword [ebp - 0xddc]
mov esi, dword [ebp - 0xdd4]
mov edx, dword [ebp - 0xdd8]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xa50]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xa50]
mov dl, byte [ecx + 0x194]
mov byte [eax], dl
jmp 0x440fbb
mov eax, dword [ebp + 8]
push eax
call fcn.00443360
add esp, 4
test eax, eax
jle 0x441178
cmp dword [ebp - 0x10], 0
jne 0x441176
mov dword [ebp - 0xa60], 0
lea ecx, [ebp - 0xa60]
push ecx
push 0x2001f
push 0
push 0x4750d8
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x44112b
lea edx, [ebp - 0xa60]
push edx
push 0x475100
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xa60], 0
je 0x441176
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004433a0
add esp, 4
add eax, 1
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
push ecx
push 1
push 0
push 0x475128
mov edx, dword [ebp - 0xa60]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0xa60]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x441185
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x44085e
mov eax, dword [ebp + 8]
push eax
call fcn.00443360
add esp, 4
test eax, eax
jne 0x441536
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x441536
mov edx, dword [ebp - 0x20]
add edx, 0x10c
mov dword [ebp - 0xde4], edx
lea eax, [ebp - 0xb60]
mov dword [ebp - 0xde8], eax
mov ecx, dword [ebp - 0xde8]
mov dword [ebp - 0xdec], ecx
mov edx, dword [ebp - 0xde4]
mov al, byte [edx]
mov byte [ebp - 0xded], al
mov ecx, dword [ebp - 0xde8]
mov dl, byte [ebp - 0xded]
mov byte [ecx], dl
mov eax, dword [ebp - 0xde4]
add eax, 1
mov dword [ebp - 0xde4], eax
mov ecx, dword [ebp - 0xde8]
add ecx, 1
mov dword [ebp - 0xde8], ecx
cmp byte [ebp - 0xded], 0
jne 0x4411d0
lea edx, [ebp - 0xb60]
add edx, 0xffffffff
mov dword [ebp - 0xdf4], edx
mov eax, dword [ebp - 0xdf4]
mov cl, byte [eax + 1]
mov byte [ebp - 0xdf5], cl
add dword [ebp - 0xdf4], 1
cmp byte [ebp - 0xdf5], 0
jne 0x441222
mov edi, dword [ebp - 0xdf4]
mov edx, dword [0x475140]
mov dword [edi], edx
mov eax, dword [0x475144]
mov dword [edi + 4], eax
mov cl, byte [0x475148]
mov byte [edi + 8], cl
lea edx, [ebp - 0xb60]
push edx
lea eax, [ebp - 0x928]
push eax
call fcn.00443990
add esp, 8
test eax, eax
je 0x441529
cmp dword [ebp - 0x10], 0
je 0x441360
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xb70], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x10c
mov dword [ebp - 0xb6c], edx
mov eax, dword [ebp - 0xb70]
push eax
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xb68], eax
mov ecx, dword [ebp - 0xb6c]
push ecx
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xb74], eax
mov dword [ebp - 0xb64], 1
mov edx, dword [ebp - 0xb68]
cmp edx, dword [ebp - 0xb74]
je 0x4412f1
mov dword [ebp - 0xb64], 0
jmp 0x44134a
mov dword [ebp - 0xb78], 0
jmp 0x44130c
mov eax, dword [ebp - 0xb78]
add eax, 1
mov dword [ebp - 0xb78], eax
mov ecx, dword [ebp - 0xb78]
cmp ecx, dword [ebp - 0xb68]
jge 0x44134a
mov edx, dword [ebp - 0xb70]
add edx, dword [ebp - 0xb78]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xb6c]
add ecx, dword [ebp - 0xb78]
movsx edx, byte [ecx]
cmp eax, edx
je 0x441348
mov dword [ebp - 0xb64], 0
jmp 0x44134a
jmp 0x4412fd
cmp dword [ebp - 0xb64], 0
jne 0x441360
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
jmp 0x44119f
mov dword [ebp - 0xb7c], 0
jmp 0x44137b
mov edx, dword [ebp - 0xb7c]
add edx, 1
mov dword [ebp - 0xb7c], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xb7c]
cmp ecx, dword [eax + 0x190]
jae 0x44147b
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0xb7c]
movzx eax, byte [edx + 0x194]
push eax
push 0x47514c
push 6
lea ecx, [ebp - 0xb88]
push ecx
call fcn.0040f8b0
add esp, 0x10
lea edx, [ebp - 0xb88]
mov dword [ebp - 0xdfc], edx
mov eax, dword [ebp - 0xdfc]
mov dword [ebp - 0xe00], eax
mov ecx, dword [ebp - 0xdfc]
mov dx, word [ecx]
mov word [ebp - 0xe02], dx
add dword [ebp - 0xdfc], 2
cmp word [ebp - 0xe02], 0
jne 0x4413cf
mov eax, dword [ebp - 0xdfc]
sub eax, dword [ebp - 0xe00]
mov ecx, dword [ebp - 0xe00]
mov dword [ebp - 0xe08], ecx
mov dword [ebp - 0xe0c], eax
mov edx, dword [ebp + 8]
add edx, 0xfffffffe
mov dword [ebp - 0xe10], edx
mov eax, dword [ebp - 0xe10]
mov cx, word [eax + 2]
mov word [ebp - 0xe12], cx
add dword [ebp - 0xe10], 2
cmp word [ebp - 0xe12], 0
jne 0x44141a
mov edi, dword [ebp - 0xe10]
mov esi, dword [ebp - 0xe08]
mov edx, dword [ebp - 0xe0c]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb7c]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xb7c]
mov dl, byte [ecx + 0x194]
mov byte [eax], dl
jmp 0x44136c
mov eax, dword [ebp + 8]
push eax
call fcn.00443360
add esp, 4
test eax, eax
jle 0x441529
cmp dword [ebp - 0x10], 0
jne 0x441527
mov dword [ebp - 0xb8c], 0
lea ecx, [ebp - 0xb8c]
push ecx
push 0x2001f
push 0
push 0x475158
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4414dc
lea edx, [ebp - 0xb8c]
push edx
push 0x475180
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xb8c], 0
je 0x441527
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004433a0
add esp, 4
add eax, 1
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
push ecx
push 1
push 0
push 0x4751a8
mov edx, dword [ebp - 0xb8c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0xb8c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x441536
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x44119f
mov eax, dword [ebp + 8]
push eax
call fcn.00443360
add esp, 4
test eax, eax
jne 0x441916
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x441916
push 0x4751c0
mov edx, dword [ebp - 0x20]
add edx, 0x10c
push edx
call fcn.00443990
add esp, 8
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 0
je 0x441589
mov eax, dword [ebp - 0xc94]
mov byte [eax], 0
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
mov dword [ebp - 0xe18], ecx
lea edx, [ebp - 0xc90]
mov dword [ebp - 0xe1c], edx
mov eax, dword [ebp - 0xe1c]
mov dword [ebp - 0xe20], eax
mov ecx, dword [ebp - 0xe18]
mov dl, byte [ecx]
mov byte [ebp - 0xe21], dl
mov eax, dword [ebp - 0xe1c]
mov cl, byte [ebp - 0xe21]
mov byte [eax], cl
mov edx, dword [ebp - 0xe18]
add edx, 1
mov dword [ebp - 0xe18], edx
mov eax, dword [ebp - 0xe1c]
add eax, 1
mov dword [ebp - 0xe1c], eax
cmp byte [ebp - 0xe21], 0
jne 0x4415b0
lea ecx, [ebp - 0xc90]
add ecx, 0xffffffff
mov dword [ebp - 0xe28], ecx
mov edx, dword [ebp - 0xe28]
mov al, byte [edx + 1]
mov byte [ebp - 0xe29], al
add dword [ebp - 0xe28], 1
cmp byte [ebp - 0xe29], 0
jne 0x441602
mov edi, dword [ebp - 0xe28]
mov ecx, dword [str.___X___]
mov dword [edi], ecx
mov edx, dword [0x4751c8]
mov dword [edi + 4], edx
mov al, byte [0x4751cc]
mov byte [edi + 8], al
lea ecx, [ebp - 0xc90]
push ecx
lea edx, [ebp - 0x928]
push edx
call fcn.00443990
add esp, 8
test eax, eax
je 0x441909
cmp dword [ebp - 0x10], 0
je 0x441740
lea eax, [ebp - 0x128]
mov dword [ebp - 0xca4], eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
mov dword [ebp - 0xca0], ecx
mov edx, dword [ebp - 0xca4]
push edx
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xca0]
push eax
call fcn.004433a0
add esp, 4
mov dword [ebp - 0xca8], eax
mov dword [ebp - 0xc98], 1
mov ecx, dword [ebp - 0xc9c]
cmp ecx, dword [ebp - 0xca8]
je 0x4416d1
mov dword [ebp - 0xc98], 0
jmp 0x44172a
mov dword [ebp - 0xcac], 0
jmp 0x4416ec
mov edx, dword [ebp - 0xcac]
add edx, 1
mov dword [ebp - 0xcac], edx
mov eax, dword [ebp - 0xcac]
cmp eax, dword [ebp - 0xc9c]
jge 0x44172a
mov ecx, dword [ebp - 0xca4]
add ecx, dword [ebp - 0xcac]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xca0]
add eax, dword [ebp - 0xcac]
movsx ecx, byte [eax]
cmp edx, ecx
je 0x441728
mov dword [ebp - 0xc98], 0
jmp 0x44172a
jmp 0x4416dd
cmp dword [ebp - 0xc98], 0
jne 0x441740
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
jmp 0x441550
mov dword [ebp - 0xcb0], 0
jmp 0x44175b
mov ecx, dword [ebp - 0xcb0]
add ecx, 1
mov dword [ebp - 0xcb0], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xcb0]
cmp eax, dword [edx + 0x190]
jae 0x44185b
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xcb0]
movzx edx, byte [ecx + 0x194]
push edx
push 0x4751d0
push 6
lea eax, [ebp - 0xcbc]
push eax
call fcn.0040f8b0
add esp, 0x10
lea ecx, [ebp - 0xcbc]
mov dword [ebp - 0xe30], ecx
mov edx, dword [ebp - 0xe30]
mov dword [ebp - 0xe34], edx
mov eax, dword [ebp - 0xe30]
mov cx, word [eax]
mov word [ebp - 0xe36], cx
add dword [ebp - 0xe30], 2
cmp word [ebp - 0xe36], 0
jne 0x4417af
mov edx, dword [ebp - 0xe30]
sub edx, dword [ebp - 0xe34]
mov eax, dword [ebp - 0xe34]
mov dword [ebp - 0xe3c], eax
mov dword [ebp - 0xe40], edx
mov ecx, dword [ebp + 8]
add ecx, 0xfffffffe
mov dword [ebp - 0xe44], ecx
mov edx, dword [ebp - 0xe44]
mov ax, word [edx + 2]
mov word [ebp - 0xe46], ax
add dword [ebp - 0xe44], 2
cmp word [ebp - 0xe46], 0
jne 0x4417fa
mov edi, dword [ebp - 0xe44]
mov esi, dword [ebp - 0xe3c]
mov edx, dword [ebp - 0xe40]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xcb0]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xcb0]
mov dl, byte [ecx + 0x194]
mov byte [eax], dl
jmp 0x44174c
mov eax, dword [ebp + 8]
push eax
call fcn.00443360
add esp, 4
test eax, eax
jle 0x441909
cmp dword [ebp - 0x10], 0
jne 0x441907
mov dword [ebp - 0xcc0], 0
lea ecx, [ebp - 0xcc0]
push ecx
push 0x2001f
push 0
push 0x4751dc
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4418bc
lea edx, [ebp - 0xcc0]
push edx
push str.SoftwareNTAdapter_
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xcc0], 0
je 0x441907
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004433a0
add esp, 4
add eax, 1
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10c
push ecx
push 1
push 0
push str.AdapterName
mov edx, dword [ebp - 0xcc0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0xcc0]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x441916
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x441550
cmp dword [ebp - 0xc], 0
je 0x44192f
mov eax, dword [ebp - 0xc]
push eax
call fcn.00456e4a
add esp, 4
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00443360
add esp, 4
test eax, eax
jne 0x441b76
cmp dword [ebp - 0x10], 0
je 0x441b05
cmp dword [ebp + 0x10], 0
je 0x441b03
mov dword [ebp - 0xe4c], str.Please_enable_network_adapter:
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xe50], edx
mov eax, dword [ebp - 0xe50]
mov dword [ebp - 0xe54], eax
mov ecx, dword [ebp - 0xe4c]
mov dx, word [ecx]
mov word [ebp - 0xe56], dx
mov eax, dword [ebp - 0xe50]
mov cx, word [ebp - 0xe56]
mov word [eax], cx
mov edx, dword [ebp - 0xe4c]
add edx, 2
mov dword [ebp - 0xe4c], edx
mov eax, dword [ebp - 0xe50]
add eax, 2
mov dword [ebp - 0xe50], eax
cmp word [ebp - 0xe56], 0
jne 0x441976
call fcn.004103c0
mov dword [ebp - 0xccc], eax
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xcd0], ecx
cmp dword [ebp - 0xcd0], 0
jne 0x4419ea
mov dword [ebp - 0xe5c], 0
jmp 0x441a5e
mov edx, dword [ebp - 0xcd0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0xcc4], eax
cmp dword [ebp - 0xcc4], 0x3fffffff
jle 0x441a18
mov dword [ebp - 0xe60], 0
jmp 0x441a52
mov eax, dword [ebp - 0xcc4]
shl eax, 1
call fcn.0045bfa0
mov dword [ebp - 0xe64], esp
mov eax, dword [ebp - 0xccc]
push eax
mov ecx, dword [ebp - 0xcc4]
push ecx
mov edx, dword [ebp - 0xcd0]
push edx
mov eax, dword [ebp - 0xe64]
push eax
call fcn.0040f860
mov dword [ebp - 0xe60], eax
mov ecx, dword [ebp - 0xe60]
mov dword [ebp - 0xe5c], ecx
mov edx, dword [ebp - 0xe5c]
mov dword [ebp - 0xe68], edx
mov eax, dword [ebp - 0xe68]
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe68]
mov dx, word [ecx]
mov word [ebp - 0xe6e], dx
add dword [ebp - 0xe68], 2
cmp word [ebp - 0xe6e], 0
jne 0x441a76
mov eax, dword [ebp - 0xe68]
sub eax, dword [ebp - 0xe6c]
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xe74], ecx
mov dword [ebp - 0xe78], eax
mov edx, dword [ebp + 0x10]
add edx, 0xfffffffe
mov dword [ebp - 0xe7c], edx
mov eax, dword [ebp - 0xe7c]
mov cx, word [eax + 2]
mov word [ebp - 0xe7e], cx
add dword [ebp - 0xe7c], 2
cmp word [ebp - 0xe7e], 0
jne 0x441ac1
mov edi, dword [ebp - 0xe7c]
mov esi, dword [ebp - 0xe74]
mov edx, dword [ebp - 0xe78]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x441b72
cmp dword [ebp + 0x10], 0
je 0x441b72
mov dword [ebp - 0xe84], str.Please_enable_a_network_adapter_
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xe88], eax
mov ecx, dword [ebp - 0xe88]
mov dword [ebp - 0xe8c], ecx
mov edx, dword [ebp - 0xe84]
mov ax, word [edx]
mov word [ebp - 0xe8e], ax
mov ecx, dword [ebp - 0xe88]
mov dx, word [ebp - 0xe8e]
mov word [ecx], dx
mov eax, dword [ebp - 0xe84]
add eax, 2
mov dword [ebp - 0xe84], eax
mov ecx, dword [ebp - 0xe88]
add ecx, 2
mov dword [ebp - 0xe88], ecx
cmp word [ebp - 0xe8e], 0
jne 0x441b2a
xor eax, eax
jmp 0x441b7b
mov eax, 1
lea esp, [ebp - 0xe98]
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.0045670b
mov esp, ebp
pop ebp
ret