Function at 0xd605d0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0xde16ec]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], 0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 8]
call fcn.00d58bb0
or dword [ebp - 0x114], 1
mov ecx, eax
call fcn.00bc6660
movzx ecx, al
test ecx, ecx
jne 0xd60641
lea edx, [ebp - 0x3c]
push edx
mov ecx, dword [ebp + 8]
call fcn.00d59160
or dword [ebp - 0x114], 2
mov ecx, eax
call fcn.00bc6660
movzx eax, al
test eax, eax
je 0xd60641
mov dword [ebp - 0x11c], 0
jmp 0xd6064b
mov dword [ebp - 0x11c], 1
mov cl, byte [ebp - 0x11c]
mov byte [ebp - 0x109], cl
mov edx, dword [ebp - 0x114]
and edx, 2
je 0xd60671
and dword [ebp - 0x114], 0xfffffffd
lea ecx, [ebp - 0x3c]
call fcn.00c80ca0
mov eax, dword [ebp - 0x114]
and eax, 1
je 0xd6068b
and dword [ebp - 0x114], 0xfffffffe
lea ecx, [ebp - 0x20]
call fcn.00c80ca0
movzx ecx, byte [ebp - 0x109]
test ecx, ecx
je 0xd6069d
xor al, al
jmp 0xd60876
lea ecx, [ebp - 0xb0]
call fcn.00bc50e0
lea edx, [ebp - 0xb0]
push edx
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp + 8]
call fcn.00d58bb0
push eax
call fcn.00d3a7c0
add esp, 8
movzx ecx, al
neg ecx
sbb ecx, ecx
add ecx, 1
mov byte [ebp - 0x10a], cl
lea ecx, [ebp - 0x58]
call fcn.00c80ca0
movzx edx, byte [ebp - 0x10a]
test edx, edx
je 0xd60704
mov byte [ebp - 0x10b], 0
lea ecx, [ebp - 0xb0]
call fcn.00bc4e90
mov al, byte [ebp - 0x10b]
jmp 0xd60876
lea ecx, [ebp - 0xb0]
call fcn.00bc4c40
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xffffffff
je 0xd60752
mov eax, dword [ebp - 0x94]
and eax, 0x10
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x10c], al
lea ecx, [ebp - 0xb0]
call fcn.00bc4e90
mov al, byte [ebp - 0x10c]
jmp 0xd60876
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0xd60785
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0xd60785
mov byte [ebp - 0x10d], 0
lea ecx, [ebp - 0xb0]
call fcn.00bc4e90
mov al, byte [ebp - 0x10d]
jmp 0xd60876
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00d58f00
mov ecx, eax
call fcn.00bc6660
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
mov byte [ebp - 0x10e], dl
lea ecx, [ebp - 0x74]
call fcn.00c80ca0
movzx eax, byte [ebp - 0x10e]
test eax, eax
je 0xd60845
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x108]
call fcn.00d62400
lea edx, [ebp - 0x90]
push edx
mov ecx, dword [ebp + 8]
call fcn.00d58f00
push eax
lea ecx, [ebp - 0x108]
call fcn.00d58f80
lea ecx, [ebp - 0x90]
call fcn.00c80ca0
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x118]
mov eax, dword [edx + 0x20]
call eax
movzx ecx, al
test ecx, ecx
jne 0xd6083a
mov byte [ebp - 0x10f], 0
lea ecx, [ebp - 0x108]
call fcn.00d4f370
lea ecx, [ebp - 0xb0]
call fcn.00bc4e90
mov al, byte [ebp - 0x10f]
jmp 0xd60876
lea ecx, [ebp - 0x108]
call fcn.00d4f370
push 0
lea ecx, [ebp - 0xb0]
call fcn.00bc4c40
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x110], al
lea ecx, [ebp - 0xb0]
call fcn.00bc4e90
mov al, byte [ebp - 0x110]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00d08a41
mov esp, ebp
pop ebp
ret 4