Function at 0x140159da0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x240
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.140193b2f
add rsp, 0x20
mov qword [rbp + 0x60], rax
add rax, 0x50
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1b8], 0
movabs rax, 0x34d7495b3fde07d2
movabs rcx, 0x34d7495b3fde07d2
xor rax, rcx
mov qword [rbp + 0x1a0], rax
lea rax, [rbp + 0x1a0]
add rax, 8
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x1a8], 0
mov word [rbp + 0x19e], 0x830
lea rcx, [rbp + 0x19e]
sub rsp, 0x20
call fcn.140064b20
mov rdx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx + 0x50], 0
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov ecx, dword [0x14024acc0]
or ecx, dword [0x14024acc4]
mov edx, 0x67cc68fc
xor edx, 0xb2cdc61a
mov eax, 0x44addf38
xor eax, 0xbb5220c7
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x11a8f350
xor ecx, 0x26eff1ee
xor eax, ecx
mov ecx, 0x7c81186d
xor ecx, 0x8fd3d2b7
sub eax, ecx
mov ecx, 0x540c1fa8
xor ecx, 0xa5edaca0
sub eax, ecx
add eax, 0xf352cada
cmp eax, 0xf2b60a88
ja 0x14015a8e0
mov eax, dword [0x14024acc8]
xor eax, 0xab79a228
mov ecx, dword [0x14024accc]
xor ecx, 0xaacb3540
and eax, ecx
xor eax, 0xfc2280f9
mov r8d, 0xffffffff
xor r8d, 0xb32d83a0
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb32d83a0
mov r8d, 0x2f4c932f
xor r8d, 0x9c61108f
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x6d0428e3
mov dword [rbp + 0x1c], eax
mov ax, 0xd268
xor ax, 0xd7cf
mov word [rbp + 0x19c], ax
lea rcx, [rbp + 0x19c]
sub rsp, 0x20
call fcn.140064b20
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x1c]
mov qword [rbp + 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0xbeed146c
je 0x140159ef4
mov dl, byte [rbp + 0x2f]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x140159fc9
jmp 0x14015a536
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rcx]
mov qword [rbp + 0x160], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x168], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x1b0]
lea rdx, [rbp + 0x160]
lea r8, [rbp + 0x150]
sub rsp, 0x20
call fcn.1400fc0b0
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov rax, qword [0x1402cddf8]
mov rcx, rax
add rcx, 0x18
mov qword [rbp + 8], rcx
cmp qword [rax + 0x18], 0
mov qword [rbp + 0x10], rax
je 0x14015a0f7
mov r8, qword [rbp + 0x40]
mov rax, qword [rbp + 8]
mov rcx, qword [0x140259c48]
mov qword [rbp + 0x140], rcx
mov rcx, qword [0x140259c50]
mov qword [rbp + 0x148], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x1b0]
lea rdx, [rbp + 0x140]
sub rsp, 0x20
call fcn.1400fc0b0
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0xd4
xor r8b, 0xd4
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov rax, qword [0x1402cddf8]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x130], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x138], rax
lea rcx, [rbp + 0x1a0]
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.140018beb
add rsp, 0x20
mov qword [rbp + 0x188], 0
lea rax, [rbp + 0x188]
add rax, 8
mov qword [rbp - 8], rax
mov qword [rbp + 0x190], 0
mov ax, 0x1d1f
xor ax, 0x17f3
mov word [rbp + 0x186], ax
lea rcx, [rbp + 0x186]
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp], rcx
mov dl, byte [rax]
mov r8b, 0x39
xor r8b, 0x39
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov word [rbp + 0x184], 0xb7e
lea rcx, [rbp + 0x184]
sub rsp, 0x20
call fcn.140064b20
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov word [rbp + 0x182], 0x236
lea rcx, [rbp + 0x182]
sub rsp, 0x20
call fcn.140064b20
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov word [rbp + 0x180], 0xb2f
lea rcx, [rbp + 0x180]
sub rsp, 0x20
call fcn.140064b20
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x77], cl
mov rcx, rax
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0x110], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400ffad0
mov r8, qword [rbp + 0x50]
add rsp, 0x20
mov rax, qword [rbp + 0x120]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x128]
mov qword [rbp - 0x28], rcx
mov dl, 1
xor eax, eax
cmp byte [r8], 0
mov byte [rbp + 0x77], dl
mov rdx, rax
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x14015a536
mov r8, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp]
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov rax, qword [rax]
add rdx, r8
xor rcx, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rcx, r8
sub rdx, rcx
add rdx, rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.140019920
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x188]
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14015a900
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0x188]
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.14015a900
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.14015a900
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0x188]
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14015a900
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x188]
mov qword [rbp - 0x40], rdx
mov rax, qword [rax]
mov qword [rbp - 0x38], rax
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.14001a160
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0x1a0]
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.14015a900
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0x170], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x178], rax
sub rsp, 0x20
call fcn.140010ae7
add rsp, 0x20
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xc0]
lea rdx, [rbp + 0xb0]
lea r8, [rbp + 0xa0]
movss xmm3, dword [0x140259c18]
sub rsp, 0x20
call fcn.1401151ee
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp + 0x77], r8b
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x50]
mov dl, byte [rbp + 0x77]
mov r8, qword [rbp + 0x78]
mov r9, qword [rbp + 0x80]
mov r10, qword [rbp + 0x88]
mov qword [rbp - 0x68], r10
mov qword [rbp - 0x60], r9
mov qword [rbp - 0x58], r8
mov byte [rbp - 0x49], dl
mov dl, 0x67
xor dl, 0x67
mov byte [rcx], dl
mov rax, qword [rax + 8]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x14015a5a7
mov rcx, qword [rbp - 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015a5a7
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x14015a64d
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x2b6e7c747be60d82
movabs r8, 0xd491838b8419f27d
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0x1dfe5fc23e943f7b
movabs r8, 0xe201a03dc16bc084
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4c49700db687a82e
movabs rdx, 0x4c49700db687a82e
xor rcx, rdx
cmp rax, rcx
jne 0x14015a64d
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x14015a6c4
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x759324bf6bbb5456
movabs r8, 0x8a6cdb409444aba9
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x3f4bd3c2c7d8ed54
movabs r8, 0x7f4bd3c2c7d8ed54
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14015a6c4
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14015a71b
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xaf9ff1d3995ff7a7
movabs rdx, 0xaf9ff1d3995ff7a7
xor rcx, rdx
cmp rax, rcx
jne 0x14015a71b
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [0x14024acd0]
mov edx, dword [0x14024acd4]
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x2f9c79e5
xor edx, 0xd063861a
xor ecx, edx
xor eax, 0xffffffff
or ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x1aeb8f71
xor ecx, 0x1aeb8f71
mov edx, 0x9458e4e9
xor edx, 0x605d7e89
sub ecx, edx
add eax, ecx
mov ecx, 0xa6223d83
xor ecx, 0xa6223d83
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf090e833
or eax, edx
mov edx, 0xf090e833
and edx, 0xf090e833
mov r8d, 0x5f4a4c52
xor r8d, 0xa0b5b3ad
xor edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xb4c00357
xor r8d, 0x4b3ffca8
xor edx, r8d
or ecx, edx
mov edx, 0xd888db91
xor edx, 0x2777246e
xor eax, edx
mov edx, 0xed4ba52b
xor edx, 0x12b45ad4
xor ecx, edx
or eax, ecx
mov edx, 0xffffffff
xor edx, 0x95f6a02f
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x95f6a02f
add eax, edx
sub eax, ecx
cmp eax, 0x9f87dd2f
jbe 0x14015a8e9
mov eax, dword [0x14024acd8]
xor eax, 0xa8d101b7
mov ecx, dword [0x14024acdc]
mov edx, 0x62b6f46b
xor edx, 0x40956b5e
xor ecx, edx
sub eax, ecx
mov ecx, 0x9c2855c0
xor ecx, 0xe7e7e319
sub eax, ecx
mov ecx, 0x215c6c31
xor ecx, 0xd8ebaac8
xor eax, ecx
mov edx, 0x66bb4b90
xor edx, 0xe00cdf4f
mov ecx, eax
xor ecx, edx
mov edx, 0x3383edab
xor edx, 0xb5347974
mov r8d, 0x8b4854ab
xor r8d, 0x74b7ab54
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140062f30
mov rcx, qword [rbp + 0x50]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xc93d1a33
ja 0x14015a801
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14015a8ca
jmp 0x14015a8d3
mov rax, qword [rbp + 0x50]
mov cl, byte [rbp - 0x49]
mov byte [rax], cl
mov rax, qword [rbp - 0x68]
lea rsp, [rbp + 0x1c0]
pop rbp
ret
movabs dword [0xfffff60be914ff58], eax
imul esp, dword [rsi + 0xfe97244], 0x66ffffff
nop word cs:[rax + rax]