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

Disassembly:
call fcn.00401231
arpl word [eax], sp
pop ebx
outsd dx, dword [esi]
jo 0x401a08
imul ebp, dword [edi + 0x6e], 0x53205d73
outsd dx, dword [esi]
jne 0x401a10
arpl word [ebp + 0x20], sp
inc esp
jae 0x401a19
imul ebp, dword [esi + 0x61], 0x6e6f6974
or eax, 0x2020200a
and byte [eax], ah
sub eax, 0x41202061
je 0x401a20
jb 0x4019dd
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x706f4320], ch
jns 0x4019ed
imul bp, word [ebp + 0x73], 0x6e20
ja 0x401a3c
jb 0x4019f9
je 0x401a43
popal
outsb dx, byte [esi]
and byte [ecx + 0x74], ah
and byte gs:[eax], ch
popal
pop ecx
pop ecx
pop ecx
pop ecx
sub eax, 0x442d4d4d
inc esp
inc esp
sub dword [0x2020200a], ecx
and byte [eax], ah
sub eax, 0x42202062
and byte [eax], ah
inc edx
popal
arpl word [ebx + 0x20], bp
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
sub eax, 0x6c654420
je 0x401a77
je 0x401a77
and byte [ebp + 0x73], ah
je 0x401a81
outsb dx, byte [esi]
popal
je 0x401a85
outsd dx, dword [esi]
outsb dx, byte [esi]
and byte [edi + 0x72], ch
jo 0x401a8b
jb 0x401a92
push 0x20736e61
popal
outsb dx, byte [esi]
jae 0x401a47
bound esp, qword [ebp + 0x66]
outsd dx, dword [esi]
jb 0x401a92
and byte [ebx + 0x6f], ah
jo 0x401aab
or eax, 0x2020200a
and byte [eax], ah
sub eax, 0x44202064
jae 0x401ab5
and byte [ebp + 0x73], al
je 0x401aab
imul ebp, dword [esi + 0x61], 0x6e6f6974
outsb dx, byte [esi]
popal
je 0x401aaf
outsd dx, dword [esi]
outsb dx, byte [esi]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x69725020
outsb dx, byte [esi]
je 0x401a74
jae 0x401acc
imul ebp, dword [esi + 0x61], 0x6e6f6974
and byte [esi + 0x69], ah
insb byte es:[edi], dx
outsb dx, byte gs:[esi]
popal
insd dword es:[edi], dx
jae 0x401a77
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x4b20206b
dec ebx
imul ebp, dword [esp + ebp*2 + 0x20], 0x20202020
and byte [eax], ah
and byte [eax], ah
insb byte es:[edi], dx
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x6c654420], ch
and byte [eax], ah
sub eax, 0x6c654420
inc esp
insb byte es:[edi], dx
je 0x401af0
and byte [ebx + 0x6f], dh
jne 0x401b02
arpl word [ebp + 0x20], sp
imul bp, word [ebp + 0x73], 0x6120
and byte [esi + 0x69], ah
insb byte es:[edi], dx
jae 0x401ab9
popal
je 0x401b02
jb 0x401abf
arpl word [edi + 0x70], bp
jns 0x401ac4
sub byte [ebp + 0x6f], cl
jbe 0x401b0e
sub dword [0x2020200a], ecx
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x4e20206e
dec esi
outsd dx, dword [esi]
and byte [ebx + 0x6f], ah
outsd dx, dword [esi]
jo 0x401b35
and byte [eax], ch
je 0x401b25
jae 0x401b36
jae 0x401b36
sub dword [eax], esp
sub eax, 0x6b614620
and byte gs:[ebx + 0x6f], ah
outsd dx, dword [esi]
jo 0x401b48
and byte [edi + ebp*2 + 0x20], dh
je 0x401b3a
jae 0x401b4b
and byte [edx + 0x65], dh
jae 0x401b51
insb byte es:[edi], dx
je 0x401aec
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x50202070
jb 0x401b5b
insd dword es:[edi], dx
jo 0x401b63
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x6b734120], ch
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
sub eax, 0x6b734120
and byte [edx + 0x65], ah
outsw dx, word [esi]
jb 0x401b69
and byte [ebx + 0x6f], ah
jo 0x401b82
imul ebp, dword [esi + 0x67], 0x6c696620
jae 0x401b20
imul ebp, dword [ebp + 0x73], 0x20200a0d
and byte [eax], ah
and byte [0x51202071], ch
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x51202071
jne 0x401b89
je 0x401b43
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x206f4e20], ch
jae 0x401b96
jb 0x401b9a
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
and byte [edi + 0x75], ch
je 0x401bac
jne 0x401bb2
or eax, 0x2020200a
and byte [eax], ah
sub eax, 0x52202072
jo 0x401bb9
and byte [edx + 0x65], dl
jo 0x401bb9
popal
arpl word [ebp + 0x20], sp
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x6c6e4f20], ch
outsb dx, byte [esi]
insb byte es:[edi], dx
jns 0x401b7f
arpl word [edi + 0x70], bp
jns 0x401b84
and byte [esi + 0x69], ah
insb byte es:[edi], dx
jae 0x401b8a
imul bp, word [ebp + 0x73], 0x6520
js 0x401bd6
and byte [ebp + 0x78], ah
imul esi, dword [ebx + 0x74], 0x20676e69
imul ebp, dword [esi + 0x20], 0x74736564
js 0x401bd6
jae 0x401be3
imul ebp, dword [esi + 0x67], 0x206e6920
jae 0x401bee
imul ebp, dword [esi + 0x61], 0x6e6f6974
outsd dx, dword [esi]
outsb dx, byte [esi]
or eax, 0x2020200a
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x53202073
jae 0x401bab
and byte [eax], ah
push ebx
and byte [ebx + 0x75], dl
bound esp, qword [ecx + ebp*2 + 0x72]
arpl word gs:[edi + ebp*2 + 0x72], si
jne 0x401bf1
imul esi, dword fs:[edx + 0x65], 0x726f7463
jb 0x401c11
jns 0x401bb9
and byte [eax], ah
and byte [eax], ah
sub eax, 0x63655220
and byte [0x63655220], ch
jne 0x401c14
jae 0x401c09
and byte [ebx + 0x75], dh
bound esp, qword [ecx + ebp*2 + 0x72]
arpl word gs:[edi + ebp*2 + 0x72], si
arpl word [edi + ebp*2 + 0x72], si
imul esp, dword [ebp + 0x73], 0x20200a0d
and byte [eax], ah
jae 0x401bc1
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x54202074
and byte [0x54202074], ch
outsd dx, dword [esi]
jne 0x401c25
arpl word [eax + 0x20], bp
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x706f4320], ch
push 0x20202020
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
sub eax, 0x706f4320
jns 0x401bf4
insd dword es:[edi], dx
outsd dx, dword [esi]
imul esp, dword fs:[esi + 0x79], 0x6d697420
jae 0x401c55
popal
insd dword es:[edi], dx
jo 0x401c05
je 0x401c56
and byte [ebx + 0x72], ah
popal
je 0x401c53
and byte [esi], ah
and byte [ecx + 0x63], ah
arpl word [ebp + 0x73], sp
jae 0x401c05
popal
arpl word [ebx + 0x65], sp
jae 0x401c6a
jae 0x401c6a
or eax, 0x2020200a
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
sub eax, 0x55202075
outsb dx, byte [esi]
arpl word [edi + 0x6e], bp
outsd dx, dword [esi]
outsb dx, byte [esi]
imul esi, dword fs:[ecx + ebp*2 + 0x6f], 0x206c616e
and byte [0x776c4120], ch
je 0x401c74
outsd dx, dword [esi]
outsb dx, byte [esi]
popal
insb byte es:[edi], dx
and byte [eax], ah
sub eax, 0x776c4120
insb byte es:[edi], dx
ja fcn.00401c78
popal
jns 0x401c8c
and byte [ebx + 0x6f], ah
jo 0x401c97
and byte [eax], ch
dec ecx
outsb dx, byte [si]
outsd dx, dword [esi]
jb 0x401c8b
and byte gs:[ecx + 0x74], ah
and byte [ecx + 0x74], ah
das
je 0x401c97
insd dword es:[edi], dx
das
jae 0x401c9c
jp 0x401c9a
sub dword [0x4f0a0d0a], ecx
jo 0x401cb1
imul ebp, dword [edi + 0x6e], 0x73616320
and byte gs:[ecx + 0x72], ch
jb 0x401caf
insb byte es:[edi], dx
jbe 0x401caf
outsb dx, byte [esi]
je 0x401c71
jl 0x401c73
dec ecx
and byte [ecx + 0x6f], bh
and byte [ecx + 0x6f], bh
jns 0x401cc7
jne 0x401c7a
outsd dx, dword fs:[esi]
outsb dx, byte [esi]
daa
je 0x401c80
insb byte es:[edi], dx
imul ebp, dword [ebx + 0x65], 0x2c746920
and byte [edi + 0x72], dh
imul esi, dword [ebp + 0x20], 0x72756f79
imul esi, dword [esp + ebp + 0x20], 0x74697277
and byte gs:[ecx + 0x6f], bh
jb 0x401cd5
je 0x401cd3
and byte [ecx + 0x6f], bh
jne 0x401ce5
and byte [edi + 0x77], ch
out dx, al
outsd dx, dword [esi]
ja 0x401c65
xor al, 0x40
add bh, al
push es
xchg esp, eax
add byte [eax], al
add byte [esi - 0x18], dl
inc ecx
or dword [eax], eax
add byte [ebx + 0x7705047e], al
or byte [edx + 0xd], dh
add al, 5
add eax, 0xd720877
xor al, 0x40
add byte [ecx], al
or byte [eax], al
add byte [ebx], al
ret
or byte [eax], al
add byte [ebx + 0x403499], ah
xor byte [eax], al
add byte [eax + 0x753a017e], al
and ecx, dword [edi]
mov dh, 6
sbb eax, ebp
inc esi
cmc
invalid