Function at 0x437c00
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
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
mov eax, 0x289c
call fcn.00469100
mov eax, dword [0x4bb190]
xor eax, esp
mov dword [esp + 0x2898], eax
push esi
push edi
mov esi, ecx
push 0x4a062c
lea edi, [esi + 0x105c]
lea eax, [esi + 0x26fc]
push edi
push eax
call fcn.004697b0
add esp, 0xc
test eax, eax
je 0x437c88
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.Failed_in_create_local_file:__s__Error:_d
push 0x103
lea eax, [esi + 0x2700]
push 0x104
push eax
call fcn.00467824
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
add esp, 0x18
mov ecx, esi
mov dword [esi + 0x10], 0xe
call eax
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
push ebx
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0x1264]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [esi + 0x26cc], eax
mov ecx, esi
cmp eax, ebx
jne 0x437cce
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov dword [esi + 0x10], 0xf
call eax
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
call fcn.00437b80
test eax, eax
jne 0x43819a
mov ecx, dword [esi + 0x26cc]
push 0x437600
push ecx
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
mov ecx, esi
cmp eax, 0xffffffff
jne 0x437d1a
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov dword [esi + 0x10], 0x10
call eax
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
call fcn.00437b80
test eax, eax
jne 0x43819a
mov ecx, dword [esi + 0x1470]
movzx edx, word [esi + 0x26c4]
push esi
push ebx
push ecx
mov ecx, dword [esi + 0x26cc]
push ebx
push ebx
push edx
lea eax, [esi + 0x1474]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [esi + 0x26d0], eax
cmp eax, ebx
jne 0x437d80
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 0x11
call eax
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437d95
push str.After_InternetConnect
push 1
push ebx
call fcn.00438390
add esp, 0xc
mov ecx, esi
call fcn.00437b80
test eax, eax
jne 0x43819a
mov eax, dword [esi + 0x26d0]
push esi
push SysReAllocString
lea ecx, [esp + 0x20]
push ecx
push ebx
push ebx
lea edx, [esi + 0x167c]
push edx
push ebx
mov dword [esp + 0x38], ebx
push eax
mov dword [esp + 0x38], 0x4a05b8
mov dword [esp + 0x3c], ebx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [esi + 0x26d4], eax
cmp eax, ebx
jne 0x437e08
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 0x12
call eax
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437e1d
push str.After_HttpOpenRequest
push 1
push ebx
call fcn.00438390
add esp, 0xc
mov ecx, esi
call fcn.00437b80
test eax, eax
jne 0x43819a
mov ecx, dword [esi + 0x26d4]
push ebx
push ebx
push ebx
push ebx
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
cmp eax, ebx
jne 0x437e69
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 0x13
call eax
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2898]
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437e7e
push str.After_HttpSendRequest
push 1
push ebx
call fcn.00438390
add esp, 0xc
mov ecx, esi
call fcn.00437b80
test eax, eax
jne 0x43819a
push ebp
push 0x3e
lea edx, [esp + 0x6e]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x74], cx
call fcn.00467850
mov edx, dword [esi + 0x26d4]
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
add esp, 0xc
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
push ecx
push 0x13
mov ebp, 0x20
push edx
mov dword [esp + 0x28], ebp
call edi
test eax, eax
jne 0x437efc
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 0x14
call edx
cmp dword [esi + 4], ebx
je 0x438199
push str.Failed_HttpQueryInfo
push 1
push ebx
call fcn.00438390
add esp, 0xc
jmp 0x438199
cmp dword [esi + 4], ebx
je 0x437f11
push str.After_HttpQueryInfo
push 1
push ebx
call fcn.00438390
add esp, 0xc
lea eax, [esp + 0x68]
push eax
call fcn.00467fbd
add esp, 4
cmp eax, 0xc8
je 0x437f52
mov dword [esi + 0x10], 0x17
cmp eax, 0x197
jne 0x437f3f
mov dword [esi + 0x10], 0x15
jmp 0x438190
cmp eax, 0x191
jne 0x437f52
mov dword [esi + 0x10], 0x16
jmp 0x438190
mov ecx, esi
call fcn.00437b80
test eax, eax
jne 0x438199
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 9
call eax
cmp dword [esi + 4], ebx
je 0x437f86
push 0x4a0544
push 1
push ebx
call fcn.00438390
add esp, 0xc
push 0x3e
lea edx, [esp + 0x2e]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x34], cx
call fcn.00467850
mov edx, dword [esi + 0x26d4]
add esp, 0xc
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
push ecx
push 5
push edx
mov dword [esp + 0x28], ebp
call edi
test eax, eax
je 0x437fd8
lea eax, [esp + 0x28]
push eax
mov dword [esi + 0x26e4], 1
call fcn.00467fbd
add esp, 4
mov dword [esi + 0x26e8], eax
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
mov dword [esi + 0x10], 0xa
call eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebp
push 0x27ff
lea ecx, [esp + 0xad]
push ebx
push ecx
mov dword [esi + 0x26f0], eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xb4], bl
call fcn.00467850
add esp, 0xc
mov dword [esi + 0x26ec], ebx
lea ecx, [ecx]
mov ecx, dword [esi + 0x26d4]
lea edx, [esp + 0x10]
push edx
push 0x2800
lea eax, [esp + 0xb0]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x438180
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x438130
cmp dword [esi + 0x26d8], ebx
jne 0x438130
mov edx, dword [esi + 0x26fc]
push edx
push 1
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.00469e6d
mov ecx, dword [esp + 0x20]
add dword [esi + 0x26ec], ecx
mov ecx, dword [esi + 0x26ec]
mov eax, dword [esi + 0x26e8]
add esp, 0x10
cmp ecx, eax
jbe 0x438099
mov dword [esi + 0x26ec], eax
call ebp
mov edi, eax
sub edi, dword [esi + 0x26f0]
jne 0x4380ad
mov dword [esi + 0x26f4], ebx
jmp 0x438127
mov edx, dword [esi + 0x26ec]
fild dword [esi + 0x26ec]
test edx, edx
jge 0x4380c3
fadd dword [0x4a0540]
mov eax, edi
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
test eax, eax
jge 0x4380d7
fadd dword [0x4a0540]
fdiv qword [0x4a0538]
fdivp st(1)
call fcn.00469c60
fild dword [esi + 0x26e8]
mov ecx, dword [esi + 0x26e8]
mov dword [esp + 0x18], eax
mov dword [esi + 0x26f4], eax
test ecx, ecx
jge 0x438104
fadd dword [0x4a0540]
fidiv dword [esp + 0x18]
fmul qword [0x4a0530]
call fcn.00469c60
neg edi
sub edi, eax
cmp edi, ebx
mov dword [esi + 0x26f8], edi
jg 0x438127
mov dword [esi + 0x26f8], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00437b80
test eax, eax
jne 0x438199
cmp dword [esp + 0x10], ebx
je 0x43814d
cmp dword [esi + 0x26d8], ebx
je 0x438020
mov ecx, dword [esi + 0x26fc]
push ecx
call fcn.00468e1e
add esp, 4
mov dword [esi + 0x26fc], ebx
cmp dword [esi + 0x26d8], ebx
je 0x438189
lea eax, [esi + 0x105c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [esi + 0x10], 0xc
jmp 0x438190
mov dword [esi + 0x10], 0x18
jmp 0x438190
mov dword [esi + 0x10], 0xb
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
pop ebp
mov ecx, dword [esp + 0x28a4]
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.004677ab
add esp, 0x289c
ret