Function at 0x69b46b10
Capabilities:
Enumerate files on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x758
mov eax, dword [ecx + 8]
mov ebx, dword [ecx]
mov dword [ebp - 0x6fc], 0x208
mov edi, dword [ecx + 4]
mov dword [ebp - 0x710], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x70c], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x714], eax
test byte [0x69b7c090], 8
jne 0x69b46e00
mov ecx, dword [ebp - 0x70c]
test edi, edi
sete dl
test ecx, ecx
sete al
or dl, al
jne 0x69b46b7b
test ebx, ebx
jne 0x69b46b7b
cmp dword [edi], 0x58
je 0x69b46b90
xor esi, esi
lea esp, [ebp - 0x10]
mov eax, esi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x14
cmp dword [edi + 4], 0x300
jne 0x69b46b7b
lea esi, [ebp - 0x6fc]
lea ebx, [ebp - 0x678]
test byte [0x69b7c090], 8
jne 0x69b46ee8
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.69b43110
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x69b46e50
mov eax, dword [ebp - 0x6fc]
lea edx, [eax + 6]
xor eax, eax
cmp edx, 0x104
ja 0x69b46e50
lea esi, [esi]
movzx edx, word [ebx + eax]
mov word [ebp + eax - 0x470], dx
add eax, 2
test dx, dx
jne 0x69b46bf0
cmp word [ebp - 0x470], 0
lea edx, [ebp - 0x470]
je 0x69b46c21
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x69b46c18
xor eax, eax
mov ecx, 0x5c
jmp 0x69b46c37
movzx ecx, word [eax + str.icm]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x69b46c30
lea eax, [ebp - 0x268]
mov dword [esp + 4], eax
lea eax, [ebp - 0x470]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
mov dword [ebp - 0x718], eax
sub esp, 8
cmp eax, 0xffffffff
je 0x69b46b7b
mov dword [esp + 4], 5
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [ebp - 0x720], eax
test eax, eax
je 0x69b47168
lea ebx, [ebp - 0x23c]
lea edx, [ebp - 0x6f8]
mov eax, ebx
call fcn.69b45e60
mov esi, eax
test eax, eax
jne 0x69b47062
mov dword [ebp - 0x734], 0
mov dword [ebp - 0x71c], 0
lea esi, [esi]
lea eax, [ebp - 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x718]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindNextFileW]
sub esp, 8
mov esi, eax
test eax, eax
je 0x69b46f20
lea edx, [ebp - 0x6f8]
mov eax, ebx
call fcn.69b45e60
mov esi, eax
test eax, eax
je 0x69b46cc8
lea edx, [ebp - 0x6f8]
mov eax, edi
call fcn.69b43220
test eax, eax
je 0x69b46cc8
mov eax, dword [ebp - 0x71c]
add eax, 1
mov dword [ebp - 0x728], eax
shl eax, 2
mov dword [ebp - 0x72c], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x720]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebp - 0x724], eax
test eax, eax
je 0x69b46fdd
movzx edx, word [ebp - 0x23c]
test dx, dx
je 0x69b47159
mov eax, ebx
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x69b46d60
sub eax, ebx
add eax, 2
mov dword [ebp - 0x720], eax
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x730], edx
mov dword [ebp - 0x6fc], eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov edx, dword [ebp - 0x72c]
mov ecx, eax
mov eax, dword [ebp - 0x724]
mov dword [eax + edx - 4], ecx
test ecx, ecx
je 0x69b47173
test byte [0x69b7c090], 8
mov edx, dword [ebp - 0x730]
jne 0x69b46e90
xor eax, eax
jmp 0x69b46dc4
movzx edx, word [ebx + eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x69b46dc0
mov eax, dword [ebp - 0x728]
mov esi, dword [ebp - 0x720]
add dword [ebp - 0x734], esi
mov dword [ebp - 0x71c], eax
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0x720], eax
jmp 0x69b46cc8
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x70c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x710]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], str.___p___p___p___p___p___n
mov dword [esp + 8], str.EnumColorProfilesW
mov dword [esp + 4], 0x69b7c090
mov dword [esp], 3
call fcn.69b42fd0
jmp 0x69b46b5e
test byte [0x69b7c090], 4
je 0x69b46b7b
mov dword [esp + 0xc], str.Cant_retrieve_color_directory_n
mov dword [esp + 8], str.EnumColorProfilesW
mov dword [esp + 4], 0x69b7c090
mov dword [esp], 2
call fcn.69b42fd0
jmp 0x69b46b7b
mov eax, ebx
mov dword [ebp - 0x71c], ecx
call fcn.69b42b00
mov dword [esp + 0xc], str.matching_profile:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.EnumColorProfilesW
mov dword [esp + 4], 0x69b7c090
mov dword [esp], 3
call fcn.69b42fd0
mov eax, dword [ebp - 0x6fc]
movzx edx, word [ebp - 0x23c]
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x720], eax
jmp 0x69b46dbc
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.___p___p___n
mov dword [esp + 8], str.GetColorDirectoryW
mov dword [esp + 4], 0x69b7c090
mov dword [esp], 3
call fcn.69b42fd0
jmp 0x69b46bb2
mov edi, dword [ebp - 0x734]
mov eax, dword [ebp - 0x710]
add edi, 1
test eax, eax
je 0x69b47050
mov ebx, dword [ebp - 0x70c]
cmp dword [ebx], edi
jb 0x69b47050
mov esi, dword [ebp - 0x71c]
test esi, esi
je 0x69b46fb3
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x724], edi
mov edi, eax
mov ebx, ecx
lea esi, [ecx + esi*4]
lea esi, [esi]
mov ecx, dword [ebx]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x69b46f70
cmp word [ecx], 0
je 0x69b4714f
mov eax, ecx
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x69b46f90
sub eax, ecx
add eax, 2
add ebx, 4
add edi, eax
cmp esi, ebx
jne 0x69b46f68
mov dword [ebp - 0x710], edi
mov edi, dword [ebp - 0x724]
mov eax, dword [ebp - 0x710]
xor edx, edx
mov esi, 1
mov word [eax], dx
mov eax, dword [ebp - 0x70c]
mov dword [eax], edi
mov eax, dword [ebp - 0x714]
test eax, eax
je 0x69b46fdd
mov ebx, dword [ebp - 0x71c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x71c]
test eax, eax
je 0x69b47168
mov eax, dword [ebp - 0x720]
mov ebx, dword [ebp - 0x71c]
mov dword [ebp - 0x70c], esi
mov edi, eax
lea eax, [eax + ebx*4]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov esi, edi
mov edi, eax
lea esi, [esi]
mov edx, dword [esi]
add esi, 4
mov dword [esp], edx
call ebx
cmp edi, esi
jne 0x69b47010
mov esi, dword [ebp - 0x70c]
mov eax, dword [ebp - 0x720]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x718]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
jmp 0x69b46b7d
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x7a
jmp 0x69b46fc3
lea edx, [ebp - 0x6f8]
mov eax, edi
call fcn.69b43220
test eax, eax
je 0x69b46cae
movzx ecx, word [ebp - 0x23c]
mov eax, ebx
test cx, cx
je 0x69b47091
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x69b47088
sub eax, ebx
mov dword [ebp - 0x71c], ecx
add eax, 2
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x6fc], eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ecx, dword [ebp - 0x71c]
mov edx, eax
mov eax, dword [ebp - 0x720]
test edx, edx
mov dword [eax], edx
je 0x69b47168
test byte [0x69b7c090], 8
jne 0x69b470ff
xor eax, eax
jmp 0x69b470e4
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x69b470e0
mov dword [ebp - 0x71c], 1
jmp 0x69b46cc8
mov eax, ebx
mov dword [ebp - 0x71c], edx
call fcn.69b42b00
mov dword [esp + 0xc], str.matching_profile:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.EnumColorProfilesW
mov dword [esp + 4], 0x69b7c090
mov dword [esp], 3
call fcn.69b42fd0
mov eax, dword [ebp - 0x6fc]
movzx ecx, word [ebp - 0x23c]
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x734], eax
jmp 0x69b470d2
mov eax, 2
jmp 0x69b46f9e
mov dword [ebp - 0x720], 2
jmp 0x69b46d74
mov ebx, dword [sym.imp.ucrtbase.dll_free]
jmp 0x69b47024
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0x720], eax
jmp 0x69b46fdd