Function at 0x10109d20
Capabilities:
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0x10135d4b
mov eax, dword fs:[0]
push eax
sub esp, 0x628
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x624], eax
push ebx
push esi
push edi
mov eax, dword [0x1017455c]
xor eax, esp
push eax
lea eax, [esp + 0x638]
mov dword fs:[0], eax
xor eax, eax
push 0x208
mov word [esp + 0x14], ax
xor ebx, ebx
mov esi, ecx
mov edi, edx
lea eax, [esp + 0x42e]
xor ecx, ecx
xor edx, edx
push ebx
push eax
mov word [esp + 0x1e], cx
mov word [esp + 0x434], dx
call fcn.10116880
push 0x206
lea edx, [esp + 0x232]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x238], cx
call fcn.10116880
add esp, 0x18
cmp edi, ebx
je 0x10109db1
mov byte [edi], bl
cmp esi, ebx
je 0x10109fee
movzx eax, word [esi]
cmp ax, bx
je 0x10109fee
mov word [esp + 0x10], ax
movzx eax, ax
push eax
call fcn.10110cf8
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x228]
push 0x104
push edx
mov word [esp + 0x20], ax
call fcn.1011114c
lea eax, [esp + 0x230]
add esp, 0x10
add eax, 0xfffffffe
lea esp, [esp]
mov cx, word [eax + 2]
add eax, 2
cmp cx, bx
jne 0x10109e00
mov ecx, dword [0x10167cb8]
mov dx, word [0x10167cbc]
push 0x105
mov dword [eax], ecx
mov word [eax + 4], dx
lea eax, [esp + 0x42c]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
jne 0x10109e65
cmp edi, ebx
je 0x1010a000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_Getting_volumn_information__UnImmunize___Error_Code:__d
push edi
call fcn.1010d6a8
add esp, 0xc
jmp 0x1010a000
mov ecx, str.NTFS
lea eax, [esp + 0x428]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10109e97
cmp dx, bx
je 0x10109e93
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10109e97
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x10109e71
xor eax, eax
jmp 0x10109e9c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10109f06
push 0x103
lea edx, [esp + 0x1d]
push ebx
push edx
mov byte [esp + 0x24], bl
call fcn.10116880
push ebx
lea edx, [esp + 0x28]
lea ecx, [esp + 0x20]
mov dword [0x10197d80], ebx
call fcn.1010a660
add esp, 0x10
test eax, eax
je 0x10109ee6
push str._n_Status_Got_Successfully
call fcn.1010de46
mov eax, dword [0x10197d80]
add esp, 4
jmp 0x1010a002
cmp edi, ebx
je 0x1010a000
lea eax, [esp + 0x18]
push eax
push str.Vaccinate_NTFS_Drive_Failed._UnImmunize___s
push edi
call fcn.1010d6a8
add esp, 0xc
jmp 0x1010a000
mov ecx, str.FAT32
lea eax, [esp + 0x428]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10109f38
cmp dx, bx
je 0x10109f34
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10109f38
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x10109f12
xor eax, eax
jmp 0x10109f3d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10109fd7
push 0x103
lea ecx, [esp + 0x121]
push ebx
push ecx
mov byte [esp + 0x128], bl
call fcn.10116880
push 4
call fcn.1010ccc2
lea edx, [esp + 0x20]
push edx
mov esi, eax
push 2
push esi
call fcn.1011114c
add esp, 0x1c
push esi
lea esi, [esp + 0x18]
mov dword [0x1018fe90], ebx
call fcn.1000a570
push ebx
lea esi, [esp + 0x120]
lea ecx, [esp + 0x18]
mov dword [esp + 0x644], ebx
call fcn.1000a780
test eax, eax
jne 0x10109fc4
cmp edi, ebx
je 0x10109fb9
mov eax, esi
push eax
push str.Vaccinate_FAT_Drive_Failed._UnImmunize___s
push edi
call fcn.1010d6a8
add esp, 0xc
lea edi, [esp + 0x14]
call fcn.1000a5a0
jmp 0x1010a000
mov esi, dword [0x1018fe90]
lea edi, [esp + 0x14]
call fcn.1000a5a0
mov eax, esi
jmp 0x1010a002
cmp edi, ebx
je 0x10109fe9
push str.Unrecognized_File_System__Immunize_...
push edi
call fcn.1010d6a8
add esp, 8
or eax, 0xffffffff
jmp 0x1010a002
cmp edi, ebx
je 0x1010a000
push str.Invalid_Drive_Letter
push edi
call fcn.1010d6a8
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x638]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x624]
xor ecx, esp
call fcn.1010d699
add esp, 0x634
ret