Function at 0x42722b
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Set http header

Disassembly:
push 0x208
mov eax, 0x5286fc
call fcn.004f416f
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x140], edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x168], edx
mov edx, dword [ebp + 0x18]
xor ebx, ebx
mov dword [ebp - 0x138], edx
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
cmp ecx, ebx
jne 0x427292
push str.No_comsumer_provided_
push edi
call fcn.00403fad
jmp 0x427c03
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], ebx
jb 0x42729f
mov ecx, dword [edi]
jmp 0x4272a1
mov ecx, edi
xor edx, edx
mov word [ecx], dx
cmp dword [eax + 0x14], 8
jb 0x4272ae
mov eax, dword [eax]
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
jne 0x427302
push str.WinHttpOpen_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xa4]
push eax
call fcn.0042c6d3
pop ecx
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
mov byte [ebp - 4], 1
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0xa4]
call fcn.00401501
jmp 0x427c03
cmp dword [ebp - 0x134], ebx
je 0x42732a
mov eax, dword [ebp - 0x134]
push ebx
call fcn.00425c0f
test al, al
je 0x42732a
push str.Cancel_event
push edi
call fcn.00403fad
jmp 0x427bf7
push 7
pop eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ebx
mov word [ebp - 0x34], cx
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x40], ebx
mov word [ebp - 0x50], ax
push edi
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x50]
mov ecx, esi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x118], ebx
call fcn.00426e96
add esp, 0x10
test al, al
jne 0x427394
push 1
xor edi, edi
lea esi, [ebp - 0x50]
call fcn.00401501
push 1
lea esi, [ebp - 0x34]
call fcn.00401501
jmp 0x427bf7
mov esi, dword [ebp - 0x134]
cmp esi, ebx
je 0x4273b7
push ebx
mov eax, esi
call fcn.00425c0f
test al, al
je 0x4273b7
push str.Cancel_event
push edi
call fcn.00403fad
jmp 0x427379
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x4273c3
lea eax, [ebp - 0x34]
push ebx
push dword [ebp - 0x120]
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 4
cmp eax, ebx
jne 0x427421
push str.WinHttpConnect_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xa4]
push eax
call fcn.0042c6d3
pop ecx
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
mov byte [ebp - 4], 5
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0xa4]
call fcn.00401501
jmp 0x427379
cmp esi, ebx
je 0x42746d
push ebx
mov eax, esi
call fcn.00425c0f
test al, al
je 0x42746d
push str.Cancel_event
push edi
call fcn.00403fad
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x120]
call ebx
push 1
xor edi, edi
lea esi, [ebp - 0x50]
call fcn.00401501
push 1
lea esi, [ebp - 0x34]
call fcn.00401501
push dword [ebp - 0x11c]
call ebx
jmp 0x427c03
cmp dword [ebp - 0x118], 2
jne 0x42747d
mov ecx, 0x800000
jmp 0x42747f
xor ecx, ecx
cmp dword [ebp - 0x3c], 8
mov eax, dword [ebp - 0x50]
jae 0x42748b
lea eax, [ebp - 0x50]
push ecx
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x138]
push dword [ebp - 0x120]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov ecx, eax
mov dword [ebp - 0x118], ecx
mov byte [ebp - 4], 6
cmp ecx, ebx
jne 0x4274ee
push str.WinHttpOpenRequest_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xa4]
push eax
call fcn.0042c6d3
pop ecx
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
mov byte [ebp - 4], 7
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0xa4]
call fcn.00401501
jmp 0x42743c
cmp dword [ebp + 0x10], ebx
je 0x4274fc
push dword [ebp + 0x10]
call fcn.00426fbb
pop ecx
mov ecx, dword [ebp - 0x168]
lea eax, [ebp - 0x158]
push eax
call fcn.0042807f
mov ecx, dword [ebp - 0x148]
lea edx, [ebp - 0x158]
mov byte [ebp - 4], 8
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test al, al
jne 0x427551
push str.Consumers_AddHeaders_failed.
push edi
call fcn.00403fad
lea esi, [ebp - 0x158]
call fcn.00404123
push dword [ebp - 0x118]
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call ebx
jmp 0x427442
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x154]
je 0x427715
xor ecx, ecx
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], ebx
mov word [ebp - 0x6c], cx
mov byte [ebp - 4], 9
mov ebx, eax
lea eax, [ebp - 0xdc]
push 0x53c9dc
push eax
call fcn.004151c2
lea ecx, [ebx + 0x1c]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.004051fe
push 0x541aec
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xb
call fcn.004051da
add esp, 0x18
push 0
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xc
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0x114]
call fcn.00401501
push 1
lea esi, [ebp - 0xf8]
call fcn.00401501
push 1
lea esi, [ebp - 0xdc]
mov byte [ebp - 4], 9
call fcn.00401501
add ebx, 0x38
cmp ebx, dword [ebp - 0x154]
jne 0x427579
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffffe
lea ecx, [ebp - 0x6c]
call fcn.0040320c
lea eax, [ebp - 0x214]
push eax
call fcn.004036d7
mov esi, eax
push str.Request_headers:
push esi
mov byte [ebp - 4], 0xd
call fcn.00406897
push esi
lea ecx, [ebp - 0x6c]
call fcn.004080d0
add esp, 0xc
lea eax, [ebp - 0xa4]
push eax
mov eax, esi
call fcn.00403741
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x90], 8
mov eax, dword [ebp - 0xa4]
jae 0x427664
lea eax, [ebp - 0xa4]
push eax
push 4
pop ecx
call fcn.004284f3
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0xa4]
call fcn.00401501
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 9
call fcn.004025ae
cmp dword [ebp - 0x58], 8
mov eax, dword [ebp - 0x6c]
jae 0x427698
lea eax, [ebp - 0x6c]
push 0x20000000
push 0xffffffffffffffff
push eax
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x4276fd
mov esi, dword [ebp - 0x160]
push str.WinHttpAddRequestHeaders_failed:
push esi
call fcn.00403fad
lea eax, [ebp - 0xc0]
push eax
call fcn.0042c6d3
pop ecx
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0xc0]
call fcn.00401501
lea esi, [ebp - 0x6c]
push 1
xor edi, edi
call fcn.00401501
jmp 0x427533
push 1
xor edi, edi
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 8
call fcn.00401501
mov edi, dword [ebp - 0x160]
xor ebx, ebx
mov eax, dword [ebp - 0x134]
cmp eax, ebx
je 0x427733
push ebx
call fcn.00425c0f
test al, al
je 0x427733
push str.Cancel_event
jmp 0x42752d
mov eax, dword [ebp - 0x140]
mov edx, dword [eax]
mov esi, dword [eax + 4]
cmp edx, esi
jne 0x42774a
mov dword [ebp - 0x138], ebx
jmp 0x427754
mov eax, esi
sub eax, edx
mov dword [ebp - 0x138], eax
cmp edx, esi
jne 0x42775c
xor ecx, ecx
jmp 0x427760
mov ecx, esi
sub ecx, edx
push ebx
push dword [ebp - 0x138]
mov eax, edx
sub eax, esi
neg eax
push ecx
sbb eax, eax
and eax, edx
push eax
push ebx
push ebx
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x4277b8
push str.WinHttpSendRequest_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xc0]
push eax
call fcn.0042c6d3
pop ecx
mov byte [ebp - 4], 0x10
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.00403e76
lea esi, [ebp - 0xc0]
jmp 0x4276ef
mov eax, dword [ebp - 0x134]
cmp eax, ebx
je 0x4277d0
push ebx
call fcn.00425c0f
test al, al
jne 0x427729
push ebx
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x4277ff
push str.WinHttpReceiveResponse_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xc0]
push eax
call fcn.0042c6d3
pop ecx
mov byte [ebp - 4], 0x11
jmp 0x4277a1
xor eax, eax
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], ebx
mov word [ebp - 0x88], ax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x118]
push edi
push eax
call fcn.00427038
pop ecx
pop ecx
test al, al
jne 0x42783a
lea esi, [ebp - 0x88]
jmp 0x4276ef
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x13
push eax
mov edx, edi
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], ebx
call fcn.00427d06
pop ecx
pop ecx
test al, al
jne 0x427875
lea esi, [ebp - 0x60]
call fcn.00404123
jmp 0x42782f
mov esi, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x138]
lea eax, [ebp - 0x60]
push eax
push esi
call fcn.00426e4e
test al, al
jne 0x42789c
push str.Consumers_SetHeaders_failed.
push edi
call fcn.00403fad
jmp 0x42786b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
test al, al
jne 0x4278ae
push str.Consumers_ConsumePrepare_failed.
jmp 0x427894
lea ecx, [ebp - 0x60]
call fcn.00427152
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x168], edx
cmp eax, ebx
je 0x4278dd
push ebx
call fcn.00425c0f
test al, al
je 0x4278dd
push str.Cancel_event
jmp 0x427894
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x140], ebx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov edx, ecx
or edx, eax
je 0x42792f
cmp dword [ebp - 0x140], eax
ja 0x427990
jb 0x42792f
cmp dword [ebp - 0x144], ecx
jae 0x427990
lea eax, [ebp - 0x170]
push eax
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x427982
push str.WinHttpQueryDataAvailable_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xc0]
push eax
call fcn.0042c6d3
pop ecx
mov byte [ebp - 4], 0x15
push ebx
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.00403e76
push 1
xor edi, edi
lea esi, [ebp - 0xc0]
call fcn.00401501
jmp 0x427b69
mov esi, dword [ebp - 0x170]
cmp esi, ebx
jne 0x427a3c
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx]
call dword [eax + 0x14]
cmp dword [ebp - 0x130], ebx
je 0x4279af
push dword [ebp - 0x130]
call fcn.004e7927
pop ecx
lea esi, [ebp - 0x60]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
call fcn.00404123
push 1
xor edi, edi
lea esi, [ebp - 0x88]
call fcn.00401501
lea esi, [ebp - 0x158]
call fcn.00404123
cmp dword [ebp - 0x118], ebx
je 0x4279f7
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x120], ebx
je 0x427a0b
push dword [ebp - 0x120]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push 1
xor edi, edi
lea esi, [ebp - 0x50]
call fcn.00401501
push 1
lea esi, [ebp - 0x34]
call fcn.00401501
cmp dword [ebp - 0x11c], ebx
je 0x427a35
push dword [ebp - 0x11c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov al, 1
jmp 0x427c05
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x16
call fcn.004035dc
lea eax, [ebp - 0x15c]
push eax
mov dword [ebp - 4], 0x14
push dword [ebp - 0x170]
push dword [ebp - 0x130]
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x427a96
push str.WinHttpReadData_failed:
push edi
call fcn.00403fad
lea eax, [ebp - 0xc0]
push eax
call fcn.0042c6d3
pop ecx
mov byte [ebp - 4], 0x18
jmp 0x427962
mov esi, dword [ebp - 0x15c]
lea eax, [ebp - 0x130]
call fcn.004035dc
mov eax, dword [ebp - 0x15c]
add dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx]
adc dword [ebp - 0x140], ebx
lea edx, [ebp - 0x130]
push edx
call dword [eax + 0x10]
test al, al
jne 0x427adf
push str.Consumers_ConsumeData_failed.
push edi
call fcn.00403fad
jmp 0x427b69
cmp dword [ebp - 0x174], ebx
je 0x427b2a
mov esi, dword [ebp - 0x148]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
add eax, dword [ebp - 0x16c]
mov ecx, esi
adc edx, dword [ebp - 0x168]
push edx
push eax
mov eax, dword [esi]
call dword [eax + 4]
add eax, dword [ebp - 0x144]
adc edx, dword [ebp - 0x140]
push edx
push eax
push dword [ebp - 0x178]
call dword [ebp - 0x174]
add esp, 0x14
test al, al
je 0x427b69
cmp dword [ebp - 0x134], ebx
je 0x42790b
mov eax, dword [ebp - 0x134]
push ebx
call fcn.00425c0f
test al, al
je 0x42790b
push str.Cancel_event
jmp 0x427ad4
cmp dword [ebp - 0x130], ebx
je 0x427b7d
push dword [ebp - 0x130]
call fcn.004e7927
pop ecx
lea esi, [ebp - 0x60]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
call fcn.00404123
push 1
xor edi, edi
lea esi, [ebp - 0x88]
call fcn.00401501
lea esi, [ebp - 0x158]
call fcn.00404123
cmp dword [ebp - 0x118], ebx
je 0x427bc5
push dword [ebp - 0x118]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x120], ebx
je 0x427bd9
push dword [ebp - 0x120]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push 1
xor edi, edi
lea esi, [ebp - 0x50]
call fcn.00401501
push 1
lea esi, [ebp - 0x34]
call fcn.00401501
cmp dword [ebp - 0x11c], ebx
je 0x427c03
push dword [ebp - 0x11c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor al, al
call fcn.004f41cb
ret