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

Disassembly:
mov eax, 0x10bc
call fcn.0041d2a0
mov eax, dword [0x49d084]
xor eax, esp
mov dword [esp + 0x10b8], eax
push ebx
push esi
mov esi, dword [esp + 0x10c8]
push edi
push 0x401840
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x467738
jmp 0x467710
movzx ecx, word [eax + 0x40d3e8]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467710
mov edi, dword [0x40d3dc]
mov ebx, dword [0x40d3e0]
jmp 0x4678b3
push 0x40d3c4
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x467778
lea ebx, [ebx]
movzx ecx, word [eax + 0x40d3a4]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467750
mov edi, dword [0x40d398]
mov ebx, dword [0x40d39c]
jmp 0x4678b3
push 0x40d380
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x4677b8
lea ebx, [ebx]
movzx ecx, word [eax + 0x40d360]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467790
mov edi, dword [0x40d354]
mov ebx, dword [0x40d358]
jmp 0x4678b3
push 0x40d33c
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x4677f8
lea ebx, [ebx]
movzx ecx, word [eax + 0x40d31c]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x4677d0
mov edi, dword [0x40d310]
mov ebx, dword [0x40d314]
jmp 0x4678b3
push 0x401810
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x467838
lea ebx, [ebx]
movzx ecx, word [eax + 0x40d2f0]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467810
mov edi, dword [0x40d2e4]
mov ebx, dword [0x40d2e8]
jmp 0x4678b3
push 0x401828
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x467875
lea ebx, [ebx]
movzx ecx, word [eax + 0x40d2c4]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467850
mov edi, dword [0x40d2b8]
mov ebx, dword [0x40d2bc]
jmp 0x4678b3
push 0x401858
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x467f1d
jmp 0x467890
movzx ecx, word [eax + 0x40d298]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x467890
mov edi, dword [0x40d28c]
mov ebx, dword [0x40d290]
push 0x108
lea eax, [esp + 0xcb8]
push 0
push eax
call sub.msvcrt.dll_memset
lea ecx, [esp + 0xcc0]
push ecx
lea edx, [esp + 0xdcc]
push edx
call fcn.004674e0
mov esi, eax
add esp, 0x14
xor eax, eax
test esi, esi
jle 0x467eed
push ebp
push esi
mov dword [esp + 0xbf0], eax
mov dword [esp + 0xbf4], eax
mov dword [esp + 0xbf8], eax
mov dword [esp + 0xbfc], eax
mov dword [esp + 0xc00], eax
mov dword [esp + 0xc04], eax
mov dword [esp + 0xc08], eax
mov dword [esp + 0xc0c], eax
mov byte [esp + 0xc10], al
mov dword [esp + 0xc40], eax
mov dword [esp + 0xc44], eax
mov dword [esp + 0xc48], eax
mov dword [esp + 0xc4c], eax
mov dword [esp + 0xc50], eax
mov dword [esp + 0xc54], eax
mov dword [esp + 0xc58], eax
mov dword [esp + 0xc5c], eax
mov byte [esp + 0xc60], al
mov dword [esp + 0xc1c], eax
mov dword [esp + 0xc20], eax
mov dword [esp + 0xc24], eax
mov dword [esp + 0xc28], eax
mov dword [esp + 0xc2c], eax
mov dword [esp + 0xc30], eax
mov dword [esp + 0xc34], eax
mov dword [esp + 0xc38], eax
mov byte [esp + 0xc3c], al
mov dword [esp + 0xc64], eax
mov dword [esp + 0xc68], eax
mov dword [esp + 0xc6c], eax
mov dword [esp + 0xc70], eax
mov dword [esp + 0xc74], eax
mov dword [esp + 0xc78], eax
mov dword [esp + 0xc7c], eax
mov dword [esp + 0xc80], eax
mov byte [esp + 0xc84], al
mov dword [esp + 0xc14], edi
mov dword [esp + 0xc18], ebx
mov dword [esp + 0x24], eax
call fcn.00413800
mov ebp, eax
push esi
lea eax, [esp + 0xcc0]
push eax
push ebp
mov dword [esp + 0x2c], ebp
call sub.msvcrt.dll_memcpy
mov eax, esi
cdq
add esp, 0x10
and edx, 7
add eax, edx
lea ecx, [esp + 0x20]
push ecx
sar eax, 3
push eax
push ebp
lea edx, [esp + 0xc1c]
push edx
lea ecx, [esp + 0x50]
call fcn.00468be0
mov eax, dword [esp + 0x20]
add eax, 0xffffffa0
cdq
and edx, 0x1f
add eax, edx
mov ebx, eax
sar ebx, 5
mov eax, ebx
shl eax, 5
lea esi, [eax + ebp]
push 0x20
lea ecx, [esp + 0xc40]
push esi
push ecx
call sub.msvcrt.dll_strncpy
push 0x20
add esi, 0x20
push esi
lea edx, [esp + 0xc2c]
push edx
call sub.msvcrt.dll_strncpy
lea eax, [ebx + 2]
shl eax, 5
push 0x20
add eax, ebp
push eax
lea ecx, [esp + 0xc80]
push ecx
call sub.msvcrt.dll_strncpy
add esp, 0x24
mov edi, 0x40d268
lea esi, [esp + 0xc18]
mov ecx, 0x21
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x467b9a
mov edi, 0x40d244
lea esi, [esp + 0xc18]
mov ecx, 0x21
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x467baa
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x64
xor esi, esi
lea edx, [esp + 0xcbc]
push esi
push edx
call sub.msvcrt.dll_memset
movzx eax, word [esp + 0x42]
movzx ecx, word [esp + 0x3e]
movzx edx, word [esp + 0x3c]
push eax
push ecx
push edx
lea eax, [esp + 0xcd0]
push 0x40d234
push eax
call sub.msvcrt.dll_sprintf
xor eax, eax
lea ecx, [esp + 0xbe0]
push ecx
lea edx, [esp + 0xcdc]
push edx
mov dword [esp + 0xbe8], eax
mov dword [esp + 0xbec], eax
mov dword [esp + 0xbf0], eax
mov dword [esp + 0xbf4], eax
mov dword [esp + 0xbf8], eax
mov dword [esp + 0xbfc], eax
mov dword [esp + 0xc00], eax
mov dword [esp + 0xc04], eax
mov byte [esp + 0xc08], al
call fcn.00467620
add esp, 0x28
lea ecx, [esp + 0xbc0]
lea eax, [esp + 0xc60]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x467b91
test dl, dl
je 0x467b8d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x467b91
add eax, 2
add ecx, 2
test dl, dl
jne 0x467b71
xor eax, eax
jmp 0x467b96
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x467bac
push ebp
call fcn.0041381e
add esp, 4
xor eax, eax
jmp 0x467eec
xor esi, esi
lea ecx, [esp + 0x138]
call fcn.00468070
push 0x78
lea eax, [esp + 0xc4]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x13c]
call fcn.004681c0
xor eax, eax
cmp ebx, esi
mov dword [esp + 0xbc0], eax
mov dword [esp + 0xbc4], eax
mov dword [esp + 0xbc8], eax
mov dword [esp + 0xbcc], eax
mov dword [esp + 0xbd0], eax
mov dword [esp + 0xbd4], eax
mov dword [esp + 0xbd8], eax
mov dword [esp + 0xbdc], eax
mov byte [esp + 0xbe0], al
mov dword [esp + 0x24], esi
jle 0x467d7d
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x10]
xor eax, eax
push 0x20
mov dword [esp + 0xbf0], eax
mov dword [esp + 0xbf4], eax
mov dword [esp + 0xbf8], eax
mov dword [esp + 0xbfc], eax
mov dword [esp + 0xc00], eax
mov dword [esp + 0xc04], eax
mov dword [esp + 0xc08], eax
mov dword [esp + 0xc0c], eax
mov byte [esp + 0xc10], al
push edx
lea eax, [esp + 0xbf4]
push eax
call sub.msvcrt.dll_strncpy
add esp, 0xc
cmp dword [esp + 0xd4], esi
mov dword [esp + 0x14], esi
jle 0x467d65
lea ebp, [esp + 0xc0]
xor eax, eax
lea ecx, [esp + 0xbc0]
push ecx
push ebp
mov dword [esp + 0xbc8], eax
mov dword [esp + 0xbcc], eax
mov dword [esp + 0xbd0], eax
mov dword [esp + 0xbd4], eax
mov dword [esp + 0xbd8], eax
mov dword [esp + 0xbdc], eax
mov dword [esp + 0xbe0], eax
mov dword [esp + 0xbe4], eax
mov byte [esp + 0xbe8], al
call fcn.00467620
add esp, 8
mov edi, 0x40d210
lea esi, [esp + 0xbc0]
mov ecx, 0x21
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x467d44
lea ecx, [esp + 0xbec]
lea eax, [esp + 0xbc0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x467d37
test dl, dl
je 0x467d33
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x467d37
add eax, 2
add ecx, 2
test dl, dl
jne 0x467d17
xor eax, eax
jmp 0x467d3c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x467ec0
mov eax, dword [esp + 0x14]
add eax, 1
add ebp, 0x18
cmp eax, dword [esp + 0xd4]
mov dword [esp + 0x14], eax
jl 0x467ca0
mov ebp, dword [esp + 0x1c]
xor esi, esi
mov eax, dword [esp + 0x24]
add dword [esp + 0x10], 0x20
add eax, 1
cmp eax, ebx
mov dword [esp + 0x24], eax
jl 0x467c30
push 0x100
lea eax, [esp + 0xfcc]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
push 0x25
lea ecx, [esp + 0xfd0]
push ecx
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edx, [esp + 0xfc8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathGetDriveNumberA]
add al, 0x41
movsx eax, al
xor ecx, ecx
push eax
mov dword [esp + 0xbe8], ecx
mov byte [esp + 0xbec], cl
lea ecx, [esp + 0xbe8]
push 0x40d208
push ecx
call sub.msvcrt.dll_sprintf
add esp, 0xc
push esi
push esi
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x28]
push ecx
push esi
push esi
lea edx, [esp + 0xc00]
push edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
push 0x32
lea eax, [esp + 0xc88]
push esi
push eax
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0xc94]
push 0x40d204
push edx
call sub.msvcrt.dll_sprintf
xor eax, eax
mov dword [esp + 0xbd8], eax
mov dword [esp + 0xbdc], eax
mov dword [esp + 0xbe0], eax
mov dword [esp + 0xbe4], eax
mov dword [esp + 0xbe8], eax
mov dword [esp + 0xbec], eax
mov dword [esp + 0xbf0], eax
mov dword [esp + 0xbf4], eax
mov byte [esp + 0xbf8], al
lea eax, [esp + 0xbd8]
push eax
lea ecx, [esp + 0xca0]
push ecx
call fcn.00467620
add esp, 0x20
lea ecx, [esp + 0xc3c]
lea eax, [esp + 0xbc0]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x467f05
test dl, dl
je 0x467ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x467f05
add eax, 2
add ecx, 2
test dl, dl
jne 0x467ea0
xor eax, eax
jmp 0x467f0a
mov eax, dword [esp + 0x14]
add eax, 1
push eax
lea ecx, [esp + 0xcbc]
push 0x40d1c0
push ecx
call sub.msvcrt.dll__swprintf
mov edx, dword [esp + 0x28]
push edx
call fcn.0041381e
add esp, 0x10
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10b8]
xor ecx, esp
call fcn.0041d1c7
add esp, 0x10bc
ret
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
push ebp
jne 0x467b9b
call fcn.0041381e
add esp, 4
jmp 0x467ee7
mov ecx, dword [esp + 0x10c4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0041d1c7
add esp, 0x10bc
ret