Function at 0x1400a5f20
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x78], rcx
call fcn.1400a6fc3
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
add rax, 0x50
mov qword [rsp + 0x90], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rsp + 0x98], rax
mov qword [rcx + 8], 0
cmp rdx, 0
je 0x1400a6379
mov rcx, qword [rsp + 0x70]
call fcn.1400a645e
mov ecx, eax
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x6c], ecx
cmp byte [rax], 0
jne 0x1400a6379
mov eax, dword [0x140245f18]
mov edx, dword [0x140245f1c]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xd3c42302
xor ecx, 0xcabe754d
add eax, ecx
add eax, 0x7f357967
mov ecx, 0xb6e5ffe1
xor ecx, 0xaf9fa9ae
sub eax, ecx
sub eax, 0x83576e2c
mov ecx, 0xf10cfc22
xor ecx, 0xb2099b2b
xor edx, edx
div ecx
cmp eax, 0x22baf23
je 0x1400a643a
mov r9d, dword [rsp + 0x6c]
mov r8, qword [rsp + 0x88]
mov eax, dword [0x140245f20]
and eax, dword [0x140245f24]
mov r10d, 0xffffffff
xor r10d, 0x5fab8cac
mov edx, eax
and edx, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5fab8cac
or eax, 0x5fab8cac
imul eax, edx
add eax, ecx
mov ecx, 0xe188def4
xor edx, edx
div ecx
mov ecx, 0x74d359e4
xor ecx, 0x2e3695ec
imul eax, ecx
mov dword [rsp + 0x60], eax
mov rax, qword [0x14026c038]
mov ecx, 0x1af53a4a
xor ecx, 0x1af5c7a3
mov edx, 0xf70d3618
xor edx, 0xf70d3618
mov r10d, 0xddc3a90d
xor r10d, 0xddc3a90d
xor r11d, r11d
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call rax
mov rcx, qword [rsp + 0x90]
mov edx, eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x64], edx
mov cl, byte [rcx]
mov dl, 0xfe
xor dl, 0xfe
cmp cl, dl
sete cl
mov byte [rsp + 0x6b], cl
cmp eax, 0x3345e1e6
jae 0x1400a643a
mov al, byte [rsp + 0x6b]
test al, 1
jne 0x1400a60f1
jmp 0x1400a6379
mov eax, dword [0x140245f28]
xor eax, dword [0x140245f2c]
mov ecx, 0x205a5e19
xor ecx, 0x9089870b
imul eax, ecx
mov ecx, 0xacbd7499
xor ecx, 0x3adf3321
sub eax, ecx
add eax, 0x4b04d393
cmp eax, 0xe9c5eb04
jb 0x1400a6443
mov ecx, dword [rsp + 0x64]
mov eax, dword [0x140245f30]
xor eax, 0xaaa57f4b
xor eax, dword [0x140245f34]
mov edx, 0xe5ee2957
xor edx, 0xc7b8da1c
add eax, edx
sub eax, 0xe9668fb8
mov edx, 0xe82743fb
xor edx, 0xca71b0b0
sub eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xbdc2b8dc
mov r9d, 0xffffffff
xor r9d, 0xbdc2b8dc
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xbdc2b8dc
or eax, 0xbdc2b8dc
imul eax, r8d
add eax, edx
imul eax, eax, 0x12845053
movsxd rdx, ecx
mov qword [rsp + 0x50], rdx
mov edx, 0x4a940305
xor edx, 0x4a940305
cmp ecx, edx
setl cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xf7c71a66
ja 0x1400a6128
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x1400a61d3
jmp 0x1400a61f0
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
jmp 0x1400a6379
mov eax, dword [0x140245f38]
or eax, dword [0x140245f3c]
mov ecx, 0xffffffff
xor ecx, 0x22ef2c07
add eax, ecx
add eax, 1
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x2ff819f5
xor ecx, 0x7e0e09a7
mov edx, 0x580b3239
xor edx, 0x9fd226b
and ecx, edx
mov edx, 0xe57c3f01
xor edx, 0x1a83c0fe
xor ecx, edx
mov edx, 0x230c3911
xor edx, 0xdcf3c6ee
xor eax, edx
mov edx, 0x9cc0a355
xor edx, 0x633f5caa
xor ecx, edx
or eax, ecx
add eax, 0xc25cbe24
cmp eax, 0x3841a21e
jbe 0x1400a644c
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x140245f40]
xor edx, edx
div dword [0x140245f44]
mov r8d, 0x62525d1a
xor r8d, 0xf1214235
xor edx, edx
div r8d
mov edx, eax
xor edx, 0x5354a9d2
xor edx, 0xffffffff
and edx, 0x5354a9d2
shl edx, 1
sub edx, 0x5354a9d2
sub eax, edx
mov r8d, 0xae908d9c
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x44], eax
call fcn.140018c28
mov rcx, qword [rsp + 0x70]
call fcn.1400a645e
mov rcx, qword [rsp + 0x90]
mov edx, eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x48], edx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x336a40dc
jae 0x1400a644c
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x1400a6301
jmp 0x1400a6379
mov r10d, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
mov r11, qword [rax]
add r11, 8
lea rax, [0x1402588b0]
cmp rcx, 0
cmove r11, rax
mov rax, qword [0x14026c038]
mov ecx, 0x7e8152ac
xor ecx, 0x7e81af45
mov edx, 0x69825b57
xor edx, 0x69825b57
xor esi, esi
mov qword [rsp + 0x20], r11
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call rax
mov eax, dword [0x140245f48]
mov ecx, 0xbc85fee4
xor ecx, 0x48e5c634
xor eax, ecx
mov r8d, dword [0x140245f4c]
mov edx, 0x15b88c23
xor edx, 0xea4773dc
mov ecx, eax
xor ecx, edx
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 ecx, 0xe4d09453
xor edx, edx
div ecx
mov ecx, 0x172b01d9
xor ecx, 0x3f99daec
add eax, ecx
sub eax, 0x6d08c85f
mov ecx, 0xc617324c
xor ecx, 0xf403b10d
cmp eax, ecx
jb 0x1400a6455
mov eax, dword [0x140245f50]
imul eax, dword [0x140245f54]
or eax, 0x33232f21
mov ecx, 0x41e5d013
xor edx, edx
div ecx
mov ecx, 0x73ea2b2b
xor ecx, 0xb868dc37
sub eax, ecx
mov ecx, 0x92f2ed29
xor ecx, 0xc6cb3197
cmp eax, ecx
je 0x1400a63f1
mov rax, qword [rsp + 0x78]
add rsp, 0xa0
pop rsi
ret
jmp 0x129c1fb70
pop rsi
test dword [rdx - 0x2a], edx
jmp 0x1400a6128
retf 0x25ed
invalid