Function at 0x14006e94d
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.14006611a
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.140032271
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x18]
mov byte [rbp + 0x27], cl
cmp byte [rax], 0
jne 0x14006e923
mov al, byte [rbp + 0x27]
cmp al, 0xc0
jne 0x14006e23b
xor eax, eax
mov ecx, eax
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14000f990
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14001ec84
add rsp, 0x20
jmp 0x14006e923
mov ecx, dword [0x1401cb3e8]
xor ecx, 0xca58d26e
mov eax, dword [0x1401cb3ec]
mov edx, 0x22f921d2
xor edx, 0x4b11623b
xor eax, edx
imul ecx, eax
mov eax, 0x3cc8436
xor eax, 0xfc337bc9
mov edx, ecx
xor edx, eax
mov eax, 0x96b808bc
xor eax, 0x137728be
and eax, edx
mov edx, 0xccf381d2
xor edx, 0x493ca1d0
mov r8d, 0x937f7ed
xor r8d, 0xf6c80812
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x7c2ab380
xor ecx, 0xabd9e35c
sub eax, ecx
sub eax, 0xd745b119
add eax, 0xd7f350dc
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xee0b5e2c
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0xc66e7d1e
je 0x14006e929
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1401cb3f0]
add eax, dword [0x1401cb3f4]
imul eax, eax, 0x400c5f1a
mov r8d, 0x9d3aeca6
xor edx, edx
div r8d
mov edx, eax
add edx, 1
mov r8d, 0xddb9eef
xor r8d, 0xf2246110
xor eax, r8d
mov r8d, 0xbe8aec80
xor r8d, 0x73d1ab57
or eax, r8d
add eax, edx
mov dword [rbp - 0x14], eax
mov eax, 0x7fb98fae
xor eax, 0xbae2e1b7
mov dword [rbp - 0x18], eax
sub rsp, 0x20
call fcn.140068ccf
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x18]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x14]
mov qword [rbp - 0x10], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 1], dl
cmp eax, ecx
ja 0x14006e2c9
mov al, byte [rbp - 1]
test al, 1
jne 0x14006e360
jmp 0x14006e923
mov rax, qword [rbp - 0x10]
cmp rax, 0
jge 0x14006e3ca
lea rcx, [0x1401db868]
sub rsp, 0x20
call fcn.1400692fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14006e923
mov rcx, qword [rbp - 0x20]
lea rdx, [0x1401db7b5]
lea r8, [0x1401db81f]
lea r9, [0x1401db7a5]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffc49897ae
call fcn.1400120ce
add rsp, 0x30
jmp 0x14006e923
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.14001f4c4
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001ec84
mov rax, qword [rbp - 0x10]
add rsp, 0x20
xor ecx, ecx
mov edx, ecx
sub rdx, 0xffffffffffffffff
mov rcx, rax
sub rcx, rdx
xor rcx, rax
cmp rcx, 0
setl dl
cmp rax, 0
setne al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14006e450
mov rax, qword [rbp]
add rax, 8
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x28], rax
jmp 0x14006e53b
mov eax, dword [0x1401cb3f8]
xor edx, edx
div dword [0x1401cb3fc]
mov edx, 0xa45fc3a5
xor edx, 0xc2f75c77
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0x94ac5cf0
xor edx, 0xf204c322
add eax, edx
sub eax, ecx
mov ecx, 0xfedc4da1
xor edx, edx
div ecx
xor eax, 0x5fce75a7
cmp eax, 0x93a70d76
jae 0x14006e932
mov eax, dword [0x1401cb400]
add eax, dword [0x1401cb404]
mov edx, 0x530b6dc3
xor edx, 0x53bfa648
mov ecx, 0x5de45b87
xor ecx, 0xa21ba478
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb4cb8b
add eax, edx
sub eax, ecx
xor eax, 0xffffffff
mov ecx, 0xd06f1a4b
xor ecx, 0x2b6548ea
mov edx, 0x886cc751
xor edx, 0x779338ae
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x5308a25e
or eax, ecx
mov ecx, 0xc966e198
xor ecx, 0x9a6e43c6
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
sub eax, 0xbfa01495
mov dword [rbp - 0x34], eax
mov eax, 0xe2daeaf8
xor eax, 0xcc01ef60
mov dword [rbp - 0x38], eax
sub rsp, 0x20
call fcn.140008024
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, ecx
jb 0x14006e498
jmp 0x14006e923
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x40], rax
cmp rax, rcx
jge 0x14006e83b
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x28], 0
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.14006e163
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x14006e7f1
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14006e5db
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jmp 0x14006e7f1
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.1400cd9b0
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x14006e7f1
mov r8d, dword [0x1401cb408]
mov ecx, dword [0x1401cb40c]
xor eax, eax
sub eax, ecx
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x9647d5f0
mov edx, 0xffffffff
xor edx, 0x9647d5f0
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x18f6bf84
and ecx, 0x9647d5f0
and edx, 0x18f6bf84
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x3e6c43d7
or eax, 0xecc3ac60
cmp eax, 0xe00b458a
jb 0x14006e93b
mov ecx, dword [0x1401cb410]
mov eax, 0xd2b1f091
xor eax, 0xd78bc8b8
xor ecx, eax
mov eax, dword [0x1401cb414]
xor eax, 0x83a8f620
sub ecx, 0x295fb7d0
sub ecx, eax
add ecx, 0x295fb7d0
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xd647c21e
xor edx, 0xc4d1b3ef
and eax, edx
xor eax, 0xffffffff
mov edx, 0x129671f1
and edx, 0x129671f1
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xe9ca0492
xor edx, 0x1635fb6d
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0xf33af1ad
xor r8d, 0x9ad2b011
mov ecx, 0xee15b261
xor ecx, 0x11ea4d9e
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x1e9c3734
xor r8d, 0xe163c8cb
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x69e841bc
or eax, 0x69e841bc
imul eax, edx
add eax, ecx
mov edx, 0xf8b41d34
xor edx, 0xd328f2fc
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x2b9cefc8
sub eax, ecx
mov dword [rbp - 0x68], eax
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1400cd9a2
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov byte [rbp - 0x61], dl
cmp dl, 0
sete dl
and dl, 1
movzx edx, dl
movabs r8, 0xd08513516e0131c7
movabs r9, 0x2f7aecae91fece38
xor r8, r9
xor rdx, r8
movabs r8, 0x54494d768cbc558f
movabs r9, 0x54494d768cbc558f
xor r8, r9
movabs r9, 0x1e110c029e93c5b
movabs r10, 0x1e110c029e93c5a
xor r9, r10
sub r8, r9
sub rdx, r8
sub rcx, rdx
mov qword [rbp - 0x60], rcx
cmp eax, 0xf1da7bc0
jae 0x14006e93b
mov rax, qword [rbp - 0x60]
mov cl, byte [rbp - 0x61]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jmp 0x14006e7f1
mov rax, qword [rbp + 0x18]
mov cl, byte [rbp - 0x49]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x78], rdx
mov byte [rbp - 0x69], cl
mov byte [rax], 0
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.1400cd94b
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x7c
xor cl, 0x7c
cmp al, cl
jne 0x14006e83b
mov al, byte [rbp - 0x69]
mov rcx, qword [rbp + 0x18]
mov byte [rcx], al
cmp al, 0
je 0x14006e916
mov eax, dword [0x1401cb418]
mov ecx, 0xb9fe71fc
xor ecx, 0xe826ed4a
xor eax, ecx
mov edx, dword [0x1401cb41c]
xor edx, 0x68685eb0
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xcc0b2c0e
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xda31397d
xor edx, 0x48f2139e
and edx, ecx
mov r8d, 0x8b4ffa7d
xor r8d, 0x198cd09e
mov ecx, 0x76f08da0
xor ecx, 0x890f725f
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x92c32ae3
or eax, 0x92c32ae3
imul eax, edx
add eax, ecx
xor eax, 0x9bcf08bc
mov ecx, 0xfd953069
xor ecx, 0x37f917d6
cmp eax, ecx
je 0x14006e944
mov eax, dword [0x1401cb420]
xor eax, 0xd547178c
add eax, dword [0x1401cb424]
and eax, 0x4ef99961
mov ecx, eax
xor ecx, 0x6833e275
mov edx, 0xffffffff
xor edx, 0x6833e275
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x3f5d74fc
xor edx, edx
div ecx
cmp eax, 0xadef8ceb
je 0x14006e944
jmp 0x14006e923
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x28], rax
jmp 0x14006e53b
lea rsp, [rbp + 0x50]
pop rbp
ret
jg 0x14006e950
lodsd eax, dword [rsi]
jmp 0x14006e2c9
adc rsp, rsi
cld
jmp 0x14006e498
in eax, 0x2a
fbld tbyte [rsi - 0x2c717]
dec dword [rdx + 0x2e]
invalid
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
cmp byte [rax - 0x77], cl
push rsp
and al, 0x30
mov qword [rsp + 0x28], rcx
call fcn.14006611a
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14006e190