Function at 0x185dc305
Capabilities:
Check if file exists
Create directory

Disassembly:
push 0x38
mov eax, 0x186ba8b6
call fcn.18615cb5
mov ebx, ecx
push 0
call fcn.185d040b
mov ecx, eax
call fcn.185cfcc5
call fcn.185d040b
lea edx, [ebx + 0xb8]
mov edi, edx
push 0
mov al, byte [eax + 0x3504]
mov byte [ebx + 0x144], al
mov eax, dword [0x1886cd98]
push edx
movd xmm0, dword [eax + 8]
cvtdq2pd xmm0, xmm0
movsd qword [ebx + 0x178], xmm0
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x800]
mov dword [ebx + 0x74], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x800]
mov dword [ebx + 0x78], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x794]
mov dword [ebx + 0x7c], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x848]
mov dword [ebx + 0x80], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x7dc]
mov dword [ebx + 0x94], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x86c]
mov dword [ebx + 0x98], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x86c]
mov dword [ebx + 0x9c], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x86c]
mov dword [ebx + 0xa0], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x824]
mov dword [ebx + 0xa4], eax
mov esi, dword [0x1886cd98]
lea esi, [esi + 0x7bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add dword [edx], 5
inc dword [ebx + 0xbc]
mov dword [ebx + 0xc0], 0x65
mov dword [ebx + 0xc4], 0xc
mov ecx, dword [0x1886cd98]
mov ecx, dword [ecx + 0x7dc]
call fcn.185caae0
mov ecx, ebx
mov dword [ebx + 0xb4], eax
call fcn.185dbfac
mov dword [ebx + 0x16c], eax
cmp eax, 2
jne 0x185dc457
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x890]
mov dword [ebx + 0xa4], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x86c]
jmp 0x185dc478
cmp eax, 1
jne 0x185dc47e
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x86c]
mov dword [ebx + 0xa4], eax
mov eax, dword [0x1886cd98]
mov eax, dword [eax + 0x890]
mov dword [ebx + 0xac], eax
call fcn.1862e3cd
mov ecx, eax
call fcn.1862dd7a
lea ecx, [ebp - 0x28]
push dword [eax]
call fcn.185ab1b0
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x185dc4c2
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x40]
mov edi, 0x1886cca4
push eax
mov ecx, edi
call fcn.185dd3ea
push eax
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.185dc0af
movzx eax, al
lea ecx, [ebp - 0x40]
neg eax
mov byte [ebp - 4], 0
sbb eax, eax
and eax, 4
mov dword [ebx + 0x164], eax
call fcn.185ac1f0
push dword [ebx + 0x164]
call fcn.185d040b
mov ecx, eax
call fcn.185d0524
push 0x54
call fcn.1861577c
pop ecx
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 2
lea esi, [ebx + 0x114]
test eax, eax
je 0x185dc533
push esi
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.1867f0f0
jmp 0x185dc535
xor eax, eax
mov dword [ebx + 0x10c], eax
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0
push eax
call fcn.185c7f90
add esp, 0xc
mov ecx, esi
push eax
call fcn.185ab620
lea ecx, [ebp - 0x40]
call fcn.185ac1f0
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.185dd454
push eax
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.185dc0af
movzx eax, al
lea ecx, [ebp - 0x40]
neg eax
mov byte [ebp - 4], 0
sbb eax, eax
and eax, 4
mov dword [ebx + 0x168], eax
call fcn.185ac1f0
push dword [ebx + 0x168]
call fcn.185d040b
mov ecx, eax
call fcn.185d053b
push 0x54
call fcn.1861577c
pop ecx
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 4
lea esi, [ebx + 0x12c]
test eax, eax
je 0x185dc5cc
push esi
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.1867f0f0
jmp 0x185dc5ce
xor eax, eax
mov dword [ebx + 0x110], eax
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0
push eax
call fcn.185c7f90
add esp, 0xc
mov ecx, esi
push eax
call fcn.185ab620
lea ecx, [ebp - 0x40]
call fcn.185ac1f0
mov ecx, ebx
call fcn.185dd4be
mov esi, dword [0x1886cd98]
lea edi, [ebx + 0xe0]
push 9
pop ecx
add esi, 0x1008
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x74]
call fcn.185cc0f0
mov dword [ebx + 0x14c], eax
mov ecx, dword [ebx + 0x74]
call fcn.185d2da0
mov dword [ebx + 0x150], eax
mov ecx, dword [ebx + 0x94]
call fcn.185cc0f0
mov dword [ebx + 0x154], eax
mov ecx, dword [ebx + 0x94]
call fcn.185d2da0
mov ecx, dword [ebx + 0x100]
mov dword [ebx + 0x158], eax
call fcn.185cc0f0
mov ecx, dword [ebx + 0x100]
mov dword [ebx + 0x15c], eax
call fcn.185d2da0
mov dword [ebx + 0x160], eax
call fcn.18683412
push 9
lea ecx, [eax + 4]
call fcn.185d2d4f
lea ecx, [ebp - 0x28]
mov byte [ebx + 0x170], al
call fcn.185ac1f0
xor eax, eax
call fcn.18615c5f
ret 0x10