Function at 0x412d5b
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Reference http user-agent string
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43c6c9
mov eax, dword fs:[0]
push eax
mov eax, 0x1668
call fcn.0042b9a0
mov eax, dword [0x4516e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x161c], eax
mov ebx, dword [ebp + 8]
xor edi, edi
or dword [ebp - 0x1624], 0xffffffff
mov dword [ebp - 0x1630], ebx
xor ebx, ebx
mov dword [ebp - 0x1620], ebx
mov dword [ebp - 0x162c], edi
test eax, eax
je 0x41312b
xor ecx, ecx
cmp word [eax], cx
je 0x41312b
xor eax, eax
push eax
push eax
push eax
push eax
push str.Mozilla_5.0__Windows_NT_10.0___AppleWebKit_537.36__KHTML__like_Gecko_
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
mov dword [ebp - 0x1634], ebx
test ebx, ebx
je 0x41312b
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp - 0x1614]
push 4
push eax
push 2
push ebx
mov dword [ebp - 0x1614], 0x2710
call esi
push 4
lea eax, [ebp - 0x1614]
push eax
push 5
push ebx
call esi
push 4
lea eax, [ebp - 0x1614]
push eax
push 6
push ebx
call esi
push 4
lea eax, [ebp - 0x1614]
mov dword [ebp - 0x1614], 0x3e8
push eax
push 4
push ebx
call esi
push 4
lea eax, [ebp - 0x1614]
mov dword [ebp - 0x1614], 2
push eax
push 3
push ebx
call esi
xor eax, eax
mov dword [ebp - 0x1674], 0x3c
push 0x38
push eax
lea eax, [ebp - 0x1670]
push eax
call fcn.00422860
mov edx, dword [ebp - 0x161c]
lea eax, [ebp - 0x610]
mov ecx, edx
mov dword [ebp - 0x1664], eax
lea eax, [ebp - 0x1610]
mov dword [ebp - 0x1660], 0x100
add esp, 0xc
mov dword [ebp - 0x1648], eax
mov dword [ebp - 0x1644], 0x800
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x1620]
jne 0x412ea8
lea eax, [ebp - 0x1674]
sub ecx, esi
push eax
xor eax, eax
sar ecx, 1
push eax
push ecx
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x41312b
cmp dword [ebp - 0x1668], 3
je 0x412eeb
cmp dword [ebp - 0x1668], 4
jne 0x41312b
xor eax, eax
mov dword [ebp - 0x1620], 0x84080000
cmp dword [ebp - 0x1668], 4
push eax
push eax
push 3
push eax
push eax
lea eax, [ebp - 0x610]
jne 0x412f2d
push 0x1bb
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
mov dword [ebp - 0x1620], 0x84880000
mov dword [ebp - 0x162c], esi
jmp 0x412f43
push dword [ebp - 0x165c]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
mov dword [ebp - 0x162c], eax
test esi, esi
je 0x41312b
push dword [ebp - 0x161c]
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
push 0x44a4f0
lea ecx, [ebp - 0x1618]
call fcn.00407cf7
xor eax, eax
mov dword [ebp - 4], eax
call fcn.004083ea
push eax
lea ecx, [ebp - 0x161c]
call fcn.00407e3b
xor eax, eax
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x1620]
push eax
push eax
push eax
lea eax, [ebp - 0x1610]
push eax
push dword [ebp - 0x1618]
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
jne 0x412fb5
mov ecx, dword [ebp - 0x161c]
add ecx, 0xfffffff0
jmp 0x413114
mov esi, dword [ebp - 0x161c]
cmp dword [esi - 0xc], 0
je 0x412fd9
push 0xa0000000
push dword [esi - 0xc]
push esi
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x413111
push str.POST
lea ecx, [ebp - 0x1618]
call fcn.00407d66
test eax, eax
jne 0x413000
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412ff2
sub ecx, edx
xor eax, eax
push ecx
jmp 0x413003
xor eax, eax
push eax
push eax
push dword [esi - 0xc]
push esi
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x413111
xor eax, eax
mov dword [ebp - 0x1638], 4
push eax
lea eax, [ebp - 0x1638]
push eax
lea eax, [ebp - 0x1624]
push eax
push 0x20000013
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x413111
cmp dword [ebp - 0x1624], 0xc8
je 0x413062
cmp dword [ebp - 0x1624], 0xce
jne 0x413111
xor eax, eax
push 0x3ff
push eax
mov byte [ebp - 0x410], al
lea eax, [ebp - 0x40f]
push eax
call fcn.00422860
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x1628], eax
lea eax, [ebp - 0x1628]
push eax
push 0x400
lea eax, [ebp - 0x410]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x413111
mov esi, dword [ebp - 0x1630]
xor ebx, ebx
cmp dword [ebp - 0x1628], ebx
jbe 0x413105
lea eax, [ebp - 0x410]
push eax
call fcn.00402357
pop ecx
push eax
lea eax, [ebp - 0x410]
mov ecx, esi
push eax
call fcn.0041365d
push dword [ebp - 0x1628]
lea eax, [ebp - 0x410]
push ebx
push eax
call fcn.00422860
add esp, 0xc
lea eax, [ebp - 0x1628]
push eax
push 0x400
lea eax, [ebp - 0x410]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x4130ad
mov esi, dword [ebp - 0x161c]
mov ebx, dword [ebp - 0x1634]
lea ecx, [esi - 0x10]
call fcn.0040233b
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1618]
lea ecx, [ecx - 0x10]
call fcn.0040233b
mov ecx, dword [ebp - 0x1630]
xor eax, eax
push eax
push 1
call fcn.004136ff
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
test edi, edi
je 0x413148
push edi
call esi
mov eax, dword [ebp - 0x162c]
test eax, eax
je 0x413155
push eax
call esi
test ebx, ebx
je 0x41315c
push ebx
call esi
mov eax, dword [ebp - 0x1624]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e635
mov esp, ebp
pop ebp
ret