Function at 0x1400ab960
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x98], rcx
mov eax, dword [0x14021b5b8]
mov edx, dword [0x14021b5bc]
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, 0x9bed1a68
xor r9d, 0x6412e597
mov r8d, edx
xor r8d, r9d
or ecx, r8d
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov edx, 0xcaf09f8e
xor edx, 0x350f6071
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xc4dc249f
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xd9d4a5cc
xor edx, 0x1d088153
mov r8d, 0x708fbb6c
xor r8d, 0x8f704493
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x47de6ea2
xor ecx, 0xb821915d
mov edx, eax
xor edx, ecx
and edx, 0x581a8aab
mov r8d, 0x301e2616
xor r8d, 0x6804acbd
mov ecx, 0xb38aed36
xor ecx, 0x4c7512c9
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xad263872
xor r8d, 0xf53cb2d9
mov edx, eax
and edx, r8d
or eax, 0x581a8aab
imul eax, edx
add eax, ecx
mov ecx, 0x1c2d89ec
xor ecx, 0x3f15eb35
xor edx, edx
div ecx
cmp eax, 0x6443e037
je 0x1400ac2c9
mov eax, dword [0x14021b5c0]
mov ecx, dword [0x14021b5c4]
xor ecx, 0xf3ccae0c
xor edx, edx
div ecx
imul rax, rax, 0x73b6536f
shr rax, 0x3e
imul eax, eax, 0xa4e2e80c
xor eax, 0x99975a5a
mov dword [rbp + 0x74], eax
mov eax, 0x10
mov qword [rbp + 0x58], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
sub rsp, 0x20
call fcn.1400aac22
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x74]
mov qword [rbp + 0x78], rdx
mov rdx, rcx
add rdx, 0x28
mov qword [rbp + 0x80], rdx
mov rcx, qword [rcx + 0x28]
mov qword [rbp + 0x88], rcx
movabs rdx, 0xc1e80600a1b3c6e7
movabs r8, 0xc1e80600a1b3c6e7
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x97], cl
cmp eax, 0x27628cb7
jb 0x1400aba5c
mov rax, qword [rbp + 0x88]
mov cl, byte [rbp + 0x97]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x1400abb86
jmp 0x1400abdbd
mov ecx, 4
sub rsp, 0x20
call fcn.140039840
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0x39
xor cl, 0x39
cmp al, cl
jne 0x1400ac2be
mov eax, dword [0x14021b5c8]
mov ecx, 0xdb1b796e
xor ecx, 0xe164dfb3
xor eax, ecx
mov ecx, dword [0x14021b5cc]
add eax, 0x74f2d15a
add eax, ecx
sub eax, 0x74f2d15a
mov ecx, 0x1ce96c34
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x92fc2b5
xor eax, 0x85aa57f9
mov edx, 0x5aa8a34f
xor edx, 0xa5575cb0
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, 0xc81b6f1
xor edx, 0xcf75a99d
mov eax, ecx
and eax, edx
xor ecx, 0xc3f41f6c
or eax, ecx
mov ecx, 0x803e67a8
xor ecx, 0x850bdf62
cmp eax, ecx
je 0x1400ac2d2
mov r10, qword [rbp + 0x28]
mov ecx, dword [0x14021b5d0]
mov eax, dword [0x14021b5d4]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov edx, 0xffffffff
xor edx, 0x9f4de13f
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0xa967b9aa
mov edx, 0xee5f9456
xor edx, 0x11a06ba9
mov ecx, eax
xor ecx, edx
and ecx, 0x750cb1ee
mov edx, 0xffffffff
xor edx, 0x750cb1ee
and eax, edx
sub eax, ecx
mov ecx, 0x5e6639c4
xor ecx, 0xe5ee16f7
mov rdx, r10
add rdx, 0xffffffffffffffff
mov qword [rbp + 0x18], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs r9, 0x39fe70cde117f4ea
and r8, r9
mov rsi, 0xffffffffffffffff
movabs r9, 0x39fe70cde117f4ea
xor rsi, r9
mov r11, rdx
and r11, rsi
mov r9, r10
xor r9, 0xffffffffffffffff
movabs rdi, 0x39fe70cde117f4ea
and r9, rdi
and r10, rsi
or r8, r11
or r9, r10
xor r8, r9
cmp r8, 0
setl r8b
movabs r9, 0xe60ed8e644dd381d
movabs r10, 0x19f12719bb22c7e2
xor r9, r10
cmp rdx, r9
setg dl
and dl, r8b
mov byte [rbp + 0x27], dl
cmp eax, ecx
jae 0x1400ac2d2
mov al, byte [rbp + 0x27]
test al, 1
jne 0x1400abd25
jmp 0x1400abd37
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x18]
mov qword [rcx], rdx
cmp rax, 0
jge 0x1400abd97
mov rcx, qword [rbp + 0x28]
movabs rdx, 0xa5e01baf85d59d9b
movabs rax, 0xa5e01baf85d59d9b
xor rdx, rax
movabs r8, 0x1b866dba101f92d1
movabs rax, 0x64799245efe06d2e
xor r8, rax
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x1400ac2be
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x98]
sub rsp, 0x20
call fcn.14002139b
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov rdx, qword [rbp + 0x30]
movabs rax, 0x15fdc022911659c2
mov rcx, rdx
add rcx, rax
add rcx, 1
movabs rax, 0x15f4e07b5be678de
movabs r8, 0x92059caf0211c
xor rax, r8
sub rcx, rax
mov qword [rbp + 0x10], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0x9ac0332f638db429
movabs r8, 0x653fccd09c724bd6
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
and rcx, rdx
movabs rdx, 0xd17464a900f25c87
movabs r8, 0x2e8b9b56ff0da378
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x1400abe62
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x98]
mov rdx, rcx
add rdx, 0x20
mov qword [rbp + 8], rdx
cmp rax, qword [rcx + 0x20]
jg 0x1400ac2be
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400ac2e4
add rsp, 0x20
test al, 1
jne 0x1400abea4
jmp 0x1400abeb6
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rbp], rax
cmp rax, 0
jge 0x1400abfc5
mov eax, dword [0x14021b5d8]
mov edx, dword [0x14021b5dc]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
add eax, 0xbdb7ba75
mov ecx, 0x98825a58
xor ecx, 0x453905f8
add eax, ecx
sub eax, 0xbdb7ba75
mov ecx, 0x3244344b
xor ecx, 0x34c338b9
add eax, ecx
mov ecx, 0xab3b37bc
xor ecx, 0x995e20b3
and eax, ecx
cmp eax, 0xac29418f
ja 0x1400ac2db
mov rcx, qword [rbp]
mov edx, dword [0x14021b5e0]
mov r8d, dword [0x14021b5e4]
mov eax, edx
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and eax, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r8d, 0xf945f369
xor r8d, 0x6ba0c96
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov r8d, 0x5433d3d5
xor edx, edx
div r8d
xor eax, 0xff2315c8
imul eax, eax, 0x97b9ad26
mov dword [rbp - 4], eax
movabs rdx, 0x45dedee043734ecd
movabs rax, 0x45dedee043734ecd
xor rdx, rax
movabs r8, 0x134f6b2e12bcbe41
movabs rax, 0x6cb094d1ed4341be
xor r8, rax
sub rsp, 0x20
call fcn.14000e6db
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0x6089e4c4
jbe 0x1400abf1f
jmp 0x1400ac2be
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp]
sub rsp, 0x20
call fcn.1400213c5
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x98]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x48], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x40], rcx
mov rcx, r8
add rcx, 0x10
mov qword [rbp - 0x38], rcx
mov rcx, qword [r8 + 0x10]
add r8, 8
mov qword [rbp - 0x30], r8
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
cmp rax, qword [rcx]
jge 0x1400ac179
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x98]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400ac0b1
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x60]
movabs r8, 0xee1d51f7f642f37c
movabs rdx, 0x11e2ae0809bd0c83
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x20]
cmp rax, rcx
jne 0x1400ac0e0
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.1400123e0
mov rcx, qword [rbp - 0x40]
mov r9, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x50]
mov r10, qword [rbp - 0x58]
add rsp, 0x20
add rcx, 8
shl r10, 4
add rcx, r10
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140016d10
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov rax, r8
and rax, 1
or r8, 1
add rax, r8
add rcx, 1
and rcx, qword [rdx]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
jmp 0x1400ac02e
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp - 0x40]
mov r8, qword [rbp - 0x48]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400ab6c0
mov rax, qword [rbp + 0x78]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ac2be
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400ac2e4
add rsp, 0x20
test al, 1
jne 0x1400ac1cf
jmp 0x1400ac1e1
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400ac2be
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
mov rcx, rdx
dec rcx
mov qword [rbp - 0x78], rcx
mov r8, rdx
neg r8
movabs rax, 0x17df991069357878
and r8, rax
movabs r10, 0xe82066ef96ca8787
mov r9, rcx
and r9, r10
or r8, r9
xor rdx, r8
xor rdx, rax
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x1400ac23b
jmp 0x1400ac24d
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400ac2be
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 8]
mov r9, qword [rbp + 0x80]
mov r10, qword [rbp - 0x78]
mov qword [r9], r10
mov r8, qword [r8]
mov qword [rdx + 0x18], r8
movabs rdx, 0x2bb97882aae26e3b
movabs r8, 0x2bb97882aae26e3b
xor rdx, r8
mov qword [rax], rdx
movabs rax, 0x3d9c2f530fcaecd1
movabs rdx, 0x3d9c2f530fcaecd1
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
sub rsp, 0x20
call fcn.1400aa890
add rsp, 0x20
lea rsp, [rbp + 0xa0]
pop rdi
pop rsi
pop rbp
ret
retf 0xc0c6
fnsave dword [0x191f43393]
stc
invalid
push rbp
invalid