Function at 0x1400a08ca
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x88], rdx
mov rbx, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x200]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xe8], rcx
mov rax, qword [rsp + 0xe8]
movups xmmword [rax], xmm0
mov cl, 7
mov dl, 3
call fcn.14009f020
mov rbp, rax
mov cl, 6
mov dl, 3
mov r8, rbx
call fcn.14009f020
add rax, rbp
mov qword [rsp + 0xf0], rax
seto byte [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
mov al, byte [rsp + 0xf8]
mov byte [rsp + 0x2f], al
xor eax, eax
lea rcx, [0x1400ff6f0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x4c
jne 0x1400a0983
movabs rcx, 0x112e0be826d694b3
mov rbp, qword [rsp + 0x88]
mov rax, rbp
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
imul rax, rdx, 0x3b9aca00
sub rbp, rax
mov qword [rsp + 0x118], rbp
movabs rcx, 0x20c49ba5e353f7cf
mov rbp, qword [rsp + 0x98]
mov rax, rbp
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
imul rax, rdx, 0x3e8
sub rbp, rax
mov qword [rsp + 0x110], rbp
movabs rcx, 0x431bde82d7b634db
mov rbp, qword [rsp + 0x90]
mov rax, rbp
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rax, rdx, 0xf4240
sub rbp, rax
mov qword [rsp + 0x108], rbp
mov eax, 0x5fcc2877
lea rsi, [0x1400fefa0]
lea rbp, [0x1400ff060]
lea rbx, [0x1400ff088]
lea rdi, [0x1400ff040]
lea r15, [0x1400ff078]
lea r14, [0x1400ff6a0]
lea r13, [0x1400ff740]
lea r12, [0x1400fefe0]
xor ecx, ecx
mov qword [rsp + 0xe0], rcx
xor ecx, ecx
mov qword [rsp + 0xd8], rcx
xor ecx, ecx
mov qword [rsp + 0xd0], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
cmp eax, 0x490510eb
jle 0x1400a0b24
cmp eax, 0x62405f71
jle 0x1400a0bbf
cmp eax, 0x6fb1eea2
jle 0x1400a0c7e
cmp eax, 0x6fb1eea3
je 0x1400a0dc6
cmp eax, 0x77b2009c
je 0x1400a0ddb
cmp eax, 0x7d360d45
jne 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x50]
mov ecx, 0x6209659b
xor eax, ecx
jmp 0x1400a0ad8
cmp eax, 0x2745755c
jle 0x1400a0bf5
cmp eax, 0x303dc6fc
jle 0x1400a0cfc
cmp eax, 0x303dc6fd
je 0x1400a100d
cmp eax, 0x40a872dd
je 0x1400a0e4c
cmp eax, 0x431144aa
jne 0x1400a0ad8
mov cl, 1
mov dl, 3
mov r8, qword [rsp + 0x90]
call fcn.14009f020
add rax, qword [rsp + 0x140]
seto cl
mov qword [rsp + 0x148], rax
cmp byte [rsp + 0xb8], 0
jne 0x1400a0b9d
xor eax, eax
movsxd rdx, dword [rax + rdi]
xor dword [rsp + rdx*4 + 0x30], 0x47c49478
add rax, 4
cmp rax, 0x20
jne 0x1400a0b87
test cl, cl
mov eax, 0x3fc0b19c
mov ecx, 0x7d69279c
cmovne eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0xb8], rcx
jmp 0x1400a0ad8
cmp eax, 0x5fb8fe26
jg 0x1400a0d27
cmp eax, 0x520aa150
je 0x1400a0e61
cmp eax, 0x55455782
jne 0x1400a1000
call fcn.140011264
mov eax, dword [rsp + 0x60]
mov ecx, 0x780425e4
xor eax, ecx
jmp 0x1400a0ad8
cmp eax, 0x17ecc181
jg 0x1400a0d9b
cmp eax, 0x33c4088
je 0x1400a0e76
cmp eax, 0xd5cdd11
jne 0x1400a0ad8
mov cl, 5
mov dl, 3
mov r8, qword [rsp + 0x1f0]
call fcn.14009f020
add rax, qword [rsp + 0x128]
seto cl
mov qword [rsp + 0x130], rax
cmp byte [rsp + 0xd0], 0
jne 0x1400a0c5c
xor eax, eax
movsxd rdx, dword [rax + rsi]
xor dword [rsp + rdx*4 + 0x30], 0x28a16966
add rax, 4
cmp rax, 0x38
jne 0x1400a0c46
test cl, cl
mov eax, 0x5979f4c5
mov ecx, 0x18f1c472
cmovne eax, ecx
xor eax, dword [rsp + 0x44]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x1400a0ad8
cmp eax, 0x62405f72
je 0x1400a0e8b
cmp eax, 0x6af489b9
jne 0x1400a0ad8
mov cl, 3
mov dl, 3
mov r8, qword [rsp + 0x1e0]
call fcn.14009f020
add rax, qword [rsp + 0x130]
seto cl
mov qword [rsp + 0x138], rax
cmp byte [rsp + 0xc8], 0
jne 0x1400a0cda
xor eax, eax
movsxd rdx, dword [rax + r12]
xor dword [rsp + rdx*4 + 0x30], 0xe97711d
add rax, 4
cmp rax, 0x30
jne 0x1400a0cc4
test cl, cl
mov eax, 0x6c9e1486
mov ecx, 0x661a195f
cmovne eax, ecx
xor eax, dword [rsp + 0x4c]
mov cl, 1
mov qword [rsp + 0xc8], rcx
jmp 0x1400a0ad8
cmp eax, 0x2745755d
je 0x1400a0ef3
cmp eax, 0x2b7cb90e
jne 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x48]
mov ecx, 0x71d89da3
xor eax, ecx
jmp 0x1400a0ad8
cmp eax, 0x5fb8fe27
je 0x1400a0f08
cmp eax, 0x5fcc2877
jne 0x1400a0ad8
mov al, byte [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x120], rax
cmp byte [rsp + 0xe0], 0
jne 0x1400a0d76
xor eax, eax
movsxd rcx, dword [rax + r14]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0x48
jne 0x1400a0d60
cmp byte [rsp + 0x2f], 0
mov eax, 0x1a815bc8
mov ecx, 0x5b70f8e5
cmovne eax, ecx
xor eax, dword [rsp + 0x30]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x1400a0ad8
cmp eax, 0x17ecc182
je 0x1400a0f98
cmp eax, 0x23b1fc5f
jne 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x38]
mov ecx, 0x60a09eb7
xor eax, ecx
jmp 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x70]
mov ecx, 0x40265d54
xor eax, ecx
jmp 0x1400a0ad8
mov cl, 2
mov dl, 3
mov r8, qword [rsp + 0x98]
call fcn.14009f020
lea rcx, [0x1400ff010]
add rax, qword [rsp + 0x138]
seto r8b
mov qword [rsp + 0x140], rax
cmp byte [rsp + 0xc0], 0
jne 0x1400a0e29
xor eax, eax
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x3d971519
add rax, 4
cmp rax, 0x28
jne 0x1400a0e13
test r8b, r8b
mov eax, 0x56aa21ad
mov ecx, 0x47b1c457
cmovne eax, ecx
xor eax, dword [rsp + 0x54]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x78]
mov ecx, 0x65473d86
xor eax, ecx
jmp 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x58]
mov ecx, 0x6b3d34b4
xor eax, ecx
jmp 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x40]
mov ecx, 0x3ed1a06d
xor eax, ecx
jmp 0x1400a0ad8
mov cl, 4
mov dl, 3
mov r8, qword [rsp + 0x1e8]
call fcn.14009f020
add rax, qword [rsp + 0x120]
seto cl
mov qword [rsp + 0x128], rax
cmp byte [rsp + 0xd8], 0
jne 0x1400a0ed1
xor eax, eax
movsxd rdx, dword [rax + r13]
xor dword [rsp + rdx*4 + 0x30], 0x316dbcb9
add rax, 4
cmp rax, 0x40
jne 0x1400a0ebb
test cl, cl
mov eax, 0xfbc1cd4
mov ecx, 0x1dc814d
cmovne eax, ecx
xor eax, dword [rsp + 0x3c]
mov cl, 1
mov qword [rsp + 0xd8], rcx
jmp 0x1400a0ad8
call fcn.140011264
mov eax, dword [rsp + 0x68]
mov ecx, 0x531c8cbe
xor eax, ecx
jmp 0x1400a0ad8
mov r12, r13
mov r13, r14
mov cl, 2
xor edx, edx
mov r8, qword [rsp + 0x110]
call fcn.14009f020
mov r14, r15
mov r15, rax
mov cl, 1
xor edx, edx
mov r8, qword [rsp + 0x108]
call fcn.14009f020
add rax, r15
mov r15, r14
seto cl
mov qword [rsp + 0x158], rax
cmp byte [rsp + 0xa8], 0
jne 0x1400a0f69
xor eax, eax
movsxd rdx, dword [rax + r15]
xor dword [rsp + rdx*4 + 0x30], 0x7cbfe930
add rax, 4
cmp rax, 0x10
jne 0x1400a0f53
test cl, cl
mov eax, 0x3c99b464
mov ecx, 0x63159c3a
cmovne eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0xa8], rcx
mov r14, r13
mov r13, r12
lea r12, [0x1400fefe0]
jmp 0x1400a0ad8
xor ecx, ecx
mov dl, 3
mov r8, qword [rsp + 0x88]
call fcn.14009f020
add rax, qword [rsp + 0x148]
seto cl
mov qword [rsp + 0x150], rax
cmp byte [rsp + 0xb0], 0
jne 0x1400a0fde
xor eax, eax
movsxd rdx, dword [rax + rbp]
xor dword [rsp + rdx*4 + 0x30], 0x634c96ff
add rax, 4
cmp rax, 0x18
jne 0x1400a0fc8
test cl, cl
mov eax, 0x30501a41
mov ecx, 0x48ad913b
cmovne eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xb0], rcx
jmp 0x1400a0ad8
cmp eax, 0x490510ec
jne 0x1400a0ad8
jmp 0x1400a1064
mov rcx, qword [rsp + 0x158]
add rcx, qword [rsp + 0x118]
seto al
mov qword [rsp + 0x160], rcx
cmp byte [rsp + 0xa0], 0
jne 0x1400a104a
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x30], 0x5c59b6c3
add rcx, 4
cmp rcx, 8
jne 0x1400a1034
test al, al
mov eax, 0x391e8b45
mov ecx, 0x30b3e974
cmovne eax, ecx
xor eax, dword [rsp + 0x74]
mov cl, 1
jmp 0x1400a0ad0
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x160]
lea rsi, [rsp + 0x168]
mov rcx, rsi
call fcn.1400a02f6
mov rax, qword [rsp + 0xe8]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x100]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret