Function at 0x1001f170
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d1c5e
mov eax, dword fs:[0]
push eax
sub esp, 0x34c
mov eax, dword [0x10104610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
xor ebx, ebx
xor eax, eax
mov esi, ecx
mov dword [ebp - 0x32c], edi
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x334], ebx
mov byte [ebp - 4], 1
push 8
mov dword [ebp - 0x308], ebx
call fcn.100affa5
add esp, 4
cmp eax, ebx
je 0x1001f7d7
mov dword [ebp - 0x308], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x308]
lea ecx, [ebp - 0x308]
mov dword [edx], ecx
mov dword [ebp - 0x304], ebx
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], ebx
mov dword [ebp - 0x2f8], ebx
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x64]
push ecx
mov byte [ebp - 4], 3
push esi
mov dword [ebp - 0x318], ebx
mov dword [ebp - 0x314], ebx
mov dword [edi], ebx
mov dword [edi + 4], ebx
call fcn.10028f60
add esp, 8
test al, al
jne 0x1001f2e6
push str.Failed_to_convert_multibyte_path_to_wide_char
call fcn.10006700
mov ecx, 0x100d9d70
call fcn.10006ac0
mov edi, 8
add esp, 4
cmp dword [ebp - 0x18], edi
jb 0x1001f287
mov edx, dword [ebp - 0x2c]
push edx
call fcn.100afa01
add esp, 4
xor eax, eax
lea esi, [ebp - 0x308]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
call fcn.10023740
mov ecx, dword [ebp - 0x308]
push ecx
call fcn.100afa01
add esp, 4
mov dword [ebp - 0x308], ebx
cmp dword [ebp - 0x50], edi
jb 0x1001f2c8
mov edx, dword [ebp - 0x64]
push edx
call fcn.100afa01
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100afa0c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x64]
mov esi, 8
cmp dword [ebp - 0x50], esi
jae 0x1001f2f6
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1001f378
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x50], esi
jae 0x1001f30c
lea eax, [ebp - 0x64]
push eax
push str.Path:_s_is_not_a_directory
call fcn.10006700
mov ecx, 0x100d9d14
call fcn.10006d80
add esp, 8
cmp dword [ebp - 0x18], esi
jb 0x1001f335
mov eax, dword [ebp - 0x2c]
push eax
call fcn.100afa01
add esp, 4
xor ecx, ecx
lea esi, [ebp - 0x308]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.10023740
mov edx, dword [ebp - 0x308]
push edx
call fcn.100afa01
add esp, 4
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x308], ebx
jb 0x1001f2c8
mov eax, dword [ebp - 0x64]
push eax
jmp 0x1001f2c0
xor ecx, ecx
push ebx
lea edx, [ebp - 0x64]
mov word [ebp - 0x80], cx
push edx
or eax, 0xffffffff
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], ebx
call fcn.10001820
lea eax, [ebp - 0x80]
push eax
lea esi, [ebp - 0x308]
mov byte [ebp - 4], 4
call fcn.10023660
cmp dword [ebp - 0x2f8], ebx
je 0x1001f6e0
lea eax, [ebp - 0x358]
lea edx, [ebp - 0x308]
call fcn.100a9a40
mov esi, eax
lea eax, [ebp - 0x34c]
call fcn.10023930
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x1001f3df
xor ecx, ecx
jmp 0x1001f3e1
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x1001f3ed
sub eax, edx
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax*4]
push ebx
push eax
or eax, 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.10001820
push 0x100d99f4
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x9c]
push eax
call fcn.10019800
add esp, 0xc
push eax
mov edx, 0x100e0538
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10002000
add esp, 4
mov edi, eax
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.10002070
mov edi, 8
cmp dword [ebp - 0x34], edi
jb 0x1001f451
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.100afa01
add esp, 4
xor edx, edx
mov byte [ebp - 4], 4
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], dx
cmp dword [ebp - 0x88], edi
jb 0x1001f47c
mov eax, dword [ebp - 0x9c]
push eax
call fcn.100afa01
add esp, 4
mov eax, dword [ebp - 0x2f8]
cmp eax, ebx
je 0x1001f4d2
mov ecx, dword [ebp - 0x2fc]
lea eax, [eax + ecx - 1]
mov ecx, dword [ebp - 0x300]
cmp ecx, eax
ja 0x1001f49c
sub eax, ecx
mov edx, dword [ebp - 0x304]
mov esi, dword [edx + eax*4]
cmp dword [esi + 0x14], edi
jb 0x1001f4b5
mov eax, dword [esi]
push eax
call fcn.100afa01
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], ebx
mov word [esi], ax
dec dword [ebp - 0x2f8]
jne 0x1001f4d2
mov dword [ebp - 0x2fc], ebx
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x1001f4dd
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x2f0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [ebp - 0x31c], esi
cmp esi, 0xffffffff
je 0x1001f810
lea esp, [esp]
mov ecx, 0x100e053c
lea eax, [ebp - 0x2c4]
jmp 0x1001f510
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1001f536
cmp dx, bx
je 0x1001f532
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1001f536
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1001f510
xor eax, eax
jmp 0x1001f53b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x1001f6a2
mov ecx, 0x100e0540
lea eax, [ebp - 0x2c4]
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1001f576
cmp dx, bx
je 0x1001f572
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1001f576
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1001f550
xor eax, eax
jmp 0x1001f57b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x1001f6a2
test byte [ebp - 0x2f0], 0x10
push 0x100d99f4
je 0x1001f73b
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x9c]
push eax
call fcn.10019800
add esp, 0xc
push eax
lea edx, [ebp - 0x2c4]
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 7
call fcn.10002000
add esp, 4
mov edi, eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x300]
inc ecx
cmp eax, ecx
ja 0x1001f5e7
lea edx, [ebp - 0x308]
push edx
call fcn.100237e0
mov eax, dword [ebp - 0x300]
mov esi, dword [ebp - 0x2f8]
add esi, dword [ebp - 0x2fc]
cmp eax, esi
ja 0x1001f5f9
sub esi, eax
mov eax, dword [ebp - 0x304]
cmp dword [eax + esi*4], ebx
jne 0x1001f61f
push 0x1c
call fcn.100affa5
add esp, 4
cmp eax, ebx
je 0x1001f7d7
mov ecx, dword [ebp - 0x304]
mov dword [ecx + esi*4], eax
mov edx, dword [ebp - 0x304]
mov esi, dword [edx + esi*4]
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x340], esi
mov byte [ebp - 4], 9
cmp esi, ebx
je 0x1001f650
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], ebx
mov word [esi], ax
call fcn.10002070
inc dword [ebp - 0x2f8]
mov esi, 8
cmp dword [ebp - 0x34], esi
jb 0x1001f66c
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.100afa01
add esp, 4
xor edx, edx
mov byte [ebp - 4], 4
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], dx
cmp dword [ebp - 0x88], esi
jb 0x1001f697
mov eax, dword [ebp - 0x9c]
push eax
call fcn.100afa01
add esp, 4
mov esi, dword [ebp - 0x31c]
mov edi, 8
lea edx, [ebp - 0x2f0]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1001f500
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
cmp eax, 0x12
jne 0x1001f80a
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x2f8], ebx
jne 0x1001f3b7
mov edi, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x318]
mov edx, dword [ebp - 0x314]
lea esi, [ebp - 0x80]
mov dword [edi], ecx
mov dword [edi + 4], edx
call fcn.10001790
lea esi, [ebp - 0x2c]
call fcn.10001790
lea esi, [ebp - 0x308]
call fcn.10023740
mov eax, dword [ebp - 0x308]
push eax
call fcn.100afa01
add esp, 4
lea esi, [ebp - 0x33c]
mov dword [ebp - 0x308], ebx
call fcn.100180e0
lea esi, [ebp - 0x64]
call fcn.10001790
mov al, 1
jmp 0x1001f2ca
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x9c]
push edx
call fcn.10019800
add esp, 0xc
push eax
lea edx, [ebp - 0x2c4]
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xa
call fcn.10002000
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.10004e90
cmp dword [ebp - 0x34], edi
jb 0x1001f787
mov edx, dword [ebp - 0x48]
push edx
call fcn.100afa01
add esp, 4
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
cmp dword [ebp - 0x88], edi
jb 0x1001f7b2
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.100afa01
add esp, 4
mov edx, dword [ebp - 0x2d4]
neg edx
xor eax, eax
xor edi, edi
add edx, dword [ebp - 0x2d0]
adc eax, edi
add dword [ebp - 0x318], edx
adc dword [ebp - 0x314], eax
jmp 0x1001f69d
lea ecx, [ebp - 0x30c]
push ecx
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x30c], ebx
call fcn.100afab4
push 0x100fc728
lea edx, [ebp - 0x328]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.100b2edf
call dword [sym.imp.KERNEL32.dll_FindClose]
lea esi, [ebp - 0x80]
call fcn.10001790
lea esi, [ebp - 0x2c]
call fcn.10001790
lea esi, [ebp - 0x308]
call fcn.10023740
mov eax, dword [ebp - 0x308]
push eax
call fcn.100afa01
add esp, 4
lea esi, [ebp - 0x33c]
mov dword [ebp - 0x308], ebx
call fcn.100180e0
lea esi, [ebp - 0x64]
call fcn.10001790
jmp 0x1001f2c8