Function at 0x40a250
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x40caef
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 0x40a27d
mov eax, 0x410f00
push ebx
push esi
push eax
lea ecx, [esp + 0x2c]
call fcn.0040b29c
lea ecx, [esp + 8]
mov dword [esp + 0x1c], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 2
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x2c]
mov bl, 3
test eax, eax
mov byte [esp + 0x1c], bl
jne 0x40a3ee
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
cmp ecx, 1
jl 0x40a321
mov dl, byte [ecx + eax - 1]
cmp dl, 0x5c
je 0x40a2d4
cmp dl, 0x2f
jne 0x40a321
mov al, byte [ecx + eax - 1]
mov byte [esp + 0x2c], al
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0x10]
call fcn.0040b320
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 0x40a39e
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 0x40a39e
cmp byte [eax + 1], 0x3a
jne 0x40a39e
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_1
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 0x40a414
mov al, byte [eax]
cmp al, 0x5c
je 0x40a3ae
cmp al, 0x2f
jne 0x40a414
mov byte [esp + 0x2c], al
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0xc]
call fcn.0040b320
lea edx, [esp + 0x2c]
push 1
push edx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Mid_1
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 0x40a414
push 0x410d88
push 0x4102bc
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x4102c0
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410160
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410d84
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410d80
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410d7c
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410d78
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push 0x410d74
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Replace
push 0x410d88
push str._____
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.0040b266
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::CString_1
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