Function at 0x140124a00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rcx
call fcn.1401241f8
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x50], rax
mov rcx, qword [rcx + 0x10]
call fcn.140124d00
test al, 1
jne 0x140124a3a
jmp 0x140124b9f
mov eax, dword [0x1401fb088]
xor eax, 0xff20719f
mov edx, dword [0x1401fb08c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x8a26666f
xor r8d, 0x75d99990
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, eax
or ecx, 0x1622db27
xor ecx, 0xffffffff
or eax, 0x1622db27
xor eax, 0xffffffff
mov edx, 0x85fb1fdb
xor edx, 0x7a04e024
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
and ecx, 0xe9797e17
mov eax, ecx
and eax, 0x68708890
xor eax, 0xffffffff
and ecx, 0x68708890
xor ecx, 0xffffffff
mov edx, 0x429af1a3
xor edx, 0xbd650e5c
xor eax, edx
mov edx, 0x114a7477
xor edx, 0xeeb58b88
xor ecx, edx
or eax, ecx
cmp eax, 0x5ddda7ab
jae 0x140124ce7
mov eax, dword [0x1401fb090]
xor edx, edx
div dword [0x1401fb094]
mov edx, eax
mov rax, qword [rsp + 0x50]
mov r8d, 0x3141fd6e
xor r8d, 0x607a4333
mov ecx, edx
and ecx, r8d
mov r8d, 0x17de0c0b
xor r8d, 0x46e5b256
xor edx, r8d
or ecx, edx
mov edx, 0x19487be5
xor edx, 0x5404f768
sub ecx, edx
mov edx, ecx
xor edx, 0xffffffff
mov r8d, 0x484d20dd
xor r8d, 0xd6009a64
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x9e4dbab9
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0x9e4dbab9
or ecx, 0x9e4dbab9
imul ecx, r8d
add ecx, edx
mov dword [rsp + 0x38], ecx
mov rcx, qword [rax]
call fcn.140124a00
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xad5110a0
je 0x140124ce7
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140124b8d
jmp 0x140124ce1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000fac0
mov ecx, dword [0x1401fb098]
mov edx, dword [0x1401fb09c]
xor eax, eax
sub eax, edx
add ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xeab2e689
mov r8d, 0xffffffff
xor r8d, 0xeab2e689
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xeab2e689
or ecx, 0xeab2e689
imul ecx, edx
add ecx, eax
mov eax, 0x4019c424
xor eax, 0x971362c5
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1feea3b6
or eax, edx
and ecx, 0x1feea3b6
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xa651a294
xor edx, 0x59ae5d6b
xor ecx, edx
or eax, ecx
mov ecx, 0x3a38beb1
xor ecx, 0xcbfaf4ee
cmp eax, ecx
jae 0x140124cf0
mov rax, qword [rsp + 0x40]
mov ecx, dword [0x1401fb0a0]
mov edx, dword [0x1401fb0a4]
xor edx, 0x2e85a6f2
xor ecx, edx
xor edx, edx
sub edx, 0xeff2930d
add ecx, edx
imul ecx, ecx, 0x8886e886
add ecx, 0x87d67f62
mov dword [rsp + 0x30], ecx
mov ecx, 0x21bf4fe0
xor ecx, 0x7baa1c3
mov dword [rsp + 0x2c], ecx
mov rcx, rax
add rcx, 0x18
mov qword [rsp + 0x20], rcx
mov rcx, qword [rax + 0x18]
call fcn.140124d00
mov ecx, dword [rsp + 0x2c]
mov dl, al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x37], dl
cmp eax, ecx
jb 0x140124c30
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140124cae
jmp 0x140124ce1
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
call fcn.140124a00
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov cl, 0x37
xor cl, 0x37
cmp al, cl
jne 0x140124ce1
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000fac0
nop
add rsp, 0x58
ret
test byte [rdi - 0x29], 0x47
jmp 0x140124acb
mov al, 0x77
jmp 0x140124c30