Function at 0x45f33b
Capabilities:
Check http status code
Read data from internet
Receive data

Disassembly:
push 0x934
mov eax, 0x47fb5f
call fcn.0043eed3
mov esi, ecx
mov eax, dword [esi + 0x30]
add eax, 0xa0
push eax
lea ecx, [ebp - 0x8b8]
call fcn.0040fb04
lea eax, [ebp - 0x82c]
xor edi, edi
push eax
lea ecx, [esi + 0x34]
mov dword [ebp - 4], edi
call fcn.0041929e
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x874]
mov byte [ebp - 4], 1
call fcn.004114b4
push eax
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 2
call fcn.00403a4f
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 3
call fcn.004080c5
lea ecx, [ebp - 0x864]
call fcn.004035af
lea ecx, [ebp - 0x86c]
call fcn.004035af
push edi
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 6
call fcn.00463abe
lea eax, [ebp - 0x940]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0045ff4c
pop ecx
pop ecx
push edi
push 0xffffffffffffffff
push str.HEAD
lea ecx, [ebp - 0x858]
call fcn.00408d63
mov eax, dword [esi]
lea ecx, [ebp - 0x858]
push ecx
mov ecx, esi
mov byte [ebp - 4], 7
call dword [eax + 0x60]
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 6
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
cmp dword [esi + 0xe8], edi
jne 0x45f44d
lea eax, [ebp - 0x940]
push eax
call fcn.00460210
pop ecx
push eax
lea ecx, [esi + 0xe8]
call fcn.00463abe
cmp dword [esi + 0xec], edi
je 0x45f4c0
lea ecx, [esi + 0xf0]
call fcn.004080c5
mov eax, dword [esi + 0xf4]
lea ecx, [esi + 0xf0]
mov dword [ebp - 0x83c], eax
call fcn.004080c5
push dword [ebp - 0x83c]
mov ecx, dword [esi + 0xe8]
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionA]
push eax
push 0x1c
push ecx
call edi
lea ecx, [esi + 0x108]
call fcn.004080c5
lea ecx, [esi + 0x108]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x83c], eax
call fcn.004080c5
push dword [ebp - 0x83c]
mov ecx, dword [esi + 0xe8]
push eax
push 0x1d
push ecx
call edi
mov eax, dword [esi + 0xe8]
push 0x493e0
lea ecx, [ebp - 0x940]
push ecx
push str.HEAD
push eax
call fcn.0046034e
add esp, 0x10
push eax
lea ecx, [esi + 0xe4]
call fcn.00463abe
cmp dword [esi + 0xe4], 0
jne 0x45f527
mov esi, dword [0x48d2cc]
lea ecx, [ebp - 0x8c0]
call fcn.004035af
lea ecx, [ebp - 0x8c8]
call fcn.004035af
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8b8]
call fcn.0045712c
mov eax, esi
jmp 0x45fe96
lea eax, [ebp - 0x858]
push eax
mov ecx, esi
call fcn.0045d163
push eax
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 8
call fcn.00403a4f
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 9
call fcn.004080c5
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0xb
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
lea ecx, [ebp - 0x890]
call fcn.004080c5
mov eax, dword [ebp - 0x88c]
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x83c], eax
call fcn.004080c5
mov ecx, dword [esi + 0xe4]
push 0xa0000000
push dword [ebp - 0x83c]
push eax
push ecx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov eax, dword [esi + 0xe4]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x45f606
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x2eef
je 0x45f606
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x45f5e5
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [esi + 0xe4], 0
mov esi, dword [0x48d2cc]
lea ecx, [ebp - 0x880]
call fcn.004035af
lea ecx, [ebp - 0x888]
call fcn.004035af
jmp 0x45f4fb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
mov eax, dword [esi + 0x140]
mov eax, dword [eax + 8]
mov dword [ebp - 0x830], eax
cmp eax, 0x12c
jb 0x45f666
cmp eax, 0x130
je 0x45f666
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x45f645
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [esi + 0xe4], 0
lea ecx, [ebp - 0x880]
call fcn.004035af
lea ecx, [ebp - 0x888]
call fcn.004035af
mov esi, dword [ebp - 0x830]
jmp 0x45f4fb
push dword [esi + 0xe4]
push 5
call fcn.00463abe
push dword [esi + 0xe4]
mov dword [ebp - 0x840], eax
lea eax, [ebp - 0x8e8]
push 0x36
push eax
call fcn.00463abe
push dword [esi + 0xe4]
lea eax, [ebp - 0x904]
push 0xb
push eax
mov byte [ebp - 4], 0xc
call fcn.00463abe
add esp, 0x20
cmp dword [ebp - 0x830], 0x130
mov byte [ebp - 4], 0xd
jne 0x45f806
cmp dword [ebp - 0x840], 0xffffffff
jne 0x45f6d4
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x840], eax
push 0
push 0xffffffffffffffff
push 0x482d58
lea ecx, [ebp - 0x858]
call fcn.00408d63
push 0
push 0
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x8e8]
mov byte [ebp - 4], 0xe
call fcn.004092a7
neg ax
sbb al, al
inc al
lea ecx, [ebp - 0x848]
mov byte [ebp - 0x831], al
mov byte [ebp - 4], 0xd
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
cmp byte [ebp - 0x831], 0
je 0x45f76d
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x858]
push eax
call fcn.00463abe
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x8e8]
mov byte [ebp - 4], 0xf
call fcn.00463abe
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0xd
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
push 0
push 0xffffffffffffffff
push 0x482d58
lea ecx, [ebp - 0x858]
call fcn.00408d63
push 0
push 0
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x904]
mov byte [ebp - 4], 0x10
call fcn.004092a7
neg ax
sbb al, al
inc al
lea ecx, [ebp - 0x848]
mov byte [ebp - 0x831], al
mov byte [ebp - 4], 0xd
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
cmp byte [ebp - 0x831], 0
je 0x45f806
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x858]
push eax
call fcn.00463abe
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x904]
mov byte [ebp - 4], 0x11
call fcn.00463abe
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0xd
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
mov ecx, dword [esi + 0xe4]
xor eax, eax
cmp ecx, eax
je 0x45f822
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [esi + 0xe4], 0
xor eax, eax
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x89c], eax
lea eax, [esi + 0x16c]
push ecx
push eax
mov dword [ebp - 0x838], eax
call fcn.0040a354
cmp dword [ebp - 0x830], 0x130
pop ecx
pop ecx
jne 0x45f903
test eax, eax
jne 0x45fdf0
push 3
or dword [ebp - 0x85c], 0xffffffff
pop eax
push eax
push 4
push 0x12019f
push dword [ebp - 0x838]
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 0x12
call fcn.00463abe
test eax, eax
je 0x45f90a
push 0
push 0xffffffffffffffff
push str.unable_to_open_temp_file
lea ecx, [ebp - 0x828]
call fcn.00408d63
push dword [ebp - 0x838]
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x858]
push eax
mov byte [ebp - 4], 0x13
call fcn.0041ebf4
add esp, 0xc
push eax
lea ecx, [ebp - 0x874]
mov byte [ebp - 4], 0x14
mov dword [ebp - method.RSException.virtual_0], vtable.RSException.0
call fcn.00403a4f
push 0x493cfc
lea eax, [ebp - 0x878]
push eax
call sub.MSVCR100.dll__CxxThrowException
push 2
jmp 0x45f87b
lea eax, [ebp - 0x8a8]
push eax
push dword [ebp - 0x838]
call fcn.0040a354
mov eax, dword [ebp - 0x840]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x8a4]
jae 0x45f965
lea ecx, [ebp - 0x85c]
call fcn.00409f5c
push 2
push 4
push 0x12019f
push dword [ebp - 0x838]
lea ecx, [ebp - 0x85c]
call fcn.00463abe
lea eax, [ebp - 0x8a8]
push eax
push dword [ebp - 0x838]
call fcn.0040a354
pop ecx
pop ecx
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x838], eax
cmp eax, dword [ebp - 0x840]
jae 0x45fde1
cmp dword [esi + 0xe0], 0
je 0x45f9ab
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
lea edx, [ebp - 0x904]
push edx
lea edx, [ebp - 0x8e8]
push edx
push dword [ebp - 0x8a4]
push dword [ebp - 0x840]
call dword [eax + 4]
mov eax, dword [esi + 0xe8]
push 0x493e0
lea ecx, [ebp - 0x940]
push ecx
mov ebx, 0x48d46c
push ebx
push eax
call fcn.0046034e
add esp, 0x10
push eax
lea ecx, [esi + 0xe4]
call fcn.00463abe
push 0
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x858]
call fcn.00408d63
mov eax, dword [esi]
lea ecx, [ebp - 0x858]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x15
call dword [eax + 0x60]
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0x12
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
mov eax, dword [esi + 0x30]
lea ecx, [ebp - 0x8b8]
push ecx
lea ecx, [eax + 0xa0]
call fcn.00463abe
lea ecx, [esi + 0x20]
call fcn.0045408e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
lea eax, [ebp - 0x874]
push eax
mov ecx, esi
call fcn.0045d163
push eax
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x16
call fcn.00403a4f
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x17
call fcn.004080c5
push 0xffffffffffffffff
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 0x18
call fcn.00463abe
lea ecx, [ebp - 0x848]
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
lea ecx, [ebp - 0x864]
mov byte [ebp - 4], 0x12
call fcn.004035af
lea ecx, [ebp - 0x86c]
call fcn.004035af
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jne 0x45fc8a
mov edx, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x840]
lea eax, [edx + 0x3e800]
dec ecx
cmp eax, ecx
jae 0x45fad9
mov ecx, eax
mov eax, dword [esi + 0xe4]
push ecx
push edx
push eax
call fcn.0045fff5
add esp, 0xc
push 0
push 0xffffffffffffffff
push 0x485154
lea ecx, [ebp - 0x874]
call fcn.00408d63
and dword [ebp - 0x830], 0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x890]
call fcn.004080c5
mov eax, dword [ebp - 0x830]
cmp eax, dword [ebp - 0x88c]
jae 0x45fc08
push eax
lea eax, [ebp - 0x874]
push eax
lea ecx, [ebp - 0x890]
call fcn.004099e5
mov ebx, eax
push ebx
push dword [ebp - 0x830]
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x890]
call fcn.00409028
push eax
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x1a
call fcn.00403a4f
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x1b
call fcn.004080c5
lea ecx, [ebp - 0x818]
mov byte [ebp - 4], 0x1d
call fcn.004035af
lea ecx, [ebp - 0x820]
call fcn.004035af
lea ecx, [ebp - 0x858]
call fcn.004080c5
mov eax, dword [ebp - 0x854]
lea ecx, [ebp - 0x858]
mov dword [ebp - 0x830], eax
call fcn.004080c5
mov ecx, dword [esi + 0xe4]
push 0xa0000000
push dword [ebp - 0x830]
push eax
push ecx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
lea ecx, [ebp - 0x874]
call fcn.00408157
mov eax, dword [ebp - 0x870]
add eax, ebx
lea ecx, [ebp - 0x848]
mov dword [ebp - 0x830], eax
mov byte [ebp - 4], 0x19
call fcn.004035af
lea ecx, [ebp - 0x850]
call fcn.004035af
cmp dword [ebp - 0x830], 0xffffffff
jne 0x45fb09
mov eax, dword [esi + 0xe4]
mov ebx, dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
push 0xa0000000
push 0xffffffffffffffff
push str.If_None_Match
push eax
call ebx
mov eax, dword [esi + 0xe4]
push 0xa0000000
push 0xffffffffffffffff
push str.If_Modified_Since
push eax
call ebx
mov eax, dword [esi + 0xe4]
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x45fc70
push dword [esi + 0xe4]
push 0x13
call fcn.00463abe
pop ecx
pop ecx
cmp eax, 0xc8
jl 0x45fc70
cmp eax, 0x12c
jl 0x45fd2e
lea ecx, [ebp - 0x864]
mov byte [ebp - 4], 0x12
call fcn.004035af
lea ecx, [ebp - 0x86c]
call fcn.004035af
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
mov eax, dword [ebp - 0x840]
cmp dword [ebp - 0x838], eax
jae 0x45fdc0
push dword [esi + 0xe4]
push 0x13
call fcn.00463abe
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x45fda3
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jne 0x45fda3
mov dword [ebp - 0x830], ebx
jmp 0x45fdcf
cmp dword [ebp - 0x83c], 0
jbe 0x45fd52
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jne 0x45fd52
add ebx, dword [ebp - 0x83c]
lea eax, [ebp - 0x8ec]
push eax
push dword [ebp - 0x83c]
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x85c]
call fcn.00463abe
mov edx, dword [ebp - 0x838]
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
add edx, ebx
push edx
call dword [eax + 8]
mov eax, dword [esi + 0xe4]
lea ecx, [ebp - 0x83c]
push ecx
push 0x800
lea ecx, [ebp - 0x810]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x45fcdd
add dword [ebp - 0x838], ebx
mov eax, dword [ebp - 0x838]
cmp eax, dword [ebp - 0x840]
jae 0x45fd72
cmp ebx, 0x3e800
jl 0x45fc70
lea ecx, [ebp - 0x864]
mov byte [ebp - 4], 0x12
call fcn.004035af
lea ecx, [ebp - 0x86c]
call fcn.004035af
mov eax, dword [ebp - 0x840]
cmp dword [ebp - 0x838], eax
jb 0x45faad
jmp 0x45fc8a
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
je 0x45fdb9
mov eax, dword [0x48d2c8]
jmp 0x45fdc9
mov eax, dword [0x48d2cc]
jmp 0x45fdc9
mov eax, dword [esi + 0x140]
mov eax, dword [eax + 8]
mov dword [ebp - 0x830], eax
mov eax, dword [esi + 0xe4]
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.WININET.dll_HttpEndRequestA]
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 0xd
call fcn.00409f5c
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x45fe08
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [esi + 0xe4], 0
cmp dword [ebp - 0x830], 0x130
jne 0x45fe29
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x8b8]
lea ecx, [ecx + 0xa0]
push eax
call fcn.00463abe
lea ecx, [ebp - 0x8f4]
call fcn.004035af
lea ecx, [ebp - 0x8fc]
call fcn.004035af
lea ecx, [ebp - 0x8d8]
call fcn.004035af
lea ecx, [ebp - 0x8e0]
call fcn.004035af
lea ecx, [ebp - 0x880]
call fcn.004035af
lea ecx, [ebp - 0x888]
call fcn.004035af
lea ecx, [ebp - 0x8c0]
call fcn.004035af
lea ecx, [ebp - 0x8c8]
call fcn.004035af
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8b8]
call fcn.0045712c
mov eax, dword [ebp - 0x830]
call fcn.0043ef56
ret