Function at 0x48f5e0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52b30d
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x595cb8]
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 eax, ecx
mov dword [ebp - 0x284], eax
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.0041fb10
lea esi, [eax + 0x10]
mov dword [ebp - 0x268], esi
push 0x5c
push esi
mov dword [ebp - 4], 0
call fcn.004f89bb
add esp, 8
or ebx, 0xffffffff
test eax, eax
je 0x48f976
sub eax, esi
sar eax, 1
cmp eax, ebx
je 0x48f976
push eax
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x268]
call fcn.0042d640
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 1
call fcn.00421a50
mov byte [ebp - 4], 0
mov eax, ebx
mov edx, dword [ebp - 0x26c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48f696
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x268]
push 0x5c
push esi
call fcn.004f89bb
mov edi, eax
add esp, 8
test edi, edi
je 0x48f976
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x48f976
mov eax, dword [esi - 0xc]
lea ecx, [ebp - 0x268]
sub eax, edi
dec eax
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.0042c560
push edi
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x268]
call fcn.0042d640
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 3
call fcn.00421a50
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x26c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48f71f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x268]
push 0x5c
push esi
call fcn.004f89bb
mov edi, dword [ebp - 0x280]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x48f95b
sub ecx, esi
sar ecx, 1
cmp ecx, 0xffffffff
je 0x48f95b
mov eax, dword [esi - 0xc]
sub eax, ecx
lea ecx, [ebp - 0x268]
dec eax
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.0042c560
push 1
push 0x56de40
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 4
call fcn.00428980
lea ecx, [ebp - 0x274]
call fcn.0042c5e0
mov edx, str.casino
lea ecx, [ebp - 0x274]
call fcn.0042c510
mov esi, dword [ebp - 0x268]
test al, al
jne 0x48f7b9
mov edx, str.poker
lea ecx, [ebp - 0x274]
call fcn.0042c510
test al, al
je 0x48f93a
lea ecx, [esi - 0x10]
call fcn.0041fb10
add eax, 0x10
mov dword [ebp - 0x27c], eax
push 0x56a410
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 5
call fcn.00428940
mov ebx, dword [ebp - 0x27c]
lea eax, [ebp - 0x260]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x26c], eax
cmp eax, 0xffffffff
je 0x48f91b
mov byte [ebp - 0x261], 0
nop dword [eax + eax]
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x270]
call fcn.0041f910
mov byte [ebp - 4], 6
mov edx, 0x56a918
mov eax, dword [ebp - 0x270]
mov ecx, eax
mov di, word [ecx]
cmp di, word [edx]
mov edi, dword [ebp - 0x280]
jne 0x48f872
cmp word [ecx], 0
je 0x48f86e
mov bx, word [ecx + 2]
cmp bx, word [edx + 2]
mov word [ebp - 0x276], bx
mov ebx, dword [ebp - 0x27c]
jne 0x48f872
add ecx, 4
add edx, 4
cmp word [ebp - 0x276], 0
jne 0x48f833
xor ecx, ecx
jmp 0x48f877
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x48f8a5
push 0x56d0d8
lea ecx, [ebp - 0x270]
call fcn.0042c7e0
test eax, eax
je 0x48f89f
push edi
lea ecx, [ebp - 0x270]
call fcn.0042c7e0
test eax, eax
jne 0x48f8de
mov eax, dword [ebp - 0x270]
lea edx, [eax - 0x10]
mov byte [ebp - 4], 5
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48f8c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x48f810
jmp 0x48f8f4
lea ecx, [ebp - 0x270]
mov byte [ebp - 0x261], 1
mov byte [ebp - 4], 5
call fcn.0041f850
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp - 0x261], 0
jne 0x48f91b
mov ecx, dword [ebp - 0x284]
lea eax, [ebp - 0x268]
push eax
call fcn.00421a50
or eax, 0xffffffff
mov byte [ebp - 4], 4
add ebx, 0xfffffff0
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x48f937
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
or ebx, 0xffffffff
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x274]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48f95b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x48f976
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x48f992
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
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.004f4566
mov esp, ebp
pop ebp
ret