Function at 0x14003a210
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov rdx, qword [rcx]
mov rax, rdx
and rax, 0xffffffffffffffff
mov rcx, rdx
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xb8ed488a56cc23b1
movabs r8, 0xb8ed488a56cc23b1
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14003a288
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x14003a292
call fcn.14000ee80
jmp 0x14003a728
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1402a9878]
mov edx, dword [0x1402a987c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x3630fb2a
xor ecx, 0x3630fb28
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x3f62e4ea
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xda65084c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xda65084c
or eax, 0xda65084c
imul eax, edx
add eax, ecx
mov ecx, 0x748e1941
xor ecx, 0xbcba5461
xor edx, edx
div ecx
cmp eax, 0xc05fd353
ja 0x14003a72d
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x1402a9880]
mov r10d, dword [0x1402a9884]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, eax
and r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, eax
add r8d, 1
xor eax, 0xffffffff
mov r9d, 0xaa62b3c4
xor r9d, 0xd7ede2d
or eax, r9d
add eax, r8d
mov r8d, 0xbc23f8b1
xor r8d, 0x91153c43
or eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x8819500
mov r10d, 0xb96e925a
xor r10d, 0xb1ef075a
mov r8d, 0x61623aa3
xor r8d, 0x9e9dc55c
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0xe97b22e
xor r10d, 0x616272e
mov r9d, eax
and r9d, r10d
or eax, 0x8819500
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x27], cl
cmp eax, 0x56c56abd
je 0x14003a31a
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14003a71b
jmp 0x14003a406
mov eax, dword [0x1402a9888]
xor edx, edx
div dword [0x1402a988c]
xor eax, 0x4f4c094f
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x6a5bef78
or ecx, 0x6a5bef78
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc6c4ad22
mov r8d, 0xffffffff
xor r8d, 0xc6c4ad22
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc6c4ad22
or eax, 0xc6c4ad22
imul eax, edx
add eax, ecx
mov ecx, 0x85044d9d
xor ecx, 0x763b6a9c
cmp eax, ecx
je 0x14003a736
mov rdx, qword [rsp + 0x28]
mov eax, dword [0x1402a9890]
or eax, dword [0x1402a9894]
mov ecx, 0x40ac30eb
xor ecx, 0xbf53cf14
mov r8d, eax
xor r8d, ecx
and r8d, 0x4139a67e
mov r9d, 0x731e562
xor r9d, 0x4608431c
mov ecx, 0x6246b11a
xor ecx, 0x9db94ee5
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x4139a67e
or eax, 0x4139a67e
imul eax, r8d
add eax, ecx
mov ecx, eax
add ecx, 1
mov r8d, 0x435ebda
xor r8d, 0xfbca1425
xor eax, r8d
or eax, 0x197b4f79
add eax, ecx
mov ecx, 0x5ec2e280
xor ecx, 0x6bc403aa
add eax, ecx
mov ecx, 0x19d45670
xor ecx, 0x57f82657
movabs r8, 0xdc8d6052721a0309
movabs r9, 0xdc8d6052721a0309
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x26], dl
cmp eax, ecx
jae 0x14003a479
mov al, byte [rsp + 0x26]
test al, 1
jne 0x14003a61b
jmp 0x14003a549
mov eax, dword [0x1402a9898]
mov r8d, dword [0x1402a989c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x1260fc6b
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x2c47288c
mov edx, 0x2fd60bb
xor edx, 0xfd029f44
mov eax, ecx
xor eax, edx
and eax, 0x986c7871
mov edx, 0xffffffff
xor edx, 0x986c7871
and ecx, edx
or eax, ecx
cmp eax, 0xa183231e
je 0x14003a73f
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x1402a98a0]
mov r8d, dword [0x1402a98a4]
xor r8d, 0x3d0b3649
add eax, 0xf9e172aa
sub eax, r8d
sub eax, 0xf9e172aa
imul eax, eax, 0x946c5fdb
imul eax, eax, 0xaff908a0
sub eax, 0x3966803d
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x25], cl
cmp eax, 0xf8002427
je 0x14003a5b9
mov al, byte [rsp + 0x25]
test al, 1
jne 0x14003a628
jmp 0x14003a61b
mov rcx, rdx
call fcn.140025e55
jmp 0x14003a728
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.140039f70
mov rcx, qword [rsp + 0x28]
movabs rdx, 0x91d12de3ed53f5e4
movabs rax, 0x6e2ed21c12ac0a1b
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0xb23614a057d6bc2a
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xb23614a057d6bc2a
xor r11, r8
mov r10, rax
and r10, r11
movabs r9, 0x1684ee3909e11429
movabs r8, 0xe97b11c6f61eebd6
xor r9, r8
mov r8, rcx
xor r8, r9
movabs r9, 0xb23614a057d6bc2a
and r8, r9
mov r9, rcx
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0
setne cl
xor cl, 0xff
xor r8b, 0xff
mov dl, 1
xor dl, 1
mov r9b, 1
xor r9b, 0
xor dl, r9b
or cl, r8b
or dl, 0
xor cl, 0xff
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x14003a711
jmp 0x14003a292
call fcn.14000ee80
jmp 0x14003a728
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
add rsp, 0x58
ret
or al, 0x98
out 0x6f, eax
jmp 0x14003a31a
movabs eax, dword [0xfffffd3ae91c06d8]
jp 0x14003a76d
mov edi, 0xfe71e9fe
invalid
add eax, 0x60
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x14003a79a
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.14003a210
jmp 0x14003a9d6
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14003a9d6
mov rax, qword [rsp + 0x58]
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 0x14003a85d
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs r8, 0x2bb77ab10f5e6f09
movabs rdx, 0x9448854ef0a190f6
xor r8, rdx
movabs rdx, 0x541fd47ee9974195
movabs r9, 0xabe02b811668be6a
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0xd13b6ab3132be89e
xor rdx, r9
or rax, r8
movabs r8, 0xd13b6ab3132be89e
or rdx, r8
movabs r8, 0x4ae69c3d5b5611e7
movabs r9, 0xb51963c2a4a9ee18
xor r8, r9
xor rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14003a8f1
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov rax, rdx
xor rax, 0xffffffffffffffff
mov rcx, r8
add rcx, rax
add rcx, 1
mov qword [rsp + 0x40], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x57e98b02324ea57e
movabs r8, 0xa81674fdcdb15a81
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14003a8e7
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140023a90
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14003a8f1
call fcn.14000ee80
jmp 0x14003a9d6
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14003a9d6
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.140125bf0
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x14003a9d6
mov rdx, qword [rsp + 0x30]
movabs rcx, 0xaa3b375d1c4c7a7f
mov rax, rdx
add rax, rcx
add rax, 1
movabs rcx, 0xaa3b375d1c4c7a7f
sub rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0xb6461e19b5a42bab
movabs r9, 0x49b9e1e64a5bd454
xor rcx, r9
xor r8, rcx
and r8, 0xffffffffffffffff
movabs rcx, 0xf324f6e51fddcb0c
movabs r9, 0xf324f6e51fddcb0e
xor rcx, r9
imul rcx, r8
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14003a908
call fcn.14000ee80
nop
add rsp, 0x78
ret