Function at 0x408542
Capabilities:
Connect to http server
Create http request
Parse url
Query remote server for available data
Read data from internet
Receive data
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x424fca
mov eax, dword fs:[0]
push eax
sub esp, 0x1b0
mov eax, dword [0x4342ac]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push esi
push edi
mov eax, dword [0x4342ac]
xor eax, esp
push eax
lea eax, [esp + 0x1c0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov ebx, ecx
cmp byte [ebx + 0x2d], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
je 0x4085a4
mov eax, dword [ebx]
call dword [eax + 0x10]
push 0x3c
pop edi
push edi
xor esi, esi
lea eax, [esp + 0x4c]
push esi
push eax
mov byte [ebx + 0x2d], 1
call sub.MSVCR80.dll_memset
or word [esp + 0x6c], 0xffff
or eax, 0xffffffff
add esp, 0xc
lea ecx, [esp + 0xd8]
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0x1cc], esi
call fcn.00408f4c
lea ecx, [esp + 0xf4]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [esp + 0x110]
mov byte [esp + 0x1c8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [esp + 0x1c8], 2
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
jae 0x408644
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x48]
push ecx
push esi
push dword [esp + 0xf4]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x4086cb
lea ecx, [esp + 0x110]
mov byte [ebx + 0x2d], 0
mov byte [ebx + 0x2c], 1
mov byte [esp + 0x1c8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x1c8], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [esp + 0x1c8], 0xffffffff
lea ecx, [esp + 0xd8]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor al, al
mov ecx, dword [esp + 0x1c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.00411db3
mov esp, ebp
pop ebp
ret 0xc
push dword [esp + 0x58]
lea ecx, [esp + 0x168]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x1c8], 3
push dword [esp + 0x5c]
lea ecx, [esp + 0x184]
push esi
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1cc], 4
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x180]
mov byte [esp + 0x1c8], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c8], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push dword [esp + 0x74]
lea ecx, [esp + 0x168]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x1c8], 5
push dword [esp + 0x78]
lea ecx, [esp + 0x184]
push esi
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [esp + 0x114]
mov byte [esp + 0x1cc], 6
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x180]
mov byte [esp + 0x1c8], 5
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c8], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push esi
push esi
push esi
push esi
push 0x42c150
call dword [sym.imp.WININET.dll_InternetOpenW]
cmp eax, esi
mov dword [ebx + 0x30], eax
je 0x40865c
push 4
lea ecx, [esp + 0x2c]
push ecx
push 0x2d
push eax
mov dword [esp + 0x38], ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
je 0x40865c
push 0x408f49
push dword [ebx + 0x30]
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
cmp dword [esp + 0x10c], 8
mov eax, dword [esp + 0xf8]
jae 0x408803
lea eax, [esp + 0xf8]
push esi
push esi
push 3
push esi
push esi
push dword [esp + 0x74]
push eax
push dword [ebx + 0x30]
call dword [sym.imp.WININET.dll_InternetConnectW]
cmp eax, esi
mov dword [ebx + 0x34], eax
je 0x40865c
cmp dword [esp + 0x54], 4
jne 0x408830
mov edx, 0x800000
jmp 0x408832
xor edx, edx
cmp dword [esp + 0x128], 8
mov ecx, dword [esp + 0x114]
jae 0x40884a
lea ecx, [esp + 0x114]
push esi
push edx
push esi
push esi
push esi
push ecx
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
cmp eax, esi
mov dword [ebx + 0x38], eax
je 0x40865c
lea ecx, [esp + 0x148]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c8], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0x1c8], 8
push dword [ebx + 0x40]
lea eax, [esp + 0x1a0]
push eax
call fcn.00407871
lea ecx, [esp + 0xbc]
mov byte [esp + 0x1c8], 9
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov edi, dword [esp + 0x18]
lea eax, [esp + 0xbc]
push eax
mov byte [esp + 0x1cc], 0xa
call fcn.00408f4c
lea ecx, [esp + 0x12c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [esp + 0x12c]
mov byte [esp + 0x1c8], 0xb
mov edi, dword [esp + 0x1c]
push eax
call fcn.00408f4c
lea ecx, [esp + 0x180]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [esp + 0x180]
push eax
lea edi, [esp + 0x168]
mov byte [esp + 0x1cc], 0xc
call fcn.00408f4c
push str.User_Agent:_Adobe_Log_Transport_r_n
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1cc], 0xd
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x84]
mov byte [esp + 0x1c8], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
cmp eax, esi
mov edi, 0x42c24c
jbe 0x408a0d
push str.ulog:
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [esp + 0xbc]
push ecx
push eax
lea eax, [esp + 0xa8]
push eax
mov byte [esp + 0x1d4], 0xe
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x1d4], 0xf
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0xc
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1cc], 0x10
call dword [0x4272ac]
lea ecx, [esp + 0x84]
mov byte [esp + 0x1c8], 0xf
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1c8], 0xe
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c8], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x14], esi
jbe 0x408ab8
push str.crlog:
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [esp + 0x12c]
push ecx
push eax
lea eax, [esp + 0xa8]
push eax
mov byte [esp + 0x1d4], 0x11
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x1d4], 0x12
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0xc
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1cc], 0x13
call dword [0x4272ac]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c8], 0x12
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1c8], 0x11
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x84]
mov byte [esp + 0x1c8], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.Content_Type:_multipart_form_data__boundaryxxxxx_r_n
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1cc], 0x14
call dword [0x4272ac]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c8], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.Content_Length:_0
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1cc], 0x15
call dword [0x4272ac]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c8], 0xc
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x180]
mov byte [esp + 0x1c8], 0xb
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x12c]
mov byte [esp + 0x1c8], 0xa
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xbc]
mov byte [esp + 0x1c8], 9
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x19c]
mov byte [esp + 0x1c8], 8
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c8], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0x160], 8
mov eax, dword [esp + 0x14c]
jae 0x408ba7
lea eax, [esp + 0x14c]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [esp + 0x164]
push eax
push dword [ebx + 0x38]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x408c26
mov byte [ebx + 0x2d], al
mov byte [ebx + 0x2c], 1
xor bl, bl
lea ecx, [esp + 0x148]
mov byte [esp + 0x1c8], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x110]
mov byte [esp + 0x1c8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x1c8], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [esp + 0x1c8], 0xffffffff
lea ecx, [esp + 0xd8]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, bl
jmp 0x4086a5
push esi
lea eax, [esp + 0x20]
push eax
push esi
push 0x16
push dword [ebx + 0x38]
mov dword [esp + 0x30], esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, dword [esp + 0x1c]
cmp eax, esi
jbe 0x408ea7
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00411dae
pop ecx
xor esi, esi
push esi
lea ecx, [esp + 0x20]
push ecx
push eax
push 0x16
push dword [ebx + 0x38]
mov dword [esp + 0x2c], eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
push dword [esp + 0x18]
lea ecx, [esp + 0xc0]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push dword [esp + 0x18]
mov byte [esp + 0x1cc], 0x16
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x408e78
push esi
push edi
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
push eax
push esi
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push esi
push 0x42c34c
lea ecx, [esp + 0x134]
mov byte [esp + 0x1d0], 0x17
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
cmp eax, 0xffffffff
je 0x408dfb
push esi
push 0x42c34c
lea ecx, [esp + 0x134]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
push eax
push esi
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x138]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
lea esi, [esp + 0x180]
mov byte [esp + 0x1c8], 0x18
call fcn.00407720
mov eax, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
push dword [eax]
lea ecx, [esp + 0x130]
push 0
push 0x42c34c
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
inc eax
push eax
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x138]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
lea esi, [esp + 0x164]
mov byte [esp + 0x1c8], 0x19
call fcn.00407720
mov edx, esi
lea ecx, [esp + 0x2c]
call fcn.00409b60
mov esi, eax
lea edx, [esp + 0x180]
lea ecx, [esp + 0x19c]
mov byte [esp + 0x1c8], 0x1a
call fcn.00409b60
push esi
push ecx
push eax
lea esi, [ebx + 4]
mov byte [esp + 0x1d4], 0x1b
call fcn.00408fe2
pop ecx
mov ecx, eax
call dword [0x42715c]
lea ecx, [esp + 0x19c]
mov byte [esp + 0x1c8], 0x1a
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1c8], 0x19
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c8], 0x18
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x180]
mov byte [esp + 0x1c8], 0x17
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor esi, esi
mov eax, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
push dword [eax]
lea ecx, [esp + 0xc0]
push esi
push edi
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
inc eax
inc eax
push eax
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1cc], 0x1c
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x19c]
mov byte [esp + 0x1c8], 0x17
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push esi
push edi
lea ecx, [esp + 0xc4]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
lea ecx, [esp + 0x12c]
mov byte [esp + 0x1c8], 0x16
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push esi
push edi
lea ecx, [esp + 0xc4]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::find_wchar_t_const___unsigned_int_const]
cmp eax, 0xffffffff
lea ecx, [esp + 0xbc]
jne 0x408c9d
mov byte [esp + 0x1c8], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor esi, esi
mov dword [esp + 0x20], esi
push esi
push esi
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0x38]
mov dword [esp + 0x24], esi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x408f31
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.00411dae
mov edi, eax
cmp edi, esi
pop ecx
je 0x408f2d
mov eax, dword [esp + 0x14]
inc eax
push eax
push esi
push edi
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
push edi
push dword [ebx + 0x38]
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, esi
mov dword [esp + 0x18], eax
jne 0x408f0a
mov dword [esp + 0x14], esi
jmp 0x408f1e
cmp dword [esp + 0x14], esi
jbe 0x408f1e
push dword [esp + 0x14]
lea ecx, [ebx + 0x10]
push edi
call dword [sym.imp.MSVCP80.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_]
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
cmp dword [esp + 0x18], esi
pop ecx
ja 0x408eab
jmp 0x408f35
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
cmp dword [esp + 0x18], esi
mov byte [ebx + 0x2d], 0
mov byte [ebx + 0x2c], 1
setne bl
jmp 0x408bcb