Function at 0x42c959
Capabilities:
Get disk information
Get hostname
Hash data using sha256

Disassembly:
push 0x5c0
mov eax, 0x44cc88
call fcn.00448385
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5b0], eax
lea eax, [ebp - 0x20]
mov esi, ecx
mov ebx, edx
xor edi, edi
push eax
mov dword [ebp - 0x5c4], esi
mov dword [ebp - 0x598], ebx
mov dword [ebp - 0x59c], edi
call fcn.0042b2c5
pop ecx
mov byte [ebx], al
test al, al
jne 0x42c9ca
push 0x453f00
push dword [ebp - 0x5b8]
call fcn.00401415
mov dword [ebp - 4], edi
mov dword [ebp - 0x59c], 1
mov eax, dword [ebp - 0x5b8]
jmp 0x42cf44
push str.ProductId
lea eax, [ebp - 0x590]
push eax
call fcn.00401415
push str.HKLMSoftwareMicrosoftWindowsCurrentVersion
lea eax, [ebp - 0x58c]
push eax
mov dword [ebp - 4], 1
call fcn.00401415
lea eax, [ebp - 0x590]
push eax
lea eax, [ebp - 0x58c]
push eax
lea eax, [ebp - 0x5ac]
push eax
mov byte [ebp - 4], 2
call fcn.0042e096
add esp, 0xc
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x58c]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x590]
add eax, 0xfffffff0
call fcn.0040114e
mov eax, dword [ebp - 0x5ac]
cmp dword [eax - 0xc], edi
push fcn.00401452
push fcn.004013f2
setne al
push 0x1a
mov byte [esi], al
push 4
lea eax, [ebp - 0x4b4]
push eax
call fcn.00438034
mov byte [ebp - 4], 6
mov eax, dword [0x45b144]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetErrorMode]
mov dword [ebp - 0x18], eax
mov eax, dword [0x45b148]
mov dword [ebp - 0x5bc], edi
mov dword [ebp - 0x5c0], edi
mov dword [ebp - 0x5cc], edi
mov dword [ebp - 0x594], edi
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x585], 0x63
mov esi, 0x100
movsx ax, byte [ebp - 0x585]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.DLL_GetDriveTypeW]
cmp eax, 3
jne 0x42cb4a
xor eax, eax
push 0x8001
mov word [ebp - 0x24c], ax
call ebx
mov dword [ebp - 0x58c], eax
push esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x5cc]
push eax
lea eax, [ebp - 0x5c0]
push eax
lea eax, [ebp - 0x5bc]
push eax
push esi
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVolumeInformationW]
test eax, eax
je 0x42cb42
mov eax, dword [ebp - 0x5b0]
mov byte [eax], 1
lea eax, [ebp - 0x24c]
push eax
mov eax, dword [ebp - 0x594]
lea eax, [ebp + eax*4 - 0x4b4]
push eax
call fcn.0040145c
mov ecx, dword [ebp - 0x594]
mov eax, dword [ebp - 0x5bc]
inc dword [ebp - 0x594]
mov dword [ebp + ecx*4 - 0x51c], eax
push dword [ebp - 0x58c]
call ebx
inc byte [ebp - 0x585]
cmp byte [ebp - 0x585], 0x7a
jle 0x42ca9e
mov eax, dword [section..data]
mov ebx, section..data
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x590], eax
push 0x10
pop eax
lea ecx, [ebp - 0x5c8]
push ecx
mov byte [ebp - 4], 7
push eax
lea esi, [ebp - 0x590]
mov dword [ebp - 0x5c8], eax
call fcn.0040151c
push eax
call dword [sym.imp.KERNEL32.DLL_GetComputerNameW]
or eax, 0xffffffff
call fcn.0040cb79
mov eax, dword [section..data]
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5a8], eax
mov byte [ebp - 4], 8
mov eax, dword [section..data]
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5a4], eax
mov byte [ebp - 4], 9
lea esi, [ebp - 0x5a8]
mov dword [ebp - 0x59c], edi
call fcn.004014da
lea eax, [ebp - 0x59c]
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.DLL_GetComputerNameExW]
push 1
call edi
cmp dword [ebp - 0x59c], 0
mov dword [ebp - 0x58c], eax
je 0x42cc2c
lea eax, [ebp - 0x59c]
push eax
push dword [ebp - 0x59c]
call fcn.0040151c
push eax
push 1
call edi
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x59c]
call fcn.0040cb79
xor esi, esi
cmp dword [ebp - 0x58c], esi
jne 0x42cc3c
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp - 0x58c], 1
jne 0x42cc5a
lea eax, [ebp - 0x5a4]
push eax
lea eax, [ebp - 0x5a8]
push eax
call fcn.0042b390
pop ecx
pop ecx
call fcn.0042b48a
mov dword [ebp - 0x5a0], eax
mov eax, dword [section..data]
mov ecx, ebx
mov dword [ebp - 0x59c], edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x5c4]
mov byte [ebp - 4], 0xa
mov al, byte [eax]
mov dword [ebp - 0x580], esi
mov dword [ebp - 0x584], esi
push 8
pop ecx
mov esi, 0x45c198
lea edi, [ebp - 0x57c]
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x585], al
test al, al
jne 0x42ccf9
mov eax, dword [ebp - 0x5b0]
cmp byte [eax], 0
jne 0x42ccf9
mov eax, dword [ebp - 0x598]
cmp byte [eax], 0
jne 0x42cd04
xor ecx, ecx
xor eax, eax
inc ecx
movzx edx, cl
and edx, 0x800000ff
jns 0x42ccde
dec edx
or edx, 0xffffff00
inc edx
mov byte [ebp + eax - 0x44], dl
inc eax
cmp eax, 0x1e
jl 0x42ccca
push 0x1e
lea edi, [ebp - 0x584]
lea ecx, [ebp - 0x44]
call fcn.00431f13
pop ecx
mov eax, dword [ebp - 0x598]
cmp byte [eax], 0
je 0x42cd15
push 6
lea edi, [ebp - 0x584]
lea ecx, [ebp - 0x20]
call fcn.00431f13
pop ecx
cmp byte [ebp - 0x585], 0
je 0x42cd4d
mov ecx, dword [ebp - 0x5ac]
cmp dword [ecx - 4], 1
mov esi, dword [ecx - 0xc]
jle 0x42cd40
push esi
lea eax, [ebp - 0x5ac]
push eax
call fcn.004016d6
mov ecx, dword [ebp - 0x5ac]
push esi
lea edi, [ebp - 0x584]
call fcn.00431f13
pop ecx
mov eax, dword [ebp - 0x5b0]
cmp byte [eax], 0
je 0x42cd90
xor esi, esi
cmp dword [ebp - 0x594], esi
jbe 0x42cd90
push 4
lea ecx, [ebp + esi*4 - 0x51c]
lea edi, [ebp - 0x584]
call fcn.00431f13
mov ecx, dword [ebp + esi*4 - 0x4b4]
push dword [ecx - 0xc]
call fcn.00431f13
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0x594]
jb 0x42cd62
mov ecx, dword [ebp - 0x590]
push dword [ecx - 0xc]
lea edi, [ebp - 0x584]
call fcn.00431f13
push 8
lea ecx, [ebp - 0x5a0]
call fcn.00431f13
pop ecx
pop ecx
mov ecx, dword [ebp - 0x5a4]
mov esi, dword [ecx - 0xc]
test esi, esi
je 0x42cde8
cmp dword [ecx - 4], 1
jle 0x42cdd9
push esi
lea eax, [ebp - 0x5a4]
push eax
call fcn.004016d6
mov ecx, dword [ebp - 0x5a4]
push esi
lea edi, [ebp - 0x584]
call fcn.00431f13
pop ecx
jmp 0x42ce08
push 0x29
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.00435b70
push 0x29
lea edi, [ebp - 0x584]
lea ecx, [ebp - 0x4c]
call fcn.00431f13
add esp, 0x10
lea eax, [ebp - 0x44]
push eax
lea esi, [ebp - 0x584]
call fcn.00431fa9
mov eax, dword [section..data]
pop ecx
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x598], eax
mov byte [ebp - 4], 0xb
xor esi, esi
movzx eax, byte [ebp + esi - 0x44]
push eax
lea eax, [ebp - 0x598]
push str._02X
push eax
call fcn.00401766
mov edi, dword [ebp - 0x598]
add esp, 0xc
push dword [edi - 0xc]
lea eax, [ebp - 0x58c]
push edi
call fcn.00404fd9
inc esi
cmp esi, 0x20
jl 0x42ce31
push 0x45b14c
lea eax, [ebp - 0x5b4]
push eax
call fcn.00401415
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x58c]
push dword [esi - 0xc]
lea eax, [ebp - 0x5b4]
push esi
call fcn.00404fd9
mov eax, dword [ebp - 0x5b4]
add eax, 0xfffffff0
call fcn.0040167a
mov ebx, dword [ebp - 0x5b8]
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x5b4]
add eax, 0xfffffff0
mov dword [ebp - 0x59c], 1
call fcn.0040114e
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xa
call fcn.0040114e
lea eax, [esi - 0x10]
mov byte [ebp - 4], 9
call fcn.0040114e
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x5a4]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x5a8]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x590]
add eax, 0xfffffff0
call fcn.0040114e
push fcn.00401452
push 0x1a
push 4
lea eax, [ebp - 0x4b4]
push eax
mov byte [ebp - 4], 5
call fcn.004353b3
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x5ac]
add eax, 0xfffffff0
call fcn.0040114e
mov eax, ebx
call fcn.00448408
ret