Function at 0x10087100
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e900d
mov eax, dword fs:[0]
push eax
sub esp, 0x4e8
mov eax, dword [0x102683e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x4f0], eax
xor edi, edi
mov dword [ebp - 0x4ec], edi
mov dword [ebp - 0x4e8], edi
mov dword [ebp - 0x4e4], edi
push str..
push eax
lea eax, [ebp - 0x280]
mov dword [ebp - 4], edi
push eax
call fcn.10004650
push 0x250
lea eax, [ebp - 0x4d0]
push edi
push eax
call fcn.101a01b0
add esp, 0x18
lea ecx, [ebp - 0x4d0]
cmp dword [ebp - 0x26c], 8
lea eax, [ebp - 0x280]
cmovae eax, dword [ebp - 0x280]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4d4], eax
cmp eax, 0xffffffff
jne 0x100871b0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 2
cmp eax, 0xffffffff
je 0x100873e4
test byte [ebp - 0x4d0], 0x10
je 0x100873c3
cmp word [ebp - 0x4a4], 0x2e
je 0x100873c3
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.101a01b0
lea eax, [ebp - 0x218]
add esp, 0xc
lea esi, [ebp - 0x4a4]
mov ecx, eax
mov edx, 0x104
sub esi, ecx
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x1008722f
movzx ecx, word [esi + eax]
test cx, cx
je 0x1008722f
mov word [eax], cx
add eax, 2
dec edx
jne 0x10087211
jmp 0x10087233
test edx, edx
jne 0x10087236
sub eax, 2
xor ecx, ecx
mov dword [ebp - 0x23c], 7
mov word [eax], cx
xor eax, eax
mov dword [ebp - 0x240], ecx
mov word [ebp - 0x250], ax
cmp word [ebp - 0x218], ax
je 0x10087275
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10087266
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x250]
call fcn.10003c10
cmp dword [ebp - 0x23c], 8
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x228]
xorps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x230]
movlpd qword [ebp - 0x238], xmm0
push ecx
lea ecx, [ebp - 0x238]
movq qword [ebp - 0x220], xmm0
push ecx
lea eax, [ebp - 0x250]
cmovae eax, dword [ebp - 0x250]
push str._I64u._I64u._I64u._I64u
push eax
movdqu xmmword [ebp - 0x230], xmm0
call fcn.101ac86a
mov esi, dword [ebp - 0x238]
add esp, 0x18
mov edi, dword [ebp - 0x234]
shld edi, esi, 0x10
or edi, dword [ebp - 0x22c]
shl esi, 0x10
or esi, dword [ebp - 0x230]
shld edi, esi, 0x10
or edi, dword [ebp - 0x224]
shl esi, 0x10
or esi, dword [ebp - 0x228]
shld edi, esi, 0x10
or edi, dword [ebp - 0x21c]
shl esi, 0x10
or esi, dword [ebp - 0x220]
cmp dword [ebp - 0x23c], 8
mov dword [ebp - 0x4dc], esi
mov dword [ebp - 0x4d8], edi
jb 0x10087349
push dword [ebp - 0x250]
call fcn.101a02f0
add esp, 4
push edi
push esi
lea ecx, [ebp - 0x268]
call fcn.10063c20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x218]
cmp dword [ebp - 0x254], 8
lea eax, [ebp - 0x268]
push ecx
cmovae eax, dword [ebp - 0x268]
push eax
call fcn.101a8487
add esp, 0x10
test eax, eax
jne 0x100873a8
mov edx, dword [ebp + 8]
mov eax, edx
mov ecx, dword [ebp + 0xc]
or eax, ecx
je 0x10087396
cmp edx, esi
jne 0x10087396
cmp ecx, edi
je 0x100873a8
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x4ec]
call fcn.10087dc0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x254], 8
jb 0x100873c3
push dword [ebp - 0x268]
call fcn.101a02f0
add esp, 4
lea eax, [ebp - 0x4d0]
push eax
push dword [ebp - 0x4d4]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x100871c3
mov edi, dword [ebp - 0x4ec]
mov esi, dword [ebp - 0x4e8]
mov ecx, edi
mov eax, esi
mov byte [ebp - 0x4d8], 0
push dword [ebp - 0x4d8]
sub eax, edi
mov edx, esi
sar eax, 3
push eax
mov dword [ebp - 0x4e0], eax
call fcn.10088060
add esp, 8
cmp edi, esi
jne 0x1008741f
mov esi, 1
jmp 0x10087572
xor esi, esi
cmp dword [ebp - 0x4e0], esi
jbe 0x10087570
lea ecx, [ecx]
push dword [edi + esi*8 + 4]
lea ecx, [ebp - 0x230]
push dword [edi + esi*8]
call fcn.10063c20
mov edx, dword [ebp - 0x4f0]
lea ecx, [ebp - 0x268]
push eax
mov byte [ebp - 4], 4
call fcn.100636d0
add esp, 0xc
mov byte [ebp - 4], 6
cmp dword [ebp - 0x21c], 8
jb 0x10087476
push dword [ebp - 0x230]
call fcn.101a02f0
add esp, 4
xor eax, eax
mov dword [ebp - 0x21c], 7
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.10086df0
test al, al
jne 0x100874b5
lea ecx, [ebp - 0x268]
call fcn.10085910
test al, al
jne 0x10087548
cmp dword [ebp - 0x254], 8
lea edx, [ebp - 0x268]
mov dword [ebp - 0x23c], 7
cmovae edx, dword [ebp - 0x268]
xor eax, eax
mov dword [ebp - 0x240], 0
mov word [ebp - 0x250], ax
cmp word [edx], ax
jne 0x100874ef
xor ecx, ecx
jmp 0x10087513
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x4d8], eax
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10087500
sub ecx, dword [ebp - 0x4d8]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x250]
call fcn.10003c10
xor edx, edx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x250]
call fcn.10082710
cmp dword [ebp - 0x23c], 8
jb 0x10087548
push dword [ebp - 0x250]
call fcn.101a02f0
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x254], 8
jb 0x10087563
push dword [ebp - 0x268]
call fcn.101a02f0
add esp, 4
inc esi
cmp esi, dword [ebp - 0x4e0]
jb 0x10087430
xor esi, esi
push dword [ebp - 0x4d4]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x26c], 8
jb 0x10087595
push dword [ebp - 0x280]
call fcn.101a02f0
add esp, 4
xor eax, eax
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
test edi, edi
je 0x100875bf
push edi
call fcn.101a02f0
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101a0193
mov esp, ebp
pop ebp
ret