Function at 0x180020830
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbx
push rbp
push r13
push r14
sub rsp, 0xd8
mov qword [rax - 0x28], rsi
mov rsi, r8
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r12
mov qword [rax - 0x40], r15
mov r15, rdx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov ebx, ecx
movaps xmmword [rax - 0x78], xmm8
mov eax, ecx
mov ecx, 0x64
movsxd rbp, ebx
cmp ebx, ecx
movaps xmmword [rsp + 0x70], xmm9
mov qword [rsp + 0x40], rbp
cmovl eax, ecx
lea rdi, [rbp*8]
mov dword [rsp + 0x30], eax
mov rcx, rdi
mov qword [rsp + 0x48], rdi
call fcn.180056424
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov r12, rax
call fcn.180056424
movsd xmm9, qword [0x180075d90]
xor r13d, r13d
movsd xmm8, qword [0x1800752d8]
mov r14, rax
movd xmm0, ebx
mov qword [rsp + 0x38], rax
cvtdq2pd xmm0, xmm0
divsd xmm9, xmm0
test ebx, ebx
jle 0x180020c57
mov rdx, qword [rsp + 0x20]
lea ebp, [rbx - 1]
movsd xmm6, qword [0x180075340]
mov rcx, rsi
sub rcx, r12
mov dword [rsp + 0x118], ebp
mov r14d, 8
mov qword [rsp + 0x60], rcx
sub r14, r12
mov qword [rsp + 0x28], rbx
mov r12, r15
mov qword [rsp + 0x58], r14
movaps xmm7, xmm8
lea esi, [r13 + 1]
sub r12, rdx
mov edi, r13d
divsd xmm7, xmm0
nop
lea rbx, [rdx + rdi*8]
mov r15, rdi
movsd qword [rbx + rcx], xmm7
mov rcx, qword [rsp + 0x48]
call fcn.180056424
mov qword [rbx], rax
mov r8, rax
mov r11, r13
mov qword [rax + rdi*8], r13
cmp rdi, 4
jl 0x1800210df
mov rax, qword [rsp + 0x20]
lea r10, [rdi - 4]
mov ebx, 0x10
shr r10, 2
mov r13, 0xfffffffffffffff8
sub rbx, rax
sub r13, rax
inc r10
lea r9, [rax + 8]
lea r11, [r10*4]
nop dword [rax + rax]
mov rax, qword [r12 + r9 - 8]
lea rdx, [r9 + r13]
movsd xmm0, qword [rax + rdi*8]
mov rax, qword [r9 - 8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + rdi*8]
movsd qword [r8 + rdi*8], xmm0
mov rcx, qword [rax + rdi*8]
mov rax, qword [r12 + r9]
mov qword [rdx + r8], rcx
movsd xmm0, qword [rax + rdi*8]
mov rax, qword [r9]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + rdi*8]
movsd qword [r8 + rdi*8], xmm0
mov rcx, qword [rax + rdi*8]
mov rax, qword [r12 + r9 + 8]
mov qword [rdx + r8 + 8], rcx
lea rcx, [r14 + r9]
movsd xmm0, qword [rax + rdi*8]
mov rax, qword [r9 + 8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + rdi*8]
movsd qword [r8 + rdi*8], xmm0
mov rax, qword [rax + rdi*8]
mov qword [rcx + r8], rax
lea rcx, [rbx + r9]
mov rax, qword [r12 + r9 + 0x10]
movsd xmm0, qword [rax + rdi*8]
mov rax, qword [r9 + 0x10]
add r9, 0x20
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + rdi*8]
movsd qword [r8 + rdi*8], xmm0
mov rax, qword [rax + rdi*8]
mov qword [rcx + r8], rax
sub r10, 1
jne 0x180020990
cmp r11, rdi
jl 0x1800210e8
mov r13, qword [rsp + 0x20]
mov ebx, dword [rsp + 0x100]
inc rdi
mov r11d, esi
mov rcx, rdi
cmp esi, ebx
jge 0x180020c16
lea rax, [r15*8]
add rax, r13
mov rdx, qword [r12 + rax]
cmp ebp, 4
jl 0x180020bc1
mov r10, qword [rsp + 0x108]
lea r9, [rdx + 8]
add rax, r14
mov ebx, 8
add r9, rax
mov r13d, 0x10
mov eax, dword [rsp + 0x100]
mov rbp, 0xfffffffffffffff8
sub eax, esi
sub r10, rdx
sub eax, 4
sub rbx, rdx
shr eax, 2
sub r13, rdx
sub rbp, rdx
inc eax
mov r14d, eax
lea r11d, [rsi + rax*4]
lea rax, [rdi + rax*4]
mov qword [rsp + 0x50], rax
mov rax, qword [r10 + r9 - 8]
lea rcx, [r9 + rbp]
movsd xmm0, qword [rax + r15*8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + r15*8]
movsd qword [r8 + r15*8], xmm0
movsd xmm0, qword [rax + r15*8]
mov rax, qword [r10 + r9]
xorps xmm0, xmm6
mulsd xmm0, qword [r9 - 8]
movsd qword [rcx + r8], xmm0
movsd xmm0, qword [rax + r15*8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + r15*8]
movsd qword [r8 + r15*8], xmm0
movsd xmm0, qword [rax + r15*8]
mov rax, qword [r10 + r9 + 8]
xorps xmm0, xmm6
mulsd xmm0, qword [r9]
movsd qword [rcx + r8 + 8], xmm0
movsd xmm0, qword [rax + r15*8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + r15*8]
movsd qword [r8 + r15*8], xmm0
movsd xmm1, qword [rax + r15*8]
lea rax, [rbx + r9]
xorps xmm1, xmm6
mulsd xmm1, qword [r9 + 8]
movsd qword [rax + r8], xmm1
mov rax, qword [r10 + r9 + 0x10]
movsd xmm0, qword [rax + r15*8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + r15*8]
movsd qword [r8 + r15*8], xmm0
movsd xmm1, qword [rax + r15*8]
lea rax, [r9 + r13]
xorps xmm1, xmm6
mulsd xmm1, qword [r9 + 0x10]
add r9, 0x20
movsd qword [rax + r8], xmm1
sub r14, 1
jne 0x180020ad0
mov ebx, dword [rsp + 0x100]
mov ebp, dword [rsp + 0x118]
cmp r11d, ebx
jge 0x180020c16
mov rcx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x108]
lea rcx, [rdx + rcx*8]
neg rdx
mov eax, ebx
add r10, rdx
sub eax, r11d
movsxd r9, eax
mov rax, qword [r10 + rcx]
movsd xmm0, qword [rax + r15*8]
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + r15*8]
movsd qword [r8 + r15*8], xmm0
movsd xmm1, qword [rax + r15*8]
lea rax, [rdx + rcx]
xorps xmm1, xmm6
mulsd xmm1, qword [rcx]
add rcx, 8
movsd qword [rax + r8], xmm1
sub r9, 1
jne 0x180020bdb
mov r14, qword [rsp + 0x58]
dec ebp
mov rcx, qword [rsp + 0x60]
inc esi
sub qword [rsp + 0x28], 1
mov r13d, 0
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x118], ebp
jne 0x180020930
mov rsi, qword [rsp + 0x110]
mov r12, rdx
mov r14, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
cmp dword [rsp + 0x30], 0
mov dword [rsp + 0x118], r13d
jle 0x180021054
movsd xmm7, qword [0x180075dd0]
xorps xmm4, xmm4
test ebx, ebx
jle 0x180020ce0
mov r11, r12
mov r9d, ebx
sub r11, r14
mov r10, rsi
sub r10, r14
mov r8, r14
nop dword [rax + rax]
mov qword [r8], r13
xorps xmm1, xmm1
test rbp, rbp
jle 0x180020ccc
mov rax, qword [r11 + r8]
mov rdx, rsi
sub rdx, rax
mov rcx, rbp
nop dword [rax + rax]
movsd xmm0, qword [rdx + rax]
mulsd xmm0, qword [rax]
add rax, 8
addsd xmm1, xmm0
sub rcx, 1
jne 0x180020cb0
movsd qword [r8], xmm1
mulsd xmm1, qword [r10 + r8]
add r8, 8
addsd xmm4, xmm1
sub r9, 1
jne 0x180020c90
xorps xmm1, xmm1
mov rcx, r13
cmp rbp, 4
jl 0x180020d4c
lea rdx, [rbp - 4]
shr rdx, 2
lea rax, [r14 + 0x10]
inc rdx
lea rcx, [rdx*4]
movsd xmm0, qword [rax - 0x10]
movsd xmm2, qword [rax]
subsd xmm0, xmm4
subsd xmm2, xmm4
andps xmm0, xmm7
maxsd xmm0, xmm1
andps xmm2, xmm7
movsd xmm1, qword [rax - 8]
subsd xmm1, xmm4
andps xmm1, xmm7
maxsd xmm1, xmm0
maxsd xmm2, xmm1
movsd xmm1, qword [rax + 8]
subsd xmm1, xmm4
add rax, 0x20
andps xmm1, xmm7
maxsd xmm1, xmm2
sub rdx, 1
jne 0x180020d03
cmp rcx, rbp
jge 0x180020d6d
movsd xmm0, qword [r14 + rcx*8]
inc rcx
subsd xmm0, xmm4
andps xmm0, xmm7
maxsd xmm0, xmm1
movaps xmm1, xmm0
cmp rcx, rbp
jl 0x180020d51
comisd xmm9, xmm1
ja 0x180021060
test ebx, ebx
jle 0x180021035
mov rax, r12
mov ecx, ebx
sub rax, rsi
mov qword [rsp + 0x28], rcx
mov rdx, r14
mov qword [rsp + 0x38], rax
sub rdx, r12
mov r15, rsi
mov r12, rsi
mov qword [rsp + 0x40], rdx
neg r12
nop word [rax + rax]
movaps xmm3, xmm4
add rax, r15
movsd xmm1, qword [rax + rdx]
mov rdx, r13
mov r8, qword [rax]
subsd xmm3, xmm1
addsd xmm1, xmm1
lea rax, [r12 + r8]
divsd xmm3, qword [rax + r15]
movaps xmm0, xmm3
movaps xmm2, xmm3
addsd xmm2, xmm8
movaps xmm6, xmm3
unpcklpd xmm6, xmm6
addsd xmm0, qword [r15]
movsd qword [r15], xmm0
movaps xmm0, xmm3
mulsd xmm0, qword [rax + r15]
addsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm4, xmm0
divsd xmm4, xmm2
divsd xmm4, xmm2
cmp ebx, 2
jb 0x180020eab
movsxd rax, ebx
lea r10, [rax - 1]
lea r10, [r14 + r10*8]
lea r9, [rax - 1]
lea r9, [rsi + r9*8]
cmp rsi, r10
ja 0x180020e32
cmp r9, r14
jae 0x180020eab
lea rcx, [rax - 1]
lea rcx, [r8 + rcx*8]
cmp rsi, rcx
ja 0x180020e44
cmp r9, r8
jae 0x180020ea6
cmp r14, rcx
ja 0x180020e4e
cmp r10, r8
jae 0x180020ea6
movaps xmm5, xmmword [0x180075dc0]
mov r9, r14
movsxd r10, ebx
mov rcx, rsi
and r10, 0xfffffffffffffffe
sub r9, rsi
addpd xmm5, xmm6
nop dword [rax]
movups xmm0, xmmword [r9 + rcx]
lea rax, [r12 + rcx]
add rdx, 2
movups xmm1, xmmword [rax + r8]
mulpd xmm1, xmm6
addpd xmm1, xmm0
movups xmm0, xmmword [rcx]
divpd xmm1, xmm5
divpd xmm0, xmm5
movups xmmword [r9 + rcx], xmm1
movups xmmword [rcx], xmm0
add rcx, 0x10
cmp rdx, r10
jl 0x180020e70
mov rcx, qword [rsp + 0x28]
cmp rdx, rbp
jge 0x180021011
mov rax, rbp
sub rax, rdx
cmp rax, 4
jl 0x180020fcc
lea rcx, [rdx + 1]
mov r10, rbp
sub r10, rdx
lea rcx, [rsi + rcx*8]
sub r10, 4
mov r9, r14
mov r11d, 8
shr r10, 2
mov ebx, 0x10
mov rdi, 0xfffffffffffffff8
sub r9, rsi
sub r11, rsi
sub rbx, rsi
sub rdi, rsi
inc r10
lea rdx, [rdx + r10*4]
nop dword [rax]
nop word [rax + rax]
lea rax, [r8 + rdi]
movaps xmm0, xmm3
mulsd xmm0, qword [rax + rcx]
movaps xmm1, xmm3
addsd xmm0, qword [r9 + rcx - 8]
divsd xmm0, xmm2
movsd qword [r9 + rcx - 8], xmm0
movsd xmm0, qword [rcx - 8]
divsd xmm0, xmm2
movsd qword [rcx - 8], xmm0
mulsd xmm1, qword [rax + rcx + 8]
lea rax, [r8 + r11]
movsd xmm0, qword [rcx]
divsd xmm0, xmm2
addsd xmm1, qword [r9 + rcx]
movsd qword [rcx], xmm0
movaps xmm0, xmm3
mulsd xmm0, qword [rax + rcx]
lea rax, [r8 + rbx]
divsd xmm1, xmm2
addsd xmm0, qword [r9 + rcx + 8]
movsd qword [r9 + rcx], xmm1
divsd xmm0, xmm2
movsd qword [r9 + rcx + 8], xmm0
movsd xmm0, qword [rcx + 8]
divsd xmm0, xmm2
movsd qword [rcx + 8], xmm0
movaps xmm0, xmm3
mulsd xmm0, qword [rax + rcx]
addsd xmm0, qword [r9 + rcx + 0x10]
divsd xmm0, xmm2
movsd qword [r9 + rcx + 0x10], xmm0
movsd xmm0, qword [rcx + 0x10]
divsd xmm0, xmm2
movsd qword [rcx + 0x10], xmm0
add rcx, 0x20
sub r10, 1
jne 0x180020f10
cmp rdx, rbp
jge 0x18002100c
mov rcx, rsi
lea rax, [r14 + rdx*8]
sub rcx, r14
sub r8, r14
mov r9, rbp
sub r9, rdx
movaps xmm0, xmm3
mulsd xmm0, qword [r8 + rax]
addsd xmm0, qword [rax]
divsd xmm0, xmm2
movsd qword [rax], xmm0
movsd xmm0, qword [rax + rcx]
divsd xmm0, xmm2
movsd qword [rax + rcx], xmm0
add rax, 8
sub r9, 1
jne 0x180020fdf
mov rcx, qword [rsp + 0x28]
mov ebx, dword [rsp + 0x100]
add r15, 8
mov rdx, qword [rsp + 0x40]
sub rcx, 1
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
jne 0x180020db0
mov eax, dword [rsp + 0x118]
mov r12, qword [rsp + 0x20]
inc eax
mov dword [rsp + 0x118], eax
cmp eax, dword [rsp + 0x30]
jl 0x180020c72
lea rcx, str.Exceeds_max_iter_in_multiclass_prob_n
call fcn.180020630
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x20]
test rbp, rbp
jle 0x1800210c1
nop dword [rax]
mov rcx, qword [rbx + r13*8]
call fcn.180056410
inc r13
cmp r13, rbp
jl 0x1800210b0
mov rcx, rbx
call fcn.180056410
mov rcx, r14
call fcn.180056410
add rsp, 0xd8
pop r14
pop r13
pop rbp
pop rbx
ret
test rdi, rdi
jle 0x180020a4a
mov r13, qword [rsp + 0x20]
lea rdx, [r11*8]
mov r10, r13
add rdx, r13
neg r10
mov r9, rdi
sub r9, r11
mov rax, qword [rdx + r12]
lea rcx, [rdx + r10]
movsd xmm0, qword [rax + rdi*8]
mov rax, qword [rdx]
add rdx, 8
mulsd xmm0, xmm0
addsd xmm0, qword [r8 + rdi*8]
movsd qword [r8 + rdi*8], xmm0
mov rax, qword [rax + rdi*8]
mov qword [rcx + r8], rax
sub r9, 1
jne 0x180021104
jmp 0x180020a4f