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

Disassembly:
sub esp, 0x224
mov eax, dword [0x10037018]
xor eax, esp
mov dword [esp + 0x220], eax
push ebx
push str.PATH
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
xor ebx, ebx
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call dword [sym.imp.MSVCR100.dll__wdupenv_s]
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebx
je 0x1000d75d
push ebp
mov ebp, dword [sym.imp.MSVCR100.dll_wcscat_s]
push esi
mov esi, eax
push edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebx
mov edi, edi
lea ecx, [esp + 0x28]
mov edx, esi
call fcn.1000d780
cmp eax, ebx
je 0x1000d70d
cmp word [esp + 0x28], bx
je 0x1000d70d
mov edi, eax
lea eax, [esp + 0x28]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000d5d7
sub eax, edx
sar eax, 1
lea esi, [esp + eax*2 + 0x26]
movzx eax, word [esi]
cmp eax, 0x5c
je 0x1000d65a
cmp eax, 0x2f
je 0x1000d60b
push 0x10025924
push 0x104
lea ecx, [esp + 0x30]
push ecx
call ebp
add esp, 0xc
lea eax, [esp + 0x28]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000d612
sub eax, edx
sar eax, 1
add eax, 8
cmp eax, 0x104
jae 0x1000d64f
push str.acgs.dll
lea edx, [esp + 0x2c]
push 0x104
push edx
call ebp
add esp, 0xc
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1000d673
mov dword [esp + 0x1c], edi
mov esi, edi
jmp 0x1000d5b0
lea edx, [esp + 0x28]
push 0x5c
push edx
call dword [sym.imp.MSVCR100.dll_wcsrchr]
add esp, 8
cmp esi, eax
je 0x1000d60b
jmp 0x10012f09
cmp dword [esp + 0x18], ebx
jne 0x1000d707
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000d684
sub eax, edx
sar eax, 1
lea esi, [eax + 6]
lea ecx, [esi + esi]
push ecx
call dword [sym.imp.MSVCR100.dll_malloc]
push 0x10025928
push esi
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.MSVCR100.dll_wcscpy_s]
mov esi, dword [esp + 0x28]
mov eax, esi
add esp, 0x10
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000d6c0
sub eax, edx
sar eax, 1
lea edx, [esi + eax*2]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x1000d6f8
lea esi, [eax + eax]
push esi
push ecx
push edx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
add dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov esi, edi
jmp 0x1000d5b0
mov edx, dword [esp + 0x10]
jmp 0x1000d6d6
mov ebp, dword [esp + 0x18]
mov edi, dword [sym.imp.MSVCR100.dll_free]
cmp ebp, ebx
je 0x1000d750
sub esi, dword [esp + 0x14]
sar esi, 1
mov eax, esi
cmp eax, ebx
jle 0x1000d743
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea esi, [eax + eax]
push esi
push edx
push ebx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
xor eax, eax
mov word [esi + ebx], ax
push ebp
call dword [sym.imp.MSVCR100.dll__wputenv]
push ebp
call edi
add esp, 8
mov ecx, dword [esp + 0x20]
push ecx
call edi
add esp, 4
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x224]
pop ebx
xor ecx, esp
call fcn.1001032e
add esp, 0x224
ret
add byte [eax], al
sub byte [edx + 0x75], cl
jmp 0x10012e96