Function at 0x414a60
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x42044f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0
test eax, eax
jne 0x414a8d
mov eax, 0x42b380
push ebx
push esi
push eax
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 8]
mov dword [esp + 0x1c], 1
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 2
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x2c]
mov bl, 3
test eax, eax
mov byte [esp + 0x1c], bl
jne 0x414bfe
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
cmp ecx, 1
jl 0x414b31
mov dl, byte [ecx + eax - 1]
cmp dl, 0x5c
je 0x414ae4
cmp dl, 0x2f
jne 0x414b31
mov al, byte [ecx + eax - 1]
mov byte [esp + 0x2c], al
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0x10]
call fcn.0041d6d2
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x28]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x30]
push eax
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x28]
cmp dword [eax - 8], 2
jl 0x414bae
movsx ecx, byte [eax]
push ecx
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
mov eax, dword [esp + 0x28]
je 0x414bae
cmp byte [eax + 1], 0x3a
jne 0x414bae
lea edx, [esp + 0x2c]
push 2
push edx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 5
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x2c]
push 2
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20], 6
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x28]
cmp dword [eax - 8], 1
jl 0x414c24
mov al, byte [eax]
cmp al, 0x5c
je 0x414bbe
cmp al, 0x2f
jne 0x414c24
mov byte [esp + 0x2c], al
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0xc]
call fcn.0041d6d2
lea edx, [esp + 0x2c]
push 1
push edx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x20], 7
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c], bl
call sub.MFC42.DLL_CString::CString
jmp 0x414c24
push 0x42ad10
push 0x429538
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42953c
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x4294c0
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42ad0c
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42a348
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42ad08
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42ad04
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42ad00
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x42ad10
push 0x42acfc
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
mov eax, dword [esp + 8]
lea ecx, [esp + 0x28]
push eax
push 0
call sub.MFC42.DLL_CString::Insert
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x2c]
call fcn.0041d60c
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::CString_3
mov dword [esp + 0x10], 1
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov byte [esp + 0x1c], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x1c], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret