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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8f4
push ebx
push esi
push edi
mov dword [esp + 0xa8], 0x79025f79
mov dword [esp + 0xe4], 0x3e274f3
mov dword [esp + 0xb4], 0x1cccd653
mov dword [esp + 0xc8], 0x3dedd8b9
mov dword [esp + 0xfc], 0x1b8e9b39
mov dword [esp + 0x48], 0x159ce5ba
mov dword [esp + 0xc0], 0x7a40bd50
mov dword [esp + 0x74], 0x41c57692
mov dword [esp + 0xcc], 0x7d4d9f39
mov dword [esp + 0xdc], 0xfbe7326
mov dword [esp + 0x68], 0x6e380dd0
mov dword [esp + 0xf4], 0x6cb56340
mov dword [esp + 0x8c], 0x629699e3
mov dword [esp + 0x60], 0x26d41bd6
mov dword [esp + 0x34], 0x5db93107
mov dword [esp + 0x80], 0x5638b17d
mov dword [esp + 0xf0], 0x1a2654a7
mov dword [esp + 0xac], 0x981a81a
mov dword [esp + 0xe8], 0x432b599c
mov dword [esp + 0x7c], 0x29f481ea
mov dword [esp + 0xf8], 0x17eabd2d
mov dword [esp + 0x64], 0x385f9538
mov dword [esp + 0xa0], 0x63590f1c
mov dword [esp + 0x78], 0x1c22107b
mov dword [esp + 0x70], 0x5dd0ec63
mov dword [esp + 0x98], 0x683b7cd5
mov dword [esp + 0x40], 0x23a09ec5
mov dword [esp + 0x58], 0x440d1820
mov dword [esp + 0x6c], 0x50f05911
mov dword [esp + 0xd4], 0x1065b1a5
mov dword [esp + 0x94], 0x7e3c8db4
mov dword [esp + 0xb8], 0x53f20ecb
mov dword [esp + 0x3c], 0x2bb00294
mov dword [esp + 0xe0], 0x732e3673
mov dword [esp + 0x54], 0x5859e161
mov dword [esp + 0xc4], 0x18620527
mov dword [esp + 0xb0], 0x3f2de9fd
mov dword [esp + 0x38], 0x27744c8f
mov dword [esp + 0x50], 0x1ecd3090
mov dword [esp + 0xd8], 0x6100d90a
mov dword [esp + 0xec], 0x5b93fff5
mov dword [esp + 0xd0], 0x1bd3b844
mov dword [esp + 0x4c], 0x19b51451
mov dword [esp + 0x84], 0x455b4456
mov dword [esp + 0xa4], 0x66f77dfc
mov dword [esp + 0x9c], 0x485a67d5
mov dword [esp + 0x44], 0x29a52cd9
mov dword [esp + 0x5c], 0x13697976
mov dword [esp + 0xbc], 0x7c18bf8f
mov dword [esp + 0x90], 0x5acd7d8b
mov dword [esp + 0x88], 0x529801a5
add dword [esp + 0xa8], 0x7f3b2cdd
mov eax, 0x51780426
mul dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
add dword [esp + 0xe4], 0x239b0652
add dword [esp + 0xfc], 0x106415cd
add dword [esp + 0xb4], 0x20c12833
add dword [esp + 0xe4], 0x3a2a77b2
add dword [esp + 0x48], 0x4d42b9a0
add dword [esp + 0xe4], 0x216aeb00
sub dword [esp + 0xe4], 0x79bb1fa5
mov eax, 0x2e33e9d2
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
sub dword [esp + 0xfc], 0x1a561bdd
mov eax, 0x37c181d3
mul dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
mov eax, 0x90f9ce8
mul dword [esp + 0x48]
mov eax, dword [esp + 0x48]
add dword [esp + 0xa8], 0xec78d1d
add dword [esp + 0xa8], 0x64f631c8
mov eax, 0x79c18f90
mul dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
mov eax, 0x103129
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
sub dword [esp + 0xc0], 0x7c8d658b
mov eax, 0x486e4b3d
mul dword [esp + 0x48]
mov eax, dword [esp + 0x48]
add dword [esp + 0xf4], 0x469ab4dc
add dword [esp + 0x74], 0x6b93a775
sub dword [esp + 0xdc], 0x1e579629
sub dword [esp + 0x60], 0x5d601548
sub dword [esp + 0x74], 0x22d7bd52
add dword [esp + 0x60], 0x31439be
mov eax, 0x173a330d
mul dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
add dword [esp + 0x60], 0xf82f63
sub dword [esp + 0xdc], 0x42f84557
mov eax, 0x707dd2f5
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
sub dword [esp + 0xdc], 0x1e406216
sub dword [esp + 0xc8], 0xd52fc28
mov eax, 0x34c855bf
mul dword [esp + 0xcc]
mov eax, dword [esp + 0xcc]
sub dword [esp + 0x48], 0x417eb25a
sub dword [esp + 0xcc], 0x3b06f81f
add dword [esp + 0xf8], 0x11b7b37b
add dword [esp + 0x80], 0xf7fa872
sub dword [esp + 0xe4], 0x6d6dea26
add dword [esp + 0x74], 0x23227f72
sub dword [esp + 0x8c], 0x51895ca8
sub dword [esp + 0xe8], 0x2cdc257
sub dword [esp + 0xe8], 0x6f9d2620
mov eax, 0x67cb45df
mul dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
add dword [esp + 0xac], 0x5b2643c2
sub dword [esp + 0xc8], 0x3d0893fd
add dword [esp + 0x48], 0x21ad65f2
sub dword [esp + 0xa8], 0x51e81ca2
mov eax, 0x1988ea2f
mul dword [esp + 0xf0]
mov eax, dword [esp + 0xf0]
sub dword [esp + 0xfc], 0x5f8969ab
mov eax, 0x40b3fa35
mul dword [esp + 0x78]
mov eax, dword [esp + 0x78]
add dword [esp + 0xdc], 0x70ed06e5
sub dword [esp + 0x74], 0x554bbc60
add dword [esp + 0x58], 0x4c9a0b8d
sub dword [esp + 0x7c], 0x3b9eef12
sub dword [esp + 0x7c], 0x243cc5a7
sub dword [esp + 0xc0], 0x304cc967
add dword [esp + 0xb0], 0x474bc049
add dword [esp + 0x8c], 0x1f874883
add dword [esp + 0x34], 0x5fb75d86
add dword [esp + 0xc4], 0x74b8b368
add dword [esp + 0x78], 0x57b22b0f
mov eax, 0x400eea4d
mul dword [esp + 0xf4]
mov eax, dword [esp + 0xf4]
mov eax, 0x60eeeb52
mul dword [esp + 0x94]
mov eax, dword [esp + 0x94]
add dword [esp + 0xc8], 0x78790dde
add dword [esp + 0x40], 0x3bd1294f
sub dword [esp + 0xc8], 0x6c8cefbd
add dword [esp + 0xe4], 0x5c46d674
mov eax, 0x8b584e4
mul dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
sub dword [esp + 0x78], 0x5b4fa728
mov eax, 0x7f367719
mul dword [esp + 0xe8]
mov eax, dword [esp + 0xe8]
sub dword [esp + 0xa8], 0x6fe5dbe
add dword [esp + 0x38], 0x3a46ea0a
sub dword [esp + 0x34], 0x3069c65f
add dword [esp + 0xe0], 0x36dcb6db
mov eax, 0x5b84e431
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x94], 0x54ebab48
sub dword [esp + 0x70], 0x72983aa6
mov eax, 0x74726a1a
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
sub dword [esp + 0x7c], 0x9a29871
add dword [esp + 0xe0], 0x212d1fe8
mov eax, 0x39c6f902
mul dword [esp + 0xfc]
mov eax, dword [esp + 0xfc]
sub dword [esp + 0xcc], 0x3b83f477
sub dword [esp + 0xc0], 0x107507eb
mov eax, 0x5ed536cd
mul dword [esp + 0x70]
mov eax, dword [esp + 0x70]
mov eax, 0x1339a3e3
mul dword [esp + 0xf4]
mov eax, dword [esp + 0xf4]
mov eax, 0x31b1d49c
mul dword [esp + 0xd4]
mov eax, dword [esp + 0xd4]
sub dword [esp + 0xac], 0x296f048f
add dword [esp + 0x7c], 0x71cd792b
mov eax, 0xb3e6fa5
mul dword [esp + 0x60]
mov eax, dword [esp + 0x60]
sub dword [esp + 0xfc], 0x63c607f3
mov eax, 0x4fd4571c
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
add dword [esp + 0xa8], 0x7c72d0df
sub dword [esp + 0x3c], 0x61d38e28
mov eax, 0x1ce9535f
mul dword [esp + 0x54]
mov eax, dword [esp + 0x54]
sub dword [esp + 0xdc], 0x5386727e
add dword [esp + 0x9c], 0x2da2b3ec
mov eax, 0xae0cef7
mul dword [esp + 0xcc]
mov eax, dword [esp + 0xcc]
add dword [esp + 0xf8], 0x622dc40a
add dword [esp + 0xc0], 0x30cb3975
sub dword [esp + 0xec], 0x1171f6c
cmp dword [0x47856c], 0x400
jne 0x431d1a
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll__lcreat]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll__hread]
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoA]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
lea eax, [esp + 0x104]
push eax
push 0x430850
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push esi
call fcn.0043300d
add esp, 4
push esi
push esi
call fcn.004335ba
push 0x4307c4
push 0x430928
push esi
call fcn.00433406
fldz
add esp, 4
fst qword [esp + 8]
fstp qword [esp]
call fcn.00432a00
fstp st(0)
add esp, 8
fldz
fstp qword [esp]
call fcn.004334a0
fstp st(0)
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.004331e0
fstp st(0)
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.00432ef0
fstp st(0)
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
mov ecx, dword [esp + 0x34]
push 0
push 0
push ecx
push 0
call edi
call ebx
cmp esi, 0x12e8a06
jg 0x431d48
inc esi
cmp esi, 0x30375
jl 0x431d28
mov edi, dword [sym.imp.GDI32.dll_GetCharWidthI]
xor esi, esi
cmp esi, 0xa16
jge 0x431d64
push 0
push 0
push 0
push 0
push 0
call edi
cmp esi, 0x166c480
jg 0x431d75
inc esi
cmp esi, 0x37e3fd1
jl 0x431d50
mov edx, dword [0x446ef4]
mov dword [0x47856c], edx
call fcn.00431240
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov edi, 0x2ec37
mov ebx, 0x51f
cmp dword [0x47856c], ebx
jne 0x431daa
lea eax, [esp + 0x100]
push eax
push 0
call esi
dec edi
jne 0x431d96
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10