Function at 0x46d1d4
Capabilities:
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4b8
mov eax, dword [0x5c4e68]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x468], eax
mov eax, dword [ebp + 0x10]
mov esi, 0x103
xor ebx, ebx
push esi
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x113]
push ebx
push eax
mov byte [ebp - 0x114], bl
call fcn.005117f0
add esp, 0xc
push esi
lea eax, [ebp - 0x21b]
push ebx
push eax
mov byte [ebp - 0x21c], bl
call fcn.005117f0
add esp, 0xc
push 0x13c
lea eax, [ebp - 0x460]
push ebx
push eax
mov dword [ebp - 0x464], ebx
call fcn.005117f0
xor eax, eax
mov word [ebp - 0x494], bx
lea edi, [ebp - 0x492]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x4a4], bx
lea edi, [ebp - 0x4a2]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
push esi
stosw word es:[edi], ax
lea eax, [ebp - 0x323]
push ebx
push eax
mov dword [ebp - 0x480], ebx
mov dword [ebp - 0x478], ebx
mov byte [ebp - 0x324], bl
call fcn.005117f0
mov esi, dword [ebp - 0x46c]
add esp, 0xc
cmp esi, ebx
je 0x46d912
cmp dword [ebp - 0x468], ebx
je 0x46d912
push esi
call fcn.005120b0
test eax, eax
pop ecx
jbe 0x46d912
push esi
call fcn.005120b0
mov edi, 0x104
cmp eax, edi
pop ecx
jae 0x46d912
push dword [ebp - 0x468]
call fcn.005120b0
test eax, eax
pop ecx
jbe 0x46d912
push dword [ebp - 0x468]
call fcn.005120b0
cmp eax, edi
pop ecx
jae 0x46d912
mov edi, esi
call fcn.0042ad00
test eax, eax
jne 0x46d323
mov edi, dword [ebp - 0x468]
call fcn.0042ad00
test eax, eax
je 0x46d912
push esi
call fcn.0042adad
test eax, eax
pop ecx
mov edi, 0x1e61
jne 0x46d34f
push edi
mov ecx, esi
call fcn.0042b0ca
test eax, eax
pop ecx
jne 0x46d34f
mov eax, esi
call fcn.0042b289
test eax, eax
jne 0x46d912
push dword [ebp - 0x468]
call fcn.0042adad
test eax, eax
pop ecx
jne 0x46d383
mov ecx, dword [ebp - 0x468]
push edi
call fcn.0042b0ca
test eax, eax
pop ecx
jne 0x46d383
mov eax, dword [ebp - 0x468]
call fcn.0042b289
test eax, eax
jne 0x46d912
push esi
call fcn.005120b0
cmp byte [eax + esi - 1], 0x5c
pop ecx
push esi
lea eax, [ebp - 0x114]
jne 0x46d39f
push 0x54ff18
jmp 0x46d3a4
push 0x56f880
push eax
call fcn.00511173
add esp, 0xc
push 0x2823
lea eax, [ebp - 0x494]
push str..Network.c
push eax
call fcn.004f2709
add esp, 0xc
push ebx
lea edi, [ebp - 0x324]
call fcn.004683e7
pop ecx
mov eax, edi
push eax
push dword [ebp - 0x468]
call fcn.004c48c1
pop ecx
mov edi, eax
pop ecx
neg edi
lea eax, [ebp - 0x464]
push eax
sbb edi, edi
lea eax, [ebp - 0x114]
neg edi
push eax
mov dword [ebp - 0x484], edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x47c], eax
jne 0x46d441
cmp dword [ebp + 0x14], ebx
jne 0x46d41d
xor eax, eax
inc eax
jmp 0x46d914
push dword [ebp + 0x18]
push ebx
push dword [ebp - 0x470]
push esi
push dword [ebp - 0x468]
call fcn.0046d1d4
add esp, 0x14
jmp 0x46d914
mov edi, dword [ebp - 0x484]
cmp dword [ebp - 0x478], ebx
je 0x46d47b
call fcn.004f16be
sub eax, dword [ebp - 0x480]
cmp eax, 0x1388
jbe 0x46d47b
cmp dword [ebp + 0x18], ebx
je 0x46d47b
push dword [ebp + 0x18]
call fcn.0046cf18
mov dword [ebp - 0x478], ebx
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call fcn.005120b0
cmp byte [eax + esi - 1], 0x5c
pop ecx
lea eax, [ebp - 0x438]
push eax
push esi
lea eax, [ebp - 0x114]
jne 0x46d49e
push 0x533dd4
jmp 0x46d4a3
push 0x549b60
push eax
call fcn.00511173
add esp, 0x10
push dword [ebp - 0x468]
call fcn.005120b0
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x468]
cmp byte [ecx + eax - 1], 0x5c
lea ecx, [ebp - 0x438]
push ecx
push eax
lea eax, [ebp - 0x21c]
jne 0x46d4dc
push 0x533dd4
jmp 0x46d4e1
push 0x549b60
push eax
call fcn.00511173
add esp, 0x10
cmp edi, ebx
je 0x46d5dd
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x450]
call fcn.004f34a7
sub esp, 0xc
mov edi, esp
lea esi, [ebp - 0x4a4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x494]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f0922
add esp, 0x20
test eax, eax
je 0x46d5d7
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x494]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x4a4]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f0d62
add esp, 0x20
cmp eax, 0x927c0
mov dword [ebp - 0x474], eax
jle 0x46d5d7
lea esi, [ebp - 0x494]
lea edi, [ebp - 0x4b4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x4b4]
movsd dword es:[edi], dword [esi]
push eax
mov word [ebp - 0x4a8], bx
mov word [ebp - 0x4aa], bx
call fcn.004f35e3
push ebx
push ebx
lea eax, [ebp - 0x114]
push ebx
push eax
lea eax, [ebp - 0x450]
xor ecx, ecx
call fcn.0042b67b
mov eax, dword [ebp - 0x474]
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, eax
call fcn.004f0e4d
push eax
lea eax, [ebp - 0x114]
push eax
push str.:2:TIME_DISCREPANCY__SyncFolders___had_to_adjust_the_timestamp_of___s__back_by__s_to_match_the_server_time_
call fcn.004265da
add esp, 0x24
mov esi, dword [ebp - 0x46c]
push dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
push dword [ebp - 0x468]
call fcn.0046d923
test eax, eax
pop ecx
pop ecx
je 0x46d8d5
lea eax, [ebp - 0x438]
push eax
push str._n__Syncing__s...
call fcn.00470dd2
cmp dword [ebp - 0x478], ebx
pop ecx
pop ecx
jne 0x46d63f
push 0x286c
push str..Network.c
push dword [ebp + 0x18]
call fcn.0046c07a
add esp, 0xc
mov dword [ebp - 0x478], eax
call fcn.004f16be
mov dword [ebp - 0x480], eax
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, 0x120
push ebx
lea eax, [ebp - 0x114]
push eax
call edi
test eax, eax
jne 0x46d6b1
lea eax, [ebp - 0x114]
call fcn.0042b289
test eax, eax
jne 0x46d6b1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
lea eax, [ebp - 0x114]
push eax
call edi
test eax, eax
mov esi, str._GetLastError_
jne 0x46d6b6
push esi
lea eax, [ebp - 0x114]
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x470]
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s___FILE_ATTRIBUTE_COPY_PENDING__FILE_ATTRIBUTE_ARCHIVE__FAILED:__s
call fcn.004265da
add esp, 0x1c
jmp 0x46d6b6
mov esi, str._GetLastError_
push ebx
lea eax, [ebp - 0x21c]
push eax
call edi
test eax, eax
jne 0x46d721
lea eax, [ebp - 0x21c]
call fcn.0042b289
test eax, eax
jne 0x46d721
lea edi, [ebp - 0x21c]
call fcn.0042ad00
test eax, eax
je 0x46d721
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x46d721
push esi
mov eax, edi
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x470]
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s___FILE_ATTRIBUTE_COPY_PENDING__FILE_ATTRIBUTE_ARCHIVE__FAILED:__s
call fcn.004265da
add esp, 0x1c
lea ebx, [ebp - 0x21c]
lea ecx, [ebp - 0x114]
call fcn.0042a28e
mov ebx, eax
test ebx, ebx
jne 0x46d78b
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ebx, [ebp - 0x21c]
lea ecx, [ebp - 0x114]
call fcn.0042a28e
mov ebx, eax
test ebx, ebx
jne 0x46d78b
push esi
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x114]
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x470]
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_CopyFileWithDates___s_____s___FAILED:__s
call fcn.004265da
add esp, 0x20
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x20
lea eax, [ebp - 0x114]
push eax
call edi
test eax, eax
jne 0x46d817
lea eax, [ebp - 0x114]
call fcn.0042b289
test eax, eax
jne 0x46d817
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x20
lea eax, [ebp - 0x114]
push eax
call edi
test eax, eax
jne 0x46d817
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [ebp - 0x114]
mov dword [ebp - 0x474], eax
call fcn.0042ad00
push dword [ebp - 0x474]
test eax, eax
push esi
mov eax, edi
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x470]
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
je 0x46d80a
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s___FILE_ATTRIBUTE_ARCHIVE__FAILED_to_RESET_the_source_files_attributes___NOTE_the_file_DOES_exist:__s_ld
jmp 0x46d80f
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s___FILE_ATTRIBUTE_ARCHIVE__FAILED_to_RESET_the_source_files_attributes___NOTE_the_file_DOES_NOT_exist:__s_ld
call fcn.004265da
add esp, 0x20
neg ebx
sbb ebx, ebx
and ebx, 0xfffffefe
add ebx, 0x122
push ebx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x46d8bd
lea eax, [ebp - 0x21c]
call fcn.0042b289
test eax, eax
jne 0x46d8bd
lea edi, [ebp - 0x21c]
call fcn.0042ad00
test eax, eax
je 0x46d8bd
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x46d8bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x474], eax
call fcn.0042ad00
push dword [ebp - 0x474]
test eax, eax
push esi
push ebx
mov eax, edi
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x470]
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
je 0x46d8b0
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s____ld__FAILED_to_RESET_the_dest_files_attributes__NOTE_the_file_DOES_exist:__s_ld
jmp 0x46d8b5
push str.:6:SyncFolders___s_____s_____s____d__encountered_a_problem:_SetFileAttributes___s____ld__FAILED_to_RESET_the_dest_files_attributes__NOTE_the_file_DOES_NOT_exist:__s_ld
call fcn.004265da
add esp, 0x24
test bl, 2
je 0x46d8cd
lea eax, [ebp - 0x21c]
call fcn.0042a76b
mov esi, dword [ebp - 0x46c]
xor ebx, ebx
lea eax, [ebp - 0x464]
push eax
push dword [ebp - 0x47c]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x46d43b
cmp dword [ebp - 0x478], ebx
je 0x46d901
push dword [ebp + 0x18]
call fcn.0046cf18
pop ecx
push dword [ebp - 0x47c]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x46d410
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051291c
leave
ret