Function at 0x42e5e0
Capabilities:
Access peb ldr_data
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a5d60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8f8
mov eax, dword [0x4cbba0]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
xor eax, ebp
push ebx
mov dword [esp + 0x8f4], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
push 0x19000
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call sub.MFC71.DLL_operator_new
push str.config_clienttype.ini
lea ecx, [esp + 0x14]
mov ebx, eax
push 0x4cbdc0
mov dword [edi], 0
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], 0x19000
mov dword [esp + 0x24], 0
mov dword [esi], 0
call fcn.004010a0
add esp, 0x10
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push 0
push str.urlcount
push str.partner
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], esi
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
xor eax, eax
test esi, esi
jle 0x42ec83
mov dword [esp + 0xc], eax
jmp 0x42e6c0
push eax
lea edx, [esp + 0x7c]
push str.partnercookieurl_d
push edx
call dword [sym.imp.MSVCR71.dll_sprintf]
push str.config_clienttype.ini
lea eax, [esp + 0x44]
push 0x4cbdc0
push eax
call fcn.004010a0
add esp, 0x18
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push 0x800
lea ecx, [esp + 0x100]
push ecx
push 0x4acbb2
lea edx, [esp + 0x88]
push edx
push str.partner
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x34]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea eax, [esp + 0xf8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e730
sub eax, edx
mov dword [esp + 0x3c], eax
je 0x42e85f
xor eax, eax
mov ecx, 0x6400
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
push ebx
push str.operchap
lea ecx, [esp + 0x104]
push ecx
mov dword [esp + 0x28], 0x19000
call dword [sym.imp.WININET.dll_InternetGetCookieA]
test eax, eax
je 0x42e85f
mov edi, dword [sym.imp.MSVCR71.dll_strstr]
push 0x4b1cf4
push ebx
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42e85f
cmp byte [esi - 1], 0x66
jne 0x42e7ae
push 0x4b1cf4
inc esi
push esi
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42e85f
mov edi, dword [sym.imp.MSVCR71.dll_strchr]
push 0x3b
push esi
call edi
push 0x3d
push esi
mov ebx, eax
call edi
mov esi, eax
add esp, 0x10
xor eax, eax
inc esi
test ebx, ebx
mov ecx, 0x200
lea edi, [esp + 0xf8]
rep stosd dword es:[edi], eax
je 0x42e7f5
mov ecx, ebx
sub ecx, esi
mov edx, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42e80a
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42e800
lea eax, [esp + 0xf8]
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
push str.subchap
push edx
mov dword [ecx], eax
mov dword [esp + 0x20], 1
call dword [sym.imp.MSVCR71.dll_strstr]
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42e85b
cmp byte [esi - 1], 0x66
jne 0x42e879
push str.subchap
inc esi
push esi
call dword [sym.imp.MSVCR71.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
jne 0x42e879
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x42e6c0
jmp 0x42ec76
mov ebx, dword [sym.imp.MSVCR71.dll_strchr]
push 0x3b
push esi
call ebx
push 0x3d
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x108]
add esp, 0x10
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
inc esi
test ecx, ecx
je 0x42e8c4
sub ecx, esi
mov eax, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42e8da
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42e8d0
lea ecx, [esp + 0xf8]
push ecx
call dword [sym.imp.MSVCR71.dll_atoi]
mov edx, dword [esp + 0x3c]
mov edi, dword [sym.imp.MSVCR71.dll_strstr]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
push str.menuname
push eax
mov dword [esp + 0x20], 1
call edi
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42ec72
cmp byte [esi - 1], 0x66
jne 0x42e931
push str.menuname
inc esi
push esi
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
push 0x3b
push esi
call ebx
push 0x3d
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x108]
add esp, 0x10
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
inc esi
test ecx, ecx
je 0x42e976
sub ecx, esi
mov edx, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42e98b
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42e981
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0049ad90
add esp, 8
mov ecx, eax
mov dword [esp + 0x90c], 0
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov ecx, dword [esp + 0x1c]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x40]
mov dword [esp + 0x90c], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCR71.dll_strstr]
push str.menuurl
push edx
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
cmp byte [esi - 1], 0x66
jne 0x42ea0e
push str.menuurl
inc esi
push esi
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
push 0x3b
push esi
call ebx
push 0x3d
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x108]
add esp, 0x10
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
inc esi
test ecx, ecx
je 0x42ea53
sub ecx, esi
mov eax, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42ea6a
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42ea60
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.0049ad90
add esp, 8
mov ecx, eax
mov dword [esp + 0x90c], 1
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov ecx, dword [esp + 0x2c]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x40]
mov dword [esp + 0x90c], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCR71.dll_strstr]
push str.myurl
push eax
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
cmp byte [esi - 1], 0x66
jne 0x42eaed
push str.myurl
inc esi
push esi
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
push 0x3b
push esi
call ebx
push 0x3d
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x108]
add esp, 0x10
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
inc esi
test ecx, ecx
je 0x42eb32
sub ecx, esi
mov edx, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42eb4a
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42eb40
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0049ad90
add esp, 8
mov ecx, eax
mov dword [esp + 0x90c], 2
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov ecx, dword [esp + 0x20]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x40]
mov dword [esp + 0x90c], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCR71.dll_strstr]
push str.channelurl
push edx
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
cmp byte [esi - 1], 0x66
jne 0x42ebcd
push str.channelurl
inc esi
push esi
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x42ec72
push 0x3b
push esi
call ebx
push 0x3d
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x108]
add esp, 0x10
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
inc esi
test ecx, ecx
je 0x42ec12
sub ecx, esi
mov eax, ecx
shr ecx, 2
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42ec2a
lea edx, [esp + 0xf8]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42ec20
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + 0x60]
push edx
call fcn.0049ad90
add esp, 8
mov ecx, eax
mov dword [esp + 0x90c], 3
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov ecx, dword [esp + 0x24]
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_2]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x90c], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ebx, dword [esp + 0x10]
push ebx
call sub.MFC71.DLL_operator_delete
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x904]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x8fc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a17d1
mov esp, ebp
pop ebp
ret