Function at 0x4158b6
Capabilities:
Connect to http server
Create http request
Parse url
Send data
Send http request

Disassembly:
push 0x890
mov eax, 0x54ac39
call fcn.0052fc5a
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x834]
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov esi, dword [ebp + 0x10]
push ebx
push ecx
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x834], 0x400
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
jne 0x4158fe
mov eax, 0x4e20
jmp 0x415cd5
push edi
call fcn.0052eb7a
pop ecx
cmp eax, 0x200
jb 0x415916
mov eax, 0x4e21
jmp 0x415cd5
test esi, esi
je 0x415921
push esi
call fcn.0052eb7a
pop ecx
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x89c]
push ebx
push eax
call fcn.0052ea60
or dword [ebp - 0x894], 0xffffffff
lea eax, [ebp - 0x89c]
or dword [ebp - 0x888], 0xffffffff
add esp, 0xc
or dword [ebp - 0x86c], 0xffffffff
mov edi, 0x4e22
mov dword [ebp - 0x89c], esi
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.0052eb7a
pop ecx
push eax
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x415cd3
inc edi
cmp dword [ebp - 0x890], 4
jne 0x415cd3
push ebx
push ebx
push ebx
push ebx
push str.Certificate_Info
mov edi, 0x4e24
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
mov dword [ebp - 0x838], ebx
test ebx, ebx
je 0x415cc1
push dword [ebp - 0x88c]
lea ecx, [ebp - 0x818]
inc edi
call fcn.00402305
and dword [ebp - 4], 0
lea ecx, [ebp - 0x818]
push 0xa
push 0x55d1f8
call fcn.00405cfd
mov esi, eax
lea ecx, [ebp - 0x818]
push esi
lea eax, [ebp - 0x82c]
push eax
call fcn.004116a0
push esi
lea eax, [ebp - 0x81c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x818]
call fcn.00407561
push eax
lea ecx, [ebp - 0x818]
mov byte [ebp - 4], 2
call fcn.00402900
mov ecx, dword [ebp - 0x81c]
mov byte [ebp - 4], 1
lea ecx, [ecx - 0x10]
call fcn.00409ada
xor eax, eax
push eax
push 0x800000
push 3
push eax
push eax
push 0x1bb
push dword [ebp - 0x818]
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, dword [ebp - 0x82c]
mov dword [ebp - 0x830], eax
test eax, eax
je 0x415c92
xor ecx, ecx
mov edi, 0x4e26
push ecx
push 0x800000
push ecx
push ecx
push ecx
push esi
push str.HEAD
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov ebx, eax
mov dword [ebp - 0x81c], ebx
test ebx, ebx
je 0x415c78
xor eax, eax
inc edi
push eax
push eax
push eax
push 0x55ae2c
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x415ad6
push eax
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x81c]
push eax
push 0x20000013
push ebx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x415c83
push dword [ebp - 0x81c]
push str.Error_Code_:__0x_x_
call fcn.00410441
pop ecx
jmp 0x415c82
mov edi, 0x4e28
call fcn.00418b84
push eax
lea ecx, [ebp - 0x814]
call fcn.004021f8
lea eax, [ebp - 0x828]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x860]
mov dword [ebp - 0x828], 0x28
push eax
push 0x20
push ebx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
cmp eax, 1
jne 0x415c6b
cmp dword [ebp - 0x840], 0
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
je 0x415b45
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x840]
call fcn.00415cdb
pop ecx
pop ecx
push dword [ebp - 0x840]
call ebx
cmp dword [ebp - 0x84c], 0
je 0x415b6a
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x84c]
call fcn.00415cdb
pop ecx
pop ecx
push dword [ebp - 0x84c]
call ebx
cmp dword [ebp - 0x848], 0
je 0x415b8f
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x848]
call fcn.00415cdb
pop ecx
pop ecx
push dword [ebp - 0x848]
call ebx
cmp dword [ebp - 0x844], 0
je 0x415bb4
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x844]
call fcn.00415cdb
pop ecx
pop ecx
push dword [ebp - 0x844]
call ebx
cmp dword [ebp - 0x850], 0
je 0x415c55
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x850]
call fcn.00415cdb
pop ecx
pop ecx
push 0x55ae2c
lea ecx, [ebp - 0x820]
xor edi, edi
call fcn.00402305
mov byte [ebp - 4], 4
push edi
jmp 0x415bf2
lea edi, [eax + 1]
push edi
push 0x55d28c
lea ecx, [ebp - 0x814]
call fcn.00405cfd
test eax, eax
jg 0x415bee
push edi
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x814]
call fcn.004116a0
lea eax, [ebp - 0x824]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x820]
call fcn.00402900
mov ecx, dword [ebp - 0x824]
lea ecx, [ecx - 0x10]
call fcn.00409ada
push dword [ebp - 0x850]
call ebx
mov ecx, dword [ebp - 0x820]
xor edi, edi
lea ecx, [ecx - 0x10]
call fcn.00409ada
mov ebx, dword [ebp - 0x81c]
mov ecx, dword [ebp - 0x814]
lea ecx, [ecx - 0x10]
call fcn.00409ada
jmp 0x415c83
push str.querry_Fail
call fcn.00410441
pop ecx
jmp 0x415c5b
push str.request_Fail
call fcn.00410441
pop ecx
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, dword [ebp - 0x838]
jmp 0x415c9d
push str.Connection_Fail
call fcn.00410441
pop ecx
push dword [ebp - 0x830]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [esi - 0x10]
call fcn.00409ada
mov ecx, dword [ebp - 0x818]
lea ecx, [ecx - 0x10]
call fcn.00409ada
jmp 0x415ccc
push str.open_error_Fail
call fcn.00410441
pop ecx
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, edi
call fcn.0052fc09
ret