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

Disassembly:
push 0x3cc
mov eax, 0x444422
call fcn.00431e61
mov eax, dword [ebp + 8]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x18]
mov esi, ecx
mov ebx, edx
xor edi, edi
push eax
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x294], edi
call fcn.00427b62
pop ecx
mov byte [ebx], al
test al, al
jne 0x427c9d
mov ecx, dword [ebp - 0x264]
push 0x44946e
call fcn.00401f1d
jmp 0x4281a5
push str.ProductId
lea ecx, [ebp - 0x284]
call fcn.00401f1d
push str.HKLMSoftwareMicrosoftWindowsCurrentVersion
lea ecx, [ebp - 0x288]
mov dword [ebp - 4], 1
call fcn.00401f1d
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x260]
push eax
mov byte [ebp - 4], 2
call fcn.00424eab
add esp, 0xc
mov ecx, dword [ebp - 0x288]
add ecx, 0xfffffff0
call fcn.0040113c
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x284]
add ecx, 0xfffffff0
call fcn.0040113c
mov eax, dword [ebp - 0x260]
cmp dword [eax - 0xc], edi
push 0x402224
push 0x402651
setne al
push 0x1a
mov byte [esi], al
push 4
lea eax, [ebp - 0x370]
push eax
call fcn.004314d7
mov byte [ebp - 4], 6
mov ebx, dword [sym.imp.KERNEL32.DLL_SetErrorMode]
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x2a0], edi
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x278], 0x5c3a63
mov byte [ebp - 0x249], 0x63
mov esi, 0x100
mov al, byte [ebp - 0x249]
mov byte [ebp - 0x278], al
lea eax, [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.DLL_GetDriveTypeA]
cmp eax, 3
jne 0x427e14
push 0x8001
mov byte [ebp - 0x148], 0
call ebx
mov dword [ebp - 0x250], eax
push esi
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x28c]
push eax
push esi
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVolumeInformationA]
test eax, eax
je 0x427e0c
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x254]
mov byte [eax], 1
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp + ecx*4 - 0x370]
call fcn.0040227b
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x28c]
inc dword [ebp - 0x254]
mov dword [ebp + ecx*4 - 0x3d8], eax
push dword [ebp - 0x250]
call ebx
inc byte [ebp - 0x249]
cmp byte [ebp - 0x249], 0x7a
jle 0x427d65
mov ebx, 0x45a964
push ebx
lea ecx, [ebp - 0x26c]
call fcn.004021e1
push 0x10
pop eax
lea ecx, [ebp - 0x290]
push ecx
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x290], eax
call fcn.004022a0
push eax
call dword [sym.imp.KERNEL32.DLL_GetComputerNameA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x26c]
call fcn.00406909
push ebx
lea ecx, [ebp - 0x258]
call fcn.004021e1
push ebx
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 8
call fcn.004021e1
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x270], edi
call fcn.00402078
mov esi, dword [sym.imp.KERNEL32.DLL_GetComputerNameExA]
lea eax, [ebp - 0x270]
push eax
push edi
push 1
call esi
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x270], edi
je 0x427ef1
push dword [ebp - 0x270]
lea ecx, [ebp - 0x258]
call fcn.004022a0
lea ecx, [ebp - 0x270]
push ecx
push eax
push 1
call esi
push dword [ebp - 0x270]
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x250], eax
call fcn.00406909
cmp dword [ebp - 0x250], edi
jne 0x427eff
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp - 0x250], 1
jne 0x427f1b
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x258]
call fcn.004281b1
pop ecx
call fcn.0042829a
push ebx
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
call fcn.004021e1
mov eax, dword [ebp - 0x298]
mov byte [ebp - 4], 0xa
mov al, byte [eax]
mov dword [ebp - 0x304], edi
mov dword [ebp - 0x308], edi
push 8
pop ecx
mov esi, 0x44cd98
lea edi, [ebp - 0x300]
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x249], al
test al, al
jne 0x427fb3
mov eax, dword [ebp - 0x280]
cmp byte [eax], 0
jne 0x427fb3
mov eax, dword [ebp - 0x25c]
cmp byte [eax], 0
jne 0x427fbe
xor ecx, ecx
xor eax, eax
inc ecx
movzx edx, cl
and edx, 0x800000ff
jns 0x427f98
dec edx
or edx, 0xffffff00
inc edx
mov byte [ebp + eax - 0x3c], dl
inc eax
cmp eax, 0x1e
jl 0x427f84
push 0x1e
lea edi, [ebp - 0x308]
lea ecx, [ebp - 0x3c]
call fcn.0042b0ab
pop ecx
mov eax, dword [ebp - 0x25c]
cmp byte [eax], 0
je 0x427fcf
push 6
lea edi, [ebp - 0x308]
lea ecx, [ebp - 0x18]
call fcn.0042b0ab
pop ecx
cmp byte [ebp - 0x249], 0
je 0x427ffa
mov eax, dword [ebp - 0x260]
push dword [eax - 0xc]
lea ecx, [ebp - 0x260]
call fcn.0040aac6
lea edi, [ebp - 0x308]
mov ecx, eax
call fcn.0042b0ab
pop ecx
mov eax, dword [ebp - 0x280]
cmp byte [eax], 0
je 0x42803d
xor esi, esi
cmp dword [ebp - 0x254], esi
jbe 0x42803d
push 4
lea ecx, [ebp + esi*4 - 0x3d8]
lea edi, [ebp - 0x308]
call fcn.0042b0ab
pop ecx
mov ecx, dword [ebp + esi*4 - 0x370]
push dword [ecx - 0xc]
call fcn.0042b0ab
inc esi
pop ecx
cmp esi, dword [ebp - 0x254]
jb 0x42800f
mov ecx, dword [ebp - 0x26c]
push dword [ecx - 0xc]
lea edi, [ebp - 0x308]
call fcn.0042b0ab
pop ecx
push 8
lea ecx, [ebp - 0x274]
call fcn.0042b0ab
mov eax, dword [ebp - 0x268]
mov eax, dword [eax - 0xc]
pop ecx
test eax, eax
je 0x42807d
push eax
lea ecx, [ebp - 0x268]
call fcn.0040aac6
mov ecx, eax
jmp 0x428092
push 0x29
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.0042ded0
add esp, 0xc
push 0x29
lea ecx, [ebp - 0x44]
lea edi, [ebp - 0x308]
call fcn.0042b0ab
pop ecx
lea eax, [ebp - 0x3c]
push eax
mov esi, edi
call fcn.0042b144
pop ecx
push ebx
lea ecx, [ebp - 0x25c]
call fcn.004021e1
mov byte [ebp - 4], 0xb
xor esi, esi
movzx eax, byte [ebp + esi - 0x3c]
push eax
lea eax, [ebp - 0x25c]
push str._02X
push eax
call fcn.00403f05
mov edi, dword [ebp - 0x25c]
add esp, 0xc
push dword [edi - 0xc]
lea ecx, [ebp - 0x250]
push edi
call fcn.00401ff8
inc esi
cmp esi, 0x20
jl 0x4280bc
push 0x44d520
lea ecx, [ebp - 0x27c]
call fcn.00401f1d
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x250]
push dword [esi - 0xc]
lea ecx, [ebp - 0x27c]
push esi
call fcn.00401ff8
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x27c]
push eax
call fcn.00402206
mov ecx, dword [ebp - 0x27c]
add ecx, 0xfffffff0
mov dword [ebp - 0x294], 1
call fcn.0040113c
lea ecx, [edi - 0x10]
call fcn.0040113c
lea ecx, [esi - 0x10]
call fcn.0040113c
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0040113c
mov ecx, dword [ebp - 0x258]
add ecx, 0xfffffff0
call fcn.0040113c
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.0040113c
push 0x402224
push 0x1a
push 4
lea eax, [ebp - 0x370]
push eax
mov byte [ebp - 4], 5
call fcn.0042d38c
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
call fcn.0040113c
mov eax, dword [ebp - 0x264]
call fcn.00431ee4
ret