Function at 0x10009b80
Capabilities:
Read .ini file
Resolve function by parsing pe exports
Set current directory

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1008287d
push eax
mov dword fs:[0], esp
sub esp, 0x47c
lea eax, [esp + 0x178]
push ebx
push ebp
push esi
push edi
push 0x104
push eax
mov ebp, ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edi, dword [sym.imp.MSVCRT.dll_strchr]
lea ecx, [esp + 0x188]
push 0x5c
push ecx
lea esi, [esp + 0x190]
call edi
add esp, 8
test eax, eax
je 0x10009bea
push 0x5c
push esi
call edi
inc eax
push 0x5c
mov esi, eax
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x10009bd6
lea edi, [esp + 0x188]
or ecx, 0xffffffff
xor eax, eax
mov byte [esi], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x188]
push ecx
push edx
mov ecx, 0x1009fec0
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov eax, dword [0x1009fec4]
test eax, eax
jne 0x10009c20
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, dword [0x1009fec4]
test edx, edx
jne 0x10009c37
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov ecx, 0x1009feb0
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edi, 0x1009a660
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1009a660
mov ecx, 0x1009feb0
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov al, byte [esp + 0x17]
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [esp + 0x494], 0
mov edx, dword [ecx]
lea ecx, [esp + 0x44]
push edx
push 0
push 0x1009fec0
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edi, str.skinConfig
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.skinConfig
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10009cd5
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
lea eax, [esp + 0x8c]
push 0x100
push eax
push 0x1009a770
push str.tag_count
push 0x1009a760
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x88]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
xor edi, edi
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
jle 0x10009e2d
jmp 0x10009d21
mov edi, dword [esp + 0x18]
push edi
lea edx, [esp + 0x390]
push str.tag_d
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esp + 0x54]
add esp, 0xc
test eax, eax
jne 0x10009d45
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
lea eax, [esp + 0x8c]
push 0x100
push eax
lea ecx, [esp + 0x398]
push 0x1009a770
push ecx
push 0x1009a760
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x14
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x30], esi
test esi, esi
mov byte [esp + 0x494], 1
je 0x10009d9e
mov dl, byte [esp + 0x17]
lea ecx, [esi + 4]
push 0
mov byte [ecx], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov dword [esp + 0x1c], esi
jmp 0x10009daa
mov dword [esp + 0x1c], 0
mov esi, dword [esp + 0x1c]
mov dword [esi], edi
lea edi, [esp + 0x88]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [esi + 4]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov byte [esp + 0x49c], 0
mov dword [esp + 0x38], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x10009e08
mov eax, dword [ebx + 4]
mov ecx, edi
mov edi, eax
mov eax, ecx
lea esi, [esp + 0x88]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
push ecx
mov ecx, ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x294]
test ecx, ecx
je 0x10009e18
mov edx, dword [ecx]
push esi
call dword [edx + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x10009d1d
mov ecx, dword [ebp + 0x294]
test ecx, ecx
je 0x10009e3e
mov eax, dword [ecx]
push 4
call dword [eax + 0x28]
lea ecx, [esp + 0x54]
call fcn.1002cec0
mov cl, byte [esp + 0x17]
push 0
mov byte [esp + 0x38], cl
lea ecx, [esp + 0x38]
mov byte [esp + 0x498], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea esi, [ebp + 0xf0]
lea ecx, [esp + 0x34]
mov byte [esp + 0x494], 3
mov eax, dword [edx]
push eax
push 0
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edi, str.skinconfig.ini
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.skinconfig.ini
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x10009eb3
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
lea ecx, [esp + 0x290]
push 0x100
push ecx
push 0x100994ec
push str.skinpath
push str.skin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dl, byte [esp + 0x17]
push 0
lea ecx, [esp + 0x24]
mov byte [esp + 0x24], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [esp + 0x494], 4
mov ecx, dword [eax]
push ecx
push 0
push esi
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea edi, [esp + 0x28c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov edi, str.CenterDlgConfigWebPage.ini
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x28]
repne scasb al, byte es:[edi]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, esi
ja 0x10009f53
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10009f9a
mov edx, dword [esp + 0x28]
push 0
lea ecx, [esp + 0x24]
lea ebx, [edx + esi]
push ebx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x10009f9a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push ebx
lea edi, [ecx + eax]
mov ecx, esi
mov edx, ecx
mov esi, str.CenterDlgConfigWebPage.ini
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x10009fa7
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
lea ecx, [esp + 0x58]
call fcn.1002daf0
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea edx, [esp + 0x58]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [ebp + 0x43c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea eax, [esp + 0x68]
lea ecx, [ebp + 0x44c]
push eax
call fcn.1000ea80
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea eax, [esp + 0x78]
mov edx, dword [ecx]
lea ecx, [ebp + 0x45c]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 0x1009a734
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dcf0
push 0x1009a728
push str.webpage
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x128], eax
call fcn.1002dcf0
push str.width
push str.webpage
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x12c], eax
call fcn.1002dcf0
mov edi, dword [ebp + 0x128]
push str.height
add eax, edi
push str.webpage
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x130], eax
call fcn.1002dcf0
mov ecx, dword [ebp + 0x12c]
push str.MyLookUrl
add eax, ecx
push str.webpage
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x134], eax
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x168]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a0ca
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
push str.MyLookTitle
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x178]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a126
mov eax, dword [ebx + 4]
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
push str.MyShareUrl
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebp + 0x188]
mov ebx, ecx
push 1
push ebx
mov ecx, edx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a185
mov edi, dword [ebp + 0x18c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x18c]
mov dword [ebp + 0x190], ebx
add ebx, eax
mov byte [ebx], 0
push str.MyShareTitle
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov dword [esp + 0x10], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [ebp + 0x198]
mov ebx, ecx
push 1
push ebx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a1e7
mov edi, dword [esi + 4]
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x19c]
mov dword [ebp + 0x1a0], ebx
add ebx, eax
mov byte [ebx], 0
push str.MyAblumUrl
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x1a8]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a245
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
push str.MyAblumTitle
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x1b8]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a2a1
mov eax, dword [ebx + 4]
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
push str.AboutMeUrl
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebp + 0x1c8]
mov ebx, ecx
push 1
push ebx
mov ecx, edx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a300
mov edi, dword [ebp + 0x1cc]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x1cc]
mov dword [ebp + 0x1d0], ebx
add ebx, eax
mov byte [ebx], 0
push str.AboutMeTitle
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov dword [esp + 0x10], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [ebp + 0x1d8]
mov ebx, ecx
push 1
push ebx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a362
mov edi, dword [esi + 4]
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x1dc]
mov dword [ebp + 0x1e0], ebx
add ebx, eax
mov byte [ebx], 0
push str.ChangHeadUrl
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x1e8]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a3c0
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
push str.ChangHeadTitle
push str.webpage
lea ecx, [esp + 0x5c]
call fcn.1002dba0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
add ebp, 0x1f8
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, ebp
push ebx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x1000a417
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
mov byte [ebp], 0
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
je 0x1000a43e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1000a435
cmp al, 0xff
je 0x1000a435
dec al
mov byte [ecx], al
jmp 0x1000a43e
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], esi
cmp eax, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
je 0x1000a46f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1000a466
cmp al, 0xff
je 0x1000a466
dec al
mov byte [ecx], al
jmp 0x1000a46f
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0x494], 0
call fcn.1002d120
mov ecx, dword [esp + 0x48]
pop edi
cmp ecx, esi
pop esi
pop ebp
pop ebx
je 0x1000a4b4
mov al, byte [ecx - 1]
test al, al
je 0x1000a4aa
cmp al, 0xff
je 0x1000a4aa
dec al
mov byte [ecx - 1], al
jmp 0x1000a4b4
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x47c]
mov eax, 1
mov dword fs:[0], ecx
add esp, 0x488
ret