Function at 0x1800d9370
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
sub rsp, 0xa0
mov r11, qword [rsp + 0xe0]
mov rdi, r9
mov qword [rsp + 0x80], r8
mov rbp, r8
mov qword [rsp + 0x78], rdx
mov r14, rdx
cmp r8, r11
jb 0x1800d96e7
mov qword [rax + 8], rbx
mov rdx, r11
mov qword [rax + 0x18], rsi
lea rax, [rcx - 1]
shr rax, 0x3f
not rcx
shr rcx, 0x3f
and rax, rcx
xor ecx, ecx
dec rax
mov qword [rsp + 0x38], rcx
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x70], rdx
je 0x1800d963a
sub rdi, r14
mov qword [rsp + 0xd8], r12
lea r10, [r14 + 0x10]
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x30], r10
lea rdx, [rdi + 0x28]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdx
lea r11, [rdi + 0x20]
mov r9, qword [r10 + rdi - 0x10]
xor edx, edx
add r9, qword [r10 - 0x10]
cmp r9, qword [r10 - 0x10]
mov r13, qword [r10 + rdi]
setb dl
mov r15, qword [rdi + r10 + 8]
mov rbp, qword [rdi + r10 + 0x10]
add r9, rcx
mov r12, qword [r10 + 8]
xor r8d, r8d
mov r14, qword [r10 + 0x10]
cmp r9, rcx
mov rsi, qword [r10 + 0x18]
setb r8b
mov rbx, qword [r10 + 0x20]
or r8, rdx
mov r11, qword [r11 + r10]
mov rdx, qword [r10 - 8]
xor ecx, ecx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r9
mov r9, qword [rdi + r10 - 8]
mov rdi, qword [rdi + r10 + 0x18]
add r9, rdx
cmp r9, rdx
setb cl
add r9, r8
xor edx, edx
mov qword [rsp + 0x60], r9
cmp r9, r8
mov r8, qword [r10]
mov r10, qword [r10 + 0x28]
setb dl
mov qword [rsp + 0x68], r8
or rdx, rcx
add r13, r8
xor ecx, ecx
cmp r13, r8
setb cl
xor r8d, r8d
add r13, rdx
cmp r13, rdx
setb r8b
add r15, r12
or r8, rcx
xor ecx, ecx
cmp r15, r12
setb cl
add r15, r8
xor edx, edx
cmp r15, r8
setb dl
add rbp, r14
or rdx, rcx
xor ecx, ecx
cmp rbp, r14
setb cl
xor r8d, r8d
add rbp, rdx
cmp rbp, rdx
setb r8b
add rdi, rsi
or r8, rcx
xor ecx, ecx
cmp rdi, rsi
setb cl
add rdi, r8
xor edx, edx
cmp rdi, r8
setb dl
add r11, rbx
or rdx, rcx
xor ecx, ecx
cmp r11, rbx
setb cl
xor r8d, r8d
add r11, rdx
cmp r11, rdx
setb r8b
or r8, rcx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rdx + rcx]
xor edx, edx
add r9, r10
cmp r9, r10
setb dl
add r9, r8
xor ecx, ecx
cmp r9, r8
setb cl
or rcx, rdx
mov rdx, qword [rsp + 0x30]
mov r8, qword [rdx - 0x10]
mov rdx, r8
xor rdx, qword [rsp + 0x50]
and rdx, rax
xor rdx, r8
mov r8, qword [rsp + 0x30]
mov qword [r8 - 0x10], rdx
mov rdx, qword [rsp + 0x58]
xor rdx, qword [rsp + 0x60]
and rdx, rax
xor rdx, qword [rsp + 0x58]
mov qword [r8 - 8], rdx
mov rdx, qword [rsp + 0x68]
xor rdx, r13
and rdx, rax
xor rdx, qword [rsp + 0x68]
mov qword [r8], rdx
mov rdx, r12
xor rdx, r15
and rdx, rax
xor rdx, r12
mov qword [r8 + 8], rdx
mov rdx, r14
xor rdx, rbp
and rdx, rax
xor rdx, r14
mov qword [r8 + 0x10], rdx
mov rdx, rsi
xor rdx, rdi
mov rdi, qword [rsp + 0x40]
and rdx, rax
xor rdx, rsi
mov qword [r8 + 0x18], rdx
mov rdx, rbx
xor rdx, r11
lea r11, [rdi + 0x20]
and rdx, rax
xor rdx, rbx
mov qword [r8 + 0x20], rdx
mov rdx, r10
xor rdx, r9
and rdx, rax
xor rdx, r10
mov r10, r8
mov qword [r8 + 0x28], rdx
add r10, 0x40
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
add r8, 8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r10
cmp r8, rdx
jne 0x1800d9411
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xe0]
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
jmp 0x1800d963d
sub rdi, r14
cmp rdx, r11
je 0x1800d968c
mov rsi, r11
lea rbx, [r14 + rdx*8]
sub rsi, rdx
nop dword [rax]
mov r10, qword [rbx]
xor r8d, r8d
mov r9, qword [rdi + rbx]
lea rbx, [rbx + 8]
add r9, r10
cmp r9, r10
setb r8b
add r9, rcx
xor edx, edx
cmp r9, rcx
setb dl
xor r9, r10
and r9, rax
mov rcx, rdx
xor r9, r10
or rcx, r8
mov qword [rbx - 8], r9
sub rsi, 1
jne 0x1800d9650
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xc0]
cmp r11, rbp
je 0x1800d96d8
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r14 + r11*8]
xor edx, edx
lea r8, [r9 + rcx]
cmp r8, rcx
setb dl
xor r8, r9
and r8, rax
mov rcx, rdx
xor r8, r9
mov qword [r14 + r11*8], r8
inc r11
cmp r11, rbp
jne 0x1800d96b0
and rax, rcx
add rsp, 0xa0
pop r14
pop rdi
pop rbp
ret
lea r9, [0x1803e4f60]
mov dword [rsp + 0x20], 0x29
lea r8, str.bigint_cnd_add
lea rdx, str.Expected_sizes
lea rcx, str.x_size___y_size
call fcn.1800d1f70
int3