Function at 0x4157a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x429248
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebp
push esi
push edi
lea ecx, [esp + 0xc]
mov dword [esp + 0x1c], 1
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xc]
push eax
push str.name__s_
push ecx
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x30]
push 1
push edx
push ebp
call fcn.00415290
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x415851
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xc]
push eax
push str.name_s
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x18]
push 1
push edx
push ebp
call fcn.00415290
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x415851
lea eax, [esp + 0x28]
lea ecx, [esp + 0xc]
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0xc]
push 1
push ecx
push ebp
call fcn.00415290
mov esi, eax
add esp, 0xc
test esi, esi
je 0x415982
mov edx, dword [esp + 0xc]
push ebx
push 1
push str.value
mov eax, dword [edx - 8]
add eax, esi
push eax
call fcn.00415290
add esp, 0xc
test eax, eax
je 0x415920
mov edx, eax
xor ecx, ecx
sub edx, esi
test edx, edx
jle 0x41588c
cmp byte [ecx + esi], 0x3e
je 0x415920
inc ecx
cmp ecx, edx
jl 0x41587d
mov ebx, dword [esp + 0x34]
mov cl, byte [eax + 6]
lea edx, [eax + 6]
cmp cl, 0x20
lea edi, [ebx + ebp]
mov byte [esp + 0x28], 0x20
jne 0x4158a7
mov edi, edx
jmp 0x4158f3
cmp cl, 0x27
jne 0x4158b0
mov byte [esp + 0x28], cl
cmp cl, 0x22
jne 0x4158b9
mov byte [esp + 0x28], cl
mov ecx, ebp
mov edx, 1
sub ecx, eax
lea ecx, [ecx + ebx + 6]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jle 0x4158f3
mov bl, byte [esp + 0x28]
mov cl, byte [eax + edx + 6]
cmp cl, bl
je 0x4158ef
cmp cl, 0x3e
je 0x4158ef
cmp cl, 0xa
je 0x4158ef
mov ecx, dword [esp + 0x14]
inc edx
cmp edx, ecx
jl 0x4158d2
jmp 0x4158f3
lea edi, [edx + eax + 7]
mov ebx, dword [esp + 0x34]
mov edx, ebp
sub edx, edi
xor ecx, ecx
add edx, ebx
test edx, edx
jle 0x415914
mov bl, byte [edi + ecx + 1]
mov byte [ecx + eax], bl
mov byte [edi + ecx + 1], 0
inc ecx
cmp ecx, edx
jl 0x415903
mov ecx, dword [esp + 0x34]
sub eax, edi
lea edi, [ecx + eax - 1]
jmp 0x415924
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x2c]
push edx
push str._value_s
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov ecx, dword [ecx - 8]
pop ebx
lea edx, [ecx + ebp]
mov byte [edx + edi], 0
mov eax, dword [esp + 0xc]
add esi, dword [eax - 8]
sub ebp, esi
lea eax, [edi + ebp - 1]
test eax, eax
jl 0x415967
lea ebp, [ecx + esi]
mov dl, byte [eax + esi]
mov byte [eax + ebp], dl
dec eax
jns 0x41595e
xor eax, eax
test ecx, ecx
jle 0x41597e
mov edx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dl, byte [eax + edx - 1]
mov byte [eax + esi - 1], dl
jl 0x41596d
add edi, ecx
jmp 0x415986
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0xc]
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
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x14
ret