Function at 0x430ecf
Capabilities:
Check http status code
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 0x467ec9
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2b70
call fcn.0045bc80
mov eax, dword [0x48f190]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x29c0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x29c4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x29cc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x29b4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x29bc], eax
mov eax, dword [ebp + 0x1c]
mov edi, ecx
mov dword [ebp - 0x29ec], eax
xor ebx, ebx
lea esi, [ebp - 0x29b0]
mov dword [ebp - 4], ebx
call fcn.0040dff3
mov edx, dword [ebp - 0x29c4]
lea ecx, [ebp - 0x29e8]
call fcn.0042c7d5
cmp dword [eax + 0x18], 8
jb 0x430f69
mov esi, dword [eax + 4]
jmp 0x430f6c
lea esi, [eax + 4]
lea eax, [ebp - 0x29b0]
call fcn.0040e645
lea eax, [ebp - 0x29b0]
push eax
mov ecx, esi
call fcn.0040e259
push ebx
push 1
lea esi, [ebp - 0x29e8]
mov dword [ebp - 0x29b8], eax
call fcn.0040971e
push ebx
push ebx
push ebx
push ebx
push 0x4722c4
call dword [sym.imp.WININET.dll_InternetOpenW]
mov esi, eax
mov dword [ebp - 0x2a14], esi
mov byte [ebp - 4], 1
cmp esi, ebx
jne 0x431046
cmp dword [edi + 0x18], 0x10
jb 0x430fc7
mov edi, dword [edi + 4]
jmp 0x430fca
add edi, 4
mov eax, dword [ebp - 0x29c4]
cmp dword [eax + 0x18], 0x10
jb 0x430fdb
mov esi, dword [eax + 4]
jmp 0x430fde
lea esi, [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push esi
push dword [ebp - 0x29c0]
lea esi, [ebp - 0x2a10]
push str.InternetOpen_failed_for__s_http:___s_s__Error_Code:__d
call fcn.0042c993
add esp, 0x14
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 0x10
jb 0x43100f
mov eax, dword [eax + 4]
jmp 0x431012
add eax, 4
push eax
lea ecx, [ebp - 0x29e8]
call fcn.00408151
lea eax, [ebp - 0x29e8]
push eax
lea eax, [ebp - 0x2b30]
push eax
mov byte [ebp - 4], 3
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2b30]
push eax
call fcn.0044c953
mov dword [ebp - 0x29c8], ebx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x29b8], ebx
je 0x431083
push ebx
push ebx
push 3
push ebx
push ebx
push dword [ebp - 0x564]
lea eax, [ebp - 0x296e]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x29c8], esi
jmp 0x4310d0
mov edx, dword [ebp - 0x29c4]
lea ecx, [ebp - 0x29e8]
call fcn.0042c7d5
cmp dword [eax + 0x18], 8
jb 0x43109f
mov eax, dword [eax + 4]
jmp 0x4310a2
add eax, 4
push 1
push ebx
push 3
push ebx
push ebx
push 0x50
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
mov dword [ebp - 0x29c8], esi
push 1
lea esi, [ebp - 0x29e8]
call fcn.0040971e
cmp dword [ebp - 0x29c8], ebx
jne 0x43117a
cmp dword [ebp - 0x29b8], ebx
je 0x4310ed
movzx ecx, word [ebp - 0x564]
jmp 0x4310f0
push 0x50
pop ecx
cmp dword [edi + 0x18], 0x10
jb 0x4310fb
mov edi, dword [edi + 4]
jmp 0x4310fe
add edi, 4
mov eax, dword [ebp - 0x29c4]
cmp dword [eax + 0x18], 0x10
jb 0x43110f
mov esi, dword [eax + 4]
jmp 0x431112
lea esi, [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push esi
push dword [ebp - 0x29c0]
lea esi, [ebp - 0x2a10]
push str.InternetConnect_failed_for__s_http:___s_s__Error_Code:__d__Port_Number:__d
call fcn.0042c993
add esp, 0x18
mov byte [ebp - 4], 5
cmp dword [eax + 0x18], 0x10
jb 0x431144
mov eax, dword [eax + 4]
jmp 0x431147
add eax, 4
push eax
lea ecx, [ebp - 0x29e8]
call fcn.00408151
lea eax, [ebp - 0x29e8]
push eax
lea eax, [ebp - 0x2ae0]
push eax
mov byte [ebp - 4], 6
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2ae0]
jmp 0x431040
push dword [ebp - 0x29c0]
lea ecx, [ebp - 0x2a30]
call fcn.00408151
mov edx, edi
lea ecx, [ebp - 0x2a4c]
mov byte [ebp - 4], 7
call fcn.0042c7d5
mov esi, eax
lea edx, [ebp - 0x2a30]
lea ecx, [ebp - 0x2a68]
mov byte [ebp - 4], 8
call fcn.0042c7d5
cmp dword [esi + 0x18], 8
jb 0x4311be
mov esi, dword [esi + 4]
jmp 0x4311c1
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x4311cc
mov eax, dword [eax + 4]
jmp 0x4311cf
add eax, 4
push 1
push 0x20400010
push ebx
push ebx
push ebx
push esi
push eax
push dword [ebp - 0x29c8]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x29b8], eax
push ebx
push 1
lea esi, [ebp - 0x2a68]
call fcn.0040971e
push ebx
push 1
lea esi, [ebp - 0x2a4c]
call fcn.0040971e
push ebx
push 1
lea ecx, [ebp - 0x2a30]
mov byte [ebp - 4], 0xb
call fcn.00409486
cmp dword [ebp - 0x29b8], ebx
jne 0x4312b0
cmp dword [edi + 0x18], 0x10
jb 0x431232
mov edi, dword [edi + 4]
jmp 0x431235
add edi, 4
mov eax, dword [ebp - 0x29c4]
cmp dword [eax + 0x18], 0x10
jb 0x431246
mov esi, dword [eax + 4]
jmp 0x431249
lea esi, [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push esi
push dword [ebp - 0x29c0]
lea esi, [ebp - 0x2a10]
push str.HttpOpenRequest_failed_for__s_http:___s_s__Error_Code:__d
call fcn.0042c993
add esp, 0x14
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x18], 0x10
jb 0x43127a
mov eax, dword [eax + 4]
jmp 0x43127d
add eax, 4
push eax
lea ecx, [ebp - 0x29e8]
call fcn.00408151
lea eax, [ebp - 0x29e8]
push eax
lea eax, [ebp - 0x2a90]
push eax
mov byte [ebp - 4], 0xd
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2a90]
jmp 0x431040
cmp dword [ebp - 0x29b4], ebx
je 0x431360
push dword [ebp - 0x29b4]
lea esi, [ebp - 0x534]
push str.Content_Type:__s_r_n
call fcn.0042c993
pop ecx
pop ecx
push str.HttpAddRequestHeaders_failed
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0xe
call fcn.00408151
mov edx, esi
lea ecx, [ebp - 0x2a10]
mov byte [ebp - 4], 0xf
call fcn.0042c7d5
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x18], 8
jb 0x431308
mov eax, dword [eax + 4]
jmp 0x43130b
add eax, 4
push 0x20000000
push dword [ebp - 0x520]
push eax
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
cmp eax, ebx
jne 0x431332
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea esi, [ebp - 0x2a10]
call fcn.0040971e
push ebx
push 1
lea ecx, [ebp - 0x29e8]
call fcn.00409486
push ebx
push 1
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0xb
call fcn.00409486
mov eax, dword [ebp - 0x29cc]
lea esi, [ebp - 0x530]
call fcn.0042bc7f
mov edi, dword [eax + 8]
mov esi, dword [ebp - 0x29cc]
add edi, dword [eax]
push 2
call fcn.0042bc06
mov eax, dword [ebp - 0x29cc]
lea esi, [ebp - 0x530]
call fcn.0042bc7f
mov ecx, dword [eax + 8]
add ecx, dword [eax]
mov esi, dword [ebp - 0x29cc]
sub ecx, edi
push ebx
mov dword [ebp - 0x29b4], ecx
call fcn.0042bc06
cmp dword [ebp - 0x29b4], ebx
jne 0x4313ff
push str.HttpSendRequest_failed
lea ecx, [ebp - 0x29e8]
call fcn.00408151
push ebx
push ebx
push ebx
push ebx
mov byte [ebp - 4], 0x11
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
cmp eax, ebx
jne 0x4313e8
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0xb
call fcn.00409486
jmp 0x43157a
mov esi, dword [ebp - 0x29b4]
push esi
call fcn.00448ce3
pop ecx
mov dword [ebp - 0x29b4], eax
push esi
push eax
push dword [ebp - 0x29cc]
mov byte [ebp - 4], 0x12
call fcn.0042bda9
push 0xa
pop ecx
push ebx
xor eax, eax
push ebx
lea edi, [ebp - 0x540]
rep stosd dword es:[edi], eax
push ebx
lea eax, [ebp - 0x540]
push eax
push dword [ebp - 0x29b8]
mov dword [ebp - 0x540], 0x28
mov dword [ebp - 0x524], esi
call dword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
jne 0x431491
push str.HttpSendRequestEx_failed
lea ecx, [ebp - 0x2a10]
call fcn.00408151
lea eax, [ebp - 0x2a10]
push eax
lea eax, [ebp - 0x2b80]
push eax
mov byte [ebp - 4], 0x13
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2b80]
jmp 0x431040
push str.InternetWriteFile_failed
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0x14
call fcn.00408151
lea eax, [ebp - 0x29c0]
push eax
push esi
mov byte [ebp - 4], 0x15
push dword [ebp - 0x29b4]
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_InternetWriteFile]
cmp eax, ebx
jne 0x4314d2
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0x14
call fcn.00409486
cmp dword [ebp - 0x29c0], esi
je 0x431523
push str.Failed_to_upload_content
lea ecx, [ebp - 0x2a10]
call fcn.00408151
lea eax, [ebp - 0x2a10]
push eax
lea eax, [ebp - 0x2b58]
push eax
mov byte [ebp - 4], 0x16
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2b58]
jmp 0x431040
push str.HttpEndRequest_failed
lea ecx, [ebp - 0x29e8]
mov dword [ebp - 4], 0x12
call fcn.00408151
push ebx
push ebx
push ebx
mov byte [ebp - 4], 0x18
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_HttpEndRequestW]
cmp eax, ebx
jne 0x43155c
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea ecx, [ebp - 0x29e8]
call fcn.00409486
mov byte [ebp - 4], 0xb
push dword [ebp - 0x29b4]
call fcn.00448665
pop ecx
push 4
pop esi
push str.HttpQueryInfo_HTTP_QUERY_STATUS_CODE_failed
lea ecx, [ebp - 0x29e8]
mov dword [ebp - 0x29b4], esi
call fcn.00408151
push ebx
lea eax, [ebp - 0x29b4]
push eax
lea eax, [ebp - 0x29f4]
push eax
mov byte [ebp - 4], 0x19
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
push 0x20000013
push dword [ebp - 0x29b8]
call edi
cmp eax, ebx
jne 0x4315c8
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0xb
call fcn.00409486
push ebx
lea eax, [ebp - 0x29b4]
push eax
lea eax, [ebp - 0x29f0]
push eax
push 0x20000005
push dword [ebp - 0x29b8]
mov dword [ebp - 0x29f0], ebx
mov dword [ebp - 0x29b4], esi
call edi
push ebx
lea eax, [ebp - 0x29b4]
push eax
lea eax, [ebp - 0x118]
push eax
push 0x36
push dword [ebp - 0x29b8]
mov dword [ebp - 0x29b4], 0x100
call edi
test eax, eax
je 0x431675
mov esi, dword [ebp - 0x29bc]
lea eax, [ebp - 0x118]
push eax
mov ecx, esi
call fcn.004093a9
mov eax, dword [esi + 0x14]
add eax, 0xfffffffe
push eax
push 1
push esi
lea esi, [ebp - 0x2a10]
call fcn.0042cd28
push 0xffffffffffffffff
push ebx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x29bc]
push eax
call fcn.00409317
push ebx
push 1
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00409486
jmp 0x431680
push dword [ebp - 0x29bc]
call fcn.00432dfc
xor esi, esi
push ebx
push ebx
lea eax, [ebp - 0x29b4]
push eax
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x4316a1
mov dword [ebp - 0x29b4], ebx
cmp dword [ebp - 0x29b4], ebx
je 0x431738
push str.InternetReadFile_failed
lea ecx, [ebp - 0x29e8]
call fcn.00408151
lea eax, [ebp - 0x29bc]
push eax
push 0x400
lea eax, [ebp - 0x518]
push eax
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x29b8]
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, ebx
jne 0x4316ef
lea eax, [ebp - 0x29e8]
call fcn.00429eb0
push ebx
push 1
lea ecx, [ebp - 0x29e8]
mov byte [ebp - 4], 0xb
call fcn.00409486
push dword [ebp - 0x29bc]
lea eax, [ebp - 0x518]
push eax
push dword [ebp - 0x29ec]
call fcn.0042bad4
push dword [ebp - 0x29f0]
add esi, dword [ebp - 0x29bc]
push dword [ebp - 0x29bc]
lea ecx, [ebp + 0x20]
call fcn.004332b5
jmp 0x431682
cmp dword [ebp - 0x29f4], 0xc8
je 0x431814
push ebx
lea eax, [ebp - 0x29ec]
push eax
lea eax, [ebp - 0x518]
push eax
push 0x14
push dword [ebp - 0x29b8]
mov dword [ebp - 0x29ec], 0x200
call edi
test eax, eax
je 0x4317db
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x2a10]
call fcn.004081fb
lea edx, [ebp - 0x2a10]
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0x1c
call fcn.0042c762
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x18], 0x10
jb 0x4317a5
mov eax, dword [eax + 4]
jmp 0x4317a8
add eax, 4
push eax
lea ecx, [ebp - 0x29e8]
call fcn.00408151
lea eax, [ebp - 0x29e8]
push eax
lea eax, [ebp - 0x2b08]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2b08]
jmp 0x431040
push dword [ebp - 0x29f4]
lea esi, [ebp - 0x2a10]
push str.statusCode___d
call fcn.0042c993
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x2ab8]
push eax
mov byte [ebp - 4], 0x1f
call fcn.00401273
push 0x4823c0
lea eax, [ebp - 0x2ab8]
jmp 0x431040
push dword [ebp - 0x29b8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x29c8]
call esi
push dword [ebp - 0x2a14]
call esi
or dword [ebp - 4], 0xffffffff
lea esi, [ebp + 0x20]
call fcn.004200b7
mov eax, 0xc8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004483ed
leave
ret