Function at 0x63807c
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 0x638b07
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 0x638acb
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x638a51
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.00471cd8
mov eax, dword [ebp - 4]
call fcn.004717dc
test al, al
jne 0x638148
mov eax, dword [ebp - 4]
call fcn.00471800
test al, al
jne 0x638148
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
lea eax, [ebp - 0xc]
call fcn.00406ecc
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 8]
call fcn.00406ecc
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.00638ba0
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.00406f68
push eax
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x6381c9
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
lea eax, [ebp - 0x54]
xor ecx, ecx
mov edx, 0xc
call fcn.00403d24
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov ebx, dword [eax + 0x74]
movzx eax, byte [ebx + 4]
sub al, 1
jb 0x6381f4
je 0x63820f
sub al, 2
je 0x63822c
jmp 0x638314
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 0x638314
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 0x638314
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, 0x638b28
call fcn.00472b34
mov eax, dword [ebp - 0x14f8]
call fcn.00406f68
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 0x6382d1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x6382b2
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.00406f68
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 0x638314
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x74]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x6382f5
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.00406f68
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.00406f68
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 0x638379
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
push 0
push 0
push 0x67c990
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00406f68
push eax
push 0x638b34
mov eax, dword [ebp - 0x28]
push eax
call sub.wininet.dll_HttpOpenRequestW
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x6383e1
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
mov dword [ebp - 0x34], 0xc8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x638556
lea eax, [ebp - 0x10]
mov ecx, 0x638b48
mov edx, dword [ebp - 0x1c]
call fcn.004072b0
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403a90
xor edx, edx
push ebp
push 0x63854f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x10]
call fcn.00471794
test al, al
je 0x6384d3
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403ec8
call fcn.004033c8
push 0
lea edx, [ebp - 0x44]
mov ecx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403bf4
call fcn.004033c8
cmp dword [ebp - 0x44], 0
jbe 0x6384d3
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, 0x638b60
call fcn.00472b34
mov eax, dword [ebp - 0x150c]
call fcn.00406f68
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.wininet.dll_HttpAddRequestHeadersW
cmp dword [ebp - 0x34], 0xc8
jne 0x638531
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403ee4
call fcn.004033c8
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.00403c14
call fcn.004033c8
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.00403c14
call fcn.004033c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x638556
lea eax, [ebp - 0x2a4]
call fcn.00403c34
call fcn.004033c8
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 0x6385ac
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
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 0x638617
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
je 0x638669
cmp dword [ebp - 0x30], 0x1a0
jne 0x638636
mov eax, dword [ebp - 0x10]
call fcn.00406f68
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 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
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 0x6386a8
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 0x63871c
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403a90
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403ec8
call fcn.004033c8
mov edx, 4
lea eax, [ebp - 0x2a4]
call fcn.00403ef0
call fcn.004033c8
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.00403c14
call fcn.004033c8
lea eax, [ebp - 0x2a4]
call fcn.00403c34
call fcn.004033c8
lea eax, [ebp - 0x14]
mov ecx, 0x638b94
mov edx, dword [ebp - 0x1c]
call fcn.004072b0
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x4f4]
call fcn.00403a90
mov eax, dword [ebp - 0x14]
call fcn.00471794
test al, al
je 0x63878c
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403ec8
call fcn.004033c8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x6387a1
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x4f4]
call fcn.00403ef0
call fcn.004033c8
lea eax, [ebp - 0x4f4]
call fcn.00403f24
call fcn.004033c8
jmp 0x6387a1
mov edx, 1
lea eax, [ebp - 0x4f4]
call fcn.00403ee4
call fcn.004033c8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x6387d0
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x2a4]
call fcn.00403a90
mov edx, 1
lea eax, [ebp - 0x2a4]
call fcn.00403ec8
call fcn.004033c8
xor eax, eax
push ebp
push 0x6389a3
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 0x638805
call fcn.00405750
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
je 0x63887e
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 5
mov eax, dword [ebp - 0x18]
push eax
push 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
push 0x64
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x44], 0
je 0x638850
call fcn.00405750
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00405750
jmp 0x638ad6
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x45], 0
jne 0x638829
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
mov byte [eax + 0x50], 6
mov eax, dword [ebp - 0x18]
push eax
push 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
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 0x638958
cmp dword [ebp - 0x48], 0
jbe 0x638958
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.00403c14
call fcn.004033c8
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 0x63892b
xor edx, edx
lea eax, [ebp - 0x2a4]
call fcn.00403ef0
call fcn.004033c8
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.00403c14
call fcn.004033c8
call sub.KERNEL32.DLL_GetTickCount_1
sub eax, ebx
cmp eax, 0x64
jb 0x6387e5
mov eax, dword [ebp - 0x18]
push eax
push 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
call sub.KERNEL32.DLL_GetTickCount_1
mov ebx, eax
jmp 0x6387e5
mov eax, dword [ebp - 0x18]
push eax
push 0x6390dc
mov eax, dword [ebp - 0x18]
call fcn.00498c64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6389aa
lea eax, [ebp - 0x4f4]
call fcn.00403c34
call fcn.004033c8
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x7c], 0
je 0x6389a2
lea eax, [ebp - 0x2a4]
call fcn.00403c34
call fcn.004033c8
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x638b0e
lea eax, [ebp - 0x150c]
call fcn.00406ecc
lea eax, [ebp - 0x14f8]
call fcn.00406ecc
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00406ed4
ret