Function at 0x1400a1ce0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x140], xmm15
movaps xmmword [rbp + 0x130], xmm14
movaps xmmword [rbp + 0x120], xmm13
movaps xmmword [rbp + 0x110], xmm12
movaps xmmword [rbp + 0x100], xmm11
movaps xmmword [rbp + 0xf0], xmm10
movaps xmmword [rbp + 0xe0], xmm9
movaps xmmword [rbp + 0xd0], xmm8
movaps xmmword [rbp + 0xc0], xmm7
movaps xmmword [rbp + 0xb0], xmm6
mov qword [rbp + 0xa8], 0xfffffffffffffffe
mov rbx, r9
mov r13, r8
mov rdi, rdx
mov r12, rcx
cmp rdx, 0x21
mov qword [rbp + 0x98], r8
jae 0x1400a239d
cmp rdi, 2
jb 0x1400a303e
lea rax, [rdi + 0x10]
cmp rax, rbx
ja 0x1400a30e9
mov rax, rdi
shr rax, 1
cmp rdi, 7
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0x90], rax
jbe 0x1400a2abc
mov rcx, qword [r12 + 0x80]
add rcx, qword [r12 + 0x70]
mov rdx, qword [r12 + 0x88]
adc rdx, qword [r12 + 0x78]
mov r8, qword [r12 + 0x30]
add r8, qword [r12 + 0x20]
mov r9, qword [r12 + 0x38]
adc r9, qword [r12 + 0x28]
cmp r8, rcx
sbb r9, rdx
setae r9b
setb dl
mov rcx, qword [r12 + 0x120]
add rcx, qword [r12 + 0x110]
mov r8, qword [r12 + 0x128]
adc r8, qword [r12 + 0x118]
mov r11, qword [r12 + 0xd0]
add r11, qword [r12 + 0xc0]
mov rsi, qword [r12 + 0xd8]
adc rsi, qword [r12 + 0xc8]
movzx edx, dl
lea rdx, [rdx + rdx*4]
shl edx, 4
movzx r9d, r9b
lea r10, [r9 + r9*4]
shl r10d, 4
lea rax, [r12 + 0xa0]
lea r9, [r12 + 0xf0]
cmp r11, rcx
sbb rsi, r8
mov r12, rax
cmovb r12, r9
cmovb r9, rax
mov r11, qword [r12 + 0x30]
add r11, qword [r12 + 0x20]
mov r8, qword [r12 + 0x38]
adc r8, qword [r12 + 0x28]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + rdx + 0x30]
mov rax, qword [rbp + 0xa0]
add rcx, qword [rax + rdx + 0x20]
mov rax, qword [rbp + 0xa0]
mov rbx, qword [rax + rdx + 0x38]
mov rax, qword [rbp + 0xa0]
adc rbx, qword [rax + rdx + 0x28]
mov rax, qword [rbp + 0xa0]
lea r13, [rax + rdx]
mov rdx, qword [r9 + 0x30]
add rdx, qword [r9 + 0x20]
mov rsi, qword [r9 + 0x38]
adc rsi, qword [r9 + 0x28]
mov rax, qword [rbp + 0xa0]
lea rdi, [rax + r10]
mov rax, qword [rbp + 0xa0]
mov r14, qword [rax + r10 + 0x30]
mov rax, qword [rbp + 0xa0]
add r14, qword [rax + r10 + 0x20]
mov rax, qword [rbp + 0xa0]
mov r15, qword [rax + r10 + 0x38]
mov rax, qword [rbp + 0xa0]
adc r15, qword [rax + r10 + 0x28]
cmp r14, rdx
sbb r15, rsi
setb dl
mov rsi, rdi
cmovb rsi, r12
cmp rcx, r11
sbb rbx, r8
cmovb rsi, r13
cmovb r13, r12
mov qword [rbp + 0x50], r13
cmovb r12, rdi
test dl, dl
cmove rdi, r9
mov qword [rbp + 0x70], rdi
test dl, dl
cmovne r12, r9
mov rcx, qword [r12 + 0x30]
add rcx, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x38]
adc rdx, qword [r12 + 0x28]
mov r9, qword [rsi + 0x30]
add r9, qword [rsi + 0x20]
mov r10, qword [rsi + 0x38]
adc r10, qword [rsi + 0x28]
cmp r9, rcx
sbb r10, rdx
mov rax, rsi
cmovb rax, r12
mov qword [rbp + 0x60], rax
cmovb r12, rsi
mov rcx, qword [rbp + 0x90]
shl rcx, 4
lea r9, [rcx + rcx*4]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + r9 + 0x80]
mov rax, qword [rbp + 0xa0]
add rcx, qword [rax + r9 + 0x70]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rax + r9 + 0x88]
mov rax, qword [rbp + 0xa0]
adc rdx, qword [rax + r9 + 0x78]
mov rax, qword [rbp + 0xa0]
mov r11, qword [rax + r9 + 0x30]
mov rax, qword [rbp + 0xa0]
add r11, qword [rax + r9 + 0x20]
mov rax, qword [rbp + 0xa0]
mov rsi, qword [rax + r9 + 0x38]
mov rax, qword [rbp + 0xa0]
adc rsi, qword [rax + r9 + 0x28]
cmp r11, rcx
sbb rsi, rdx
setae cl
setb dl
mov rax, qword [rbp + 0xa0]
mov r11, qword [rax + r9 + 0x120]
mov rax, qword [rbp + 0xa0]
add r11, qword [rax + r9 + 0x110]
mov rax, qword [rbp + 0xa0]
mov rbx, qword [rax + r9 + 0x128]
mov rax, qword [rbp + 0xa0]
adc rbx, qword [rax + r9 + 0x118]
mov rax, qword [rbp + 0xa0]
mov r14, qword [rax + r9 + 0xd8]
mov rax, qword [rbp + 0xa0]
mov r15, qword [rax + r9 + 0xd0]
mov rax, qword [rbp + 0xa0]
add r15, qword [rax + r9 + 0xc0]
mov rax, qword [rbp + 0xa0]
adc r14, qword [rax + r9 + 0xc8]
movzx edx, dl
lea rdi, [rdx + rdx*4]
shl edi, 4
movzx ecx, cl
lea rsi, [rcx + rcx*4]
shl esi, 4
cmp r15, r11
sbb r14, rbx
mov rax, qword [rbp + 0xa0]
lea r14, [rax + r9 + 0xf0]
mov rax, qword [rbp + 0xa0]
lea rcx, [rax + r9 + 0xa0]
mov r11, rcx
cmovb r11, r14
cmovb r14, rcx
mov rax, qword [r11 + 0x30]
add rax, qword [r11 + 0x20]
mov qword [rbp + 0x68], rax
mov rax, qword [r11 + 0x38]
adc rax, qword [r11 + 0x28]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
lea r13, [rax + r9]
mov r15, qword [rdi + r13 + 0x30]
add r15, qword [rdi + r13 + 0x20]
mov r10, qword [rdi + r13 + 0x38]
adc r10, qword [rdi + r13 + 0x28]
mov rbx, qword [r14 + 0x30]
add rbx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x38]
adc r8, qword [r14 + 0x28]
mov rdx, qword [rsi + r13 + 0x30]
add rdx, qword [rsi + r13 + 0x20]
mov rcx, qword [rsi + r13 + 0x38]
adc rcx, qword [rsi + r13 + 0x28]
cmp rdx, rbx
sbb rcx, r8
lea rsi, [r13 + rsi]
mov rbx, rsi
cmovb rbx, r11
setb cl
cmp r15, qword [rbp + 0x68]
lea rax, [r13 + rdi]
mov r13, qword [rbp + 0x98]
sbb r10, qword [rbp + 0x48]
cmovb rbx, rax
cmovb rax, r11
cmovb r11, rsi
test cl, cl
cmove rsi, r14
test cl, cl
cmovne r11, r14
mov rcx, qword [r11 + 0x30]
add rcx, qword [r11 + 0x20]
mov rdx, qword [r11 + 0x38]
adc rdx, qword [r11 + 0x28]
mov r8, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
add r8, qword [rbx + 0x20]
adc r10, qword [rbx + 0x28]
cmp r8, rcx
sbb r10, rdx
mov rcx, qword [rbp + 0x50]
movaps xmm0, xmmword [rcx + 0x40]
movaps xmm14, xmmword [rcx]
movaps xmm1, xmmword [rcx + 0x10]
movaps xmm4, xmmword [rcx + 0x20]
movaps xmm5, xmmword [rcx + 0x30]
mov rcx, qword [rbp + 0x60]
movaps xmm6, xmmword [rcx + 0x40]
movaps xmm2, xmmword [rcx]
movaps xmm7, xmmword [rcx + 0x10]
movaps xmm8, xmmword [rcx + 0x20]
movaps xmm13, xmmword [rcx + 0x30]
movaps xmmword [r13 + 0x40], xmm0
movaps xmmword [r13 + 0x30], xmm5
movaps xmmword [r13 + 0x20], xmm4
movaps xmmword [r13 + 0x10], xmm1
movaps xmm4, xmmword [r12 + 0x40]
movaps xmm5, xmmword [r12]
movaps xmm1, xmmword [r12 + 0x10]
movaps xmm0, xmmword [r12 + 0x20]
movaps xmm3, xmmword [r12 + 0x30]
mov r12, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x70]
movaps xmm9, xmmword [rcx]
movaps xmm10, xmmword [rcx + 0x10]
movaps xmm11, xmmword [rcx + 0x20]
movaps xmm12, xmmword [rcx + 0x30]
mov rdx, rcx
mov rcx, rbx
cmovb rcx, r11
movaps xmm15, xmmword [rdx + 0x40]
movaps xmmword [rbp + 0x50], xmm15
cmovb r11, rbx
mov rdi, qword [rbp + 0x88]
movaps xmmword [r13], xmm14
movaps xmmword [r13 + 0x90], xmm6
movaps xmmword [r13 + 0x80], xmm13
movaps xmmword [r13 + 0x70], xmm8
movaps xmmword [r13 + 0x60], xmm7
movaps xmm7, xmmword [rax + 0x40]
movaps xmm6, xmmword [rax]
movaps xmmword [rbp + 0x70], xmm6
movaps xmm8, xmmword [rax + 0x10]
movaps xmm14, xmmword [rax + 0x20]
movaps xmm15, xmmword [rax + 0x30]
mov rax, qword [rbp + 0x90]
movaps xmmword [r13 + 0x50], xmm2
movaps xmmword [r13 + 0xe0], xmm4
movaps xmmword [r13 + 0xd0], xmm3
movaps xmmword [r13 + 0xc0], xmm0
movaps xmmword [r13 + 0xb0], xmm1
movaps xmm3, xmmword [rcx + 0x40]
movaps xmm2, xmmword [rcx]
movaps xmm4, xmmword [rcx + 0x10]
movaps xmm6, xmmword [rcx + 0x20]
movaps xmm13, xmmword [rcx + 0x30]
movaps xmmword [r13 + 0xa0], xmm5
movaps xmmword [r13 + 0xf0], xmm9
movaps xmmword [r13 + 0x100], xmm10
movaps xmmword [r13 + 0x110], xmm11
movaps xmmword [r13 + 0x120], xmm12
movaps xmm0, xmmword [r11 + 0x40]
movaps xmm1, xmmword [r11]
movaps xmm5, xmmword [r11 + 0x10]
movaps xmm9, xmmword [r11 + 0x20]
movaps xmm10, xmmword [r11 + 0x30]
movaps xmm11, xmmword [rbp + 0x50]
movaps xmmword [r13 + 0x130], xmm11
movaps xmmword [r13 + r9 + 0x40], xmm7
movaps xmmword [r13 + r9 + 0x30], xmm15
movaps xmmword [r13 + r9 + 0x20], xmm14
movaps xmmword [r13 + r9 + 0x10], xmm8
movaps xmm7, xmmword [rsi]
movaps xmm8, xmmword [rsi + 0x10]
movaps xmm11, xmmword [rsi + 0x20]
movaps xmm12, xmmword [rsi + 0x30]
movaps xmm14, xmmword [rsi + 0x40]
movaps xmm15, xmmword [rbp + 0x70]
movaps xmmword [r13 + r9], xmm15
movaps xmmword [r13 + r9 + 0x90], xmm3
movaps xmmword [r13 + r9 + 0x80], xmm13
movaps xmmword [r13 + r9 + 0x70], xmm6
movaps xmmword [r13 + r9 + 0x60], xmm4
movaps xmmword [r13 + r9 + 0x50], xmm2
movaps xmmword [r13 + r9 + 0xe0], xmm0
movaps xmmword [r13 + r9 + 0xd0], xmm10
movaps xmmword [r13 + r9 + 0xc0], xmm9
movaps xmmword [r13 + r9 + 0xb0], xmm5
movaps xmmword [r13 + r9 + 0xa0], xmm1
movaps xmmword [r13 + r9 + 0xf0], xmm7
movaps xmmword [r13 + r9 + 0x100], xmm8
movaps xmmword [r13 + r9 + 0x110], xmm11
movaps xmmword [r13 + r9 + 0x120], xmm12
movaps xmmword [r13 + r9 + 0x130], xmm14
mov ecx, 4
sub rdi, rax
mov qword [rbp + 0x70], rdi
cmp rcx, rax
jb 0x1400a2b4d
jmp 0x1400a2cbe
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x50], rax
mov r15d, dword [rbp + 0x1c0]
lea rax, [r13 - 0x50]
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x60], rbx
mov r14, rdi
mov qword [rbp + 0xa0], r12
nop word cs:[rax + rax]
sub r15d, 1
jb 0x1400a2a95
mov r9, r14
shr r9, 3
lea rax, [r9 + r9*4]
shl rax, 6
add rax, r12
imul r8, r9, 0x230
add r8, r12
cmp r14, 0x40
mov dword [rbp + 0x88], r15d
jae 0x1400a2480
mov rcx, qword [r12 + 0x30]
add rcx, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x38]
adc rdx, qword [r12 + 0x28]
mov r9, qword [rax + 0x30]
mov r10, qword [rax + 0x38]
add r9, qword [rax + 0x20]
adc r10, qword [rax + 0x28]
cmp r9, rcx
mov r11, r10
sbb r11, rdx
setb r11b
mov rsi, qword [r8 + 0x30]
mov rdi, rbx
mov rbx, qword [r8 + 0x38]
add rsi, qword [r8 + 0x20]
adc rbx, qword [r8 + 0x28]
cmp rsi, rcx
mov rcx, rbx
sbb rcx, rdx
setb cl
xor cl, r11b
cmp rsi, r9
sbb rbx, r10
mov rbx, rdi
setb dl
xor dl, r11b
cmovne rax, r8
test cl, cl
cmovne rax, r12
jmp 0x1400a248b
mov rcx, r12
mov rdx, rax
call fcn.14009dc70
sub rax, r12
movabs rcx, 0xcccccccccccccccd
mul rcx
shr rdx, 6
mov qword [rbp + 0x70], rdx
lea rax, [rdx + rdx*4]
shl rax, 4
lea r15, [r12 + rax]
movaps xmm0, xmmword [r12 + rax + 0x40]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [r12 + rax]
movaps xmm1, xmmword [r12 + rax + 0x10]
movaps xmm2, xmmword [r12 + rax + 0x20]
movaps xmm3, xmmword [r12 + rax + 0x30]
movaps xmmword [rbp + 0x20], xmm3
movaps xmmword [rbp + 0x10], xmm2
movaps xmmword [rbp], xmm1
movaps xmmword [rbp - 0x10], xmm0
cmp qword [rbp + 0x50], 0
mov qword [rbp + 0x90], r14
je 0x1400a251e
mov rdx, qword [rbp + 0x50]
mov rax, qword [rdx + 0x30]
add rax, qword [rdx + 0x20]
mov rcx, qword [rdx + 0x38]
adc rcx, qword [rdx + 0x28]
mov rdx, qword [r15 + 0x30]
add rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x38]
adc r8, qword [r15 + 0x28]
cmp rdx, rax
sbb r8, rcx
jae 0x1400a27e0
cmp r14, rbx
ja 0x1400a30e9
lea rsi, [r14 + r14*4]
shl rsi, 4
add r13, rsi
xor edi, edi
mov rax, r12
mov rcx, r13
mov rdx, qword [rbp + 0x70]
nop
lea r8, [rdx + rdx*4]
shl r8, 4
add r8, r12
cmp rax, r8
mov rbx, qword [rbp + 0x98]
jae 0x1400a25d6
nop word [rax + rax]
mov r9, qword [rax + 0x30]
add r9, qword [rax + 0x20]
mov r10, qword [rax + 0x38]
adc r10, qword [rax + 0x28]
mov r11, qword [r15 + 0x30]
add r11, qword [r15 + 0x20]
mov r14, qword [r15 + 0x38]
adc r14, qword [r15 + 0x28]
add rcx, 0xffffffffffffffb0
lea r12, [rdi + rdi*4]
shl r12, 4
cmp r11, r9
sbb r14, r10
mov r9, rcx
cmovb r9, rbx
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
movaps xmm3, xmmword [rax + 0x30]
movaps xmmword [r9 + r12 + 0x10], xmm1
movaps xmmword [r9 + r12 + 0x20], xmm2
movaps xmmword [r9 + r12 + 0x30], xmm3
movaps xmm1, xmmword [rax + 0x40]
movaps xmmword [r9 + r12 + 0x40], xmm1
movaps xmmword [r9 + r12], xmm0
adc rdi, 0
add rax, 0x50
cmp rax, r8
jb 0x1400a2560
mov r14, qword [rbp + 0x90]
cmp rdx, r14
je 0x1400a2630
lea rdx, [rdi + rdi*4]
shl rdx, 4
movaps xmm0, xmmword [rax + 0x40]
movaps xmmword [rcx + rdx - 0x10], xmm0
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
movaps xmm3, xmmword [rax + 0x30]
movaps xmmword [rcx + rdx - 0x20], xmm3
movaps xmmword [rcx + rdx - 0x30], xmm2
movaps xmmword [rcx + rdx - 0x40], xmm1
movaps xmmword [rcx + rdx - 0x50], xmm0
add rcx, 0xffffffffffffffb0
add rax, 0x50
mov rdx, r14
mov r12, qword [rbp + 0xa0]
jmp 0x1400a2540
mov rax, rdi
shl rax, 4
lea r8, [rax + rax*4]
mov r12, qword [rbp + 0xa0]
mov rcx, r12
mov rdx, qword [rbp + 0x98]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r14
sub rdx, rdi
mov rbx, qword [rbp + 0x60]
je 0x1400a2780
lea rax, [rdi + rdi*4]
shl rax, 4
add rax, r12
lea rcx, [rdi + 1]
cmp r14, rcx
jne 0x1400a2680
xor r9d, r9d
jmp 0x1400a2732
mov rcx, rdx
and rcx, 0xfffffffffffffffe
add rsi, qword [rbp + 0x68]
mov r8, rax
xor r10d, r10d
nop word cs:[rax + rax]
movaps xmm0, xmmword [rsi + 0x40]
movaps xmmword [r8 + 0x40], xmm0
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
movaps xmm3, xmmword [rsi + 0x30]
movaps xmmword [r8 + 0x30], xmm3
movaps xmmword [r8 + 0x20], xmm2
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, 0xfffffffffffffffe
lea r10, [r10 + r10*4]
shl r10, 4
movaps xmm0, xmmword [r13 + r10]
movaps xmm1, xmmword [r13 + r10 + 0x10]
movaps xmm2, xmmword [r13 + r10 + 0x20]
movaps xmm3, xmmword [r13 + r10 + 0x30]
movaps xmmword [r8 + 0x50], xmm0
movaps xmmword [r8 + 0x60], xmm1
movaps xmmword [r8 + 0x70], xmm2
movaps xmmword [r8 + 0x80], xmm3
movaps xmm0, xmmword [r13 + r10 + 0x40]
movaps xmmword [r8 + 0x90], xmm0
add r8, 0xa0
add rsi, 0xffffffffffffff60
mov r10, r9
cmp rcx, r9
jne 0x1400a26a0
test dl, 1
je 0x1400a2780
lea rcx, [r9 + r9*4]
not r9
lea r8, [r9 + r9*4]
shl r8, 4
shl rcx, 4
movaps xmm0, xmmword [r13 + r8 + 0x40]
movaps xmmword [rax + rcx + 0x40], xmm0
movaps xmm0, xmmword [r13 + r8]
movaps xmm1, xmmword [r13 + r8 + 0x10]
movaps xmm2, xmmword [r13 + r8 + 0x20]
movaps xmm3, xmmword [r13 + r8 + 0x30]
movaps xmmword [rax + rcx + 0x30], xmm3
movaps xmmword [rax + rcx + 0x20], xmm2
movaps xmmword [rax + rcx + 0x10], xmm1
movaps xmmword [rax + rcx], xmm0
test rdi, rdi
mov r13, qword [rbp + 0x98]
je 0x1400a27e0
cmp r14, rdi
jb 0x1400a30a0
lea rcx, [rdi + rdi*4]
shl rcx, 4
add rcx, r12
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov r15d, dword [rbp + 0x88]
mov dword [rsp + 0x20], r15d
mov r8, r13
mov r9, rbx
call fcn.1400a1ce0
mov r14, rdi
cmp rdi, 0x21
jae 0x1400a23d0
jmp 0x1400a1d71
cmp r14, rbx
ja 0x1400a30e9
lea rsi, [r14 + r14*4]
shl rsi, 4
add r13, rsi
xor r14d, r14d
mov rax, r12
mov rcx, r13
mov rdi, qword [rbp + 0x70]
nop word cs:[rax + rax]
lea rdx, [rdi + rdi*4]
shl rdx, 4
add rdx, r12
cmp rax, rdx
mov rbx, qword [rbp + 0x98]
jae 0x1400a28a6
nop word [rax + rax]
mov r8, qword [r15 + 0x30]
add r8, qword [r15 + 0x20]
mov r9, qword [r15 + 0x38]
adc r9, qword [r15 + 0x28]
mov r10, qword [rax + 0x30]
add r10, qword [rax + 0x20]
mov r11, qword [rax + 0x38]
adc r11, qword [rax + 0x28]
add rcx, 0xffffffffffffffb0
lea r12, [r14 + r14*4]
shl r12, 4
cmp r10, r8
sbb r11, r9
mov r8, rcx
cmovae r8, rbx
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
movaps xmm3, xmmword [rax + 0x30]
movaps xmmword [r8 + r12 + 0x10], xmm1
movaps xmmword [r8 + r12 + 0x20], xmm2
movaps xmmword [r8 + r12 + 0x30], xmm3
movaps xmm1, xmmword [rax + 0x40]
movaps xmmword [r8 + r12 + 0x40], xmm1
movaps xmmword [r8 + r12], xmm0
sbb r14, 0xffffffffffffffff
add rax, 0x50
cmp rax, rdx
jb 0x1400a2830
mov rbx, qword [rbp + 0x90]
cmp rdi, rbx
je 0x1400a2910
add rcx, 0xffffffffffffffb0
lea rdx, [r14 + r14*4]
shl rdx, 4
movaps xmm0, xmmword [rax + 0x40]
mov r8, qword [rbp + 0x98]
movaps xmmword [r8 + rdx + 0x40], xmm0
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
movaps xmm3, xmmword [rax + 0x30]
movaps xmmword [r8 + rdx + 0x30], xmm3
movaps xmmword [r8 + rdx + 0x20], xmm2
movaps xmmword [r8 + rdx + 0x10], xmm1
movaps xmmword [r8 + rdx], xmm0
inc r14
add rax, 0x50
mov rdi, rbx
mov r12, qword [rbp + 0xa0]
jmp 0x1400a2810
mov rax, r14
shl rax, 4
lea r8, [rax + rax*4]
mov r12, qword [rbp + 0xa0]
mov rcx, r12
mov rdx, qword [rbp + 0x98]
call sub.VCRUNTIME140.dll_memcpy
mov rdi, rbx
sub rdi, r14
mov r15d, dword [rbp + 0x88]
je 0x1400a2a5e
lea rax, [r14 + r14*4]
shl rax, 4
add rax, r12
lea rcx, [r14 + 1]
cmp rbx, rcx
jne 0x1400a2960
xor r8d, r8d
jmp 0x1400a2a08
mov rcx, rdi
and rcx, 0xfffffffffffffffe
add rsi, qword [rbp + 0x68]
mov rdx, rax
xor r9d, r9d
nop word cs:[rax + rax]
movaps xmm0, xmmword [rsi + 0x40]
movaps xmmword [rdx + 0x40], xmm0
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
movaps xmm3, xmmword [rsi + 0x30]
movaps xmmword [rdx + 0x30], xmm3
movaps xmmword [rdx + 0x20], xmm2
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea r8, [r9 + 2]
xor r9, 0xfffffffffffffffe
lea r9, [r9 + r9*4]
shl r9, 4
movaps xmm0, xmmword [r13 + r9]
movaps xmm1, xmmword [r13 + r9 + 0x10]
movaps xmm2, xmmword [r13 + r9 + 0x20]
movaps xmm3, xmmword [r13 + r9 + 0x30]
movaps xmmword [rdx + 0x50], xmm0
movaps xmmword [rdx + 0x60], xmm1
movaps xmmword [rdx + 0x70], xmm2
movaps xmmword [rdx + 0x80], xmm3
movaps xmm0, xmmword [r13 + r9 + 0x40]
movaps xmmword [rdx + 0x90], xmm0
add rdx, 0xa0
add rsi, 0xffffffffffffff60
mov r9, r8
cmp rcx, r8
jne 0x1400a2980
test dil, 1
mov rbx, qword [rbp + 0x90]
je 0x1400a2a5e
lea rcx, [r8 + r8*4]
not r8
lea rdx, [r8 + r8*4]
shl rdx, 4
shl rcx, 4
movaps xmm0, xmmword [r13 + rdx + 0x40]
movaps xmmword [rax + rcx + 0x40], xmm0
movaps xmm0, xmmword [r13 + rdx]
movaps xmm1, xmmword [r13 + rdx + 0x10]
movaps xmm2, xmmword [r13 + rdx + 0x20]
movaps xmm3, xmmword [r13 + rdx + 0x30]
movaps xmmword [rax + rcx + 0x30], xmm3
movaps xmmword [rax + rcx + 0x20], xmm2
movaps xmmword [rax + rcx + 0x10], xmm1
movaps xmmword [rax + rcx], xmm0
cmp rbx, r14
jb 0x1400a30d2
lea rax, [r14 + r14*4]
shl rax, 4
add r12, rax
mov eax, 0
mov qword [rbp + 0x50], rax
cmp rdi, 0x21
mov r13, qword [rbp + 0x98]
mov rbx, qword [rbp + 0x60]
jae 0x1400a23bb
jmp 0x1400a1d71
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, r12
mov rdx, r14
mov r8, r13
mov r9, rbx
call fcn.14009f090
jmp 0x1400a303e
movaps xmm0, xmmword [r12 + 0x40]
movaps xmmword [r13 + 0x40], xmm0
movaps xmm0, xmmword [r12]
movaps xmm1, xmmword [r12 + 0x10]
movaps xmm2, xmmword [r12 + 0x20]
movaps xmm3, xmmword [r12 + 0x30]
movaps xmmword [r13 + 0x30], xmm3
movaps xmmword [r13 + 0x20], xmm2
movaps xmmword [r13 + 0x10], xmm1
movaps xmmword [r13], xmm0
mov rcx, rax
shl rcx, 4
lea rcx, [rcx + rcx*4]
movaps xmm0, xmmword [r12 + rcx + 0x40]
movaps xmmword [r13 + rcx + 0x40], xmm0
movaps xmm0, xmmword [r12 + rcx]
movaps xmm1, xmmword [r12 + rcx + 0x10]
movaps xmm2, xmmword [r12 + rcx + 0x20]
movaps xmm3, xmmword [r12 + rcx + 0x30]
movaps xmmword [r13 + rcx + 0x30], xmm3
movaps xmmword [r13 + rcx + 0x20], xmm2
movaps xmmword [r13 + rcx + 0x10], xmm1
movaps xmmword [r13 + rcx], xmm0
mov ecx, 1
sub rdi, rax
mov qword [rbp + 0x70], rdi
cmp rcx, rax
jae 0x1400a2cbe
mov r8d, ecx
shl r8d, 4
lea r8, [r8 + r8*4]
mov r9, rcx
jmp 0x1400a2bab
mov r15, r13
movaps xmm0, xmmword [r12]
movaps xmm1, xmmword [r12 + 0x10]
movaps xmmword [r15 + 0x10], xmm1
movaps xmmword [r15], xmm0
mov qword [r15 + 0x28], rsi
mov qword [r15 + 0x20], r10
mov qword [r15 + 0x38], rdi
mov qword [r15 + 0x30], r11
movaps xmm0, xmmword [rbp - 0x10]
movaps xmmword [r15 + 0x40], xmm0
mov r12, qword [rbp + 0xa0]
inc r9
add r8, 0x50
cmp r9, qword [rbp + 0x90]
je 0x1400a2cbe
mov rax, r9
shl rax, 4
lea r15, [rax + rax*4]
movaps xmm0, xmmword [r12 + r15]
movaps xmm1, xmmword [r12 + r15 + 0x10]
movaps xmm2, xmmword [r12 + r15 + 0x20]
movaps xmm3, xmmword [r12 + r15 + 0x30]
movaps xmmword [r13 + r15 + 0x20], xmm2
movaps xmmword [r13 + r15 + 0x30], xmm3
movaps xmm2, xmmword [r12 + r15 + 0x40]
movaps xmmword [r13 + r15 + 0x40], xmm2
movaps xmmword [r13 + r15 + 0x10], xmm1
movaps xmmword [r13 + r15], xmm0
mov r10, qword [r13 + r15 + 0x20]
mov rsi, qword [r13 + r15 + 0x28]
mov r11, qword [r13 + r15 + 0x30]
mov rdi, qword [r13 + r15 + 0x38]
mov rax, qword [r13 + r15 - 0x20]
mov rbx, r11
add rbx, r10
mov r14, rdi
adc r14, rsi
add rax, qword [r13 + r15 - 0x30]
mov rdx, qword [r13 + r15 - 0x18]
adc rdx, qword [r13 + r15 - 0x28]
cmp rax, rbx
sbb rdx, r14
jae 0x1400a2b97
add r12, r15
add r15, r13
movaps xmm0, xmmword [r15 + 0x40]
movaps xmmword [rbp - 0x10], xmm0
mov r15, r8
nop word cs:[rax + rax]
movaps xmm0, xmmword [r13 + r15 - 0x10]
movaps xmmword [r13 + r15 + 0x40], xmm0
movaps xmm0, xmmword [r13 + r15 - 0x50]
movaps xmm1, xmmword [r13 + r15 - 0x40]
movaps xmm2, xmmword [r13 + r15 - 0x30]
movaps xmm3, xmmword [r13 + r15 - 0x20]
movaps xmmword [r13 + r15 + 0x30], xmm3
movaps xmmword [r13 + r15 + 0x20], xmm2
movaps xmmword [r13 + r15 + 0x10], xmm1
movaps xmmword [r13 + r15], xmm0
cmp r15, 0x50
je 0x1400a2b60
mov rax, qword [r13 + r15 - 0x70]
add rax, qword [r13 + r15 - 0x80]
mov rdx, qword [r13 + r15 - 0x68]
adc rdx, qword [r13 + r15 - 0x78]
add r15, 0xffffffffffffffb0
cmp rax, rbx
sbb rdx, r14
jb 0x1400a2c50
add r15, r13
jmp 0x1400a2b63
cmp rcx, qword [rbp + 0x70]
jae 0x1400a2e4d
mov r8, qword [rbp + 0x90]
shl r8, 4
lea r8, [r8 + r8*4]
mov rax, qword [rbp + 0xa0]
lea r9, [rax + r8]
add r8, qword [rbp + 0x98]
mov r10d, ecx
shl r10d, 4
lea r10, [r10 + r10*4]
jmp 0x1400a2d47
mov r12, r8
movaps xmm0, xmmword [r13]
movaps xmm1, xmmword [r13 + 0x10]
movaps xmmword [r12 + 0x10], xmm1
movaps xmmword [r12], xmm0
mov qword [r12 + 0x28], rdi
mov qword [r12 + 0x20], r11
mov qword [r12 + 0x38], rbx
mov qword [r12 + 0x30], rsi
movaps xmm0, xmmword [rbp - 0x10]
movaps xmmword [r12 + 0x40], xmm0
inc rcx
add r10, 0x50
cmp rcx, qword [rbp + 0x70]
je 0x1400a2e4d
mov r11, rcx
shl r11, 4
lea r12, [r11 + r11*4]
movaps xmm0, xmmword [r9 + r12]
movaps xmm1, xmmword [r9 + r12 + 0x10]
movaps xmm2, xmmword [r9 + r12 + 0x20]
movaps xmm3, xmmword [r9 + r12 + 0x30]
movaps xmmword [r8 + r12 + 0x20], xmm2
movaps xmmword [r8 + r12 + 0x30], xmm3
movaps xmm2, xmmword [r9 + r12 + 0x40]
movaps xmmword [r8 + r12 + 0x40], xmm2
movaps xmmword [r8 + r12 + 0x10], xmm1
movaps xmmword [r8 + r12], xmm0
mov r11, qword [r8 + r12 + 0x20]
mov rdi, qword [r8 + r12 + 0x28]
mov rsi, qword [r8 + r12 + 0x30]
mov rbx, qword [r8 + r12 + 0x38]
mov r13, qword [r8 + r12 - 0x20]
mov r14, rsi
add r14, r11
mov r15, rbx
adc r15, rdi
add r13, qword [r8 + r12 - 0x30]
mov rdx, qword [r8 + r12 - 0x18]
adc rdx, qword [r8 + r12 - 0x28]
cmp r13, r14
sbb rdx, r15
jae 0x1400a2d36
lea r13, [r9 + r12]
add r12, r8
movaps xmm0, xmmword [r12 + 0x40]
movaps xmmword [rbp - 0x10], xmm0
mov r12, r10
movaps xmm0, xmmword [r8 + r12 - 0x10]
movaps xmmword [r8 + r12 + 0x40], xmm0
movaps xmm0, xmmword [r8 + r12 - 0x50]
movaps xmm1, xmmword [r8 + r12 - 0x40]
movaps xmm2, xmmword [r8 + r12 - 0x30]
movaps xmm3, xmmword [r8 + r12 - 0x20]
movaps xmmword [r8 + r12 + 0x30], xmm3
movaps xmmword [r8 + r12 + 0x20], xmm2
movaps xmmword [r8 + r12 + 0x10], xmm1
movaps xmmword [r8 + r12], xmm0
cmp r12, 0x50
je 0x1400a2d00
mov rdx, qword [r8 + r12 - 0x70]
add rdx, qword [r8 + r12 - 0x80]
mov rax, qword [r8 + r12 - 0x68]
adc rax, qword [r8 + r12 - 0x78]
add r12, 0xffffffffffffffb0
cmp rdx, r14
sbb rax, r15
jb 0x1400a2de0
add r12, r8
jmp 0x1400a2d03
mov r12, qword [rbp + 0x90]
lea rax, [r12 + r12*4]
shl rax, 4
mov r9, qword [rbp + 0x98]
lea rcx, [r9 + rax]
lea r8, [r9 + rax]
add r8, 0xffffffffffffffb0
mov rax, qword [rbp + 0x88]
lea rax, [rax + rax*4]
shl rax, 4
lea rdx, [r9 + rax]
add rdx, 0xffffffffffffffb0
mov r10, qword [rbp + 0xa0]
lea r11, [r10 + rax]
add r11, 0xffffffffffffffb0
jmp 0x1400a2f1e
movzx eax, sil
lea rax, [rax + rax*4]
add r15b, 0xff
mov esi, 0
sbb rsi, rsi
shl eax, 4
add rcx, rax
movzx eax, bl
lea rax, [rax + rax*4]
shl eax, 4
add r9, rax
add r10, 0x50
movaps xmm0, xmmword [r14 + 0x40]
movaps xmmword [r11 + 0x40], xmm0
movaps xmm0, xmmword [r14]
movaps xmm1, xmmword [r14 + 0x10]
movaps xmm2, xmmword [r14 + 0x20]
movaps xmm3, xmmword [r14 + 0x30]
movaps xmmword [r11 + 0x30], xmm3
movaps xmmword [r11 + 0x20], xmm2
movaps xmmword [r11 + 0x10], xmm1
movaps xmmword [r11], xmm0
lea rax, [rdi + rdi*4]
shl rax, 4
add rdx, rax
lea rax, [rsi + rsi*4]
shl rax, 4
add r8, rax
add r11, 0xffffffffffffffb0
dec r12
je 0x1400a2fc5
mov rax, qword [rcx + 0x30]
add rax, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x38]
adc rsi, qword [rcx + 0x28]
mov rdi, qword [r9 + 0x30]
add rdi, qword [r9 + 0x20]
mov rbx, qword [r9 + 0x38]
adc rbx, qword [r9 + 0x28]
cmp rdi, rax
sbb rbx, rsi
setae bl
setb sil
mov rdi, rcx
jb 0x1400a2f53
mov rdi, r9
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movaps xmm2, xmmword [rdi + 0x20]
movaps xmm3, xmmword [rdi + 0x30]
movaps xmmword [r10 + 0x10], xmm1
movaps xmmword [r10 + 0x20], xmm2
movaps xmmword [r10 + 0x30], xmm3
movaps xmm1, xmmword [rdi + 0x40]
movaps xmmword [r10 + 0x40], xmm1
movaps xmmword [r10], xmm0
mov rax, qword [rdx + 0x30]
add rax, qword [rdx + 0x20]
mov rdi, qword [rdx + 0x38]
adc rdi, qword [rdx + 0x28]
mov r14, qword [r8 + 0x30]
mov r15, qword [r8 + 0x38]
add r14, qword [r8 + 0x20]
adc r15, qword [r8 + 0x28]
cmp r14, rax
sbb r15, rdi
setb r15b
mov edi, 0
adc rdi, 0xffffffffffffffff
mov r14, r8
test r15b, r15b
jne 0x1400a2ea0
mov r14, rdx
jmp 0x1400a2ea0
add r8, 0x50
test byte [rbp + 0x88], 1
je 0x1400a3028
xor eax, eax
xor r11d, r11d
cmp r9, r8
setae al
setb r11b
mov rsi, rcx
cmovb rsi, r9
movaps xmm0, xmmword [rsi + 0x40]
movaps xmmword [r10 + 0x40], xmm0
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
movaps xmm3, xmmword [rsi + 0x30]
movaps xmmword [r10 + 0x30], xmm3
movaps xmmword [r10 + 0x20], xmm2
movaps xmmword [r10 + 0x10], xmm1
movaps xmmword [r10], xmm0
lea r10, [r11 + r11*4]
shl r10d, 4
add r9, r10
lea rax, [rax + rax*4]
shl eax, 4
add rcx, rax
cmp r9, r8
jne 0x1400a30e4
add rdx, 0x50
cmp rcx, rdx
jne 0x1400a30e4
movaps xmm6, xmmword [rbp + 0xb0]
movaps xmm7, xmmword [rbp + 0xc0]
movaps xmm8, xmmword [rbp + 0xd0]
movaps xmm9, xmmword [rbp + 0xe0]
movaps xmm10, xmmword [rbp + 0xf0]
movaps xmm11, xmmword [rbp + 0x100]
movaps xmm12, xmmword [rbp + 0x110]
movaps xmm13, xmmword [rbp + 0x120]
movaps xmm14, xmmword [rbp + 0x130]
movaps xmm15, xmmword [rbp + 0x140]
add rsp, 0x1d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [0x14024c060]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x30], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rdx, [0x14024c070]
lea rcx, [rbp - 0x40]
call fcn.14023de30
lea r8, [0x14024c088]
mov rcx, r14
mov rdx, rbx
call fcn.14023e2f0
call fcn.140223d00
ud2