Function at 0x14014a800
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
call fcn.14015044e
mov qword [rsp + 0x98], rax
add rax, 0x50
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xc8]
add rax, 8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xc8], 2
mov ecx, 2
mov r8d, 1
mov rdx, r8
call fcn.14001d300
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xd0], rax
mov ecx, 0x5df
call fcn.14006e630
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0xa7], cl
mov al, byte [rax + 0x50]
mov cl, 0x55
xor cl, 0x55
cmp al, cl
jne 0x14014aed5
mov eax, dword [0x14021f9b8]
xor eax, 0x7e54a512
mov edx, dword [0x14021f9bc]
mov ecx, edx
and ecx, eax
mov r8d, 0xf3c48928
xor r8d, 0xc3b76d7
xor ecx, r8d
add eax, edx
mov edx, 0x666aba07
xor edx, 0x666aba06
add eax, edx
add eax, ecx
sub eax, 0xaeda4921
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfaacf1ee
mov r8d, 0x6c13694a
xor r8d, 0x96bf98a4
mov ecx, 0x5c73e4b4
xor ecx, 0xa38c1b4b
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfaacf1ee
or eax, 0xfaacf1ee
imul eax, edx
add eax, ecx
mov ecx, 0xc9498194
xor ecx, 0xb81656fe
imul eax, ecx
cmp eax, 0xe231ec7a
ja 0x14014af0b
mov rax, qword [rsp + 0x90]
mov cl, byte [rsp + 0xa7]
mov edx, dword [str.IG__bCY]
mov r9d, dword [0x14021f9c4]
xor r9d, 0x2e11d3cb
mov r8d, edx
xor r8d, 0xffffffff
and r8d, r9d
xor r9d, 0xffffffff
and edx, r9d
sub edx, r8d
xor r8d, r8d
sub r8d, 0xd046a3f5
add edx, r8d
imul edx, edx, 0x8a7bc09b
add edx, 0x2f4cb9e4
mov dword [rsp + 0x68], edx
mov byte [rax + 8], cl
mov cx, 0xd57f
xor cx, 0xd070
call fcn.14006e630
mov rcx, qword [rsp + 0x80]
mov dl, al
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x6e], dl
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x8768077c
jae 0x14014af0b
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14014a9c9
jmp 0x14014aed5
mov cl, byte [rsp + 0x6e]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov byte [rax + 9], cl
call fcn.14015044e
xor eax, eax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov eax, dword [0x14021f9c8]
mov edx, dword [0x14021f9cc]
xor edx, 0xd7654304
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
add eax, 0x62e51297
add eax, 0xa767bd49
mov ecx, 0x7151c535
xor ecx, 0x13b4d7a2
sub eax, ecx
mov ecx, 0x8e958039
xor ecx, 0x137b83f1
imul eax, ecx
mov ecx, 0x5f53a28b
xor ecx, 0x40394a6a
xor edx, edx
div ecx
cmp eax, 0x1d1808af
jae 0x14014af14
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x14021f9d0]
imul eax, dword [0x14021f9d4]
mov r9d, 0x63b05dff
xor r9d, 0xfc1d7c3f
mov edx, 0xe76e404b
xor edx, 0x1891bfb4
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x9fad21c0
or eax, 0x9fad21c0
imul eax, r8d
add eax, edx
or eax, 0x63995209
mov r8d, 0x66949464
xor r8d, 0x488650c0
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0x2e12c4a4
sub eax, edx
movabs rdx, 0x7963981f28ea0067
movabs r8, 0x7963981f28ea006f
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0xbeefb08f
je 0x14014aa50
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14014abd9
jmp 0x14014ab02
mov eax, dword [0x14021f9d8]
add eax, dword [0x14021f9dc]
mov ecx, 0xffffffff
xor ecx, 0x1d12d165
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xc457de9c
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xcf16e61e
shl ecx, 1
add eax, 0xcf16e61e
sub eax, ecx
mov ecx, 0xc6ef587f
xor ecx, 0x21551979
cmp eax, ecx
je 0x14014af1d
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x14021f9e0]
mov edx, dword [str.E_]
mov r8d, 0xe62dce37
xor r8d, 0x9696fbea
sub eax, r8d
add eax, edx
add eax, 0x70bb35dd
and eax, 0xd3b83214
and eax, 0xefa150e7
mov r8d, 0x2ea6541d
xor r8d, 0x70c1c31c
xor edx, edx
div r8d
mov dl, 0x6e
xor dl, 0x6e
mov byte [rsp + rcx + 0xc0], dl
movabs rdx, 0xb68004c3787b5178
movabs r8, 0xb68004c3787b5179
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x48], rcx
cmp eax, 0x6c89a69b
je 0x14014ab50
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
jmp 0x14014a9e7
mov eax, dword [0x14021f9e8]
xor edx, edx
div dword [0x14021f9ec]
mov ecx, 0x123e12a5
xor edx, edx
div ecx
xor eax, 0x5875f3bc
mov r8d, 0xffffffff
xor r8d, 0x69b95dec
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x69b95dec
or eax, 0x69b95dec
imul eax, edx
add eax, ecx
cmp eax, 0x1e300c8a
jbe 0x14014af26
mov eax, dword [0x14021f9f0]
and eax, dword [0x14021f9f4]
mov ecx, 0x8250ca6e
xor edx, edx
div ecx
mov edx, eax
mov rax, qword [rsp + 0x70]
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xf0df062d
mov r8d, 0xffffffff
xor r8d, 0xf0df062d
and edx, r8d
or ecx, edx
mov r8d, 0x5e2e34d2
xor r8d, 0xa7bb326e
mov edx, 0xf01500a7
xor edx, 0xfeaff58
xor r8d, edx
mov edx, ecx
and edx, r8d
mov r8d, ecx
xor r8d, 0xf99506bc
add ecx, r8d
sub ecx, edx
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xb8]
mov r8d, 8
call fcn.14014af40
mov eax, dword [rsp + 0x44]
cmp eax, 0x963838dd
jb 0x14014ac2f
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x14014acd9
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov dl, byte [rsp + rax + 0xc0]
lea rcx, [rsp + 0xc8]
call fcn.140026b10
mov rax, qword [rsp + 0x30]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
movabs rax, 0x55022da71b59183e
movabs rdx, 0x55022da71b59183e
xor rax, rdx
sub rax, rcx
cmp rax, 8
mov qword [rsp + 0x38], rax
jne 0x14014acd9
mov ecx, dword [0x14021f9f8]
mov edx, dword [0x14021f9fc]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x3256d4e5
xor edx, 0xcda92b1a
xor ecx, edx
and eax, ecx
mov edx, 0x1c5be0b9
xor edx, 0xe3a41f46
mov ecx, eax
xor ecx, edx
mov edx, 0x1e3cfc20
xor edx, 0x152b61ef
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xb179dcf
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x8ddfc620
xor r8d, 0x86c85bef
mov edx, eax
and edx, r8d
mov r8d, 0xcbef3967
xor r8d, 0xc0f8a4a8
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x51aff946
or eax, 0x21790ca
cmp eax, 0xff4755f
jb 0x14014af2f
mov ecx, dword [0x14021fa00]
xor ecx, dword [0x14021fa04]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xb9cdc7b9
mov edx, 0x2ab9b08e
xor edx, 0xd5464f71
xor eax, edx
mov edx, 0xb9cdc7b9
and edx, 0xb9cdc7b9
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x1af30bd2
xor ecx, 0xe50cf42d
xor eax, ecx
mov ecx, 0xcfb5a8b0
xor edx, edx
div ecx
sub eax, 0x41753ac7
mov ecx, 0x809b6ba3
xor ecx, 0x43d72bf2
sub eax, ecx
mov ecx, 0xe87f455f
xor ecx, 0xa90a7f98
add eax, ecx
mov dword [rsp + 0x28], eax
mov cx, 0x6958
xor cx, 0x6b4b
call fcn.14006e630
mov rcx, qword [rsp + 0x80]
mov dl, al
mov eax, dword [rsp + 0x28]
mov byte [rsp + 0x2e], dl
mov cl, byte [rcx]
mov dl, 0x40
xor dl, 0x40
cmp cl, dl
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xe6dbec6c
jae 0x14014add2
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14014ae96
jmp 0x14014aed5
mov dl, byte [rsp + 0x2e]
lea rcx, [rsp + 0xc8]
call fcn.140026b10
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rax]
mov rdx, r8
add rdx, 8
xor eax, eax
cmp r8, 0
cmove rdx, rax
mov r8, qword [rsp + 0xc8]
call fcn.14014a6b1
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xa8]
call fcn.140026940
nop
add rsp, 0xd8
ret
xor al, 0x2a
scasd eax, dword [rdi]
imul ebp, ecx, 0xfffffa18
push r15
xchg ecx, eax
cmp ch, cl
xor edi, ebx
invalid
fcom qword [rbx]
call fcn.14010da0e
dec dword [rsi - 0x163a7416]
add ch, bh
invalid
mov gs, edx
mov eax, ebp
jmp 0x14014ac2f
invalid