Function at 0x1400a6190
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov qword [rbp + 8], rcx
mov eax, dword [0x1401ccad0]
xor eax, 0x2333415e
or eax, dword [0x1401ccad4]
xor ecx, ecx
sub ecx, 0x2906867d
add eax, ecx
add eax, 0xbaa70515
sub eax, 0xa0ab5a
sub eax, 0xbaa70515
mov ecx, 0xbd5ba5ac
xor ecx, 0xe64c99bb
xor eax, ecx
cmp eax, 0x60f92eaf
jbe 0x1400a6ab9
mov eax, dword [0x1401ccad8]
mov ecx, dword [0x1401ccadc]
xor edx, edx
div ecx
mov edx, eax
not edx
and edx, 0x23949aa7
mov ecx, eax
and ecx, 0xdc6b6558
imul ecx, edx
mov edx, eax
and edx, 0x23949aa7
or eax, 0x23949aa7
imul eax, edx
add eax, ecx
mov edx, eax
not edx
and edx, 0x770f42c3
mov ecx, eax
and ecx, 0x88f0bd3c
imul ecx, edx
mov edx, eax
and edx, 0x770f42c3
or eax, 0x770f42c3
imul eax, edx
add eax, ecx
or eax, 0x52625857
mov dword [rbp - 0xc], eax
mov eax, 0x120
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x20
mov qword [rbp - 0x40], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1400a774c
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x60
mov qword [rbp - 0x28], rax
mov edx, 0x11c
sub rsp, 0x20
call fcn.1400a6ae6
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov dword [rcx], 0x11c
sub rsp, 0x20
call fcn.1400a6164
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 8], edx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0x36fb6370
jb 0x1400a6ab9
mov al, byte [rbp - 1]
test al, 1
jne 0x1400a632e
jmp 0x1400a64f7
mov eax, dword [0x1401ccae0]
xor eax, 0x62ffd777
imul eax, dword [0x1401ccae4]
mov ecx, 0xb586c3f5
xor ecx, 0x4a793c0a
mov r11d, eax
xor r11d, ecx
mov edx, 0x4a3534f7
xor edx, 0xb5cacb08
mov ecx, eax
xor ecx, edx
or r11d, ecx
and r11d, 0xc50cf009
mov ecx, 0xcbc9d2c7
xor ecx, 0x34362d38
xor r11d, ecx
mov ecx, 0xffffffff
xor ecx, 0xc50cf009
mov edx, 0x446e968b
xor edx, 0x81626682
mov r8d, 0x401e8f80
xor r8d, 0xbfe1707f
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor r11d, 0xffffffff
xor eax, 0xffffffff
or r11d, eax
mov edx, 0xffffffff
xor edx, 0xed3a0cf2
mov ecx, r11d
and ecx, edx
mov eax, r11d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r11d
and ecx, 0xed3a0cf2
or r11d, 0xed3a0cf2
imul r11d, ecx
add r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe74b17aa
mov edx, 0x11a6013c
xor edx, 0x9b8840
mov eax, 0x35f9054c
xor eax, 0xca06fab3
xor edx, eax
mov eax, ecx
and eax, 0x113d897c
and r11d, edx
mov r9d, r8d
and r9d, 0x113d897c
mov r10d, 0xf1fa69f1
xor r10d, 0x16b17e5b
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x113d897c
and ecx, edx
or eax, ecx
cmp eax, 0x12d1be55
je 0x1400a6ac2
mov eax, dword [0x1401ccae8]
imul eax, dword [0x1401ccaec]
mov ecx, 0x15d00231
xor edx, edx
div ecx
mov edx, dword [rbp - 8]
and eax, 0x4a0c6ffd
mov ecx, 0xd64615fb
xor ecx, 0x81b8d32
or eax, ecx
mov ecx, 0x8f2badf
xor ecx, 0xc519e4bf
cmp edx, 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jbe 0x1400a6453
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1400a64fc
jmp 0x1400a64aa
mov rcx, qword [rbp - 0x48]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a6ae6
mov rcx, qword [rbp - 0x48]
call fcn.1400a6b50
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a64f7
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
jmp 0x1400a6aad
jmp 0x1400a69f6
mov eax, dword [0x1401ccaf0]
mov ecx, 0x8d572329
xor ecx, 0xbd11cad3
xor eax, ecx
mov ecx, dword [0x1401ccaf4]
xor ecx, 0xb0b603fc
and eax, ecx
mov ecx, 0x97a58c46
xor ecx, 0xae4bd01
xor eax, ecx
mov ecx, 0x9fed47d9
xor edx, edx
div ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7ec8613d
mov ecx, 0xffffffff
xor ecx, 0xf8d6632f
or eax, edx
or ecx, 0xf8d6632f
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x500008c6
ja 0x1400a6acb
mov r8, qword [rbp - 0x20]
mov esi, dword [0x1401ccaf8]
and esi, dword [0x1401ccafc]
xor esi, 0x7d92f1d9
mov ecx, esi
xor ecx, 0xffffffff
mov r9d, 0xc6160980
xor r9d, 0xeb5fcba2
mov eax, 0x347c4608
xor eax, 0xcb83b9f7
xor r9d, eax
mov edx, 0xffffffff
xor edx, 0x1fcffc09
mov eax, ecx
and eax, 0x1fcffc09
and esi, edx
mov r10d, r9d
and r10d, 0x1fcffc09
mov r11d, edx
and r11d, 0x2d49c222
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
mov r9d, 0x73932dc4
xor r9d, 0x8c6cd23b
xor ecx, r9d
or edx, 0x1fcffc09
and ecx, edx
or eax, ecx
mov ecx, 0x22314e73
xor ecx, 0x8d91882
or eax, ecx
mov ecx, 0x28f1776b
xor ecx, 0x916ab88b
mov edx, dword [r8 + 4]
mov dword [rbp - 0x60], edx
mov r9d, dword [r8 + 8]
mov dword [rbp - 0x5c], r9d
mov r8d, dword [r8 + 0xc]
mov dword [rbp - 0x58], r8d
cmp edx, 5
sete dl
mov byte [rbp - 0x52], dl
cmp eax, ecx
jbe 0x1400a6acb
mov cl, byte [rbp - 0x52]
mov al, 1
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
jmp 0x1400a663c
mov rax, qword [rbp - 0x20]
mov edx, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x60]
sub ecx, 6
sete cl
mov byte [rbp - 0x65], cl
test edx, edx
sete dl
and cl, dl
mov byte [rbp - 0x64], cl
mov al, byte [rax + 0x11a]
mov byte [rbp - 0x63], al
sub al, 1
sete al
mov byte [rbp - 0x62], al
and cl, al
mov al, 2
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov eax, dword [0x1401ccb00]
xor edx, edx
div dword [0x1401ccb04]
imul eax, eax, 0x37784b92
mov ecx, 0x5f97d3b5
xor edx, edx
div ecx
mov ecx, 0x8bef7b76
xor ecx, 0xe9b4a03
xor edx, edx
div ecx
cmp eax, 0xacd01b31
jae 0x1400a6ad4
mov r8b, byte [rbp - 0x63]
mov eax, dword [0x1401ccb08]
mov ecx, dword [0x1401ccb0c]
xor edx, edx
div ecx
mov dl, byte [rbp - 0x64]
add eax, 0xc46b8162
shr eax, 1
mov ecx, 0x8ad86623
imul rax, rcx
shr rax, 0x3c
mov ecx, eax
mov eax, ecx
and eax, 3
or ecx, 0xc30bcad3
add eax, ecx
mov ecx, 0x6c78ea26
sub r8b, 1
setne r8b
mov byte [rbp - 0x67], r8b
and dl, r8b
mov byte [rbp - 0x66], dl
cmp eax, ecx
je 0x1400a66b1
mov cl, byte [rbp - 0x66]
mov al, 5
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
jmp 0x1400a6720
mov al, byte [rbp - 0x67]
mov cl, byte [rbp - 0x65]
mov edx, dword [rbp - 0x5c]
sub edx, 1
sete dl
and cl, dl
mov byte [rbp - 0x68], cl
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x62]
mov cl, byte [rbp - 0x68]
and cl, al
mov al, 6
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x67]
mov cl, byte [rbp - 0x65]
mov edx, dword [rbp - 0x5c]
sub edx, 2
sete dl
and cl, dl
mov byte [rbp - 0x69], cl
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x62]
mov cl, byte [rbp - 0x69]
and cl, al
mov al, 8
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x62]
mov cl, byte [rbp - 0x65]
mov edx, dword [rbp - 0x5c]
sub edx, 3
sete dl
and cl, dl
mov byte [rbp - 0x6a], cl
and cl, al
mov al, 9
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x67]
mov cl, byte [rbp - 0x6a]
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov al, byte [rbp - 0x67]
mov ecx, dword [rbp - 0x60]
sub ecx, 0xa
sete cl
mov byte [rbp - 0x6b], cl
and cl, al
mov al, 0xb
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov cl, byte [rbp - 0x6b]
mov eax, dword [rbp - 0x58]
sub eax, 0x55f0
setl al
and cl, al
mov al, 0xa
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1400a683a
mov cl, byte [rbp - 0x6b]
mov eax, dword [rbp - 0x58]
sub eax, 0x55f0
setge al
and cl, al
mov al, 0xc
xor edx, edx
mov byte [rbp - 0x6d], dl
test cl, 1
mov byte [rbp - 0x6c], al
jne 0x1400a6834
mov al, byte [rbp - 0x6d]
mov byte [rbp - 0x6c], al
mov al, byte [rbp - 0x6c]
mov byte [rbp - 0x61], al
mov al, byte [rbp - 0x61]
mov byte [rbp - 0x6e], al
mov eax, dword [0x1401ccb10]
mov r8d, dword [0x1401ccb14]
mov ecx, 0xe0356aee
xor ecx, 0xd03fac1f
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x5e1d9c2e
mov edx, 0xffffffff
xor edx, 0x5e1d9c2e
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x4df357b2
xor edx, edx
div ecx
mov r8d, 0x95773f4b
xor r8d, 0xacdbf3dd
mov ecx, 0x6018365
xor ecx, 0xf9fe7c9a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x39accc96
or eax, 0x39accc96
imul eax, edx
add eax, ecx
cmp eax, 0xe2df13d6
jae 0x1400a6add
mov rcx, qword [rbp - 0x50]
mov bl, byte [rbp - 0x6e]
mov edx, dword [0x1401ccb18]
xor edx, 0xd5b27391
mov r8d, dword [0x1401ccb1c]
xor r8d, 0x90403cae
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
or eax, 0x928d87c
mov edx, 0x300c3b3a
xor edx, 0xcfbf5056
and eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0xce256240
xor r8d, 0x12cb624a
or eax, r8d
add eax, edx
mov dword [rbp - 0x74], eax
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a6ae6
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a6ae6
mov r11d, dword [rbp - 0x60]
mov r10d, dword [rbp - 0x5c]
mov r9d, dword [rbp - 0x58]
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
mov byte [r8 + 0x10], 1
mov byte [r8], bl
mov dword [r8 + 4], r11d
mov dword [r8 + 8], r10d
mov dword [r8 + 0xc], r9d
mov r9, qword [r8]
mov qword [rdx], r9
mov r9, qword [r8 + 8]
mov qword [rdx + 8], r9
mov r8d, dword [r8 + 0x10]
mov dword [rdx + 0x10], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x6f], cl
cmp eax, 0x227e3e77
jae 0x1400a68ea
mov al, byte [rbp - 0x6f]
test al, 1
jne 0x1400a69d5
jmp 0x1400a69f6
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
jmp 0x1400a6aad
sub rsp, 0x20
call fcn.1400a774c
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x1400a6aad
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1400a6aad
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov dl, 0x42
xor dl, 0x42
mov byte [rax], dl
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a6ae6
mov rcx, qword [rbp - 0x30]
call fcn.1400a6b50
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a6aad
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
sub rsp, 0x20
call fcn.1400a774c
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor r8d, r8d
sub rsp, 0x20
call fcn.140011d0e
add rsp, 0x20
mov rax, qword [rbp + 8]
lea rsp, [rbp + 0x10]
pop rbx
pop rsi
pop rbp
ret
mov ecx, dword [rbx + 0x2ae9af2b]
idiv edi
jmp [rbp + rbx*8 - 0x7716995b]
lodsb al, byte [rsi]
frstor dword [rbp - 0x677169a]
invalid
mov ch, ch
std
jmp 0x1400a6564
or ecx, ebx
and dl, byte [rbp - 0x17]
invalid
xor dword [rbp + 0x4e95e30], edi
invalid