Function at 0x411890
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov eax, 0x3f28
call fcn.00477c10
mov eax, dword [0x4b0650]
xor eax, esp
mov dword [esp + 0x3f24], eax
push ebx
push ebp
push esi
mov esi, ecx
lea ebp, [esi + 0x8a8]
mov eax, 0x492aa0
mov edx, ebp
push edi
sub edx, eax
mov edi, 0x80004005
xor ebx, ebx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x4118c4
push 0x1044
lea eax, [esp + 0x2ef2]
push ebx
push eax
mov dword [esi + 0xa58c], ebx
mov dword [esi + 0xa590], ebx
mov word [esp + 0x2ef8], bx
call fcn.00477c40
push 0x1044
lea ecx, [esp + 0x64a]
push ebx
push ecx
mov word [esp + 0x650], bx
call fcn.00477c40
push 0x206
lea edx, [esp + 0x246]
push ebx
push edx
mov word [esp + 0x24c], bx
call fcn.00477c40
push 0x206
lea eax, [esp + 0x45a]
push ebx
push eax
mov word [esp + 0x460], bx
call fcn.00477c40
mov edx, dword [esi + 4]
push 0x409
push 0x823
lea ecx, [esp + 0x2f24]
push ecx
push 0x6a
push edx
call fcn.0040e380
mov ecx, dword [esi + 4]
add esp, 0x44
push 0x409
push 0x823
lea eax, [esp + 0x640]
push eax
push 0x6c
push ecx
call fcn.0040e380
lea edx, [esp + 0x2f00]
push edx
push str.szDownloadParm____s_
call fcn.0040de80
mov ecx, dword [esi + 4]
add esp, 0x1c
push 0x104
lea eax, [esp + 0x434]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x228]
push edx
lea eax, [esp + 0x434]
push eax
call fcn.0040df10
lea ecx, [esp + 0x230]
push ecx
lea edx, [esp + 0x2ef8]
push edx
lea eax, [esp + 0x648]
push eax
mov ecx, eax
push str._s_sVID_s
push ecx
call fcn.00401570
add esp, 0x1c
cmp byte [esi + 0xa589], bl
mov eax, 0x49598c
jne 0x411a03
mov eax, 0x495984
push eax
lea edx, [esi + 0x335c]
push edx
lea eax, [esi + 0x2d44]
push eax
lea ecx, [esi + 0x3974]
push ecx
lea edx, [esi + 0x2b3c]
push edx
lea eax, [esi + 0x3154]
push eax
lea ecx, [esp + 0x650]
push ecx
mov edx, ecx
push str._sTokenID_sLANGUAGE_sLocale_sFormat_sUUID_splatform_s
push edx
call fcn.00401570
lea eax, [esp + 0x65c]
push eax
push str._RetrieveDownloadUrl__szDownloadQueryUrl____s_
call fcn.0040de80
add esp, 0x2c
push ebx
push ebx
push ebx
push ebx
push str.Microsoft_Internet_Explorer
call dword [sym.imp.WININET.dll_InternetOpenW]
push 4
lea ecx, [esp + 0x20]
push ecx
push 0x4d
push eax
mov dword [esi + 0xa58c], eax
mov dword [esp + 0x2c], 1
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [esi + 0xa58c]
cmp eax, ebx
jne 0x411b0d
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebp
cmp eax, ebx
mov edi, eax
jle 0x411aa6
and edi, 0xffff
or edi, 0x80070000
push edi
push eax
push 0x496054
push 0x4927e4
call fcn.0040de80
add esp, 0x10
call ebp
push 0x206
lea edx, [esp + 0x26]
push ebx
push edx
mov ebp, eax
mov word [esp + 0x2c], bx
call fcn.00477c40
push ebp
push str._ERROR_RetrieveDownloadUrl____InternetOpenW_failed__ErrorCode___.8X
lea eax, [esp + 0x34]
push 0x104
push eax
call fcn.00477bdc
lea ecx, [esp + 0x3c]
push ecx
call fcn.00401030
add esp, 0x20
mov ecx, dword [esi + 0x694]
cmp ecx, ebx
je 0x411d4a
call fcn.004033e0
jmp 0x411d4a
push ebx
push SysReAllocString
push ebx
push ebx
lea edx, [esp + 0x648]
push edx
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
cmp eax, ebx
mov dword [esi + 0xa590], eax
jne 0x411c31
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebp
cmp eax, ebx
mov edi, eax
jle 0x411b4c
and edi, 0xffff
or edi, 0x80070000
push edi
push eax
push 0x495fa4
push 0x4927e4
call fcn.0040de80
add esp, 0x10
call ebp
push 0x1044
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1686]
push ebx
push eax
mov word [esp + 0x168c], bx
call fcn.00477c40
push 0x206
lea ecx, [esp + 0x32]
push ebx
push ecx
mov word [esp + 0x38], bx
call fcn.00477c40
add esp, 0x18
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push eax
push ebx
mov dword [esp + 0x20], 0x103
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
test eax, eax
je 0x411bf7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x638]
push ecx
push edx
lea eax, [esp + 0x28]
push eax
push str._ERROR_RetrieveDownloadUrl____InternetOpenUrlW_failed__RootCause___s__ErrorCode___.8X___szDownloadQueryUrl___s
lea ecx, [esp + 0x1690]
push 0x823
push ecx
call fcn.00477bdc
lea ecx, [esp + 0x1698]
add esp, 0x18
push ecx
call fcn.00401030
add esp, 4
jmp 0x411af5
call ebp
lea edx, [esp + 0x638]
push edx
push eax
push str._ERROR_RetrieveDownloadUrl____InternetOpenUrlW_failed__ErrorCode___.8X__szDownloadQueryUrl___s
lea eax, [esp + 0x168c]
push 0x823
push eax
call fcn.00477bdc
lea ecx, [esp + 0x1694]
add esp, 0x14
push ecx
call fcn.00401030
add esp, 4
jmp 0x411af5
push str._RetrieveDownloadUrl__InternetOpenUrlW_completed
call fcn.0040de80
push ebp
mov dword [esp + 0x18], ebx
call fcn.0040cfe0
add esp, 8
test al, al
je 0x411c53
xor edi, edi
jmp 0x411d3c
mov ecx, dword [esi + 0xa590]
lea edx, [esp + 0x10]
push edx
push 0x822
lea eax, [esp + 0x26d0]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x411d3c
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x411d3c
push 0x495d88
lea edx, [esp + 0x26cc]
push edx
mov byte [esp + eax + 0x26d0], bl
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
lea eax, [esp + 0x26c8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x411cb0
push 0x823
sub eax, edx
push ebp
add eax, 1
push eax
lea eax, [esp + 0x26d4]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
push ebp
push ebx
call sub.urlmon.dll_IsValidURL
test eax, eax
jne 0x411ce5
xor edi, edi
jmp 0x411d3c
push 0x1044
lea ecx, [esp + 0x1686]
push ebx
push ecx
mov word [esp + 0x168c], bx
call fcn.00477c40
push ebp
push str._ERROR_RetrieveDownloadUrl____Invalid_URL__m_szMainItemURL___s
lea edx, [esp + 0x1694]
push 0x823
push edx
call fcn.00477bdc
lea eax, [esp + 0x169c]
push eax
call fcn.00401030
mov ecx, dword [esi + 0x694]
add esp, 0x20
cmp ecx, ebx
je 0x411d37
call fcn.004033e0
mov edi, 0x80700003
push ebp
push str._RetrieveDownloadUrl__DownloadURL_:__s
call fcn.0040de80
add esp, 8
mov eax, dword [esi + 0xa590]
cmp eax, ebx
mov ebp, dword [sym.imp.WININET.dll_InternetCloseHandle]
je 0x411d63
push eax
call ebp
mov dword [esi + 0xa590], ebx
mov eax, dword [esi + 0xa58c]
cmp eax, ebx
je 0x411d76
push eax
call ebp
mov dword [esi + 0xa58c], ebx
push str.RetrieveDownloadUrl_end
mov dword [esi + 0xa594], edi
mov byte [esi + 0xa598], 1
call fcn.0040de80
mov ecx, dword [esp + 0x3f38]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00477bf8
add esp, 0x3f28
ret