Function at 0x10022c0f
Capabilities:
Get common file path
Get disk information

Disassembly:
push 0x1ac
mov eax, 0x100458fa
call fcn.1002eac6
mov esi, 0x104
push esi
xor ebx, ebx
lea eax, [ebp - 0x114]
push ebx
push eax
mov edi, ecx
call fcn.1002eb70
add esp, 0xc
push esi
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x188]
call fcn.10002b9d
mov esi, 0x10047658
push esi
mov dword [ebp - 4], ebx
call fcn.1002dd10
pop ecx
push eax
push esi
lea ecx, [ebp - 0x188]
call fcn.1000156f
lea ecx, [edi + 0x14c]
mov dword [ebp - 0x1a8], ecx
call fcn.100249f9
push 0x10049614
lea ecx, [ebp - 0x1a4]
call fcn.10002b9d
cmp dword [ebp - 0x190], 0x10
mov eax, dword [ebp - 0x1a4]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1b8], ebx
jae 0x10022cb4
lea eax, [ebp - 0x1a4]
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x1b8]
push ecx
push 0xc
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
lea ecx, [ebp - 0x1b4]
call fcn.1000ad27
push 4
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 2
call fcn.1000b63a
cmp dword [ebp - 0x158], 0x10
mov eax, dword [ebp - 0x16c]
mov byte [ebp - 4], 3
jae 0x10022d0c
lea eax, [ebp - 0x16c]
push dword [ebp - 0x15c]
lea ecx, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.1000b63a
push eax
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 4
call fcn.10001979
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 3
call fcn.100012ee
push 4
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 4], 5
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 6
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xf
pop edi
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 7
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 3
push 4
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x150]
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 9
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0xa
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 3
push 8
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xb
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x150]
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0xd
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 4
push 0xa
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xe
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xf
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 0x10
push ebx
lea eax, [ebp - 0x134]
mov ecx, dword [ebp - 0x1a8]
push eax
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 6
push 0xb
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x11
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x12
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x13
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 3
push 0x11
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x14
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x15
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x16
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 4
push 0x12
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x17
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x150]
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x19
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 5
push 0x13
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1a
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1b
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 0x1c
push ebx
mov ecx, dword [ebp - 0x1a8]
lea eax, [ebp - 0x134]
push eax
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 4
push 0x15
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1d
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1e
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x1f
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 5
call fcn.100012ee
push 3
push 0x16
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10002bcc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x20
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10009b46
add esp, 0xc
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x21
call fcn.10001979
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.100012ee
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x124], ebx
mov byte [ebp - 0x134], bl
call fcn.10001608
mov dword [ebp - 0x118], ebx
mov ecx, dword [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x22
call fcn.10024c04
mov ecx, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.100248f2
push ebx
push esi
lea ecx, [ebp - 0x134]
call fcn.100012ee
push ebx
push esi
lea ecx, [ebp - 0x150]
call fcn.100012ee
push ebx
push esi
lea ecx, [ebp - 0x16c]
call fcn.100012ee
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 1
call fcn.1000ad30
push ebx
push esi
lea ecx, [ebp - 0x1a4]
call fcn.100012ee
push ebx
push esi
lea ecx, [ebp - 0x188]
call fcn.100012ee
call fcn.1002eb49
ret