Function at 0x14003dea0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x90], rax
cmp rax, 0
je 0x14003e36c
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x60], rax
add rcx, 8
mov qword [rsp + 0x68], rcx
mov rcx, rax
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rcx
cmp rcx, 0xffffffffffffffff
mov qword [rsp + 0x58], rax
jle 0x14003e1e1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jl 0x14003df52
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
call fcn.14001284c
jmp 0x14003e36c
mov eax, dword [0x14024cb70]
mov r8d, dword [0x14024cb74]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x8abd4f49
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x29928e31
xor r8d, 0xd66d71ce
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8abd4f49
or eax, 0x8abd4f49
imul eax, edx
add eax, ecx
sub eax, 0x5069ab
sub eax, 0x828d1a1d
add eax, 0x5069ab
add eax, 0x5e738bc1
mov ecx, 0x9341c411
xor ecx, 0xa531424e
cmp eax, ecx
jb 0x14003e375
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x14024cb78]
xor edx, edx
div dword [0x14024cb7c]
sub eax, 0x67fa39f6
mov r9d, 0x13b6f183
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x80]
mov r9d, 0x8e2bc42b
xor r9d, 0xf0605519
and eax, r9d
mov rcx, qword [rcx]
mov cl, byte [rcx + r8 + 8]
mov r8b, cl
shr r8b, 3
movzx r8d, r8b
movzx edx, byte [rdx + r8]
and cl, 7
movzx ecx, cl
mov r8d, 1
shl r8d, cl
mov ecx, r8d
and ecx, edx
cmp ecx, 0
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xc5476a58
jae 0x14003dfe8
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x4f]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x14003e1e1
jmp 0x14003e085
mov ecx, dword [0x14024cb80]
mov eax, 0xe46da177
xor eax, 0xe77852ac
xor ecx, eax
mov eax, dword [0x14024cb84]
mov edx, 0x98d6f72f
xor edx, 0x35384eb2
add ecx, edx
sub ecx, eax
sub ecx, 0xadeeb99d
or ecx, 0xd55b6ff3
mov edx, 0xb0217ae5
xor edx, 0x741365c6
mov eax, ecx
and eax, edx
or ecx, 0xc4321f23
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xfb39e98b
add eax, ecx
mov ecx, 0xf741adb5
xor ecx, 0x83924fa4
cmp eax, ecx
jb 0x14003e37e
mov eax, dword [0x14024cb88]
add eax, dword [0x14024cb8c]
mov edx, 0xde2aa34a
xor edx, 0x21d55cb5
mov ecx, eax
xor ecx, edx
and ecx, 0x1b345e50
mov edx, 0xffffffff
xor edx, 0x1b345e50
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0x1ce8f4a2
xor ecx, 0xffffffff
mov edx, 0xde1300a8
xor edx, 0xc2fbf40a
or eax, edx
and eax, ecx
mov ecx, 0x2d08aebf
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, 0xf869eeb3
xor ecx, 0x4b08d15c
mov r9, rdx
add r9, 0xffffffffffffffff
mov qword [rsp + 0x40], r9
movabs r8, 0x7d4ab09c75846690
movabs r10, 0x82b54f638a7b996f
xor r8, r10
mov r10, r9
xor r10, r8
mov r8, rdx
and r8, r10
mov r10, rdx
xor r10, 0xffffffffffffffff
and r9, r10
or r8, r9
cmp r8, 0
setl r9b
cmp rdx, 0
setg dl
mov r8b, dl
xor r8b, r9b
xor r8b, 0xff
or dl, r9b
and dl, r8b
mov byte [rsp + 0x4e], dl
cmp eax, ecx
je 0x14003e37e
mov rax, qword [rsp + 0x40]
mov cl, byte [rsp + 0x4e]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x14003e1d7
jmp 0x14003df0a
call fcn.140008c92
jmp 0x14003e36c
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov eax, dword [str.iauaO]
mov ecx, 0xacb23f9c
xor ecx, 0x7bfa575e
xor eax, ecx
or eax, dword [0x14024cb94]
add eax, 0xc50db177
mov ecx, 0x20fc5221
xor ecx, 0x9e81eeae
xor edx, edx
div ecx
or eax, 0x2d2b5f56
cmp eax, 0xaa131cc2
jae 0x14003e387
mov r8, qword [rsp + 0x38]
mov ecx, dword [0x14024cb98]
mov r9d, dword [0x14024cb9c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, r9d
xor eax, 0xffffffff
mov r10d, 0x760d0385
xor r10d, 0x89f2fc7a
mov edx, r9d
xor edx, r10d
xor r9d, 0xffffffff
or edx, r9d
and ecx, edx
mov edx, 0x5a34116d
xor edx, 0xa5cbee92
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x9d71a82c
mov edx, 0xffffffff
xor edx, 0x9d71a82c
and eax, edx
sub eax, ecx
mov ecx, 0x50bba70d
xor edx, edx
div ecx
xor eax, 0x45a5c1cc
mov ecx, 0xc09efc38
xor ecx, 0x34dde51a
xor edx, edx
mov r9d, edx
sub r9, r8
xor edx, edx
sub rdx, 1
add r9, rdx
xor edx, edx
sub rdx, r9
mov qword [rsp + 0x28], rdx
mov r9, r8
xor r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r9, 0xffffffffffffffff
shl r9, 1
sub r9, 0xffffffffffffffff
sub r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
je 0x14003e228
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14003e304
jmp 0x14003e30e
call fcn.140008c92
jmp 0x14003e36c
mov rax, qword [rsp + 0x38]
cmp rax, 0xffffffffffffffff
jge 0x14003e35a
mov rcx, qword [rsp + 0x28]
movabs rdx, 0x95de1ecc1c97431e
movabs rax, 0x95de1ecc1c97431e
xor rdx, rax
movabs r8, 0xd5a2ef255f9ed418
movabs rax, 0xaa5d10daa0612be7
xor r8, rax
call fcn.14000d792
jmp 0x14003e36c
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
call fcn.1400141a0
nop
add rsp, 0x98
ret
invalid
xchg byte [rdi + 0x2e], bh
pop rsp
jmp 0x14003e0f1
fsub dword [rdx - 0x6716df08]
invalid