Function at 0x4378a0
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.00468d30
mov eax, dword [0x4ba190]
xor eax, esp
mov dword [esp + 0x2898], eax
push esi
push edi
mov esi, ecx
push 0x49f5b4
lea edi, [esi + 0x105c]
lea eax, [esi + 0x26fc]
push edi
push eax
call fcn.004693e0
add esp, 0xc
test eax, eax
je 0x437928
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.0046745c
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.004673e3
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 0x43796e
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.004673e3
add esp, 0x289c
ret
call fcn.00437820
test eax, eax
jne 0x437e3a
mov ecx, dword [esi + 0x26cc]
push 0x4372a0
push ecx
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
mov ecx, esi
cmp eax, 0xffffffff
jne 0x4379ba
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.004673e3
add esp, 0x289c
ret
call fcn.00437820
test eax, eax
jne 0x437e3a
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 0x437a20
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.004673e3
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437a35
push str.After_InternetConnect
push 1
push ebx
call fcn.00438030
add esp, 0xc
mov ecx, esi
call fcn.00437820
test eax, eax
jne 0x437e3a
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], 0x49f540
mov dword [esp + 0x3c], ebx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [esi + 0x26d4], eax
cmp eax, ebx
jne 0x437aa8
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.004673e3
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437abd
push str.After_HttpOpenRequest
push 1
push ebx
call fcn.00438030
add esp, 0xc
mov ecx, esi
call fcn.00437820
test eax, eax
jne 0x437e3a
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 0x437b09
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.004673e3
add esp, 0x289c
ret
cmp dword [esi + 4], ebx
je 0x437b1e
push str.After_HttpSendRequest
push 1
push ebx
call fcn.00438030
add esp, 0xc
mov ecx, esi
call fcn.00437820
test eax, eax
jne 0x437e3a
push ebp
push 0x3e
lea edx, [esp + 0x6e]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x74], cx
call fcn.00467480
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 0x437b9c
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 0x437e39
push str.Failed_HttpQueryInfo
push 1
push ebx
call fcn.00438030
add esp, 0xc
jmp 0x437e39
cmp dword [esi + 4], ebx
je 0x437bb1
push str.After_HttpQueryInfo
push 1
push ebx
call fcn.00438030
add esp, 0xc
lea eax, [esp + 0x68]
push eax
call fcn.00467bed
add esp, 4
cmp eax, 0xc8
je 0x437bf2
mov dword [esi + 0x10], 0x17
cmp eax, 0x197
jne 0x437bdf
mov dword [esi + 0x10], 0x15
jmp 0x437e30
cmp eax, 0x191
jne 0x437bf2
mov dword [esi + 0x10], 0x16
jmp 0x437e30
mov ecx, esi
call fcn.00437820
test eax, eax
jne 0x437e39
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 0x437c26
push 0x49f4cc
push 1
push ebx
call fcn.00438030
add esp, 0xc
push 0x3e
lea edx, [esp + 0x2e]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x34], cx
call fcn.00467480
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 0x437c78
lea eax, [esp + 0x28]
push eax
mov dword [esi + 0x26e4], 1
call fcn.00467bed
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.00467480
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 0x437e20
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x437dd0
cmp dword [esi + 0x26d8], ebx
jne 0x437dd0
mov edx, dword [esi + 0x26fc]
push edx
push 1
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.00469a9d
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 0x437d39
mov dword [esi + 0x26ec], eax
call ebp
mov edi, eax
sub edi, dword [esi + 0x26f0]
jne 0x437d4d
mov dword [esi + 0x26f4], ebx
jmp 0x437dc7
mov edx, dword [esi + 0x26ec]
fild dword [esi + 0x26ec]
test edx, edx
jge 0x437d63
fadd dword [0x49f4c8]
mov eax, edi
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
test eax, eax
jge 0x437d77
fadd dword [0x49f4c8]
fdiv qword [0x49f4c0]
fdivp st(1)
call fcn.00469890
fild dword [esi + 0x26e8]
mov ecx, dword [esi + 0x26e8]
mov dword [esp + 0x18], eax
mov dword [esi + 0x26f4], eax
test ecx, ecx
jge 0x437da4
fadd dword [0x49f4c8]
fidiv dword [esp + 0x18]
fmul qword [0x49f4b8]
call fcn.00469890
neg edi
sub edi, eax
cmp edi, ebx
mov dword [esi + 0x26f8], edi
jg 0x437dc7
mov dword [esi + 0x26f8], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00437820
test eax, eax
jne 0x437e39
cmp dword [esp + 0x10], ebx
je 0x437ded
cmp dword [esi + 0x26d8], ebx
je 0x437cc0
mov ecx, dword [esi + 0x26fc]
push ecx
call fcn.00468a4e
add esp, 4
mov dword [esi + 0x26fc], ebx
cmp dword [esi + 0x26d8], ebx
je 0x437e29
lea eax, [esi + 0x105c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [esi + 0x10], 0xc
jmp 0x437e30
mov dword [esi + 0x10], 0x18
jmp 0x437e30
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.004673e3
add esp, 0x289c
ret