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

Disassembly:
mov eax, 0x10bc
call fcn.00411c70
mov eax, dword [0x442084]
xor eax, esp
mov dword [esp + 0x10b8], eax
push ebx
push esi
mov esi, dword [esp + 0x10c8]
push edi
push 0x401790
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d498
jmp 0x43d470
movzx ecx, word [eax + 0x408170]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d470
mov edi, dword [0x408164]
mov ebx, dword [0x408168]
jmp 0x43d613
push 0x401778
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d4d8
lea ebx, [ebx]
movzx ecx, word [eax + 0x408144]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d4b0
mov edi, dword [0x408138]
mov ebx, dword [0x40813c]
jmp 0x43d613
push 0x408120
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d518
lea ebx, [ebx]
movzx ecx, word [eax + 0x408100]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d4f0
mov edi, dword [0x4080f4]
mov ebx, dword [0x4080f8]
jmp 0x43d613
push 0x4080dc
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d558
lea ebx, [ebx]
movzx ecx, word [eax + 0x4080bc]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d530
mov edi, dword [0x4080b0]
mov ebx, dword [0x4080b4]
jmp 0x43d613
push 0x408098
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d598
lea ebx, [ebx]
movzx ecx, word [eax + 0x408078]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d570
mov edi, dword [0x40806c]
mov ebx, dword [0x408070]
jmp 0x43d613
push 0x408054
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43d5d5
lea ebx, [ebx]
movzx ecx, word [eax + 0x408034]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d5b0
mov edi, dword [0x408028]
mov ebx, dword [0x40802c]
jmp 0x43d613
push 0x408010
push esi
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x43dc7d
jmp 0x43d5f0
movzx ecx, word [eax + 0x407ff0]
mov word [esp + eax + 0xdbc], cx
add eax, 2
test cx, cx
jne 0x43d5f0
mov edi, dword [0x407fe4]
mov ebx, dword [0x407fe8]
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.0043d240
mov esi, eax
add esp, 0x14
xor eax, eax
test esi, esi
jle 0x43dc4d
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.004082d5
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.0043e940
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, 0x407fc0
lea esi, [esp + 0xc18]
mov ecx, 0x21
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x43d8fa
mov edi, 0x407f9c
lea esi, [esp + 0xc18]
mov ecx, 0x21
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x43d90a
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 0x407f8c
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.0043d380
add esp, 0x28
lea ecx, [esp + 0xbc0]
lea eax, [esp + 0xc60]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d8f1
test dl, dl
je 0x43d8ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d8f1
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d8d1
xor eax, eax
jmp 0x43d8f6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x43d90c
push ebp
call fcn.004082f3
add esp, 4
xor eax, eax
jmp 0x43dc4c
xor esi, esi
lea ecx, [esp + 0x138]
call fcn.0043ddd0
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.0043df20
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 0x43dadd
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 0x43dac5
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.0043d380
add esp, 8
mov edi, 0x407f68
lea esi, [esp + 0xbc0]
mov ecx, 0x21
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x43daa4
lea ecx, [esp + 0xbec]
lea eax, [esp + 0xbc0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43da97
test dl, dl
je 0x43da93
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43da97
add eax, 2
add ecx, 2
test dl, dl
jne 0x43da77
xor eax, eax
jmp 0x43da9c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43dc20
mov eax, dword [esp + 0x14]
add eax, 1
add ebp, 0x18
cmp eax, dword [esp + 0xd4]
mov dword [esp + 0x14], eax
jl 0x43da00
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 0x43d990
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 0x407f60
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 0x407f5c
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.0043d380
add esp, 0x20
lea ecx, [esp + 0xc3c]
lea eax, [esp + 0xbc0]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dc65
test dl, dl
je 0x43dc1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dc65
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dc00
xor eax, eax
jmp 0x43dc6a
mov eax, dword [esp + 0x14]
add eax, 1
push eax
lea ecx, [esp + 0xcbc]
push 0x407f18
push ecx
call sub.msvcrt.dll__swprintf
mov edx, dword [esp + 0x28]
push edx
call fcn.004082f3
add esp, 0x10
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10b8]
xor ecx, esp
call fcn.00411b9d
add esp, 0x10bc
ret
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
push ebp
jne 0x43d8fb
call fcn.004082f3
add esp, 4
jmp 0x43dc47
mov ecx, dword [esp + 0x10c4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00411b9d
add esp, 0x10bc
ret