Function at 0x446320
Capabilities:
Check if file exists
Copy file
Create directory
Delete file
Get common file path
Get file attributes

Disassembly:
push 0x684
mov eax, 0x44dae8
call fcn.0042ecf6
push 1
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x690], esp
push str._LOCAL_APPDATA_KuaiZip
call fcn.0040216b
and dword [ebp - 4], 0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x64c], esp
push str.tpop.exe
call fcn.0040216b
or dword [ebp - 4], 0xffffffff
call fcn.00445fd7
cmp dword [0x464798], 8
mov eax, dword [0x464784]
jae 0x44637b
mov eax, 0x464784
push eax
mov edi, 0x104
lea eax, [ebp - 0x424]
push edi
push eax
call fcn.0042c2c6
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 0xc
push 0x45abc8
lea eax, [ebp - 0x424]
push eax
call ebx
push 0
push 0x10
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x1f
pop esi
call fcn.004439ba
push eax
lea eax, [ebp - 0x21c]
push eax
call ebx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4463ed
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00445939
push 0
push 0x10
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
cmp dword [0x464798], 8
mov eax, dword [0x464784]
jae 0x446413
mov eax, 0x464784
push eax
lea eax, [ebp - 0x424]
push edi
push eax
call fcn.0042c2c6
add esp, 0xc
push str.ali_.URL
lea eax, [ebp - 0x424]
push eax
call ebx
cmp dword [0x464798], 8
mov eax, dword [0x464784]
jae 0x446445
mov eax, 0x464784
push eax
lea eax, [ebp - 0x62c]
push edi
push eax
call fcn.0042c2c6
add esp, 0xc
push str.ali_v.sdo.com.ico
lea eax, [ebp - 0x62c]
push eax
call ebx
push str._APPDATA_KuaiZip
lea esi, [ebp - 0x648]
call fcn.0040216b
sub esp, 0x1c
lea eax, [ebp - 0x648]
mov esi, esp
mov dword [ebp - 0x64c], esp
push eax
mov dword [ebp - 4], 1
call fcn.0040268b
lea eax, [ebp - 0x68c]
push eax
call fcn.0040463d
add esp, 0x20
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x648]
mov byte [ebp - 4], 2
call fcn.004025ff
push 0
push 1
lea esi, [ebp - 0x68c]
mov byte [ebp - 4], 1
call fcn.004026e6
lea eax, [ebp - 0x648]
push eax
lea esi, [ebp - 0x66c]
call fcn.0040268b
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x658]
test eax, eax
ja 0x4464f9
push 0
push 1
mov byte [ebp - 4], 1
call fcn.004026e6
jmp 0x44662b
lea edi, [eax - 1]
lea eax, [ebp - 0x66c]
call fcn.00401694
cmp word [eax], 0x5c
jne 0x446546
mov edi, dword [ebp - 0x658]
dec edi
lea eax, [ebp - 0x66c]
call fcn.00401694
xor ecx, ecx
mov word [eax], cx
cmp dword [ebp - 0x654], 8
mov eax, dword [ebp - 0x668]
jae 0x446539
lea eax, [ebp - 0x668]
push eax
lea eax, [ebp - 0x66c]
push eax
call fcn.00402146
cmp dword [ebp - 0x658], 3
jb 0x446613
lea eax, [ebp - 0x66c]
push eax
lea esi, [ebp - 0x68c]
call fcn.0040268b
cmp dword [ebp - 0x674], 8
mov eax, dword [ebp - 0x688]
jae 0x44657a
lea eax, [ebp - 0x688]
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44658f
test al, 0x10
je 0x44658f
xor edi, edi
inc edi
jmp 0x446591
xor edi, edi
push 0
push 1
lea esi, [ebp - 0x68c]
call fcn.004026e6
test edi, edi
jne 0x446613
sub esp, 0x1c
mov dword [ebp - 0x64c], esp
mov ebx, esp
sub esp, 0x1c
lea eax, [ebp - 0x66c]
mov esi, esp
mov dword [ebp - 0x64c], esp
push eax
call fcn.0040268b
call fcn.00404030
add esp, 0x1c
call fcn.0040407a
add esp, 0x1c
test eax, eax
je 0x4465f8
cmp dword [ebp - 0x654], 8
mov eax, dword [ebp - 0x668]
jae 0x4465ef
lea eax, [ebp - 0x668]
push 0
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
push 0
push 1
lea esi, [ebp - 0x66c]
mov byte [ebp - 4], 1
call fcn.004026e6
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x446626
push 0
push 1
lea esi, [ebp - 0x66c]
mov byte [ebp - 4], 1
call fcn.004026e6
mov edi, 0x104
push 0x45ac04
lea eax, [ebp - 0x648]
push eax
call fcn.0040174a
push str.v.sdo.com.ico
lea eax, [ebp - 0x648]
push eax
call fcn.0040174a
cmp dword [ebp - 0x630], 8
mov eax, dword [ebp - 0x644]
jae 0x446662
lea eax, [ebp - 0x644]
xor esi, esi
push esi
push eax
lea eax, [ebp - 0x62c]
push eax
call dword [sym.imp.KERNEL32.DLL_CopyFileW]
push 0x45a808
lea eax, [ebp - 0x21c]
push eax
call ebx
cmp dword [ebp - 0x630], 8
mov eax, dword [ebp - 0x644]
jae 0x446696
lea eax, [ebp - 0x644]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0044583b
cmp dword [0x464798], 8
mov eax, dword [0x464784]
jae 0x4466b6
mov eax, 0x464784
push eax
lea eax, [ebp - 0x424]
push edi
push eax
call fcn.0042c2c6
add esp, 0xc
push 0x45ac08
lea eax, [ebp - 0x424]
push eax
call ebx
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push esi
push 0xb
lea eax, [ebp - 0x21c]
push eax
push esi
call edi
push 0x1f
pop esi
call fcn.004439ba
push eax
lea eax, [ebp - 0x21c]
push eax
call ebx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44672a
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00445939
push 0
push 2
lea eax, [ebp - 0x21c]
push eax
push 0
call edi
push 0xf
pop esi
call fcn.004439ba
push eax
lea eax, [ebp - 0x21c]
push eax
call ebx
push 0
push 1
lea esi, [ebp - 0x648]
call fcn.004026e6
call fcn.0042ed79
ret