Function at 0x140131ba0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rcx
call fcn.140132332
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], 0
cmp r8, 0
jge 0x140131c0a
mov rcx, qword [rsp + 0xb8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
jmp 0x14013230e
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
call fcn.140132350
mov rcx, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rcx
cmp byte [rax], 0
jne 0x14013230e
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax]
mov r8b, 1
xor r8b, 1
and r8b, 1
lea rcx, [rsp + 0xd0]
call fcn.140134e90
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x14013230e
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
add rcx, 8
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x88], rax
cmp rax, rcx
jle 0x140132270
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xc8], 0
movabs rdx, 0x71582aeaa135c217
mov rcx, rax
add rcx, rdx
add rcx, 0xffffffffffffffff
movabs rdx, 0x71582aeaa135c217
sub rcx, rdx
mov qword [rsp + 0x80], rcx
xor rcx, rax
movabs rdx, 0x85935d5bab0cb64b
movabs r8, 0x85935d5bab0cb64b
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x140131d30
jmp 0x140131e15
mov eax, dword [0x1402499d0]
add eax, dword [0x1402499d4]
mov r8d, 0xffffffff
xor r8d, 0x88ead010
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x88ead010
or eax, 0x88ead010
imul eax, edx
add eax, ecx
xor eax, 0x34f3db
sub eax, 0xddc96c09
mov ecx, 0xc208286a
xor ecx, 0xfb3609b4
cmp eax, ecx
jbe 0x140132317
mov ecx, dword [0x1402499d8]
mov edx, dword [0x1402499dc]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
and eax, 0xe46b94ab
mov r8d, 0xffffffff
xor r8d, 0x2daa64a6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x6f7de539
xor r8d, 0x42d7819f
mov edx, eax
and edx, r8d
or eax, 0x2daa64a6
imul eax, edx
add eax, ecx
mov ecx, 0xb9927dde
xor ecx, 0xf1034449
xor edx, edx
div ecx
mov dword [rsp + 0x7c], eax
mov eax, 0x9ed0d895
xor eax, 0xd63405cc
mov dword [rsp + 0x78], eax
call fcn.140008d37
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
cmp eax, ecx
je 0x140132317
jmp 0x1401321f0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
sar rcx, 1
mov qword [rsp + 0x70], rcx
movabs rcx, 0x514b7e183cfafe52
movabs rdx, 0x514b7e183cfafe53
xor rcx, rdx
cmp rax, rcx
jge 0x140131e6b
mov rcx, qword [rsp + 0x70]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
jmp 0x1401321f0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb0]
call fcn.140132350
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rdx
mov dl, byte [rcx]
mov r8b, 0xf7
xor r8b, 0xf7
mov cl, 1
cmp dl, r8b
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x14013220b
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
lea rcx, [rsp + 0xc8]
xor r8d, r8d
call fcn.140134e90
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x14013220b
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
call fcn.14013246b
mov cl, al
mov rax, qword [rsp + 0xc0]
mov al, byte [rax]
test al, al
sete al
mov byte [rsp + 0x57], al
and al, cl
test al, 1
jne 0x140131f27
jmp 0x1401321bc
mov eax, dword [0x1402499e0]
mov r8d, dword [0x1402499e4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0xc2d15323
mov ecx, 0x38986a99
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x89b554d9
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x2c38f57c
xor r8d, 0xd3c70a83
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x89b554d9
or eax, 0x89b554d9
imul eax, edx
add eax, ecx
cmp eax, 0xf41f831e
jae 0x140132320
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xb0]
mov eax, dword [0x1402499e8]
mov ecx, dword [0x1402499ec]
mov r9d, 0x19fe642e
xor r9d, 0x1a5d0f47
xor ecx, r9d
xor eax, ecx
imul eax, eax, 0xac50f620
imul eax, eax, 0x71c6866f
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov r9d, 0xa7e46118
xor r9d, 0xa876dbc8
or eax, r9d
add eax, ecx
mov ecx, 0x7b9cc6e7
xor ecx, 0x582432cc
mov r8, qword [r8]
mov qword [rsp + 0x48], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x56], dl
cmp eax, ecx
je 0x140131fad
mov al, byte [rsp + 0x56]
test al, 1
jne 0x140132076
jmp 0x140132037
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x48]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0xb814d0b98da1f4a
movabs r8, 0xb814d0b98da1f4a
xor rdx, r8
sub rdx, rax
call fcn.140012b72
jmp 0x1401321f0
mov eax, dword [0x1402499f0]
mov edx, dword [0x1402499f4]
mov ecx, 0x3302e5e5
xor ecx, 0xcb10895d
xor edx, ecx
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0x2c1430fa
xor ecx, 0xb468be12
sub eax, ecx
or eax, 0x7e8cd187
mov ecx, 0xffffffff
xor ecx, 0xa8623fd6
add eax, ecx
add eax, 1
mov ecx, 0xaa1b05d0
xor ecx, 0x9789fc55
cmp eax, ecx
jb 0x140132329
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov edx, dword [0x1402499f8]
mov r8d, 0xf9e70891
xor r8d, 0xb7b38acf
xor edx, r8d
sub edx, dword [0x1402499fc]
mov r8d, 0x123135a6
xor r8d, 0xbd1accf
imul edx, r8d
xor edx, 0xe4db8808
or edx, 0x280757c9
mov dword [rsp + 0x40], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0xc8]
call fcn.140135190
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x40]
mov cl, byte [rcx]
mov dl, 0xd7
xor dl, 0xd7
cmp cl, dl
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0xbf6d6595
je 0x1401320cf
mov rax, qword [rsp + 0x88]
mov dl, byte [rsp + 0x47]
mov cl, 1
test dl, 1
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x140132183
jmp 0x14013220b
lea rcx, [rsp + 0xc8]
call fcn.14013535e
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
mov cl, byte [rcx]
cmp cl, 0
cmove rax, rdx
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jmp 0x14013220b
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1401321cd
jmp 0x1401321f0
mov rcx, qword [rsp + 0xc8]
call fcn.140135366
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
je 0x140132270
jmp 0x14013226b
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xc0]
mov cl, byte [rcx]
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xc0]
mov cl, byte [rsp + 0x67]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x3f], cl
mov cl, 0xc6
xor cl, 0xc6
mov byte [rax], cl
mov rcx, qword [rsp + 0xc8]
call fcn.140135366
mov rax, qword [rsp + 0xc0]
mov al, byte [rax]
mov cl, 0x74
xor cl, 0x74
cmp al, cl
jne 0x14013226b
mov al, byte [rsp + 0x3f]
mov rdx, qword [rsp + 0xc0]
mov cl, 0x4f
xor cl, 0x4f
mov byte [rdx], al
cmp al, cl
je 0x140132296
jmp 0x14013230e
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rax, rcx
jl 0x1401322e3
jmp 0x1401322a8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
jmp 0x140131c93
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x28]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0x2c73bd64cac6f02f
movabs r9, 0xd38c429b35390fd0
xor r8, r9
or rax, r8
add rdx, rax
call fcn.140012b72
jmp 0x14013230e
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0xd0]
call fcn.140135190
nop
add rsp, 0xd8
ret
xchg ebx, eax
sub byte [rdi - 0x59717], bl
invalid
fcom dword [rcx + 0x33]
js 0x14013230e
test ah, bh
invalid
stc
sbb ch, byte [rsi - 0x26216f3]
invalid