joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10de497
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor esi, esi
mov byte [ebp - 4], bl
mov byte [ebp - 3], bl
mov byte [ebp - 6], bl
mov byte [ebp - 5], bl
mov byte [ebp - 1], bl
mov byte [ebp - 2], bl
mov byte [eax], bl
cmp edi, ebx
je 0x10de4c5
mov byte [edi], bl
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
dec eax
dec eax
je 0x10de574
dec eax
je 0x10de510
dec eax
dec eax
jne 0x10de667
cmp edi, ebx
je 0x10de4e8
mov byte [edi], 1
lea eax, [ebp - 6]
push eax
lea eax, [ebp - 3]
push eax
push dword [ebp + 8]
call fcn.010e7070
mov esi, eax
cmp esi, ebx
jl 0x10de639
cmp byte [ebp - 3], bl
je 0x10de62e
jmp 0x10de628
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
call fcn.010f7b35
mov esi, eax
cmp esi, ebx
jl 0x10de639
cmp byte [ebp - 4], bl
je 0x10de62e
cmp edi, ebx
je 0x10de536
mov byte [edi], 1
lea eax, [ebp - 5]
push eax
push dword [ebp + 8]
call fcn.010f70a1
mov esi, eax
cmp esi, ebx
jge 0x10de566
cmp esi, 0x80780076
jne 0x10de62e
mov eax, dword [ebp + 0xc]
mov byte [eax], bl
cmp edi, ebx
je 0x10de55f
mov byte [edi], bl
xor esi, esi
jmp 0x10de62e
cmp byte [ebp - 5], bl
jne 0x10de62e
jmp 0x10de628
lea eax, [ebp - 1]
push eax
push dword [ebp + 8]
call fcn.010d62a9
mov esi, eax
cmp esi, ebx
jge 0x10de5c0
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10de5b9
test byte [eax + 0x1c], 1
je 0x10de5b9
cmp byte [eax + 0x19], 3
jb 0x10de5b9
push esi
push dword [ebp + 8]
push 0x1010df4
push 0x53
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov eax, dword [0x111024c]
mov byte [ebp - 1], bl
xor esi, esi
jmp 0x10de5c5
mov eax, dword [0x111024c]
cmp byte [ebp - 1], bl
jne 0x10de633
lea eax, [ebp - 2]
push eax
push dword [ebp + 8]
call fcn.010e587e
mov esi, eax
cmp esi, ebx
jge 0x10de617
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10de60f
test byte [eax + 0x1c], 1
je 0x10de60f
cmp byte [eax + 0x19], 3
jb 0x10de60f
push esi
push dword [ebp + 8]
push 0x1010df4
push 0x54
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov eax, dword [0x111024c]
mov byte [ebp - 2], 1
xor esi, esi
jmp 0x10de61c
mov eax, dword [0x111024c]
cmp byte [ebp - 2], bl
je 0x10de633
cmp edi, ebx
je 0x10de628
mov byte [edi], 1
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
mov eax, dword [0x111024c]
cmp esi, ebx
jge 0x10de667
jmp 0x10de63e
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10de667
test byte [eax + 0x1c], 1
je 0x10de667
cmp byte [eax + 0x19], 2
jb 0x10de667
push esi
push dword [ebp + 8]
push 0x1010df4
push 0x55
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc
Function at 0x10f1c30
Capabilities:
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
xor ebx, ebx
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [ebp - 4], ebx
mov dword [edi], ebx
mov dword [edi + 4], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x10f1cb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f1c9f
test byte [eax + 0x1c], 1
je 0x10f1c9f
cmp byte [eax + 0x19], 2
jb 0x10f1c9f
push esi
push dword [ebp + 8]
push 0x1012880
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
cmp esi, ebx
jle 0x10f1caf
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - 4], esi
jmp 0x10f1cca
mov eax, dword [ebp - 0xc]
mov dword [esi], eax
mov eax, dword [ebp - 8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
mov eax, dword [ebp - 0x10]
mov dword [edi + 4], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc
Function at 0x10f5d22
Capabilities:
Get common file path
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x630
mov eax, dword [0x111027c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x630], edi
mov eax, dword [0x111024c]
mov ebx, 0x111024c
cmp eax, ebx
je 0x10f5d6e
test byte [eax + 0x1c], 1
je 0x10f5d6e
cmp byte [eax + 0x19], 4
jb 0x10f5d6e
push 0x1012a74
push 0xb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101894a
push esi
mov esi, 0x1007124
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x10f5ddb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, ebx
je 0x10f5dc4
test byte [eax + 0x1c], 1
je 0x10f5dc4
cmp byte [eax + 0x19], 2
jb 0x10f5dc4
push esi
push 0x1012a74
push 0xc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019fa8
mov eax, dword [0x111024c]
test esi, esi
jle 0x10f5dd4
and esi, 0xffff
or esi, 0x80070000
mov ebx, esi
jmp 0x10f5ec9
push esi
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x10f5e22
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, ebx
je 0x10f5dc4
test byte [eax + 0x1c], 1
je 0x10f5dc4
cmp byte [eax + 0x19], 2
jb 0x10f5dc4
push esi
lea ecx, [ebp - 0x20c]
push ecx
push 0x1012a74
push 0xd
jmp 0x10f5e73
push esi
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x10f5e83
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, ebx
je 0x10f5dc4
test byte [eax + 0x1c], 1
je 0x10f5dc4
cmp byte [eax + 0x19], 2
jb 0x10f5dc4
push esi
lea ecx, [ebp - 0x414]
push ecx
push 0x1012a74
push 0xe
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
jmp 0x10f5dbf
lea eax, [ebp - 0x61c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10f5e8c
sub eax, edx
lea ecx, [ebp - 0x62c]
sar eax, 1
push ecx
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.0107df49
mov ebx, eax
test ebx, ebx
jl 0x10f5ec4
mov edi, dword [ebp - 0x630]
lea esi, [ebp - 0x62c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x111024c]
pop esi
cmp eax, 0x111024c
je 0x10f5eef
test byte [eax + 0x1c], 1
je 0x10f5eef
cmp byte [eax + 0x19], 4
jb 0x10f5eef
push 0x1012a74
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101894a
mov ecx, dword [ebp - 4]
pop edi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0106f798
leave
ret 4
Function at 0x10f60dc
Capabilities:
Enumerate disk volumes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x220
mov eax, dword [0x111027c]
xor eax, ebp
mov dword [ebp - 4], eax
or dword [ebp - 0x218], 0xffffffff
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
push dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x21c], edi
mov byte [ebp - 0x20d], 0
mov byte [esi], 0
call fcn.0107dd0d
test al, al
je 0x10f617e
lea eax, [ebp - 0x21c]
push eax
call fcn.01082bd0
cmp eax, edi
mov dword [ebp - 0x214], eax
jge 0x10f6162
cmp eax, 0xd0000452
je 0x10f615a
cmp eax, 0xd0000451
je 0x10f615a
cmp eax, 0xd000003a
jne 0x10f6281
mov byte [esi], 0
jmp 0x10f627b
push dword [ebp - 0x21c]
push ebx
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x10f6236
jmp 0x10f6220
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
mov dword [ebp - 0x218], eax
cmp eax, 0xffffffff
jne 0x10f61ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f61cf
test byte [eax + 0x1c], 1
je 0x10f61cf
cmp byte [eax + 0x19], 2
jb 0x10f61cf
push esi
push 0x1012a74
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019fa8
test esi, esi
jle 0x10f61df
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - 0x214], esi
jmp 0x10f6281
push ebx
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
jmp 0x10f6211
push edi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_FindNextVolumeW]
test eax, eax
je 0x10f6229
push dword [ebp - 0x220]
lea eax, [ebp - 0x20c]
push eax
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10f61f3
mov byte [ebp - 0x20d], 1
jmp 0x10f6236
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x12
jne 0x10f6240
mov al, byte [ebp - 0x20d]
mov byte [esi], al
jmp 0x10f6281
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f626b
test byte [eax + 0x1c], 1
je 0x10f626b
cmp byte [eax + 0x19], 2
jb 0x10f626b
push edi
push 0x1012a74
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019fa8
test edi, edi
jle 0x10f627b
and edi, 0xffff
or edi, 0x80070000
mov dword [ebp - 0x214], edi
push dword [ebp - 0x21c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [ebp - 0x218], 0xffffffff
pop edi
pop esi
pop ebx
je 0x10f62a5
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_FindVolumeClose]
cmp dword [ebp - 0x214], 0
jge 0x10f62e4
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f62e4
test byte [eax + 0x1c], 1
je 0x10f62e4
cmp byte [eax + 0x19], 2
jb 0x10f62e4
push dword [ebp - 0x214]
push dword [ebp - 0x220]
push 0x1012a74
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x214]
xor ecx, ebp
call fcn.0106f798
leave
ret 0xc
Function at 0x10f6326
Capabilities:
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
xor edi, edi
mov dword [ebp - 4], edi
mov dword [esi], edi
mov dword [esi + 4], edi
call fcn.0107d1fe
mov ebx, eax
cmp ebx, edi
jl 0x10f644d
push edi
push edi
push 3
push edi
push 3
push 0x80000000
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
jne 0x10f63c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f63ac
test byte [eax + 0x1c], 1
je 0x10f63ac
cmp byte [eax + 0x19], 2
jb 0x10f63ac
push esi
push dword [ebp - 4]
push 0x1012a74
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov eax, dword [0x111024c]
cmp esi, edi
jg 0x10f63b7
mov ebx, esi
jmp 0x10f6452
and esi, 0xffff
or esi, 0x80070000
jmp 0x10f63b0
xor eax, eax
lea edi, [ebp - 0x10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
push edi
lea eax, [ebp - 8]
push eax
push 8
lea eax, [ebp - 0x10]
push eax
push edi
push edi
push 0x7405c
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x10f6437
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f6423
test byte [eax + 0x1c], 1
je 0x10f6423
cmp byte [eax + 0x19], 2
jb 0x10f6423
push esi
push dword [ebp - 4]
push 0x1012a74
push 0x25
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
cmp esi, edi
jle 0x10f6433
and esi, 0xffff
or esi, 0x80070000
mov ebx, esi
jmp 0x10f6442
mov eax, dword [ebp - 0x10]
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 4], eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov eax, dword [0x111024c]
cmp dword [ebp - 4], edi
je 0x10f6465
push dword [ebp - 4]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [0x111024c]
cmp ebx, edi
jge 0x10f6495
cmp eax, 0x111024c
je 0x10f6495
test dword [eax + 0x1c], 0x200
je 0x10f6495
cmp byte [eax + 0x19], 2
jb 0x10f6495
push ebx
push dword [ebp + 8]
push 0x1012a74
push 0x26
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 8
Function at 0x10f6ea1
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
push ebx
push esi
xor esi, esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
mov dword [eax], esi
lea eax, [ebp - 0xc]
push eax
push esi
push esi
push dword [ebp + 8]
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x10f6ef5
call ebx
cmp eax, 0xea
je 0x10f6ef5
cmp eax, esi
jg 0x10f6ee9
mov dword [ebp - 4], eax
jmp 0x10f6fa6
and eax, 0xffff
or eax, 0x80070000
jmp 0x10f6ee1
mov eax, dword [ebp - 0xc]
mov esi, dword [sym.imp.ole32.dll_CoTaskMemAlloc]
add eax, eax
push eax
call esi
mov dword [ebp - 8], eax
test eax, eax
jne 0x10f6f16
mov dword [ebp - 4], 0x8007000e
jmp 0x10f6f97
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 0xc]
push eax
push dword [ebp + 8]
call edi
test eax, eax
jne 0x10f6f3c
call ebx
test eax, eax
jle 0x10f6f37
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
jmp 0x10f6f97
mov eax, dword [ebp - 8]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10f6f42
sub eax, edx
sar eax, 1
mov ebx, eax
je 0x10f6f97
lea edi, [ebx + ebx]
lea eax, [edi + 2]
push eax
call esi
mov esi, eax
test esi, esi
jne 0x10f6f6c
mov dword [ebp - 4], 0x8007000e
jmp 0x10f6f8c
push dword [ebp - 8]
inc ebx
push ebx
push esi
call fcn.010257dc
mov dword [ebp - 4], eax
test eax, eax
jl 0x10f6f8c
xor eax, eax
mov word [edi + esi - 2], ax
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
xor esi, esi
test esi, esi
je 0x10f6f97
push esi
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [ebp - 8], 0
je 0x10f6fa6
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [ebp - 4], 0
pop edi
pop esi
pop ebx
jge 0x10f6fdf
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f6fdf
test byte [eax + 0x1c], 1
je 0x10f6fdf
cmp byte [eax + 0x19], 3
jb 0x10f6fdf
push dword [ebp - 4]
push dword [ebp + 8]
push 0x1012a74
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov eax, dword [ebp - 4]
leave
ret 8
Function at 0x10f70a1
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
cmp edi, ebx
jne 0x10f70d2
push 0x1012b28
push 0x2c5
push 0x1012a84
call fcn.0107b644
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
mov byte [edi], bl
call fcn.0107d16c
mov esi, eax
cmp esi, ebx
jl 0x10f7272
xor ebx, ebx
inc ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp + 0xc], eax
xor eax, eax
push eax
push eax
lea ecx, [ebp - 0xc]
push ecx
push eax
push eax
push eax
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
jne 0x10f721f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.010f6843
test eax, eax
jge 0x10f7165
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f71c7
test byte [ecx + 0x1c], bl
je 0x10f71c7
cmp byte [ecx + 0x19], 3
jb 0x10f71c7
push eax
push dword [ebp + 8]
push 0x1012a74
push 0x1f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
jmp 0x10f71c1
mov eax, dword [ebp - 8]
shr eax, 0xb
test bl, al
je 0x10f71b0
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f719b
test byte [eax + 0x1c], bl
je 0x10f719b
cmp byte [eax + 0x19], 4
jb 0x10f719b
push dword [ebp + 8]
push 0x1012a74
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
push edi
push dword [ebp + 8]
call fcn.010f64a3
mov esi, eax
test esi, esi
jl 0x10f7272
jmp 0x10f7229
cmp esi, 0x3ed
je 0x10f71e0
cmp esi, ebx
je 0x10f71e0
cmp esi, 0x57
je 0x10f71e0
mov ecx, dword [0x111024c]
test esi, esi
jle 0x10f7278
and esi, 0xffff
or esi, 0x80070000
jmp 0x10f7278
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f7218
test dword [ecx + 0x1c], 0x200
je 0x10f7218
cmp byte [ecx + 0x19], 4
jb 0x10f7218
push dword [ebp + 8]
push 0x1012a74
push 0x21
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01019633
mov ecx, dword [0x111024c]
mov esi, 0x80780076
jmp 0x10f7278
mov eax, dword [ebp - 0xc]
shr eax, 0x13
and al, bl
mov byte [edi], al
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f7269
test dword [eax + 0x1c], 0x200
je 0x10f7269
cmp byte [eax + 0x19], 4
jb 0x10f7269
cmp byte [edi], 0
mov ecx, 0x10027a8
jne 0x10f7253
mov ecx, 0x10076a0
push ecx
push dword [ebp + 8]
push 0x1012a74
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010197e6
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, dword [0x111024c]
cmp dword [ebp - 4], 0
je 0x10f728d
push dword [ebp - 4]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x111024c]
test esi, esi
jge 0x10f72bb
cmp ecx, 0x111024c
je 0x10f72bb
test dword [ecx + 0x1c], 0x200
je 0x10f72bb
cmp byte [ecx + 0x19], 3
jb 0x10f72bb
push esi
push 0x1012a74
push 0x23
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01019fa8
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
Function at 0x10f72c9
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x111027c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
lea ecx, [ebp - 0x2c]
xor esi, esi
push ecx
push eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x34], esi
mov dword [ebx], esi
call fcn.0107d16c
cmp eax, esi
mov dword [ebp - 0x28], eax
jl 0x10f742f
push edi
push 8
pop ecx
push 0x10
xor eax, eax
lea edi, [ebp - 0x24]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x24]
push eax
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
pop edi
test eax, eax
jne 0x10f73e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x30]
call fcn.010f6843
test eax, eax
jge 0x10f7393
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f737b
test byte [ecx + 0x1c], 1
je 0x10f737b
cmp byte [ecx + 0x19], 3
jb 0x10f737b
push eax
push dword [ebp - 0x30]
push 0x1012a74
push 0x2c
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
mov ecx, dword [0x111024c]
test esi, esi
jle 0x10f738b
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - 0x28], esi
jmp 0x10f7435
mov eax, dword [ebp - 0x34]
shr eax, 0xb
test al, 1
je 0x10f7495
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f73d1
test dword [eax + 0x1c], 0x200
je 0x10f73d1
cmp byte [eax + 0x19], 4
jb 0x10f73d1
push dword [ebp - 0x2c]
push 0x1012a74
push 0x2d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
push 0x1002b60
push 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.010257dc
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x10f742f
push 0
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.0107c9fc
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x10f742f
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f7435
test dword [ecx + 0x1c], 0x200
je 0x10f7435
cmp byte [ecx + 0x19], 5
jb 0x10f7435
push dword [ebx]
push dword [ebp - 0x2c]
push 0x1012a74
push 0x2f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010197e6
mov ecx, dword [0x111024c]
xor esi, esi
cmp dword [ebp - 0x2c], esi
je 0x10f744e
push dword [ebp - 0x2c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x111024c]
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x28], esi
pop esi
pop ebx
jge 0x10f7484
cmp ecx, 0x111024c
je 0x10f7484
test dword [ecx + 0x1c], 0x200
je 0x10f7484
cmp byte [ecx + 0x19], 3
jb 0x10f7484
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push 0x1012a74
push 0x30
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
xor ecx, ebp
call fcn.0106f798
leave
ret 8
cmp esi, 0x3ed
je 0x10f74ab
cmp esi, 1
je 0x10f74ab
cmp esi, 0x57
jne 0x10f7375
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f7435
test dword [ecx + 0x1c], 0x200
je 0x10f7435
cmp byte [ecx + 0x19], 4
jb 0x10f7435
push dword [ebp - 0x2c]
push 0x1012a74
push 0x2e
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01019633
jmp 0x10f742f
Function at 0x10f7960
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov esi, 0x208
push esi
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [edi], ebx
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x10f799a
mov dword [ebp - 4], 0x8007000e
jmp 0x10f7a91
push esi
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x104
push dword [ebp - 8]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
jne 0x10f7a74
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 8]
call fcn.010f6843
cmp eax, ebx
jge 0x10f7a26
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f7a11
test byte [ecx + 0x1c], 1
je 0x10f7a11
cmp byte [ecx + 0x19], 3
jb 0x10f7a11
push eax
push dword [ebp + 8]
push 0x1012a74
push 0x3e
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
mov ecx, dword [0x111024c]
cmp esi, ebx
jle 0x10f7a21
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - 4], esi
jmp 0x10f7a97
mov eax, dword [ebp - 0xc]
shr eax, 0xb
test al, 1
je 0x10f7ae6
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10f7a61
test byte [eax + 0x1c], 1
je 0x10f7a61
cmp byte [eax + 0x19], 4
jb 0x10f7a61
push dword [ebp + 8]
push 0x1012a74
push 0x3f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.010f6a8f
cmp eax, ebx
mov dword [ebp - 4], eax
jl 0x10f7a91
mov esi, dword [ebp - 8]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x10f7a7c
sub eax, edx
sar eax, 1
je 0x10f7a91
mov dword [edi], esi
mov dword [ebp - 8], ebx
mov ecx, dword [0x111024c]
cmp dword [ebp - 8], ebx
je 0x10f7aab
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x111024c]
cmp dword [ebp - 4], ebx
pop edi
pop esi
pop ebx
jge 0x10f7adf
cmp ecx, 0x111024c
je 0x10f7adf
test byte [ecx + 0x1c], 1
je 0x10f7adf
cmp byte [ecx + 0x19], 3
jb 0x10f7adf
push dword [ebp - 4]
push dword [ebp + 8]
push 0x1012a74
push 0x42
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
mov eax, dword [ebp - 4]
leave
ret 8
cmp esi, 0x3ed
je 0x10f7afc
cmp esi, 1
je 0x10f7afc
cmp esi, 0x57
jne 0x10f7a0b
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10f7a97
test byte [ecx + 0x1c], 1
je 0x10f7a97
cmp byte [ecx + 0x19], 5
jb 0x10f7a97
push dword [ebp + 8]
push 0x1012a74
push 0x41
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01019633
jmp 0x10f7a91