Function at 0x42c110
Capabilities:
Get disk information
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x563721
mov eax, dword fs:[0]
push eax
sub esp, 0xb88
mov eax, dword [0x5d26e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov edi, ecx
cmp byte [edi + 0x454], 0
mov dword [ebp - 0xb68], ebx
mov dword [ebp - 0xb44], eax
mov byte [edi + 0x453], 0
mov byte [edi + 0x450], 0
jne 0x42c1d8
lea esi, [edi + 0x14]
push esi
call fcn.00469bf0
mov word [edi + 0x12], ax
cmp ax, 0x12
je 0x42c182
cmp ax, 0x3b
jne 0x42c1d8
push esi
call fcn.00469bf0
mov word [edi + 0x12], ax
cmp ax, 0x12
je 0x42c198
cmp ax, 0x3b
jne 0x42c1d8
lea ecx, [ebp - 0xb44]
push 0x804b
push ecx
call fcn.0041d0c0
add esp, 8
mov dword [ebp - 4], 0
mov eax, dword [eax]
push 0
push 0
push eax
call fcn.004a0dad
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb44]
call fcn.004022b0
xor al, al
jmp 0x42c46a
mov edx, dword [ebp - 0xb44]
push 1
push edx
mov ecx, edi
call fcn.0042a5b0
cmp word [edi + 0x12], 0
jne 0x42c230
lea eax, [ebp - 0xb48]
push eax
push 0
lea ecx, [edi + 0x14]
push ecx
call fcn.00469d00
mov word [edi + 0x12], ax
test ax, ax
jne 0x42c227
movzx edx, word [ebp - 0xb48]
shl edx, 0x10
mov byte [edi + 0x450], 1
xor edx, dword [ebx + 8]
and edx, 0x7fff0000
xor dword [ebx + 8], edx
push 0
mov ecx, edi
call fcn.00428070
cmp byte [edi + 0x450], 0
jne 0x42c468
lea eax, [ebp - 0xb44]
push eax
push 0
mov dword [ebp - 0xb44], 0
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x42c2a6
mov ecx, dword [ebp - 0xb44]
push ecx
call fcn.004cf255
add esp, 4
lea edx, [ebp - 0xb44]
mov esi, eax
push edx
push esi
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x42c29d
mov eax, esi
test esi, esi
je 0x42c29d
mov ecx, 6
cmp dword [eax + 0x1a0], ecx
jne 0x42c297
cmp dword [eax + 0x190], ecx
jae 0x42c29d
mov eax, dword [eax]
test eax, eax
jne 0x42c287
push esi
call fcn.004ce2e1
add esp, 4
lea ecx, [ebp - 0xb60]
call fcn.0041e840
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xb40]
call fcn.0040bbe0
mov byte [ebp - 4], 2
lea eax, [ebp - 0xb60]
push eax
lea ecx, [ebp - 0xb40]
call fcn.0040d2d0
mov eax, dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb54]
mov edx, eax
sub edx, ecx
jne 0x42c2f6
mov byte [edi + 0x453], dl
jmp 0x42c398
mov esi, 1
cmp edx, esi
jbe 0x42c391
mov ebx, esi
and ebx, 0x80000001
jns 0x42c312
dec ebx
or ebx, 0xfffffffe
inc ebx
jne 0x42c345
test edx, edx
ja 0x42c329
call fcn.004cde77
mov eax, dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb54]
sub eax, ecx
mov ebx, ecx
cmp esi, eax
jb 0x42c33c
call fcn.004cde77
mov ecx, dword [ebp - 0xb54]
mov cl, byte [ecx + esi]
not cl
xor byte [ebx], cl
jmp 0x42c372
test edx, edx
ja 0x42c35a
call fcn.004cde77
mov eax, dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb54]
sub eax, ecx
mov ebx, ecx
cmp esi, eax
jb 0x42c36d
call fcn.004cde77
mov ecx, dword [ebp - 0xb54]
mov dl, byte [ecx + esi]
xor byte [ebx], dl
mov eax, dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb54]
mov edx, eax
inc esi
sub edx, ecx
cmp esi, edx
jb 0x42c303
mov ebx, dword [ebp - 0xb68]
mov byte [edi + 0x453], 1
push 0x57cf70
lea eax, [ebp - 0x30]
push 0x20
push eax
call fcn.004cf19e
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0xb6c]
push ecx
lea edx, [ebp - 0xb70]
push edx
lea eax, [ebp - 0xb64]
push eax
push 0
push 0
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov eax, dword [ebp - 0xb64]
mov edx, eax
shr edx, 0x18
mov ecx, eax
shr ecx, 0x10
xor edx, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cx
xor edx, ecx
movzx eax, ax
xor edx, eax
shl edx, 0x10
xor edx, dword [ebx + 8]
and edx, 0x7fff0000
xor dword [ebx + 8], edx
cmp byte [edi + 0x453], 0
je 0x42c42b
mov ecx, dword [ebp - 0xb50]
sub ecx, dword [ebp - 0xb54]
jne 0x42c41e
call fcn.004cde77
mov edx, dword [ebp - 0xb54]
mov al, byte [edx]
mov byte [ebx + 0xb], al
jmp 0x42c447
lea ecx, [ebp - 0xb94]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dl, byte [ebp - 0xb72]
xor dl, byte [ebp - 0xb74]
mov byte [ebx + 0xb], dl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb40]
call fcn.00465820
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb60]
call fcn.0040c3d0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004cdc91
mov esp, ebp
pop ebp
ret 8