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

Disassembly:
push 0xffffffffffffffff
push 0x42ac1a
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 0x40746c
xor edi, edi
jmp 0x407471
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 0x40748f
xor eax, eax
jmp 0x407493
mov eax, ebx
sub eax, ecx
cmp edi, ebp
jne 0x40749b
xor edi, edi
jmp 0x40749d
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, 0x434bf8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x434bf8
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.004079b0
lea eax, [esp + 0x1c]
push eax
push 0x434be8
push 7
push ebp
push 0x434bd8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebp
jl 0x407527
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.ole32.dll_OleRun]
cmp eax, ebp
jl 0x40751d
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
push 0x434bc8
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.004088a0
test al, al
je 0x407553
lea ecx, [esp + 0x18]
call fcn.004079b0
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 0x407569
push 0x80004003
call fcn.0042a5f0
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 0x407586
push 0x434bc8
push esi
push eax
call fcn.0042a5fe
mov esi, dword [esp + 0x30]
cmp esi, ebp
jge 0x4075ac
lea ecx, [esp + 0x18]
call fcn.004079b0
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.00429e00
test esi, esi
mov dword [esp + 0x34], ebp
jle 0x4078c5
mov word [esp + 0x6c], 3
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x18]
mov byte [esp + 0x84], 3
test eax, eax
jne 0x4075f2
push 0x80004003
call fcn.0042a5f0
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00407940
mov edx, dword [eax]
lea ecx, [esp + 0x20]
push edx
call fcn.004079c0
lea ecx, [esp + 0x38]
call fcn.004079b0
mov ecx, dword [esp + 0x20]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
je 0x40764b
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1c]
push eax
call fcn.004088d0
test eax, eax
jge 0x407647
cmp eax, 0x80004002
je 0x407647
push eax
call fcn.0042a5f0
mov eax, dword [esp + 0x1c]
test eax, eax
mov byte [esp + 0x84], 4
je 0x407889
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 0x407870
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 0x4076ee
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
call fcn.004079b0
lea eax, [esp + 0x6c]
mov byte [esp + 0x84], 2
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x4078b8
jmp 0x4078b2
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.00407c80
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 0x407870
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.004079f0
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, 0x434bbc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x434bbc
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 0x40789b
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 0x4078b8
push eax
call fcn.0042a5f0
inc ebp
cmp ebp, esi
mov dword [esp + 0x34], ebp
jl 0x4075cd
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 0x4078ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], 0xffffffff
test eax, eax
je 0x407905
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