Function at 0x4075a0
Capabilities:
Create http request
Encode data using xor
Read data from internet
Receive data

Disassembly:
push ebp
lea ebp, [esp - 0x4e8]
sub esp, 0x4e8
push 0xffffffffffffffff
push 0x414436
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x41e040]
xor eax, ebp
mov dword [ebp + 0x4e4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], ecx
mov esi, 0x4180a8
lea edi, [ebp - 0x30]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
push 0x32
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x37
xor byte [ebp + ecx - 0x30], dl
inc ecx
cmp ecx, 0xd
jl 0x4075fb
push ebx
push ebx
push ebx
push 1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
jne 0x407675
push 0xa
pop ecx
mov esi, 0x418890
lea edi, [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
push 0x32
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ebx
div esi
add dl, 0x37
xor byte [ebp + ebx - 0x88], dl
inc ebx
cmp ebx, 0x2b
jl 0x40763c
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea edx, [ebp - 0x88]
call fcn.0040a541
push 0x40a6d2
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp 0x407854
mov ecx, dword [ebp - 0x14]
mov edx, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x407682
mov edx, dword [ecx]
mov eax, dword [ecx + 0x10]
add eax, edx
cmp dword [ecx + 0x14], 0xf
jbe 0x40768f
mov ecx, dword [ecx]
push ecx
push eax
push ecx
lea ecx, [ebp + 0xc8]
call fcn.0040a87c
push ebx
push 0x80000000
mov dword [ebp - 4], ebx
lea eax, [ebp + 0xc8]
cmp dword [ebp + 0xdc], 7
push ebx
cmova eax, dword [ebp + 0xc8]
push ebx
push eax
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
jne 0x40771c
push 6
pop ecx
mov esi, 0x417e18
lea edi, [ebp - 0x50]
rep movsd dword es:[edi], dword [esi]
push 0x32
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ebx
div esi
add dl, 0x37
xor byte [ebp + ebx - 0x50], dl
inc ebx
cmp ebx, 0x1b
jl 0x4076e0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea edx, [ebp - 0x50]
call fcn.0040a541
push 0x40a6d2
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x407849
push 0xb0
lea eax, [ebp]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp], 0x4184e0
lea ecx, [ebp + 0x68]
mov dword [ebp + 0x10], 0x418218
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push ebx
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp]
mov dword [ebp - 0x18], 1
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
mov dword [ebp - 4], 2
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov dword [ebp + eax], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 4], eax
lea ecx, [ebp + 0x18]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp + 0x18], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov byte [ebp - 4], 3
jmp 0x4077cb
mov ecx, dword [ebp + 0xe0]
test ecx, ecx
je 0x407879
cmp ecx, 0x400
jae 0x407953
mov byte [ebp + ecx + 0xe4], bl
lea edx, [ebp + 0xe4]
lea ecx, [ebp + 0x10]
call fcn.0040a541
lea eax, [ebp + 0xe0]
push eax
push 0x3ff
lea eax, [ebp + 0xe4]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x40779c
push 0xa
pop ecx
mov esi, 0x418474
lea edi, [ebp - 0x5c]
rep movsd dword es:[edi], dword [esi]
push 0x32
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ebx
div esi
add dl, 0x37
xor byte [ebp + ebx - 0x5c], dl
inc ebx
cmp ebx, 0x29
jl 0x4077fa
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea edx, [ebp - 0x5c]
call fcn.0040a541
push 0x40a6d2
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push dword [ebp - 0x14]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x1c]
call esi
lea ecx, [ebp + 0x68]
call fcn.0040825d
lea ecx, [ebp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp + 0xc8]
call fcn.00409c13
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4e4]
xor ecx, ebp
call fcn.004117e8
add ebp, 0x4e8
leave
ret
test eax, eax
je 0x4077e9
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push edi
call esi
lea eax, [ebp + 0xb0]
push eax
lea ecx, [ebp + 0x18]
call fcn.00409972
sub esp, 0x10
mov byte [ebp - 4], 5
mov ecx, esp
lea edx, [ebp + 0xb0]
push ebx
push 1
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], ebx
call fcn.0040a97a
mov ecx, dword [ebp - 0x20]
add esp, 0x30
call fcn.00409313
lea ecx, [ebp + 0xb0]
call fcn.00403032
lea ecx, [ebp + 0x68]
call fcn.0040825d
lea ecx, [ebp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp + 0xc8]
call fcn.00409c13
mov al, 1
jmp 0x407856
call fcn.00411cb4
int3