Function at 0x10150950
Capabilities:
Check for time delay via gettickcount
Check http status code
Connect to http server
Create http request
Delete file
Download and write a file
Get file size
Get http content length
Parse url
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Set file attributes
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1984
call fcn.10123010
mov eax, dword [0x101c1b88]
xor eax, ebp
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1784], 0
mov dword [ebp - 0x1780], 0
mov dword [ebp - 0x1774], 0
mov dword [ebp - 0x3c], 0
push 0x38
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.1011e8d0
add esp, 0xc
mov byte [ebp - 0x1768], 0
push 0x7f
push 0
lea ecx, [ebp - 0x1767]
push ecx
call fcn.1011e8d0
add esp, 0xc
mov byte [ebp - 0x16e8], 0
push 0x7f
push 0
lea edx, [ebp - 0x16e7]
push edx
call fcn.1011e8d0
add esp, 0xc
mov byte [ebp - 0x1808], 0
push 0x7f
push 0
lea eax, [ebp - 0x1807]
push eax
call fcn.1011e8d0
add esp, 0xc
mov byte [ebp - 0x248], 0
push 0x1ff
push 0
lea ecx, [ebp - 0x247]
push ecx
call fcn.1011e8d0
add esp, 0xc
mov dword [ebp - 0x1770], 0
mov dword [ebp - 0x1654], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x1660], 0
mov dword [ebp - 0x165c], 0
mov dword [ebp - 0x177c], 0
mov dword [ebp - 0x1778], 0
mov byte [ebp - 0x1650], 0
push 0x3ff
push 0
lea edx, [ebp - 0x164f]
push edx
call fcn.1011e8d0
add esp, 0xc
mov dword [ebp - 0x1668], 0
xor eax, eax
mov dword [ebp - 0x1664], eax
mov byte [ebp - 0x1250], 0
push 0xfff
push 0
lea ecx, [ebp - 0x124f]
push ecx
call fcn.1011e8d0
add esp, 0xc
mov dword [ebp - 0x24c], 0
cmp dword [ebp + 8], 0
je 0x10150aac
cmp dword [ebp + 0xc], 0
jne 0x10150ab3
xor eax, eax
jmp 0x10151312
mov edx, dword [ebp + 8]
push edx
call fcn.1011e3a0
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 1
push eax
call fcn.1011a99a
add esp, 4
mov dword [ebp - 0x1770], eax
cmp dword [ebp - 0x1770], 0
jne 0x10150ae7
xor eax, eax
jmp 0x10151312
mov ecx, dword [ebp - 0x44]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x1770]
push edx
call fcn.1011e8d0
add esp, 0xc
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x1770]
push edx
call fcn.1011e560
add esp, 0xc
mov dword [ebp - 0x40], 0
jmp 0x10150b28
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebp - 0x44]
jae 0x10150b73
mov edx, dword [ebp - 0x1770]
add edx, dword [ebp - 0x40]
movsx eax, byte [edx]
cmp eax, 0x3f
je 0x10150b52
mov ecx, dword [ebp - 0x1770]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
cmp edx, 0x23
jne 0x10150b54
jmp 0x10150b73
mov eax, dword [ebp - 0x1770]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x10150b71
mov edx, dword [ebp - 0x1770]
add edx, dword [ebp - 0x40]
mov byte [edx], 0x2f
jmp 0x10150b1f
mov dword [ebp - 0x3c], 0x3c
lea eax, [ebp - 0x1768]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x80
lea ecx, [ebp - 0x16e8]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x80
lea edx, [ebp - 0x1808]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0x80
lea eax, [ebp - 0x248]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0x200
lea ecx, [ebp - 0x3c]
push ecx
push 0
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x1770]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x10150bda
jmp 0x1015129a
cmp dword [ebp - 0x30], 3
je 0x10150bf1
cmp dword [ebp - 0x30], 4
je 0x10150bf1
cmp dword [ebp - 0x30], 1
je 0x10150bf1
jmp 0x1015129a
mov ecx, dword [ebp - 0x44]
imul ecx, ecx, 3
add ecx, 1
mov dword [ebp - 0x1660], ecx
mov edx, dword [ebp - 0x1660]
push edx
call fcn.1011a99a
add esp, 4
mov dword [ebp - 0x1654], eax
cmp dword [ebp - 0x1654], 0
jne 0x10150c23
jmp 0x1015129a
mov eax, dword [ebp - 0x1660]
push eax
push 0
mov ecx, dword [ebp - 0x1654]
push ecx
call fcn.1011e8d0
add esp, 0xc
lea edx, [ebp - 0x1660]
push edx
mov eax, dword [ebp - 0x1654]
push eax
push closesocket
lea ecx, [ebp - 0x3c]
push ecx
call dword [sym.imp.WININET.dll_InternetCreateUrlA]
test eax, eax
jne 0x10150c61
jmp 0x1015129a
mov dword [ebp - 0x3c], 0x3c
lea edx, [ebp - 0x1768]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], 0x80
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x80
lea ecx, [ebp - 0x1808]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x80
lea edx, [ebp - 0x248]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0x200
lea eax, [ebp - 0x3c]
push eax
push 0
mov ecx, dword [ebp - 0x1660]
push ecx
mov edx, dword [ebp - 0x1654]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x10150ccb
jmp 0x1015129a
push 0
push 0
push 0
push 1
push 0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x1784], eax
cmp dword [ebp - 0x1784], 0
jne 0x10150cef
jmp 0x1015129a
push 0
push 0
xor eax, eax
cmp dword [ebp - 0x30], 1
setne al
lea eax, [eax + eax + 1]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov ax, word [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x1784]
push edx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x1780], eax
cmp dword [ebp - 0x1784], 0
jne 0x10150d33
jmp 0x1015129a
cmp dword [ebp - 0x30], 3
je 0x10150d43
cmp dword [ebp - 0x30], 4
jne 0x10150f29
mov word [ebp - 0x1818], 0
xor eax, eax
mov dword [ebp - 0x1816], eax
mov dword [ebp - 0x1812], eax
mov dword [ebp - 0x180e], eax
mov word [ebp - 0x180a], ax
mov dword [ebp - 0x1820], 0
push 0
xor ecx, ecx
cmp dword [ebp - 0x30], 4
setne cl
sub ecx, 1
and ecx, 0x803000
or ecx, 0x200
or ecx, 0x80000000
push ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0x10]
push edx
push 0x101c913c
mov eax, dword [ebp - 0x1780]
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x1774], eax
cmp dword [ebp - 0x1784], 0
jne 0x10150dc2
jmp 0x1015129a
cmp dword [ebp - 0x30], 4
jne 0x10150e23
mov dword [ebp - 0x182c], 0
mov dword [ebp - 0x1828], 4
lea ecx, [ebp - 0x1828]
push ecx
lea edx, [ebp - 0x182c]
push edx
push 0x1f
mov eax, dword [ebp - 0x1774]
push eax
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
mov ecx, dword [ebp - 0x182c]
or ecx, 0x100
mov dword [ebp - 0x182c], ecx
push 4
lea edx, [ebp - 0x182c]
push edx
push 0x1f
mov eax, dword [ebp - 0x1774]
push eax
call dword [sym.imp.WININET.dll_InternetSetOptionA]
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x1774]
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x181c], eax
cmp dword [ebp - 0x1784], 0
jne 0x10150e4c
jmp 0x1015129a
mov dword [ebp - 0x1824], 4
push 0
lea edx, [ebp - 0x1824]
push edx
lea eax, [ebp - 0x1820]
push eax
push 0x20000013
mov ecx, dword [ebp - 0x1774]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0x181c], eax
cmp dword [ebp - 0x181c], 0
je 0x10150e93
cmp dword [ebp - 0x1820], 0xc8
je 0x10150e98
jmp 0x1015129a
mov dword [ebp - 0x1824], 4
push 0
lea edx, [ebp - 0x1824]
push edx
lea eax, [ebp - 0x165c]
push eax
push 0x20000005
mov ecx, dword [ebp - 0x1774]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0x181c], eax
mov dword [ebp - 0x1824], 0x10
push 0
lea edx, [ebp - 0x1824]
push edx
lea eax, [ebp - 0x1818]
push eax
push 0x4000000b
mov ecx, dword [ebp - 0x1774]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0x181c], eax
cmp dword [ebp - 0x181c], 0
je 0x10150f24
movzx edx, word [ebp - 0x1818]
test edx, edx
jle 0x10150f24
lea eax, [ebp - 0x1668]
push eax
lea ecx, [ebp - 0x1818]
push ecx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
jmp 0x1015100a
cmp dword [ebp - 0x30], 1
jne 0x1015100a
mov dword [ebp - 0x1970], 0
push 0x13c
push 0
lea edx, [ebp - 0x196c]
push edx
call fcn.1011e8d0
add esp, 0xc
push 0
push 0x80000200
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x1654]
push eax
mov ecx, dword [ebp - 0x1784]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x1774], eax
cmp dword [ebp - 0x1774], 0
jne 0x10150f86
jmp 0x1015129a
push 0
mov edx, dword [ebp - 0x1774]
push edx
call dword [sym.imp.WININET.dll_FtpGetFileSize]
mov dword [ebp - 0x165c], eax
cmp dword [ebp - 0x165c], 0xffffffff
jne 0x10150fa9
jmp 0x1015129a
push 0
push closesocket
lea eax, [ebp - 0x1970]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x1780]
push edx
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
mov dword [ebp - 0x1974], eax
cmp dword [ebp - 0x1974], 0
je 0x1015100a
mov eax, dword [ebp - 0x1950]
cmp eax, dword [ebp - 0x165c]
jne 0x10150ffd
push 8
lea ecx, [ebp - 0x195c]
push ecx
lea edx, [ebp - 0x1668]
push edx
call fcn.1011e560
add esp, 0xc
mov eax, dword [ebp - 0x1974]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
push edx
mov edx, dword [ebp + 0xc]
push edx
push str._s._u.tmp
lea eax, [ebp - 0x1650]
push eax
call fcn.1011a63e
add esp, 0x10
push 0
push 0x80
push 3
push 0
push 1
push closesocket
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x1658], eax
cmp dword [ebp - 0x1658], 0xffffffff
je 0x101510fd
mov dword [ebp - 0x1978], 0
mov dword [ebp - 0x1980], 0
xor edx, edx
mov dword [ebp - 0x197c], edx
push 0
mov eax, dword [ebp - 0x1658]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x1978], eax
lea ecx, [ebp - 0x1980]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x1658]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov eax, dword [ebp - 0x1978]
cmp eax, dword [ebp - 0x165c]
jne 0x101510f0
mov ecx, dword [ebp - 0x197c]
cmp ecx, dword [ebp - 0x1664]
jne 0x101510f0
mov edx, dword [ebp - 0x1980]
cmp edx, dword [ebp - 0x1668]
jne 0x101510f0
mov dword [ebp - 0x24c], 1
mov eax, dword [ebp - 0x1658]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1015129a
mov ecx, dword [ebp - 0x1658]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x1650]
push edx
call fcn.1014c440
add esp, 4
push 0
push 2
push 2
push 0
push 1
push 0x10000000
lea eax, [ebp - 0x1650]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x176c], eax
cmp dword [ebp - 0x176c], 0
jne 0x1015113c
jmp 0x1015129a
mov dword [ebp - 0x177c], 0
mov dword [ebp - 0x24c], 1
lea ecx, [ebp - 0x1778]
push ecx
push 0x1000
lea edx, [ebp - 0x1250]
push edx
mov eax, dword [ebp - 0x1774]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x101511f0
cmp dword [ebp - 0x1778], 0
jbe 0x101511f0
mov dword [ebp - 0x1984], 0
push 0
lea ecx, [ebp - 0x1984]
push ecx
mov edx, dword [ebp - 0x1778]
push edx
lea eax, [ebp - 0x1250]
push eax
mov ecx, dword [ebp - 0x176c]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x101511bb
mov dword [ebp - 0x24c], 0
jmp 0x101511f0
mov edx, dword [ebp - 0x177c]
add edx, dword [ebp - 0x1984]
mov dword [ebp - 0x177c], edx
cmp dword [ebp + 0x10], 0
je 0x101511eb
mov eax, dword [ebp - 0x177c]
push eax
mov ecx, dword [ebp - 0x165c]
push ecx
mov edx, dword [ebp + 0x14]
push edx
call dword [ebp + 0x10]
add esp, 0xc
jmp 0x10151150
lea eax, [ebp - 0x1668]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x176c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov edx, dword [ebp - 0x176c]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [ebp - 0x176c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x176c], 0
cmp dword [ebp - 0x165c], 0
je 0x1015125c
mov ecx, dword [ebp - 0x165c]
cmp ecx, dword [ebp - 0x177c]
je 0x1015125c
lea edx, [ebp - 0x1650]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x24c], 0
jmp 0x1015129a
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1650]
push ecx
call fcn.1014c800
add esp, 8
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jne 0x1015128b
lea edx, [ebp - 0x1650]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x80
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp - 0x1770], 0
je 0x101512b2
mov ecx, dword [ebp - 0x1770]
push ecx
call fcn.1011a8bd
add esp, 4
cmp dword [ebp - 0x1654], 0
je 0x101512ca
mov edx, dword [ebp - 0x1654]
push edx
call fcn.1011a8bd
add esp, 4
cmp dword [ebp - 0x1774], 0
je 0x101512e0
mov eax, dword [ebp - 0x1774]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x1780], 0
je 0x101512f6
mov ecx, dword [ebp - 0x1780]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x1784], 0
je 0x1015130c
mov edx, dword [ebp - 0x1784]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x48]
xor ecx, ebp
call fcn.1011a380
mov esp, ebp
pop ebp
ret