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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x32c
mov esi, dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xba
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x44fbec
mov eax, 1
cmp ecx, 3
je 0x44fbec
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA_NULL_:_ret_d_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], 0
mov dword [esp], 0x594d45
call esi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xbf
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x44fc51
mov eax, 1
cmp ecx, 0xa1
je 0x44fc51
xor eax, eax
cmp ecx, 3
sete al
mov dword [esp + 0xc], ebx
lea ebx, [ebp - 0x318]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_GetSystemDirectoryA]
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xc4
xor eax, eax
cmp edi, 0x103
setle al
mov dword [esp + 4], str.System_directory_should_fit_into_MAX_PATH_n
mov dword [esp], eax
call fcn.0044df00
lea eax, [ebp - 0x214]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xc8
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.could_not_chdir_to_the_System_directory_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], 0
mov dword [esp], 0x595621
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xcb
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x44fd4b
xor eax, eax
cmp ecx, 0xb7
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], 0
mov dword [esp], 0x595623
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xd0
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x44fdaa
xor eax, eax
cmp ecx, 0xb7
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov eax, dword [sym.imp.kernel32.dll_GetTempPathA]
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov dword [ebp - 0x31c], eax
call eax
mov byte [ebp - 0x315], 0
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xd6
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x44fe31
mov eax, 1
cmp ecx, 0xb7
je 0x44fe31
xor eax, eax
cmp ecx, 5
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov byte [eax + 0x10], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0xdd
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x320], edx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x320]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xe0
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x44ff1e
xor eax, eax
cmp ecx, 0xb7
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov eax, dword [sym.imp.kernel32.dll_RemoveDirectoryA]
mov dword [esp], ebx
mov dword [ebp - 0x320], eax
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0xe4
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x324], edx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
call fcn.0044df00
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, 0x3f
mov word [ebx + eax], cx
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xea
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x44ffe7
mov eax, 1
cmp ecx, 0x7b
je 0x44ffe7
xor eax, eax
cmp ecx, 3
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_strlen]
mov byte [ebp + eax - 0x319], 0x2a
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xf1
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x450068
mov eax, 1
cmp ecx, 0x7b
je 0x450068
xor eax, eax
cmp ecx, 3
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, 0x65
add eax, ebx
mov word [eax + 0x20], dx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov dword [eax + 0x10], 0x656c502f
mov dword [eax + 0x14], 0x20657361
mov dword [eax + 0x18], 0x6f6d6552
mov dword [eax + 0x1c], 0x4d206576
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0xf9
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x45012e
xor eax, eax
cmp ecx, 3
sete al
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov ecx, dword [ebp - 0x31c]
call ecx
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, 0x2e
add eax, ebx
mov word [eax + 0x10], dx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0x103
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x324], edx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
call fcn.0044df00
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, 0x65
add eax, ebx
mov word [eax + 0x10], cx
mov dword [eax], 0x656c502f
mov dword [eax + 4], 0x20657361
mov dword [eax + 8], 0x6f6d6552
mov dword [eax + 0xc], 0x4d206576
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x108
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x10b
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov ecx, dword [ebp - 0x31c]
call ecx
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov byte [eax + 0x10], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x111
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov ecx, dword [ebp - 0x31c]
call ecx
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax + 0xc], 0x654d2065
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xf], 0x2e2e65
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x11a
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
mov edi, 0x65
sete al
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov word [eax + 0x10], di
mov dword [eax], 0x656c502f
mov dword [eax + 4], 0x20657361
mov dword [eax + 8], 0x6f6d6552
mov dword [eax + 0xc], 0x4d206576
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x11f
mov eax, dword [edx + 0x34]
cmp edi, 1
je 0x450898
test edi, edi
je 0x450860
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov byte [eax + 0x10], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x320]
call ecx
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0x12c
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x324], edx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, 0x20
add eax, ebx
mov word [eax + 0x10], cx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x135
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
mov edi, 0x65
sete al
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov word [eax + 0x10], di
mov dword [eax], 0x656c502f
mov dword [eax + 4], 0x20657361
mov dword [eax + 8], 0x6f6d6552
mov dword [eax + 0xc], 0x4d206576
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x13a
mov eax, dword [edx + 0x34]
cmp edi, 1
je 0x450990
test edi, edi
je 0x450a48
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
mov edi, dword fs:[0x18]
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov byte [eax + 0x10], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x320]
call ecx
sub esp, 4
mov dword [ebp - 0x324], eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x147
mov eax, dword [edi + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
cmp dword [ebp - 0x324], 1
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax + 0xc], 0x654d2065
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xf], 0x202065
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x324], eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x150
mov eax, dword [edi + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], str.CreateDirectoryA__s__failed_err_ld_n
cmp dword [ebp - 0x324], 1
sete al
mov dword [esp], eax
call fcn.0044df00
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, 0x65
add eax, ebx
mov word [eax + 0x10], dx
mov dword [eax], 0x656c502f
mov dword [eax + 4], 0x20657361
mov dword [eax + 8], 0x6f6d6552
mov dword [eax + 0xc], 0x4d206576
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x155
mov eax, dword [edi + 0x34]
cmp esi, 1
je 0x450918
test esi, esi
je 0x450a10
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x61656c50
mov dword [eax + 4], 0x52206573
mov dword [eax + 8], 0x766f6d65
mov dword [eax + 0xc], 0x654d2065
mov byte [eax + 0x10], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x162
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp + 0xc], eax
xor eax, eax
cmp esi, 1
sete al
mov dword [esp], eax
call fcn.0044df00
lea eax, [ebp - 0x214]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryW]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [edx + 0x34], 3
je 0x450a80
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
jmp 0x45045b
mov dword [ebp - 0x324], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x125
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
jmp 0x45045b
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x15b
mov eax, dword [edi + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
jmp 0x4507b3
mov dword [ebp - 0x324], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
mov dword [esp], ebx
mov eax, dword [ebp - 0x320]
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x324]
mov dword [eax], 0x594e33
mov dword [eax + 4], 0x140
mov eax, dword [edx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
cmp edi, 1
sete al
mov dword [esp + 4], str.RemoveDirectoryA__s__failed_err_ld_n
mov dword [esp], eax
call fcn.0044df00
jmp 0x450609
cmp dword [edi + 0x34], 3
je 0x450ae0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
jmp 0x4507b3
cmp dword [edx + 0x34], 3
je 0x450ab0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 0
call fcn.0044df00
jmp 0x450609
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
jmp 0x45045b
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
jmp 0x450609
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.CreateDirectoryA__s_:_ret_d_err_ld_n
mov dword [esp], 1
call fcn.0044df00
jmp 0x4507b3