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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b0
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
jne 0x4ae50e
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x4ae524
cmp eax, 0xffffffff
je 0x4ae524
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 0x4ae547
mov ecx, esi
call fcn.004adbc0
mov eax, dword [ebp + 0xc]
push eax
push edi
mov ecx, esi
call fcn.004adb50
test eax, eax
jl 0x4ae803
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4ae803
cmp word [eax], bx
je 0x4ae803
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
mov word [ebp - 0x24], ax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0xa], eax
mov word [ebp - 6], ax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
xor edx, edx
mov dword [ebp + 8], 0xffffffff
mov word [ebp - 4], cx
mov word [ebp - 2], dx
cmp eax, ebx
jbe 0x4ae5a9
push eax
lea ecx, [ebp - 0x24]
push str.__u_
push ecx
call edi
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
push 0x4e52b0
lea eax, [ebp - 4]
push eax
push 4
push 6
push 0xd
lea ecx, [ebp - 0xa4]
push str.ConEmu__u_02u_02u_s__s__log_s
push ecx
call edi
mov eax, dword [esi]
add esp, 0x20
cmp eax, ebx
jne 0x4ae78e
mov edx, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edx
call ebx
mov edi, eax
mov eax, dword [esi + 8]
mov dword [ebp + 0xc], edi
test eax, eax
je 0x4ae69a
cmp word [eax], 0
je 0x4ae69a
push eax
call ebx
lea edi, [eax + edi + 3]
push 2
push edi
call fcn.004412c0
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x4ae803
mov ecx, dword [esi + 8]
push ecx
push edi
push eax
call fcn.00401800
mov edx, dword [esi + 8]
cmp word [edx + edi*2 - 2], 0x5c
je 0x4ae640
mov eax, dword [esi]
push 0x4c9860
push edi
push eax
call fcn.00401880
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edi
push edx
call fcn.00401880
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 0x4ae69a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 8], eax
cmp eax, 5
jne 0x4ae685
mov dword [esi + 0xc], 0
mov eax, dword [esi]
test eax, eax
je 0x4ae69a
push eax
call fcn.00441300
add esp, 4
mov dword [esi], 0
cmp dword [esi + 0xc], 0
jne 0x4ae7be
xor ecx, ecx
push 0x208
push ecx
lea edx, [ebp - 0x2ae]
push edx
mov word [ebp - 0x2b0], cx
call fcn.004b03e0
add esp, 0xc
lea eax, [ebp - 0x2b0]
push eax
push 0
push 0
push 0x8010
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x4ae7be
lea ecx, [ebp - 0x2b0]
push ecx
call ebx
mov edx, dword [ebp + 0xc]
mov ebx, eax
lea edi, [ebx + edx + 0x20]
push 2
push edi
call fcn.004412c0
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x4ae803
lea ecx, [ebp - 0x2b0]
push ecx
push edi
push eax
call fcn.00401800
cmp word [ebp + ebx*2 - 0x2b2], 0x5c
mov eax, str.ConEmuLogs
jne 0x4ae72c
mov eax, 0x4e5244
mov edx, dword [esi]
push eax
push edi
push edx
call fcn.00401880
mov eax, dword [esi]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [esi]
push 0x4c9860
push edi
push ecx
call fcn.00401880
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push edi
push eax
call fcn.00401880
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 0x4ae7be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xc], 0
jmp 0x4ae7bb
cmp word [eax], bx
je 0x4ae803
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 0x4ae7be
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 0x4ae7e9
cmp eax, 0xffffffff
je 0x4ae7e9
push 1
push 0
push 1
lea edx, [ebp - 0xa4]
push edx
mov ecx, esi
call fcn.004adc30
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 0x4ae806
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