Function at 0x4ae85f
Capabilities:
Get common file path

Disassembly:
push ebx
push edi
xor eax, eax
push eax
push eax
call fcn.005b13d0
push dword [esp + 0x14]
call fcn.0054d560
push dword [0x7c30d8]
mov edx, 0x72b0ec
pop ecx
call fcn.0054d570
jne 0x4ae8a9
mov edx, dword [0x7c30d8]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
pop eax
push eax
call fcn.0054d530
pop edx
add eax, edx
jmp 0x4aeb01
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
call fcn.0059d1bf
lea eax, [0x7c30d8]
push eax
call fcn.005b12d0
lea eax, [esp]
push eax
push 0x1a
push 0
call sub.SHELL32.dll_SHGetSpecialFolderLocation
mov ebx, eax
and ebx, ebx
jne 0x4ae93f
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push 0x104
call fcn.005af190
lea eax, [0x7c30d8]
push eax
call fcn.005b12d0
mov eax, dword [0x7c30d8]
push eax
push dword [esp + 4]
call sub.SHELL32.dll_SHGetPathFromIDListW
mov ebx, eax
and ebx, ebx
jne 0x4ae93f
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
call fcn.0059d1bf
lea eax, [0x7c30d8]
push eax
call fcn.005b12d0
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push 1
push dword [0x7c30d8]
call fcn.005ade80
call fcn.005b1360
mov edx, 0x72dc3a
call fcn.0054d5b0
mov ecx, eax
call fcn.0054d570
jne 0x4ae9a4
mov edx, dword [0x7c30d8]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, str.SpiderBasic_
push edx
call fcn.005b1270
lea eax, [0x7c30d8]
push eax
call fcn.005b12d0
jmp 0x4ae9cf
mov edx, dword [0x7c30d8]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x73d878
push edx
call fcn.005b1270
lea eax, [0x7c30d8]
push eax
call fcn.005b12d0
push dword [0x7c30d8]
call fcn.0059ced8
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x4ae9ec
cmp edi, 0xffffffff
jne 0x4ae9ec
xor eax, eax
jmp 0x4ae9f1
mov eax, 1
or eax, eax
je 0x4aead7
mov dword [esp + 4], 3
mov ebx, dword [esp + 4]
inc ebx
push ebx
mov eax, 0x72dc3a
push eax
push dword [0x7c30d8]
call fcn.005add70
mov ebx, eax
and ebx, ebx
jle 0x4aead7
mov ebx, dword [esp + 4]
inc ebx
push ebx
mov eax, 0x72dc3a
push eax
push dword [0x7c30d8]
call fcn.005add70
mov dword [esp + 4], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x10]
push dword [0x7c30d8]
call fcn.005adff0
call fcn.0054d542
add dword [esp], edx
call fcn.0059ced8
call fcn.0054d560
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x4aea88
cmp edi, 0xffffffff
jne 0x4aea88
xor eax, eax
jmp 0x4aea8d
mov eax, 1
or eax, eax
je 0x4aead2
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x10]
push dword [0x7c30d8]
call fcn.005adff0
call fcn.0054d542
add dword [esp], edx
call fcn.0059d1f1
call fcn.0054d560
mov ebx, eax
and ebx, ebx
jne 0x4aead2
jmp 0x4aead7
jmp 0x4aea01
mov edx, dword [0x7c30d8]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
pop eax
push eax
call fcn.0054d530
pop edx
add eax, edx
jmp 0x4aeb01
add esp, 8
pop edi
pop ebx
ret