Function at 0x401d88
Capabilities:
Create http request
Download and write a file
Read data from internet
Read file on windows
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10288
call fcn.00402c20
mov eax, dword [ebp + 0x14]
mov byte [ebp - 9], al
mov dword [esp + 4], str.Overself_Research_AV_Defs_Updater_for_F_PROT_DOS_2.951
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x7f8]
mov dword [esp], eax
call fcn.00401356
cmp eax, 1
jne 0x401dde
lea eax, [ebp - 0x7f8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
jmp 0x401df4
mov dword [esp + 4], str.Unknown_Platform
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [ebp - 0x7fc], 0
mov dword [ebp - 0x800], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x800]
mov dword [esp + 4], eax
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sub.WININET.DLL_InternetOpenA
sub esp, 0x14
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0
jne 0x401e5b
mov dword [ebp - 0x1025c], 0xffffffff
jmp 0x4024cb
mov dword [ebp - 0x808], 0x1388
mov dword [esp + 0xc], 4
lea eax, [ebp - 0x808]
mov dword [esp + 8], eax
mov dword [esp + 4], 7
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call sub.WININET.DLL_InternetSetOptionA
sub esp, 0x10
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x4000000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call sub.WININET.DLL_InternetOpenUrlA
sub esp, 0x18
mov dword [ebp - 0x80c], eax
cmp dword [ebp - 0x80c], 0
jne 0x401ee6
mov dword [ebp - 0x1025c], 0xffffffff
jmp 0x4024cb
mov byte [ebp - 0x10219], 0
cmp dword [ebp + 0xc], 0
je 0x4021cd
mov dword [ebp - 0x1023c], 0x10
mov dword [ebp - 0x10240], 0
lea eax, [ebp - 0x10240]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x1023c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x10238]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4000000b
mov eax, dword [ebp - 0x80c]
mov dword [esp], eax
call sub.WININET.DLL_HttpQueryInfoA
sub esp, 0x14
mov dword [ebp - 0x10244], eax
cmp dword [ebp - 0x10244], 0
jne 0x401f82
mov eax, dword [ebp - 0x80c]
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
mov dword [ebp - 0x1025c], 0xffffffff
jmp 0x4024cb
mov dword [esp + 4], 6
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll__access
cmp eax, 0xffffffff
jne 0x401fa6
mov byte [ebp - 0x10219], 1
jmp 0x4021d4
mov dword [esp + 4], 0x404431
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x10248], eax
cmp dword [ebp - 0x10248], 0
je 0x4021c4
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 2
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 6
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 0xa
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 0xc
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10258]
add eax, 0xe
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x10248]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x10258]
cmp ax, word [ebp - 0x10238]
jne 0x4021ad
movzx eax, word [ebp - 0x10256]
cmp ax, word [ebp - 0x10236]
jne 0x4021ad
mov eax, dword [ebp - 0x10254]
cmp ax, word [ebp - 0x10234]
jne 0x4021ad
movzx eax, word [ebp - 0x10252]
cmp ax, word [ebp - 0x10232]
jne 0x4021ad
mov eax, dword [ebp - 0x10250]
cmp ax, word [ebp - 0x10230]
jne 0x4021ad
movzx eax, word [ebp - 0x1024e]
cmp ax, word [ebp - 0x1022e]
jne 0x4021ad
mov eax, dword [ebp - 0x1024c]
cmp ax, word [ebp - 0x1022c]
jne 0x4021ad
movzx eax, word [ebp - 0x1024a]
cmp ax, word [ebp - 0x1022a]
jne 0x4021ad
jmp 0x4021b4
mov byte [ebp - 0x10219], 1
mov eax, dword [ebp - 0x10248]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
jmp 0x4021d4
mov byte [ebp - 0x10219], 1
jmp 0x4021d4
mov byte [ebp - 0x10219], 1
movzx eax, byte [ebp - 0x10219]
cmp eax, 1
jne 0x4024c1
mov dword [esp + 4], 0x404434
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x10248], eax
cmp dword [ebp - 0x10248], 0
jne 0x402215
mov dword [ebp - 0x1025c], 0xffffffff
jmp 0x4024cb
movzx eax, byte [ebp - 9]
cmp eax, 1
jne 0x40224d
lea eax, [ebp - 0x10244]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xfa00
lea eax, [ebp - 0x10218]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80c]
mov dword [esp], eax
call sub.WININET.DLL_InternetReadFile
sub esp, 0x10
jmp 0x4022b4
lea eax, [ebp - 0x10244]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xfa00
lea eax, [ebp - 0x10218]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80c]
mov dword [esp], eax
call sub.WININET.DLL_InternetReadFile
sub esp, 0x10
cmp eax, 1
jne 0x4022b4
cmp dword [ebp - 0x10244], 0
je 0x4022b4
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10244]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
lea eax, [ebp - 0x10218]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
jmp 0x40224d
mov eax, dword [ebp - 0x80c]
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
movzx eax, byte [ebp - 9]
cmp eax, 1
jne 0x402309
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10244]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
lea eax, [ebp - 0x10218]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
cmp dword [ebp + 0xc], 0
je 0x4024b5
mov dword [esp + 4], 0x404434
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x10248], eax
cmp dword [ebp - 0x10248], 0
jne 0x402352
mov dword [ebp - 0x1025c], 0xffffffff
jmp 0x4024cb
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 2
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 6
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 0xa
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 0xc
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 2
lea eax, [ebp - 0x10238]
add eax, 0xe
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x10248]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [ebp - 0x1025c], 1
jmp 0x4024cb
mov dword [ebp - 0x1025c], 0
mov eax, dword [ebp - 0x1025c]
leave
ret