Function at 0x49471a
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Resolve function by parsing pe exports
Set http header

Disassembly:
push 0xffffffffffffffff
push 0x53a90b
mov eax, dword fs:[0]
push eax
mov eax, 0x18b8
call fcn.0050ec70
mov eax, dword [0x596700]
xor eax, esp
mov dword [esp + 0x18b0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x596700]
xor eax, esp
push eax
lea eax, [esp + 0x18cc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x18dc]
test esi, esi
jne 0x49478f
cmp dword [0x59d50c], esi
je 0x494788
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___get_cdn_file_size__url_is_empty.
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x10
xor eax, eax
jmp 0x494d12
xor eax, eax
xor edi, edi
push 0x3fe
mov word [esp + 0xc8], ax
lea eax, [esp + 0xca]
push edi
push eax
call fcn.0050cd80
add esp, 0xc
lea eax, [esp + 0x4c4]
push 0x1400
push edi
push eax
call fcn.0050cd80
add esp, 0xc
lea eax, [esp + 0x44]
push 0x38
push edi
push eax
call fcn.0050cd80
lea eax, [esp + 0x14d0]
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x80], eax
add esp, 0xc
lea eax, [esp + 0x4c4]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xcc4]
mov dword [esp + 0x64], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x10c4]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x8c4]
mov dword [esp + 0x5c], eax
mov eax, 0x200
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x40]
push eax
push SysReAllocString
push edi
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call fcn.0044de39
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x18d4], edi
push eax
push dword [esp + 0x54]
call fcn.0049465b
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.00496db5
mov esi, eax
mov dword [esp + 0x20], esi
mov byte [esp + 0x18d4], 1
mov edx, dword [esp + 0x28]
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [edx]
mov dword [esp + 0x18], ecx
cmp edx, ecx
je 0x494c6c
lea esi, [ecx + 0x10]
push dword [esi]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x80]
call fcn.0044ea5a
mov byte [esp + 0x18d4], 2
cmp dword [0x59d50c], 0
je 0x4948ff
cmp dword [esp + 0x90], 0x10
lea eax, [esp + 0x7c]
cmovae eax, dword [esp + 0x7c]
push eax
call ebp
push eax
push str._INFO___d___get_cdn_file_size__host_ip__s_
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x14
push edi
push edi
push edi
push 1
push edi
mov ebx, edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x494945
cmp dword [0x59d50c], ebx
je 0x494c3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_open_failed__err__d_.
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x14
jmp 0x494c3a
lea edx, [esp + 0x7c]
lea ecx, [esp + 0xac]
call fcn.004868c5
push 0xa
push 6
push 6
push 0xa
push dword [esp + 0x40]
mov byte [esp + 0x18e8], 3
mov dword [esp + 0x50], 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
cmp dword [esp + 0xc0], 8
lea eax, [esp + 0xac]
push edi
push dword [esp + 0x5c]
cmovae eax, dword [esp + 0xb4]
push eax
push dword [esp + 0x3c]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4949f0
cmp dword [0x59d50c], eax
je 0x494c0d
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_connect_failed__ip__s___err__d_.
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x18
jmp 0x494c0d
push 0x100
push edi
push edi
push str.HTTP_1.1
push dword [esp + 0x7c]
push 0x576fec
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov ebx, eax
test ebx, ebx
jne 0x494a41
cmp dword [0x59d50c], eax
je 0x494c0d
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_open_request_failed__ip__s___err__d_.
jmp 0x4949db
push 0x577098
lea ecx, [esp + 0x98]
call fcn.00450dd2
mov byte [esp + 0x18d4], 4
push dword [esp + 0x50]
call fcn.00450dae
pop ecx
push eax
push dword [esp + 0x54]
lea ecx, [esp + 0x9c]
call fcn.0045439e
push 0x5770fc
call fcn.00450dae
pop ecx
push eax
push 0x5770fc
lea ecx, [esp + 0x9c]
call fcn.0045439e
cmp dword [esp + 0xa8], 8
lea eax, [esp + 0x94]
push 0x20000000
cmovae eax, dword [esp + 0x98]
push 0xffffffffffffffff
push eax
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x494afe
cmp dword [0x59d50c], eax
je 0x494bfe
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_add_request_headers_failed__ip__s___err__d_.
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x18
jmp 0x494bfe
push edi
push edi
push edi
push edi
push edi
push edi
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x494b3e
cmp dword [0x59d50c], eax
je 0x494bfe
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_send_request_failed__ip__s___err__d_.
jmp 0x494ae9
push edi
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x494b7c
cmp dword [0x59d50c], eax
je 0x494bfe
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_receive_response_failed__ip__s___err__d_.
jmp 0x494ae9
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x24]
push eax
push edi
push 0x20000005
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x494bbc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x494bbc
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
call fcn.00496bd4
mov ecx, eax
call fcn.00496c64
jmp 0x494bfe
cmp dword [0x59d50c], 0
je 0x494bfe
cmp dword [esp + 0x90], 0x10
lea esi, [esp + 0x7c]
cmovae esi, dword [esp + 0x7c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
push esi
call ebp
push eax
push str._ERROR___d___get_cdn_file_size__win_http_query_headers_failed__ip__s___size__d___index__d___err__d_.
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x20
push edi
push 1
lea ecx, [esp + 0x9c]
call fcn.00451108
push edi
push 1
lea ecx, [esp + 0xb4]
call fcn.00451108
push dword [esp + 0x30]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x494c33
push eax
call esi
test ebx, ebx
je 0x494c3a
push ebx
call esi
push edi
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x18dc], 1
call fcn.0044ea87
lea ecx, [esp + 0x18]
call fcn.0044ddff
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x28], ecx
jne 0x4948ac
mov esi, dword [esp + 0x20]
cmp dword [0x59d50c], 0
je 0x494c95
push dword [esp + 0x24]
call ebp
push eax
push str._INFO___d___get_cdn_file_size__content_size_count__d_
push 3
push dword [0x59d50c]
call fcn.00485f11
mov esi, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [esi]
mov ebx, edi
mov dword [esp + 0x18], eax
jmp 0x494cf0
test edi, edi
je 0x494cb0
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x14]
sar ecx, 2
cmp edi, ecx
jae 0x494ce3
mov edi, dword [eax + 0x18]
sub edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
sar edi, 2
cmp dword [0x59d50c], 0
je 0x494ce3
push edi
push ebx
call ebp
push eax
push str._INFO___d___get_cdn_file_size__ulfs_max__ld___count__d_
push 3
push dword [0x59d50c]
call fcn.00485f11
mov esi, dword [esp + 0x38]
add esp, 0x18
lea ecx, [esp + 0x18]
call fcn.0044ddff
mov eax, dword [esp + 0x18]
cmp esi, eax
jne 0x494c9f
lea ecx, [esp + 0x20]
call fcn.00496c3b
lea ecx, [esp + 0x28]
call fcn.00496bb3
push dword [esp + 0x28]
call fcn.0050815e
pop ecx
mov eax, ebx
mov ecx, dword [esp + 0x18cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18b0]
xor ecx, esp
call fcn.00508163
add esp, 0x18c4
ret 4