Function at 0x4079c0
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, 0xb90
mov eax, dword [0x43000c]
xor eax, ebp
mov dword [esp + 0xb88], eax
mov dword [esp + 0x18], 7
xor ebx, ebx
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call edi
mov esi, eax
call edi
lea edi, [esp + 0xe0]
push eax
push esi
push str.___________________________
push str._s_08X_08X
push 0x2c
push edi
call fcn.004062f0
add esp, 0x18
mov word [edi + 0x56], bx
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], bx
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov esi, eax
cmp eax, 7
ja 0x407a68
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
jmp 0x407a90
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.0041fa30
lea esi, [esp + 0x6c]
mov eax, 7
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0
mov word [esi], 0
sub esp, 0xc
mov al, byte [esp + 0xec]
mov byte [esp + 4], al
mov dword [esp + 8], str.Content_Type:_multipart_form_data__boundary
mov dword [esp], 0x2c
mov ecx, esi
call fcn.0041fa30
mov eax, dword [esp + 0x94]
cmp dword [esp + 0x98], 7
jbe 0x407ae6
mov ecx, dword [esp + 0x84]
jmp 0x407aed
lea ecx, [esp + 0x84]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x407b28
lea edi, [edx + eax]
mov dword [esp + 0x7c], edi
cmp ebx, 7
jbe 0x407b10
mov esi, dword [esp + 0x6c]
lea edx, [esi + edx*2]
add eax, eax
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov word [esi + edi*2], 0
jmp 0x407b4a
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 + 0x7c]
call fcn.0041fc90
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
lea esi, [esp + 0xb18]
lea edx, [esp + 0x84]
mov ecx, esi
call fcn.00409cd0
cmp dword [esi + 0x10], 0
je 0x408e18
cmp dword [esp + 0x68], 0xf
jbe 0x407b8b
mov eax, dword [esp + 0x54]
jmp 0x407b8f
lea eax, [esp + 0x54]
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov byte [eax], cl
mov eax, 0xf
mov dword [esp + 0x8f4], eax
mov dword [esp + 0x8f0], ecx
mov byte [esp + 0x8e0], cl
mov eax, dword [esp + 0xb28]
add eax, 2
cmp eax, 0xf
ja 0x409a1e
lea edi, [esp + 0x8e0]
mov dword [edi + 0x10], 2
mov word [edi], 0x2d2d
mov byte [edi + 2], 0
mov eax, dword [esp + 0xb28]
cmp dword [esp + 0xb2c], 0xf
jbe 0x407bf3
mov esi, dword [esp + 0xb18]
mov ecx, dword [esp + 0x8f0]
mov edx, dword [esp + 0x8f4]
mov edi, edx
sub edi, ecx
cmp edi, eax
jb 0x4091f9
lea edi, [ecx + eax]
mov dword [esp + 0x8f0], edi
cmp edx, 0xf
jbe 0x407c25
mov ebx, dword [esp + 0x8e0]
jmp 0x407c2c
lea ebx, [esp + 0x8e0]
add ecx, ebx
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov esi, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov eax, ecx
sub eax, esi
cmp eax, 2
jb 0x409223
lea eax, [esp + 0x8e0]
lea edx, [esi + 2]
mov dword [eax + 0x10], edx
mov edi, eax
cmp ecx, 0xf
jbe 0x407c73
mov edi, dword [esp + 0x8e0]
lea ecx, [esp + 0x8f0]
lea edx, [esp + 0x8f4]
mov word [edi + esi], 0xa0d
mov byte [edi + esi + 2], 0
xor esi, esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [ecx], esi
mov dword [edx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0xf
lea edi, [esp + 0xe0]
jbe 0x407cdf
mov edi, dword [esp + 0xe0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, edx
sub esi, ecx
cmp esi, eax
jb 0x40925c
mov ebx, edi
lea esi, [ecx + eax]
mov dword [esp + 0x64], esi
cmp edx, 0xf
jbe 0x407d07
mov edi, dword [esp + 0x54]
jmp 0x407d0b
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 0x407d48
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409b1d
push esi
push ecx
call fcn.0041dcce
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 0x407d92
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409b3a
push esi
push ecx
call fcn.0041dcce
add esp, 8
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x45
jb 0x409283
lea ecx, [esi + 0x45]
mov dword [esp + 0x64], ecx
cmp eax, 0xf
jbe 0x407db9
mov edi, dword [esp + 0x54]
jmp 0x407dbd
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
jb 0x4092b3
lea edx, [eax + 0x20]
mov dword [esp + 0x64], edx
cmp ecx, 0xf
jbe 0x407dfc
mov ecx, dword [esp + 0x54]
jmp 0x407e00
lea ecx, [esp + 0x54]
movups xmm0, xmmword [0x42c875]
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
jb 0x4092e3
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
cmp ecx, 0xf
jbe 0x407e46
mov ecx, dword [esp + 0x54]
jmp 0x407e4a
lea ecx, [esp + 0x54]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x407e9f
cmp dword [esi + 0x14], 0xf
jbe 0x407e64
mov esi, dword [esi]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov edi, edx
sub edi, ecx
cmp edi, eax
jb 0x4093d4
lea edi, [ecx + eax]
mov dword [esp + 0x64], edi
cmp edx, 0xf
jbe 0x407e8a
mov ebx, dword [esp + 0x54]
jmp 0x407e8e
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
jb 0x409313
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
cmp ecx, 0xf
jbe 0x407ec6
mov ecx, dword [esp + 0x54]
jmp 0x407eca
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 0x408e4b
mov dword [esp + 8], edx
mov eax, 0xf
mov dword [esp + 0x8f4], eax
mov dword [esp + 0x8f0], 0
mov byte [esp + 0x8e0], 0
mov eax, dword [esp + 0xb28]
add eax, 2
cmp eax, 0xf
ja 0x408c12
mov dword [esp + 0x8f0], 2
lea eax, [esp + 0x8e0]
mov word [eax], 0x2d2d
mov byte [eax + 2], 0
mov eax, dword [esp + 0xb28]
cmp dword [esp + 0xb2c], 0xf
lea ecx, [esp + 0xb18]
jbe 0x407f54
mov ecx, dword [esp + 0xb18]
mov edx, dword [esp + 0x8f0]
mov esi, dword [esp + 0x8f4]
mov edi, esi
sub edi, edx
cmp edi, eax
jb 0x4081cf
lea edi, [edx + eax]
mov dword [esp + 0x8f0], edi
lea ebx, [esp + 0x8e0]
cmp esi, 0xf
jbe 0x407f8b
mov ebx, dword [esp + 0x8e0]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x4081f9
lea edx, [eax + 2]
mov dword [esp + 0x8f0], edx
lea edx, [esp + 0x8e0]
cmp ecx, 0xf
jbe 0x407fd4
mov edx, dword [esp + 0x8e0]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
lea eax, [esp + 0x8e0]
lea ecx, [esp + 0x8f4]
lea edx, [esp + 0x8f0]
xor esi, esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [edx], esi
mov dword [ecx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0xf
lea ecx, [esp + 0xe0]
jbe 0x408047
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, esi
sub edi, edx
cmp edi, eax
jb 0x408232
lea edi, [edx + eax]
mov dword [esp + 0x64], edi
lea ebx, [esp + 0x54]
cmp esi, 0xf
jbe 0x40806f
mov ebx, dword [esp + 0x54]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x4080b0
mov ecx, dword [esp + 0xe0]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408c71
push edi
push ecx
call fcn.0041dcce
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 0x4080fa
mov ecx, dword [esp + 0x8e0]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408c92
push edi
push ecx
call fcn.0041dcce
add esp, 8
lea edx, [esi + 0x10]
lea ecx, [esp + 0xb30]
call fcn.00409cd0
cmp dword [esp + 0xb40], 0
je 0x408162
lea edi, [esi + 0x28]
lea ecx, [esp + 0xa4]
mov edx, edi
call fcn.00409cd0
cmp dword [esp + 0xb4], 0
jne 0x408259
xor ebx, ebx
mov eax, dword [esp + 0xb8]
cmp eax, 0x10
jb 0x408164
mov ecx, dword [esp + 0xa4]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408cd4
push edi
push ecx
call fcn.0041dcce
add esp, 8
jmp 0x408164
xor ebx, ebx
mov eax, dword [esp + 0xb44]
cmp eax, 0x10
jb 0x408190
mov ecx, dword [esp + 0xb30]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408cb3
push edi
push ecx
call fcn.0041dcce
add esp, 8
test bl, bl
je 0x408e18
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x4081b3
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4081bd
cmp esi, dword [eax + 8]
mov esi, eax
je 0x4081a1
jmp 0x4081bd
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4081b3
mov edx, eax
mov ecx, dword [ebp + 0x10]
cmp eax, dword [ecx]
jne 0x407ee4
jmp 0x408e4b
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 + 0x8f0]
call fcn.00403930
jmp 0x407f9c
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], 0x42c8f7
lea ecx, [esp + 0x8f0]
call fcn.00403930
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x407ff4
sub esp, 0x10
mov dl, byte [esp + 0xb40]
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.00403930
jmp 0x408080
mov eax, 0xf
mov dword [esp + 0xb84], eax
mov dword [esp + 0xb80], 0
mov byte [esp + 0xb70], 0
mov eax, dword [esp + 0xb40]
add eax, 0x26
cmp eax, 0xf
ja 0x408d28
sub esp, 0x10
mov al, byte [esp + 0xf0]
mov byte [esp + 4], al
mov eax, 0x26
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.Content_Disposition:_form_data__name_
lea ecx, [esp + 0xb80]
call fcn.00403930
mov ecx, dword [esp + 0xb80]
mov ebx, dword [esp + 0xb84]
mov edx, dword [esp + 0xb40]
cmp dword [esp + 0xb44], 0xf
lea eax, [esp + 0xb30]
jbe 0x4082e6
mov eax, dword [esp + 0xb30]
mov esi, ebx
sub esi, ecx
cmp esi, edx
mov dword [esp + 4], edi
jb 0x408a6b
mov esi, ebx
lea ebx, [ecx + edx]
mov dword [esp + 0xb80], ebx
lea edi, [esp + 0xb70]
cmp esi, 0xf
jbe 0x408315
mov edi, dword [esp + 0xb70]
add ecx, edi
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0xb80]
mov ecx, dword [esp + 0xb84]
mov edx, ecx
sub edx, eax
cmp edx, 0xd
jb 0x408a95
lea edx, [eax + 0xd]
mov dword [esp + 0xb80], edx
lea edx, [esp + 0xb70]
cmp ecx, 0xf
jbe 0x40835e
mov edx, dword [esp + 0xb70]
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 + 0xb70]
lea ecx, [esp + 0xb84]
lea edx, [esp + 0xb80]
xor esi, esi
mov dword [esp + 0xaf0], esi
mov dword [esp + 0xaf4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xaf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xae0], xmm0
mov dword [edx], esi
mov dword [ecx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0xb8], 0xf
lea ecx, [esp + 0xa4]
jbe 0x4083e4
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xaf0]
mov esi, dword [esp + 0xaf4]
mov edi, esi
sub edi, edx
cmp edi, eax
jb 0x408ace
lea ebx, [edx + eax]
mov dword [esp + 0xaf0], ebx
lea edi, [esp + 0xae0]
cmp esi, 0xf
jbe 0x40841b
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 + ebx], 0
lea eax, [esp + 0xae0]
lea ecx, [esp + 0xaf4]
lea edx, [esp + 0xaf0]
xor esi, esi
mov dword [esp + 0x8f0], esi
mov dword [esp + 0x8f4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x8f0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x8e0], xmm0
mov dword [edx], esi
mov dword [ecx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jb 0x408afe
lea edx, [eax + 3]
mov dword [esp + 0x8f0], edx
lea edx, [esp + 0x8e0]
cmp ecx, 0xf
jbe 0x4084ad
mov edx, dword [esp + 0x8e0]
mov dword [edx + eax], 0xa0d22
lea eax, [esp + 0x8e0]
lea ecx, [esp + 0x8f4]
lea edx, [esp + 0x8f0]
xor esi, esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [edx], esi
mov dword [ecx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0xf
lea ecx, [esp + 0xe0]
jbe 0x40851c
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, esi
sub edi, edx
cmp edi, eax
jb 0x408b37
lea ebx, [edx + eax]
mov dword [esp + 0x64], ebx
lea edi, [esp + 0x54]
cmp esi, 0xf
jbe 0x408544
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 + ebx], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0x10
jb 0x408581
mov ecx, dword [esp + 0xe0]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408da4
push edi
push ecx
call fcn.0041dcce
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 0x4085cb
mov ecx, dword [esp + 0x8e0]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408dc1
push edi
push ecx
call fcn.0041dcce
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 0x408615
mov ecx, dword [esp + 0xae0]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408dde
push edi
push ecx
call fcn.0041dcce
add esp, 8
mov dword [esp + 0xaf0], 0
mov dword [esp + 0xaf4], 0xf
mov byte [esp + 0xae0], 0
mov eax, dword [esp + 0xb84]
cmp eax, 0x10
jb 0x40865f
mov ecx, dword [esp + 0xb70]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x408dfb
push edi
push ecx
call fcn.0041dcce
add esp, 8
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x28
jb 0x408b5b
lea ecx, [eax + 0x28]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x54]
cmp edx, 0xf
jbe 0x408688
mov ecx, dword [esp + 0x54]
movsd xmm0, qword [0x42c8a6]
movsd qword [ecx + eax + 0x20], xmm0
movups xmm0, xmmword [0x42c896]
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
jb 0x408b8b
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x54]
cmp ecx, 0xf
jbe 0x4086db
mov edx, dword [esp + 0x54]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
xor ebx, ebx
mov dword [esp + 0xae0], ebx
mov dword [esp + 0xae4], ebx
mov dword [esp + 0xae8], ebx
mov dword [esp + 0xe0], 0x42a100
lea ecx, [esp + 0x150]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0x150], 0x42a10c
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
mov edi, 0x42a108
mov dword [esp + eax + 0xe0], edi
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], 0x42a110
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0xdc], ecx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], ebx
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xe0]
add ecx, eax
push ebx
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], edi
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xdc], ecx
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esp + 0xf0], 0x42a120
mov byte [esp + 0x138], bl
mov byte [esp + 0x12d], bl
lea eax, [esp + 0xf4]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x100], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x110], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x120], eax
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x13c], ebx
mov eax, dword [0x4304ec]
mov dword [esp + 0x134], eax
mov eax, dword [0x4304e8]
mov dword [esp + 0x130], eax
mov dword [esp + 0x128], ebx
mov esi, dword [esp + 8]
cmp dword [esi + 0x3c], 7
mov eax, dword [esp + 4]
jbe 0x40889e
mov eax, dword [esi + 0x28]
lea ecx, [esp + 0xe0]
push 0x40
push 0x20
push eax
call fcn.0041ff00
cmp dword [esp + 0x13c], ebx
je 0x40897b
lea edi, [esp + 0xe0]
mov ecx, edi
push 2
xor eax, 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
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_]
mov edi, dword [esp + 0x8e8]
mov eax, dword [esp + 0x8ec]
add edi, dword [esp + 0x8e0]
adc eax, dword [esp + 0x8e4]
sete bl
jne 0x408949
mov dword [esp + 4], eax
lea ecx, [esp + 0xae0]
push ecx
push edi
call fcn.0041fb10
mov ecx, dword [esp + 4]
mov eax, edi
or eax, ecx
je 0x408949
lea ecx, [esp + 0xe0]
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_]
lea ecx, [esp + 0xe0]
push dword [esp + 4]
push edi
push dword [esp + 0xae8]
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__]
lea ecx, [esp + 0xf0]
call fcn.004208e0
test eax, eax
jne 0x40897b
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], 0x42a108
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.004200d0
lea ecx, [esp + 0x150]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
test bl, bl
je 0x408a5a
mov eax, dword [esp + 0xae0]
mov ecx, dword [esp + 0xae4]
cmp eax, ecx
je 0x408a26
sub ecx, eax
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, esi
sub edi, edx
cmp edi, ecx
jb 0x408beb
mov dword [esp + 0x10], esi
lea esi, [edx + ecx]
mov edi, esi
mov dword [esp + 4], esi
mov dword [esp + 0x64], esi
lea edi, [esp + 0x54]
cmp dword [esp + 0x10], 0xf
jbe 0x408a0d
mov edi, dword [esp + 0x54]
add edx, edi
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [edi + eax], 0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x408bbb
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x54]
cmp ecx, 0xf
jbe 0x408a4f
mov edx, dword [esp + 0x54]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
lea ecx, [esp + 0xae0]
call fcn.0041fc40
jmp 0x408134
sub esp, 0x10
mov cl, byte [esp + 0xf0]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0xb80]
call fcn.00403930
jmp 0x408326
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 + 0xb80]
call fcn.00403930
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x408391
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.00403930
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x408441
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], 0x42c8f6
lea ecx, [esp + 0x8f0]
call fcn.00403930
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x4084c9
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.00403930
jmp 0x408555
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.00403930
jmp 0x4086b2
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], 0x42c8f7
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x4086e6
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], 0x42c8f7
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x408a5a
sub esp, 0x10
mov dl, byte [esp + 0xf0]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x408a22
sub esp, 8
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
mov dword [esp], eax
lea ecx, [esp + 0x8e8]
call fcn.0041fdc0
mov dword [esp + 0x8f0], 0
mov ecx, dword [esp + 0x8f4]
cmp ecx, 2
jb 0x408cf5
mov dword [esp + 0x8f0], 2
lea eax, [esp + 0x8e0]
cmp ecx, 0xf
jbe 0x407f2c
mov eax, dword [esp + 0x8e0]
jmp 0x407f2c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
mov esi, dword [esp + 8]
jmp 0x4080a6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
mov esi, dword [esp + 8]
jmp 0x4080f0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
mov esi, dword [esp + 8]
jmp 0x408186
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
mov esi, dword [esp + 8]
jmp 0x408156
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], 0x42c769
lea ecx, [esp + 0x8f0]
call fcn.00403930
jmp 0x407f35
sub esp, 8
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
mov dword [esp], eax
lea ecx, [esp + 0xb78]
call fcn.0041fdc0
mov dword [esp + 0xb80], 0
mov eax, dword [esp + 0xb84]
cmp eax, 0x26
jb 0x40828b
mov ebx, eax
mov dword [esp + 0xb80], 0x26
mov eax, dword [esp + 0xb70]
movsd xmm0, qword [0x42c804]
movsd qword [eax + 0x1e], xmm0
movups xmm0, xmmword [0x42c7f6]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [str.Content_Disposition:_form_data__name_]
movups xmmword [eax], xmm0
mov byte [eax + 0x26], 0
mov ecx, 0x26
jmp 0x4082c7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
jmp 0x408577
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
jmp 0x4085c1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
jmp 0x40860b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov edi, eax
mov ecx, edx
jmp 0x408655
mov eax, dword [esp + 0xb2c]
cmp eax, 0x10
jb 0x408e44
mov ecx, dword [esp + 0xb18]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409b76
push esi
push ecx
call fcn.0041dcce
add esp, 8
xor ebx, ebx
jmp 0x409960
mov eax, 0xf
mov dword [esp + 0x8f4], eax
mov dword [esp + 0x8f0], 0
mov byte [esp + 0x8e0], 0
mov eax, dword [esp + 0xb28]
add eax, 2
cmp eax, 0xf
ja 0x409a70
lea esi, [esp + 0x8e0]
mov dword [esi + 0x10], 2
mov word [esi], 0x2d2d
mov byte [esi + 2], 0
mov eax, dword [esp + 0xb28]
cmp dword [esp + 0xb2c], 0xf
jbe 0x408eae
mov ecx, dword [esp + 0xb18]
jmp 0x408eb5
lea ecx, [esp + 0xb18]
mov edx, dword [esp + 0x8f0]
mov edi, dword [esp + 0x8f4]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x40934a
lea esi, [edx + eax]
mov dword [esp + 0x8f0], esi
cmp edi, 0xf
jbe 0x408ee7
mov edi, dword [esp + 0x8e0]
jmp 0x408eee
lea edi, [esp + 0x8e0]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov esi, dword [esp + 0x8f0]
mov ecx, dword [esp + 0x8f4]
mov eax, ecx
sub eax, esi
cmp eax, 4
jb 0x409374
lea eax, [esp + 0x8e0]
lea edx, [esi + 4]
mov dword [eax + 0x10], edx
mov edi, eax
cmp ecx, 0xf
jbe 0x408f35
mov edi, dword [esp + 0x8e0]
lea ecx, [esp + 0x8f0]
lea edx, [esp + 0x8f4]
mov dword [edi + esi], 0xa0d2d2d
mov byte [edi + esi + 4], 0
xor esi, esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xe0], xmm0
mov dword [ecx], esi
mov dword [edx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0xf
jbe 0x408f9d
mov ecx, dword [esp + 0xe0]
jmp 0x408fa4
lea ecx, [esp + 0xe0]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x4093ad
lea esi, [edx + eax]
mov dword [esp + 0x64], esi
cmp edi, 0xf
jbe 0x408fca
mov edi, dword [esp + 0x54]
jmp 0x408fce
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 0x40900b
mov ecx, dword [esp + 0xe0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409b93
push esi
push ecx
call fcn.0041dcce
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 0x409055
mov ecx, dword [esp + 0x8e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409bb0
push esi
push ecx
call fcn.0041dcce
add esp, 8
mov eax, dword [esp + 0xb2c]
cmp eax, 0x10
jb 0x409081
mov ecx, dword [esp + 0xb18]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409bcd
push esi
push ecx
call fcn.0041dcce
add esp, 8
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, 7
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], 4
mov dword [esp + 0x40], 0x540053
mov dword [esp + 0x3c], 0x4f0050
mov word [esp + 0x44], 0
test edx, edx
je 0x4090b9
mov dword [edx], 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 esi, [esp + 0xae0]
mov dword [esp + 0xa8], esi
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], 7
jbe 0x409135
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 0x409442
push str.https
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
mov edi, eax
test eax, eax
je 0x40917b
push str.http
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x409457
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], 0x42a15c
call dword [sym.imp.WININET.dll_InternetOpenW]
test eax, eax
je 0x409457
mov esi, eax
movzx eax, word [esp + 0xbc]
sub esp, 0x20
movaps xmm0, xmmword [0x42a0e0]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
je 0x409343
xor edx, edx
test edi, edi
sete dl
shl edx, 0x17
or edx, 0x80000
cmp dword [esp + 0x50], 7
jbe 0x4093fb
mov ecx, dword [esp + 0x3c]
jmp 0x4093ff
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 + 0x8f0]
call fcn.00403930
jmp 0x407c3d
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], 0x42c8f7
lea ecx, [esp + 0x8f0]
call fcn.00403930
lea ecx, [eax + 0x10]
lea edx, [eax + 0x14]
jmp 0x407c8c
sub esp, 0x10
mov cl, byte [esp + 0xb40]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp], eax
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x407d1c
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.00403930
jmp 0x407dd5
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.00403930
jmp 0x407e1c
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], 0x42c8f7
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x407e55
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], 0x42c8f7
lea ecx, [esp + 0x64]
call fcn.00403930
jmp 0x407ed5
xor ebx, ebx
jmp 0x409930
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 + 0x8f0]
call fcn.00403930
jmp 0x408eff
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.00403930
lea ecx, [eax + 0x10]
lea edx, [eax + 0x14]
jmp 0x408f4f
sub esp, 0x10
mov dl, byte [esp + 0xb40]
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.00403930
jmp 0x408fdf
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.00403930
jmp 0x407e9f
lea ecx, [esp + 0x3c]
lea edi, [esp + 0xe0]
xor ebx, ebx
push ebx
push edx
push ebx
push ebx
push ebx
push edi
push ecx
mov dword [esp + 0x24], eax
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
test eax, eax
je 0x409926
mov edi, eax
mov dword [esp + 4], esi
mov esi, dword [ebp + 0x14]
cmp dword [esp + 0x7c], 0
je 0x409471
cmp dword [esp + 0x80], 7
jbe 0x40945e
mov eax, dword [esp + 0x6c]
jmp 0x409462
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
mov dword [esp + 4], eax
call fcn.00420a80
add esp, 8
xor ebx, ebx
jmp 0x409937
lea eax, [esp + 0x6c]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test esi, esi
je 0x4094c7
push 4
push esi
push 5
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40949e
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.00409df0
add esp, 8
push 4
push esi
push 6
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x4094c7
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_receive_timeout__continuing..._n
push eax
call fcn.00409df0
add esp, 8
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x68], 0xf
jbe 0x4094d8
mov ecx, dword [esp + 0x54]
jmp 0x4094dc
lea ecx, [esp + 0x54]
mov esi, dword [esp + 4]
xor ebx, ebx
push eax
push ecx
push ebx
push ebx
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x40991f
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 0x40972a
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 0x409532
mov dword [ecx], eax
cmp eax, 0xc8
jne 0x40972a
lea eax, [esp + 0x34]
mov dword [eax], 0x40
mov ecx, 0xf
mov dword [esp + 0xb2c], ecx
xor ecx, ecx
mov dword [esp + 0xb28], ecx
mov byte [esp + 0xb18], 0
lea esi, [esp + 0xb30]
push ecx
push eax
push esi
push 5
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov ebx, 0
mov dword [esp + 0x28], eax
test eax, eax
je 0x4095be
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov ebx, eax
mov esi, dword [esp + 0xb28]
sub eax, esi
jb 0x4095be
mov ecx, dword [esp + 0xb2c]
cmp ecx, ebx
je 0x4095be
jb 0x409c50
cmp ebx, 0xf
ja 0x4095be
cmp ecx, 0x10
jae 0x409c7c
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x30]
mov edx, dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov dword [esp + 0x14], 0
mov esi, dword [esp + 4]
mov dword [esp + 0xc], edi
xor eax, eax
push eax
push eax
push ecx
push edi
call edx
mov ebx, eax
test eax, eax
je 0x409739
mov esi, dword [esp + 0x30]
test esi, esi
je 0x409735
xor eax, eax
mov dword [esp + 0xb70], eax
mov dword [esp + 0xb74], eax
mov dword [esp + 0xb78], eax
lea ecx, [esp + 0xb70]
push esi
call fcn.00420ae0
test al, al
je 0x409643
mov eax, dword [esp + 0xb70]
lea edi, [eax + esi]
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0xb74], edi
mov edi, dword [esp + 0xc]
lea eax, [esp + 0xb08]
push eax
push dword [esp + 0x34]
push dword [esp + 0xb78]
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ebx, eax
test eax, eax
setne al
mov esi, dword [esp + 0xb08]
test esi, esi
setne cl
and cl, al
mov byte [esp + 0x10], cl
cmp cl, 1
jne 0x4096df
mov eax, dword [esp + 0xb70]
mov ecx, dword [esp + 0xb28]
mov edx, dword [esp + 0xb2c]
mov edi, edx
sub edi, ecx
cmp edi, esi
jb 0x409706
mov dword [esp + 0x1c], eax
lea eax, [ecx + esi]
mov edi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0xb28], eax
lea edi, [esp + 0xb18]
cmp edx, 0xf
jbe 0x4096bf
mov edi, dword [esp + 0xb18]
add ecx, edi
push esi
push dword [esp + 0x20]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x20]
mov byte [edi + eax], 0
add dword [esp + 0x14], esi
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0xb70]
call fcn.0041fc40
cmp byte [esp + 0x10], 0
mov esi, dword [esp + 4]
lea ecx, [esp + 0x30]
mov edx, dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
jne 0x4095dc
jmp 0x409739
sub esp, 0x10
mov cl, byte [esp + 0x48]
mov byte [esp + 4], cl
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], esi
lea ecx, [esp + 0xb28]
call fcn.00403930
jmp 0x4096d7
xor ebx, ebx
mov esi, dword [esp + 4]
jmp 0x40991f
mov esi, dword [esp + 4]
test ebx, ebx
je 0x409781
cmp dword [esp + 0x28], 0
sete al
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x24]
sete bl
or bl, al
cmp dword [ebp + 0x18], 0
je 0x40990f
test bl, bl
je 0x40990f
cmp dword [esp + 0xb28], 0
je 0x409788
cmp dword [esp + 0xb2c], 0xf
jbe 0x40978c
mov eax, dword [esp + 0xb18]
jmp 0x409793
xor ebx, ebx
jmp 0x40990f
xor esi, esi
jmp 0x4097d4
lea eax, [esp + 0xb18]
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 0x4097d4
mov ebx, eax
xor eax, eax
dec eax
mov ecx, ebx
add ecx, ebx
cmovb ecx, eax
push ecx
call fcn.0041dde3
add esp, 4
mov edi, eax
cmp dword [esp + 0xb2c], 0xf
jbe 0x4097db
mov eax, dword [esp + 0xb18]
jmp 0x4097e2
xor edi, edi
jmp 0x4098b3
lea eax, [esp + 0xb18]
xor esi, esi
push ebx
push edi
push 0xffffffffffffffff
push eax
push esi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, 7
mov dword [esp + 0xb84], eax
mov dword [esp + 0xb80], esi
mov word [esp + 0xb70], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov ebx, eax
cmp eax, 7
ja 0x40984b
mov dword [esp + 0xb80], ebx
mov eax, ebx
add eax, ebx
push eax
push edi
lea eax, [esp + 0xb78]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + ebx*2 + 0xb70], 0
jmp 0x40986c
sub esp, 0xc
mov al, byte [esp + 0xb14]
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp], ebx
lea ecx, [esp + 0xb7c]
call fcn.0041fa30
push edi
call fcn.0041ddec
add esp, 4
movzx esi, word [esp + 0xb70]
movsd xmm0, qword [esp + 0xb72]
movsd qword [esp + 0xb08], xmm0
movsd xmm0, qword [esp + 0xb78]
movsd qword [esp + 0xb0e], xmm0
mov eax, dword [esp + 0xb84]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0xb80]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x14]
cmp ecx, 8
jb 0x4098dc
mov eax, dword [ebx]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jae 0x409caa
push edx
push eax
call fcn.0041dcce
add esp, 8
mov word [ebx], si
movsd xmm0, qword [esp + 0xb08]
movsd xmm1, qword [esp + 0xb0e]
movsd qword [ebx + 2], xmm0
movsd qword [ebx + 8], xmm1
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], edi
mov bl, 1
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xb2c]
cmp eax, 0x10
jae 0x4099f9
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 8]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [esp + 0x50]
cmp ecx, 8
jb 0x409960
mov eax, dword [esp + 0x3c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jae 0x409b57
push edx
push eax
call fcn.0041dcce
add esp, 8
mov eax, dword [esp + 0x68]
cmp eax, 0x10
jb 0x409986
mov ecx, dword [esp + 0x54]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409b00
push esi
push ecx
call fcn.0041dcce
add esp, 8
mov ecx, dword [esp + 0x80]
cmp ecx, 8
jb 0x4099b2
mov eax, dword [esp + 0x6c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jae 0x409ac2
push edx
push eax
call fcn.0041dcce
add esp, 8
mov ecx, dword [esp + 0x98]
cmp ecx, 8
jb 0x4099e1
mov eax, dword [esp + 0x84]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jae 0x409ae1
push edx
push eax
call fcn.0041dcce
add esp, 8
mov ecx, dword [esp + 0xb88]
xor ecx, ebp
call fcn.0041e640
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb18]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x409c8d
push esi
push ecx
call fcn.0041dcce
add esp, 8
jmp 0x40972c
sub esp, 8
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
mov dword [esp], eax
lea edi, [esp + 0x8e8]
mov ecx, edi
call fcn.0041fdc0
mov dword [edi + 0x10], 0
mov eax, dword [edi + 0x14]
cmp eax, 2
jb 0x409bea
mov dword [esp + 0x8f0], 2
cmp eax, 0xf
jbe 0x407bd2
mov edi, dword [esp + 0x8e0]
jmp 0x407bd2
sub esp, 8
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
mov dword [esp], eax
lea esi, [esp + 0x8e8]
mov ecx, esi
call fcn.0041fdc0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x14]
cmp eax, 2
jb 0x409c1d
mov dword [esp + 0x8f0], 2
cmp eax, 0xf
jbe 0x408e8b
mov esi, dword [esp + 0x8e0]
jmp 0x408e8b
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x409cc8
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x4099a8
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x409cc8
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x4099d7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x40997c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x407d3e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x407d88
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x409cc8
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x409956
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x408e3a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x409001
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x40904b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x409077
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], 0x42c769
lea ecx, [esp + 0x8f0]
call fcn.00403930
jmp 0x407bdb
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], 0x42c769
lea ecx, [esp + 0x8f0]
call fcn.00403930
jmp 0x408e94
sub esp, 8
mov cl, byte [esp + 0xb78]
mov byte [esp + 4], cl
mov dword [esp], eax
lea ecx, [esp + 0xb20]
call fcn.0041fdc0
lea eax, [esp + 0xb18]
mov dword [eax + 0x10], esi
jmp 0x4095be
lea ecx, [esp + 0xb18]
call fcn.0041fea0
jmp 0x4095be
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x409cc8
add eax, 0x24
mov esi, eax
mov ecx, edx
mov edi, dword [esp + 0xc]
jmp 0x409a0f
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x409cc8
add ecx, ecx
add ecx, 0x25
mov edx, ecx
mov ebx, dword [ebp + 0x18]
jmp 0x4098d2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3