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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x430
mov esi, dword [0x1002cd54]
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call dword [sym.imp.WININET.dll_InternetOpenW]
sub esp, 0x14
mov ebp, eax
cmp dword [0x1002d250], 0xa
jl 0x1000f01c
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x1000f01c
mov edi, dword [sym.imp.WININET.dll_InternetOpenW]
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call edi
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call edi
sub esp, 0x14
cmp dword [0x1002d250], 0xa
jl 0x1000eff1
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000efb8
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call edi
sub esp, 0x14
mov ebp, eax
cmp dword [0x1002d250], 0xa
jl 0x1000f01c
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000efb8
test ebp, ebp
je 0x1000f24e
mov eax, dword [esp + 0x444]
movaps xmm0, xmmword [0x10024390]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], ebp
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
sub esp, 0x18
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1000f255
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x448]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor ebx, ebx
mov ebp, 0x80
movaps xmm0, xmmword [0x100243a0]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call edi
sub esp, 0x1c
cmp dword [0x1002d250], 0xa
jl 0x1000f106
mov edx, dword [0x1002d254]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
je 0x1000f106
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
movaps xmm0, xmmword [0x100243a0]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call edi
sub esp, 0x1c
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
movaps xmm0, xmmword [0x100243a0]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call edi
sub esp, 0x1c
mov ecx, dword [0x1002d254]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x1002d250], 0xa
jl 0x1000f06b
test eax, eax
jne 0x1000f0a9
jmp 0x1000f06b
cmp eax, 0xffffffff
je 0x1000f259
mov dword [esp + 0x24], eax
xor eax, eax
lea ecx, [esp + 0x20]
mov dword [ecx], eax
lea ecx, [esp + 0x2c]
mov dword [ecx], eax
mov ebp, dword [esp + 0x1c]
mov esi, dword [sym.imp.WININET.dll_InternetReadFile]
lea eax, [esp + 0x20]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 8], 0x400
call dword [sym.imp.WININET.dll_InternetReadFile]
sub esp, 0x10
cmp dword [0x1002d250], 0xa
jl 0x1000f1a6
mov ecx, dword [0x1002d254]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x1000f1a6
lea edi, [esp + 0x20]
mov dword [esp + 0xc], edi
mov eax, 0x400
mov dword [esp + 8], eax
lea ebx, [esp + 0x30]
mov dword [esp + 4], ebx
mov dword [esp], ebp
call esi
sub esp, 0x10
mov dword [esp + 0xc], edi
mov eax, 0x400
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], ebp
call esi
jmp 0x1000f150
test eax, eax
je 0x1000f1de
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1000f1de
lea ecx, [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
sub esp, 0x14
cmp dword [esp + 0x20], 0
jne 0x1000f12b
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
cmp dword [0x1002d250], 0xa
mov ebp, dword [esp + 0x28]
jl 0x1000f249
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x1000f249
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x24]
mov dword [esp], edi
call esi
sub esp, 4
mov dword [esp], edi
call esi
sub esp, 4
cmp dword [0x1002d250], 0xa
jl 0x1000f249
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000f220
xor ebx, ebx
inc ebx
jmp 0x1000f25f
xor ebx, ebx
jmp 0x1000f30f
xor ebx, ebx
jmp 0x1000f2bb
xor ebx, ebx
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
sub esp, 4
cmp dword [0x1002d250], 0xa
jl 0x1000f2bb
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x1000f2bb
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edi, dword [esp + 0x1c]
mov dword [esp], edi
call esi
sub esp, 4
mov dword [esp], edi
call esi
sub esp, 4
cmp dword [0x1002d250], 0xa
jl 0x1000f2bb
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000f292
mov dword [esp], ebp
call dword [sym.imp.WININET.dll_InternetCloseHandle]
sub esp, 4
cmp dword [0x1002d250], 0xa
jl 0x1000f30f
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x1000f30f
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [esp], ebp
call esi
sub esp, 4
mov dword [esp], ebp
call esi
sub esp, 4
cmp dword [0x1002d250], 0xa
jl 0x1000f30f
mov eax, dword [0x1002d254]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000f2e6
mov eax, ebx
add esp, 0x430
pop esi
pop edi
pop ebx
pop ebp
ret