Function at 0x4e9df0
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 0x4ea87b
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 0x4ea83f
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x4ea7c5
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.0045db68
mov eax, dword [ebp - 4]
call fcn.0045d768
test al, al
jne 0x4e9ebc
mov eax, dword [ebp - 4]
call fcn.0045d78c
test al, al
jne 0x4e9ebc
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 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
lea eax, [ebp - 0xc]
call fcn.00406680
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 8]
call fcn.00406680
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.004ea914
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.0040671c
push eax
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4e9f3d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
lea eax, [ebp - 0x54]
xor ecx, ecx
mov edx, 0xc
call fcn.00403b20
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov ebx, dword [eax + 0x74]
movzx eax, byte [ebx + 4]
sub al, 1
jb 0x4e9f68
je 0x4e9f83
sub al, 2
je 0x4e9fa0
jmp 0x4ea088
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 0x4ea088
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 0x4ea088
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, 0x4ea89c
call fcn.0045e8ec
mov eax, dword [ebp - 0x14f8]
call fcn.0040671c
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 0x4ea045
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4ea026
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.0040671c
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 0x4ea088
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x4ea069
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.0040671c
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.0040671c
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 0x4ea0ed
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
push 0
push 0
push 0x54ea9c
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.0040671c
push eax
push 0x4ea8a8
mov eax, dword [ebp - 0x28]
push eax
call sub.wininet.dll_HttpOpenRequestW
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x4ea155
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
mov dword [ebp - 0x34], 0xc8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x4ea2ca
lea eax, [ebp - 0x10]
mov ecx, 0x4ea8bc
mov edx, dword [ebp - 0x1c]
call fcn.00406a64
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403898
xor edx, edx
push ebp
push 0x4ea2c3
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x10]
call fcn.0045d720
test al, al
je 0x4ea247
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cc4
call fcn.00403234
push 0
lea edx, [ebp - 0x44]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.004039fc
call fcn.00403234
cmp dword [ebp - 0x44], 0
jbe 0x4ea247
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, 0x4ea8d4
call fcn.0045e8ec
mov eax, dword [ebp - 0x150c]
call fcn.0040671c
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpAddRequestHeadersW
cmp dword [ebp - 0x34], 0xc8
jne 0x4ea2a5
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403ce0
call fcn.00403234
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.00403a1c
call fcn.00403234
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.00403a1c
call fcn.00403234
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ea2ca
lea eax, [ebp - 0x2a4]
call fcn.00403a3c
call fcn.00403234
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 0x4ea320
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
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 0x4ea38b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 0xa
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
je 0x4ea3dd
cmp dword [ebp - 0x30], 0x1a0
jne 0x4ea3aa
mov eax, dword [ebp - 0x10]
call fcn.0040671c
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 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
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 0x4ea41c
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 0x4ea490
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403898
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cc4
call fcn.00403234
mov edx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403cec
call fcn.00403234
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.00403a1c
call fcn.00403234
lea eax, [ebp - 0x2a4]
call fcn.00403a3c
call fcn.00403234
lea eax, [ebp - 0x14]
mov ecx, 0x4ea908
mov edx, dword [ebp - 0x1c]
call fcn.00406a64
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x4f4]
call fcn.00403898
mov eax, dword [ebp - 0x14]
call fcn.0045d720
test al, al
je 0x4ea500
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403cc4
call fcn.00403234
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x4ea515
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x4f4]
call fcn.00403cec
call fcn.00403234
lea eax, [ebp - 0x4f4]
call fcn.00403d20
call fcn.00403234
jmp 0x4ea515
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403ce0
call fcn.00403234
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x4ea544
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403898
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403cc4
call fcn.00403234
xor eax, eax
push ebp
push 0x4ea717
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.KERNEL32.DLL_GetTickCount
mov ebx, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x44], 0
je 0x4ea579
call fcn.00405124
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
je 0x4ea5f2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 5
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
push 0x64
call sub.KERNEL32.DLL_Sleep_1
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x44], 0
je 0x4ea5c4
call fcn.00405124
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405124
jmp 0x4ea84a
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
jne 0x4ea59d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 6
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
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 0x4ea6cc
cmp dword [ebp - 0x48], 0
jbe 0x4ea6cc
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.00403a1c
call fcn.00403234
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 0x4ea69f
xor edx, edx
lea eax, [ebp - 0x2a4]
call fcn.00403cec
call fcn.00403234
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.00403a1c
call fcn.00403234
call sub.KERNEL32.DLL_GetTickCount
sub eax, ebx
cmp eax, 0x64
jb 0x4ea559
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
call sub.KERNEL32.DLL_GetTickCount
mov ebx, eax
jmp 0x4ea559
mov eax, dword [ebp - 0x18]
push eax
push 0x4eae50
mov eax, dword [ebp - 0x18]
call fcn.00479ab0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ea71e
lea eax, [ebp - 0x4f4]
call fcn.00403a3c
call fcn.00403234
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x4ea716
lea eax, [ebp - 0x2a4]
call fcn.00403a3c
call fcn.00403234
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ea882
lea eax, [ebp - 0x150c]
call fcn.00406680
lea eax, [ebp - 0x14f8]
call fcn.00406680
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00406688
ret