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

Disassembly:
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ebx, [ebp + 0xe7c]
push ebx
call fcn.004057e0
mov edi, 0x418114
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x4045ad
push ebx
push str.CExtractManager::SetDirectory:_set_TEMP___s_
push 0x418244
call fcn.00401710
add esp, 0xc
mov edi, str.image_
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x4045f8
push ebx
push str.CExtractManager::SetDirectory:_set_TEMP_image___s_
push 0x418244
call fcn.00401710
add esp, 0xc
mov ecx, 0x41
xor eax, eax
mov edi, ebx
push ebx
rep stosd dword es:[edi], eax
mov ecx, ebp
call fcn.004057e0
push ebx
push str.CExtractManager::SetDirectory:_TEMP___s_
push 0x418244
call fcn.00401710
add esp, 0xc
lea ebx, [ebp + 0xc74]
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, 0x418114
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x40467b
push ebx
push str.CExtractManager::SetDirectory:_set_WIN___s_
push 0x418244
call fcn.00401710
add esp, 0xc
push ebx
push str.CExtractManager::SetDirectory:_WIN___s_
push 0x418244
call fcn.00401710
add esp, 0xc
lea ebx, [ebp + 0xd78]
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, 0x418114
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x4046eb
push ebx
push str.CExtractManager::SetDirectory:_set_SYS32___s_
push 0x418244
call fcn.00401710
add esp, 0xc
push ebx
push str.CExtractManager::SetDirectory:_SYS32___s_
push 0x418244
call fcn.00401710
add esp, 0xc
lea ebx, [ebp + 0xf80]
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, str.Softcamp
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x40475b
push ebx
push str.CExtractManager::SetDirectory:_set_SDS___s_
push 0x418244
call fcn.00401710
add esp, 0xc
mov edi, str._sds_
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
jne 0x4047a6
push ebx
push str.CExtractManager::SetDirectory:_set_SDS___s_
push 0x418244
call fcn.00401710
add esp, 0xc
push ebx
push str.CExtractManager::SetDirectory:_SDS___s_
push 0x418244
call fcn.00401710
add esp, 0xc
lea esi, [ebp + 0x1084]
mov ecx, ebp
push esi
call fcn.004059a0
push esi
push str.CExtractManager::SetDirectory:_CUR___s_
push 0x418244
call fcn.00401710
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret