Function at 0x44efc0
Capabilities:
Create directory
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x110]
push ebx
mov ebx, dword fs:[0x18]
sub esp, 0x118
mov dword [esp + 4], esi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
mov eax, dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
sub esp, 8
mov dword [esp], 0x595413
mov dword [ebp - 0x118], eax
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x22a
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], str.SetCurrentDirectory_error__lu_n
call fcn.0044df00
mov dword [ebx + 0x34], 0xdeadbeef
mov edi, dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov dword [esp + 4], 0
mov dword [esp], 0x595413
call edi
sub esp, 8
mov dword [ebp - 0x114], eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x22e
xor eax, eax
mov dword [esp + 4], str.CreateDirectory_should_fail_n
mov ecx, dword [ebp - 0x114]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.0044df00
cmp dword [ebx + 0x34], 5
je 0x44f260
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x235
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x59546a
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0xb7
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], 0
mov dword [esp], 0x595473
call edi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x239
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], str.CreateDirectory_should_fail_n
mov dword [esp], eax
call fcn.0044df00
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x23a
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x59546a
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0xb7
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [ebx + 0x34], 0xdeadbeef
mov edi, dword [sym.imp.kernel32.dll_CreateDirectoryW]
mov dword [esp + 4], 0
mov dword [esp], 0x59578c
call edi
sub esp, 8
mov dword [ebp - 0x114], eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x23e
xor eax, eax
mov dword [esp + 4], str.CreateDirectory_should_fail_n
mov ecx, dword [ebp - 0x114]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.0044df00
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x23f
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x59546a
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0xb7
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], 0
mov dword [esp], 0x595784
call edi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x243
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], str.CreateDirectory_should_fail_n
mov dword [esp], eax
call fcn.0044df00
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x244
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x59546a
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0xb7
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [esp], esi
mov eax, dword [ebp - 0x118]
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x231
mov dword [esp], str.not_an_administrator_n
call fcn.0044e730
mov dword [esp], esi
mov eax, dword [ebp - 0x118]
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret