Function at 0x401aa0
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
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb80
mov eax, dword [0x43000c]
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xor ebx, ebx
xor eax, ebp
mov dword [esp + 0xb78], eax
mov dword [esp + 0x18], 7
call edi
mov esi, eax
call edi
lea edi, [esp + 0xd8]
push eax
push esi
push str.___________________________
push str._s_08X_08X
push 0x2c
push edi
call fcn.00401a40
add esp, 0x18
mov word [edi + 0x56], bx
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], 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 0x401b3f
mov ecx, esi
lea eax, [esp + 0x7c]
add ecx, esi
mov dword [eax + 0x10], esi
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + esi*2 + 0x7c], 0
jmp 0x401b67
sub esp, 0xc
mov al, byte [esp + 0x8e4]
lea ecx, [esp + 0x88]
mov byte [esp + 4], al
lea eax, [esp + 0xe4]
mov dword [esp], esi
mov dword [esp + 8], eax
call section..text
lea esi, [esp + 0x64]
mov eax, 7
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0
mov word [esi], 0
sub esp, 0xc
mov al, byte [esp + 0xe4]
mov ecx, esi
mov byte [esp + 4], al
mov dword [esp + 8], str.Content_Type:_multipart_form_data__boundary
mov dword [esp], 0x2c
call section..text
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x90], 7
jbe 0x401bba
mov ecx, dword [esp + 0x7c]
jmp 0x401bbe
lea ecx, [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x401f09
lea edi, [edx + eax]
cmp ebx, 7
mov dword [esp + 0x74], edi
jbe 0x401be2
mov esi, dword [esp + 0x64]
add eax, eax
lea edx, [esi + edx*2]
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov word [esi + edi*2], 0
lea esi, [esp + 0xb08]
lea edx, [esp + 0x7c]
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
mov ecx, esi
call fcn.00403e20
cmp dword [esi + 0x10], 0
je 0x402f0e
cmp dword [esp + 0x60], 0xf
jbe 0x401c36
mov eax, dword [esp + 0x4c]
jmp 0x401c3a
lea eax, [esp + 0x4c]
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov byte [eax], cl
mov eax, 0xf
mov dword [esp + 0x8e8], ecx
mov dword [esp + 0x8ec], eax
mov eax, dword [esp + 0xb18]
mov byte [esp + 0x8d8], cl
add eax, 2
cmp eax, 0xf
ja 0x403b76
lea edi, [esp + 0x8d8]
mov dword [edi + 0x10], 2
mov word [edi], 0x2d2d
mov byte [edi + 2], 0
mov eax, dword [esp + 0xb18]
cmp dword [esp + 0xb1c], 0xf
jbe 0x401c9e
mov esi, dword [esp + 0xb08]
mov edx, dword [esp + 0x8ec]
mov ecx, dword [esp + 0x8e8]
mov edi, edx
sub edi, ecx
cmp edi, eax
jb 0x4032fb
lea edi, [ecx + eax]
cmp edx, 0xf
mov dword [esp + 0x8e8], edi
jbe 0x401cd0
mov ebx, dword [esp + 0x8d8]
jmp 0x401cd7
lea ebx, [esp + 0x8d8]
add ecx, ebx
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, dword [esp + 0x8ec]
mov esi, dword [esp + 0x8e8]
mov eax, ecx
sub eax, esi
cmp eax, 2
jb 0x403325
lea eax, [esp + 0x8d8]
lea edx, [esi + 2]
cmp ecx, 0xf
mov edi, eax
mov dword [eax + 0x10], edx
jbe 0x401d1e
mov edi, dword [esp + 0x8d8]
mov word [edi + esi], 0xa0d
lea ecx, [esp + 0x8e8]
lea edx, [esp + 0x8ec]
mov byte [edi + esi + 2], 0
xor esi, esi
lea edi, [esp + 0xd8]
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe0], xmm1
mov dword [ecx], esi
mov dword [edx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xe8]
cmp dword [esp + 0xec], 0xf
jbe 0x401d9a
mov edi, dword [esp + 0xd8]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov esi, edx
sub esi, ecx
cmp esi, eax
jb 0x40335e
lea esi, [ecx + eax]
mov ebx, edi
cmp edx, 0xf
mov dword [esp + 0x5c], esi
jbe 0x401dc2
mov edi, dword [esp + 0x4c]
jmp 0x401dc6
lea edi, [esp + 0x4c]
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 + 0xec]
cmp eax, 0x10
jae 0x403237
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp eax, 0x10
jae 0x40325c
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x45
jb 0x403385
lea ecx, [esi + 0x45]
cmp eax, 0xf
mov dword [esp + 0x5c], ecx
jbe 0x401e3c
mov edi, dword [esp + 0x4c]
jmp 0x401e40
lea edi, [esp + 0x4c]
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 + 0x60]
mov esi, dword [esp + 0x5c]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x20
jb 0x4033b5
lea ecx, [esi + 0x20]
cmp eax, 0xf
mov dword [esp + 0x5c], ecx
jbe 0x401e7f
mov edi, dword [esp + 0x4c]
jmp 0x401e83
lea edi, [esp + 0x4c]
lea eax, [edi + esi]
push 0x20
push str.Content_Type:_application_json_r_n
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + esi + 0x20], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov esi, dword [ebp + 0xc]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x4033e5
lea edx, [eax + 2]
cmp ecx, 0xf
mov dword [esp + 0x5c], edx
jbe 0x401ec5
mov ecx, dword [esp + 0x4c]
jmp 0x401ec9
lea ecx, [esp + 0x4c]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x401f45
cmp dword [esi + 0x14], 0xf
jbe 0x401ee3
mov esi, dword [esi]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, edx
sub edi, ecx
cmp edi, eax
jb 0x40353e
lea edi, [ecx + eax]
cmp edx, 0xf
mov dword [esp + 0x5c], edi
jbe 0x401f30
mov ebx, dword [esp + 0x4c]
jmp 0x401f34
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00401360
jmp 0x401bf8
lea ebx, [esp + 0x4c]
add ecx, ebx
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x403415
lea edx, [eax + 2]
cmp ecx, 0xf
mov dword [esp + 0x5c], edx
jbe 0x401f6c
mov ecx, dword [esp + 0x4c]
jmp 0x401f70
lea ecx, [esp + 0x4c]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x402f25
mov eax, 0xf
mov dword [esp + 0x8e8], 0
mov dword [esp + 0x8ec], eax
mov eax, dword [esp + 0xb18]
mov byte [esp + 0x8d8], 0
add eax, 2
cmp eax, 0xf
ja 0x402d2b
mov dword [esp + 0x8e8], 2
lea eax, [esp + 0x8d8]
mov word [eax], 0x2d2d
mov byte [eax + 2], 0
mov eax, dword [esp + 0xb18]
cmp dword [esp + 0xb1c], 0xf
lea ecx, [esp + 0xb08]
jbe 0x401ff6
mov ecx, dword [esp + 0xb08]
mov ebx, dword [esp + 0x8ec]
mov edx, dword [esp + 0x8e8]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x402a41
lea edi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0x8d8]
mov dword [esp + 0x8e8], edi
jbe 0x40202d
mov ebx, dword [esp + 0x8d8]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, dword [esp + 0x8ec]
mov eax, dword [esp + 0x8e8]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x402a6b
lea edx, [eax + 2]
cmp ecx, 0xf
lea ecx, [esp + 0x8d8]
mov dword [esp + 0x8e8], edx
jbe 0x402076
mov ecx, dword [esp + 0x8d8]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
lea eax, [esp + 0x8d8]
lea ecx, [esp + 0x8ec]
lea edx, [esp + 0x8e8]
xor edi, edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe0], xmm1
mov dword [edx], edi
mov dword [ecx], 0xf
mov byte [eax], 0
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xe8]
cmp dword [esp + 0xec], 0xf
jbe 0x4020f9
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x402aa4
lea edi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0x4c]
mov dword [esp + 0x5c], edi
jbe 0x402121
mov ebx, dword [esp + 0x4c]
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 + 0xec]
cmp eax, 0x10
jae 0x4029d2
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp eax, 0x10
jae 0x4029f7
lea edx, [esi + 0x10]
lea ecx, [esp + 0xb20]
call fcn.00403e20
cmp dword [esp + 0xb30], 0
je 0x40295d
lea edi, [esi + 0x28]
lea ecx, [esp + 0x9c]
mov edx, edi
call fcn.00403e20
cmp dword [esp + 0xac], 0
je 0x402961
mov eax, 0xf
mov dword [esp + 0xb70], 0
mov dword [esp + 8], edi
mov dword [esp + 0xb74], eax
mov eax, dword [esp + 0xb30]
mov byte [esp + 0xb60], 0
add eax, 0x26
cmp eax, 0xf
ja 0x402d8a
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0xb70]
mov byte [esp + 4], al
mov eax, 0x26
mov dword [esp + 8], str.Content_Disposition:_form_data__name_
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
mov ebx, dword [esp + 0xb70]
mov edi, dword [esp + 0xb74]
mov eax, dword [esp + 0xb30]
cmp dword [esp + 0xb34], 0xf
lea ecx, [esp + 0xb20]
jbe 0x40223d
mov ecx, dword [esp + 0xb20]
mov edx, edi
sub edx, ebx
cmp edx, eax
jb 0x402b84
mov dword [esp + 0x10], ecx
lea ecx, [ebx + eax]
cmp edi, 0xf
lea edi, [esp + 0xb60]
mov edx, ecx
mov dword [esp], ecx
mov dword [esp + 0xb70], ecx
jbe 0x40226f
mov edi, dword [esp + 0xb60]
add ebx, edi
push eax
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp]
mov byte [edi + eax], 0
mov ecx, dword [esp + 0xb74]
mov eax, dword [esp + 0xb70]
mov edx, ecx
sub edx, eax
cmp edx, 0xd
jb 0x402bae
lea edx, [eax + 0xd]
cmp ecx, 0xf
lea ecx, [esp + 0xb60]
mov dword [esp + 0xb70], edx
jbe 0x4022be
mov ecx, dword [esp + 0xb60]
mov dword [ecx + eax + 8], 0x3d656d61
mov dword [ecx + eax + 4], 0x6e656c69
mov dword [ecx + eax], 0x66203b22
mov word [ecx + eax + 0xc], 0x22
lea eax, [esp + 0xb60]
lea ecx, [esp + 0xb74]
lea edx, [esp + 0xb70]
xor edi, edi
mov dword [esp + 0xae8], edi
mov dword [esp + 0xaec], edi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xae8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xad8], xmm0
movsd qword [esp + 0xae0], xmm1
mov dword [edx], edi
mov dword [ecx], 0xf
mov byte [eax], 0
lea ecx, [esp + 0x9c]
mov eax, dword [esp + 0xac]
cmp dword [esp + 0xb0], 0xf
jbe 0x402354
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xaec]
mov edx, dword [esp + 0xae8]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x402be7
lea edi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0xad8]
mov dword [esp + 0xae8], edi
jbe 0x40238b
mov ebx, dword [esp + 0xad8]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
lea eax, [esp + 0xad8]
lea ecx, [esp + 0xaec]
lea edx, [esp + 0xae8]
xor edi, edi
mov dword [esp + 0x8e8], edi
mov dword [esp + 0x8ec], edi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x8e8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x8d8], xmm0
movsd qword [esp + 0x8e0], xmm1
mov dword [edx], edi
mov dword [ecx], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x8ec]
mov eax, dword [esp + 0x8e8]
mov edx, ecx
sub edx, eax
cmp edx, 3
jb 0x402c17
lea edx, [eax + 3]
cmp ecx, 0xf
lea ecx, [esp + 0x8d8]
mov dword [esp + 0x8e8], edx
jbe 0x40242d
mov ecx, dword [esp + 0x8d8]
mov dword [ecx + eax], 0xa0d22
lea eax, [esp + 0x8d8]
lea ecx, [esp + 0x8ec]
lea edx, [esp + 0x8e8]
xor edi, edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe0], xmm1
mov dword [edx], edi
mov dword [ecx], 0xf
mov byte [eax], 0
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xe8]
cmp dword [esp + 0xec], 0xf
jbe 0x4024ac
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x402c50
lea edi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0x4c]
mov dword [esp + 0x5c], edi
jbe 0x4024d4
mov ebx, dword [esp + 0x4c]
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 + 0xec]
cmp eax, 0x10
jae 0x402af0
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp eax, 0x10
jae 0x402b15
mov eax, dword [esp + 0xaec]
mov dword [esp + 0x8e8], 0
mov dword [esp + 0x8ec], 0xf
mov byte [esp + 0x8d8], 0
cmp eax, 0x10
jae 0x402b3a
mov eax, dword [esp + 0xb74]
mov dword [esp + 0xae8], 0
mov dword [esp + 0xaec], 0xf
mov byte [esp + 0xad8], 0
cmp eax, 0x10
jae 0x402b5f
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov ecx, eax
sub ecx, edi
cmp ecx, 0x28
jb 0x402c74
lea ecx, [edi + 0x28]
cmp eax, 0xf
lea ebx, [esp + 0x4c]
mov dword [esp + 0x5c], ecx
jbe 0x4025a8
mov ebx, dword [esp + 0x4c]
lea eax, [ebx + edi]
push 0x28
push str.Content_Type:_application_octet_stream_r_n
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + edi + 0x28], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x402ca4
lea edx, [eax + 2]
cmp ecx, 0xf
lea ecx, [esp + 0x4c]
mov dword [esp + 0x5c], edx
jbe 0x4025e9
mov ecx, dword [esp + 0x4c]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
xor ebx, ebx
lea ecx, [esp + 0x148]
mov dword [esp + 0xd8], 0x42a0e0
mov dword [esp + 0xad8], ebx
mov dword [esp + 0xadc], ebx
mov dword [esp + 0xae0], ebx
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0x148], 0x42a0ec
mov ecx, 0x42a0e8
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xd8], ecx
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xd4], ecx
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xd8], 0x42a0f0
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0xd4], ecx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], ebx
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xd8]
add ecx, eax
push ebx
lea edi, [esp + 0xec]
push edi
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 + 0xd8]
mov ecx, 0x42a0e8
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xd8], ecx
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xd4], ecx
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea eax, [esp + 0xec]
lea ecx, [esp + 0xf0]
mov dword [esp + 0xe8], 0x42a100
mov byte [esp + 0x130], bl
mov byte [esp + 0x125], bl
lea edx, [esp + 0xfc]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
lea ecx, [esp + 0x100]
mov dword [esp + 0x104], edx
lea edx, [esp + 0x10c]
mov dword [esp + 0x108], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x114], edx
mov edx, dword [0x4304ec]
mov dword [esp + 0x118], ecx
mov ecx, dword [0x4304e8]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x120], ebx
cmp dword [esi + 0x3c], 7
jbe 0x4027af
mov eax, dword [esi + 0x28]
mov dword [esp + 8], eax
lea ecx, [esp + 0xd8]
push 0x40
push 0x20
push dword [esp + 0x10]
call fcn.00404080
cmp dword [esp + 0x134], ebx
je 0x40288e
lea edi, [esp + 0xd8]
xor ebx, ebx
mov ecx, edi
push 2
push ebx
push ebx
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 eax, [esp + 0x8d8]
mov ecx, edi
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 + 0x8e0]
mov eax, dword [esp + 0x8e4]
add edi, dword [esp + 0x8d8]
adc eax, dword [esp + 0x8dc]
jne 0x40285e
mov ebx, eax
lea ecx, [esp + 0xad8]
push ecx
push edi
call fcn.00401190
mov ecx, ebx
mov eax, edi
mov bl, 1
or eax, ecx
je 0x40285e
lea eax, [esp + 0xd8]
mov dword [esp + 8], ecx
mov ecx, eax
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 + 0xd8]
push dword [esp + 8]
push edi
push dword [esp + 0xae0]
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 + 0xe8]
call fcn.00404ca0
test eax, eax
jne 0x40288e
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
lea ecx, [esp + eax + 0xd8]
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 + 0xd8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xd8], 0x42a0e8
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0xd4], ecx
lea ecx, [esp + 0xe8]
call fcn.00404c50
lea ecx, [esp + 0x148]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
test bl, bl
je 0x402965
mov eax, dword [esp + 0xad8]
mov ecx, dword [esp + 0xadc]
cmp eax, ecx
je 0x402925
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
sub ecx, eax
mov edi, ebx
sub edi, edx
cmp edi, ecx
jb 0x402d04
lea edi, [edx + ecx]
cmp ebx, 0xf
lea ebx, [esp + 0x4c]
mov dword [esp + 0x5c], edi
jbe 0x402914
mov ebx, dword [esp + 0x4c]
add edx, ebx
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x402cd4
lea edx, [eax + 2]
cmp ecx, 0xf
lea ecx, [esp + 0x4c]
mov dword [esp + 0x5c], edx
jbe 0x40294e
mov ecx, dword [esp + 0x4c]
mov word [ecx + eax], 0xa0d
mov byte [ecx + eax + 2], 0
mov bl, 1
jmp 0x402967
xor ebx, ebx
jmp 0x402983
xor ebx, ebx
jmp 0x402973
xor ebx, ebx
lea ecx, [esp + 0xad8]
call fcn.00401310
mov eax, dword [esp + 0xb0]
cmp eax, 0x10
jae 0x402acb
mov eax, dword [esp + 0xb34]
cmp eax, 0x10
jae 0x402a1c
test bl, bl
je 0x402f0e
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x4029b6
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4029c0
cmp esi, dword [eax + 8]
mov esi, eax
je 0x4029a4
jmp 0x4029c0
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4029b6
mov ecx, dword [ebp + 0x10]
mov esi, eax
cmp dword [ecx], eax
jne 0x401f8a
jmp 0x402f25
mov ecx, dword [esp + 0xd8]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402df3
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402142
mov ecx, dword [esp + 0x8d8]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402e10
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402170
mov ecx, dword [esp + 0xb20]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402e2d
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402993
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x8e8]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x40203e
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x402096
sub esp, 0x10
mov dl, byte [esp + 0xb30]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x402132
mov ecx, dword [esp + 0x9c]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402e7d
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402983
mov ecx, dword [esp + 0xd8]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402e9a
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x4024f5
mov ecx, dword [esp + 0x8d8]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402eb7
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402523
mov ecx, dword [esp + 0xad8]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402ed4
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402551
mov ecx, dword [esp + 0xb60]
lea edi, [eax + 1]
cmp edi, 0x1000
jae 0x402ef1
push edi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x40257f
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0xb70]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x402286
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0xb70]
mov byte [esp + 4], al
mov eax, 0xd
mov dword [esp + 8], str.___filename_
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x4022f1
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0xae8]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x4023b1
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 3
mov dword [esp + 8], 0x42c828
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea edx, [eax + 0x10]
lea ecx, [eax + 0x14]
jmp 0x402449
sub esp, 0x10
mov dl, byte [esp + 0x44]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x4024e5
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 0x28
mov dword [esp + 8], str.Content_Type:_application_octet_stream_r_n
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x4025c0
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x4025f4
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x402959
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.00405160
jmp 0x402925
sub esp, 8
mov cl, byte [esp + 0xe0]
mov byte [esp + 4], cl
lea ecx, [esp + 0x8e0]
mov dword [esp], eax
call fcn.00403f40
mov dword [esp + 0x8e8], 0
mov eax, dword [esp + 0x8ec]
cmp eax, 2
jb 0x402e4a
cmp eax, 0xf
lea eax, [esp + 0x8d8]
mov dword [esp + 0x8e8], 2
jbe 0x401fce
mov eax, dword [esp + 0x8d8]
jmp 0x401fce
sub esp, 8
mov cl, byte [esp + 0xe0]
and al, 0xe0
add byte [eax], al
add byte [eax - 0x72fbdbb4], cl
mov word [eax + ebp*2], fs
or eax, dword [eax]
add byte [ecx - 0x6617dbfc], cl
adc dword [eax], eax
add bh, al
test byte [eax + esi*2], ah
or eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ebx + 0xb742484], cl
add byte [eax], al
cmp eax, 0x26
mov dword [esp], eax
jb 0x4021e2
mov ebx, 0x26
mov dword [esp + 0xb70], ebx
mov edi, dword [esp + 0xb60]
push ebx
push str.Content_Disposition:_form_data__name_
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + 0x26], 0
mov edi, dword [esp]
jmp 0x40221e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x4029e8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402a0d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402a32
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c69b
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401fd7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402ae1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402b06
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402b2b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402b50
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov edi, eax
jmp 0x402b75
mov eax, dword [esp + 0xb1c]
cmp eax, 0x10
jae 0x4032d6
xor ebx, ebx
jmp 0x403abd
mov eax, 0xf
mov dword [esp + 0x8e8], 0
mov dword [esp + 0x8ec], eax
mov eax, dword [esp + 0xb18]
mov byte [esp + 0x8d8], 0
add eax, 2
cmp eax, 0xf
ja 0x403bc8
lea esi, [esp + 0x8d8]
mov dword [esi + 0x10], 2
mov word [esi], 0x2d2d
mov byte [esi + 2], 0
mov eax, dword [esp + 0xb18]
cmp dword [esp + 0xb1c], 0xf
jbe 0x402f88
mov ecx, dword [esp + 0xb08]
jmp 0x402f8f
lea ecx, [esp + 0xb08]
mov edi, dword [esp + 0x8ec]
mov edx, dword [esp + 0x8e8]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x4034b4
lea esi, [edx + eax]
cmp edi, 0xf
mov dword [esp + 0x8e8], esi
jbe 0x402fc1
mov edi, dword [esp + 0x8d8]
jmp 0x402fc8
lea edi, [esp + 0x8d8]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov ecx, dword [esp + 0x8ec]
mov esi, dword [esp + 0x8e8]
mov eax, ecx
sub eax, esi
cmp eax, 4
jb 0x4034de
lea eax, [esp + 0x8d8]
lea edx, [esi + 4]
cmp ecx, 0xf
mov edi, eax
mov dword [eax + 0x10], edx
jbe 0x40300f
mov edi, dword [esp + 0x8d8]
mov dword [edi + esi], 0xa0d2d2d
lea ecx, [esp + 0x8e8]
lea edx, [esp + 0x8ec]
mov byte [edi + esi + 4], 0
xor esi, esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], esi
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe0], xmm1
mov dword [ecx], esi
mov dword [edx], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0xe8]
cmp dword [esp + 0xec], 0xf
jbe 0x403087
mov ecx, dword [esp + 0xd8]
jmp 0x40308e
lea ecx, [esp + 0xd8]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x403517
lea esi, [edx + eax]
cmp edi, 0xf
mov dword [esp + 0x5c], esi
jbe 0x4030b4
mov edi, dword [esp + 0x4c]
jmp 0x4030b8
lea edi, [esp + 0x4c]
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 + 0xec]
cmp eax, 0x10
jae 0x403445
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp eax, 0x10
jae 0x40346a
mov eax, dword [esp + 0xb1c]
cmp eax, 0x10
jae 0x40348f
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, 7
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], 0x540053
mov dword [esp + 0x34], 0x4f0050
mov word [esp + 0x3c], 0
test edx, edx
je 0x40314f
mov dword [edx], 0
xor ecx, ecx
lea esi, [esp + 0xad8]
lea edi, [esp + 0x8d8]
lea edx, [esp + 0xd8]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x9c], 0x3c
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], 0x10
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], 0x100
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], 0x400
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 7
jbe 0x4031ea
mov eax, dword [eax]
lea ebx, [esp + 0x9c]
push ebx
push ecx
push edx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x4035a9
push str.https
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
test eax, eax
je 0x403230
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
je 0x403281
xor ebx, ebx
jmp 0x403a96
mov esi, 0x880000
jmp 0x403286
mov ecx, dword [esp + 0xd8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403c94
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x401de7
mov ecx, dword [esp + 0x8d8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403cb1
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x401e15
mov esi, 0x80000
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push 0x42a13c
call dword [sym.imp.WININET.dll_InternetOpenW]
test eax, eax
je 0x403a96
movzx ecx, word [esp + 0xb4]
push ebx
push ebx
push 3
push ebx
push ebx
push ecx
push edi
mov dword [esp + 0x24], eax
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
je 0x403a8c
cmp dword [esp + 0x48], 7
jbe 0x403565
mov ecx, dword [esp + 0x34]
jmp 0x403569
mov ecx, dword [esp + 0xb08]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403cce
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x402f1e
sub esp, 0x10
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x8e8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.00405160
jmp 0x401ce8
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea ecx, [eax + 0x10]
lea edx, [eax + 0x14]
jmp 0x401d37
sub esp, 0x10
mov cl, byte [esp + 0xb30]
mov byte [esp + 4], cl
lea ecx, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00405160
jmp 0x401dd7
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 0x45
mov dword [esp + 8], str.Content_Disposition:_form_data__name_extra___filename_extra.json__r_n
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401e58
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 0x20
mov dword [esp + 8], str.Content_Type:_application_json_r_n
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401e9b
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401ed4
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c829
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401f7b
mov ecx, dword [esp + 0xd8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403d1e
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x4030d9
mov ecx, dword [esp + 0x8d8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403d3b
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x403107
mov ecx, dword [esp + 0xb08]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403d58
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x403117
sub esp, 0x10
mov dl, byte [esp + 0xe8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x8e8]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x402fd9
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 4
mov dword [esp + 8], str.___r_n
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
lea ecx, [eax + 0x10]
lea edx, [eax + 0x14]
jmp 0x403029
sub esp, 0x10
mov dl, byte [esp + 0xb30]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x4030c9
sub esp, 0x10
mov cl, byte [esp + 0xe8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.00405160
jmp 0x401f45
lea ecx, [esp + 0x34]
xor ebx, ebx
push ebx
push esi
push ebx
push ebx
push ebx
lea edx, [esp + 0xec]
push edx
push ecx
mov dword [esp + 0x2c], eax
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
test eax, eax
mov dword [esp], eax
je 0x403a82
mov esi, dword [ebp + 0x14]
cmp dword [esp + 0x74], 0
mov ebx, dword [esp]
je 0x4035d6
cmp dword [esp + 0x78], 7
jbe 0x4035c3
mov eax, dword [esp + 0x64]
jmp 0x4035c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 8
mov dword [esp + 4], eax
call fcn.004052e0
add esp, 8
jmp 0x403229
lea eax, [esp + 0x64]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test esi, esi
je 0x40362c
push 4
push esi
push 5
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x403603
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.00405340
add esp, 8
push 4
push esi
push 6
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x40362c
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push 0x42cc78
push eax
call fcn.00405340
add esp, 8
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x60], 0xf
jbe 0x40363d
mov ecx, dword [esp + 0x4c]
jmp 0x403641
lea ecx, [esp + 0x4c]
xor ebx, ebx
push eax
push ecx
push ebx
push ebx
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x403a79
lea eax, [esp + 0x24]
lea esi, [esp + 0x94]
mov dword [eax], 8
push 0
push eax
push esi
push 0x13
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403722
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 0x403697
mov dword [ecx], eax
cmp eax, 0xc8
jne 0x403722
mov ecx, 0xf
lea eax, [esp + 0x2c]
lea esi, [esp + 0xb20]
mov dword [esp + 0xb1c], ecx
xor ecx, ecx
mov dword [eax], 0x40
mov dword [esp + 0xb18], ecx
mov byte [esp + 0xb08], 0
push ecx
push eax
push esi
push 5
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403729
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov esi, dword [esp + 0xb18]
mov edi, eax
sub eax, esi
jb 0x40371a
mov ecx, dword [esp + 0xb1c]
cmp ecx, edi
je 0x40371a
jb 0x403da8
cmp edi, 0xf
ja 0x40371a
cmp ecx, 0x10
jae 0x403dcf
xor ebx, ebx
mov dword [esp + 0x14], edi
jmp 0x403733
xor ebx, ebx
jmp 0x403a79
mov bl, 1
mov dword [esp + 0x14], 0
mov edx, dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
lea ecx, [esp + 0x28]
xor edi, edi
xor eax, eax
push eax
push eax
push ecx
push dword [esp + 0xc]
call edx
test eax, eax
je 0x4038a5
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4038a5
xor eax, eax
lea ecx, [esp + 0xb60]
mov dword [esp + 0xb60], eax
mov dword [esp + 0xb64], eax
mov dword [esp + 0xb68], eax
push esi
call fcn.00405390
test al, al
je 0x4037ab
mov eax, dword [esp + 0xb60]
lea ecx, [eax + esi]
mov dword [esp + 4], ecx
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0xb64], eax
lea eax, [esp + 0xaf8]
push eax
push dword [esp + 0x2c]
push dword [esp + 0xb68]
push dword [esp + 0xc]
mov eax, dword [sym.imp.WININET.dll_InternetReadFile]
call eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x40384e
mov esi, dword [esp + 0xaf8]
test esi, esi
je 0x40384e
mov edx, dword [esp + 0xb1c]
mov ecx, dword [esp + 0xb18]
mov eax, dword [esp + 0xb60]
mov dword [esp + 0xc], edx
sub edx, ecx
mov dword [esp + 4], eax
cmp edx, esi
jb 0x403879
cmp dword [esp + 0xc], 0xf
lea eax, [ecx + esi]
mov edx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0xb18], eax
lea eax, [esp + 0xb08]
jbe 0x403824
mov eax, dword [esp + 0xb08]
mov dword [esp + 0xc], eax
add ecx, eax
push esi
push dword [esp + 8]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
add edi, esi
mov al, 1
mov dword [esp + 4], eax
jmp 0x403856
mov dword [esp + 4], 0
lea ecx, [esp + 0xb60]
call fcn.00401310
cmp byte [esp + 4], 0
mov edx, dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
lea ecx, [esp + 0x28]
jne 0x40373f
jmp 0x4038a1
sub esp, 0x10
mov al, byte [esp + 0x40]
lea ecx, [esp + 0xb18]
mov byte [esp + 4], al
mov dword [esp + 0xc], esi
mov dword [esp], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
call fcn.00405160
jmp 0x403844
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4038e2
cmp edi, dword [esp + 0x14]
mov edi, dword [ebp + 0x18]
sete al
or bl, al
test edi, edi
je 0x403a69
test bl, bl
je 0x403a69
cmp dword [esp + 0xb18], 0
je 0x4038e9
cmp dword [esp + 0xb1c], 0xf
jbe 0x4038ed
mov eax, dword [esp + 0xb08]
jmp 0x4038f4
xor ebx, ebx
jmp 0x403a69
xor esi, esi
jmp 0x403935
lea eax, [esp + 0xb08]
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 0x403935
mov ebx, eax
xor eax, eax
mov ecx, ebx
dec eax
add ecx, ebx
cmovb ecx, eax
push ecx
call fcn.004286d3
add esp, 4
cmp dword [esp + 0xb1c], 0xf
jbe 0x40393c
mov ecx, eax
mov eax, dword [esp + 0xb08]
jmp 0x403945
xor ebx, ebx
jmp 0x403a1a
mov ecx, eax
lea eax, [esp + 0xb08]
xor esi, esi
push ebx
mov ebx, ecx
push ecx
push 0xffffffffffffffff
push eax
push esi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, 7
mov dword [esp + 0xb70], esi
mov esi, ebx
mov dword [esp + 0xb74], eax
mov word [esp + 0xb60], 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov ebx, eax
cmp eax, 7
ja 0x4039b2
mov eax, ebx
mov dword [esp + 0xb70], ebx
add eax, ebx
push eax
push esi
lea eax, [esp + 0xb68]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + ebx*2 + 0xb60], 0
jmp 0x4039d3
sub esp, 0xc
mov al, byte [esp + 0xb04]
lea ecx, [esp + 0xb6c]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], ebx
call section..text
push esi
call fcn.004286dc
add esp, 4
movsd xmm0, qword [esp + 0xb62]
mov eax, dword [esp + 0xb74]
movzx esi, word [esp + 0xb60]
mov ebx, dword [esp + 0xb70]
movsd xmm1, qword [esp + 0xb68]
movsd qword [esp + 0xaf8], xmm0
movsd qword [esp + 0xafe], xmm1
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x403a3e
mov eax, dword [edi]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403df9
push edx
push eax
call fcn.004286a1
add esp, 8
mov word [edi], si
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0xaf8]
movsd xmm1, qword [esp + 0xafe]
movsd qword [edi + 2], xmm0
movsd qword [edi + 8], xmm1
mov dword [edi + 0x10], ebx
mov bl, 1
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xb1c]
cmp eax, 0x10
jae 0x403b51
push dword [esp]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x10]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 8]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [esp + 0x48]
cmp ecx, 8
jb 0x403abd
mov eax, dword [esp + 0x34]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403c58
push edx
push eax
call fcn.004286a1
add esp, 8
mov eax, dword [esp + 0x60]
cmp eax, 0x10
jae 0x403b2f
mov ecx, dword [esp + 0x78]
cmp ecx, 8
jb 0x403aed
mov eax, dword [esp + 0x64]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403c1a
push edx
push eax
call fcn.004286a1
add esp, 8
mov ecx, dword [esp + 0x90]
cmp ecx, 8
jb 0x403b17
mov eax, dword [esp + 0x7c]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403c39
push edx
push eax
call fcn.004286a1
add esp, 8
mov ecx, dword [esp + 0xb78]
xor ecx, ebp
call fcn.00429010
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x4c]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403c77
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x403ac6
mov ecx, dword [esp + 0xb08]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403de0
push esi
push ecx
call fcn.004286a1
add esp, 8
jmp 0x403a79
sub esp, 8
mov cl, byte [esp + 0xe0]
lea edi, [esp + 0x8e0]
mov byte [esp + 4], cl
mov ecx, edi
mov dword [esp], eax
call fcn.00403f40
mov dword [edi + 0x10], 0
mov eax, dword [edi + 0x14]
cmp eax, 2
jb 0x403ceb
cmp eax, 0xf
mov dword [esp + 0x8e8], 2
jbe 0x401c7d
mov edi, dword [esp + 0x8d8]
jmp 0x401c7d
sub esp, 8
mov cl, byte [esp + 0xe0]
lea esi, [esp + 0x8e0]
mov byte [esp + 4], cl
mov ecx, esi
mov dword [esp], eax
call fcn.00403f40
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x14]
cmp eax, 2
jb 0x403d75
cmp eax, 0xf
mov dword [esp + 0x8e8], 2
jbe 0x402f65
mov esi, dword [esp + 0x8d8]
jmp 0x402f65
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403e17
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x403ae3
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403e17
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x403b0d
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403e17
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x403ab3
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403b42
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x40324d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403272
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x4032ec
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c69b
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x401c86
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x40345b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403480
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x4034a5
sub esp, 0x10
mov al, byte [esp + 0xe8]
lea ecx, [esp + 0x8e8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 8], 0x42c69b
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00405160
jmp 0x402f6e
sub esp, 8
mov cl, byte [esp + 0xb68]
lea ebx, [esp + 0xb10]
mov byte [esp + 4], cl
mov ecx, ebx
mov dword [esp], eax
call fcn.00403f40
mov dword [ebx + 0x10], esi
jmp 0x40371a
lea ecx, [esp + 0xb08]
call fcn.00404020
jmp 0x40371a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403e17
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403b67
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403e17
mov edi, dword [ebp + 0x18]
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x403a34
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3