Function at 0x1401cd880
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.1401d22f3
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 8], rax
movabs rax, 0xbb0d2416bbe4969
movabs rdx, 0xbb0d2416bbe4969
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
movabs rax, 0xabf27151f777bd22
movabs rcx, 0xabf27151f777bd22
xor rax, rcx
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x10], rax
mov qword [rbp + 0xc0], 0
lea rcx, [rbp + 0xa0]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401cd780
add rsp, 0x20
lea rcx, [rbp + 0xa0]
lea rdx, [0x14022d470]
sub rsp, 0x20
call fcn.1401ce4a0
add rsp, 0x20
lea rcx, [rbp + 0x60]
mov edx, 0x40
sub rsp, 0x20
call fcn.1401cd780
add rsp, 0x20
lea rax, [rbp + 0xa0]
add rax, 4
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0xa0]
add rax, 8
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0xa0]
add rax, 0xc
mov qword [rbp + 0x28], rax
mov eax, 0x80000000
cpuid
mov dword [rbp + 0x34], eax
lea rax, [rbp + 0x60]
movabs rdx, 0x19c01c71196b5c43
mov rcx, rax
sub rcx, rdx
movabs rdx, 0xa24342cd274dfc1a
movabs r8, 0xa24342cd274dfc3a
xor rdx, r8
add rcx, rdx
movabs rdx, 0x19c01c71196b5c43
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 - 0x14], eax
cmp eax, ecx
ja 0x1401cde66
mov eax, dword [0x140222d08]
imul eax, dword [0x140222d0c]
mov ecx, 0xc8018cdb
xor ecx, 0xfa019aa5
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5afbbeb7
xor ecx, 0xe3fa1cf9
mov edx, 0xbf7f85c1
xor edx, 0x40807a3e
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xb9c9a388
or eax, ecx
mov ecx, 0xd4e70be5
xor ecx, 0x6d2ea86d
or ecx, edx
mov edx, 0x1ced8ad
xor edx, 0xfe312752
xor eax, edx
and eax, ecx
mov edx, 0x66835b04
xor edx, 0xc99585cc
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xaf16dec8
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x1feee71e
ja 0x1401ce463
mov r8, qword [rbp + 0x20]
mov r10, qword [rbp + 0x18]
mov eax, dword [rbp - 0x14]
mov r11d, dword [0x140222d10]
xor r11d, 0xc46f0a00
mov edx, dword [0x140222d14]
and r11d, r11d
xor r11d, 0xffffffff
mov r9d, 0xd5b648dd
xor r9d, 0x2a49b722
mov ecx, edx
xor ecx, r9d
mov r9d, 0x7839ef24
xor r9d, 0x87c610db
xor edx, r9d
or ecx, edx
xor r11d, 0xffffffff
mov edx, 0xb5406e55
xor edx, 0x4abf91aa
xor ecx, edx
or r11d, ecx
mov ecx, 0xec7386e8
xor ecx, 0x9d650b6f
sub r11d, ecx
mov ecx, r11d
xor ecx, 0xffffffff
and ecx, 0x9862b8a
mov r9d, 0x3dd708f4
xor r9d, 0x3451237e
mov edx, 0x97f116aa
xor edx, 0x680ee955
xor r9d, edx
and r11d, r9d
mov edx, 0xffffffff
xor edx, 0x377c2f27
and edx, 0x9862b8a
and r9d, 0x377c2f27
or ecx, r11d
or edx, r9d
xor ecx, edx
mov edx, ecx
xor edx, 0x29fac67b
mov r9d, 0xde7a4cd1
xor r9d, 0xf7808aaa
mov r11d, 0x1e3f64e5
xor r11d, 0xe1c09b1a
xor r9d, r11d
and ecx, r9d
shl ecx, 1
sub ecx, edx
mov dword [rbp - 0x18], ecx
cpuid
mov r11d, eax
mov eax, dword [rbp - 0x18]
mov r9d, ecx
mov rcx, qword [rbp + 0x28]
mov dword [rbp + 0xa0], r11d
mov dword [r10], ebx
mov dword [r8], r9d
mov dword [rcx], edx
cmp eax, 0x215f5ca2
jbe 0x1401cda87
mov eax, dword [rbp - 0x14]
sub eax, 0x80000002
je 0x1401cdbcf
jmp 0x1401cdba9
mov eax, dword [rbp - 0x14]
sub eax, 0x80000003
je 0x1401cdcf5
jmp 0x1401cdbbc
mov eax, dword [rbp - 0x14]
sub eax, 0x80000004
je 0x1401cdd12
jmp 0x1401cdd2a
mov eax, dword [0x140222d18]
xor edx, edx
div dword [0x140222d1c]
mov ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x8ec1a2a0
add eax, ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0x38df6953
add ecx, 0xfc8a00d4
sub ecx, 0x38df6953
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xecd09e7a
or ecx, 0xecd09e7a
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbe229070
xor ecx, 0x41dd6f8f
xor eax, ecx
cmp eax, 0x36dc7fab
jbe 0x1401ce46c
mov r8d, dword [0x140222d20]
mov eax, 0x65e420fb
xor eax, 0xb59b5482
xor r8d, eax
or r8d, dword [str.aWe_]
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x360dfbfa
mov r9d, 0x1dc84c0
xor r9d, 0x37d17f3a
mov eax, 0x2e061ae5
xor eax, 0xd1f9e51a
xor r9d, eax
and r8d, r9d
mov eax, 0xaaa22995
xor eax, 0x18917719
mov edx, 0x6956c86b
xor edx, 0x96a93794
xor eax, edx
mov edx, 0x4107b3b0
xor edx, 0x770a484a
and eax, edx
mov edx, 0x6cf64391
xor edx, 0xdec51d1d
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, 0x96067894
or ecx, 0x96067894
add eax, ecx
imul eax, eax, 0x786c12af
mov dword [rbp - 0x1c], eax
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1401ce4a0
mov eax, dword [rbp - 0x1c]
add rsp, 0x20
cmp eax, 0xb29d325
je 0x1401cdc35
jmp 0x1401cdd2a
mov rcx, qword [rbp + 0x40]
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1401ce4a0
add rsp, 0x20
jmp 0x1401cdd2a
mov rcx, qword [rbp + 0x38]
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1401ce4a0
add rsp, 0x20
mov ecx, dword [0x140222d28]
xor ecx, 0x8e52ae48
mov r8d, dword [0x140222d2c]
mov eax, 0x792e9b59
xor eax, 0x86d164a6
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
mov r9d, 0xd7861793
xor r9d, 0x2879e86c
xor eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
xor ecx, 0xf350e9ba
mov edx, 0x61689bdd
xor edx, 0x9e976422
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x2d73410a
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2d73410a
or ecx, edx
and eax, ecx
mov ecx, 0x24759c80
xor ecx, 0xdb8a637f
xor eax, ecx
add eax, 0x8c937414
add eax, 0x5ea02333
sub eax, 0x8c937414
mov ecx, 0x26eae62f
xor ecx, 0x314b583c
cmp eax, ecx
je 0x1401ce475
mov ecx, dword [rbp - 0x14]
mov eax, dword [0x140222d30]
xor eax, 0x96fa5c33
add eax, dword [0x140222d34]
or eax, 0x68890c00
imul eax, eax, 0xc18717d5
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x3ea51d16
mov r9d, 0xd8ef6af1
xor r9d, 0xe64a77e7
mov edx, 0xf85b908f
xor edx, 0x7a46f70
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x3ea51d16
or eax, 0x3ea51d16
imul eax, r8d
add eax, edx
mov edx, ecx
and edx, 1
shl edx, 1
xor ecx, 1
add ecx, edx
mov dword [rbp - 0x20], ecx
cmp eax, 0x8c0216e5
jb 0x1401cddda
mov eax, dword [rbp - 0x20]
mov dword [rbp + 0x4c], eax
jmp 0x1401cd9ec
mov rax, qword [rbp + 8]
mov r9, qword [rbp - 8]
add rax, 0x50
mov qword [rbp - 0x28], rax
mov rax, qword [0x14022d498]
mov qword [r9], rax
mov rax, qword [0x14022d4a0]
mov qword [r9 + 8], rax
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0x60]
mov r8d, 0x40
sub rsp, 0x20
call fcn.14004d960
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x1401ce2b7
sub rsp, 0x20
call fcn.1401d22f3
add rsp, 0x20
mov rcx, rax
add rcx, 0x50
mov qword [rbp - 0x30], rcx
cmp byte [rax + 0x50], 0
jne 0x1401cdf7c
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0xb8]
mov qword [rbp - 0x40], rdx
mov rcx, qword [rax]
add rcx, 8
lea rax, [0x14022d4c1]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.1400ae99e
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x30]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x1401cdf7c
mov rax, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x34]
movsxd rcx, ecx
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jle 0x1401cdf7c
mov eax, dword [rbp - 0x34]
cmp eax, 0
jge 0x1401cdf64
mov rcx, qword [rbp - 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x1401cdf7c
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.1400174d0
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov al, byte [rax]
mov cl, 0x84
xor cl, 0x84
cmp al, cl
jne 0x1401ce2b7
mov r8d, dword [0x140222d38]
or r8d, dword [0x140222d3c]
mov ecx, 0x16592013
xor ecx, 0xe9a6dfec
mov eax, r8d
xor eax, ecx
and eax, 0xab772131
mov edx, 0xffffffff
xor edx, 0xab772131
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x45d15e97
and ecx, 0xab772131
and edx, 0x45d15e97
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7f3283c3
mov r8d, 0xaf52ad83
xor r8d, 0xd0602e40
mov ecx, 0x7e9f49d7
xor ecx, 0x8160b628
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x7f3283c3
mov r8d, 0x580601b
xor r8d, 0x7ab2e3d8
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xe9171a19
mov ecx, 0xeb2029f0
xor ecx, 0x2669c57
cmp eax, ecx
je 0x1401ce47e
mov rcx, qword [rbp]
mov eax, dword [0x140222d40]
sub eax, dword [0x140222d44]
mov edx, 0x1b9a7419
xor edx, 0xf4966afe
add eax, edx
mov edx, 0x8dc44b56
xor edx, 0xaf463666
sub eax, edx
and eax, 0xc798dee8
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x58], rax
xor eax, eax
mov r8b, al
xor r8b, 1
mov r9b, 1
xor r9b, 0
sub rsp, 0x30
lea rdx, [0x14022d4e0]
mov rax, rsp
mov qword [rax + 0x20], rdx
and r8b, 1
and r9b, 1
lea rdx, [rbp + 0x50]
call fcn.1400444c0
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x50]
add rsp, 0x30
mov cl, byte [rcx]
mov dl, 0xc5
xor dl, 0xc5
cmp cl, dl
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x22124254
je 0x1401ce041
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1401ce0f1
jmp 0x1401ce2b7
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x1401ce455
mov eax, dword [0x140222d48]
mov edx, dword [0x140222d4c]
mov r8d, eax
and r8d, edx
mov ecx, 0x4531cae2
xor ecx, 0x4531cae0
imul ecx, r8d
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0xfa45ac25
sub eax, ecx
xor eax, 0xec6cd380
mov edx, eax
xor edx, 0xffffffff
and edx, 0x71236af
mov r8d, 0xffffffff
xor r8d, 0x71236af
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x71236af
or eax, 0x71236af
imul eax, edx
add eax, ecx
cmp eax, 0xa2bd74e3
ja 0x1401ce487
mov rdx, qword [rbp - 0x58]
mov ecx, dword [0x140222d50]
imul ecx, dword [0x140222d54]
mov r8d, ecx
xor r8d, 0xffffffff
and r8d, 0x274db7f0
mov r9d, 0xffffffff
xor r9d, 0x274db7f0
mov eax, ecx
and eax, r9d
imul eax, r8d
mov r9d, 0x430a399
xor r9d, 0x237d1469
mov r8d, ecx
and r8d, r9d
or ecx, 0x274db7f0
imul ecx, r8d
add ecx, eax
or ecx, 0x6a1e7863
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xadafcb87
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xc81aa88b
xor r8d, 0x65b5630c
mov r9d, 0x2556ed9f
xor r9d, 0xdaa91260
xor r8d, r9d
and ecx, r8d
mov r8d, 0x212f4955
xor r8d, 0xded0b6aa
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x77a0b80a
xor ecx, 0x3fd78cf1
mov rdx, qword [rdx]
xor rdx, 0xffffffffffffffff
movabs r9, 0x89e1b96972e89890
movabs r8, 0xc9e1b96972e89890
xor r9, r8
movabs r8, 0x4bd59a98901d384c
movabs r10, 0xb42a65676fe2c7b3
xor r8, r10
xor r9, r8
mov r8, 0xffffffffffffffff
movabs r10, 0xc264a67c3d580122
xor r8, r10
or rdx, r9
movabs r9, 0xc264a67c3d580122
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x59], dl
cmp eax, ecx
jbe 0x1401ce487
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x59]
test cl, 1
mov qword [rbp - 0x68], rax
jne 0x1401ce444
jmp 0x1401ce455
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1401ce455
mov ecx, dword [0x140222d58]
and ecx, dword [0x140222d5c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x7f713909
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa56c2eda
mov edx, 0x3084fec2
xor edx, 0x95e8d018
mov r8d, 0xc6ac638d
xor r8d, 0x39539c72
xor edx, r8d
or ecx, edx
and eax, ecx
mov ecx, 0xb8974a89
xor ecx, 0x4768b576
xor eax, ecx
add eax, 0xf6709441
sub eax, 0xb1f0cde6
sub eax, 0xf6709441
cmp eax, 0x6b4fe072
ja 0x1401ce490
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x140222d60]
xor edx, edx
div dword [0x140222d64]
mov edx, 0xecbf0d15
xor edx, 0x474c90ec
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
and r8d, 0xabf39df9
mov edx, 0x5ed2e440
xor edx, 0x5ed2e442
imul edx, r8d
mov r8d, 0x74240441
xor r8d, 0xdfd799b8
sub edx, r8d
sub eax, edx
sub eax, 0x2759ff74
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x813da2ce
xor r8d, 0x8576c241
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x44b608f
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x44b608f
or eax, 0x44b608f
imul eax, r8d
add eax, edx
mov rdx, qword [rcx]
movabs r8, 0x134c1dcbafbc94b3
movabs rcx, 0x534c1dcbafbc94b3
xor r8, rcx
movabs rcx, 0x706fe06896d3ba34
movabs r9, 0x8f901f97692c45cb
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x2e1aba74
jb 0x1401ce490
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x71]
test cl, 1
mov qword [rbp - 0x68], rax
jne 0x1401ce444
jmp 0x1401ce455
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0xc8]
pop rbx
pop rbp
ret
call 0x129fe5cbc
sbb esi, esi
invalid
xchg ebp, eax
iretd
fld dword [rax]
mov edi, dword [rsi - 0x6a317]
jmp [rax]
sub byte [rsi - 0x45167ab5], bl
sti
invalid
invalid
invalid