Function at 0x1400571a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x48], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14004e8b3
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x58], rax
movabs rax, 0x64c35842bb25a4f4
movabs rdx, 0x64c35842bb25a4f4
xor rax, rdx
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x80], 0
mov rcx, qword [rcx]
movabs rdx, 0x6470ec5261bf2aa5
movabs rax, 0x6470ec5261bf2aa7
xor rdx, rax
sub rsp, 0x20
call fcn.14004f720
add rsp, 0x20
test al, 1
jne 0x14005725f
jmp 0x140057271
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140057af6
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
cmp rax, 0
jge 0x1400573df
mov eax, dword [0x140252980]
add eax, dword [0x140252984]
xor eax, 0x78791410
sub eax, 0x1c9a194a
mov ecx, 0xda6f7d02
xor ecx, 0x259082fd
mov edx, eax
xor edx, ecx
and edx, 0xfdee9cc6
mov r8d, 0xb5d2b5e4
xor r8d, 0x483c2922
mov ecx, 0x62d816f6
xor ecx, 0x9d27e909
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfdee9cc6
or eax, 0xfdee9cc6
imul eax, edx
add eax, ecx
cmp eax, 0x109f0e1d
je 0x140057b00
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x140252988]
mov r8d, dword [0x14025298c]
xor r8d, 0x1054ea54
mov edx, eax
xor edx, 0xffffffff
mov r9d, 0x74c641ed
xor r9d, 0x8b39be12
xor eax, r9d
or edx, eax
mov r9d, 0x8e50417c
xor r9d, 0x71afbe83
mov eax, r8d
xor eax, r9d
xor r8d, 0xffffffff
or eax, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
mov r8d, 0x20a431a0
xor r8d, 0xdf5bce5f
mov eax, edx
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x30197be1
and eax, r8d
mov r8d, 0x30b938df
xor r8d, 0xcf46c720
xor edx, r8d
mov r8d, 0x90e51224
xor r8d, 0xa0fc69c5
mov r9d, 0x41f79995
xor r9d, 0xbe08666a
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x6b1253ce
xor edx, edx
div r8d
xor edx, edx
sub edx, 0xda75f3f2
add eax, edx
mov dword [rbp + 0x2c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
mov eax, dword [rbp + 0x2c]
add rsp, 0x20
cmp eax, 0xb338042c
ja 0x1400572f1
jmp 0x140057af6
mov eax, dword [0x140252990]
mov r8d, dword [0x140252994]
mov edx, 0x30e9a26b
xor edx, 0xcf165d94
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x46fa0aec
or eax, 0x18dacc7a
mov ecx, 0xbfa422e7
xor edx, edx
div ecx
mov ecx, 0x539b61b8
xor ecx, 0xa2b575a9
cmp eax, ecx
ja 0x140057b09
mov eax, dword [0x140252998]
sub eax, dword [0x14025299c]
sub eax, 0xfe1a9f7a
mov ecx, 0xe599b932
xor ecx, 0x514d6bb
add eax, ecx
add eax, 0x81d2588d
sub eax, 0xe08d6f89
mov ecx, 0xf75014d8
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x30]
mov dword [rbp + 0xc], eax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.140027584
mov r10, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x40]
mov eax, dword [rbp + 0xc]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x10], r9
mov r8, r10
add r8, 8
mov qword [rbp + 0x18], r8
mov r8, qword [r10 + 8]
mov r11, qword [rbp + 0x78]
mov qword [r10], r11
mov r11, qword [rbp + 0x80]
mov qword [r10 + 8], r11
mov qword [rbp + 0x78], r9
mov qword [rdx], r8
add rcx, 8
mov qword [rbp + 0x20], rcx
cmp eax, 0x440f6dea
ja 0x140057442
xor eax, eax
mov qword [rbp], rax
jmp 0x1400574e7
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp]
mov qword [rbp - 8], rax
cmp rax, rcx
jge 0x140057ad2
mov eax, dword [0x1402529a0]
xor eax, 0x90a6fe48
mov ecx, dword [0x1402529a4]
mov edx, 0x29ae7927
xor edx, 0x6c2819c9
xor ecx, edx
xor eax, ecx
sub eax, 0x552323a8
imul eax, eax, 0xbf60bb4c
add eax, 0xef71eeab
cmp eax, 0x5f2994d1
je 0x140057b12
mov eax, dword [0x1402529a8]
mov ecx, dword [0x1402529ac]
xor ecx, 0x129bf59a
xor edx, edx
div ecx
mov rdx, qword [rbp - 8]
mov r8d, eax
mov eax, r8d
and eax, 0xe84443
mov r9d, eax
not r9d
and r9d, 0x3b17f025
mov ecx, r8d
and ecx, 0xe80442
imul ecx, r9d
and r8d, 0x4001
or eax, 0x3b17f025
imul eax, r8d
add eax, ecx
test rdx, rdx
setns cl
mov r8, qword [rbp + 0x78]
mov qword [rbp - 0x18], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 9], cl
cmp eax, 0x239dcd6
je 0x140057537
mov al, byte [rbp - 9]
test al, 1
jne 0x140057707
jmp 0x1400575bc
mov eax, dword [0x1402529b0]
mov edx, dword [0x1402529b4]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov edx, 0xffffffff
xor edx, 0xb90408f0
mov eax, ecx
and eax, edx
mov r8d, 0xe760fae0
xor r8d, 0x5e64f210
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
add ecx, 0xc4f873bc
mov edx, 0x177769f6
xor edx, 0xe8889609
mov eax, ecx
xor eax, edx
and eax, 0x23cb6eb
mov edx, 0xffffffff
xor edx, 0x23cb6eb
and ecx, edx
or eax, ecx
cmp eax, 0xfc106d88
ja 0x140057b1b
mov rcx, qword [rbp - 8]
mov eax, dword [0x1402529b8]
xor eax, 0x4dc43558
xor edx, edx
div dword [0x1402529bc]
mov r8d, 0x7a239efe
xor r8d, 0xb9c911af
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x18]
mov r8d, eax
mov r9d, 0xb95243b9
xor r9d, 0x46adbc46
mov eax, r8d
xor eax, r9d
mov r9d, 0x9318ea68
xor r9d, 0x4fe7d3be
mov r10d, 0x566efd3
xor r10d, 0xfa99102c
xor r9d, r10d
or eax, r9d
and r8d, 0xdcff39d6
xor r8d, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
imul eax, eax, 0x70ceb491
mov dword [rbp - 0x1c], eax
mov eax, 0x40265114
xor eax, 0x13232aee
mov dword [rbp - 0x20], eax
movabs rax, 0x40521ed90746c562
sub rdx, rax
movabs rax, 0x5ab7ff9728b1c184
movabs r8, 0xa5480068d74e3e7b
xor rax, r8
add rdx, rax
movabs rax, 0x40521ed90746c562
add rdx, rax
sub rsp, 0x20
call fcn.140013507
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x1c]
add rsp, 0x20
cmp eax, ecx
jae 0x140057b1b
jmp 0x140057af6
mov rax, qword [rbp + 0x58]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x30], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x21], al
or al, cl
test al, 1
jne 0x1400579f1
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
movabs r8, 0x75e4e8420cc38494
movabs rcx, 0x8a1b17bdf33c7b6b
xor r8, rcx
mov rcx, rax
and rcx, r8
shl rcx, 1
xor rax, 0xffffffffffffffff
add rax, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400577df
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140057af6
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140057844
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
movabs rax, 0x6128f6e2cff37e3d
movabs r8, 0x9ed7091d300c81c2
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.14004fa4c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x38], rax
je 0x140057784
jmp 0x140057af6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x140057897
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x50]
movabs r8, 0x9056dd5a9d99a733
movabs rdx, 0x6fa922a5626658cc
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140057af6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.1400102b5
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x14005790a
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x58]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140057af6
mov rsi, qword [rbp - 0x68]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.140168936
mov r11, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x40]
mov r9, qword [rbp - 0x70]
mov r10, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140056c90
mov rax, qword [rbp + 0x58]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140057af6
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x140057a0f
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x4b2bf0de6a46179e
movabs r8, 0xb4d40f2195b9e861
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140057a0f
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
jmp 0x140057a0f
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x21]
xor eax, eax
test dl, 1
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jne 0x140057ab9
jmp 0x140057a0f
mov r8, qword [rbp - 8]
mov rcx, r8
add rcx, 1
movabs rdx, 0x4348bb533e3a4e6
movabs rax, 0xfbcb744acc1c5b19
xor rdx, rax
mov rax, r8
and rax, rdx
shl rax, 1
add r8, 0xffffffffffffffff
sub r8, rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, r8
xor rax, 0xffffffffffffffff
or rdx, rax
mov rax, rcx
and rax, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xf8a287f37bae1a5d
movabs r9, 0x75d780c8451e5a2
xor r8, r9
xor rdx, r8
movabs r8, 0xdb76e29690b983b9
movabs r9, 0x24891d696f467c46
xor r8, r9
xor rax, r8
or rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jge 0x140057ab9
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140057af6
mov rax, qword [rbp - 0x80]
mov cl, byte [rbp - 0x71]
test cl, 1
mov qword [rbp], rax
jne 0x1400574e7
jmp 0x140057af6
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140055ab0
add rsp, 0x20
lea rsp, [rbp + 0x88]
pop rsi
pop rbp
ret
invalid
push rbp
in eax, dx
and eax, 0xf930e908
invalid
sub byte [rsi + 0x64], ch
add ebp, ecx
sbb al, 0xfa
invalid
rcl byte [rbp - 0x48]
jmp 0x14000810c