Function at 0x435311
Capabilities:
Get common file path
Get disk information
Get startup folder

Disassembly:
push 0xffffffffffffffff
push 0x5c8379
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x508
mov eax, dword [0x64aa84]
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x510], eax
mov dword [esp + 0x34], esi
call fcn.00434c60
add esi, 0xc
mov ecx, esi
call fcn.00434c60
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor edi, edi
mov dword [esp + 0x38], eax
mov word [esp + 0xc], 0x41
mov word [esp + 0xe], di
mov dword [esp + 0x10], 1
mov dword [esp + 0x30], 0x20
mov ebx, 8
push ebp
lea ecx, [ecx]
mov eax, dword [esp + 0x3c]
test dword [esp + 0x14], eax
je 0x435741
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x108]
push str._s:_
push edx
call fcn.0057a4a2
add esp, 0xc
lea eax, [esp + 0x104]
push eax
call dword [0x652bc4]
cmp eax, 3
jne 0x435741
lea ecx, [esp + 0x104]
mov ebp, 7
push ecx
mov dword [esp + 0x104], ebp
mov dword [esp + 0x100], edi
mov word [esp + 0xf0], di
call fcn.0057a0fd
add esp, 4
push eax
lea edx, [esp + 0x108]
push edx
lea ecx, [esp + 0xf0]
call fcn.00434840
mov dword [esp + 0x520], edi
push str.KuGou
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 1
cmp dword [esp + 0xc8], ebx
mov eax, dword [esp + 0xb4]
jae 0x435422
lea eax, [esp + 0xb4]
push eax
call dword [0x652bd0]
cmp eax, 0xffffffff
je 0x4354a8
push 0x5e3ca8
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 2
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
push eax
push ecx
push edi
mov ecx, esi
call fcn.00434b30
push 1
mov ecx, esi
mov ebp, eax
call fcn.00434bd0
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ebp
mov byte [esp + 0x520], 1
cmp dword [esp + 0x58], ebx
jb 0x43548e
mov edx, dword [esp + 0x44]
push edx
call fcn.005abee6
add esp, 4
xor eax, eax
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], eax
mov word [esp + 0x44], ax
mov ebp, 7
xor edi, edi
push str.KwDownload
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 3
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xbc]
call fcn.00434630
mov byte [esp + 0x520], 1
cmp dword [esp + 0x74], ebx
jb 0x4354f5
mov edx, dword [esp + 0x60]
push edx
call fcn.005abee6
add esp, 4
cmp dword [esp + 0xc8], ebx
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], edi
mov word [esp + 0x60], di
jae 0x435519
lea eax, [esp + 0xb4]
push eax
call dword [0x652bd0]
cmp eax, 0xffffffff
je 0x4355b5
push str._song_
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 4
mov edi, dword [esi + 4]
mov edx, dword [edi + 4]
push eax
push edx
push edi
mov ecx, esi
call fcn.00434b30
push 1
mov ecx, esi
mov ebp, eax
call fcn.00434bd0
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ebp
mov byte [esp + 0x520], 1
cmp dword [esp + 0xac], ebx
jb 0x435592
mov eax, dword [esp + 0x98]
push eax
call fcn.005abee6
add esp, 4
xor eax, eax
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], eax
mov word [esp + 0x98], ax
mov ebp, 7
xor edi, edi
push str.TTPmusic
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 5
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xbc]
call fcn.00434630
mov byte [esp + 0x520], 1
cmp dword [esp + 0x90], ebx
jb 0x435608
mov eax, dword [esp + 0x7c]
push eax
call fcn.005abee6
add esp, 4
cmp dword [esp + 0xc8], ebx
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], edi
mov word [esp + 0x7c], di
jae 0x435632
lea eax, [esp + 0xb4]
push eax
call dword [0x652bd0]
cmp eax, 0xffffffff
je 0x4356b8
push 0x5e3ca8
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 6
mov edi, dword [esi + 4]
push eax
mov eax, dword [edi + 4]
push eax
push edi
mov ecx, esi
call fcn.00434b30
push 1
mov ecx, esi
mov ebp, eax
call fcn.00434bd0
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ebp
mov byte [esp + 0x520], 1
cmp dword [esp + 0x30], ebx
jb 0x43569e
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.005abee6
add esp, 4
xor eax, eax
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], eax
mov word [esp + 0x1c], ax
mov ebp, 7
xor edi, edi
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0xe8]
push edx
mov dword [ecx + 0x1c], 1
call fcn.00434ec0
mov byte [esp + 0x520], 0
cmp dword [esp + 0xc8], ebx
jb 0x4356f1
mov eax, dword [esp + 0xb4]
push eax
call fcn.005abee6
add esp, 4
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], edi
mov word [esp + 0xb4], di
mov dword [esp + 0x520], 0xffffffff
cmp dword [esp + 0x100], ebx
jb 0x43572b
mov ecx, dword [esp + 0xec]
push ecx
call fcn.005abee6
add esp, 4
mov dword [esp + 0x100], ebp
mov dword [esp + 0xfc], edi
mov word [esp + 0xec], di
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
shl edx, 1
inc word [esp + 0x10]
dec eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], eax
jne 0x435360
mov eax, 7
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edi
mov word [esp + 0xd0], di
mov dword [esp + 0x520], eax
push edi
push 0xc
lea edx, [esp + 0x10c]
push edx
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [esp + 0x104]
push eax
call fcn.0057a0fd
add esp, 4
push eax
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esp + 0xd4]
call fcn.00434840
push 0x5e85c0
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], bl
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
push eax
push ecx
push edi
mov ecx, esi
call fcn.00434b30
push 1
mov ecx, esi
mov ebp, eax
call fcn.00434bd0
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ebp
mov byte [esp + 0x520], 7
cmp dword [esp + 0x30], ebx
jb 0x435817
mov edx, dword [esp + 0x1c]
push edx
call fcn.005abee6
add esp, 4
xor edi, edi
push edi
push 0x1a
lea eax, [esp + 0x10c]
push eax
mov ebp, 7
push edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
mov word [esp + 0x2c], di
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [esp + 0x104]
push ecx
call fcn.0057a0fd
add esp, 4
push eax
lea edx, [esp + 0x108]
push edx
lea ecx, [esp + 0xd4]
call fcn.00434840
push 0x5e3ca8
call fcn.0057a0fd
add esp, 4
push eax
push 0xffffffffffffffff
push 0x5e3ca8
lea ecx, [esp + 0xd8]
call fcn.00434220
cmp eax, 0xffffffff
je 0x4358db
push eax
push edi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xd8]
call fcn.00434ad0
mov byte [esp + 0x520], 9
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd8]
call fcn.00434630
mov byte [esp + 0x520], 7
cmp dword [esp + 0x30], ebx
jb 0x4358ce
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.005abee6
add esp, 4
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], di
push str.Music
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00434ca0
add esp, 0xc
mov byte [esp + 0x520], 0xa
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
push eax
push ecx
push edi
mov ecx, esi
call fcn.00434b30
push 1
mov ecx, esi
mov ebp, eax
call fcn.00434bd0
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
mov dword [eax], ebp
mov byte [esp + 0x520], 7
cmp dword [esp + 0x30], ebx
pop ebp
jb 0x43593c
mov edx, dword [esp + 0x18]
push edx
call fcn.005abee6
add esp, 4
xor esi, esi
mov edi, 7
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
mov word [esp + 0x18], si
mov dword [esp + 0x51c], 0xffffffff
cmp dword [esp + 0xe0], ebx
jb 0x435974
mov eax, dword [esp + 0xcc]
push eax
call fcn.005abee6
add esp, 4
mov ecx, dword [esp + 0x514]
mov dword [esp + 0xe0], edi
pop edi
mov dword [esp + 0xd8], esi
mov word [esp + 0xc8], si
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x508]
pop ebx
call fcn.0057981f
add esp, 0x514
ret