Function at 0x4903f9
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 0x53661b
mov eax, dword fs:[0]
push eax
mov eax, 0x18b8
call fcn.0050ab90
mov eax, dword [0x591700]
xor eax, esp
mov dword [esp + 0x18b0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x591700]
xor eax, esp
push eax
lea eax, [esp + 0x18cc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x18dc]
test esi, esi
jne 0x49046e
cmp dword [0x59835c], esi
je 0x490467
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___get_cdn_file_size__url_is_empty.
push 1
push dword [0x59835c]
call fcn.00481b57
add esp, 0x10
xor eax, eax
jmp 0x4909f1
xor eax, eax
xor edi, edi
push 0x3fe
mov word [esp + 0xc8], ax
lea eax, [esp + 0xca]
push edi
push eax
call fcn.00508bf0
add esp, 0xc
lea eax, [esp + 0x4c4]
push 0x1400
push edi
push eax
call fcn.00508bf0
add esp, 0xc
lea eax, [esp + 0x44]
push 0x38
push edi
push eax
call fcn.00508bf0
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.0049033a
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.00492af0
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 0x49094b
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 [0x59835c], 0
je 0x4905de
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 [0x59835c]
call fcn.00481b57
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 0x490624
cmp dword [0x59835c], ebx
je 0x490919
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 [0x59835c]
call fcn.00481b57
add esp, 0x14
jmp 0x490919
lea edx, [esp + 0x7c]
lea ecx, [esp + 0xac]
call fcn.0048250b
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 0x4906cf
cmp dword [0x59835c], eax
je 0x4908ec
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 [0x59835c]
call fcn.00481b57
add esp, 0x18
jmp 0x4908ec
push 0x100
push edi
push edi
push str.HTTP_1.1
push dword [esp + 0x7c]
push 0x57297c
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov ebx, eax
test ebx, ebx
jne 0x490720
cmp dword [0x59835c], eax
je 0x4908ec
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 0x4906ba
push 0x572a28
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.004543ac
push 0x572a8c
call fcn.00450dae
pop ecx
push eax
push 0x572a8c
lea ecx, [esp + 0x9c]
call fcn.004543ac
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 0x4907dd
cmp dword [0x59835c], eax
je 0x4908dd
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 [0x59835c]
call fcn.00481b57
add esp, 0x18
jmp 0x4908dd
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 0x49081d
cmp dword [0x59835c], eax
je 0x4908dd
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 0x4907c8
push edi
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x49085b
cmp dword [0x59835c], eax
je 0x4908dd
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 0x4907c8
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 0x49089b
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x49089b
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
call fcn.0049290f
mov ecx, eax
call fcn.0049299f
jmp 0x4908dd
cmp dword [0x59835c], 0
je 0x4908dd
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 [0x59835c]
call fcn.00481b57
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 0x490912
push eax
call esi
test ebx, ebx
je 0x490919
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 0x49058b
mov esi, dword [esp + 0x20]
cmp dword [0x59835c], 0
je 0x490974
push dword [esp + 0x24]
call ebp
push eax
push str._INFO___d___get_cdn_file_size__content_size_count__d_
push 3
push dword [0x59835c]
call fcn.00481b57
mov esi, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [esi]
mov ebx, edi
mov dword [esp + 0x18], eax
jmp 0x4909cf
test edi, edi
je 0x49098f
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x14]
sar ecx, 2
cmp edi, ecx
jae 0x4909c2
mov edi, dword [eax + 0x18]
sub edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
sar edi, 2
cmp dword [0x59835c], 0
je 0x4909c2
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 [0x59835c]
call fcn.00481b57
mov esi, dword [esp + 0x38]
add esp, 0x18
lea ecx, [esp + 0x18]
call fcn.0044ddff
mov eax, dword [esp + 0x18]
cmp esi, eax
jne 0x49097e
lea ecx, [esp + 0x20]
call fcn.00492976
lea ecx, [esp + 0x28]
call fcn.004928ee
push dword [esp + 0x28]
call fcn.00504070
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.00504075
add esp, 0x18c4
ret 4