Function at 0x1400a57e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x40], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.1400a6269
add rsp, 0x20
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
mov word [rbp + 0x13e], 0x186
lea rcx, [rbp + 0x13e]
sub rsp, 0x20
call fcn.14005fe20
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov qword [rbp + 0x60], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
add rcx, 8
lea rax, [0x1401e9bff]
cmp rdx, 0
cmove rcx, rax
mov qword [rbp + 0x30], rcx
mov rax, qword [0x1401eb530]
sub rsp, 0x20
call qword [rax]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [0x1401fb310], rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.140006564
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x46
xor dl, 0x46
mov al, 1
cmp cl, dl
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rcx, qword [rbp + 0x148]
mov edx, 0x31c23f2b
xor edx, 0x31c23f2a
sub rsp, 0x20
call fcn.14009de05
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x28], rcx
mov cl, byte [rax]
mov dl, 0x82
xor dl, 0x82
mov al, 1
cmp cl, dl
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rax, qword [rbp + 0x28]
mov qword [0x1401fb318], rax
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.140094f1c
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x58]
mov dword [rbp + 0x24], ecx
mov cl, byte [rax]
mov dl, 0xd5
xor dl, 0xd5
mov al, 1
cmp cl, dl
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [rbp + 0x24]
mov r8, qword [rbp + 0x48]
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0x128]
mov qword [r8], rdx
mov rdx, qword [rbp + 0x130]
mov qword [r8 + 8], rdx
mov edx, 0x6e5faa86
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rcx, qword [rbp + 0x58]
add rsp, 0x30
mov qword [rbp + 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x18]
mov qword [0x1401fb320], rax
sub rsp, 0x20
call fcn.1400a6290
mov rax, qword [rbp + 0x38]
add rsp, 0x20
lea rcx, [fcn.140063ac0]
mov qword [rax], rcx
mov qword [rax + 8], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp + 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [rbp + 0x14]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [0x1401fb318]
mov r8, qword [rdx]
mov qword [rbp + 0xc0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xc8], rdx
movabs rdx, 0xbf2d3c8785611390
movabs r8, 0xbf2d3c8777b15091
xor rdx, r8
movabs r9, 0xe8ccf16fadfbfe2f
movabs r8, 0xe8ccf16fadfbfe2f
xor r9, r8
lea r8, [rbp + 0xc0]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rcx, qword [rbp + 0x58]
add rsp, 0x30
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rax, qword [rbp + 8]
mov qword [0x1401fb328], rax
lea rcx, [rbp + 0x118]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x120], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp + 4], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [0x1401d9870]
mov ecx, dword [0x1401d9874]
xor ecx, 0xf9865376
add eax, ecx
or eax, 0xb7fd5794
mov r8d, 0xffffffff
xor r8d, 0x12499214
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x12499214
mov r8d, 0xe9c2adc0
xor r8d, 0xfb8b3fd4
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xe0cfb64b
cmp eax, 0x4df14df6
jbe 0x1400a6245
mov eax, dword [rbp + 4]
mov ecx, dword [0x1401d9878]
add ecx, dword [0x1401d987c]
sub ecx, 0x60f06848
sub ecx, 0xac0e6c9c
mov edx, 0x32d14117
xor edx, 0xe5b58ec8
sub ecx, edx
add ecx, 0xac0e6c9c
imul ecx, ecx, 0x33749db4
mov dword [rbp - 0xc], ecx
mov ecx, 0xef73ec
xor ecx, 0x6bb4f262
mov dword [rbp - 0x10], ecx
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0x118]
mov qword [rbp + 0xb0], rdx
mov rdx, qword [rbp + 0x120]
mov qword [rbp + 0xb8], rdx
mov edx, 0x5cbfa1e7
lea r8, [rbp + 0xb0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rdx, qword [rbp + 0x58]
mov ecx, dword [rbp - 0x10]
add rsp, 0x30
mov r8, rax
mov eax, dword [rbp - 0xc]
mov qword [rbp - 8], r8
mov dl, byte [rdx]
mov r8b, 0xba
xor r8b, 0xba
cmp dl, r8b
sete dl
mov byte [rbp + 3], dl
cmp eax, ecx
je 0x1400a5b78
mov cl, byte [rbp + 3]
mov al, 1
test cl, 1
mov byte [rbp + 0x6f], al
jne 0x1400a5c41
jmp 0x1400a61ec
mov rax, qword [rbp - 8]
mov qword [0x1401fb330], rax
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], 0
xor eax, eax
mov cl, al
xor cl, 0
sub rsp, 0x20
and cl, 1
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [0x1401d9880]
and eax, dword [0x1401d9884]
sub eax, 0xa548bb28
xor eax, 0x1803b9e3
imul eax, eax, 0xc3102cbd
cmp eax, 0xc6dd94e7
jbe 0x1400a624e
mov eax, dword [0x1401d9888]
xor eax, 0xbf1242c7
mov ecx, dword [0x1401d988c]
add eax, 0x7b14ab3e
add eax, ecx
sub eax, 0x7b14ab3e
and eax, 0x2c0abe36
mov ecx, 0xcf7f7217
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [rbp - 0x14]
sub ecx, 0x67cd442d
add ecx, 0xe4e95729
mov edx, 0x782f26b5
xor edx, 0x1fe26298
add ecx, edx
mov dword [rbp - 0x24], ecx
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0x108]
mov qword [rbp + 0xa0], rdx
mov rdx, qword [rbp + 0x110]
mov qword [rbp + 0xa8], rdx
mov edx, 0xbfd3738c
lea r8, [rbp + 0xa0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rcx, qword [rbp + 0x58]
add rsp, 0x30
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x15], cl
cmp eax, 0x8cface01
je 0x1400a5ccc
mov cl, byte [rbp - 0x15]
mov al, 1
test cl, 1
mov byte [rbp + 0x6f], al
jne 0x1400a5d93
jmp 0x1400a61ec
mov rax, qword [rbp - 0x20]
mov qword [0x1401fb338], rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], 0
xor eax, eax
mov cl, al
xor cl, 0
sub rsp, 0x20
and cl, 1
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp - 0x28], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [rbp - 0x28]
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x90], rdx
mov rdx, qword [rbp + 0x100]
mov qword [rbp + 0x98], rdx
mov edx, 0xef3c2226
lea r8, [rbp + 0x90]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rcx, qword [rbp + 0x58]
add rsp, 0x30
mov qword [rbp - 0x30], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rax, qword [rbp - 0x30]
mov qword [0x1401fb340], rax
lea rcx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp - 0x34], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [rbp - 0x34]
mov r8, qword [rbp + 0x50]
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0xe8]
mov qword [r8], rdx
mov rdx, qword [rbp + 0xf0]
mov qword [r8 + 8], rdx
movabs rdx, 0x35eb62e1a797ccad
movabs r9, 0x35eb62e1c333312b
xor rdx, r9
movabs r9, 0xcd2af58adddc9a83
movabs r10, 0xcd2af58adddc9a83
xor r9, r10
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x40], rcx
mov cl, byte [rax]
mov dl, 0xb2
xor dl, 0xb2
mov al, 1
cmp cl, dl
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov rax, qword [rbp - 0x40]
mov qword [0x1401fb348], rax
mov word [rbp + 0xe6], 0x361
lea rcx, [rbp + 0xe6]
sub rsp, 0x20
call fcn.14005fe20
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [0x1401d9890]
imul eax, dword [0x1401d9894]
and eax, 0x764c0efa
sub eax, 0xb44a3569
mov edx, 0x31c74f1b
xor edx, 0x203fa9fc
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x11f8e6e7
add eax, ecx
mov ecx, 0x57a60ba5
xor ecx, 0x3297aee7
cmp eax, ecx
jb 0x1400a6257
mov rax, qword [rbp - 0x48]
mov ecx, dword [0x1401d9898]
xor ecx, dword [0x1401d989c]
or ecx, 0x91b46cd7
add ecx, 0x100f4cd
sub ecx, 0xebd07e70
sub ecx, 0x100f4cd
and ecx, 0x543f7ce
mov dword [rbp - 0x50], ecx
mov rcx, qword [rax]
mov qword [rbp - 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.1400a6269
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov eax, dword [rbp - 0x50]
mov cl, byte [rcx]
mov dl, 0xa8
xor dl, 0xa8
cmp cl, dl
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x2c5fb7ca
jae 0x1400a5fb1
mov cl, byte [rbp - 0x49]
mov al, 1
test cl, 1
mov byte [rbp + 0x6f], al
jne 0x1400a6035
jmp 0x1400a61ec
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
add rdx, 8
lea rax, [0x1401e9bff]
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb310]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb350], rax
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400a6290
add rsp, 0x20
lea rax, [fcn.140063ac0]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.140094f1c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dword [rbp - 0x64], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov eax, dword [rbp - 0x64]
mov rcx, qword [0x1401fb318]
mov rdx, qword [rbp + 0xd0]
mov qword [rbp + 0x80], rdx
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0x88], rdx
mov edx, 0xf7b60488
lea r8, [rbp + 0x80]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.14009cdec
mov rcx, qword [rbp + 0x58]
add rsp, 0x30
mov qword [rbp - 0x70], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400a61ec
mov ecx, dword [0x1401d98a0]
mov eax, dword [0x1401d98a4]
sub ecx, 0xfb01b4dc
sub ecx, eax
add ecx, 0xfb01b4dc
mov eax, 0x87aa6fe9
xor eax, 0xcb2c6c95
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x88f6a66a
or edx, 0x88f6a66a
mov r8d, 0x6deec599
xor r8d, 0x92113a66
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x88f6a66a
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
and eax, 0x1435d739
cmp eax, 0xcaad90d4
jae 0x1400a6260
mov rcx, qword [rbp - 0x70]
mov eax, dword [str.C__m]
xor eax, dword [0x1401d98ac]
xor edx, edx
sub edx, 0x4494a7ce
add eax, edx
and eax, 0x57fe7275
mov r8d, 0x3a9f030a
xor r8d, 0xa739a0d9
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
mov r8d, 0x16265280
xor r8d, 0x8b80f153
or eax, r8d
and eax, edx
mov qword [0x1401fb358], rcx
cmp eax, 0x382635ef
ja 0x1400a6260
xor eax, eax
mov byte [rbp + 0x6f], al
jmp 0x1400a61ec
mov rax, qword [rbp + 0x58]
mov cl, byte [rbp + 0x6f]
mov byte [rbp - 0x71], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x70]
sub rsp, 0x20
call fcn.1400066b1
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb3
xor cl, 0xb3
cmp al, cl
jne 0x1400a623c
mov rax, qword [rbp + 0x58]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
lea rsp, [rbp + 0x150]
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
sub bh, cl
invalid
adc al, 0xfe
cmp eax, 0xfa75e9da
invalid
imul esp, dword [0x191f3c6b4], 0xfffffffd
invalid
push rsi
jmp 0x1400a5fb1
jle 0x1400a6259
invalid