Function at 0x414030
Capabilities:
Check if file exists
Copy file
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x21c
mov eax, dword [0x42b48c]
push ebx
push esi
push edi
xor eax, ebp
mov ebx, ecx
push str.CRsLoadCloud::InitData...
push 0x80
mov dword [esp + 0x22c], eax
mov dword [esp + 0x14], ebx
call fcn.004062b0
lea esi, [ebx + 4]
mov dword [ebx], 0
xor eax, eax
mov ecx, 0x41
mov edi, esi
rep stosd dword es:[edi], eax
add ebx, 0x108
push 0x104
mov ecx, 0x41
mov edi, ebx
push esi
rep stosd dword es:[edi], eax
call fcn.00413d40
add esp, 0x10
test esi, esi
je 0x4140fb
cmp byte [esi], 0
je 0x4140fb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4140a1
sub eax, edx
cmp byte [eax + esi - 1], 0x5c
jne 0x4140c3
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4140b6
sub eax, edx
mov byte [eax + esi - 1], cl
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x4140db
inc eax
dec ecx
jne 0x4140d0
jmp 0x4140fb
test ecx, ecx
je 0x4140fb
mov eax, 0x104
sub eax, ecx
push str.RisingRSD
mov ecx, 0x104
sub ecx, eax
push ecx
add eax, esi
push eax
call fcn.004033d0
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edi, esi
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414110
mov dx, word [0x424408]
mov word [edi], dx
mov edi, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414125
mov eax, dword [str.CldRsd.dll]
mov dword [edi], eax
mov ecx, dword [0x426538]
mov dword [edi + 4], ecx
mov dx, word [0x42653c]
mov word [edi + 8], dx
mov al, byte [0x42653e]
mov byte [edi + 0xa], al
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414153
mov cx, word [0x424408]
mov word [edi], cx
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414168
mov edx, dword [str.CldRsd.dll]
mov dword [edi], edx
mov eax, dword [0x426538]
mov dword [edi + 4], eax
mov cx, word [0x42653c]
mov word [edi + 8], cx
mov dl, byte [0x42653e]
mov ecx, dword [esp + 0xc]
push ebx
push str.http:__download.suxiazai.com_for_down_2013_new_dlls_CldRsd.dll
mov byte [edi + 0xa], dl
call fcn.00413df0
test eax, eax
push esi
jne 0x4141c9
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, ebp
call fcn.00415d1a
mov esp, ebp
pop ebp
ret
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x414265
xor eax, eax
mov byte [esp + 0x10], 0
mov ecx, 0x40
lea edi, [esp + 0x11]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [esp + 0x118], 0
mov ecx, 0x40
lea edi, [esp + 0x119]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [esp + 0xc]
push 0x104
lea eax, [esp + 0x14]
push eax
push esi
mov ecx, edi
call fcn.00413c30
push 0x104
lea ecx, [esp + 0x11c]
push ecx
push ebx
mov ecx, edi
call fcn.00413c30
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x11c]
push eax
call fcn.004176df
add esp, 8
test eax, eax
jg 0x414265
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, ebp
call fcn.00415d1a
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, eax
push esi
push str.CRsLoadCloud::InitData..._CopyFile_flag__d.
push 0x80
call fcn.004062b0
mov ecx, dword [esp + 0x230]
add esp, 0xc
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415d1a
mov esp, ebp
pop ebp
ret