Function at 0x4c8460
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2bc
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
jne 0x4c847e
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x4c8494
cmp eax, 0xffffffff
je 0x4c8494
push eax
mov dword [esi + 0xc], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x4c84b7
mov ecx, esi
call fcn.004c6c90
mov eax, dword [ebp + 0xc]
push eax
push edi
mov ecx, esi
call fcn.004c6c20
test eax, eax
jl 0x4c87a9
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4c87a9
cmp word [eax], bx
je 0x4c87a9
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov dword [ebp + 8], 0xffffffff
mov word [ebp - 0x30], cx
cmp eax, ebx
jbe 0x4c850f
push eax
lea edx, [ebp - 0x30]
push str.__u_
push edx
call edi
add esp, 0xc
xor eax, eax
push 8
push 0x4e5034
lea ecx, [ebp - 0x10]
push ecx
mov word [ebp - 0x10], ax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0xa], eax
mov dword [ebp - 6], eax
mov word [ebp - 2], ax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp word [ebp - 0x10], bx
je 0x4c8544
mov eax, 0x4e9c34
cmp word [ebp - 0xe], bx
jne 0x4c8549
mov eax, 0x4e5034
lea edx, [ebp - 0x30]
push edx
push 0x4e5034
push 0x508144
lea ecx, [ebp - 0x10]
push ecx
push eax
push 7
push 7
push 0xe
lea edx, [ebp - 0xb0]
push str.ConEmu__u_02u_02u_s_s__s_s__log_s
push edx
call edi
mov eax, dword [esi]
add esp, 0x28
cmp eax, ebx
jne 0x4c8734
mov eax, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
call ebx
mov edi, eax
mov eax, dword [esi + 8]
mov dword [ebp + 0xc], edi
test eax, eax
je 0x4c8640
cmp word [eax], 0
je 0x4c8640
push eax
call ebx
lea edi, [eax + edi + 3]
push 2
push edi
call fcn.0044c490
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x4c87a9
mov ecx, dword [esi + 8]
push ecx
push edi
push eax
call fcn.00401730
mov edx, dword [esi + 8]
cmp word [edx + edi*2 - 2], 0x5c
je 0x4c85e6
mov eax, dword [esi]
push 0x4e82fc
push edi
push eax
call fcn.004017b0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edi
push edx
call fcn.004017b0
mov eax, dword [esi]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0xc], eax
cmp eax, 0xffffffff
jne 0x4c8640
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 8], eax
cmp eax, 5
jne 0x4c862b
mov dword [esi + 0xc], 0
mov eax, dword [esi]
test eax, eax
je 0x4c8640
push eax
call fcn.0044c4f0
add esp, 4
mov dword [esi], 0
cmp dword [esi + 0xc], 0
jne 0x4c8764
xor ecx, ecx
push 0x208
push ecx
lea edx, [ebp - 0x2ba]
push edx
mov word [ebp - 0x2bc], cx
call fcn.004c9b50
add esp, 0xc
lea eax, [ebp - 0x2bc]
push eax
push 0
push 0
push 0x8010
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x4c8764
lea ecx, [ebp - 0x2bc]
push ecx
call ebx
mov edx, dword [ebp + 0xc]
mov ebx, eax
lea edi, [ebx + edx + 0x20]
push 2
push edi
call fcn.0044c490
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x4c87a9
lea ecx, [ebp - 0x2bc]
push ecx
push edi
push eax
call fcn.00401730
cmp word [ebp + ebx*2 - 0x2be], 0x5c
mov eax, str.ConEmuLogs
jne 0x4c86d2
mov eax, 0x5080cc
mov edx, dword [esi]
push eax
push edi
push edx
call fcn.004017b0
mov eax, dword [esi]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [esi]
push 0x4e82fc
push edi
push ecx
call fcn.004017b0
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push edi
push eax
call fcn.004017b0
mov ecx, dword [esi]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0xc], eax
cmp eax, 0xffffffff
jne 0x4c8764
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xc], 0
jmp 0x4c8761
cmp word [eax], bx
je 0x4c87a9
push ebx
push 0x80
push 2
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0xc], eax
cmp eax, 0xffffffff
jne 0x4c8764
mov dword [esi + 0xc], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c878f
cmp eax, 0xffffffff
je 0x4c878f
push 1
push 0
push 1
lea edx, [ebp - 0xb0]
push edx
mov ecx, esi
call fcn.004c77f0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], 0
test eax, eax
jne 0x4c87ac
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc