Function at 0x14018dcc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x170
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rdx
mov qword [rbp + 0x30], rcx
mov qword [rbp - 8], rcx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.14019fd7e
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x50], rax
add rax, 0x50
mov qword [rbp + 0x38], rax
movabs rdx, 0xaa47134198c794e1
movabs rax, 0xaa47134198c794f9
xor rdx, rax
sub rsp, 0x20
call fcn.14018e700
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 0xe0], 0
lea rax, [rbp + 0xe0]
add rax, 8
mov qword [rbp + 0x48], rax
mov qword [rbp + 0xe8], 0
mov word [rcx], 0x498
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x58], rcx
cmp byte [rax + 0x50], 0
jne 0x14018e0e3
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x58]
mov r8, qword [rbp - 0x10]
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov r8, qword [rax]
mov qword [rbp + 0xc8], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea r8, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14018e82f
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x14018e0e3
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
sub rsp, 0x20
lea rcx, [rbp + 0xb8]
call fcn.1400cf620
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x38]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x21], al
or al, cl
test al, 1
jne 0x14018e0e8
mov ecx, 0x69e
sub rsp, 0x20
call fcn.14006fe60
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp - 0x40], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14018e0ab
mov word [rbp + 0xde], 0x766
lea rcx, [rbp + 0xde]
sub rsp, 0x20
call fcn.140070140
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp - 0x48], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14018e0ab
mov rcx, qword [rbp + 0x10]
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x10]
mov r9, qword [rdx]
mov qword [rbp + 0xa8], r9
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xb0], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x98], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
lea rdx, [rbp + 0xa8]
lea r9, [rbp + 0x98]
sub rsp, 0x20
call fcn.1401795c0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x38]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x50], rcx
cmp byte [rdx], 0
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14018e0ab
mov ecx, 0xaf3
sub rsp, 0x20
call fcn.14006fe60
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], r8
cmp byte [rdx], 0
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14018e0ab
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
cmp rax, rcx
jge 0x14018e007
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14001c4cf
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jmp 0x14018e0ab
mov eax, dword [0x140221370]
imul eax, dword [0x140221374]
mov ecx, 0x94a20704
xor ecx, 0xffd9b046
xor eax, ecx
mov ecx, 0x1464fc0c
xor ecx, 0xa07eabbb
and eax, ecx
add eax, 0x1b2524ec
cmp eax, 0x979451ef
ja 0x14018e6d5
mov eax, dword [0x140221378]
or eax, dword [0x14022137c]
mov ecx, 0x26b85245
xor ecx, 0x8d703b7b
xor edx, edx
div ecx
mov ecx, 0xe753a485
xor edx, edx
div ecx
mov ecx, 0x6da457b1
xor ecx, 0x1a2dfbaa
and eax, ecx
mov rcx, qword [0x14022d2d0]
mov qword [rbp + 0xe0], rcx
mov rcx, qword [0x14022d2d8]
mov qword [rbp + 0xe8], rcx
cmp eax, 0x4bd2c722
ja 0x14018e03e
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jmp 0x14018e0ab
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14001ba90
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x17
xor cl, 0x17
cmp al, cl
jne 0x14018e0e3
jmp 0x14018e2e5
jmp 0x14018e4bd
mov eax, dword [0x140221380]
xor edx, edx
div dword [0x140221384]
mov ecx, eax
or ecx, 0xd36ac3fb
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x29d0be2c
xor edx, 0x29d9b838
mov r8d, 0x3f2e5e37
xor r8d, 0xc0d1a1c8
xor edx, r8d
and eax, edx
mov edx, 0xdea3ef32
xor edx, 0x215c10cd
xor ecx, edx
mov edx, 0x4670f82e
xor edx, 0x4679fe3a
mov r8d, 0xc3d95b33
xor r8d, 0x3c26a4cc
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe6f84b44
xor ecx, 0x1907b4bb
mov edx, eax
xor edx, ecx
and edx, 0x6a8dba11
mov r8d, 0xda12f39f
xor r8d, 0xb09f498e
mov ecx, 0x6609771e
xor ecx, 0x99f688e1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x197ca36c
xor r8d, 0x73f1197d
mov edx, eax
and edx, r8d
or eax, 0x6a8dba11
imul eax, edx
add eax, ecx
cmp eax, 0x59deed66
ja 0x14018e6de
mov eax, dword [0x140221388]
xor eax, 0x83395340
xor edx, edx
div dword [0x14022138c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa780ba77
xor edx, 0x9745c3ee
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x30c57999
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x30c57999
or eax, 0x30c57999
imul eax, edx
add eax, ecx
mov ecx, 0x274c597a
xor ecx, 0x2a1d2d33
xor eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x3fea7c25
xor ecx, 0xd1760223
mov edx, 0xef89d697
xor edx, 0x10762968
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xee9c7e06
or ecx, edx
and eax, ecx
mov ecx, 0xba4e7a70
xor ecx, 0x45b1858f
xor eax, ecx
cmp eax, 0x417423
jbe 0x14018e6de
mov al, byte [rbp - 0x21]
test al, 1
jne 0x14018e4bd
jmp 0x14018e25b
mov word [rbp + 0x86], 0xa97
lea rcx, [rbp + 0x86]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x14018e2e0
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rcx]
mov qword [rbp + 0x70], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x78], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.14018e82f
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1d
xor cl, 0x1d
cmp al, cl
je 0x14018e2e5
jmp 0x14018e4bd
cmp qword [rbp + 0xe0], 0
jne 0x14018e309
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14018e8ab
add rsp, 0x20
jmp 0x14018e4bd
mov r8d, dword [0x140221390]
mov eax, 0xba53827d
xor eax, 0xb4ecd47a
xor r8d, eax
mov edx, dword [0x140221394]
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x2d97d210
mov r9d, 0xffffffff
xor r9d, 0x2d97d210
and r8d, r9d
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0xd63c8f0f
xor r10d, 0xfbab5d1f
and eax, r10d
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x987da967
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x987da967
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0xd5b2f876
mov edx, 0x73388ca
xor edx, 0xd28170bc
xor ecx, edx
or eax, ecx
add eax, 0x21981e97
cmp eax, 0xb116b307
ja 0x14018e6e7
mov eax, dword [0x140221398]
mov edx, dword [0x14022139c]
xor edx, 0xae8fe4b9
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xed6f6c46
xor edx, 0xabec3081
and eax, edx
mov edx, 0x71596d23
xor edx, 0x8ea692dc
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x46835cc7
mov r8d, 0xffffffff
xor r8d, 0x46835cc7
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x3f5c17d3
xor ecx, 0x2c11cc8b
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xe117f4ea
mov edx, 0xb1e0aa22
xor edx, 0x50f75ec8
mov ecx, 0x3773240b
xor ecx, 0xc88cdbf4
xor edx, ecx
and r8d, edx
mov ecx, 0xbd4a8a5
xor ecx, 0x2783199f
mov r9d, 0xdd10f40c
xor r9d, 0x22ef0bf3
xor ecx, r9d
and ecx, 0xe117f4ea
and edx, 0x2c57b13a
or eax, r8d
or ecx, edx
xor eax, ecx
mov dword [rbp - 0x6c], eax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400123e0
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14018e8cb
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, 0xdacc62ce
ja 0x14018e39f
jmp 0x14018e4bd
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x14018e6c8
mov ecx, dword [0x1402213a0]
sub ecx, dword [0x1402213a4]
mov eax, ecx
xor eax, 0x8deaa502
xor eax, 0xffffffff
and eax, 0x8deaa502
shl eax, 1
mov edx, 0xe067084b
xor edx, 0x6d8dad49
sub eax, edx
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3808d735
mov r8d, 0xffffffff
xor r8d, 0x3808d735
and edx, r8d
mov r8d, 0xc15076eb
xor r8d, 0x3eaf8914
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0x3808d735
xor ecx, 0xffffffff
mov edx, 0xb403cb54
xor edx, 0x4bfc34ab
xor eax, edx
mov edx, 0xb01fb083
xor edx, 0x4fe04f7c
xor ecx, edx
and eax, ecx
mov ecx, 0x9877d0f
xor ecx, 0x6118afaa
xor edx, edx
div ecx
cmp eax, 0xec106d8f
je 0x14018e6f0
mov rdx, qword [rbp - 0x78]
mov eax, dword [0x1402213a8]
mov r8d, dword [0x1402213ac]
xor r8d, 0x19ca42c1
mov r9d, 0x3eb92747
xor r9d, 0x3eb92746
mov ecx, eax
add ecx, r9d
xor eax, 0xffffffff
or eax, r8d
add eax, ecx
mov r9d, 0x40049e61
xor r9d, 0x98f9a32d
mov ecx, 0x84014eb1
xor ecx, 0x7bfeb14e
xor r9d, ecx
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0xd8fd3d4c
or eax, 0xd8fd3d4c
imul eax, r8d
add eax, ecx
or eax, 0x4c7f00fb
and eax, 0x8181e9bd
mov ecx, 0x75859ed7
xor ecx, 0x9b1613a7
mov r8, qword [rdx]
mov rdx, r8
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xacabde1deacb4e25
movabs r9, 0xecabde1deacb4e25
xor r8, r9
movabs r9, 0x141791170caadf3e
movabs r10, 0xebe86ee8f35520c1
xor r9, r10
xor r8, r9
movabs r9, 0x46d6aa3b554cb46e
movabs r10, 0x6d6aa3b554cb46e
xor r9, r10
movabs r10, 0x53514b5b1fd148ae
movabs r11, 0xacaeb4a4e02eb751
xor r10, r11
xor r9, r10
and r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x9b5ca56373b1d0f5
movabs r10, 0x64a35a9c8c4e2f0a
xor r9, r10
xor r8, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x79], dl
cmp eax, ecx
ja 0x14018e6f0
mov al, byte [rbp - 0x79]
test al, 1
jne 0x14018e6b7
jmp 0x14018e6c8
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 8]
lea rsp, [rbp + 0xf0]
pop rbp
ret
rol dword [rbp + 0x60e9ac2c], cl
stc
invalid
jg 0x14018e6d5
insd dword [rdi], dx
shr ecx, cl
invalid
retf 0xc0c6
fnsave dword [0x1bd0257b1]
invalid