Function at 0x1400ab540
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x78], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
sub rsp, 0x20
call fcn.1400ac290
add rsp, 0x20
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.1400ac3e0
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov word [rcx], 0x299
sub rsp, 0x20
call fcn.140062fb0
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov qword [rbp + 0xa0], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
add rcx, 8
lea rax, [0x1401ecdbf]
cmp rdx, 0
cmove rcx, rax
mov qword [rbp + 0x48], rcx
mov rax, qword [0x1401ee6f0]
sub rsp, 0x20
call qword [rax]
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [0x1401fe310], rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.140006ae7
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rcx, qword [rbp + 0x148]
mov edx, 1
sub rsp, 0x20
call fcn.1400a3b80
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov qword [rbp + 0x40], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [0x1401dcc20]
mov ecx, dword [0x1401dcc24]
xor ecx, 0x68592e86
add eax, ecx
mov ecx, 0x7b5e1b1b
xor edx, edx
div ecx
mov ecx, 0x4060448f
xor ecx, 0x385460db
sub eax, ecx
mov ecx, 0x6c34f858
xor edx, edx
div ecx
cmp eax, 0x9ad54e2f
jae 0x1400ac25b
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x40]
mov r8d, dword [0x1401dcc28]
xor r8d, 0xc8832afa
mov r9d, dword [0x1401dcc2c]
mov edx, r8d
or edx, edx
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r10d, r11d
xor edx, 0xffffffff
xor r10d, 0xffffffff
and edx, r10d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0x21dd4367
xor r9d, 0xde22bc98
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
add edx, 0x5b08cd72
mov r8d, 0xf03011bf
xor r8d, 0x2098b114
or edx, r8d
or edx, 0x3ac0eef1
mov dword [rbp + 0x34], edx
mov qword [0x1401fe318], rax
sub rsp, 0x20
call fcn.1400ac3e0
mov rax, qword [rbp + 0x50]
add rsp, 0x20
lea rcx, [fcn.140066820]
mov qword [rax], rcx
mov qword [rax + 8], 0
xor eax, eax
mov cl, al
xor cl, 0
sub rsp, 0x20
and cl, 1
call fcn.1400990b5
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x34]
mov dword [rbp + 0x38], edx
mov cl, byte [rcx]
mov dl, 0xe6
xor dl, 0xe6
cmp cl, dl
sete cl
mov byte [rbp + 0x3f], cl
cmp eax, 0xcfeafa8e
jb 0x1400ac25b
mov cl, byte [rbp + 0x3f]
mov al, 1
test cl, 1
mov byte [rbp + 0xaf], al
jne 0x1400ab836
jmp 0x1400ac058
mov eax, dword [rbp + 0x38]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [0x1401fe318]
mov r8, qword [rdx]
mov qword [rbp + 0x100], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x108], rdx
mov edx, 0x2eb44631
lea r8, [rbp + 0x100]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x28], rcx
mov cl, byte [rax]
mov dl, 0xa5
xor dl, 0xa5
mov al, 1
cmp cl, dl
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x28]
mov qword [0x1401fe320], rax
sub rsp, 0x20
call fcn.1400ac3e0
mov rax, qword [rbp + 0x58]
add rsp, 0x20
lea rcx, [fcn.140066820]
mov qword [rax], rcx
mov qword [rax + 8], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov dword [rbp + 0x24], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [rbp + 0x24]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [0x1401fe318]
mov r8, qword [rdx]
mov qword [rbp + 0xf0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xf8], rdx
mov edx, 0x54e51633
lea r8, [rbp + 0xf0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov qword [rbp + 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rax, qword [rbp + 0x18]
mov qword [0x1401fe328], rax
lea rcx, [rbp + 0x130]
sub rsp, 0x20
call fcn.1400ac3e0
add rsp, 0x20
lea rax, [fcn.140066820]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x14], ecx
mov cl, byte [rax]
mov dl, 0x9c
xor dl, 0x9c
mov al, 1
cmp cl, dl
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [rbp + 0x14]
mov rcx, qword [0x1401fe318]
mov rdx, qword [rbp + 0x130]
mov qword [rbp + 0xe0], rdx
mov rdx, qword [rbp + 0x138]
mov qword [rbp + 0xe8], rdx
mov edx, 0x3eb172b7
lea r8, [rbp + 0xe0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 8]
mov qword [0x1401fe330], rax
sub rsp, 0x20
call fcn.1400ac3e0
mov rax, qword [rbp + 0x60]
add rsp, 0x20
lea rcx, [fcn.140066820]
mov qword [rax], rcx
mov qword [rax + 8], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov dword [rbp + 4], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [rbp + 4]
mov r8, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [0x1401fe318]
mov r9, qword [rdx]
mov qword [r8], r9
mov rdx, qword [rdx + 8]
mov qword [r8 + 8], rdx
mov edx, 0x7163718c
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov qword [rbp - 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rax, qword [rbp - 8]
mov qword [0x1401fe338], rax
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.1400ac3e0
add rsp, 0x20
lea rax, [fcn.140066820]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov dword [rbp - 0xc], ecx
mov cl, byte [rax]
mov dl, 0xa7
xor dl, 0xa7
mov al, 1
cmp cl, dl
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [rbp - 0xc]
mov rcx, qword [0x1401fe318]
mov rdx, qword [rbp + 0x120]
mov qword [rbp + 0xd0], rdx
mov rdx, qword [rbp + 0x128]
mov qword [rbp + 0xd8], rdx
mov edx, 0xdedf730c
lea r8, [rbp + 0xd0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov qword [rbp - 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rax, qword [rbp - 0x18]
mov qword [0x1401fe340], rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400ac3e0
add rsp, 0x20
lea rax, [fcn.140066820]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov dword [rbp - 0x1c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov eax, dword [0x1401dcc30]
mov ecx, 0x8ff5921e
xor ecx, 0x39dcd599
xor eax, ecx
sub eax, dword [0x1401dcc34]
xor eax, 0x3a347acd
mov ecx, 0xc831cefd
xor ecx, 0x5e74cafe
sub eax, ecx
add eax, 0x349324df
mov ecx, 0x6f8df462
xor ecx, 0xa7725931
add eax, ecx
sub eax, 0x349324df
cmp eax, 0xa9a3370e
ja 0x1400ac264
mov eax, dword [0x1401dcc38]
sub eax, dword [0x1401dcc3c]
mov ecx, 0x3fad37cb
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [rbp - 0x1c]
sub ecx, 0xbddab727
mov edx, 0xdbc25b8a
xor edx, 0x1df710bb
or ecx, edx
mov dword [rbp - 0x2c], ecx
mov rcx, qword [0x1401fe318]
mov rdx, qword [rbp + 0x110]
mov qword [rbp + 0xc0], rdx
mov rdx, qword [rbp + 0x118]
mov qword [rbp + 0xc8], rdx
mov edx, 0x203fb009
lea r8, [rbp + 0xc0]
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov rdx, rax
mov eax, dword [rbp - 0x2c]
mov qword [rbp - 0x28], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x1d], cl
cmp eax, 0x74e97c15
je 0x1400ac264
mov cl, byte [rbp - 0x1d]
mov al, 1
test cl, 1
mov byte [rbp + 0xaf], al
jne 0x1400abd05
jmp 0x1400ac058
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x28]
mov qword [0x1401fe348], rax
mov word [rcx], 0x2f0
sub rsp, 0x20
call fcn.140062fb0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x38], rcx
mov cl, byte [rax]
mov dl, 8
xor dl, 8
mov al, 1
cmp cl, dl
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov ecx, dword [0x1401dcc40]
mov r8d, dword [0x1401dcc44]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
or ecx, 0x4845ab71
mov eax, ecx
and eax, 0x50ff1731
xor ecx, 0x50ff1731
or eax, ecx
mov ecx, 0x6357a23e
xor edx, edx
div ecx
mov ecx, 0x4de5366
xor ecx, 0xee1643e9
cmp eax, ecx
ja 0x1400ac26d
mov eax, dword [0x1401dcc48]
xor eax, 0xd884f0c1
mov ecx, dword [0x1401dcc4c]
xor ecx, 0x573a1dea
add eax, ecx
mov ecx, 0xb531ddd2
xor edx, edx
div ecx
mov ecx, 0x530acd86
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x38]
mov edx, ecx
and edx, 0xa27556ac
shl edx, 1
add ecx, 0xa27556ac
sub ecx, edx
mov dword [rbp - 0x40], ecx
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.1400ac290
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov eax, dword [rbp - 0x40]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0x3e54bd8c
jbe 0x1400abdad
mov cl, byte [rbp - 0x39]
mov al, 1
test cl, 1
mov byte [rbp + 0xaf], al
jne 0x1400abe47
jmp 0x1400ac058
mov r8d, dword [0x1401dcc50]
mov edx, dword [0x1401dcc54]
mov eax, 0xd9d2982c
xor eax, 0xd5718b81
xor edx, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xf853ab0d
mov r9d, 0xffffffff
xor r9d, 0xf853ab0d
and r8d, r9d
mov r10d, 0xbe925c80
xor r10d, 0x416da37f
mov eax, edx
xor eax, r10d
and eax, 0xf853ab0d
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xbaea6e0b
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xa1b41026
xor ecx, 0x15588ed2
or eax, ecx
xor ecx, ecx
sub ecx, 0x1609420d
add eax, ecx
cmp eax, 0x1760e8e2
jb 0x1400ac276
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov eax, dword [0x1401dcc58]
xor eax, 0xcf68d355
add eax, dword [0x1401dcc5c]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0x8698f0c7
xor r9d, 0x6bcf6f9b
and r8d, r9d
mov r9d, 0xc30f94e7
xor r9d, 0x2e580bbb
mov r10d, 0xcff8b1cb
xor r10d, 0x30074e34
xor r9d, r10d
and eax, r9d
sub eax, r8d
add eax, 0xf908df3c
add eax, 0x727f4639
mov dword [rbp - 0x5c], eax
movabs r8, 0x9e5c4ad5a3309e07
movabs rax, 0x9e5c4ad5a3309e07
xor r8, rax
add rdx, 8
lea rax, [0x1401ecdbf]
cmp rcx, r8
cmove rdx, rax
mov rax, qword [0x1401ee6d8]
mov rax, qword [rax]
mov rcx, qword [0x1401fe310]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [0x1401fe350], rax
sub rsp, 0x20
call fcn.1400ac3e0
mov rax, qword [rbp + 0x70]
add rsp, 0x20
lea rcx, [fcn.140066820]
mov qword [rax], rcx
mov qword [rax + 8], 0
xor ecx, ecx
sub rsp, 0x20
call fcn.1400990b5
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0x5c]
mov dword [rbp - 0x58], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xcc3e4243
je 0x1400abed0
mov cl, byte [rbp - 0x51]
mov al, 1
test cl, 1
mov byte [rbp + 0xaf], al
jne 0x1400abfed
jmp 0x1400ac058
mov eax, dword [rbp - 0x58]
mov r8, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [0x1401fe318]
mov r9, qword [rdx]
mov qword [r8], r9
mov rdx, qword [rdx + 8]
mov qword [r8 + 8], rdx
mov edx, 0x4cf53c0
xor r9d, r9d
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.1400a2af8
mov rcx, qword [rbp + 0x98]
add rsp, 0x30
mov qword [rbp - 0x68], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xaf], al
jne 0x1400ac058
mov rax, qword [rbp - 0x68]
mov qword [0x1401fe358], rax
xor eax, eax
mov byte [rbp + 0xaf], al
mov al, byte [rbp + 0xaf]
mov byte [rbp - 0x69], al
mov eax, dword [0x1401dcc60]
add eax, dword [0x1401dcc64]
mov ecx, 0x2e5e951b
xor ecx, 0x8e3f989d
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb8f011c6
mov r8d, 0x975bf802
xor r8d, 0x2fabe9c4
mov ecx, 0x63cf28ce
xor ecx, 0x9c30d731
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x648183f0
xor r8d, 0xdc719236
mov edx, eax
and edx, r8d
or eax, 0xb8f011c6
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x26cf2ae5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa34528cc
xor r8d, 0x5cbad733
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x26cf2ae5
or eax, 0x26cf2ae5
imul eax, edx
add eax, ecx
cmp eax, 0x49449b62
ja 0x1400ac27f
mov eax, dword [0x1401dcc68]
mov r8d, dword [0x1401dcc6c]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xe2c7515b
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov r9d, ecx
or r9d, r9d
xor r9d, 0xffffffff
mov edx, 0xa6839182
or edx, 0xa6839182
xor edx, 0xffffffff
xor r9d, 0xffffffff
mov r8d, 0xa2421be6
xor r8d, 0x5dbde419
xor edx, r8d
and r9d, edx
mov edx, 0x7fc87b62
xor edx, 0x8037849d
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xa6839182
and ecx, edx
or r9d, ecx
xor r9d, 0xffffffff
mov edx, r9d
xor edx, 0xffffffff
mov ecx, 0x379d3879
xor ecx, 0x135dbe91
and ecx, edx
mov r8d, 0xffffffff
xor r8d, 0x24c086e8
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x222be509
and edx, 0x24c086e8
and r8d, 0x222be509
or ecx, r9d
or edx, r8d
xor ecx, edx
mov dword [rbp - 0x70], ecx
mov ecx, 0xc22b859f
xor ecx, 0xf37ddaf1
mov dword [rbp - 0x74], ecx
mov cl, 0x56
xor cl, 0x56
mov byte [rax], cl
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140006bd0
mov rdx, qword [rbp + 0x98]
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x6a], dl
cmp eax, ecx
je 0x1400ac10b
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x1400ac246
jmp 0x1400ac252
mov rax, qword [rbp + 0x98]
mov cl, byte [rbp - 0x69]
mov byte [rax], cl
lea rsp, [rbp + 0x150]
pop rbp
ret
invalid
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x1400abc54
sbb dword [rsi + 0x14], eax
ret 0x37e9
sub ecx, dword [rsi + 0x52]
invalid
neg cl
push rdi
push 0xffffffffffffffe9
cmp esi, 0xffffffff
dec dword [rdi]
invalid