Function at 0x1000d390
Capabilities:
Check http status code
Connect to http server
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001a8b9
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x528
mov eax, dword [0x10022040]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebx + 8]
xorps xmm0, xmm0
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x45c], edi
mov dword [ebp - 0x44c], 0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov dword [ebp - 0x47c], esi
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x450], 0
mov byte [edi], 0
mov dword [ebp - 4], 1
mov eax, dword [ecx]
mov dword [ebp - 0x44c], 1
test eax, eax
je 0x1000dc2a
push 0
push 0
push 3
push 0
push 0
push 0x1bb
push str.faldon_idle_server_fbfdcd5d8349.herokuapp.com
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x480], eax
test eax, eax
je 0x1000dc4b
push 0
push 0xc00000
push 0
push 0
push 0
push str._auth
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x450], eax
test eax, eax
je 0x1000dc6c
mov ecx, dword [esi + 0x10]
mov eax, 0x7fffffff
sub eax, ecx
mov dword [ebp - 0x454], ecx
cmp eax, 0xf
jb 0x1000dc8d
cmp dword [esi + 0x14], 0xf
jbe 0x1000d4ca
mov esi, dword [esi]
mov dword [ebp - 0x47c], esi
lea edx, [ecx + 0xf]
mov dword [ebp - 0x464], 0
mov esi, 0xf
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x478], edx
xorps xmm0, xmm0
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x458], ecx
movups xmmword [ebp - 0x474], xmm0
cmp edx, esi
jbe 0x1000d582
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x1000d53c
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.1001892c
add esp, 4
test eax, eax
je 0x1000d907
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1000d570
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x1000d551
xor ecx, ecx
jmp 0x1000d576
cmp eax, 0x1000
jb 0x1000d565
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x1000dc92
jmp 0x1000d520
push eax
call fcn.1001892c
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x478]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x474], ecx
movq xmm0, qword [str._license_id_:_]
mov dword [ebp - 0x460], esi
mov esi, dword [ebp - 0x454]
mov dword [ebp - 0x464], edx
movq qword [ecx], xmm0
mov eax, dword [0x1001d4d0]
mov dword [ecx + 8], eax
mov ax, word [0x1001d4d4]
mov word [ecx + 0xc], ax
mov al, byte [0x1001d4d6]
push esi
push dword [ebp - 0x47c]
mov byte [ecx + 0xe], al
lea eax, [ecx + 0xf]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x458]
add esp, 0xc
mov dword [ebp - 0x44c], 3
mov byte [eax + esi + 0xf], 0
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x460]
mov eax, edx
mov ecx, dword [ebp - 0x464]
sub eax, ecx
push 0xb
push str.____hwid_:_
cmp eax, 0xb
jb 0x1000d632
cmp edx, 0xf
lea esi, [ebp - 0x474]
lea eax, [ecx + 0xb]
cmova esi, dword [ebp - 0x474]
add esi, ecx
mov dword [ebp - 0x464], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xb], 0
lea eax, [ebp - 0x474]
jmp 0x1000d64c
mov byte [ebp - 0x454], 0
lea ecx, [ebp - 0x474]
push dword [ebp - 0x454]
push 0xb
call fcn.10002f20
mov dword [ebp - 0x488], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x498], xmm0
mov dword [ebp - 0x484], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x44c], 7
movups xmmword [ebp - 0x498], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x488], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x448]
mov edx, eax
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0xf
jbe 0x1000d6b0
mov edx, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x484]
mov esi, dword [ebp - 0x488]
sub eax, esi
mov dword [ebp - 0x448], ecx
push ecx
push edx
cmp ecx, eax
ja 0x1000d707
cmp dword [ebp - 0x484], 0xf
lea eax, [esi + ecx]
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x498]
cmova eax, dword [ebp - 0x498]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x448]
add esp, 0xc
mov byte [eax + esi], 0
lea eax, [ebp - 0x498]
jmp 0x1000d720
mov byte [ebp - 0x448], 0
push dword [ebp - 0x448]
push ecx
lea ecx, [ebp - 0x498]
call fcn.10002f20
mov dword [ebp - 0x4a0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4b0], xmm0
mov dword [ebp - 0x49c], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x44c], 0xf
movups xmmword [ebp - 0x4b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x49c]
mov eax, edx
mov ecx, dword [ebp - 0x4a0]
sub eax, ecx
cmp eax, 2
jb 0x1000d7b8
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [ebp - 0x4a0], eax
mov edx, 0x7d22
lea eax, [ebp - 0x4b0]
cmova eax, dword [ebp - 0x4b0]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [ebp - 0x4b0]
jmp 0x1000d7d9
push 2
push 0x1001d4b8
mov byte [ebp - 0x448], 0
lea ecx, [ebp - 0x4b0]
push dword [ebp - 0x448]
push 2
call fcn.10002f20
mov dword [ebp - 0x42c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x43c], xmm0
mov dword [ebp - 0x428], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x44c], 0x1f
movups xmmword [ebp - 0x43c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x42c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x49c]
cmp ecx, 0xf
jbe 0x1000d867
mov edx, dword [ebp - 0x4b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d85d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d907
push ecx
push edx
call fcn.10018c76
add esp, 8
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 0xf
mov byte [ebp - 0x4b0], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x484]
cmp ecx, 0xf
jbe 0x1000d8bc
mov edx, dword [ebp - 0x498]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d8b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d907
push ecx
push edx
call fcn.10018c76
add esp, 8
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x460]
cmp ecx, 0xf
jbe 0x1000d917
mov edx, dword [ebp - 0x474]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d90d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000d90d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10018c76
add esp, 8
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Sending_request_with_data:
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0xf
mov byte [ebp - 0x474], 0
call fcn.10002740
cmp dword [ebp - 0x428], 0xf
lea edx, [ebp - 0x43c]
push dword [ebp - 0x42c]
cmova edx, dword [ebp - 0x43c]
mov ecx, eax
call fcn.10003820
add esp, 4
mov ecx, eax
push 0x10002960
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push dword [ebp - 0x42c]
cmp dword [ebp - 0x428], 0xf
lea eax, [ebp - 0x43c]
mov esi, dword [ebp - 0x450]
cmova eax, dword [ebp - 0x43c]
push eax
push 0xffffffffffffffff
push str.Content_Type:_application_json_r_nUser_Agent:_LicenseChecker_1.0_r_n
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x1000dc97
push 0
lea eax, [ebp - 0x440]
mov dword [ebp - 0x444], 0
push eax
lea eax, [ebp - 0x444]
mov dword [ebp - 0x440], 4
push eax
push 0x20000013
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x1000dcb8
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.HTTP_Status_Code:
call fcn.10002740
push dword [ebp - 0x444]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push 0x10002960
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [ebp - 0x444]
cmp edx, 0xc8
jne 0x1000dcd9
mov dword [ebp - 0x424], 0
nop dword [eax]
lea eax, [ebp - 0x424]
push eax
push 0x400
lea eax, [ebp - 0x420]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1000dac9
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x448], ecx
test ecx, ecx
je 0x1000dac9
mov esi, dword [edi + 0x14]
mov eax, esi
mov edx, dword [edi + 0x10]
sub eax, edx
cmp ecx, eax
ja 0x1000daa1
lea eax, [ecx + edx]
mov dword [edi + 0x10], eax
mov eax, edi
cmp esi, 0xf
jbe 0x1000da7b
mov eax, dword [edi]
lea esi, [eax + edx]
push ecx
lea eax, [ebp - 0x420]
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x448]
add esp, 0xc
mov byte [esi + eax], 0
mov esi, dword [ebp - 0x450]
jmp 0x1000da30
push ecx
lea eax, [ebp - 0x420]
mov byte [ebp - 0x454], 0
push eax
push dword [ebp - 0x454]
push ecx
mov ecx, edi
call fcn.10002f20
mov esi, dword [ebp - 0x450]
jmp 0x1000da30
cmp dword [edi + 0x10], 0
je 0x1000dd1d
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Received_response:
call fcn.10002740
cmp dword [edi + 0x14], 0xf
mov edx, edi
jbe 0x1000daed
mov edx, dword [edi]
push dword [edi + 0x10]
mov ecx, eax
call fcn.10003820
add esp, 4
mov ecx, eax
push 0x10002960
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [ebp - 0x428]
cmp ecx, 0xf
jbe 0x1000db43
mov edx, dword [ebp - 0x43c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000db39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000db39
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10018c76
add esp, 8
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0xf
mov byte [ebp - 0x43c], 0
call esi
jmp 0x1000dbfb
mov eax, dword [ebp - 0x480]
test eax, eax
je 0x1000dc08
push eax
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1001871e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
push str.Internet_connection_not_initialized
lea ecx, [ebp - 0x4c0]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x4c0]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.Failed_to_connect_to_server
lea ecx, [ebp - 0x4cc]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x4cc]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.Failed_to_create_HTTP_request
lea ecx, [ebp - 0x4d8]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x4d8]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
call fcn.10001570
call fcn.100014d0
push str.Failed_to_send_HTTP_request
lea ecx, [ebp - 0x4e4]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x4e4]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.Failed_to_get_HTTP_status_code
lea ecx, [ebp - 0x4f0]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x4f0]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
lea ecx, [ebp - 0x520]
call fcn.1000cd40
push eax
mov edx, str.Server_returned_non_200_status_code:
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x538]
call fcn.1000b850
add esp, 4
push eax
lea ecx, [ebp - 0x4fc]
mov byte [ebp - 4], 0xa
call fcn.1000cdb0
push 0x1001f87c
lea eax, [ebp - 0x4fc]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.Empty_response_received_from_server
lea ecx, [ebp - 0x508]
call fcn.10003ab0
push 0x1001f87c
lea eax, [ebp - 0x508]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3