Function at 0x14009b970
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], r8
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.14009b3db
mov r8, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov rax, qword [r8]
mov qword [rbp + 0x18], rax
movabs rcx, 0x6da42f08414ce10c
movabs rdx, 0x6da42f08414ce10c
xor rcx, rdx
cmp rax, rcx
jle 0x14009bb76
mov eax, dword [0x140254b78]
mov edx, dword [0x140254b7c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, 0x9e396330
xor ecx, 0xf660565b
xor eax, ecx
mov ecx, eax
xor ecx, 0x7d1fc8ad
mov edx, 0x1989e4f9
xor edx, 0xe6761b06
xor ecx, edx
and ecx, 0x7d1fc8ad
shl ecx, 1
mov edx, 0xc991ad
xor edx, 0x7dd65900
sub ecx, edx
sub eax, ecx
mov edx, 0xb13c1e63
xor edx, 0x4ec3e19c
mov ecx, eax
xor ecx, edx
and ecx, 0xed94723c
mov edx, 0xffffffff
xor edx, 0xed94723c
and eax, edx
sub eax, ecx
cmp eax, 0x72c9c923
jbe 0x14009bfb3
mov rdx, qword [rbp + 0x10]
mov ecx, dword [0x140254b80]
or ecx, dword [0x140254b84]
sub ecx, 0x5821af9f
mov r8d, 0xf5b0a910
xor r8d, 0xa4f56ef
mov eax, ecx
xor eax, r8d
and eax, 0xf87bf96f
mov r8d, 0xe24a51e6
xor r8d, 0x1a31a889
mov r9d, 0xccd00e2b
xor r9d, 0x332ff1d4
xor r8d, r9d
and ecx, r8d
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x9a7a0dbf
mov r8d, 0xec0ed6bd
xor r8d, 0xec0ed6bd
mov r9d, 0x87396ff2
xor r9d, 0x87396ff3
sub r8d, r9d
sub ecx, r8d
sub eax, ecx
mov ecx, 0xaddc4770
xor ecx, 0xc72105b6
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
ja 0x14009ba5f
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14009bb07
jmp 0x14009bfad
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 8]
mov rax, qword [rax + 8]
movabs rdx, 0x490c989a88bd2619
movabs r8, 0xbcb5b25321c3e427
xor rdx, r8
sub rcx, rdx
movabs rdx, 0xe37b019c03e9b5c
movabs r8, 0xf1c84fe63fc164a3
xor rdx, r8
add rcx, rdx
movabs rdx, 0xf5b92ac9a97ec23e
add rcx, rdx
add rax, 8
add rax, rcx
mov cl, byte [rax]
mov al, 0xc5
xor al, 0x99
cmp cl, al
sete al
cmp cl, 0x2f
sete cl
or al, cl
mov byte [rbp - 0x12], al
jmp 0x14009bf2c
mov rcx, qword [rbp + 0x18]
xor eax, eax
cmp rcx, 0
mov byte [rbp - 0x12], al
jne 0x14009bf2c
mov eax, dword [str.li]
mov r8d, dword [0x140254b8c]
mov ecx, 0xbe4552e8
xor ecx, 0x87ff7a59
xor r8d, ecx
mov ecx, 0xe8f3b888
xor ecx, 0x170c4777
mov r9d, r8d
xor r9d, ecx
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, 0x118a8e40
or eax, 0xc9245a1f
mov ecx, 0x584450f2
xor ecx, 0xacd1f758
xor edx, edx
div ecx
cmp eax, 0xc5b31ac
jae 0x14009bfbc
mov rcx, qword [rbp - 8]
mov eax, dword [0x140254b90]
xor eax, 0x21580148
mov edx, dword [0x140254b94]
mov r8d, 0xb1368ec1
xor r8d, 0x67302c99
xor edx, r8d
add eax, 0xf33575ad
sub eax, edx
sub eax, 0xf33575ad
imul eax, eax, 0x545e07a0
mov edx, 0xdd08eb0a
xor edx, 0x1138d4c9
imul eax, edx
add eax, 0x383dd48b
mov rcx, qword [rcx]
mov qword [rbp - 0x20], rcx
cmp rcx, 0
setg cl
mov byte [rbp - 0x13], cl
cmp eax, 0xf0ca1b7b
ja 0x14009bbf6
mov cl, byte [rbp - 0x13]
xor eax, eax
test cl, 1
mov byte [rbp - 0x12], al
jne 0x14009bc72
jmp 0x14009bf2c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 8]
mov rdx, rcx
add rdx, 8
mov qword [rbp - 0x38], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x30], rcx
cmp rcx, 0
mov qword [rbp - 0x28], rax
je 0x14009bdc4
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x77aa58c60d4d2b56
movabs r8, 0x37aa58c60d4d2b56
xor rdx, r8
movabs r8, 0x3d2983f2bd7e3a26
movabs r9, 0x7d2983f2bd7e3a26
xor r8, r9
or rdx, r8
movabs r8, 0x9ca081ce3f0ef37f
movabs r9, 0x635f7e31c0f10c80
xor r8, r9
xor rdx, r8
movabs r8, 0x892cc2b0ae3bd2c1
movabs r9, 0x76d33d4f51c42d3e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x28], rax
je 0x14009bdc4
mov eax, dword [0x140254b98]
xor eax, 0xfcb73eb5
add eax, dword [0x140254b9c]
mov ecx, 0xa734a734
xor ecx, 0x1647918
imul eax, ecx
mov ecx, 0xdae4d20f
xor edx, edx
div ecx
sub eax, 0x8213de2d
cmp eax, 0x146549ee
jbe 0x14009bfc5
mov rcx, qword [rbp - 8]
mov eax, dword [0x140254ba0]
or eax, dword [0x140254ba4]
add eax, 0xad0525b2
mov edx, 0x9e8818f1
xor edx, 0x75621969
add eax, edx
mov edx, 0xdd592411
xor edx, 0xfcf6a204
sub eax, edx
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.140014710
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp eax, 0xd385633d
jae 0x14009bd5f
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x28], rax
jmp 0x14009bdc4
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x58], rdx
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp - 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14009bdfa
jmp 0x14009be0c
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x14009bef3
mov rax, qword [rbp - 0x58]
cmp rax, 0
jg 0x14009be33
mov rdx, qword [rbp - 0x50]
sub rsp, 0x20
mov rcx, rdx
call fcn.140013507
add rsp, 0x20
jmp 0x14009bef3
mov eax, dword [0x140254ba8]
xor edx, edx
div dword [0x140254bac]
add eax, 0x57db6c08
mov ecx, 0xd67c66ed
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x5d53ae3
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x856023cc
jae 0x14009bfce
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140254bb0]
xor eax, 0xe71074d6
mov r10d, dword [0x140254bb4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
add eax, 0x50a06ec9
and eax, 0x91c9336
mov r8d, 0x978be1c5
xor r8d, 0x9f72562b
imul eax, r8d
mov rcx, qword [rcx]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x60], rcx
cmp eax, 0x1e92514f
jb 0x14009be6d
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x68], rax
jmp 0x14009bef3
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 0x70], rcx
mov al, byte [rax]
mov cl, 0xa8
xor cl, 0xa8
cmp al, cl
jne 0x14009bfad
mov rax, qword [rbp - 0x70]
mov cl, byte [rax]
mov al, cl
sub al, 0x5c
sete al
sub cl, 0x2f
sete dl
mov cl, dl
and cl, al
add al, dl
sub al, cl
mov byte [rbp - 0x12], al
mov rcx, qword [rbp - 8]
mov al, byte [rbp - 0x12]
mov byte [rbp - 0x71], al
xor edx, edx
sub rsp, 0x20
call fcn.140099770
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x24
xor cl, 0x24
cmp al, cl
jne 0x14009bfad
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov r9, qword [rax]
mov qword [rcx], r9
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov r9d, 0x5c
sub rsp, 0x20
call fcn.140096e20
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009bfad
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x71]
and dl, 1
sub rsp, 0x20
call fcn.140099770
add rsp, 0x20
lea rsp, [rbp + 0x20]
pop rbp
ret
mov eax, 0xe97fdff2
movabs dword [0xe9289ab45afffffa], eax
pop rdx
mov ah, 0x9a
sub cl, ch
xor esp, edi
invalid
cmp word [rsi - 0x26e1673], cx
invalid
jrcxz 0x14009bff4
xchg esp, eax
sbb eax, 0xfffe96e9
jmp qword [rsi + 0xf]
test al, 0x48
mov dword [rbp - 0x50], ecx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.14009b3db
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov r9, qword [rdx]
mov r8, qword [r8]
mov rax, r8
and rax, r9
mov rcx, r8
or rcx, r9
add rax, rcx
mov qword [rbp - 0x28], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, r9
xor rdx, 0xffffffffffffffff
mov r10, r9
xor r10, 0xffffffffffffffff
and rdx, r10
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r10, 0x7c3b9af803a18ce4
movabs r11, 0x83c46507fc5e731b
xor r10, r11
xor r9, r10
and rdx, r9
xor rcx, 0xffffffffffffffff
movabs r9, 0x2aa0b0d1503d2544
movabs r10, 0xd55f4f2eafc2dabb
xor r9, r10
xor rdx, r9
and rcx, rdx
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
and r9, r10
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or rax, r8
xor rax, 0xffffffffffffffff
or rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14009c1f2
mov ecx, dword [0x140254bb8]
mov edx, dword [0x140254bbc]
mov eax, 0xc7b802ab
xor eax, 0xb0e46a7d
xor edx, eax
mov eax, 0x3694378
xor eax, 0xfc96bc87
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
or eax, 0x2223bc46
mov ecx, 0x883f4405
xor ecx, 0x883f4405
mov edx, 0xc2321c55
xor edx, 0x2426d23c
sub ecx, edx
add eax, ecx
sub eax, 0xb28bdf3c
cmp eax, 0x69cce8bb
jb 0x14009c2ae
mov eax, dword [0x140254bc0]
or eax, dword [0x140254bc4]
mov ecx, 0x1b2ebd89
xor ecx, 0xafa9accf
and eax, ecx
mov ecx, 0x7cedee44
xor ecx, 0x7cedee44
sub ecx, eax
xor eax, eax
sub eax, 0x3bec5be8
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, 0x3e18cf23
mov edx, 0x9bd67c59
xor edx, 0x642983a6
xor ecx, edx
and ecx, 0x3e18cf23
shl ecx, 1
sub ecx, 0x3e18cf23
sub eax, ecx
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.140007e9d
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x30c89ffc
jb 0x14009c2ae
jmp 0x14009c2a5
mov rax, qword [rbp - 0x28]
cmp rax, 0
jge 0x14009c224
mov rcx, qword [rbp - 0x28]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x14009c2a5
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14001bb40
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rdx], 0
mov r8, qword [rax]
mov qword [rbp - 0x10], r8
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
lea r8, [rbp - 0x10]
sub rsp, 0x20
call fcn.14009b970
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009c2a5
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x38]
mov r8, qword [rax]
mov qword [rbp - 0x20], r8
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
sub rsp, 0x20
call fcn.14009b970
add rsp, 0x20
mov rax, qword [rbp - 0x50]
mov rsp, rbp
pop rbp
ret
mov al, byte [rsi - 0x4016a4e3]
invalid