Function at 0x14002f699
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov eax, dword [0x1401dc768]
xor eax, 0xdfe0ae83
mov r8d, dword [str.I_t__]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xb5fb17e6
xor ecx, 0xe9bedef8
sub eax, ecx
imul eax, eax, 0xb455c357
mov ecx, 0x4ec2345a
xor ecx, 0x4ec2345a
mov edx, 0x4ae5cd81
xor edx, 0xf1c0e52e
sub ecx, edx
sub eax, ecx
mov ecx, 0x34f25dbd
xor ecx, 0x8a12fd39
cmp eax, ecx
je 0x14002f67e
mov ecx, dword [0x1401dc770]
mov eax, dword [0x1401dc774]
xor eax, 0x6c92933d
imul ecx, eax
mov edx, 0xd333bcbb
xor edx, 0x2ccc4344
mov eax, ecx
xor eax, edx
mov edx, 0x8c588983
xor edx, 0xca365ad9
and edx, eax
mov r8d, 0xd32ae411
xor r8d, 0x9544374b
mov eax, 0x43a2c1df
xor eax, 0xbc5d3e20
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x9f509381
xor r8d, 0xd93e40db
mov edx, ecx
and edx, r8d
or ecx, 0x466ed35a
imul ecx, edx
add ecx, eax
mov edx, 0x1dbfb3d9
xor edx, 0xebea903d
mov eax, ecx
and eax, edx
mov edx, 0xb2e09873
xor edx, 0x44b5bb97
xor ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xab6da209
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xab6da209
or eax, 0xab6da209
imul eax, edx
add eax, ecx
mov dword [rsp + 0x5c], eax
call fcn.140009f59
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov r8, rax
mov eax, dword [rsp + 0x5c]
add r8, 0x60
mov qword [rsp + 0x60], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x77], cl
cmp eax, 0x86e3771b
jb 0x14002f0cb
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14002f1db
jmp 0x14002f364
mov r8d, dword [0x1401dc778]
add r8d, dword [0x1401dc77c]
xor r8d, 0xbce4b384
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xa15003b2
xor eax, 0xe78c093b
and eax, ecx
mov edx, 0xb7e3bf4f
xor edx, 0xf13fb5c6
mov ecx, 0x59fc9742
xor ecx, 0xa60368bd
xor edx, ecx
and r8d, edx
mov ecx, 0xcdd5ac32
xor ecx, 0x9761dfda
mov r9d, 0x8de42b54
xor r9d, 0x721bd4ab
xor ecx, r9d
and ecx, 0x46dc0a89
and edx, 0x5ab473e8
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd6c3beea
xor ecx, 0x293c4115
mov edx, eax
xor edx, ecx
and edx, 0xe38ef547
mov r8d, 0xffffffff
xor r8d, 0xe38ef547
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe38ef547
or eax, 0xe38ef547
imul eax, edx
add eax, ecx
mov ecx, 0x5920cb41
xor ecx, 0x1b9382ed
cmp eax, ecx
jbe 0x14002f687
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401dc780]
add eax, dword [0x1401dc784]
mov r8d, 0x2d7c4627
xor r8d, 0xd4de3002
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x78]
mov edi, eax
mov eax, 0xb21cd59b
xor eax, 0x93f02f20
sub edi, eax
mov eax, 0xc6a276c5
xor eax, 0x395d893a
mov r8d, edi
xor r8d, eax
mov r9d, 0xffffffff
xor r9d, 0xb6ddfed8
mov r10d, 0xffffffff
xor r10d, 0xcc9a2557
mov eax, r8d
and eax, 0xcc9a2557
and edi, r10d
mov esi, 0x761b14b1
xor esi, 0xba8131e6
mov r11d, r9d
and r11d, esi
mov esi, r10d
and esi, 0xb6ddfed8
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0xc8fe789e
xor r9d, 0x4645dc9
or r9d, r10d
and r8d, r9d
or eax, r8d
mov dword [rsp + 0x58], eax
call fcn.14002ed00
mov eax, dword [rsp + 0x58]
cmp eax, 0xcff26ca2
jb 0x14002f687
jmp 0x14002f673
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jge 0x14002f673
mov rax, qword [rsp + 0x80]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14002f3f2
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movabs r8, 0xa89cb4a7bdc8c2a2
movabs rdx, 0xa89cb4a7bdc8c2a3
xor r8, rdx
mov rdx, rax
add rdx, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xe89867355ffaf744
movabs r9, 0x576798caa00508bb
xor r8, r9
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x14002f4a2
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
movabs rax, 0x933f3822c5a7c731
mov rcx, r8
sub rcx, rax
sub rcx, rdx
movabs rax, 0x3d46123f777a96fc
movabs r9, 0xae792a1db2dd51cd
xor rax, r9
add rcx, rax
mov qword [rsp + 0x40], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0xd4bac57336a6fd61
movabs r9, 0xd4bac57336a6fd61
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14002f498
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140011560
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14002f4a2
call fcn.1400067fe
jmp 0x14002f673
mov ecx, dword [0x1401dc788]
xor ecx, 0x47ffd51e
mov edx, dword [0x1401dc78c]
xor edx, 0x9d1cf29d
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0xa596ba8c
xor ecx, 0x247c9907
xor edx, edx
div ecx
xor eax, 0x517a345d
add eax, 0x4d8852ed
mov ecx, 0x6271395
xor ecx, 0xd97a6183
add eax, ecx
sub eax, 0x4d8852ed
mov ecx, 0xb08816ba
xor ecx, 0xbac93f34
cmp eax, ecx
je 0x14002f690
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401dc790]
xor edx, edx
div dword [0x1401dc794]
mov rdx, qword [rsp + 0x78]
xor eax, 0xf0f14d0d
mov r9d, eax
xor r9d, 0x6538d9e3
mov r8d, 0xd9acd4a4
xor r8d, 0x26532b5b
xor r9d, r8d
and r9d, 0x6538d9e3
mov r8d, 0xe623c43c
xor r8d, 0xe623c43e
imul r8d, r9d
mov r9d, 0x53786dc2
xor r9d, 0x3640b421
sub r8d, r9d
sub eax, r8d
and eax, 0xce5f693
mov qword [rcx], rdx
cmp eax, 0x79cc266a
jae 0x14002f500
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
jmp 0x14002f587
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14002f673
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401722c0
mov rax, qword [rsp + 0x60]
mov al, byte [rax]
mov cl, 0x9e
xor cl, 0x9e
cmp al, cl
jne 0x14002f673
mov r8, qword [rsp + 0x30]
movabs rcx, 0xc252e9517a5b7a6f
mov rax, r8
sub rax, rcx
add rax, 1
movabs rcx, 0xc252e9517a5b7a6f
add rax, rcx
movabs rcx, 0xa6b5ee27ae29ec61
movabs rdx, 0x594a11d851d6139e
xor rcx, rdx
xor r8, rcx
mov rcx, rax
and rcx, r8
xor rcx, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
and edx, eax
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x139d53ecf9deec16
movabs r9, 0xec62ac13062113e9
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0xfd2d748c89856df2
movabs r8, 0xfd2d748c89856df2
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x14002f587
call fcn.1400067fe
nop
add rsp, 0x88
pop rdi
pop rsi
ret
jbe 0x14002f622
pop rsi
jmp 0x14002f0cb
test al, 0x83
and dword [rdi - 0x3f517], esi
dec edi
jmp 0x1a7ec1e75
iretd
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002ed00
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14002f050