Function at 0x401100
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f03b
mov eax, dword fs:[0]
push eax
sub esp, 0xbb8
mov eax, dword [0x414378]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.http:__www.sj9e.com
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [ebp - 4], 0
push str.http:__www.sj9e.com_api_debug_url
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [ebp - 4], 1
push 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [ebp - 0xa54]
call fcn.00402130
mov dword [ebp - 0xba0], eax
mov eax, dword [ebp - 0xba0]
mov dword [ebp - 0xba4], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xba4]
call fcn.004027c0
push eax
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa54]
call fcn.00402160
push 0
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [ebp - 0xb58]
call fcn.00402130
mov dword [ebp - 0xba8], eax
mov ecx, dword [ebp - 0xba8]
mov dword [ebp - 0xbac], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xbac]
call fcn.004027c0
push eax
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb58]
call fcn.00402160
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::length_void_const]
add eax, 1
push eax
push 0
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::erase_unsigned_int__unsigned_int_]
push 7
push 0
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::erase_unsigned_int__unsigned_int_]
push 0
push 0
push 0
push 1
push str.9eBugReportUrl
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x4c], eax
push 0
push 0
push 3
push 0
push 0
push 0x50
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
mov edx, dword [ebp - 0x4c]
push edx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x49c], eax
push 0
push Ordinal_3
push 0
push 0
push 0
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x4103f4
mov eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], 0
mov cl, byte [0x4103d2]
mov byte [ebp - 0x934], cl
push 0x3ff
push 0
lea edx, [ebp - 0x933]
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [ebp - 0x934]
mov dword [ebp - 0xbb0], eax
mov ecx, dword [ebp - 0xbb0]
add ecx, 1
mov dword [ebp - 0xbb4], ecx
mov edx, dword [ebp - 0xbb0]
mov al, byte [edx]
mov byte [ebp - 0xbb5], al
add dword [ebp - 0xbb0], 1
cmp byte [ebp - 0xbb5], 0
jne 0x4012da
mov ecx, dword [ebp - 0xbb0]
sub ecx, dword [ebp - 0xbb4]
mov dword [ebp - 0xbbc], ecx
mov edx, dword [ebp - 0xbbc]
push edx
lea eax, [ebp - 0x934]
push eax
push 0
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x50]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x40137b
mov byte [ebp - 0xb59], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0xb59]
jmp 0x401596
mov byte [ebp - 0x474], 0
push 0x400
push 0
lea eax, [ebp - 0x473]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [ebp - 0x498], 0
lea ecx, [ebp - 0x498]
push ecx
push 0x400
lea edx, [ebp - 0x474]
push edx
mov eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4013e6
cmp dword [ebp - 0x498], 0
je 0x4013e6
mov ecx, dword [ebp - 0x498]
mov byte [ebp + ecx - 0x474], 0
mov dword [ebp - 0x498], 0
jmp 0x4013a2
mov edx, dword [ebp - 0x50]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0
lea ecx, [ebp - 0x6c]
call sub.jsoncpp.dll_public:_void___thiscall_Json::Value::constructor_enum_Json::ValueType_
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x534]
call sub.jsoncpp.dll_public:_void___thiscall_Json::Reader::constructor_void_
mov byte [ebp - 4], 9
lea edx, [ebp - 0x474]
push edx
lea ecx, [ebp - 0xb78]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [ebp - 4], 0xa
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xb78]
push ecx
lea ecx, [ebp - 0x534]
call sub.jsoncpp.dll_public:_bool___thiscall_Json::Reader::parse_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_Json::Value___bool_
mov byte [ebp - 0x491], al
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xb78]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
movzx edx, byte [ebp - 0x491]
test edx, edx
jne 0x4014de
mov byte [ebp - 0xb79], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x534]
call fcn.004015b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c]
call sub.jsoncpp.dll_public:_void___thiscall_Json::Value::destructor_void_
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0xb79]
jmp 0x401596
lea eax, [ebp - 0xb98]
push eax
push 0x4103fc
lea ecx, [ebp - 0x6c]
call sub.jsoncpp.dll_public:_class_Json::Value____thiscall_Json::Value::operator___char_const__
mov ecx, eax
call sub.jsoncpp.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_Json::Value::asString_void_
mov dword [ebp - 0xbc0], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0xbc4], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xbc4]
push edx
mov ecx, 0x41440c
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xb98]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 0xb99], 1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x534]
call fcn.004015b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c]
call sub.jsoncpp.dll_public:_void___thiscall_Json::Value::destructor_void_
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x950]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x490]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0xb99]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040e566
mov esp, ebp
pop ebp
ret