Function at 0x1400ad4e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov eax, 0x20
mov qword [rbp - 0x38], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1400aefb7
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x50
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0x28]
mov edx, 0x11c
sub rsp, 0x20
call fcn.1400adda4
add rsp, 0x20
mov dword [rbp + 0x28], 0x11c
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1400ad4ba
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0xc], ecx
mov al, byte [rax + 0x50]
mov cl, 0x2d
xor cl, 0x2d
cmp al, cl
jne 0x1400ad5e2
mov eax, dword [rbp - 0xc]
cmp eax, 0
je 0x1400ad5e7
lea rcx, [rbp + 0x10]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400adda4
add rsp, 0x20
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.1400ade0f
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ad5e2
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x10]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x18]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x20]
mov dword [rax + 0x10], ecx
jmp 0x1400add69
jmp 0x1400ada69
mov r8d, dword [0x1402050c0]
mov edx, dword [0x1402050c4]
mov eax, 0x15d4c7ab
xor eax, 0xea2b3854
mov ecx, r8d
xor ecx, eax
mov eax, 0xc174649f
xor eax, 0x9b6ac4b8
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x5a1ea027
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x5a1ea027
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x1e44c651
or eax, 0xbf60a640
xor eax, 0x9a2f7882
cmp eax, 0x68737274
ja 0x1400add77
mov eax, dword [0x1402050c8]
mov ecx, 0x76d483a0
xor ecx, 0x30b2e049
xor eax, ecx
mov edx, dword [0x1402050cc]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0xc7c8a335
xor ecx, 0xc0cc1f8a
xor eax, ecx
xor ecx, ecx
sub ecx, 0xe330a6f9
sub eax, ecx
mov ecx, 0xd5de0e4f
xor ecx, 0xff7db028
xor edx, edx
div ecx
mov ecx, 0x2041edc1
xor ecx, 0xe0a6dc4e
mov edx, dword [rbp + 0x2c]
mov dword [rbp - 0x58], edx
mov r8d, dword [rbp + 0x30]
mov dword [rbp - 0x54], r8d
mov r8d, dword [rbp + 0x34]
mov dword [rbp - 0x50], r8d
mov r8d, 0xd807ea4c
xor r8d, 0xd807ea49
cmp edx, r8d
sete dl
mov byte [rbp - 0x49], dl
cmp eax, ecx
ja 0x1400add77
mov cl, byte [rbp - 0x49]
mov al, 1
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
jmp 0x1400ad6e8
mov eax, dword [0x1402050d0]
xor eax, 0x4002d384
xor edx, edx
div dword [0x1402050d4]
and eax, 0x6f6c5b9c
sub eax, 0x938ff92a
add eax, 0xc71ddee7
mov ecx, 0xdaed3e62
xor ecx, 0x96f10d8b
cmp eax, ecx
je 0x1400add80
mov r8d, dword [rbp - 0x54]
mov edx, dword [rbp - 0x58]
xor eax, eax
mov ecx, 0x320bd999
sub edx, 6
sete dl
mov byte [rbp - 0x5e], dl
test r8d, r8d
sete r8b
and dl, r8b
mov byte [rbp - 0x5d], dl
mov r8b, byte [rbp + 0x142]
mov byte [rbp - 0x5c], r8b
sub r8b, 1
sete r8b
mov byte [rbp - 0x5b], r8b
and dl, r8b
mov byte [rbp - 0x5a], dl
cmp eax, ecx
jae 0x1400ad71d
mov cl, byte [rbp - 0x5a]
mov al, 2
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
jmp 0x1400ad77c
mov cl, byte [rbp - 0x5d]
mov al, byte [rbp - 0x5c]
sub al, 1
setne al
mov byte [rbp - 0x5f], al
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov al, byte [rbp - 0x5f]
mov cl, byte [rbp - 0x5e]
mov edx, dword [rbp - 0x54]
sub edx, 1
sete dl
and cl, dl
mov byte [rbp - 0x60], cl
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov r11d, dword [0x1402050e0]
mov r10d, dword [0x1402050e4]
xor r10d, 0x63fbaa45
mov eax, r11d
xor eax, 0xffffffff
mov ecx, 0xa43acf86
xor ecx, 0x5bc53079
mov r8d, r10d
xor r8d, ecx
mov edx, 0x5eae87e5
xor edx, 0x611dd6f2
mov ecx, 0x9eb81d80
xor ecx, 0x6147e27f
xor edx, ecx
mov ecx, eax
and ecx, 0x3fb35117
and r11d, edx
mov esi, 0xf8624e47
xor esi, 0xc7d11f50
mov r9d, r8d
and r9d, esi
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x3fb35117
and eax, edx
or ecx, eax
mov eax, 0x6096cf55
xor eax, 0xcf21672d
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6911d356
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6911d356
and ecx, edx
or eax, ecx
mov ecx, 0xab04a19e
xor ecx, 0x54fb5e61
xor eax, ecx
mov ecx, 0xc21b04dd
xor edx, edx
div ecx
cmp eax, 0xfb53e806
ja 0x1400add89
mov r8b, byte [rbp - 0x5b]
mov dl, byte [rbp - 0x60]
mov ecx, dword [0x1402050e8]
xor ecx, 0x671f61b5
mov eax, dword [0x1402050ec]
xor eax, ecx
xor eax, 0x3c8eb5a2
and eax, ecx
imul rax, rax, 0x198f4a9b
shr rax, 0x3b
not eax
and eax, 0xb4203bfb
mov ecx, 0x7c61d854
and dl, r8b
mov byte [rbp - 0x61], dl
cmp eax, ecx
jbe 0x1400ad88b
mov cl, byte [rbp - 0x61]
mov al, 6
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
jmp 0x1400ad8e8
mov al, byte [rbp - 0x5f]
mov cl, byte [rbp - 0x5e]
mov edx, dword [rbp - 0x54]
sub edx, 2
sete dl
and cl, dl
mov byte [rbp - 0x62], cl
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov al, byte [rbp - 0x5b]
mov cl, byte [rbp - 0x62]
and cl, al
mov al, 8
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov al, byte [rbp - 0x5b]
mov cl, byte [rbp - 0x5e]
mov edx, dword [rbp - 0x54]
sub edx, 3
sete dl
and cl, dl
mov byte [rbp - 0x63], cl
and cl, al
mov al, 9
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov al, byte [rbp - 0x5f]
mov cl, byte [rbp - 0x63]
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov al, byte [rbp - 0x5f]
mov ecx, dword [rbp - 0x58]
sub ecx, 0xa
sete cl
mov byte [rbp - 0x64], cl
and cl, al
mov al, 0xb
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov cl, byte [rbp - 0x64]
mov eax, dword [rbp - 0x50]
sub eax, 0x55f0
setl al
and cl, al
mov al, 0xa
test cl, 1
mov byte [rbp - 0x59], al
jne 0x1400ad9c8
mov cl, byte [rbp - 0x64]
mov eax, dword [rbp - 0x50]
sub eax, 0x55f0
setge al
and cl, al
mov al, 0xc
xor edx, edx
mov byte [rbp - 0x66], dl
test cl, 1
mov byte [rbp - 0x65], al
jne 0x1400ad9c2
mov al, byte [rbp - 0x66]
mov byte [rbp - 0x65], al
mov al, byte [rbp - 0x65]
mov byte [rbp - 0x59], al
mov rcx, qword [rbp - 0x30]
mov al, byte [rbp - 0x59]
mov byte [rbp - 0x67], al
mov edx, 0x14
sub rsp, 0x20
call fcn.1400adda4
add rsp, 0x20
lea rcx, [rbp - 8]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400adda4
mov r10b, byte [rbp - 0x67]
mov r9d, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x54]
mov edx, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov byte [rbp + 8], 1
mov byte [rbp - 8], r10b
mov dword [rbp - 4], r9d
mov dword [rbp], r8d
mov dword [rbp + 4], edx
mov rdx, qword [rbp - 8]
mov qword [rcx], rdx
mov rdx, qword [rbp]
mov qword [rcx + 8], rdx
mov edx, dword [rbp + 8]
mov dword [rcx + 0x10], edx
mov al, byte [rax]
mov cl, 6
xor cl, 6
cmp al, cl
jne 0x1400ada69
mov rax, qword [rbp - 0x48]
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
jmp 0x1400add69
mov eax, dword [0x1402050f0]
xor edx, edx
div dword [0x1402050f4]
mov ecx, 0x87cd4644
xor ecx, 0xf4c668b8
xor eax, ecx
mov ecx, 0x1f1d238b
xor edx, edx
div ecx
mov ecx, 0x96f064d
xor ecx, 0x1d9af804
add eax, ecx
cmp eax, 0xce59948a
jae 0x1400add92
mov ecx, dword [0x1402050f8]
or ecx, dword [0x1402050fc]
and ecx, ecx
mov eax, 0x7a7e1e0b
xor eax, 0x8581e1f4
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x63c7489e
mov edx, 0xffffffff
xor edx, 0x63c7489e
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov edx, 0xc8af0010
xor edx, 0xad57a1e7
mov eax, ecx
and eax, edx
xor ecx, 0x65f8a1f7
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x9c98c34f
xor edx, 0xcdd80871
and edx, ecx
mov r8d, 0x631814a3
xor r8d, 0x3258df9d
mov ecx, 0x9ebf7a01
xor ecx, 0x614085fe
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5140cb3e
or eax, 0x5140cb3e
imul eax, edx
add eax, ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1400aefb7
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x74]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x54b6
xor dx, 0x54b7
cmp cx, dx
setg cl
mov byte [rbp - 0x68], cl
cmp eax, 0xe373a4a2
je 0x1400adaa5
mov al, byte [rbp - 0x68]
test al, 1
jne 0x1400adb8e
jmp 0x1400add69
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1400add69
mov eax, dword [0x140205100]
mov ecx, dword [0x140205104]
mov edx, 0xb2496917
xor edx, 0x97bb501d
xor ecx, edx
mov r11d, eax
and r11d, ecx
or eax, ecx
add r11d, eax
xor r11d, 0x6369494d
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xe37cd3a9
xor r8d, 0x44773e30
mov eax, 0xd002b6e2
xor eax, 0x2ffd491d
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xe3a135ce
mov eax, ecx
and eax, 0xe3a135ce
and r11d, edx
mov r9d, r8d
and r9d, 0xe3a135ce
mov r10d, 0xf66fc45c
xor r10d, 0x516429c5
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xe3a135ce
and ecx, edx
or eax, ecx
mov ecx, 0x9313b9ea
xor ecx, 0x13ecedf5
and eax, ecx
cmp eax, 0xcf1c5292
ja 0x1400add9b
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov edx, dword [0x140205108]
or edx, dword [0x14020510c]
mov r10d, 0xffffffff
xor r10d, 0x2cb93133
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0x2cb93133
or edx, 0x2cb93133
imul edx, r9d
add edx, r8d
imul edx, edx, 0xf3084aad
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0x7917d851
add r8d, edx
mov edx, 0xa2941633
xor edx, 0xa2941633
sub edx, r8d
mov dword [rbp - 0x7c], edx
mov dl, 0xfe
xor dl, 0xfe
mov byte [rax], dl
movabs rdx, 0x906a6ec9982eae1d
movabs rax, 0x906a6ec9982eae09
xor rdx, rax
sub rsp, 0x20
call fcn.1400adda4
mov rcx, qword [rbp - 0x28]
call fcn.1400ade0f
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x75], cl
cmp eax, 0x6d1be2ac
jb 0x1400adc4e
mov al, byte [rbp - 0x75]
test al, 1
jne 0x1400add21
jmp 0x1400add69
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x28]
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.1400aefb7
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.1400130d0
add rsp, 0x20
mov rax, qword [rbp - 0x40]
lea rsp, [rbp + 0x148]
pop rsi
pop rbp
ret
in eax, dx
rol byte [rdx - 0x73116cc], cl
invalid
cmp esp, 0x3d
enter 0xffffffffffff94e9, 0xfffffffffffffff9
invalid
scasd eax, dword [rdi]
mov edi, edi
wait
jmp 0x1400ad88b
jrcxz 0x1400adde1
cwde
in eax, dx
jmp 0x1400adaa5
sub byte [0xeaf430d5], bl
invalid
cmp eax, ecx