Function at 0x10009860
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x1003a96a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], 0
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
mov eax, dword [esp + 0x3c]
test eax, eax
mov byte [esp + 0x34], 7
je 0x100099a0
push eax
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
push 1
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
push 0x1003e544
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
lea ecx, [esp + 0x3c]
setne bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test bl, bl
je 0x10009957
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x40]
push 0x1003e544
push edx
call fcn.100082c0
add esp, 0xc
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 8
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x34], 7
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push 1
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Right]
push 0x1003e544
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
lea ecx, [esp + 0x3c]
setne bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test bl, bl
je 0x10009a50
push 0x1003e544
lea ecx, [esp + 0xc]
call dword [0x1003d2ec]
jmp 0x10009a50
lea ecx, [esp + 0x3c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
push 0x104
push 0x104
lea ecx, [esp + 0x44]
mov byte [esp + 0x3c], 9
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer]
push eax
call dword [sym.imp.MSVCR71.dll__getcwd]
add esp, 8
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::ReleaseBuffer]
push 1
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x44]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Right]
push 0x1003e544
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
lea ecx, [esp + 0x28]
setne bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test bl, bl
je 0x10009a19
push 0x1003e544
lea ecx, [esp + 0x40]
call dword [0x1003d2ec]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x40]
call sym.Host71.dll_public:_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______thiscall_CFileString::GetDir_void_
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 0xa
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x34], 7
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, esi
call sym.Host71.dll_protected:_void___thiscall_CFileString::GetParts_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char_____const
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x10]
call dword [0x1003d434]
lea edx, [esp + 8]
push edx
lea ecx, [esp + 0x10]
call dword [0x1003d434]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x10]
call dword [0x1003d434]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x10]
call dword [0x1003d434]
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x10]
call dword [0x1003d434]
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x40]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_3]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov byte [esp + 0x38], 0xb
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x3c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ecx, dword [esp + 0x2c]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 4