Function at 0x14003db70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r8
mov byte [rsp + 0x8f], dl
mov qword [rsp + 0x90], rcx
mov eax, dword [0x14024cb50]
mov ecx, dword [0x14024cb54]
mov edx, 0x7bef0536
xor edx, 0x452e5d0a
xor ecx, edx
sub eax, 0xd01c8296
add eax, ecx
add eax, 0xd01c8296
mov ecx, eax
and ecx, 0xe5d43b78
or eax, 0xe5d43b78
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdea15b55
or eax, edx
mov edx, 0x37579a90
xor edx, 0xe9f6c1c5
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xa60bbd9d
xor edx, 0x59f44262
xor eax, edx
mov edx, 0x2d127116
xor edx, 0xd2ed8ee9
xor ecx, edx
or eax, ecx
mov ecx, 0x1caad75
xor ecx, 0x882c9a00
xor edx, edx
div ecx
cmp eax, 0x4222d462
je 0x14003de8c
mov eax, dword [0x14024cb58]
xor edx, edx
div dword [0x14024cb5c]
mov rdx, qword [rsp + 0x78]
mov ecx, 0x10181c2e
xor ecx, 0x307788
and eax, ecx
mov ecx, 0xee9e4e3d
xor ecx, 0x12456cd8
and eax, ecx
xor eax, 0x36a35df8
mov ecx, 0xf40eb1d7
xor ecx, 0x4bbebd95
movabs r8, 0x182d0a7823f63273
movabs r9, 0x182d0a7823f63273
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x77], dl
cmp eax, ecx
je 0x14003dc1f
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x77]
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x14003dca1
jmp 0x14003dcb5
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x48], rdx
add rcx, 8
mov qword [rsp + 0x50], rcx
movabs rcx, 0xe33ec04f5bdd56e7
movabs rdx, 0x1cc13fb0a422a918
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rsp + 0x5f], cl
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jg 0x14003de7f
mov al, byte [rsp + 0x5f]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003dd6f
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffff
call fcn.14001284c
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x40], rax
jmp 0x14003de7f
mov rax, qword [rsp + 0x38]
mov dl, byte [rsp + 0x8f]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
cmp byte [rcx + rax + 8], dl
mov qword [rsp + 0x40], rax
je 0x14003de7f
mov eax, dword [0x14024cb60]
mov ecx, 0xbcbb0f02
xor ecx, 0xaf8375de
xor eax, ecx
sub eax, dword [0x14024cb64]
sub eax, 0x436e23b9
mov edx, 0xffffffff
xor edx, 0x6e1093de
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x6e1093de
add eax, edx
sub eax, ecx
mov ecx, 0x74eca5cd
xor ecx, 0x48ec5708
imul eax, ecx
cmp eax, 0xdbe8719b
ja 0x14003de95
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x14024cb68]
sub eax, dword [0x14024cb6c]
mov r8d, 0x4f635077
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0x1ffc5144
xor r8d, 0xe003aebb
mov eax, edx
xor eax, r8d
and eax, 0x737a7a50
mov r8d, 0x425bc858
xor r8d, 0x3121b208
mov r9d, 0x8cf156b4
xor r9d, 0x730ea94b
xor r8d, r9d
and edx, r8d
or eax, edx
mov r8d, 0xa17036f1
xor edx, edx
div r8d
movabs rdx, 0x2c89dbf2c65ef606
movabs r8, 0x2c89dbf2c65ef607
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x28], rcx
cmp eax, 0x220a4ec7
je 0x14003dde4
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x60], rax
jmp 0x14003dcfe
mov rax, qword [rsp + 0x40]
add rsp, 0x98
add rsp, 0x98
ret
pop rax
xor ch, al
pop rax
jmp 0x14003dc1f
xchg ebp, eax
mov al, 0xac
je 0x14003de83
invalid