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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4b8
mov eax, dword [0x5065d0]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x474], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x468], eax
mov eax, dword [ebp + 0x10]
mov esi, 0x103
push esi
mov dword [ebp - 0x478], eax
xor ebx, ebx
lea eax, [ebp - 0x113]
push ebx
push eax
mov byte [ebp - 0x114], 0
call fcn.004ab5d0
add esp, 0xc
push esi
lea eax, [ebp - 0x21b]
push ebx
push eax
mov byte [ebp - 0x21c], bl
call fcn.004ab5d0
add esp, 0xc
push 0x13c
lea eax, [ebp - 0x460]
push ebx
push eax
mov dword [ebp - 0x464], ebx
call fcn.004ab5d0
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 - 0x47c], ebx
mov dword [ebp - 0x470], ebx
mov byte [ebp - 0x324], bl
call fcn.004ab5d0
mov esi, dword [ebp - 0x474]
add esp, 0xc
cmp esi, ebx
je 0x445e52
cmp dword [ebp - 0x468], ebx
je 0x445e52
push esi
call fcn.004aa880
test eax, eax
pop ecx
jbe 0x445e52
push esi
call fcn.004aa880
mov edi, 0x104
cmp eax, edi
pop ecx
jae 0x445e52
push dword [ebp - 0x468]
call fcn.004aa880
test eax, eax
pop ecx
jbe 0x445e52
push dword [ebp - 0x468]
call fcn.004aa880
cmp eax, edi
pop ecx
jae 0x445e52
mov edi, esi
call fcn.0041a629
test eax, eax
jne 0x445990
mov edi, dword [ebp - 0x468]
call fcn.0041a629
test eax, eax
je 0x445e52
push esi
call fcn.0041a6da
test eax, eax
pop ecx
mov edi, 0x1e61
jne 0x4459bc
push edi
mov ecx, esi
call fcn.0041a9b8
test eax, eax
pop ecx
jne 0x4459bc
mov eax, esi
call fcn.0041ab07
test eax, eax
jne 0x445e52
push dword [ebp - 0x468]
call fcn.0041a6da
test eax, eax
pop ecx
jne 0x4459f0
mov ecx, dword [ebp - 0x468]
push edi
call fcn.0041a9b8
test eax, eax
pop ecx
jne 0x4459f0
mov eax, dword [ebp - 0x468]
call fcn.0041ab07
test eax, eax
jne 0x445e52
push esi
call fcn.004aa880
cmp byte [eax + esi - 1], 0x5c
pop ecx
push esi
lea eax, [ebp - 0x114]
jne 0x445a0c
push 0x4e11dc
jmp 0x445a11
push 0x4e13c8
push eax
call fcn.004ab54e
add esp, 0xc
push 0x2831
lea eax, [ebp - 0x494]
push str..Network.c
push eax
call fcn.0049ce66
add esp, 0xc
push ebx
lea edi, [ebp - 0x324]
call fcn.004412e6
pop ecx
mov eax, edi
push eax
push dword [ebp - 0x468]
call fcn.004777c9
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 - 0x480], eax
jne 0x445aa8
cmp dword [ebp + 0x14], ebx
jne 0x445a8a
xor eax, eax
inc eax
jmp 0x445e54
push dword [ebp + 0x18]
push ebx
push dword [ebp - 0x478]
push esi
push dword [ebp - 0x468]
call fcn.00445840
add esp, 0x14
jmp 0x445e54
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x445ab6
mov edi, dword [ebp - 0x484]
xor esi, esi
cmp dword [ebp - 0x470], esi
je 0x445af2
call fcn.0049c471
sub eax, dword [ebp - 0x47c]
cmp eax, 0x1388
jbe 0x445af2
cmp dword [ebp + 0x18], esi
je 0x445af2
push dword [ebp + 0x18]
call fcn.00445606
mov dword [ebp - 0x470], esi
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [ebp - 0x474]
push esi
call fcn.004aa880
cmp byte [eax + esi - 1], 0x5c
pop ecx
lea eax, [ebp - 0x438]
push eax
push esi
lea eax, [ebp - 0x114]
jne 0x445b1b
push 0x4ca4a0
jmp 0x445b20
push 0x4d09a8
push eax
call fcn.004ab54e
mov esi, dword [ebp - 0x468]
add esp, 0x10
push esi
call fcn.004aa880
cmp byte [eax + esi - 1], 0x5c
pop ecx
lea eax, [ebp - 0x438]
push eax
push esi
lea eax, [ebp - 0x21c]
jne 0x445b52
push 0x4ca4a0
jmp 0x445b57
push 0x4d09a8
push eax
call fcn.004ab54e
add esp, 0x10
test edi, edi
je 0x445c1c
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x450]
call fcn.0049db3a
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.0049b83b
add esp, 0x20
test eax, eax
je 0x445c1c
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.0049bbbe
add esp, 0x20
cmp eax, 0x927c0
jle 0x445c1c
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]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x4b4]
xor esi, esi
push eax
mov word [ebp - 0x4a8], si
mov word [ebp - 0x4aa], si
call fcn.0049dc76
lea eax, [ebp - 0x114]
push esi
push eax
lea eax, [ebp - 0x450]
xor ecx, ecx
call fcn.0041ae26
add esp, 0x10
push dword [ebp - 0x478]
lea ecx, [ebp - 0x464]
push dword [ebp - 0x468]
call fcn.00445e63
test eax, eax
pop ecx
pop ecx
je 0x445dfa
lea eax, [ebp - 0x438]
push eax
push str._n__Syncing__s...
call fcn.00448724
cmp dword [ebp - 0x470], 0
pop ecx
pop ecx
jne 0x445c7f
push 0x287a
push str..Network.c
push dword [ebp + 0x18]
call fcn.004449ae
add esp, 0xc
mov dword [ebp - 0x470], eax
call fcn.0049c471
mov dword [ebp - 0x47c], eax
mov edi, 0x120
push edi
lea eax, [ebp - 0x114]
push eax
call ebx
test eax, eax
jne 0x445cb9
lea eax, [ebp - 0x114]
call fcn.0041ab07
test eax, eax
jne 0x445cb9
mov esi, 0x1f4
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
lea eax, [ebp - 0x114]
push eax
call ebx
jmp 0x445cbe
mov esi, 0x1f4
push edi
lea eax, [ebp - 0x21c]
push eax
call ebx
test eax, eax
jne 0x445cfb
lea eax, [ebp - 0x21c]
call fcn.0041ab07
test eax, eax
jne 0x445cfb
lea edi, [ebp - 0x21c]
call fcn.0041a629
test eax, eax
je 0x445cfb
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x120
mov eax, edi
push eax
call ebx
lea edi, [ebp - 0x21c]
lea ecx, [ebp - 0x114]
call fcn.00419c95
mov edi, eax
test edi, edi
mov dword [ebp - 0x46c], edi
jne 0x445d38
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edi, [ebp - 0x21c]
lea ecx, [ebp - 0x114]
call fcn.00419c95
mov dword [ebp - 0x46c], eax
mov edi, eax
push 0x20
lea eax, [ebp - 0x114]
push eax
call ebx
test eax, eax
jne 0x445d83
lea eax, [ebp - 0x114]
call fcn.0041ab07
test eax, eax
jne 0x445d83
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x20
lea eax, [ebp - 0x114]
push eax
call ebx
test eax, eax
jne 0x445d83
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [ebp - 0x114]
call fcn.0041a629
mov edi, dword [ebp - 0x46c]
neg edi
sbb edi, edi
and edi, 0xfffffefe
add edi, 0x122
push edi
lea eax, [ebp - 0x21c]
push eax
mov dword [ebp - 0x46c], edi
call ebx
test eax, eax
jne 0x445de6
lea eax, [ebp - 0x21c]
call fcn.0041ab07
test eax, eax
jne 0x445de6
lea edi, [ebp - 0x21c]
call fcn.0041a629
test eax, eax
je 0x445de6
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x46c]
mov eax, edi
push eax
call ebx
test eax, eax
jne 0x445de6
call dword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.0041a629
test byte [ebp - 0x46c], 2
je 0x445dfa
lea eax, [ebp - 0x21c]
call fcn.0041a140
lea eax, [ebp - 0x464]
push eax
push dword [ebp - 0x480]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x445ab0
xor esi, esi
cmp dword [ebp - 0x470], esi
je 0x445e28
push dword [ebp + 0x18]
call fcn.00445606
pop ecx
push dword [ebp - 0x480]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x14], esi
je 0x445a82
push dword [ebp + 0x18]
push esi
push dword [ebp - 0x478]
push dword [ebp - 0x474]
jmp 0x445a95
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aaeb5
leave
ret