Function at 0x406ed0
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb80
mov eax, dword [0x430014]
xor eax, ebp
mov dword [esp + 0xb78], eax
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call edi
mov esi, eax
call edi
sub esp, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
lea edi, [esp + 0xf8]
mov dword [esp], edi
mov dword [esp + 0xc], str.___________________________
call fcn.004062e0
add esp, 0x18
xor eax, eax
mov word [edi + 0x56], ax
mov dword [esp + 0x84], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 7
mov word [esp + 0x84], ax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov esi, eax
cmp eax, 7
ja 0x4086d3
lea eax, [esp + 0x84]
mov dword [eax + 0x10], esi
mov ecx, esi
add ecx, esi
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + esi*2 + 0x84], 0
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], 7
mov word [esp + 0x6c], di
push 0x60
call fcn.0041c24c
add esp, 4
mov esi, eax
mov dword [esp + 0x7c], 0x2c
mov dword [esp + 0x80], 0x2f
push 0x58
push str.Content_Type:_multipart_form_data__boundary
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esi + 0x58], di
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x94]
cmp dword [esp + 0x98], 8
jb 0x406fe7
mov eax, dword [esp + 0x84]
jmp 0x406fee
lea eax, [esp + 0x84]
cmp edi, 3
ja 0x408700
mov ecx, esi
add ecx, 0x58
lea edx, [edi + 0x2c]
mov dword [esp + 0x7c], edx
lea edx, [edi + edi]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov word [esi + edi*2 + 0x58], 0
xor ebx, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x54], 0
lea esi, [esp + 0xb08]
lea edx, [esp + 0x84]
mov ecx, esi
call fcn.00408e70
cmp dword [esi + 0x10], ebx
je 0x40850f
cmp dword [esp + 0x68], 0x10
jb 0x40705a
mov eax, dword [esp + 0x54]
jmp 0x40705e
lea eax, [esp + 0x54]
mov dword [esp + 0x64], 0
mov byte [eax], 0
mov ebx, dword [esp + 0xb18]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x7ffffffe
je 0x408e4a
mov ecx, dword [esp + 0xb08]
mov eax, dword [esp + 0xb1c]
mov dword [esp + 0x8e0], 0
lea edx, [ebx + 2]
cmp edx, 0x10
jb 0x4070e6
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, edx
or eax, 0xf
cmp eax, 0x17
mov edi, 0x16
cmovae edi, eax
mov eax, 0x7fffffff
cmp edi, eax
cmovae edi, eax
cmp edi, 0xfff
jb 0x4070f4
lea eax, [edi + 0x24]
push eax
call fcn.0041c24c
add esp, 4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x407102
mov edi, 0xf
lea esi, [esp + 0x8e0]
jmp 0x407115
lea eax, [edi + 1]
push eax
call fcn.0041c24c
add esp, 4
mov esi, eax
mov dword [esp + 0x8e0], esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
cmp eax, 0x10
lea eax, [esp + 0xb08]
cmovb ecx, eax
mov dword [esp + 0x8f0], edx
mov dword [esp + 0x8f4], edi
mov word [esi], 0x2d2d
lea eax, [esi + 2]
push ebx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx + 2], 0
mov ecx, dword [esp + 0x8f0]
mov edx, dword [esp + 0x8f4]
mov eax, edx
sub eax, ecx
cmp eax, 2
jae 0x407196
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x8f0]
call fcn.00403910
lea ebx, [esp + 0xe0]
jmp 0x4071c3
lea esi, [ecx + 2]
lea eax, [esp + 0x8e0]
mov dword [eax + 0x10], esi
mov esi, eax
cmp edx, 0x10
lea ebx, [esp + 0xe0]
jb 0x4071b8
mov esi, dword [esp + 0x8e0]
mov word [esi + ecx], 0xa0d
mov byte [esi + ecx + 2], 0
xor ecx, ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0x10
jb 0x407218
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x40724c
sub esp, 0x10
mov cl, byte [esp + 0xb48]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x407273
lea esi, [ecx + eax]
mov dword [esp + 0x64], esi
cmp edx, 0x10
jb 0x40725e
mov edi, dword [esp + 0x54]
jmp 0x407262
lea edi, [esp + 0x54]
add ecx, edi
push eax
push ebx
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x4072b3
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4072a9
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
mov eax, dword [esp + 0x8f4]
cmp eax, 0x10
jb 0x407311
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407307
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x45
jae 0x40734f
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 0x45
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.Content_Disposition:_form_data__name_extra___filename_extra.json__r_n
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x40737d
lea ecx, [esi + 0x45]
mov dword [esp + 0x64], ecx
cmp eax, 0x10
jb 0x407361
mov edi, dword [esp + 0x54]
jmp 0x407365
lea edi, [esp + 0x54]
lea eax, [edi + esi]
push 0x45
push str.Content_Disposition:_form_data__name_extra___filename_extra.json__r_n
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + esi + 0x45], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 0x20
jae 0x4073bb
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 0x20
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.Content_Type:_application_json_r_n
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x4073ed
lea edx, [eax + 0x20]
mov dword [esp + 0x64], edx
cmp ecx, 0x10
jb 0x4073cd
mov ecx, dword [esp + 0x54]
jmp 0x4073d1
lea ecx, [esp + 0x54]
movups xmm0, xmmword [0x42c806]
movups xmmword [ecx + eax + 0x10], xmm0
movups xmm0, xmmword [str.Content_Type:_application_json_r_n]
movups xmmword [ecx + eax], xmm0
mov byte [ecx + eax + 0x20], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x40742e
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x40744f
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
cmp ecx, 0x10
jb 0x407440
mov ecx, dword [esp + 0x54]
jmp 0x407444
lea ecx, [esp + 0x54]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4074b9
cmp dword [esi + 0x14], 0x10
jb 0x40745e
mov esi, dword [esi]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov edi, edx
sub edi, ecx
cmp edi, eax
jae 0x407492
sub esp, 0x10
mov cl, byte [esp + 0xf0]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x4074b9
lea edi, [ecx + eax]
mov dword [esp + 0x64], edi
cmp edx, 0x10
jb 0x4074a4
mov ebx, dword [esp + 0x54]
jmp 0x4074a8
lea ebx, [esp + 0x54]
add ecx, ebx
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x4074f7
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x407518
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
cmp ecx, 0x10
jb 0x407509
mov ecx, dword [esp + 0x54]
jmp 0x40750d
lea ecx, [esp + 0x54]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edx, dword [eax]
cmp edx, eax
je 0x408262
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xb18]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x7ffffffe
je 0x408e4a
mov ecx, dword [esp + 0xb08]
mov eax, dword [esp + 0xb1c]
mov dword [esp + 0x8e0], 0
lea edx, [ebx + 2]
mov edi, 0xf
lea esi, [esp + 0x8e0]
cmp edx, 0x10
jb 0x4075d5
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov edi, edx
or edi, 0xf
cmp edi, 0x17
mov eax, 0x16
cmovb edi, eax
mov eax, 0x7fffffff
cmp edi, eax
cmovae edi, eax
cmp edi, 0xfff
jb 0x4075b4
lea eax, [edi + 0x24]
push eax
call fcn.0041c24c
add esp, 4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x4075c2
lea eax, [edi + 1]
push eax
call fcn.0041c24c
add esp, 4
mov esi, eax
mov dword [esp + 0x8e0], esi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp eax, 0x10
lea eax, [esp + 0xb08]
cmovb ecx, eax
mov dword [esp + 0x8f0], edx
mov dword [esp + 0x8f4], edi
mov word [esi], 0x2d2d
lea eax, [esi + 2]
push ebx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx + 2], 0
mov eax, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x407653
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x8f0]
call fcn.00403910
mov edi, dword [esp + 4]
jmp 0x407686
lea edx, [eax + 2]
mov dword [esp + 0x8f0], edx
lea edx, [esp + 0x8e0]
cmp ecx, 0x10
mov edi, dword [esp + 4]
jb 0x407674
mov edx, dword [esp + 0x8e0]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
lea eax, [esp + 0x8e0]
xor ecx, ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0x10
lea ecx, [esp + 0xe0]
jb 0x4076e2
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x407716
sub esp, 0x10
mov dl, byte [esp + 0xb48]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x40773f
lea esi, [edx + eax]
mov dword [esp + 0x64], esi
lea edi, [esp + 0x54]
cmp ebx, 0x10
jb 0x40772a
mov edi, dword [esp + 0x54]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x40777f
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407775
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
mov eax, dword [esp + 0x8f4]
cmp eax, 0x10
jb 0x4077dd
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4077d3
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
lea edx, [edi + 0x10]
lea ecx, [esp + 0xb38]
call fcn.00408e70
cmp dword [esp + 0xb48], 0
je 0x407859
lea esi, [edi + 0x28]
lea ecx, [esp + 0xa4]
mov edx, esi
call fcn.00408e70
cmp dword [esp + 0xb4], 0
jne 0x4078da
xor ebx, ebx
mov eax, dword [esp + 0xb8]
cmp eax, 0x10
jb 0x40785b
mov ecx, dword [esp + 0xa4]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x40784d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
jmp 0x40785b
xor ebx, ebx
mov eax, dword [esp + 0xb4c]
cmp eax, 0x10
jb 0x40789b
mov ecx, dword [esp + 0xb38]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407891
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
test bl, bl
je 0x4082ed
mov ecx, dword [edi + 8]
cmp byte [ecx + 0xd], 0
je 0x4078be
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x4078c8
cmp edi, dword [eax + 8]
mov edi, eax
je 0x4078ac
jmp 0x4078c8
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4078be
mov edx, eax
mov ecx, dword [ebp + 0x10]
cmp eax, dword [ecx]
jne 0x407527
jmp 0x408262
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xb48]
cmp esi, 0x7fffffda
jge 0x408e4a
mov ecx, dword [esp + 0xb38]
mov edx, dword [esp + 0xb4c]
mov dword [esp + 0xb20], 0
lea eax, [esi + 0x26]
mov edi, 0xf
lea ebx, [esp + 0xb20]
cmp eax, 0x10
jb 0x407984
mov dword [esp + 0x14], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov edi, eax
or edi, 0xf
cmp edi, 0x17
mov eax, 0x16
cmovb edi, eax
mov eax, 0x7fffffff
cmp edi, eax
cmovae edi, eax
cmp edi, 0xfff
jb 0x407963
lea eax, [edi + 0x24]
push eax
call fcn.0041c24c
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x407971
lea eax, [edi + 1]
push eax
call fcn.0041c24c
add esp, 4
mov ebx, eax
mov dword [esp + 0xb20], ebx
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp edx, 0x10
mov dword [esp + 0xb30], eax
lea eax, [esp + 0xb38]
cmovb ecx, eax
mov dword [esp + 0xb34], edi
movsd xmm0, qword [0x42c798]
movsd qword [ebx + 0x1e], xmm0
movups xmm0, xmmword [0x42c78a]
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [str.Content_Disposition:_form_data__name_]
movups xmmword [ebx], xmm0
lea eax, [ebx + 0x26]
push esi
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi + 0x26], 0
mov eax, dword [esp + 0xb30]
mov ecx, dword [esp + 0xb34]
mov edx, ecx
sub edx, eax
cmp edx, 0xd
jae 0x407a1f
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 0xd
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.___filename_
lea ecx, [esp + 0xb30]
call fcn.00403910
mov edi, dword [esp + 4]
jmp 0x407a65
lea edx, [eax + 0xd]
mov dword [esp + 0xb30], edx
lea edx, [esp + 0xb20]
cmp ecx, 0x10
mov edi, dword [esp + 4]
jb 0x407a40
mov edx, dword [esp + 0xb20]
mov dword [edx + eax + 8], 0x3d656d61
mov dword [edx + eax + 4], 0x6e656c69
mov dword [edx + eax], 0x66203b22
mov word [edx + eax + 0xc], 0x22
lea eax, [esp + 0xb20]
xor ecx, ecx
mov dword [esp + 0xae0], ecx
mov dword [esp + 0xaf0], ecx
mov dword [esp + 0xaf4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xaf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xae0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0xb8], 0x10
lea ecx, [esp + 0xa4]
jb 0x407ac1
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xaf0]
mov ebx, dword [esp + 0xaf4]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x407afe
sub esp, 0x10
mov dl, byte [esp + 0xf0]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0xaf0]
call fcn.00403910
jmp 0x407b37
lea esi, [edx + eax]
mov dword [esp + 0xaf0], esi
lea edi, [esp + 0xae0]
cmp ebx, 0x10
jb 0x407b1b
mov edi, dword [esp + 0xae0]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [esp + 0xae0]
mov edi, dword [esp + 4]
xor ecx, ecx
mov dword [esp + 0x8e0], ecx
mov dword [esp + 0x8f0], ecx
mov dword [esp + 0x8f4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x8f0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x8e0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x407bbb
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 3
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c887
lea ecx, [esp + 0x8f0]
call fcn.00403910
jmp 0x407be6
lea edx, [eax + 3]
mov dword [esp + 0x8f0], edx
lea edx, [esp + 0x8e0]
cmp ecx, 0x10
jb 0x407bd8
mov edx, dword [esp + 0x8e0]
mov dword [edx + eax], 0xa0d22
lea eax, [esp + 0x8e0]
xor ecx, ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0x10
lea ecx, [esp + 0xe0]
jb 0x407c42
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x407c73
sub esp, 0x10
mov dl, byte [esp + 0x4c]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x407c9c
lea esi, [edx + eax]
mov dword [esp + 0x64], esi
lea edi, [esp + 0x54]
cmp ebx, 0x10
jb 0x407c87
mov edi, dword [esp + 0x54]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x407cdc
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407cd2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
mov eax, dword [esp + 0x8f4]
cmp eax, 0x10
jb 0x407d3a
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407d30
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0x8f0], 0
mov dword [esp + 0x8f4], 0xf
mov byte [esp + 0x8e0], 0
mov eax, dword [esp + 0xaf4]
cmp eax, 0x10
jb 0x407d98
mov ecx, dword [esp + 0xae0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407d8e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0xaf0], 0
mov dword [esp + 0xaf4], 0xf
mov byte [esp + 0xae0], 0
mov eax, dword [esp + 0xb34]
cmp eax, 0x10
jb 0x407df6
mov ecx, dword [esp + 0xb20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x407dec
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x28
jae 0x407e34
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 0x28
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.Content_Type:_application_octet_stream_r_n
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x407e72
lea ecx, [eax + 0x28]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x54]
cmp edx, 0x10
jb 0x407e48
mov ecx, dword [esp + 0x54]
movsd xmm0, qword [0x42c837]
movsd qword [ecx + eax + 0x20], xmm0
movups xmm0, xmmword [0x42c827]
movups xmmword [ecx + eax + 0x10], xmm0
movups xmm0, xmmword [str.Content_Type:_application_octet_stream_r_n]
movups xmmword [ecx + eax], xmm0
mov byte [ecx + eax + 0x28], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x407eb0
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x407ecf
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x54]
cmp ecx, 0x10
jb 0x407ec4
mov edx, dword [esp + 0x54]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
mov dword [esp + 0xe0], 0x42a150
lea ecx, [esp + 0x150]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0x150], 0x42a15c
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
mov ebx, 0x42a158
mov dword [esp + eax + 0xe0], ebx
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xdc], ecx
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xe0], 0x42a160
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0xdc], ecx
xor edx, edx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xe0]
add ecx, eax
mov dword [esp + 8], 0
push edx
lea esi, [esp + 0xf4]
push esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xe0], ebx
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xdc], ecx
mov ecx, esi
call fcn.0041ea00
cmp dword [edi + 0x3c], 8
mov eax, dword [esp + 0xc]
jb 0x407fb8
mov eax, dword [edi + 0x28]
lea ecx, [esp + 0xe0]
push 0x40
push 0x20
push eax
call fcn.0041e9c0
mov esi, 0
mov ebx, 0
xor eax, eax
cmp dword [esp + 0x13c], eax
je 0x4080ef
xor eax, eax
lea esi, [esp + 0xe0]
mov ecx, esi
push 2
push eax
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov ecx, esi
lea eax, [esp + 0x8e0]
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
xor eax, eax
mov ecx, dword [esp + 0x8e8]
add ecx, dword [esp + 0x8e0]
mov edx, dword [esp + 0x8ec]
adc edx, dword [esp + 0x8e4]
sete bl
mov esi, 0
jne 0x4080b9
test ecx, ecx
mov dword [esp + 8], edx
jne 0x408050
mov eax, ecx
or eax, edx
mov eax, 0
mov dword [esp + 0xc], 0
jne 0x408086
jmp 0x4080b9
js 0x408e4f
cmp ecx, 0x1000
jae 0x408246
push ecx
mov esi, ecx
call fcn.0041c24c
add esp, 4
mov edi, eax
push esi
push 0
push edi
call sub.VCRUNTIME140.dll_memset
mov eax, edi
add esp, 0xc
lea ecx, [edi + esi]
mov dword [esp + 0xc], ecx
mov ecx, esi
mov dword [esp + 0x10], ecx
mov esi, eax
lea edi, [esp + 0xe0]
mov ecx, edi
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov ecx, edi
mov edi, dword [esp + 4]
push dword [esp + 8]
push dword [esp + 0x14]
push esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
lea ecx, [esp + 0xf0]
call fcn.0041f640
test eax, eax
jne 0x4080ef
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [esp + eax]
add ecx, 0xe0
mov eax, dword [ecx + 0xc]
or eax, 2
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xe0], 0x42a158
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xdc], ecx
lea ecx, [esp + 0xf0]
call fcn.0041f5f0
lea ecx, [esp + 0x150]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
test bl, bl
mov ecx, dword [esp + 8]
je 0x40820f
cmp esi, ecx
je 0x4081ae
mov eax, ecx
sub eax, esi
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov edi, edx
sub edi, ecx
cmp edi, eax
jae 0x408179
sub esp, 0x10
mov cl, byte [esp + 0xf0]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x4081aa
lea edi, [ecx + eax]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x64], edi
lea edi, [esp + 0x54]
cmp edx, 0x10
jb 0x408195
mov edi, dword [esp + 0x54]
add ecx, edi
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [edi + eax], 0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x4081ec
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x42c888
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x40820b
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x54]
cmp ecx, 0x10
jb 0x408200
mov edx, dword [esp + 0x54]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
mov ecx, dword [esp + 8]
test esi, esi
je 0x407817
sub ecx, esi
cmp ecx, 0x1000
jb 0x408237
mov eax, dword [esi - 4]
add esi, 0xfffffffc
sub esi, eax
cmp esi, 0x20
jae 0x408e44
add ecx, 0x23
mov esi, eax
push ecx
push esi
call fcn.0041c27c
add esp, 8
jmp 0x407817
lea eax, [ecx + 0x23]
push eax
mov esi, ecx
call fcn.0041c24c
add esp, 4
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x40806f
mov edi, dword [esp + 0xb18]
mov eax, edi
and eax, 0xfffffffe
cmp eax, 0x7ffffffe
je 0x408e4a
mov ecx, dword [esp + 0xb08]
mov eax, dword [esp + 0xb1c]
mov dword [esp + 0x8e0], 0
lea edx, [edi + 2]
cmp edx, 0x10
jb 0x4082df
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, edx
or eax, 0xf
cmp eax, 0x17
mov ebx, 0x16
cmovae ebx, eax
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x4082f4
lea eax, [ebx + 0x24]
push eax
call fcn.0041c24c
add esp, 4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x408302
mov ebx, 0xf
lea esi, [esp + 0x8e0]
jmp 0x408315
xor ebx, ebx
jmp 0x40850f
lea eax, [ebx + 1]
push eax
call fcn.0041c24c
add esp, 4
mov esi, eax
mov dword [esp + 0x8e0], esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
cmp eax, 0x10
lea eax, [esp + 0xb08]
cmovb ecx, eax
mov dword [esp + 0x8f0], edx
mov dword [esp + 0x8f4], ebx
mov word [esi], 0x2d2d
lea eax, [esi + 2]
push edi
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + edi + 2], 0
mov ecx, dword [esp + 0x8f0]
mov edx, dword [esp + 0x8f4]
mov eax, edx
sub eax, ecx
cmp eax, 4
jae 0x40838f
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 4
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.___r_n
lea ecx, [esp + 0x8f0]
call fcn.00403910
jmp 0x4083b6
lea esi, [ecx + 4]
lea eax, [esp + 0x8e0]
mov dword [eax + 0x10], esi
mov esi, eax
cmp edx, 0x10
jb 0x4083aa
mov esi, dword [esp + 0x8e0]
mov dword [esi + ecx], 0xa0d2d2d
mov byte [esi + ecx + 4], 0
xor ecx, ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0x10
jb 0x40840d
mov ecx, dword [esp + 0xe0]
jmp 0x408414
lea ecx, [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x408448
sub esp, 0x10
mov dl, byte [esp + 0xb48]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403910
jmp 0x40846f
lea esi, [edx + eax]
mov dword [esp + 0x64], esi
cmp edi, 0x10
jb 0x40845a
mov edi, dword [esp + 0x54]
jmp 0x40845e
lea edi, [esp + 0x54]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x4084af
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4084a5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
mov eax, dword [esp + 0x8f4]
cmp eax, 0x10
jb 0x40850d
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x408503
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov bl, 1
mov eax, dword [esp + 0xb1c]
cmp eax, 0x10
jb 0x40854f
mov ecx, dword [esp + 0xb08]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x408545
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
test bl, bl
je 0x4086c5
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 4
mov dword [esp + 0x40], 0x540053
mov dword [esp + 0x3c], 0x4f0050
mov word [esp + 0x44], 0
test ecx, ecx
je 0x40858e
mov dword [ecx], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xb0], xmm0
movups xmmword [esp + 0xd0], xmm0
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xa4], 0x3c
lea edi, [esp + 0xae0]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], 0x10
lea ebx, [esp + 0x8e0]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], 0x100
lea ecx, [esp + 0xe0]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], 0x400
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 8
jb 0x40860a
mov eax, dword [eax]
lea edx, [esp + 0xa4]
push edx
push 0
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x40876a
push str.https
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
mov esi, eax
test eax, eax
je 0x408650
push str.http
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x40877f
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], 0x42a1ac
call dword [sym.imp.WININET.dll_InternetOpenW]
test eax, eax
je 0x40877f
movzx ecx, word [esp + 0xbc]
sub esp, 0x20
movaps xmm0, xmmword [0x42a130]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x2c], eax
mov dword [esp], eax
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
je 0x4086cc
xor edx, edx
test esi, esi
sete dl
shl edx, 0x17
or edx, 0x80000
cmp dword [esp + 0x50], 8
jb 0x408727
mov ecx, dword [esp + 0x3c]
jmp 0x40872b
xor ebx, ebx
jmp 0x408ab6
xor ebx, ebx
jmp 0x408a6d
sub esp, 0xc
mov al, byte [esp + 0x8ec]
mov byte [esp + 4], al
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp], esi
lea ecx, [esp + 0x90]
call fcn.0041fd60
jmp 0x406f7c
sub esp, 0x10
mov cl, byte [esp + 0xf0]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esp + 0x7c]
call fcn.0041fbd0
jmp 0x407018
lea ecx, [esp + 0x3c]
lea esi, [esp + 0xe0]
xor ebx, ebx
push ebx
push edx
push ebx
push ebx
push ebx
push esi
push ecx
mov dword [esp + 0x2c], eax
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
test eax, eax
je 0x408a63
mov edi, eax
mov esi, dword [ebp + 0x14]
cmp dword [esp + 0x7c], 0
je 0x408799
cmp dword [esp + 0x80], 8
jb 0x408786
mov eax, dword [esp + 0x6c]
jmp 0x40878a
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
mov dword [esp + 4], eax
call fcn.0041fb10
add esp, 8
xor ebx, ebx
jmp 0x408a77
lea eax, [esp + 0x6c]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test esi, esi
je 0x4087ef
push 4
push esi
push 5
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x4087c6
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Could_not_unset_send_timeout__continuing..._n
push eax
call fcn.00408f70
add esp, 8
push 4
push esi
push 6
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x4087ef
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push 0x42cc00
push eax
call fcn.00408f70
add esp, 8
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x68], 0x10
jb 0x408800
mov ecx, dword [esp + 0x54]
jmp 0x408804
lea ecx, [esp + 0x54]
xor ebx, ebx
push eax
push ecx
push ebx
push ebx
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x408a5c
lea eax, [esp + 0x2c]
mov dword [eax], 8
lea esi, [esp + 0x9c]
push 0
push eax
push esi
push 0x13
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x408a5a
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x408856
mov dword [ecx], eax
cmp eax, 0xc8
jne 0x408a5a
lea eax, [esp + 0x34]
mov dword [eax], 0x40
xor ecx, ecx
mov dword [esp + 0xb20], ecx
mov dword [esp + 0xb30], ecx
mov dword [esp + 0xb34], 0xf
mov byte [esp + 0xb20], 0
lea esi, [esp + 0xb38]
push ecx
push eax
push esi
push 5
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov edx, 0
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 4], edi
je 0x4088f0
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov edx, eax
mov edi, dword [esp + 0xb30]
sub eax, edi
jb 0x4088ec
mov ecx, dword [esp + 0xb34]
cmp ecx, edx
je 0x4088ec
jb 0x408e19
cmp edx, 0xf
ja 0x4088ec
cmp ecx, 0x10
jae 0x408e54
mov edi, dword [esp + 4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0
xor eax, eax
push eax
push eax
lea eax, [esp + 0x38]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x408b93
mov edi, dword [esp + 0x30]
test edi, edi
je 0x408b8f
js 0x408e4f
cmp edi, 0x1000
jb 0x408945
lea eax, [edi + 0x23]
push eax
call fcn.0041c24c
add esp, 4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x408950
push edi
call fcn.0041c24c
add esp, 4
mov esi, eax
push edi
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0xb08]
push eax
push dword [esp + 0x34]
push esi
push dword [esp + 0x10]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [esp + 0x14], eax
test eax, eax
setne al
mov ebx, dword [esp + 0xb08]
test ebx, ebx
setne cl
and cl, al
mov byte [esp + 8], cl
cmp cl, 1
jne 0x408a17
mov eax, dword [esp + 0xb30]
mov ecx, dword [esp + 0xb34]
mov edx, ecx
sub edx, eax
cmp edx, ebx
jae 0x4089d1
sub esp, 0x10
mov al, byte [esp + 0x48]
mov byte [esp + 4], al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp], ebx
lea ecx, [esp + 0xb30]
call fcn.00403910
jmp 0x408a13
lea edx, [eax + ebx]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xb30], edx
lea edx, [esp + 0xb20]
cmp ecx, 0x10
jb 0x4089f6
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x28], edx
add eax, edx
push ebx
push esi
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov byte [ecx + eax], 0
add dword [esp + 0x18], ebx
cmp edi, 0x1000
jb 0x408a35
mov eax, dword [esi - 4]
add esi, 0xfffffffc
sub esi, eax
cmp esi, 0x20
jae 0x408e44
add edi, 0x23
mov esi, eax
push edi
push esi
call fcn.0041c27c
add esp, 8
cmp byte [esp + 8], 0
mov edi, dword [esp + 4]
jne 0x4088fc
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x408b96
xor ebx, ebx
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x10]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0xc]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [esp + 0x50]
cmp eax, 8
jb 0x408ab6
mov ecx, dword [esp + 0x3c]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x408aac
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov eax, dword [esp + 0x68]
cmp eax, 0x10
jb 0x408af0
mov ecx, dword [esp + 0x54]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x408ae6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov eax, dword [esp + 0x80]
cmp eax, 8
jb 0x408b32
mov ecx, dword [esp + 0x6c]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x408b28
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov eax, dword [esp + 0x98]
cmp eax, 8
jb 0x408b77
mov ecx, dword [esp + 0x84]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x408b6d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov ecx, dword [esp + 0xb78]
xor ecx, ebp
call fcn.0041cd60
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 4]
mov edx, dword [ebp + 0x18]
test eax, eax
je 0x408bdc
cmp dword [esp + 0x24], 0
sete al
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x20]
sete bl
or bl, al
test edx, edx
je 0x408db1
test bl, bl
je 0x408db1
cmp dword [esp + 0xb30], 0
je 0x408be3
cmp dword [esp + 0xb34], 0x10
jb 0x408c0d
mov eax, dword [esp + 0xb20]
jmp 0x408c14
xor ebx, ebx
jmp 0x408db1
xor eax, eax
mov dword [esp + 0xb08], eax
mov dword [esp + 0xb18], eax
mov dword [esp + 0xb1c], 7
mov word [esp + 0xb08], 0
jmp 0x408d05
lea eax, [esp + 0xb20]
xor esi, esi
push esi
push esi
push 0xffffffffffffffff
push eax
push esi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x408c55
mov ebx, eax
add eax, eax
xor ecx, ecx
dec ecx
test ebx, ebx
cmovns ecx, eax
push ecx
call fcn.0041c340
add esp, 4
mov esi, eax
cmp dword [esp + 0xb34], 0x10
jb 0x408c7d
mov eax, dword [esp + 0xb20]
jmp 0x408c84
mov dword [esp + 0xb08], esi
mov dword [esp + 0xb18], esi
mov dword [esp + 0xb1c], 7
mov word [esp + 0xb08], 0
jmp 0x408d02
lea eax, [esp + 0xb20]
xor edi, edi
push ebx
push esi
push 0xffffffffffffffff
push eax
push edi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [esp + 0xb08], edi
mov dword [esp + 0xb18], edi
mov dword [esp + 0xb1c], 7
mov word [esp + 0xb08], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov ebx, eax
cmp eax, 7
ja 0x408df6
mov dword [esp + 0xb18], ebx
mov eax, ebx
add eax, ebx
push eax
push esi
lea eax, [esp + 0xb10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + ebx*2 + 0xb08], 0
mov edi, dword [esp + 4]
push esi
call fcn.0041c349
add esp, 4
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x14]
lea ecx, [esp + 0xb08]
cmp ecx, edx
je 0x408d69
cmp eax, 8
jb 0x408d4f
mov ecx, dword [edx]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x408d42
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
mov edx, dword [ebp + 0x18]
lea esi, [esp + 0xb1c]
movsd xmm0, qword [esi - 4]
movsd qword [edx + 0x10], xmm0
movups xmm0, xmmword [esi - 0x14]
movups xmmword [edx], xmm0
jmp 0x408da9
lea esi, [edx + 0x14]
cmp eax, 8
jb 0x408da9
mov ecx, dword [edx]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x408d9b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0041c27c
add esp, 8
mov edi, dword [esp + 4]
mov dword [esi], 7
mov bl, 1
mov eax, dword [esp + 0xb34]
cmp eax, 0x10
jb 0x408a5c
mov ecx, dword [esp + 0xb20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x408de7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x408e44
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0041c27c
add esp, 8
jmp 0x408a5c
sub esp, 0xc
mov al, byte [esp + 0x44]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], ebx
lea ecx, [esp + 0xb14]
call fcn.0041fd60
jmp 0x408cf5
sub esp, 8
mov cl, byte [esp + 0xb10]
mov byte [esp + 4], cl
mov dword [esp], eax
lea esi, [esp + 0xb28]
mov ecx, esi
mov ebx, edx
call fcn.0041e710
mov edx, ebx
mov dword [esi + 0x10], edi
jmp 0x4088ec
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.0041e9b0
call fcn.0041fb00
lea ecx, [esp + 0xb20]
mov esi, edx
call fcn.0041fb70
mov edx, esi
jmp 0x4088ec