Function at 0x10003a2f
Capabilities:
Get disk information
Get hostname

Disassembly:
push ebp
sub esp, 0x48
mov eax, 0x1000967e
call fcn.10009064
sub esp, 0x258
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], ebx
call fcn.10002ac6
push esi
sub esp, 0x18
mov byte [ebp - 4], 1
lea eax, [ebp + 0x54]
mov ecx, esp
push eax
call fcn.10005106
lea ecx, [ebp - 0x64]
call fcn.10002b97
test al, al
je 0x10003d2d
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0xc], ebx
lea eax, [ebp + 0x10]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x64]
call fcn.10002d5a
test al, al
jne 0x10003aad
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10003d2d
mov edx, dword [ebp + 0x18]
sub edx, ecx
jmp 0x10003d28
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
sub eax, ebx
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
jbe 0x10003d4f
mov dl, byte [ebx + ecx]
inc ecx
mov byte [ebp + 0x4a], dl
mov dword [ebp + 0xc], ecx
cmp eax, ecx
jbe 0x10003d4f
mov al, byte [ebx + ecx]
mov byte [ebp + 4], al
lea eax, [ecx + 1]
mov dword [ebp + 0xc], eax
xor eax, eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x1c], eax
mov byte [ebp - 4], 3
push 0xffffffffffffffa6
pop ecx
mov byte [ebp + 0x38], cl
mov dword [ebp + 0x3c], 6
mov dword [ebp + 0x40], 0xc9d4d4c3
mov byte [ebp + 0x44], 0xd4
mov byte [ebp + 0x45], cl
xor byte [ebp + eax + 0x40], cl
inc eax
cmp eax, dword [ebp + 0x3c]
jae 0x10003b1a
mov cl, byte [ebp + 0x38]
jmp 0x10003b0b
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp - 0x3c]
call fcn.100050cf
mov byte [ebp - 4], 4
xor edx, edx
push 0xffffffffffffff97
pop ecx
mov dword [ebp + 8], edx
mov eax, edx
mov byte [ebp + 0x38], cl
mov dword [ebp + 0x3c], 5
mov dword [ebp + 0x40], 0xb8b8add4
mov byte [ebp + 0x44], cl
xor byte [ebp + eax + 0x40], cl
inc eax
cmp eax, dword [ebp + 0x3c]
jae 0x10003b57
mov cl, byte [ebp + 0x38]
jmp 0x10003b48
push edx
push edx
push edx
push edx
lea eax, [ebp + 8]
push eax
push edx
push edx
lea eax, [ebp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x10003bb8
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x24]
call fcn.1000252a
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x2c], eax
cmp ecx, eax
je 0x10003bb0
mov edx, dword [ebp - 0x28]
cmp edx, 0x10
jb 0x10003b98
mov ecx, dword [ebp - 0x3c]
inc edx
call fcn.1000657b
mov eax, dword [ebp + 0x2c]
push 6
pop ecx
mov esi, eax
lea edi, [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
and dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x24]
call fcn.10005076
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp + 0x30]
call fcn.10005106
mov byte [ebp - 4], 5
lea eax, [ebp + 0x30]
cmp dword [ebp + 0x44], 0x10
lea ecx, [ebp + 0x1c]
push dword [ebp + 0x40]
cmovae eax, dword [ebp + 0x30]
push eax
call fcn.10002a2b
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 4
call fcn.10005076
lea eax, [ebp]
mov dword [ebp], 0x100
push eax
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
sub esp, 0x18
lea eax, [ebp - 0x264]
mov ecx, esp
push eax
call fcn.10004edf
lea ecx, [ebp + 0x1c]
call fcn.10002a8a
push 0xffffffffffffff88
pop ecx
mov byte [ebp + 0x38], cl
xor eax, eax
mov dword [ebp + 0x3c], 6
mov dword [ebp + 0x40], 0xf2fce1c0
mov byte [ebp + 0x44], 0xed
mov byte [ebp + 0x45], cl
xor byte [ebp + eax + 0x40], cl
inc eax
cmp eax, dword [ebp + 0x3c]
jae 0x10003c48
mov cl, byte [ebp + 0x38]
jmp 0x10003c39
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.100050cf
mov byte [ebp - 4], 6
lea eax, [ebp - 0x24]
cmp dword [ebp - 0x10], 0x10
lea ecx, [ebp + 0x1c]
push dword [ebp - 0x14]
cmovae eax, dword [ebp - 0x24]
push eax
call fcn.10002a2b
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.10005076
mov ecx, dword [ebp + 0x28]
xor esi, esi
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x2c], 1
mov dl, byte [ebp + esi + 0x2c]
mov byte [ebp + 0x4b], dl
cmp eax, ecx
je 0x10003c9d
mov byte [eax], dl
inc eax
mov dword [ebp + 0x24], eax
jmp 0x10003cb0
lea ecx, [ebp + 0x4b]
push ecx
push eax
lea ecx, [ebp + 0x20]
call fcn.1000703a
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc esi
cmp esi, 4
jb 0x10003c8a
cmp byte [ebp + 0x4a], 0
je 0x10003cda
mov byte [ebp + 0x4b], 0
cmp eax, ecx
je 0x10003ccd
mov byte [eax], 0
inc eax
mov dword [ebp + 0x24], eax
jmp 0x10003cda
lea ecx, [ebp + 0x4b]
push ecx
push eax
lea ecx, [ebp + 0x20]
call fcn.1000703a
cmp byte [ebp + 4], 0
je 0x10003cf2
sub esp, 0x18
mov ecx, esp
call fcn.100033cd
lea ecx, [ebp + 0x1c]
call fcn.10002a8a
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x64]
call fcn.10002c5d
push dword [ebp + 4]
mov dl, byte [ebp + 0x4a]
lea ecx, [ebp - 0x64]
call fcn.10003413
pop ecx
lea ecx, [ebp - 0x3c]
call fcn.10005076
lea ecx, [ebp + 0x20]
call fcn.100048d5
test ebx, ebx
je 0x10003d2d
mov edx, dword [ebp + 0x18]
mov ecx, ebx
sub edx, ebx
call fcn.1000657b
lea ecx, [ebp - 0x64]
call fcn.10003d55
lea ecx, [ebp + 0x54]
call fcn.10005076
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add ebp, 0x4c
leave
ret
call fcn.100051ef
int3