Function at 0x4138e0
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47064d
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x4ae44c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call dword [0x4824d0]
xor edi, edi
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x14]
push edx
mov ecx, esi
call fcn.00413720
mov byte [ebp - 4], 1
push edi
mov ecx, 0x4ae554
mov byte [ebp - 0xd], 1
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
cmp eax, 0xffffffff
je 0x413960
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x34]
call dword [0x4824d8]
jmp 0x413c48
push edi
mov ecx, 0x4ae564
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
cmp eax, 0xffffffff
je 0x413a7c
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::FormatMessageW]
mov byte [ebp + 0xb], 1
nop
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x413a5e
cmp byte [esi + 0x32], al
jne 0x413a5a
call edi
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0040b540
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call dword [0x4824e8]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
push edx
push eax
lea ecx, [ebp - 0x1c]
push 0xaf
push ecx
call ebx
add esp, 0x10
push 0x35
push ecx
lea edx, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x24], esp
push edx
call dword [0x4824cc]
mov byte [ebp - 4], 4
call sub.mfc100u.dll_AfxGetThread
test eax, eax
je 0x413a13
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x7c]
call eax
test eax, eax
jne 0x413a17
xor eax, eax
jmp 0x413a1a
mov eax, dword [eax + 0x20]
push eax
mov byte [ebp - 4], 3
call fcn.0040db60
add esp, 0xc
cmp eax, 4
je 0x413a34
mov byte [ebp + 0xb], 0
mov byte [esi + 0x2f], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
cmp byte [ebp + 0xb], 0
jne 0x413990
jmp 0x413a5e
mov byte [esi + 0x30], 1
lea ecx, [ebp - 0x14]
mov byte [esi + 0x2e], 1
call dword [sym.imp.mfc100u.dll_]
push eax
mov ecx, 0x4ae5e8
call dword [0x4824f0]
jmp 0x413c48
push edi
mov ecx, 0x4ae55c
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
cmp eax, 0xffffffff
je 0x413ad9
push str.dynamic
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x413ab8
mov dword [0x4ae590], 1
jmp 0x413c48
push str.normal
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x413c48
mov dword [0x4ae590], edi
jmp 0x413c48
push edi
mov ecx, 0x4ae558
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
cmp eax, 0xffffffff
je 0x413b69
push str.admin
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x413b15
mov dword [0x4ae58c], 1
jmp 0x413c48
push str.normal
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x413b32
mov dword [0x4ae58c], edi
jmp 0x413c48
push str.auto
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
je 0x413b5a
push 0x485bdc
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x413c48
mov dword [0x4ae58c], 2
jmp 0x413c48
mov ecx, 0x4ae560
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
test eax, eax
jne 0x413b92
mov byte [esi + 0x2d], 1
mov byte [0x4ae58b], 1
jmp 0x413c48
mov ecx, 0x4ae568
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
test eax, eax
jne 0x413bb4
mov byte [esi + 0x31], 1
jmp 0x413c48
mov ecx, 0x4ae56c
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
test eax, eax
jne 0x413bd3
mov byte [esi + 0x32], 1
jmp 0x413c48
push edi
mov ecx, 0x4ae54c
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
cmp eax, 0xffffffff
je 0x413c25
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_]
push eax
call dword [sym.imp.MSVCR100.dll__wtol]
mov esi, eax
push esi
call fcn.00415b40
add esp, 8
test al, al
je 0x413c48
mov ecx, dword [0x4ae57c]
push ecx
push esi
call fcn.0040c060
add esp, 8
mov dword [0x4ae578], esi
jmp 0x413c48
mov ecx, 0x4ae550
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
test eax, eax
jne 0x413c44
mov byte [esi + 0x2c], 1
jmp 0x413c48
mov byte [ebp - 0xd], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4