Function at 0x8417f0
Capabilities:
Connect to http server
Create http request
Hash data using sha256
Read data from internet
Receive data
Reference http user-agent string
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x846004]
xor eax, esp
mov dword [esp + 0x134], eax
push esi
push edi
nop dword [eax]
push 0
push 0
push 0
push 0
push str.Mozilla_5.0
call dword [sym.imp.WININET.dll_InternetOpenW]
push 0
push 0
push 3
push 0x844290
push 0x844290
push 0
mov edi, eax
push 0x844294
push edi
call dword [sym.imp.WININET.dll_InternetConnectW]
push 0
push 0x80000000
push 0
push 0
push 0
push str._data
push 0x8442bc
push eax
mov dword [esp + 0x44], eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
push 0
push 0
push 0
mov esi, eax
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x8418aa
nop word [eax + eax]
push 0
push 7
push 0x2f0c
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x841880
push 0x201
call fcn.00842bd6
add esp, 4
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x64]
push ecx
push 0x201
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x8418e1
test eax, eax
je 0x8418e1
mov edx, dword [esp + 0x2c]
mov byte [ecx + edx], 0
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [esp + 0x24]
call esi
push edi
call esi
mov dword [esp + 0x30], 0
nop dword [eax + eax]
mov edi, dword [esp + 0x2c]
xorps xmm0, xmm0
mov esi, edi
movaps xmmword [esp + 0x80], xmm0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x841914
sub esi, ecx
cmp esi, 0x7fffffff
ja 0x84209d
cmp esi, 0x10
jae 0x841975
push esi
lea eax, [esp + 0x84]
mov dword [esp + 0x94], esi
push edi
push eax
mov dword [esp + 0xa0], 0xf
call sub.VCRUNTIME140.dll_memcpy
mov byte [esp + esi + 0x8c], 0
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
jmp 0x841a11
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x841989
mov edi, 0x7fffffff
jmp 0x841994
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
xor ecx, ecx
mov eax, edi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x1000
jb 0x8419d3
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x842092
push eax
call fcn.00842b98
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x842097
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x8419e4
test ecx, ecx
je 0x8419e2
push ecx
call fcn.00842b98
add esp, 4
jmp 0x8419e4
xor eax, eax
mov edx, dword [esp + 0x2c]
push esi
push edx
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x1c]
mov byte [eax + esi], 0
add esp, 0xc
push 0x400
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x28], eax
push dword [esp + 0x30]
push 0x8442c4
push 0xa
push eax
call fcn.00841010
mov ecx, dword [esp + 0x38]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x841a41
mov eax, 0x7fffffff
sub ecx, edx
sub eax, esi
cmp eax, ecx
jb 0x84209d
push ecx
push dword [esp + 0x2c]
cmp edi, 0x10
lea eax, [esp + 0x88]
push esi
cmovae eax, dword [esp + 0x1c]
push eax
push ecx
push dword [esp + 0x4c]
lea ecx, [esp + 0x58]
call fcn.00842a50
mov ecx, dword [esp + 0x94]
cmp ecx, 0x10
jb 0x841ab9
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x841aaf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
movaps xmm1, xmmword [esp + 0x40]
lea eax, [esp + 0x80]
movq xmm0, qword [esp + 0x50]
xor esi, esi
cmp dword [esp + 0x54], 0x10
movd ecx, xmm1
movq qword [esp + 0x90], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x80], xmm1
cmovae eax, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x108], esi
movlpd qword [esp + 0x110], xmm0
mov dword [esp + 0x118], 0x6a09e667
mov dword [esp + 0x11c], 0xbb67ae85
mov dword [esp + 0x120], 0x3c6ef372
mov dword [esp + 0x124], 0xa54ff53a
mov dword [esp + 0x128], 0x510e527f
mov dword [esp + 0x12c], 0x9b05688c
mov dword [esp + 0x130], 0x1f83d9ab
mov dword [esp + 0x134], 0x5be0cd19
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x841bc3
nop word [eax + eax]
mov al, byte [edi + eax]
mov byte [esp + esi + 0xc8], al
mov esi, dword [esp + 0x108]
inc esi
mov dword [esp + 0x108], esi
cmp esi, 0x40
jne 0x841bba
lea ecx, [esp + 0xc8]
call fcn.008411e0
add dword [esp + 0x110], 0x200
mov ecx, dword [esp + 0x50]
adc dword [esp + 0x114], 0
xor esi, esi
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x24]
inc edi
cmp edi, ecx
jb 0x841b70
push 0x20
call fcn.00842bd6
xor ecx, ecx
mov byte [esp + esi + 0xcc], 0x80
add esp, 4
mov edi, eax
cmp esi, 0x38
mov dword [esp + 0x10], edi
sbb edx, edx
and edx, 0xfffffff8
add edx, 0x40
add esi, 1
adc ecx, ecx
test ecx, ecx
ja 0x841c18
jb 0x841c00
cmp esi, edx
jae 0x841c18
nop word [eax + eax]
mov byte [esp + esi + 0xc8], 0
add esi, 1
adc ecx, 0
test ecx, ecx
jb 0x841c00
ja 0x841c18
cmp esi, edx
jb 0x841c00
mov edx, dword [esp + 0x108]
cmp edx, 0x38
jb 0x841c4b
lea ecx, [esp + 0xc8]
call fcn.008411e0
push 0x38
lea eax, [esp + 0xcc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x114]
add esp, 0xc
shl edx, 3
mov esi, 0
add edx, dword [esp + 0x110]
mov al, dl
mov dword [esp + 0x110], edx
adc esi, dword [esp + 0x114]
mov ecx, edx
mov byte [esp + 0x107], al
mov eax, esi
shrd ecx, eax, 8
mov eax, esi
mov dword [esp + 0x24], esi
mov byte [esp + 0x106], cl
mov ecx, edx
shrd ecx, eax, 0x10
mov dword [esp + 0x114], esi
mov byte [esp + 0x105], cl
mov ecx, esi
mov eax, esi
mov byte [esp + 0x103], cl
shrd edx, eax, 0x18
mov eax, ecx
shr eax, 8
mov byte [esp + 0x102], al
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
mov byte [esp + 0x100], cl
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], dl
mov byte [esp + 0x101], al
call fcn.008411e0
xor eax, eax
mov dword [esp + 0x24], 4
mov dword [esp + 0x3c], eax
nop dword [eax]
mov ecx, 3
lea esi, [eax + edi]
sub ecx, eax
lea edx, [esp + 0x118]
shl ecx, 3
mov edi, 8
nop dword [eax]
mov eax, dword [edx]
lea edx, [edx + 4]
shr eax, cl
lea esi, [esi + 4]
mov byte [esi - 4], al
sub edi, 1
jne 0x841d10
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
inc eax
sub dword [esp + 0x24], 1
mov dword [esp + 0x3c], eax
jne 0x841cf0
mov edx, edi
lea ecx, [esp + 0x68]
call fcn.00841360
cmp dword [esp + 0x7c], 0x10
lea edi, [esp + 0x68]
cmovae edi, dword [esp + 0x68]
cmp dword [esp + 0x78], 4
jb 0x841da2
mov esi, edi
cmp byte [esi], 0x32
jne 0x841d93
mov ecx, esi
mov edx, str.2024
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x841d86
cmp al, byte [edx]
jne 0x841d8a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x841d8a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x841d8a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x841d8a
xor eax, eax
jmp 0x841d8f
sbb eax, eax
or eax, 1
test eax, eax
je 0x841d9a
cmp esi, edi
je 0x841da2
dec esi
jmp 0x841d58
sub esi, edi
je 0x841e4b
push dword [esp + 0x10]
call fcn.00842b93
add esp, 4
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc dword [esp + 0x34]
add esp, 4
mov ecx, dword [esp + 0x7c]
cmp ecx, 0x10
jb 0x841df5
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x841deb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
mov eax, dword [esp + 0x54]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], 0
cmp eax, 0x10
jb 0x841900
mov edx, dword [esp + 0x34]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x841e3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
jmp 0x841900
push 5
mov dword [esp + 0x38], 0
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [esp + 0x7c]
mov ecx, 0x7fffffff
sub ecx, edx
add esp, 4
mov edi, eax
cmp ecx, 9
jb 0x84209d
cmp dword [esp + 0x7c], 0x10
lea ecx, [esp + 0x68]
push edx
cmovae ecx, dword [esp + 0x6c]
push ecx
push 9
push str._hash_:_
push ecx
push dword [esp + 0x4c]
lea ecx, [esp + 0x58]
call fcn.00842a50
mov esi, dword [esp + 0x54]
mov eax, esi
mov edx, dword [esp + 0x50]
sub eax, edx
cmp eax, 2
jb 0x841ed2
cmp esi, 0x10
lea eax, [edx + 2]
lea ecx, [esp + 0x40]
mov dword [esp + 0x50], eax
cmovae ecx, dword [esp + 0x40]
mov ax, word [0x8442d0]
mov word [ecx + edx], ax
lea eax, [esp + 0x40]
mov byte [ecx + edx + 2], 0
jmp 0x841ee9
push 2
push ecx
mov byte [esp + 0x40], 0
lea ecx, [esp + 0x48]
push dword [esp + 0x40]
push 2
call fcn.008428f0
mov dword [esp + 0xb0], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb4], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xb0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x54]
cmp ecx, 0x10
jb 0x841f6a
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x841f60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
cmp dword [esp + 0xb4], 0x10
lea ecx, [esp + 0x34]
push ecx
lea eax, [esp + 0xa4]
cmovae eax, dword [esp + 0xa4]
sub esp, 8
push eax
call fcn.00841650
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push edi
call esi
add esp, 0x14
push dword [esp + 0x10]
call fcn.00842b93
add esp, 4
push dword [esp + 0x28]
call esi
mov ecx, dword [esp + 0xb8]
add esp, 4
cmp ecx, 0x10
jb 0x841fec
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x841fe2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
cmp ecx, 0x10
jb 0x84203c
mov edx, dword [esp + 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x842032
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], 0
cmp ecx, 0x10
jb 0x841810
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x842083
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x842097
push ecx
push edx
call fcn.00842bc8
add esp, 8
jmp 0x841810
call fcn.00841110
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.008411b0
int3