Function at 0x140185320
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rcx
mov eax, dword [0x14025aaf0]
and eax, dword [0x14025aaf4]
sub eax, 0x35a26315
mov ecx, 0x945befc8
xor ecx, 0x8317f736
add eax, ecx
add eax, 0x35a26315
mov r8d, 0xffffffff
xor r8d, 0xe97f848c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe97f848c
mov r8d, 0x44922e06
xor r8d, 0xadedaa8a
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x6594caa9
xor edx, 0x1eb31ff5
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x7b27d55c
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xf04dd2d4
je 0x14018565d
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov edx, dword [0x14025aaf8]
xor edx, 0x615cc1d7
or edx, dword [0x14025aafc]
add edx, 0xff0b78f7
or edx, 0x287ea5c7
imul edx, edx, 0x8584bb29
mov dword [rsp + 0x6c], edx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x60], rdx
mov qword [rcx + 8], 0
mov rdx, qword [rax]
call fcn.1400202a0
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x6c]
add rdx, 8
mov qword [rsp + 0x70], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x78], rcx
cmp eax, 0x22155343
je 0x1401853c8
mov rcx, qword [rsp + 0x78]
xor eax, eax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jmp 0x140185469
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov ecx, dword [0x14025ab00]
mov eax, 0xdd38ef43
xor eax, 0x701d5056
xor ecx, eax
mov edx, dword [0x14025ab04]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x23f7c4a7
xor r9d, 0xdc083b58
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r9d, 0xbb7bdee
xor r9d, 0xf4484211
mov r8d, edx
xor r8d, r9d
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xc63c891b
xor ecx, 0x39c376e4
xor eax, ecx
mov ecx, 0x39a53b92
xor ecx, 0x5ef13b40
and eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x89f86487
xor eax, 0x89f86487
mov edx, 0x7bf2c32c
xor edx, 0x6c512e57
sub eax, edx
add ecx, eax
mov eax, 0xf700f603
xor eax, 0xf700f603
sub eax, ecx
mov ecx, 0xe8427704
xor ecx, 0xe0a18
xor eax, ecx
cmp eax, 0x360a06d3
jbe 0x140185666
mov r8, qword [rsp + 0x48]
mov eax, dword [0x14025ab08]
mov r9d, dword [0x14025ab0c]
xor r9d, 0x78036570
mov edx, r9d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r9d
add eax, edx
sub eax, ecx
mov ecx, 0x1ca2a6f5
xor edx, edx
div ecx
mov ecx, 0xe9bdc36a
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x40]
mov ecx, 0xb5d7682a
xor ecx, 0x9d4f33ec
add eax, ecx
add eax, 0xd41699f2
sub eax, 0x28985bc6
mov ecx, 0x493a4019
xor ecx, 0xe2601990
cmp rdx, r8
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
jbe 0x140185538
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1401855c0
jmp 0x14018564d
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov r9, qword [rcx]
mov r9, qword [r9 + rdx*8 + 8]
mov r8, qword [r8]
mov qword [r8 + rdx*8 + 8], r9
mov rcx, qword [rcx]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rsp + 0x28], rcx
cmp rcx, 0
mov qword [rsp + 0x30], rax
je 0x14018561a
mov rcx, qword [rsp + 0x28]
call int.1401652f0
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
movabs rdx, 0x7c3588de0f3aea43
movabs r8, 0x7c3588de0f3aea42
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jmp 0x140185469
mov eax, 0xf3aea42
fimul word [rax + 0x314c7c35]
ret 0x148
mov rax, qword [rsp + 0x90]
add rsp, 0x98
ret
rcr dword [rdi], 1
jae 0x14018562f
jmp 0x1401853c8
adc al, 0x2d
outsd dx, dword [rsi]
and eax, 0xfffec9e9
call qword [rax - 0x137cb7ab]
push rbp
sub rsp, 0x70
invalid
lea ebp, [rsp + 0x70]
and byte [rcx - 0x77], cl
ret 0x8b48