Function at 0x55ab54
Capabilities:
Check for time delay via gettickcount
Check http status code
Connect to http server
Create http request
Delete file
Get http content length
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffaec
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x150c], ebx
mov dword [ebp - 0x14f8], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ecx
mov ebx, edx
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x55b5df
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x1d], 0
xor eax, eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
xor edx, edx
push ebp
push 0x55b5a3
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x55b529
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.0040eac0
mov eax, dword [ebp - 4]
call fcn.0040e698
test al, al
jne 0x55ac20
mov eax, dword [ebp - 4]
call fcn.0040e6bc
test al, al
jne 0x55ac20
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
mov dword [eax + 0x40], 0x10b
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
lea eax, [ebp - 0xc]
call fcn.00406c54
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 8]
call fcn.00406c54
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.0055b678
push 0
push 0
push 0
push 1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x70]
call fcn.00406cf0
push eax
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x55aca1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError_1
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
lea eax, [ebp - 0x54]
xor ecx, ecx
mov edx, 0xc
call fcn.00403b4c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov ebx, dword [eax + 0x74]
movzx eax, byte [ebx + 4]
sub al, 1
jb 0x55accc
je 0x55ace7
sub al, 2
je 0x55ad04
jmp 0x55adec
xor eax, eax
mov dword [ebp - 0x54], eax
push 0xc
lea eax, [ebp - 0x54]
push eax
push 0x26
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetSetOptionW
jmp 0x55adec
mov dword [ebp - 0x54], 3
push 0xc
lea eax, [ebp - 0x54]
push eax
push 0x26
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetSetOptionW
jmp 0x55adec
mov dword [ebp - 0x54], 3
lea eax, [ebp - 0x14f8]
push eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1508], eax
mov byte [ebp - 0x1504], 0x11
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1500], eax
mov byte [ebp - 0x14fc], 0
lea edx, [ebp - 0x1508]
mov ecx, 1
mov eax, 0x55b600
call fcn.0040f53c
mov eax, dword [ebp - 0x14f8]
call fcn.00406cf0
mov dword [ebp - 0x50], eax
push 0xc
lea eax, [ebp - 0x54]
push eax
push 0x26
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetSetOptionW
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
cmp dword [eax + 0x10], 0
je 0x55ada9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x55ad8a
sub ebx, 4
mov ebx, dword [ebx]
inc ebx
push ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
call fcn.00406cf0
push eax
push 0x2b
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetSetOptionW
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
cmp dword [eax + 0x14], 0
je 0x55adec
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x55adcd
sub ebx, 4
mov ebx, dword [ebx]
inc ebx
push ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x14]
call fcn.00406cf0
push eax
push 0x2c
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetSetOptionW
push 0
push 0
push 3
push 0
push 0
movzx eax, word [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
call fcn.00406cf0
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetConnectW
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x55ae51
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError_1
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
push 0
push 0
push 0x5d634c
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00406cf0
push eax
push 0x55b60c
mov eax, dword [ebp - 0x28]
push eax
call sub.wininet.dll_HttpOpenRequestW
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x55aeb9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError_1
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
mov dword [ebp - 0x34], 0xc8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b02e
lea eax, [ebp - 0x10]
mov ecx, 0x55b620
mov edx, dword [ebp - 0x1c]
call fcn.00407078
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.004038c4
xor edx, edx
push ebp
push 0x55b027
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x10]
call fcn.0040e650
test al, al
je 0x55afab
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cf0
call fcn.0040321c
push 0
lea edx, [ebp - 0x44]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403a28
call fcn.0040321c
cmp dword [ebp - 0x44], 0
jbe 0x55afab
mov dword [ebp - 0x34], 0xce
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x44]
add dword [eax + 0x50], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x50]
mov dword [eax + 0x5c], edx
push 0x10000000
push 0xffffffffffffffff
lea eax, [ebp - 0x150c]
push eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1514], eax
mov byte [ebp - 0x1510], 0
lea edx, [ebp - 0x1514]
xor ecx, ecx
mov eax, 0x55b638
call fcn.0040f53c
mov eax, dword [ebp - 0x150c]
call fcn.00406cf0
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpAddRequestHeadersW
cmp dword [ebp - 0x34], 0xc8
jne 0x55b009
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403d0c
call fcn.0040321c
push 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
lea edx, [eax + 0x28]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403a48
call fcn.0040321c
push 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
lea edx, [eax + 0x2c]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403a48
call fcn.0040321c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55b02e
lea eax, [ebp - 0x2a4]
call fcn.00403a68
call fcn.0040321c
ret
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpSendRequestW
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x55b084
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError_1
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 4
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x20000013
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpQueryInfoW
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x55b0ef
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError_1
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
je 0x55b141
cmp dword [ebp - 0x30], 0x1a0
jne 0x55b10e
mov eax, dword [ebp - 0x10]
call fcn.00406cf0
push eax
call sub.KERNEL32.DLL_DeleteFileW
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 4
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
push eax
push 0x20000005
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpQueryInfoW
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
je 0x55b180
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0x28]
add edx, dword [ebp - 0x38]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b1f4
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.004038c4
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cf0
call fcn.0040321c
mov edx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403d18
call fcn.0040321c
push 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
lea edx, [eax + 0x2c]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403a48
call fcn.0040321c
lea eax, [ebp - 0x2a4]
call fcn.00403a68
call fcn.0040321c
lea eax, [ebp - 0x14]
mov ecx, 0x55b66c
mov edx, dword [ebp - 0x1c]
call fcn.00407078
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x4f4]
call fcn.004038c4
mov eax, dword [ebp - 0x14]
call fcn.0040e650
test al, al
je 0x55b264
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403cf0
call fcn.0040321c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b279
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x4f4]
call fcn.00403d18
call fcn.0040321c
lea eax, [ebp - 0x4f4]
call fcn.00403d4c
call fcn.0040321c
jmp 0x55b279
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403d0c
call fcn.0040321c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b2a8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.004038c4
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cf0
call fcn.0040321c
xor eax, eax
push ebp
push 0x55b47b
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.KERNEL32.DLL_GetTickCount_1
mov ebx, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x44], 0
je 0x55b2dd
call fcn.004055a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
je 0x55b356
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 5
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
push 0x64
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x44], 0
je 0x55b328
call fcn.004055a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004055a8
jmp 0x55b5ae
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
jne 0x55b301
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 6
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 1
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
push 0x1000
lea eax, [ebp - 0x14f4]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
je 0x55b430
cmp dword [ebp - 0x48], 0
jbe 0x55b430
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x48]
add dword [eax + 0x50], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x5c], eax
push 0
lea edx, [ebp - 0x14f4]
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x4f4]
call fcn.00403a48
call fcn.0040321c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x48]
add dword [eax + 0x28], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b403
xor edx, edx
lea eax, [ebp - 0x2a4]
call fcn.00403d18
call fcn.0040321c
push 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
lea edx, [eax + 0x28]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403a48
call fcn.0040321c
call sub.KERNEL32.DLL_GetTickCount_1
sub eax, ebx
cmp eax, 0x64
jb 0x55b2bd
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
call sub.KERNEL32.DLL_GetTickCount_1
mov ebx, eax
jmp 0x55b2bd
mov eax, dword [ebp - 0x18]
push eax
push 0x55bbb4
mov eax, dword [ebp - 0x18]
call fcn.00480560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55b482
lea eax, [ebp - 0x4f4]
call fcn.00403a68
call fcn.0040321c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x55b47a
lea eax, [ebp - 0x2a4]
call fcn.00403a68
call fcn.0040321c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55b5e6
lea eax, [ebp - 0x150c]
call fcn.00406c54
lea eax, [ebp - 0x14f8]
call fcn.00406c54
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00406c5c
ret