Function at 0x4617a0
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51cca1
mov eax, dword fs:[0]
push eax
sub esp, 0x830
mov eax, dword [0x56f790]
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, dword [ebp + 0xc]
xor edi, edi
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x728], ebx
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x6e8], eax
mov eax, dword [eax]
mov dword [ebp - 0x6f4], ebx
cmp dword [eax - 0xc], edi
jne 0x461816
push 0x52bd6c
mov ecx, ebx
call fcn.004093d0
mov dword [ebp - 4], edi
mov dword [ebp - 0x6b8], 1
jmp 0x4621e3
push 0x20a
lea eax, [ebp - 0x428]
mov dword [ebp - 0x6f0], edi
push 0
push eax
call fcn.004b17e0
push 0x20a
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.004b17e0
add esp, 0x18
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x462201
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6b4], eax
mov dword [ebp - 4], 2
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x46220b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6c8], eax
mov byte [ebp - 4], 4
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x462215
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 6
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x46221f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6c0], eax
mov byte [ebp - 4], 8
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x462229
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6ac], eax
mov byte [ebp - 4], 0xa
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x462233
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6b0], eax
mov byte [ebp - 4], 0xc
call fcn.00410b40
mov ecx, eax
test ecx, ecx
je 0x46223d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x6bc]
push esi
push 0x5381b8
push eax
call fcn.0040ecb0
add esp, 0xc
lea ecx, [ebp - 0x83c]
call fcn.0045afd0
mov byte [ebp - 4], 0xf
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov dword [ebp - 0x6d0], 0
mov dword [ebp - 0x6cc], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x83c]
call fcn.00460cb0
mov byte [ebp - 4], 0xf
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov byte [ebp - 4], 0x12
xor eax, eax
mov esi, dword [ebp - 0x6bc]
xor ebx, ebx
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov dword [ebp - 0x6e0], esi
mov dword [ebp - 0x6dc], eax
test esi, esi
je 0x4619d0
cmp word [esi], ax
je 0x4619d0
nop dword [eax + eax]
inc eax
mov dword [ebp - 0x6dc], eax
mov ebx, eax
cmp word [esi + eax*2], 0
jne 0x4619c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x83c]
call fcn.00460cb0
test esi, esi
je 0x461a1f
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov dword [ebp - 0x6d0], esi
mov dword [ebp - 0x6cc], ebx
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x6d4]
push 0
push eax
lea ecx, [ebp - 0x83c]
call fcn.0045db40
mov byte [ebp - 4], 0x13
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x6c4]
push 0x5336a4
push dword [ebp - 0x6e8]
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
push eax
call fcn.00410610
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x6a8]
push 0x250
push 0
push eax
call fcn.004b17e0
add esp, 0x18
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x6c4]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x6ec], eax
cmp eax, 0xffffffff
je 0x4620ad
push 0x104
lea eax, [ebp - 0x67c]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004d151e
lea eax, [ebp - 0x21c]
push 0x2e
push eax
call fcn.004b1bb6
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x461f52
push str..lnk
push ebx
call fcn.004ce4af
add esp, 8
test eax, eax
jne 0x461f52
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], eax
lea edx, [ecx + 2]
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], 7
mov word [ebp - 0x440], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x461af5
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x440]
call fcn.00413ec0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x440]
push 0
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.00449c00
add esp, 0xc
mov edx, eax
mov byte [ebp - 4], 0x17
cmp dword [edx + 0x14], 8
jb 0x461b41
mov edx, dword [edx]
test edx, edx
jne 0x461b49
xor ecx, ecx
jmp 0x461b5f
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x461b50
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x6c0]
call fcn.00407f80
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x458]
call fcn.00410350
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x440]
call fcn.00410350
mov ecx, dword [ebp - 0x6c0]
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
mov dword [ebp - 0x6e0], ecx
mov dword [ebp - 0x6dc], eax
test ecx, ecx
je 0x461bce
cmp word [ecx], ax
je 0x461bce
nop word [eax + eax]
inc eax
mov dword [ebp - 0x6dc], eax
cmp word [ecx + eax*2], 0
jne 0x461bc0
mov byte [ebp - 4], 0x19
push 0
push eax
push ecx
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0x83c]
call fcn.0043be90
or edi, 2
mov dword [ebp - 0x6b8], edi
mov byte [ebp - 4], 0x18
cmp dword [eax + 8], 0
mov dword [ebp - method.CBufferRefT_unsigned_short_int_.virtual_0], vtable.CBufferRefT_unsigned_short_int_.0
jg 0x461c09
xor esi, esi
jmp 0x461c0e
mov eax, dword [eax + 4]
mov esi, dword [eax]
and edi, 0xfffffffd
mov dword [ebp - 0x6b8], edi
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x6d8]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - method.CBufferT_int_.virtual_0], vtable.CBufferT_int_.0
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x6d4]
test eax, eax
je 0x461c48
push eax
call fcn.004bba85
add esp, 4
mov byte [ebp - 4], 0x15
mov dword [ebp - method.CBufferRefT_int_.virtual_0], vtable.CBufferRefT_int_.0
test esi, esi
je 0x461f52
lea eax, [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0x6e8]
push dword [eax]
lea eax, [ebp - 0x428]
push 0x5336bc
push eax
call fcn.0043f560
push str..lnk
push ebx
call fcn.004ce4af
add esp, 0x18
test eax, eax
jne 0x461f52
push eax
lea eax, [ebp - 0x6c8]
push eax
lea eax, [ebp - 0x6b4]
push eax
lea eax, [ebp - 0x428]
push eax
call fcn.0043aad0
add esp, 0x10
test eax, eax
je 0x461f52
push 1
push dword [ebp - 0x6b4]
call fcn.0043bba0
add esp, 8
test eax, eax
je 0x461f52
push ecx
lea eax, [ebp - 0x6b4]
mov dword [ebp - 0x6f8], esp
mov ecx, esp
push eax
call fcn.0041d580
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x720]
push eax
mov byte [ebp - 4], 0x15
call fcn.0044acd0
add esp, 8
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x6ac]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x720]
call fcn.00408250
lea eax, [ebp - 0x6ac]
push eax
call fcn.0046a0d0
add esp, 4
test eax, eax
je 0x461d9f
lea eax, [ebp - 0x6ac]
push eax
call fcn.0046a290
add esp, 4
test eax, eax
je 0x461d9f
push 0x532d98
lea eax, [ebp - 0x6ac]
push eax
lea eax, [ebp - 0x718]
push eax
call fcn.00410610
mov byte [ebp - 4], 0x20
push str.pgstation.exe
push eax
lea eax, [ebp - 0x71c]
push eax
call fcn.00410610
add esp, 0x18
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x6b0]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x71c]
call fcn.00408250
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x718]
jmp 0x461df9
push 0x532d98
lea eax, [ebp - 0x6ac]
push eax
lea eax, [ebp - 0x700]
push eax
call fcn.00410610
mov byte [ebp - 4], 0x1e
push str.LDSGameCenter.exe
push eax
lea eax, [ebp - 0x724]
push eax
call fcn.00410610
add esp, 0x18
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x6b0]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x724]
call fcn.00408250
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x700]
call fcn.00408250
push dword [ebp - 0x6b0]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x461f3e
push ecx
lea eax, [ebp - 0x6b4]
mov dword [ebp - 0x6f8], esp
mov ecx, esp
push eax
call fcn.0041d580
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x704]
push eax
mov byte [ebp - 4], 0x15
call fcn.0044acd0
add esp, 8
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x6ac]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x704]
call fcn.00408250
lea eax, [ebp - 0x6ac]
push eax
call fcn.0046a0d0
add esp, 4
test eax, eax
je 0x461edf
lea eax, [ebp - 0x6ac]
push eax
call fcn.0046a290
add esp, 4
test eax, eax
je 0x461edf
push 0x532d98
lea eax, [ebp - 0x6ac]
push eax
lea eax, [ebp - 0x70c]
push eax
call fcn.00410610
mov byte [ebp - 4], 0x26
push str.pgstation.exe
push eax
lea eax, [ebp - 0x708]
push eax
call fcn.00410610
add esp, 0x18
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x6b0]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x708]
call fcn.00408250
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x70c]
jmp 0x461f39
push 0x532d98
lea eax, [ebp - 0x6ac]
push eax
lea eax, [ebp - 0x714]
push eax
call fcn.00410610
mov byte [ebp - 4], 0x24
push str.LDSGameCenter.exe
push eax
lea eax, [ebp - 0x710]
push eax
call fcn.00410610
add esp, 0x18
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x6b0]
push eax
call fcn.00408360
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x710]
call fcn.00408250
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x714]
call fcn.00408250
push 1
push dword [ebp - 0x6b0]
call fcn.0043bba0
add esp, 8
test eax, eax
jne 0x461f6f
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x6ec]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x461a80
jmp 0x461f79
mov dword [ebp - 0x6f0], 1
push dword [ebp - 0x6ec]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x6f0], 0
je 0x4620ad
mov ebx, dword [ebp - 0x6f4]
lea eax, [ebp - 0x428]
push eax
mov ecx, ebx
call fcn.004093d0
or edi, 1
mov dword [ebp - 0x6b8], edi
mov byte [ebp - 4], 0x12
or esi, 0xffffffff
mov edx, dword [ebp - 0x6c4]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461fd3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x83c]
call fcn.0045c1d0
mov byte [ebp - 4], 0xc
mov eax, esi
mov edx, dword [ebp - 0x6bc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x462003
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x6b0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x462024
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, esi
mov edx, dword [ebp - 0x6ac]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x462045
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, esi
mov edx, dword [ebp - 0x6c0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x462066
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, esi
mov edx, dword [ebp - 0x6fc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x462087
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x6c8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4620a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4621c1
mov ebx, dword [ebp - 0x6f4]
mov ecx, ebx
push 0x52bd6c
call fcn.004093d0
or edi, 1
mov dword [ebp - 0x6b8], edi
mov byte [ebp - 4], 0x12
or esi, 0xffffffff
mov edx, dword [ebp - 0x6c4]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4620ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x83c]
call fcn.0045c1d0
mov byte [ebp - 4], 0xc
mov eax, esi
mov edx, dword [ebp - 0x6bc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46211c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x6b0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46213d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, esi
mov edx, dword [ebp - 0x6ac]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46215e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, esi
mov edx, dword [ebp - 0x6c0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46217f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, esi
mov edx, dword [ebp - 0x6fc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4621a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x6c8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4621c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x6b4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x4621e3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
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.004ac4b8
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
push 0x80004005
call fcn.00404400
int3