Function at 0x498e24
Capabilities:
Check http status code
Get http content length

Disassembly:
push 0x40
mov eax, 0x50da62
call fcn.004d0cf3
mov esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp + 0x38]
xor ecx, ecx
push ecx
push 3
push dword [ebp + 0x24]
mov dword [eax], ecx
mov ecx, esi
push dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [eax]
push dword [ebp + 8]
call fcn.00499544
test eax, eax
jne 0x49953c
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x20]
mov bl, byte [ebp + 0x30]
mov edi, 0x8440c000
push dword [ebp + 0x1c]
mov dword [ebp - 0x34], eax
test bl, bl
mov dword [esi + 8], eax
mov eax, 0x84c0c000
cmovne edi, eax
mov dword [ebp - 0x4c], 0x5350c4
xor eax, eax
mov dword [ebp - 0x48], eax
call fcn.004073ac
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x498ea8
push dword [eax - 0xc]
lea ecx, [ebp - 0x20]
push eax
call fcn.004072c9
push edi
lea eax, [ebp - 0x4c]
push eax
push ecx
push ecx
push dword [ebp - 0x20]
mov ecx, esi
push dword [ebp + 0x10]
push dword [esi + 8]
call fcn.0049959d
or edi, 0xffffffff
mov dword [ebp + 0x30], eax
test eax, eax
je 0x498ed0
mov esi, eax
jmp 0x499518
mov eax, dword [esi + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], esi
test bl, bl
je 0x498f17
cmp byte [esi + 0x94], 0
je 0x498f17
lea ecx, [ebp + 0x18]
mov dword [ebp + 0x18], 4
push ecx
lea ecx, [ebp + 0x30]
push ecx
push 0x1f
push eax
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
push dword [ebp + 0x18]
or dword [ebp + 0x30], 0x3380
lea eax, [ebp + 0x30]
push eax
push 0x1f
push dword [esi + 4]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
call fcn.00406cde
push eax
lea ecx, [ebp + 0x20]
call fcn.00406b09
mov dword [ebp - 4], edi
xor eax, eax
mov ebx, dword [ebp + 0x34]
cmp dword [ebx], eax
jbe 0x498f72
call fcn.00406cde
push eax
lea ecx, [ebp + 0x30]
call fcn.00406b09
mov dword [ebp - 4], edi
lea eax, [ebp + 0x30]
push dword [ebx]
push str.Range:_bytes_u__r_n
push eax
call fcn.004575ca
mov esi, dword [ebp + 0x30]
lea ecx, [ebp + 0x20]
add esp, 0xc
push dword [esi - 0xc]
push esi
call fcn.004072c9
mov dword [ebp - 4], edi
lea ecx, [esi - 0x10]
call fcn.00406dd3
mov esi, dword [ebp - 0x14]
lea edx, [esi + 0x42]
xor ebx, ebx
cmp word [edx], bx
jbe 0x498fd4
lea ecx, [ebp + 0x18]
call fcn.0046e140
call fcn.00406cde
push eax
lea ecx, [ebp + 0x30]
call fcn.00406b09
mov dword [ebp - 4], edi
lea eax, [ebp + 0x30]
push dword [ebp + 0x18]
push str.If_Modified_Since:__s_r_n
push eax
call fcn.004575ca
mov esi, dword [ebp + 0x30]
lea ecx, [ebp + 0x20]
add esp, 0xc
push dword [esi - 0xc]
push esi
call fcn.004072c9
mov dword [ebp - 4], edi
lea ecx, [esi - 0x10]
call fcn.00406dd3
mov dword [ebp - 4], edi
mov ecx, dword [ebp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.00406cde
push eax
lea ecx, [ebp + 0x14]
call fcn.00406b09
mov dword [ebp - 4], edi
mov eax, dword [esi + 0x8c]
cmp dword [eax - 0xc], 0
je 0x499036
push str.Content_Type:_application_x_www_form_urlencoded__charsetutf_8_r_n
lea ecx, [ebp + 0x20]
call fcn.004072a1
push ecx
mov ecx, dword [esi + 0x8c]
lea edx, [ebp + 0x14]
call fcn.0046dab0
mov edi, dword [ebp + 0x14]
pop ecx
cmp dword [edi - 4], 1
jle 0x49902b
push dword [edi - 0xc]
lea ecx, [ebp + 0x14]
call fcn.00451e0e
mov edi, dword [ebp + 0x14]
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], eax
jmp 0x499039
mov edi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x499044
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp + 0x30], 0xe0000012
mov ebx, dword [ebp + 0x20]
mov eax, dword [ebx - 0xc]
xor edx, edx
mov esi, dword [esi + 4]
test eax, eax
mov ecx, eax
cmove ecx, edx
test eax, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], ecx
mov ecx, ebx
cmove ecx, edx
mov dword [ebp - 0x38], ecx
push dword [eax + 0x64]
mov dword [eax + 0x34], 7
mov byte [eax + 0x38], dl
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp + 0x18]
push dword [ebp - 0x38]
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x4990ac
mov ecx, esi
call fcn.00499652
mov dword [ebp + 0x18], eax
test eax, eax
je 0x4990ac
xor ecx, ecx
jmp 0x4990be
xor ecx, ecx
cmp dword [esi + 0x30], ecx
je 0x4990b8
mov dword [ebp + 0x18], ecx
jmp 0x4990be
mov eax, dword [esi + 0x2c]
mov dword [ebp + 0x18], eax
push ecx
lea eax, [esi + 0x98]
mov dword [ebp - 0x2c], 4
mov dword [eax], ecx
lea ecx, [ebp - 0x2c]
push ecx
push eax
push 0x20000013
push dword [esi + 4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x4994ee
xor eax, eax
push eax
mov dword [ebp + 0x24], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp + 0x24]
push eax
push 0x20000005
push dword [esi + 4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov edx, eax
neg edx
sbb edx, edx
and edx, dword [ebp + 0x24]
cmp byte [esi + 0x62], 0
mov dword [ebp + 0x24], edx
je 0x499158
cmp dword [esi + 0x98], 0x130
je 0x499158
push 0
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x10
push ecx
lea eax, [esi + 0x52]
push eax
push 0x4000000b
push dword [esi + 4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x499155
push 0x10
push eax
lea eax, [esi + 0x52]
push eax
call fcn.004d1f70
add esp, 0xc
mov edx, dword [ebp + 0x24]
mov eax, dword [esi + 0x8c]
cmp dword [eax - 0xc], 0
je 0x499218
cmp dword [esi + 0x98], 0xc8
jne 0x499218
push 0x56f47c
push 0x410
call fcn.004d07ed
pop ecx
pop ecx
mov esi, eax
mov dword [ebp + 8], 0x410
xor eax, eax
push eax
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x14]
push esi
push 1
push dword [eax + 4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x4991f2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x499469
push esi
call fcn.004d0771
mov dword [esp], 0x56f47c
push dword [ebp + 8]
call fcn.004d07ed
pop ecx
pop ecx
mov esi, eax
xor eax, eax
push eax
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x14]
push esi
push 1
push dword [eax + 4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x499463
mov eax, dword [ebp + 8]
test eax, eax
je 0x49920b
mov ecx, dword [ebp - 0x14]
shr eax, 1
push eax
push esi
lea ecx, [ecx + 0x90]
call fcn.004072c9
push esi
call fcn.004d0771
mov edx, dword [ebp + 0x24]
mov esi, dword [ebp - 0x14]
pop ecx
mov eax, dword [esi + 0x98]
mov ecx, 0x193
cmp eax, ecx
ja 0x4993c1
je 0x499483
sub eax, 0xc8
je 0x49939e
sub eax, 6
je 0x49937c
sub eax, 0x62
je 0x499475
sub eax, 0x61
jne 0x4993de
mov eax, dword [ebp + 0x30]
mov ecx, eax
mov dword [ebp + 0x18], ecx
xor edx, edx
cmp ecx, 0x2f0d
je 0x4993f1
cmp ecx, 0x2f0c
je 0x4993f1
cmp ecx, 0x2f06
je 0x4993f1
cmp ecx, 0x2f05
je 0x4993f1
cmp ecx, eax
jne 0x4994d9
call fcn.00406cde
push eax
lea ecx, [ebp + 0x28]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
lea eax, [ebp + 0x28]
push eax
push dword [esi + 0x98]
push dword [esi + 4]
call fcn.00499b14
cmp dword [esi + 0x98], 0x197
sete byte [ebp - 0x30]
call fcn.00406cde
push eax
lea ecx, [ebp + 0x1c]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x30], 0
je 0x4992ef
lea eax, [ebp + 0x1c]
push eax
push dword [esi + 4]
call fcn.00499c59
call fcn.00406cde
push eax
lea ecx, [ebp - 0x1c]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
call fcn.00406cde
push eax
lea ecx, [ebp - 0x18]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
lea eax, [ebp + 0x1c]
push eax
push dword [ebp - 0x30]
lea eax, [ebp + 0x28]
push eax
push dword [ebp + 0xc]
push dword [esi + 4]
call fcn.00499bce
test al, al
je 0x499499
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
jmp 0x49904e
mov eax, dword [ebp + 0x34]
test edx, edx
jne 0x49938a
mov dword [eax], edx
mov eax, dword [ebp + 0x38]
jmp 0x4993b4
mov ecx, dword [ebp + 0x38]
mov eax, dword [eax]
add eax, edx
mov dword [ecx], eax
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x18]
jmp 0x49925f
mov eax, dword [ebp + 0x38]
mov dword [eax], edx
mov eax, dword [ebp + 0x34]
test edx, edx
je 0x4993b2
cmp dword [eax], edx
jae 0x49947c
xor edx, edx
mov ecx, dword [ebp + 0x18]
mov dword [eax], edx
mov eax, dword [ebp + 0x30]
jmp 0x499261
sub eax, 0x194
je 0x4994e7
sub eax, 3
je 0x499257
sub eax, 3
je 0x4994e7
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x49948a
mov eax, dword [ebp + 0x30]
jmp 0x49925f
cmp byte [esi + 0x81], 0
je 0x499445
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x3c], eax
push ecx
push 0x1f
push eax
mov dword [ebp - 0x38], 4
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
je 0x49943d
or dword [ebp + 0x10], 0x3f05
lea eax, [ebp + 0x10]
push 4
push eax
push 0x1f
push dword [ebp - 0x3c]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
setne al
test al, al
jne 0x499456
mov esi, dword [ebp + 0x18]
jmp 0x4994f6
push dword [esi + 4]
push ecx
push ecx
lea ecx, [esi + 0xc]
call fcn.004a2a29
test eax, eax
jne 0x49943d
lea ecx, [ebp + 0x20]
call fcn.004092da
jmp 0x49904b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov dword [ebp + 0x30], eax
call fcn.004d0771
pop ecx
jmp 0x4994d4
mov esi, 0xe0000013
jmp 0x4994f6
mov esi, 0xe0000010
jmp 0x4994f6
mov esi, 0xe0000016
jmp 0x4994f6
mov eax, dword [ebp + 0x34]
and dword [eax], 0
mov eax, dword [ebp + 0x38]
mov dword [eax], edx
xor edx, edx
jmp 0x4994dd
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov dword [ebp - 4], esi
mov ecx, dword [ebp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov dword [ebp - 4], esi
mov ecx, dword [ebp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov esi, dword [ebp + 0x30]
jmp 0x4994f6
test ecx, ecx
jne 0x4994e3
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], edx
mov esi, ecx
jmp 0x4994f6
mov esi, 0xe0000018
jmp 0x4994f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
or dword [ebp - 4], 0xffffffff
lea ecx, [edi - 0x10]
call fcn.00406dd3
or edi, 0xffffffff
mov dword [ebp - 4], edi
lea ecx, [ebx - 0x10]
call fcn.00406dd3
lea ecx, [ebp - 0x44]
call fcn.00499d1a
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
mov edi, dword [ebp - 0x34]
xor eax, eax
push eax
push edi
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, esi
call fcn.004d0cbc
ret 0x34