Function at 0x4223e6
Capabilities:
Copy file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc9c
mov eax, dword [0x4f51d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x418]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0xc94], esi
call fcn.00492200
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 0xc
push dword [esi + 0xc]
lea eax, [ebp - 0x418]
push eax
call edi
push str.Safebox6.0
lea eax, [ebp - 0x418]
push eax
call edi
push str.old_data
lea eax, [ebp - 0x418]
push eax
call edi
lea esi, [ebp - 0x418]
call fcn.0045af1b
call fcn.0045db63
cmp eax, 2
jle 0x4224a9
push 0x208
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.00492200
mov eax, dword [ebp - 0xc94]
add esp, 0xc
push dword [eax + 0xc]
lea eax, [ebp - 0x210]
push eax
call edi
push str.360safebox
lea eax, [ebp - 0x210]
push eax
call edi
mov eax, esi
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0045a916
pop ecx
pop ecx
jmp 0x422705
push 0x20a
lea eax, [ebp - 0xa40]
push ebx
push eax
call fcn.00492200
mov eax, dword [ebp - 0xc94]
add esp, 0xc
push dword [eax + 0x58]
lea eax, [ebp - 0xa40]
push eax
call edi
push 0x4db344
lea eax, [ebp - 0xa40]
push eax
call edi
push 0x24c
lea eax, [ebp - 0xc8c]
push ebx
push eax
mov dword [ebp - 0xc90], ebx
call fcn.00492200
add esp, 0xc
lea eax, [ebp - 0xc90]
push eax
lea eax, [ebp - 0xa40]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xc98], eax
cmp eax, 0xffffffff
je 0x422705
mov ecx, 0x4daccc
lea eax, [ebp - 0xc64]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42254d
cmp dx, bx
je 0x422549
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42254d
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x422527
xor eax, eax
jmp 0x422552
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4226de
mov ecx, 0x4d8df0
lea eax, [ebp - 0xc64]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42258b
cmp dx, bx
je 0x422587
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42258b
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x422565
xor eax, eax
jmp 0x422590
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4226de
push 0x20a
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.00492200
mov eax, dword [ebp - 0xc94]
add esp, 0xc
push dword [eax + 0x58]
lea eax, [ebp - 0x628]
push eax
call edi
lea eax, [ebp - 0xc64]
push eax
lea eax, [ebp - 0x628]
push eax
call edi
xor esi, esi
test byte [ebp - 0xc90], 0x10
je 0x422672
mov ecx, dword [esi + 0x4f6f80]
lea eax, [ebp - 0xc64]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x422610
cmp dx, bx
je 0x42260c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x422610
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4225ea
xor eax, eax
jmp 0x422615
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x422626
add esi, 4
cmp esi, 8
jne 0x4225de
jmp 0x4226de
push 0x208
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.00492200
add esp, 0xc
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x210]
push eax
call edi
lea eax, [ebp - 0xc64]
push eax
lea eax, [ebp - 0x210]
push eax
call edi
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.0045a916
pop ecx
pop ecx
jmp 0x4226de
push dword [esi + 0x4f6f2c]
lea eax, [ebp - 0xc64]
push eax
call fcn.0048d376
pop ecx
pop ecx
test eax, eax
jne 0x422694
add esi, 4
cmp esi, 0x14
jne 0x422672
jmp 0x4226de
push 0x208
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.00492200
add esp, 0xc
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x830]
push eax
call edi
lea eax, [ebp - 0xc64]
push eax
lea eax, [ebp - 0x830]
push eax
call edi
push ebx
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0xc90]
push eax
push dword [ebp - 0xc98]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x42251c
push dword [ebp - 0xc98]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048c64c
leave
ret