Function at 0x48ec41
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 0x5349bf
mov eax, dword fs:[0]
push eax
mov eax, 0x18b8
call fcn.00509210
mov eax, dword [0x58e700]
xor eax, esp
mov dword [esp + 0x18b0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58e700]
xor eax, esp
push eax
lea eax, [esp + 0x18cc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x18dc]
test esi, esi
jne 0x48ecb6
cmp dword [0x5952dc], esi
je 0x48ecaf
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___get_cdn_file_size__url_is_empty.
push 1
push dword [0x5952dc]
call fcn.00480395
add esp, 0x10
xor eax, eax
jmp 0x48f239
xor eax, eax
xor edi, edi
push 0x3fe
mov word [esp + 0xc8], ax
lea eax, [esp + 0xca]
push edi
push eax
call fcn.00507270
add esp, 0xc
lea eax, [esp + 0x4c4]
push 0x1400
push edi
push eax
call fcn.00507270
add esp, 0xc
lea eax, [esp + 0x44]
push 0x38
push edi
push eax
call fcn.00507270
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.0048eb82
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.004912f7
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 0x48f193
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 [0x5952dc], 0
je 0x48ee26
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 [0x5952dc]
call fcn.00480395
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 0x48ee6c
cmp dword [0x5952dc], ebx
je 0x48f161
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 [0x5952dc]
call fcn.00480395
add esp, 0x14
jmp 0x48f161
lea edx, [esp + 0x7c]
lea ecx, [esp + 0xac]
call fcn.00480d49
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 0x48ef17
cmp dword [0x5952dc], eax
je 0x48f134
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 [0x5952dc]
call fcn.00480395
add esp, 0x18
jmp 0x48f134
push 0x100
push edi
push edi
push str.HTTP_1.1
push dword [esp + 0x7c]
push 0x57062c
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov ebx, eax
test ebx, ebx
jne 0x48ef68
cmp dword [0x5952dc], eax
je 0x48f134
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 0x48ef02
push 0x57068c
lea ecx, [esp + 0x98]
call fcn.00450d89
mov byte [esp + 0x18d4], 4
push dword [esp + 0x50]
call fcn.00450d65
pop ecx
push eax
push dword [esp + 0x54]
lea ecx, [esp + 0x9c]
call fcn.00453f7f
push 0x570754
call fcn.00450d65
pop ecx
push eax
push 0x570754
lea ecx, [esp + 0x9c]
call fcn.00453f7f
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 0x48f025
cmp dword [0x5952dc], eax
je 0x48f125
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 [0x5952dc]
call fcn.00480395
add esp, 0x18
jmp 0x48f125
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 0x48f065
cmp dword [0x5952dc], eax
je 0x48f125
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 0x48f010
push edi
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x48f0a3
cmp dword [0x5952dc], eax
je 0x48f125
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 0x48f010
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 0x48f0e3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x48f0e3
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
call fcn.00491116
mov ecx, eax
call fcn.004911a6
jmp 0x48f125
cmp dword [0x5952dc], 0
je 0x48f125
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 [0x5952dc]
call fcn.00480395
add esp, 0x20
push edi
push 1
lea ecx, [esp + 0x9c]
call fcn.004510bf
push edi
push 1
lea ecx, [esp + 0xb4]
call fcn.004510bf
push dword [esp + 0x30]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x48f15a
push eax
call esi
test ebx, ebx
je 0x48f161
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 0x48edd3
mov esi, dword [esp + 0x20]
cmp dword [0x5952dc], 0
je 0x48f1bc
push dword [esp + 0x24]
call ebp
push eax
push str._INFO___d___get_cdn_file_size__content_size_count__d_
push 3
push dword [0x5952dc]
call fcn.00480395
mov esi, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [esi]
mov ebx, edi
mov dword [esp + 0x18], eax
jmp 0x48f217
test edi, edi
je 0x48f1d7
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x14]
sar ecx, 2
cmp edi, ecx
jae 0x48f20a
mov edi, dword [eax + 0x18]
sub edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
sar edi, 2
cmp dword [0x5952dc], 0
je 0x48f20a
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 [0x5952dc]
call fcn.00480395
mov esi, dword [esp + 0x38]
add esp, 0x18
lea ecx, [esp + 0x18]
call fcn.0044ddff
mov eax, dword [esp + 0x18]
cmp esi, eax
jne 0x48f1c6
lea ecx, [esp + 0x20]
call fcn.0049117d
lea ecx, [esp + 0x28]
call fcn.004910f5
push dword [esp + 0x28]
call fcn.004b49b2
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.005026fe
add esp, 0x18c4
ret 4