Function at 0x1401ae690
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov qword [rbp - 0x20], rcx
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.1401b2220
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rbp], rdx
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rbp + 0xa0], 0
lea rax, [rbp + 0xa0]
add rax, 8
mov qword [rbp + 8], rax
mov qword [rbp + 0xa8], 0
movabs rdx, 0xbade6d0f24fe58fa
movabs rax, 0xbade6d0f24fe58ea
xor rdx, rax
sub rsp, 0x20
call fcn.1401ae4b0
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
lea rdx, [0x140208b10]
sub rsp, 0x20
call fcn.1401aefc0
add rsp, 0x20
movabs rdx, 0xf160d1f7955a1555
movabs rax, 0xf160d1f7955a1515
xor rdx, rax
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1401ae4b0
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x18], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x20], rcx
add rax, 0xc
mov qword [rbp + 0x28], rax
mov eax, 0x80000000
cpuid
mov dword [rbp + 0x34], eax
lea rax, [rbp + 0x60]
movabs rdx, 0xdbf56ff6b75a3434
movabs rcx, 0xdbf56ff6b75a3414
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rbp + 0x38], rcx
add rax, 0x10
mov qword [rbp + 0x40], rax
mov eax, 0x80000000
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x34]
mov eax, dword [rbp + 0x4c]
mov dword [rbp - 0x24], eax
cmp eax, ecx
ja 0x1401aeaef
mov eax, dword [0x1401fea58]
mov ecx, dword [0x1401fea5c]
xor ecx, 0x5391c6e
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6cbd51f7
mov r8d, 0xffffffff
xor r8d, 0x6cbd51f7
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6cbd51f7
or eax, 0x6cbd51f7
imul eax, edx
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x81650392
and ecx, 0x81650392
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4b8c08db
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x4b8c08db
add eax, edx
sub eax, ecx
cmp eax, 0x4bc4f2a4
je 0x1401aef95
mov r8, qword [rbp + 0x20]
mov r10, qword [rbp + 0x18]
mov r11, qword [rbp + 0x10]
mov eax, dword [rbp - 0x24]
mov edx, dword [str.k_qES]
xor edx, 0xf1949507
mov r9d, dword [0x1401fea64]
mov esi, 0xcaaac44b
xor esi, 0x35553bb4
mov ecx, edx
xor ecx, esi
mov esi, 0x2e043bb
xor esi, 0xfd1fbc44
xor edx, esi
and ecx, edx
mov edx, r9d
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
sub ecx, 0xafd612b7
sub ecx, 0x484e6be7
add ecx, 0xafd612b7
mov r9d, 0xa1d1d4c2
xor r9d, 0xfc338e66
mov edx, ecx
xor edx, r9d
mov r9d, 0xffffffff
xor r9d, 0x5de25aa4
and ecx, r9d
shl ecx, 1
sub ecx, edx
mov edx, 0x4c7fdbe4
xor edx, 0xe6b9a628
sub ecx, edx
mov dword [rbp - 0x28], ecx
cpuid
mov esi, eax
mov eax, dword [rbp - 0x28]
mov r9d, ecx
mov rcx, qword [rbp + 0x28]
mov dword [r11], esi
mov dword [r10], ebx
mov dword [r8], r9d
mov dword [rcx], edx
cmp eax, 0xc8e1f392
jb 0x1401aef95
mov eax, dword [rbp - 0x24]
sub eax, 0x80000002
je 0x1401ae97a
jmp 0x1401ae954
mov eax, dword [rbp - 0x24]
sub eax, 0x80000003
je 0x1401ae994
jmp 0x1401ae967
mov eax, dword [rbp - 0x24]
sub eax, 0x80000004
je 0x1401ae9ae
jmp 0x1401aeadd
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1401aefc0
add rsp, 0x20
jmp 0x1401aeadd
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.1401aefc0
add rsp, 0x20
jmp 0x1401aeadd
mov eax, dword [0x1401fea68]
mov ecx, dword [0x1401fea6c]
xor ecx, 0x7eedc9a7
add eax, ecx
and eax, 0x22decaa2
mov ecx, 0xd103e645
xor ecx, 0x2efc19ba
mov edx, eax
xor edx, ecx
and edx, 0xad089b24
mov r8d, 0xffffffff
xor r8d, 0xad089b24
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x858ec82b
xor r8d, 0x2886530f
mov edx, eax
and edx, r8d
or eax, 0xad089b24
imul eax, edx
add eax, ecx
add eax, 0xc10504f7
cmp eax, 0x42412227
ja 0x1401aef9e
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x1401fea70]
mov edx, 0x148c2f8e
xor edx, 0x134e7008
xor eax, edx
mov r8d, dword [0x1401fea74]
xor r8d, 0xb1aa4a90
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x10]
mov r8d, 0xa2b3e5c9
xor r8d, 0xa2b3e5c9
sub r8d, eax
xor eax, eax
sub eax, 0x7c96fb74
add r8d, eax
xor eax, eax
sub eax, r8d
mov r8d, 0xd55191e4
xor r8d, 0x709e8c32
mov r9d, 0x8e139c2c
xor r9d, 0x71ec63d3
xor r8d, r9d
add eax, r8d
add eax, 1
mov r8d, 0x48c13d7a
xor r8d, 0x48c13d7a
mov r9d, 0xea14e5b2
xor r9d, 0x71035221
sub r8d, r9d
sub eax, r8d
mov dword [rbp - 0x2c], eax
mov eax, 0x2afe6c35
xor eax, 0x69607704
mov dword [rbp - 0x30], eax
sub rsp, 0x20
call fcn.1401aefc0
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp eax, ecx
jbe 0x1401aea1d
jmp 0x1401aeadd
mov eax, dword [rbp - 0x24]
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [rbp + 0x4c], eax
jmp 0x1401ae7ea
mov rax, qword [rbp]
mov r9, qword [rbp - 0x10]
add rax, 0x50
mov qword [rbp - 0x38], rax
mov rax, qword [0x140208b38]
mov qword [r9], rax
mov rax, qword [0x140208b40]
mov qword [r9 + 8], rax
movabs r8, 0x399f9697430d73fa
movabs rax, 0x399f9697430d73ba
xor r8, rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140044dd0
mov rax, qword [rbp]
add rsp, 0x20
mov al, byte [rax + 0x50]
mov cl, 0xd
xor cl, 0xd
cmp al, cl
jne 0x1401aeef2
mov ecx, dword [0x1401fea78]
mov edx, dword [0x1401fea7c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xd22c603
add ecx, eax
mov eax, 0xbb473dbd
xor eax, 0xbb473dbd
sub eax, ecx
sub eax, 0x9518b1bd
imul eax, eax, 0x421476cf
mov ecx, 0x94d249f2
xor ecx, 0x7f9b9446
cmp eax, ecx
jae 0x1401aefa7
mov eax, dword [0x1401fea80]
imul eax, dword [0x1401fea84]
mov ecx, 0x892ad4c8
xor ecx, 0x49844edc
sub eax, ecx
mov edx, 0x7ae68715
xor edx, 0x851978ea
mov ecx, eax
xor ecx, edx
mov edx, 0x13031cd5
xor edx, 0x444f3e11
and ecx, edx
mov edx, 0x817767d9
xor edx, 0xd63b451d
mov r8d, 0xd2bc26f1
xor r8d, 0x2d43d90e
xor edx, r8d
and eax, edx
sub eax, ecx
mov r8d, 0xd85fe94b
xor r8d, 0xff2ea8e5
mov ecx, 0x1650c0a6
xor ecx, 0xe9af3f59
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xd059ced8
xor r8d, 0xf7288f76
mov edx, eax
and edx, r8d
or eax, 0x277141ae
imul eax, edx
add eax, ecx
mov dword [rbp - 0x4c], eax
sub rsp, 0x20
call fcn.1401b2220
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x4c]
mov rdx, rcx
add rdx, 0x50
mov qword [rbp - 0x48], rdx
cmp byte [rcx + 0x50], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xfc930a61
jae 0x1401aefa7
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401aec84
jmp 0x1401aed27
mov rax, qword [rbp + 8]
mov rdx, qword [rbp + 0xa0]
mov qword [rbp - 0x58], rdx
mov rcx, qword [rax]
add rcx, 8
lea rax, [0x140208b61]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.14009ed50
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x50], ecx
cmp byte [rax], 0
jne 0x1401aed27
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
movsxd rcx, ecx
mov qword [rbp - 0x60], rcx
cmp rax, rcx
jle 0x1401aed27
mov eax, dword [rbp - 0x50]
cmp eax, 0
jge 0x1401aed0f
mov rcx, qword [rbp - 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1401aed27
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400153b0
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov al, byte [rax]
mov cl, 0xe3
xor cl, 0xe3
cmp al, cl
jne 0x1401aeef2
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
mov r9d, 1
lea rax, [0x140208b80]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.14003c9f0
mov rax, qword [rbp - 0x38]
add rsp, 0x30
cmp byte [rax], 0
jne 0x1401aeef2
mov ecx, dword [0x1401fea88]
mov r8d, dword [0x1401fea8c]
mov edx, 0x34e31d40
xor edx, 0xcb1ce2bf
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xe26c87ae
xor eax, 0xffffffff
mov edx, 0x50b712dc
xor edx, 0xb2db9572
add ecx, edx
add ecx, 1
add ecx, eax
mov edx, 0xe07f9f45
xor edx, 0xee3e554b
mov eax, ecx
and eax, edx
or ecx, 0xe41ca0e
add eax, ecx
mov ecx, 0x34bfa90f
xor ecx, 0x37cb008e
sub eax, ecx
cmp eax, 0xb396a730
je 0x1401aefb0
mov rdx, qword [rbp + 8]
mov eax, dword [str.I45]
xor eax, 0xf086597a
mov ecx, dword [0x1401fea94]
xor ecx, 0xefff91de
xor eax, ecx
add eax, 0x3fdb5325
and eax, 0x75d05bb
and eax, 0x95d399ee
mov ecx, 0x1c0b079b
xor ecx, 0x5cccbd44
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x1401aefb0
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401aef86
jmp 0x1401aee6f
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
movabs r8, 0xc5e4bb2cf1330a70
movabs rcx, 0x3a1b44d30eccf58f
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xd5e38867731caa7c
movabs r9, 0x95e38867731caa7c
xor r8, r9
movabs r9, 0x1e02b4b194457e50
movabs r10, 0xe1fd4b4e6bba81af
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x4000000000000000
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp - 0x78], rax
je 0x1401aef75
jmp 0x1401aef86
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1401aef86
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
movabs r8, 0x19eff54327fb2788
movabs r9, 0xe6100abcd804d877
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x8f2140954f0a5312
movabs r8, 0x8f2140954f0a5312
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x78], rax
jne 0x1401aef86
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp - 0x20]
lea rsp, [rbp + 0xb0]
pop rbx
pop rsi
pop rbp
ret
invalid
sbb dword [rdi], ecx
test eax, 0xfff8e1e9
call qword [rsp + rbp*2 + 0x3e]
invalid
push rsp
insb byte [rdi], dx
invalid
jmp 0x1401aef96
fisub word [r8 - 0x1a916e0]
invalid