Function at 0x45e1f0
Capabilities:
Initialize winhttp library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa83a
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x55a3d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 4], 0
test eax, eax
je 0x45f2bb
cmp dword [esi + 0x10], 0
je 0x45f2bb
lea ecx, [ebp - 0xc0]
call fcn.00462a20
cmp dword [ebp + 0x14], 0
mov byte [ebp - 4], 1
jne 0x45e2a0
call fcn.00463510
test al, al
jne 0x45e2a0
mov byte [ebp - 4], al
lea eax, [ebp - 0xc0]
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, 2
jmp 0x45f2e9
mov edi, dword [ebp - 0xb8]
push 0
push 0
push 0
push 0
push str.NVIDIA_NetworkService_v2.2.0.50
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 2
test eax, eax
jne 0x45e39c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx], eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.00403200
lea ecx, [ebp - 0x1ac]
push str.WinHttpOpen_failed._Error:
push ecx
mov byte [ebp - 4], 3
call fcn.00404d50
mov edx, dword [ebx]
add esp, 8
push edx
lea eax, [ebp - 0x1ac]
push eax
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov ecx, esi
push ecx
push 1
mov byte [ebp - 4], 4
call fcn.00423a40
add esp, 8
cmp dword [ebp - 0x1c], 8
jb 0x45e337
mov edx, dword [ebp - 0x30]
push edx
call fcn.004b5907
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], 0
mov word [ebp - 0x30], ax
mov byte [ebp - 4], 2
call fcn.00401690
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x45e392
test al, 1
jne 0x45e392
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x45e392
lea ecx, [ebp + 0x24]
push 2
push ecx
mov edx, ecx
push edx
call eax
add esp, 0xc
mov eax, 3
jmp 0x45f2e9
test edi, edi
je 0x45e3b1
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test al, al
jne 0x45e54e
mov ecx, 7
xor eax, eax
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x4c], dx
mov dword [ebp - 0x54], ecx
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov word [ebp - 0x68], cx
mov byte [ebp - 4], 6
lea edx, [ebp - 0x68]
push edx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x4c]
push eax
push esi
push ebx
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0xa8]
call fcn.0045f460
mov edi, eax
test edi, edi
je 0x45e443
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov ecx, dword [ebp - 0xa4]
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, edi
jmp 0x45f2e9
lea ecx, [ebp - 0x4c]
call fcn.004607b0
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0x4c]
call fcn.00463180
test al, al
jne 0x45e527
lea edx, [ebp - 0x1ac]
push edx
mov dword [ebx + 4], 0x191
call fcn.00403200
lea eax, [ebp - 0x1ac]
push str.Access_to_host
push eax
mov byte [ebp - 4], 7
call fcn.00404d50
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x1ac]
push edx
call fcn.0041b8e0
lea eax, [ebp - 0x1ac]
push str._is_not_granted.
push eax
call fcn.00404d50
add esp, 0x18
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov ecx, esi
push ecx
push 1
mov byte [ebp - 4], 8
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 6
call fcn.00401690
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov edx, dword [ebp - 0xa4]
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, 4
jmp 0x45f2e9
mov edi, dword [ebp - 0xb8]
test edi, edi
je 0x45e583
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test al, al
je 0x45e583
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov eax, dword [ebp - 0xa4]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, 5
jmp 0x45f2e9
call fcn.00461100
call fcn.004614b0
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x45e599
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xa4]
push 0
push ecx
push eax
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov esi, eax
mov dword [ebp - 0xb4], esi
mov byte [ebp - 4], 9
test esi, esi
jne 0x45e679
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx], eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.00403200
lea ecx, [ebp - 0x1ac]
push str.WinHttpConnect_failed._Error:
push ecx
mov byte [ebp - 4], 0xa
call fcn.00404d50
mov edx, dword [ebx]
add esp, 8
push edx
lea eax, [ebp - 0x1ac]
push eax
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov ecx, esi
push ecx
push 1
mov byte [ebp - 4], 0xb
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 9
call fcn.00401690
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov edx, dword [ebp - 0xa4]
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, 3
jmp 0x45f2e9
test edi, edi
je 0x45e6b7
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test al, al
je 0x45e6b7
mov eax, dword [ebp - 0xb4]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov ecx, dword [ebp - 0xa4]
push ecx
call esi
jmp 0x45e55b
cmp dword [ebp + 0x14], 1
mov edi, 0x51b5e4
je 0x45e6c7
mov edi, str.POST
cmp dword [ebp - 0x54], 8
mov eax, dword [ebp - 0x68]
jae 0x45e6d3
lea eax, [ebp - 0x68]
xor edx, edx
cmp dword [ebp - 0xac], 2
setne dl
dec edx
and edx, 0x800000
push edx
push 0
push 0
push 0
push eax
push edi
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0xac], edi
mov byte [ebp - 4], 0xc
test edi, edi
jne 0x45e7a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx], eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.00403200
lea ecx, [ebp - 0x1ac]
push str.WinHttpOpenRequest_failed._Error:
push ecx
mov byte [ebp - 4], 0xd
call fcn.00404d50
mov edx, dword [ebx]
add esp, 8
push edx
lea eax, [ebp - 0x1ac]
push eax
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov ecx, esi
push ecx
push 2
mov byte [ebp - 4], 0xe
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xc
call fcn.00401690
mov edx, dword [ebp - 0xb4]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push edx
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov eax, dword [ebp - 0xa4]
push eax
call esi
jmp 0x45e651
push edi
mov ecx, ebx
call fcn.0045f6f0
mov ecx, dword [ebp - 0xd4]
push ecx
lea edx, [ebp - 0xf4]
push edx
call fcn.004617f0
mov ecx, dword [ebp - 0xd8]
mov byte [ebp - 4], 0xf
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0xf4]
push edx
call eax
lea ecx, [ebp - 0xf4]
push ecx
push ebx
mov ecx, edi
call fcn.0045f9e0
mov edi, eax
test edi, edi
jne 0x45ebcc
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x45e849
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test al, al
je 0x45e849
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov ecx, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push ecx
call esi
mov edx, dword [ebp - 0xb4]
push edx
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov eax, dword [ebp - 0xa4]
push eax
call esi
jmp 0x45e55b
mov dword [ebp - 0xa8], 0x1388
mov dword [ebp - 0xc4], 0
lea ecx, [ecx]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, edx
jne 0x45e873
xor edi, edi
jmp 0x45e877
mov edi, edx
sub edi, ecx
cmp ecx, edx
jne 0x45e87f
xor esi, esi
jmp 0x45e883
mov esi, edx
sub esi, ecx
mov eax, ecx
push 0
sub eax, edx
push edi
neg eax
push esi
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0xac]
push eax
push 0
push 0
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x45e9b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x1ac]
push edx
mov dword [ebx], eax
call fcn.00403200
lea eax, [ebp - 0x1ac]
push str.WinHttpSendRequest_failed._Error:
push eax
mov byte [ebp - 4], 0x10
call fcn.00404d50
mov ecx, dword [ebx]
add esp, 8
push ecx
lea edx, [ebp - 0x1ac]
push edx
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov eax, esi
push eax
push 2
mov byte [ebp - 4], 0x11
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xf
call fcn.00401690
cmp dword [ebx], 0x2ee2
jne 0x45eabd
mov edi, dword [ebp - 0xc4]
cmp edi, 2
je 0x45ea64
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.00403200
lea edx, [ebp - 0x1ac]
push str.Will_retry_WinHttpSendRequest.
push edx
mov byte [ebp - 4], 0x14
call fcn.00404d50
add esp, 8
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov eax, esi
push eax
push 3
mov byte [ebp - 4], 0x15
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xf
call fcn.00401690
mov esi, dword [ebp - 0xa8]
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
lea ecx, [esi + esi]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xc4], edi
cmp edi, 3
jb 0x45e860
mov ecx, dword [ebp - 0xb8]
xor esi, esi
cmp ecx, esi
je 0x45e9d0
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test al, al
jne 0x45e808
mov edi, dword [ebp - 0xac]
push esi
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x45eafe
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x1ac]
push ecx
mov dword [ebx], eax
call fcn.00403200
lea edx, [ebp - 0x1ac]
push str.WinHttpReceiveResponse_failed._Error:
push edx
mov byte [ebp - 4], 0x16
call fcn.00404d50
mov eax, dword [ebx]
add esp, 8
push eax
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov edx, esi
push edx
push 1
mov byte [ebp - 4], 0x17
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xf
call fcn.00401690
lea esi, [ebp - 0xf4]
call fcn.0045cc60
push edi
jmp 0x45eacf
lea edx, [ebp - 0x1ac]
push edx
call fcn.00403200
lea eax, [ebp - 0x1ac]
push str.All_retries_of_WinHttpSendRequest_failed.
push eax
mov byte [ebp - 4], 0x12
call fcn.00404d50
add esp, 8
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov ecx, esi
push ecx
push 1
mov byte [ebp - 4], 0x13
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xf
call fcn.00401690
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov edx, dword [ebp - 0xac]
push edx
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
mov eax, dword [ebp - 0xb4]
push eax
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov ecx, dword [ebp - 0xa4]
push ecx
call esi
jmp 0x45e651
xor edx, edx
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x74], esi
mov word [ebp - 0x84], dx
push ebx
lea edx, [ebp - 0x84]
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.0045fd70
mov edi, eax
cmp edi, esi
je 0x45eb75
lea ecx, [ebp - 0x84]
call fcn.00412770
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov eax, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0xb4]
push ecx
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov edx, dword [ebp - 0xa4]
push edx
call esi
jmp 0x45e41e
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], esi
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x84]
push ecx
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xc4], esi
call fcn.0045ffe0
mov edi, eax
mov dword [ebp - 0xa8], edi
cmp edi, esi
je 0x45ec0d
lea esi, [ebp - 0x114]
call fcn.0045cc60
lea ecx, [ebp - 0x84]
call fcn.00412770
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov edx, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push edx
call esi
mov eax, dword [ebp - 0xb4]
push eax
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov ecx, dword [ebp - 0xa4]
push ecx
call esi
jmp 0x45e41e
mov esi, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd8]
mov dword [ebx + 4], esi
mov edx, dword [edi]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x114]
push eax
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 4]
push esi
mov ecx, edi
call edx
test al, al
jne 0x45ed1d
lea eax, [ebp - 0x1ac]
push eax
call fcn.00403200
lea ecx, [ebp - 0x1ac]
push str.Consumer_disallowed_HTTP_response_code
push ecx
mov byte [ebp - 4], 0x1a
call fcn.00404d50
add esp, 8
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00422e50
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov edx, esi
push edx
push 1
mov byte [ebp - 4], 0x1b
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x19
call fcn.00401690
lea esi, [ebp - 0x114]
call fcn.0045cc60
lea ecx, [ebp - 0x84]
call fcn.00412770
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov eax, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0xb4]
push ecx
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov edx, dword [ebp - 0xa4]
push edx
call esi
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, 8
jmp 0x45f2e9
xor eax, eax
lea esi, [ebp - 0xcc]
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
call fcn.00460660
cmp dword [ebp - 0xb8], 0
mov byte [ebp - 0xad], al
je 0x45edb3
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test al, al
je 0x45edb3
lea esi, [ebp - 0x114]
call fcn.0045cc60
lea ecx, [ebp - 0x84]
call fcn.00412770
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov eax, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0xb4]
push ecx
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov edx, dword [ebp - 0xa4]
push edx
call esi
jmp 0x45e55b
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
xor esi, esi
cmp byte [ebp - 0xad], 0
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0xe0], eax
je 0x45edf6
cmp dword [ebp - 0xc8], eax
ja 0x45edf6
cmp dword [ebp - 0xcc], eax
jbe 0x45f234
cmp dword [ebp - 0xb8], 0
je 0x45ee14
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test al, al
jne 0x45efcf
cmp byte [ebp - 0xad], 0
je 0x45ee55
mov eax, dword [ebp - 0xcc]
cmp esi, eax
jne 0x45ee39
mov ecx, dword [ebp - 0xe0]
cmp ecx, dword [ebp - 0xc8]
je 0x45efde
mov edx, dword [ebp - 0xc8]
cmp dword [ebp - 0xe0], edx
ja 0x45efed
jb 0x45ee55
cmp esi, eax
ja 0x45efed
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0xd0]
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x45f0ab
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x45f12c
cmp eax, dword [ebp - 0xc4]
jbe 0x45eee8
push eax
mov dword [ebp - 0xc4], eax
call fcn.0049d2d6
mov edx, dword [ebp - 0xc8]
add esp, 4
push edx
push eax
xor ecx, ecx
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], ecx
call fcn.00462480
lea eax, [ebp - 0x104]
lea edi, [ebp - 0xfc]
mov byte [ebp - 4], 0x22
call fcn.00461ab0
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x1c
call fcn.00424850
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
cmp dword [ebp - 0xb8], 0
je 0x45ef0c
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test al, al
jne 0x45efcf
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xfc]
lea ecx, [ebp - 0xd4]
push ecx
push eax
mov eax, dword [ebp - 0xac]
push edx
push eax
mov dword [ebp - 0xd4], 0
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x45f175
mov eax, dword [ebp - 0xd4]
cmp dword [ebp - 0xd0], eax
jne 0x45f1c7
add esi, eax
adc dword [ebp - 0xe0], 0
cmp dword [ebp - 0xb8], 0
je 0x45ef6f
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test al, al
jne 0x45efcf
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi]
mov edx, dword [edx + 0x14]
push eax
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, edi
call edx
test al, al
je 0x45f1fa
cmp dword [ebp + 0x1c], 0
je 0x45edf6
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
mov ecx, edi
call edx
add eax, dword [ebp - 0xcc]
mov ecx, edi
adc edx, dword [ebp - 0xc8]
push edx
push eax
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
call edx
add eax, esi
adc edx, dword [ebp - 0xe0]
lea ecx, [ebp + 0x1c]
push edx
push eax
call fcn.00461a20
jmp 0x45edf6
mov dword [ebp - 0xa8], 5
jmp 0x45f234
mov dword [ebp - 0xa8], 0
jmp 0x45f234
lea eax, [ebp - 0x1ac]
push eax
call fcn.00403200
lea ecx, [ebp - 0x1ac]
push str.Downloaded_size
push ecx
mov byte [ebp - 4], 0x1d
call fcn.00404d50
mov edx, dword [ebp - 0xe0]
add esp, 8
push edx
push esi
lea eax, [ebp - 0x1ac]
push eax
call fcn.0043c460
lea ecx, [ebp - 0x1ac]
push str._exceeds_expected_size
push ecx
call fcn.00404d50
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
add esp, 8
push edx
push eax
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.0043c460
lea edx, [ebp - 0x1ac]
push 0x51b814
push edx
call fcn.00404d50
add esp, 8
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov eax, esi
push eax
push 1
mov byte [ebp - 4], 0x1e
call fcn.00423a40
add esp, 8
mov ecx, esi
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x1c
call fcn.00401690
mov dword [ebp - 0xa8], 7
jmp 0x45f234
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x1ac]
push ecx
mov dword [ebx], eax
call fcn.00403200
lea edx, [ebp - 0x1ac]
push 0x51b818
push edx
mov byte [ebp - 4], 0x1f
call fcn.00404d50
mov eax, dword [ebx]
add esp, 8
push eax
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x30]
push edx
push 1
call fcn.00423a40
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.00412770
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x1c
call fcn.00401690
mov dword [ebp - 0xa8], 3
jmp 0x45f234
cmp byte [ebp - 0xad], 0
je 0x45f234
push str.Query_data_return_size_0
lea ecx, [ebp - 0x30]
call fcn.004126b0
lea eax, [ebp - 0x30]
push eax
push 1
mov byte [ebp - 4], 0x21
call fcn.00423a40
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.00412770
mov dword [ebx], 0x2efe
mov dword [ebp - 0xa8], 3
jmp 0x45f234
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x1ac]
push ecx
mov dword [ebx], eax
call fcn.00403200
lea edx, [ebp - 0x1ac]
push str.WinHttpReadData_failed:
push edx
mov byte [ebp - 4], 0x23
call fcn.00404d50
mov eax, dword [ebx]
add esp, 8
push eax
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.004024b0
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x1ac]
call fcn.00402e30
mov byte [ebp - 4], 0x24
jmp 0x45f0f8
push str.Error_of_reading_http_data:_size_does_not_match_read_data_buffer.
lea ecx, [ebp - 0x30]
call fcn.004126b0
lea eax, [ebp - 0x30]
push eax
push 1
mov byte [ebp - 4], 0x25
call fcn.00423a40
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.00412770
mov dword [ebp - 0xa8], 3
jmp 0x45f234
push str.Consumers_ConsumeData_failed.
lea ecx, [ebp - 0xa0]
call fcn.004126b0
lea ecx, [ebp - 0xa0]
push ecx
push 1
mov byte [ebp - 4], 0x26
call fcn.00423a40
add esp, 8
lea ecx, [ebp - 0xa0]
call fcn.00412770
mov dword [ebp - 0xa8], 9
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0x19
call fcn.00424850
lea esi, [ebp - 0x114]
call fcn.0045cc60
lea ecx, [ebp - 0x84]
call fcn.00412770
lea esi, [ebp - 0xf4]
call fcn.0045cc60
mov edx, dword [ebp - 0xac]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push edx
call esi
mov eax, dword [ebp - 0xb4]
push eax
call esi
lea ecx, [ebp - 0x68]
call fcn.00412770
lea ecx, [ebp - 0x4c]
call fcn.00412770
mov ecx, dword [ebp - 0xa4]
push ecx
call esi
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0
call fcn.00424720
lea esi, [ebp + 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.0041c520
mov eax, dword [ebp - 0xa8]
jmp 0x45f2e9
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x45f2e4
test al, 1
jne 0x45f2e4
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x45f2e4
lea edx, [ebp + 0x24]
push 2
push edx
mov ecx, edx
push ecx
call eax
add esp, 0xc
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004b58f8
mov esp, ebp
pop ebp
ret 0x34