Function at 0x440340
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 0x440374
mov dword [ebp - 0x20], 0
push 0x288
call fcn.00457e65
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.00459470
add esp, 0xc
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x928]
push ecx
call fcn.0043ffb0
add esp, 4
lea edx, [ebp - 0x928]
push edx
call fcn.004432a0
add esp, 4
test eax, eax
jne 0x440433
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.00459470
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.00442b90
add esp, 0x1c
test eax, eax
jne 0x440620
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 0x4404b4
mov eax, dword [ebp - 0xce4]
sub eax, dword [ebp - 0xce8]
mov dword [ebp - 0xcf0], eax
je 0x440620
mov dword [ebp - 0x10], 1
cmp dword [ebp + 0x14], 0
je 0x440620
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 0x440507
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 0x440555
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 0x44059d
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 0x4405e8
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 0x44070d
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 0x440642
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 0x44068a
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 0x4406d5
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 0x44074e
mov edx, dword [ebp - 0xc]
push edx
call fcn.00456eed
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00457e65
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 0x441816
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x441085
cmp dword [ebp + 0x14], 0
je 0x44097f
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 0x44078d
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 0x4407d5
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 0x440820
mov edi, dword [ebp - 0xd60]
mov ax, word [0x474fcc]
mov word [edi], ax
mov dword [ebp - 0xa2c], 0
jmp 0x440869
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 0x440947
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.0045895f
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 0x4408bb
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 0x440903
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 0x44085a
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 0x440953
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 0x4409a6
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 0x4409f8
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 0x440d9f
push str.Atheros
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.RealTek
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Realtek
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Intel_R_
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Marvell
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.D_Link
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.TP_LINK
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Qualcomm
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Killer
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.NVIDIA
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Wireless
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.USB_to_Ethernet
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Belkin
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Mediatek
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Dell
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.ASUS
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Cisco
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Ralink
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.HUAWEI
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Vodafone
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.iBall
lea eax, [ebp - 0xa28]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.NetLink
lea ecx, [ebp - 0xa28]
push ecx
call fcn.004438b0
add esp, 8
test eax, eax
jne 0x440cb0
push str.Broadcom
lea edx, [ebp - 0xa28]
push edx
call fcn.004438b0
add esp, 8
test eax, eax
je 0x440d9f
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 0x440cc8
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 0x440d13
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 0x440d61
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 0x441078
lea edx, [ebp - 0xa28]
push edx
lea eax, [ebp - 0x928]
push eax
call fcn.004438b0
add esp, 8
test eax, eax
je 0x441078
cmp dword [ebp - 0x10], 0
je 0x440eaf
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.004432a0
add esp, 4
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0xa40]
push ecx
call fcn.004432a0
add esp, 4
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa38], 1
mov edx, dword [ebp - 0xa3c]
cmp edx, dword [ebp - 0xa48]
je 0x440e40
mov dword [ebp - 0xa38], 0
jmp 0x440e99
mov dword [ebp - 0xa4c], 0
jmp 0x440e5b
mov eax, dword [ebp - 0xa4c]
add eax, 1
mov dword [ebp - 0xa4c], eax
mov ecx, dword [ebp - 0xa4c]
cmp ecx, dword [ebp - 0xa3c]
jge 0x440e99
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 0x440e97
mov dword [ebp - 0xa38], 0
jmp 0x440e99
jmp 0x440e4c
cmp dword [ebp - 0xa38], 0
jne 0x440eaf
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
jmp 0x44075e
mov dword [ebp - 0xa50], 0
jmp 0x440eca
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 0x440fca
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.0040f900
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 0x440f1e
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 0x440f69
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 0x440ebb
mov eax, dword [ebp + 8]
push eax
call fcn.00443260
add esp, 4
test eax, eax
jle 0x441078
cmp dword [ebp - 0x10], 0
jne 0x441076
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 0x44102b
lea edx, [ebp - 0xa60]
push edx
push 0x475100
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xa60], 0
je 0x441076
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004432a0
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 0x441085
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x44075e
mov eax, dword [ebp + 8]
push eax
call fcn.00443260
add esp, 4
test eax, eax
jne 0x441436
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x441436
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 0x4410d0
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 0x441122
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.004438b0
add esp, 8
test eax, eax
je 0x441429
cmp dword [ebp - 0x10], 0
je 0x441260
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.004432a0
add esp, 4
mov dword [ebp - 0xb68], eax
mov ecx, dword [ebp - 0xb6c]
push ecx
call fcn.004432a0
add esp, 4
mov dword [ebp - 0xb74], eax
mov dword [ebp - 0xb64], 1
mov edx, dword [ebp - 0xb68]
cmp edx, dword [ebp - 0xb74]
je 0x4411f1
mov dword [ebp - 0xb64], 0
jmp 0x44124a
mov dword [ebp - 0xb78], 0
jmp 0x44120c
mov eax, dword [ebp - 0xb78]
add eax, 1
mov dword [ebp - 0xb78], eax
mov ecx, dword [ebp - 0xb78]
cmp ecx, dword [ebp - 0xb68]
jge 0x44124a
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 0x441248
mov dword [ebp - 0xb64], 0
jmp 0x44124a
jmp 0x4411fd
cmp dword [ebp - 0xb64], 0
jne 0x441260
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
jmp 0x44109f
mov dword [ebp - 0xb7c], 0
jmp 0x44127b
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 0x44137b
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.0040f900
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 0x4412cf
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 0x44131a
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 0x44126c
mov eax, dword [ebp + 8]
push eax
call fcn.00443260
add esp, 4
test eax, eax
jle 0x441429
cmp dword [ebp - 0x10], 0
jne 0x441427
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 0x4413dc
lea edx, [ebp - 0xb8c]
push edx
push 0x475180
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xb8c], 0
je 0x441427
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004432a0
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 0x441436
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x44109f
mov eax, dword [ebp + 8]
push eax
call fcn.00443260
add esp, 4
test eax, eax
jne 0x441816
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x441816
push 0x4751c0
mov edx, dword [ebp - 0x20]
add edx, 0x10c
push edx
call fcn.004438b0
add esp, 8
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 0
je 0x441489
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 0x4414b0
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 0x441502
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.004438b0
add esp, 8
test eax, eax
je 0x441809
cmp dword [ebp - 0x10], 0
je 0x441640
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.004432a0
add esp, 4
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xca0]
push eax
call fcn.004432a0
add esp, 4
mov dword [ebp - 0xca8], eax
mov dword [ebp - 0xc98], 1
mov ecx, dword [ebp - 0xc9c]
cmp ecx, dword [ebp - 0xca8]
je 0x4415d1
mov dword [ebp - 0xc98], 0
jmp 0x44162a
mov dword [ebp - 0xcac], 0
jmp 0x4415ec
mov edx, dword [ebp - 0xcac]
add edx, 1
mov dword [ebp - 0xcac], edx
mov eax, dword [ebp - 0xcac]
cmp eax, dword [ebp - 0xc9c]
jge 0x44162a
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 0x441628
mov dword [ebp - 0xc98], 0
jmp 0x44162a
jmp 0x4415dd
cmp dword [ebp - 0xc98], 0
jne 0x441640
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
jmp 0x441450
mov dword [ebp - 0xcb0], 0
jmp 0x44165b
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 0x44175b
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.0040f900
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 0x4416af
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 0x4416fa
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 0x44164c
mov eax, dword [ebp + 8]
push eax
call fcn.00443260
add esp, 4
test eax, eax
jle 0x441809
cmp dword [ebp - 0x10], 0
jne 0x441807
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 0x4417bc
lea edx, [ebp - 0xcc0]
push edx
push str.SoftwareNTAdapter_
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
cmp dword [ebp - 0xcc0], 0
je 0x441807
mov eax, dword [ebp - 0x20]
add eax, 0x10c
push eax
call fcn.004432a0
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 0x441816
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
jmp 0x441450
cmp dword [ebp - 0xc], 0
je 0x44182f
mov eax, dword [ebp - 0xc]
push eax
call fcn.00456eed
add esp, 4
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00443260
add esp, 4
test eax, eax
jne 0x441a76
cmp dword [ebp - 0x10], 0
je 0x441a05
cmp dword [ebp + 0x10], 0
je 0x441a03
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 0x441876
call fcn.00410430
mov dword [ebp - 0xccc], eax
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xcd0], ecx
cmp dword [ebp - 0xcd0], 0
jne 0x4418ea
mov dword [ebp - 0xe5c], 0
jmp 0x44195e
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 0x441918
mov dword [ebp - 0xe60], 0
jmp 0x441952
mov eax, dword [ebp - 0xcc4]
shl eax, 1
call fcn.0045bff0
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.0040f8b0
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 0x441976
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 0x4419c1
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 0x441a72
cmp dword [ebp + 0x10], 0
je 0x441a72
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 0x441a2a
xor eax, eax
jmp 0x441a7b
mov eax, 1
lea esp, [ebp - 0xe98]
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004567ae
mov esp, ebp
pop ebp
ret