Function at 0x1401976e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x50
mov qword [rsp + 0x38], rcx
add rcx, 8
mov qword [rsp + 0x40], rcx
xor eax, eax
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rax, rcx
jge 0x1401977b1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140197a90
test al, 1
jne 0x140197743
jmp 0x140197788
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1401976b4
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
movabs rdx, 0x1a65986b7bbf3206
movabs rax, 0x1a65986b7bbf320e
xor rdx, rax
call fcn.14000fb9a
mov rax, qword [rsp + 0x28]
movabs rcx, 0xadc6f2eb26aff6c9
movabs rdx, 0xadc6f2eb26aff6c8
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x1401976fa
mov eax, dword [0x14020b508]
mov edx, dword [0x14020b50c]
mov ecx, 0x2cc88cf9
xor ecx, 0x64edaee1
xor edx, ecx
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0x1edab31d
sub eax, 0xc366a1ae
mov ecx, 0x88d2db8
xor ecx, 0x54b58aaa
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x5c38a712
add eax, 1
add eax, ecx
cmp eax, 0x4352ff83
jb 0x140197a70
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x14020b510]
xor eax, dword [0x14020b514]
mov r8d, 0xdfd474cd
xor r8d, 0x5eeec857
xor edx, edx
div r8d
mov r8d, 0xe1184cb6
xor r8d, 0x37c98f46
xor edx, edx
div r8d
xor eax, 0x62f0b236
cmp rcx, 0
sete cl
mov byte [rsp + 0x27], cl
cmp eax, 0xf5025bc2
jae 0x140197807
mov al, byte [rsp + 0x27]
test al, 1
jne 0x140197a69
jmp 0x140197868
mov eax, dword [0x14020b518]
mov r8d, dword [str._r_5_]
xor r8d, 0x62487d13
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x9b326fce
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x8b92bb3e
xor edx, 0xb18e2b80
mov r8d, 0x818e439b
xor r8d, 0x7e71bc64
xor edx, r8d
or eax, edx
mov edx, 0x3a1c90be
and edx, 0x3a1c90be
mov r8d, 0x93f8d58b
xor r8d, 0x6c072a74
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xb036d9dd
xor edx, 0x4fc92622
xor eax, edx
mov edx, 0xe1f225c2
xor edx, 0x1e0dda3d
xor ecx, edx
or eax, ecx
or eax, 0xa11521b1
cmp eax, 0x8467033e
je 0x140197a79
mov r8, qword [rsp + 0x30]
mov ecx, dword [0x14020b520]
xor ecx, 0x2efb2699
mov edx, dword [0x14020b524]
xor edx, 0x525c1fd7
xor eax, eax
sub eax, ecx
mov ecx, 0x33a748da
xor ecx, 0x33a748da
sub ecx, edx
add eax, ecx
xor esi, esi
sub esi, eax
mov ecx, esi
xor ecx, 0xffffffff
mov r9d, 0x779d8266
xor r9d, 0x6ee41bc2
mov eax, 0x1390ed42
xor eax, 0xec6f12bd
xor r9d, eax
mov edx, 0xa33690ef
xor edx, 0x4c5812c0
mov eax, 0x550594bb
xor eax, 0xaafa6b44
xor edx, eax
mov r10d, 0xbef83d4a
xor r10d, 0x5196bf65
mov eax, ecx
and eax, r10d
and esi, edx
mov r10d, r9d
and r10d, 0xef6e822f
mov r11d, edx
and r11d, 0x197999a4
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
xor ecx, 0xffffffff
or edx, 0xef6e822f
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7bc76a1b
mov r9d, 0xffffffff
xor r9d, 0x7bc76a1b
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, 0x7bc76a1b
or eax, 0x7bc76a1b
imul eax, edx
add eax, ecx
mov ecx, 0xa973b66
xor ecx, 0xbe935704
sub eax, ecx
mov ecx, 0x5bc7eb7
xor ecx, 0xda867045
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
movabs r8, 0x7d71ee633518af6e
movabs r9, 0x7d71ee633518af6e
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rsp + 0x26], dl
cmp eax, ecx
jb 0x14019790d
mov al, byte [rsp + 0x26]
test al, 1
jne 0x140197a48
jmp 0x140197a69
mov rcx, qword [rsp + 0x30]
movabs rdx, 0xfbcf5f8111f2bc61
movabs rax, 0xfbcf5f8111f2bc69
xor rdx, rax
call fcn.14000fb49
nop
add rsp, 0x50
pop rsi
ret
call 0x12a0483bf
invalid
rcl ebp, 1
mov bl, 0xac
jmp 0x14019790d