Function at 0x1400a9050
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov eax, 0x20
mov qword [rbp - 0x40], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1400a9f33
add rsp, 0x20
mov qword [rbp - 0x20], rax
add rax, 0x60
mov qword [rbp - 0x28], rax
lea rcx, [rbp + 0x20]
mov edx, 0x11c
sub rsp, 0x20
call fcn.1400a96cc
add rsp, 0x20
mov dword [rbp + 0x20], 0x11c
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.1400a9020
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rbp - 0x14], ecx
cmp byte [rax + 0x60], 0
jne 0x1400a914b
mov eax, dword [rbp - 0x14]
cmp eax, 0
je 0x1400a9150
lea rcx, [rbp - 0x10]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a96cc
add rsp, 0x20
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.1400a9752
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a914b
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x10]
mov qword [rax], rcx
mov rcx, qword [rbp - 8]
mov qword [rax + 8], rcx
mov ecx, dword [rbp]
mov dword [rax + 0x10], ecx
jmp 0x1400a96a4
jmp 0x1400a9509
mov ecx, dword [rbp + 0x24]
mov dword [rbp - 0x60], ecx
mov eax, dword [rbp + 0x28]
mov dword [rbp - 0x5c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x58], eax
mov al, 1
cmp ecx, 5
mov byte [rbp - 0x51], al
je 0x1400a945a
mov eax, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x60]
sub ecx, 6
sete cl
mov byte [rbp - 0x64], cl
test eax, eax
sete al
and cl, al
mov byte [rbp - 0x63], cl
mov al, byte [rbp + 0x13a]
mov byte [rbp - 0x62], al
sub al, 1
sete al
mov byte [rbp - 0x61], al
and cl, al
mov al, 2
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov ecx, dword [0x1401dfaf0]
mov edx, dword [0x1401dfaf4]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x993a7882
xor r8d, 0x66c5877d
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x76ef9b30
xor ecx, 0x9aa69aab
sub eax, ecx
mov edx, 0x2b980adc
xor edx, 0xbcd96cde
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x97416602
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x951c18b8
add eax, ecx
mov ecx, 0xd349e42f
xor ecx, 0xdef3ae75
cmp eax, ecx
jb 0x1400a96b1
mov cl, byte [rbp - 0x63]
mov dl, byte [rbp - 0x62]
mov r9d, dword [0x1401dfaf8]
mov eax, dword [0x1401dfafc]
sub r9d, eax
mov eax, r9d
and eax, 0x4d16eaaa
xor r9d, 0xcd16eaaa
mov r8d, eax
mov eax, r9d
lea r9d, [rax + r8*2]
mov eax, r9d
xor eax, 0x6a4ce29b
xor r9d, 0x84930064
and r9d, 0xeed30066
mov r8d, eax
and r8d, 0x112cff99
imul r8d, r9d
mov r9d, eax
and r9d, 0xeed30066
or eax, 0xeed30066
imul eax, r9d
add eax, r8d
sub dl, 1
setne dl
mov byte [rbp - 0x66], dl
and cl, dl
mov byte [rbp - 0x65], cl
cmp eax, 0x26e01366
jbe 0x1400a9222
mov cl, byte [rbp - 0x65]
mov al, 5
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
jmp 0x1400a92ba
mov al, byte [rbp - 0x66]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 1
sete dl
and cl, dl
mov byte [rbp - 0x67], cl
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x67]
and cl, al
mov al, 6
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x66]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 2
sete dl
and cl, dl
mov byte [rbp - 0x68], cl
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x68]
and cl, al
mov al, 8
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x61]
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x5c]
sub edx, 3
sete dl
and cl, dl
mov byte [rbp - 0x69], cl
and cl, al
mov al, 9
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x66]
mov cl, byte [rbp - 0x69]
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov al, byte [rbp - 0x66]
mov ecx, dword [rbp - 0x60]
sub ecx, 0xa
sete cl
mov byte [rbp - 0x6a], cl
and cl, al
mov al, 0xb
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
mov eax, dword [0x1401dfb00]
mov edx, dword [0x1401dfb04]
xor edx, 0x4bdf7768
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
imul eax, eax, 0x2ed7dbdb
mov ecx, 0x5bc189fa
xor ecx, 0xc04c4164
add eax, ecx
mov ecx, 0x30e525f4
xor ecx, 0x1b8eae5e
add eax, ecx
cmp eax, 0xcc4554a5
jbe 0x1400a96ba
mov cl, byte [rbp - 0x6a]
mov edx, dword [rbp - 0x58]
mov eax, dword [0x1401dfb08]
mov r8d, dword [0x1401dfb0c]
xor r8d, 0x80234021
and eax, r8d
or eax, 0x7a50be04
imul eax, eax, 0xa8caa760
add eax, 0xc0d69843
sub edx, 0x55f0
setl dl
and cl, dl
mov byte [rbp - 0x6b], cl
cmp eax, 0x64054b1c
je 0x1400a93cf
mov cl, byte [rbp - 0x6b]
mov al, 0xa
test cl, 1
mov byte [rbp - 0x51], al
jne 0x1400a945a
jmp 0x1400a942b
mov cl, byte [rbp - 0x6a]
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 0x1400a9454
mov al, byte [rbp - 0x6d]
mov byte [rbp - 0x6c], al
mov al, byte [rbp - 0x6c]
mov byte [rbp - 0x51], al
mov al, byte [rbp - 0x51]
mov byte [rbp - 0x6e], al
lea rcx, [rbp + 8]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a96cc
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
movabs rdx, 0x362c610041d0f1e7
movabs rax, 0x362c610041d0f1f3
xor rdx, rax
sub rsp, 0x20
call fcn.1400a96cc
mov r10b, byte [rbp - 0x6e]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x5c]
mov edx, dword [rbp - 0x58]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov byte [rcx + 0x10], 1
mov byte [rcx], r10b
mov dword [rcx + 4], r9d
mov dword [rcx + 8], r8d
mov dword [rcx + 0xc], edx
mov rdx, qword [rcx]
mov qword [rbp + 8], rdx
mov rdx, qword [rcx + 8]
mov qword [rbp + 0x10], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rbp + 0x18], ecx
mov al, byte [rax]
mov cl, 0x33
xor cl, 0x33
cmp al, cl
jne 0x1400a9509
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp + 8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x10]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x18]
mov dword [rax + 0x10], ecx
jmp 0x1400a96a4
sub rsp, 0x20
call fcn.1400a9f33
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ax, word [rax + 0x12]
mov cx, 0x669a
xor cx, 0x669b
cmp ax, cx
jle 0x1400a96a4
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x94e4d1c8
xor ecx, 0x40e1984e
cmp eax, ecx
jne 0x1400a96a4
mov r8d, dword [0x1401dfb10]
sub r8d, dword [0x1401dfb14]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x7f14c426
mov edx, 0xc2d224a3
xor edx, 0xbdc6e085
mov ecx, 0xa44a8cba
xor ecx, 0x5bb57345
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x48e92aca
and ecx, 0x7f14c426
and edx, 0x48e92aca
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0x9fc22789
mov ecx, 0xff07b111
xor ecx, 0xdd7da9d1
add eax, ecx
sub eax, 0x9fc22789
mov ecx, 0x4fb8dc4a
xor ecx, 0x8ac34007
add eax, ecx
cmp eax, 0xd67449c9
je 0x1400a96c3
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1401dfb18]
mov r8d, dword [0x1401dfb1c]
xor r8d, 0xe180d765
xor edx, edx
div r8d
mov r8d, 0xacbab650
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x28]
sub edx, 0xd1d65679
xor edx, 0x53b8eac9
mov dword [rbp - 0x80], edx
mov byte [rax], 0
mov edx, 0x14
sub rsp, 0x20
call fcn.1400a96cc
mov rcx, qword [rbp - 0x30]
call fcn.1400a9752
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x80]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xa7f47374
je 0x1400a96c3
mov al, byte [rbp - 0x79]
test al, 1
jne 0x1400a965c
jmp 0x1400a96a4
mov rax, qword [rbp - 0x50]
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.1400a9f33
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.140012a40
add rsp, 0x20
mov rax, qword [rbp - 0x48]
lea rsp, [rbp + 0x140]
pop rbp
ret
adc eax, 0xe9fb3a64
push 0x1bfffffb
in eax, 0xc0
add eax, 0xfffd0ce9
call qword [rsi - 0x16eb1e30]
sbb esp, ebp
rol byte [0x14007a3ac], 0xff
xchg esi, eax
shl cl, 1
adc al, 0xe9
or bh, bh
invalid