Function at 0x4071b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x42af4a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push ebp
push esi
lea esi, [ecx + 4]
mov dword [esp + 0x28], ecx
xor ebp, ebp
push edi
mov ecx, esi
mov dword [esp + 0x24], ebp
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x4071ec
xor edi, edi
jmp 0x4071f1
mov edi, dword [esi + 8]
add edi, eax
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov ebx, dword [esi + 4]
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov ecx, dword [esi + 4]
cmp ebx, ebp
jne 0x40720f
xor eax, eax
jmp 0x407213
mov eax, ebx
sub eax, ecx
cmp edi, ebp
jne 0x40721b
xor edi, edi
jmp 0x40721d
sub edi, ebx
push edi
push eax
mov ecx, 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__::erase_unsigned_int__unsigned_int_]
mov edi, 0x433bf8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x433bf8
mov ecx, 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_char_const___unsigned_int_]
push ebp
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [esp + 0x18], ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0x84], ebp
call fcn.00407a80
lea eax, [esp + 0x1c]
push eax
push 0x433be8
push 7
push ebp
push 0x433bd8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebp
jl 0x4072a7
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.ole32.dll_OleRun]
cmp eax, ebp
jl 0x40729d
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
push 0x433bc8
mov edx, dword [eax]
push eax
call dword [edx]
mov eax, dword [esp + 0x1c]
push eax
mov edx, dword [eax]
call dword [edx + 8]
push ebp
lea ecx, [esp + 0x1c]
call fcn.00408390
test al, al
je 0x4072d3
lea ecx, [esp + 0x18]
call fcn.00407a80
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
add esp, 0x78
ret
mov eax, dword [esp + 0x18]
cmp eax, ebp
jne 0x4072e9
push 0x80004003
call fcn.0042aab0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov esi, eax
call dword [ecx + 0x1c]
cmp eax, ebp
jge 0x407306
push 0x433bc8
push esi
push eax
call fcn.0042aabe
mov esi, dword [esp + 0x30]
cmp esi, ebp
jge 0x40732c
lea ecx, [esp + 0x18]
call fcn.00407a80
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
add esp, 0x78
ret
mov dword [esp + 0x20], ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x84], 1
call fcn.0042a2c0
test esi, esi
mov dword [esp + 0x34], ebp
jle 0x407645
mov word [esp + 0x6c], 3
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x18]
mov byte [esp + 0x84], 3
test eax, eax
jne 0x407372
push 0x80004003
call fcn.0042aab0
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004076c0
mov edx, dword [eax]
lea ecx, [esp + 0x20]
push edx
call fcn.00407730
lea ecx, [esp + 0x38]
call fcn.00407a80
mov ecx, dword [esp + 0x20]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
je 0x4073cb
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1c]
push eax
call fcn.004083c0
test eax, eax
jge 0x4073c7
cmp eax, 0x80004002
je 0x4073c7
push eax
call fcn.0042aab0
mov eax, dword [esp + 0x1c]
test eax, eax
mov byte [esp + 0x84], 4
je 0x407609
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
call dword [ecx + 0x78]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x84], 5
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
test eax, eax
je 0x4075f0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::MakeLower
push 0
push str.http:__
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Find_2
cmp eax, 0xffffffff
jne 0x40746e
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
call fcn.00407a80
lea eax, [esp + 0x6c]
mov byte [esp + 0x84], 2
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x407638
jmp 0x407632
mov edi, str.http:__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x2f
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Find_3
mov edx, eax
mov edi, str.http:__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.http:__
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
push ecx
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x88], 6
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x3c]
mov byte [esp + 0x84], 5
call sub.MFC42.DLL_CString::CString
mov dl, byte [esp + 0x13]
mov esi, dword [esp + 0x14]
push 0
lea ecx, [esp + 0x50]
mov byte [esp + 0x50], 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 edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0x54]
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 [esp + 0x2c]
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0x88], 7
lea esi, [eax + 0x14]
mov ecx, esi
call fcn.004079b0
test eax, eax
push 1
lea ecx, [esp + 0x50]
sete bl
mov byte [esp + 0x88], 5
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
test bl, bl
je 0x4075f0
mov dl, byte [esp + 0x13]
mov ebp, dword [esp + 0x14]
push 0
lea ecx, [esp + 0x60]
mov byte [esp + 0x60], 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 edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
lea ecx, [esp + 0x64]
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_]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x8c], 8
call fcn.00407760
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x88], 5
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 [esp + 0x14]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x34]
lea esi, [edx + 4]
mov ecx, 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__::append_char_const___unsigned_int_]
mov edi, 0x433bbc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x433bbc
mov ecx, 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__::append_char_const___unsigned_int_]
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x34]
inc eax
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
test eax, eax
mov byte [esp + 0x84], 3
je 0x40761b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x6c]
mov byte [esp + 0x84], 2
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x407638
push eax
call fcn.0042aab0
inc ebp
cmp ebp, esi
mov dword [esp + 0x34], ebp
jl 0x40734d
lea ecx, [esp + 0x40]
mov byte [esp + 0x84], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
mov byte [esp + 0x84], 0
test eax, eax
je 0x40766c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], 0xffffffff
test eax, eax
je 0x407685
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x78
ret