Function at 0x14014fb50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x18], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.14014b706
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x38], rax
movabs rax, 0x32a07e2b998fcf61
movabs r8, 0x32a07e2b998fcf61
xor rax, r8
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov qword [rbp + 0xb8], 0
lea rax, [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x40], rax
mov qword [rbp + 0xc0], 0
mov dword [rbp + 0xb4], 0
mov rax, qword [rdx]
mov qword [rbp + 0x48], rax
cmp rax, 4
jge 0x14014fc1a
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x140259bb8]
mov qword [rax], rcx
mov rcx, qword [0x140259bc0]
mov qword [rax + 8], rcx
jmp 0x14015067c
mov ecx, dword [0x14024a718]
mov eax, dword [0x14024a71c]
xor eax, 0xfe226704
sub ecx, 0x1738b17e
sub ecx, eax
add ecx, 0x1738b17e
mov eax, ecx
or eax, 0x17873058
xor eax, 0xffffffff
or ecx, 0x17873058
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x18198b1c
xor edx, 0xe7e674e3
xor ecx, edx
and eax, ecx
or eax, 0x26d59781
and eax, 0x3d5dc6e1
cmp eax, 0x4f81cbd2
ja 0x14015068a
mov eax, dword [0x14024a720]
xor edx, edx
div dword [0x14024a724]
mov edx, eax
mov rax, qword [rbp + 0x30]
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0xccaebfd5
xor r8d, 0x3351402a
xor edx, r8d
or ecx, edx
mov edx, 0xaec335f6
xor edx, 0x4d59ffa1
mov r8d, 0x614a55af
xor r8d, 0x9eb5aa50
xor edx, r8d
mov r8d, 0xa519adc5
xor r8d, 0x46836792
mov r9d, 0x8ac1c4c1
xor r9d, 0x753e3b3e
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x896b02bd
xor r8d, 0x7694fd42
xor edx, r8d
or ecx, edx
mov edx, 0xa8b5eac0
xor edx, 0xe0680650
sub ecx, edx
sub ecx, 0x83bb6e1e
add ecx, 0x48ddec90
mov r9d, 0x662fde7c
xor r9d, 0x5ab829a7
mov edx, 0xc53daba4
xor edx, 0x3ac2545b
xor r9d, edx
mov r8d, ecx
and r8d, r9d
mov edx, ecx
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, ecx
and r8d, 0x3c97f7db
mov r9d, 0x232787c5
xor r9d, 0x1fb0701e
or ecx, r9d
imul ecx, r8d
add ecx, edx
mov dword [rbp + 0xc], ecx
mov rdx, qword [rax + 8]
add rdx, 8
movabs r8, 0xd10dfbd5e409686e
movabs rax, 0xd10dfbd5e409686a
xor r8, rax
lea rcx, [rbp + 0xb4]
sub rsp, 0x20
call fcn.14014f174
mov eax, dword [rbp + 0xc]
add rsp, 0x20
mov ecx, dword [rbp + 0xb4]
mov dword [rbp + 0x10], ecx
cmp ecx, 0
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0x6f764693
ja 0x14015068a
mov rax, qword [rbp + 0x48]
mov dl, byte [rbp + 0x17]
mov ecx, 4
test dl, 1
mov qword [rbp - 8], rcx
mov qword [rbp], rax
jne 0x14014ff8e
jmp 0x14014fdcc
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x30]
mov eax, dword [rbp + 0x10]
mov eax, eax
mov qword [rbp - 0x10], rax
xor r8d, r8d
sub r8, 3
sub rax, r8
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov qword [rbp + 0xa0], 4
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xb8]
lea r8, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14014d8b0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x77
xor cl, 0x77
cmp al, cl
jne 0x14015040a
mov eax, dword [0x14024a728]
mov ecx, 0xfa72018e
xor ecx, 0x10161059
xor eax, ecx
mov ecx, dword [0x14024a72c]
mov edx, 0x9483e94f
xor edx, 0x6b7c16b0
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xc4685d92
xor ecx, 0xbfe5aded
mov r8d, eax
and r8d, ecx
or eax, 0x7b8df07f
add r8d, eax
xor r8d, 0x61d7db9c
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xdb37e64e
xor eax, 0xba02a14f
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x61354701
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x156f9888
and ecx, 0x61354701
mov edx, 0x118a9fa3
xor edx, 0x4e5072b
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xce6b4b54
jbe 0x140150693
mov r8, qword [rbp + 0x30]
mov eax, dword [0x14024a730]
imul eax, dword [0x14024a734]
mov ecx, 0xffffffff
xor ecx, 0x694f10d3
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x3db115d6
xor ecx, 0x15891c30
mov edx, 0x30887c73
xor edx, 0x18b07595
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x405e456f
xor edx, 0xbfa1ba90
xor ecx, edx
or eax, ecx
mov ecx, 0xbe2afe82
xor ecx, 0x6840a06c
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x10]
mov ecx, 0xdfcae2ee
xor ecx, 0x362f1f9f
mov r8, qword [r8]
mov qword [rbp - 0x20], r8
movabs r8, 0xf1badfaceed0afd9
movabs r9, 0xf1badfaceed0afdd
xor r8, r9
add rdx, r8
mov qword [rbp - 0x18], rdx
cmp eax, ecx
jae 0x140150693
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
jmp 0x14014ff8e
mov rdx, qword [rbp - 8]
mov r8, qword [rbp]
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x30], rdx
movabs rax, 0x15404372684563d7
mov rcx, r8
add rcx, rax
sub rcx, rdx
movabs rax, 0x21314d03e2929fe1
movabs r9, 0x34710e718ad7fc36
xor rax, r9
sub rcx, rax
mov qword [rbp - 0x28], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0x3577eec3e15889c4
movabs r9, 0x3577eec3e15889c4
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x1401503fd
mov rax, qword [rbp - 0x28]
cmp rax, 0
jle 0x140150254
mov r8, qword [rbp - 0x38]
movabs rcx, 0x932755d6cd871ae
movabs rax, 0xf6cd8aa293278e51
xor rcx, rax
mov rax, r8
and rax, rcx
mov rcx, r8
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rbp - 0x40], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
movabs rdx, 0x817f493e3226a209
movabs r9, 0x7e80b6c1cdd95df6
xor rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
xor cl, 0xff
and al, cl
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, dl
xor cl, r8b
xor dl, 0xff
and cl, dl
xor al, 0xff
xor edx, edx
xor dl, 1
xor cl, dl
and al, cl
test al, 1
jne 0x1401503fd
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x30]
mov r8, qword [rdx]
mov qword [rbp + 0x80], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x80]
lea r8, [rbp + 0x70]
sub rsp, 0x20
call fcn.14014d8b0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x98]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x14015040a
mov r8d, dword [0x14024a738]
or r8d, dword [0x14024a73c]
mov eax, 0x3e9784fd
xor eax, 0xbb67f557
mov ecx, 0xca5ee376
xor ecx, 0x35a11c89
xor eax, ecx
xor ecx, ecx
sub ecx, 1
sub eax, ecx
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x8b49d8e1
mov edx, 0xffffffff
xor edx, 0x8b49d8e1
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x7041940d
and eax, 0x8b49d8e1
and edx, 0x7041940d
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xc37c9f2e
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x89b7dfa6
jae 0x14015069c
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
mov r10d, dword [0x14024a740]
mov r8d, dword [0x14024a744]
sub r10d, 0x9d390437
sub r10d, r8d
add r10d, 0x9d390437
and r10d, 0x5f81f772
xor r10d, 0xea2afe98
mov r9d, r10d
xor r9d, 0xeb68a4ac
mov r8d, 0xffffffff
xor r8d, 0xeb68a4ac
and r10d, r8d
mov r8d, 0xbed16822
xor r8d, 0xbed16820
imul r8d, r10d
sub r8d, r9d
mov dword [rbp - 0x54], r8d
mov r8d, 0x102be087
xor r8d, 0x189e6c75
mov dword [rbp - 0x58], r8d
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140013d6a
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, ecx
jb 0x1401501ac
jmp 0x14015027f
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140259bb8]
mov qword [rbp + 0x50], rax
mov rax, qword [0x140259bc0]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xb8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xc0]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.140010ae7
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x14015067c
mov rcx, qword [rbp - 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x1c5e1195df119ba2
movabs rdx, 0x1c5e1195df119ba2
xor rcx, rdx
cmp rax, rcx
jne 0x14015067c
mov ecx, dword [0x14024a748]
mov eax, 0xeb2c4124
xor eax, 0x6e5f830
xor ecx, eax
mov eax, dword [0x14024a74c]
xor eax, 0x91f1d1de
add ecx, 0xfb3f168b
add ecx, eax
sub ecx, 0xfb3f168b
mov eax, ecx
or eax, 0x101f8e47
xor eax, 0xffffffff
mov edx, 0x7d575b96
xor edx, 0x82a8a469
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x101f8e47
and ecx, edx
mov edx, 0xa969915
xor edx, 0xf56966ea
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x8824459
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xa1c516c7
xor r8d, 0xa947529e
mov edx, eax
and edx, r8d
or eax, 0x8824459
imul eax, edx
add eax, ecx
mov ecx, 0xffe0457f
xor edx, edx
div ecx
cmp eax, 0x37b314e7
je 0x1401506a5
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x14024a750]
or eax, dword [0x14024a754]
mov r8d, eax
and r8d, 0xaf390347
mov edx, 0x706f7ec9
xor edx, 0x706f7ecb
imul edx, r8d
add eax, 0xaf390347
sub eax, edx
add eax, 0x1378ac5a
sub eax, 0x6d56fa8c
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x8e58f2cf
je 0x1401503a0
jmp 0x14015067c
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14015067c
mov eax, dword [0x14024a758]
mov ecx, 0x25297640
xor ecx, 0xfc2b36f6
xor eax, ecx
xor eax, dword [0x14024a75c]
mov ecx, 0xf738fccf
xor ecx, 0x68a4eb57
sub eax, ecx
mov ecx, 0x396aa6a0
xor ecx, 0x27ac80a2
sub eax, ecx
xor eax, 0x9ff9cd0a
cmp eax, 0x12449e70
jb 0x1401506ae
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x14024a760]
sub eax, dword [0x14024a764]
mov r8d, 0xa7e59ad
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x511b9469
mov eax, 0xffffffff
xor eax, 0xbf54834d
or edx, r8d
or eax, 0xbf54834d
xor edx, 0xffffffff
and edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x274bb053
xor r8d, 0xd8b44fac
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0x4f3670b4
mov r8d, 0xffffffff
xor r8d, 0x4f3670b4
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0xc40d0543
xor r8d, 0x3bf2fabc
xor edx, r8d
and eax, edx
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rcx, r8
movabs r8, 0x53c62cc55aad1c91
movabs r9, 0x13c62cc55aad1c91
xor r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x32a3c02922a05b67
movabs r8, 0x32a3c02922a05b67
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xd9cea13f
jae 0x1401506ae
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14015056e
jmp 0x14015067c
mov eax, dword [0x14024a768]
sub eax, dword [0x14024a76c]
xor eax, 0x5b40b095
and eax, 0xf513412c
mov ecx, 0x846645fa
xor edx, edx
div ecx
cmp eax, 0xc05a7157
ja 0x1401506b7
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x14024a770]
mov r8d, dword [0x14024a774]
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
mov r8d, 0x732c07c5
xor r8d, 0xb8adbece
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x3647cd20
mov r8d, 0x6cdcd10
xor r8d, 0x9d8bad6c
mov eax, 0x8f4e28c5
xor eax, 0x70b1d73a
xor r8d, eax
mov r10d, 0x237a8705
xor r10d, 0xb83ce779
mov eax, edx
and eax, r10d
and esi, r8d
mov r11d, 0xc420e7d6
xor r11d, 0x5f6687aa
mov r10d, r9d
and r10d, r11d
mov r11d, r8d
and r11d, 0x3647cd20
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
rol byte [rcx + rcx - 0x36], 1
mov r9d, 0x60e0711f
xor r9d, 0x9f1f8ee0
xor edx, r9d
or r8d, 0x9b46607c
and edx, r8d
or eax, edx
mov edx, 0x1283a6d1
xor edx, 0xfea6ebb7
xor eax, edx
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp eax, 0x275c0388
jbe 0x1401506b7
jmp 0x14015067c
mov rax, qword [rbp + 0x18]
lea rsp, [rbp + 0xc8]
pop rsi
pop rbp
ret
mov dl, 0x4f
jmp 0x14015062c
adc byte [rdi + 0x3be92760], ah
clc
invalid
ret 0xb7d1
cmc
fucomp st(1)
cld
invalid
xchg esp, eax
invalid
pop rbx
cmp byte [rdi - 0x12716d2], ch
invalid