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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x65c
mov eax, dword [0x101b90ec]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x654], eax
push esi
push edi
test ebx, ebx
je 0x100e3c57
test eax, eax
je 0x100e3c57
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.1012b3b0
add esp, 0xc
lea eax, [ebp - 0x628]
push 0x208
push 0
push eax
call fcn.1012b3b0
add esp, 0xc
lea eax, [ebp - 0x634]
push eax
push 1
push 0x100e3750
push 0x100e3740
push 0x100e3730
push 0x100e3720
push 0x100e36f0
push fcn.100e36e0
push 0x100e36d0
call dword [sym.imp.Cabinet.dll_FDICreate]
mov edi, eax
add esp, 0x24
test edi, edi
je 0x100e3c57
push 0x104
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.1012b3b0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push 0
push eax
call fcn.1012b3b0
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 1
call esi
push 0
push 0
push eax
lea eax, [ebp - 0x110]
push eax
push 0xffffffffffffffff
push ebx
push 0
push 1
call esi
push 0
lea eax, [ebp - 0x650]
push eax
push 0
push 0x40
lea eax, [ebp - 0x110]
push 0x8020
push eax
call fcn.1013cef7
mov esi, dword [ebp - 0x650]
or ecx, 0xffffffff
add esp, 0x18
test eax, eax
cmovne esi, ecx
cmp esi, ecx
je 0x100e3c4d
lea eax, [ebp - 0x64c]
push eax
push esi
push edi
call dword [sym.imp.Cabinet.dll_FDIIsCabinet]
add esp, 0xc
push esi
test eax, eax
jne 0x100e3c6c
call fcn.1013d6fb
add esp, 4
push edi
call dword [sym.imp.Cabinet.dll_FDIDestroy]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10109ec2
mov esp, ebp
pop ebp
ret 8
call fcn.1013d6fb
add esp, 4
push 0x5c
push ebx
call fcn.1012a364
mov esi, eax
add esp, 8
test esi, esi
jne 0x100e3cab
push ebx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 1
lea eax, [ebp - 0x420]
push 0x1018344c
push eax
call fcn.1013c80e
add esp, 0xc
jmp 0x100e3cf1
lea eax, [esi + 2]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esi, ebx
sar esi, 1
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.1013c80e
lea esi, [esi*2 + 2]
add esp, 0xc
cmp esi, 0x208
jae 0x100e3d93
xor eax, eax
mov word [ebp + esi - 0x420], ax
push dword [ebp - 0x654]
push 0x101c6e68
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x101c6e68
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100e3d1d
push eax
push 0x101c6e68
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.10047710
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.10047710
mov eax, dword [ebp - 0x658]
push dword [eax + 4]
lea eax, [ebp - 0x218]
push 0
push 0x100e3760
push 0
push eax
lea eax, [ebp - 0x110]
push eax
push edi
call dword [sym.imp.Cabinet.dll_FDICopy]
add esp, 0x2c
push edi
cmp eax, 1
jne 0x100e3c4e
call dword [sym.imp.Cabinet.dll_FDIDestroy]
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.10109ec2
mov esp, ebp
pop ebp
ret 8
call fcn.1010a6d4
int3