Function at 0x1400a637f
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x28], rcx
lea rax, [rcx + 0xc]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax]
mov qword [rsp + 0x128], rax
xor eax, eax
lea rcx, [0x1400ff110]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x74
jne 0x1400a63f7
mov eax, 0x520aa150
xor ecx, ecx
mov qword [rsp + 0x120], rcx
lea r9, [0x1400ff3f0]
lea r8, [0x1400ff3c0]
lea r10, [0x1400ff438]
lea r11, [0x1400ff190]
lea rsi, [0x1400ff410]
lea rbp, [0x1400ff0a0]
lea rdi, [0x1400ff350]
lea rcx, [0x1400ff390]
lea rbx, [0x1400ff428]
lea r13, [0x1400ff200]
lea r14, [0x1400ff310]
mov r15d, 0
mov r12d, 0
xor edx, edx
mov qword [rsp + 0x110], rdx
xor edx, edx
mov qword [rsp + 0x118], rdx
xor edx, edx
mov qword [rsp + 0x100], rdx
xor edx, edx
mov qword [rsp + 0x108], rdx
xor edx, edx
mov qword [rsp + 0xf8], rdx
xor edx, edx
mov qword [rsp + 0xe8], rdx
xor edx, edx
mov qword [rsp + 0xf0], rdx
xor edx, edx
mov qword [rsp + 0xe0], rdx
xor edx, edx
mov qword [rsp + 0xd8], rdx
xor edx, edx
mov qword [rsp + 0xd0], rdx
cmp eax, 0x490510eb
jg 0x1400a6558
cmp eax, 0x26959244
jle 0x1400a65b8
cmp eax, 0x37fa3593
jg 0x1400a66b4
cmp eax, 0x303dc6fc
jg 0x1400a688c
cmp eax, 0x26959245
je 0x1400a6b56
cmp eax, 0x2745755d
jne 0x1400a64d9
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 0x10]
inc rax
mov qword [rsp + 0x38], rax
test r15b, r15b
jne 0x1400a6541
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0x50], 0x59f86fa6
add rax, 4
cmp rax, 0x64
jne 0x1400a652b
mov eax, dword [rsp + 0x60]
mov ecx, 0x6d512f66
xor eax, ecx
mov r15b, 1
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x5fb8fe26
jg 0x1400a662b
cmp eax, 0x5473af88
jle 0x1400a671c
cmp eax, 0x56259860
jg 0x1400a68e9
cmp eax, 0x5473af89
je 0x1400a6bb7
cmp eax, 0x55455782
jne 0x1400a64d9
mov rax, qword [rsp + 0x128]
cmp rax, 0x1f
mov eax, 0x25a5b498
mov ecx, 0x150c0047
cmovg eax, ecx
lea rcx, [0x1400ff390]
xor eax, dword [rsp + 0x58]
jmp 0x1400a64d9
cmp eax, 0x17ecc181
jle 0x1400a6791
cmp eax, 0x1bcad33c
jg 0x1400a69ad
cmp eax, 0x17ecc182
je 0x1400a6bfe
cmp eax, 0x1940c862
jne 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x98]
mov ecx, 0x2417be5d
jmp 0x1400a7003
cmp eax, 0x6ecc484d
jle 0x1400a681b
cmp eax, 0x6ff39070
jg 0x1400a6a2c
cmp eax, 0x6ecc484e
je 0x1400a6c55
cmp eax, 0x6fb1eea3
jne 0x1400a64d9
mov rax, qword [rsp + 0x38]
cmp rax, 0xffffffff80000000
setl cl
mov rax, qword [rsp + 0x38]
cmp rax, 0x7fffffff
setg al
or al, cl
test r12b, r12b
jne 0x1400a6692
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x50], 0x23b3651a
add rcx, 4
cmp rcx, 0x5c
jne 0x1400a667c
test al, al
mov eax, 0x1bb0dcbe
mov ecx, 0x6b25689e
cmovne eax, ecx
xor eax, dword [rsp + 0x68]
mov r12b, 1
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x411603ed
jle 0x1400a6aec
cmp eax, 0x411603ee
je 0x1400a6cbe
cmp eax, 0x46794484
jne 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x80]
mov ecx, 0x2335197
jmp 0x1400a7003
cmp eax, 0x490510ec
je 0x1400a6d2a
cmp eax, 0x4a68ab65
je 0x1400a6d4e
cmp eax, 0x520aa150
jne 0x1400a64d9
mov rax, qword [rsp + 0x128]
cmp byte [rsp + 0x120], 0
jne 0x1400a6767
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x50], 0x7a21c57f
add rcx, 4
cmp rcx, 0x70
jne 0x1400a6751
test rax, rax
mov eax, 0x2d845338
mov ecx, 0x6f2dc538
cmovle eax, ecx
xor eax, dword [rsp + 0x50]
mov cl, 1
mov qword [rsp + 0x120], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x1c8405e
je 0x1400a6d95
cmp eax, 0x549b891
je 0x1400a6ded
cmp eax, 0x1236ecda
jne 0x1400a64d9
mov rax, qword [rsp + 0x40]
movsxd rcx, eax
add rcx, qword [rsp + 0x138]
seto al
mov qword [rsp + 0x140], rcx
cmp byte [rsp + 0xe8], 0
jne 0x1400a67ef
xor ecx, ecx
movsxd rdx, dword [rcx + r8]
xor dword [rsp + rdx*4 + 0x50], 0x771e161b
add rcx, 4
cmp rcx, 0x28
jne 0x1400a67d9
test al, al
mov eax, 0x37e912d9
mov ecx, 0x117b071
cmovne eax, ecx
xor eax, dword [rsp + 0x9c]
mov cl, 1
mov qword [rsp + 0xe8], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x5fb8fe27
je 0x1400a6e34
cmp eax, 0x61ef7259
je 0x1400a6e81
cmp eax, 0x648bcbe3
jne 0x1400a64d9
call fcn.140011264
lea rcx, [0x1400ff390]
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0xa8]
mov edx, 0x2500b824
xor eax, edx
jmp 0x1400a64d9
cmp eax, 0x303dc6fd
je 0x1400a6ed1
cmp eax, 0x3736e2f6
jne 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0xa0]
mov ecx, 0x40f704c2
jmp 0x1400a7003
cmp eax, 0x56259861
je 0x1400a6f15
cmp eax, 0x5818fbf3
jne 0x1400a64d9
mov rdi, rbp
mov rbp, rsi
mov rsi, r11
mov r11, r10
mov r10, r9
mov r9, r8
mov r8, r12
mov r12, r15
mov r15, r14
mov r14, r13
mov rax, qword [rsp + 0x40]
cmp rax, 0xffffffff80000000
mov r13, rcx
setl cl
mov rax, qword [rsp + 0x40]
cmp rax, 0x7fffffff
setg al
or al, cl
cmp byte [rsp + 0xf8], 0
jne 0x1400a6960
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x50], 0x5c59b6c3
add rcx, 4
cmp rcx, 0x30
jne 0x1400a694a
test al, al
mov eax, 0x784e089e
mov ecx, 0x73382c26
cmovne eax, ecx
xor eax, dword [rsp + 0x94]
mov cl, 1
mov qword [rsp + 0xf8], rcx
mov rcx, r13
mov r13, r14
mov r14, r15
mov r15, r12
mov r12, r8
mov r8, r9
mov r9, r10
mov r10, r11
mov r11, rsi
mov rsi, rbp
mov rbp, rdi
lea rdi, [0x1400ff350]
jmp 0x1400a64d9
cmp eax, 0x1bcad33d
je 0x1400a6f70
cmp eax, 0x25f10878
jne 0x1400a64d9
mov rax, qword [rsp + 0x28]
movsxd rcx, dword [rax]
add rcx, qword [rsp + 0x148]
seto al
mov qword [rsp + 0x150], rcx
cmp byte [rsp + 0xd0], 0
jne 0x1400a6a00
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rsp + rdx*4 + 0x50], 0x6af489b9
add rcx, 4
cmp rcx, 8
jne 0x1400a69ea
test al, al
mov eax, 0x3cf00c3d
mov ecx, 0x6ae54bf0
cmovne eax, ecx
xor eax, dword [rsp + 0xbc]
mov cl, 1
mov qword [rsp + 0xd0], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x6ff39071
je 0x1400a6fb4
cmp eax, 0x77b8ca1c
jne 0x1400a64d9
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax]
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0x130]
call fcn.1400a2b37
imul rcx, rax, 0x15180
seto al
mov qword [rsp + 0x138], rcx
cmp byte [rsp + 0x100], 0
jne 0x1400a6a8f
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x50], 0x634c96ff
add rcx, 4
cmp rcx, 0x40
jne 0x1400a6a79
test al, al
mov eax, 0x23ae03ea
mov ecx, 0x70c2231a
cmovne eax, ecx
xor eax, dword [rsp + 0x84]
mov cl, 1
mov qword [rsp + 0x100], rcx
lea r9, [0x1400ff3f0]
lea r8, [0x1400ff3c0]
lea r10, [0x1400ff438]
lea r11, [0x1400ff190]
lea rsi, [0x1400ff410]
lea rbp, [0x1400ff0a0]
lea rdi, [0x1400ff350]
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x40a872dd
jne 0x1400a7011
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
cmp byte [rsp + 0x110], 0
jne 0x1400a6b2d
xor ecx, ecx
lea rdx, [0x1400ff260]
movsxd rdx, dword [rcx + rdx]
xor dword [rsp + rdx*4 + 0x50], 0x4ae4c48a
add rcx, 4
cmp rcx, 0x54
jne 0x1400a6b10
test eax, eax
mov eax, 0x31aedb95
mov ecx, 0x17585b08
cmovle eax, ecx
xor eax, dword [rsp + 0x70]
mov cl, 1
mov qword [rsp + 0x110], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 0x14]
add rax, 0x76c
mov qword [rsp + 0x130], rax
cmp byte [rsp + 0x118], 0
jne 0x1400a6b96
xor eax, eax
lea rcx, [0x1400ff2c0]
movsxd rcx, dword [rax + rcx]
xor dword [rsp + rcx*4 + 0x50], 0x47c49478
add rax, 4
cmp rax, 0x48
jne 0x1400a6b79
mov eax, dword [rsp + 0x7c]
mov ecx, 0x45f7c5ef
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x118], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0xb8]
mov ecx, 0x2efb31d1
jmp 0x1400a7003
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax]
mov edx, 1
mov r8d, 0x1f
call fcn.14001c234
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x5c]
mov ecx, 0x25a5b498
jmp 0x1400a7003
mov rax, qword [rsp + 0x48]
movsxd rcx, eax
add rcx, qword [rsp + 0x140]
seto al
mov qword [rsp + 0x148], rcx
cmp byte [rsp + 0xd8], 0
jne 0x1400a6c92
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x50], 0xd5cdd11
add rcx, 4
cmp rcx, 0x10
jne 0x1400a6c7c
test al, al
mov eax, 0x23a7ecc0
mov ecx, 0x52254b31
cmovne eax, ecx
xor eax, dword [rsp + 0xb4]
mov cl, 1
mov qword [rsp + 0xd8], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
mov rax, qword [rsp + 0x48]
cmp rax, 0xffffffff80000000
setl cl
mov rax, qword [rsp + 0x48]
cmp rax, 0x7fffffff
setg al
or al, cl
cmp byte [rsp + 0xe0], 0
jne 0x1400a6cfe
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rsp + rdx*4 + 0x50], 0x62405f72
add rcx, 4
cmp rcx, 0x18
jne 0x1400a6ce8
test al, al
mov eax, 0xadaf384
mov ecx, 0x7fdc68f7
cmovne eax, ecx
xor eax, dword [rsp + 0xac]
mov cl, 1
mov qword [rsp + 0xe0], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
mov eax, dword [rsp + 0x24]
cmp eax, 0xc
mov eax, 0x14da9db6
mov ecx, 0x5dbc9f82
cmovg eax, ecx
lea rcx, [0x1400ff390]
xor eax, dword [rsp + 0x74]
jmp 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x90]
mov ecx, 0x32601fb7
jmp 0x1400a7003
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x3c
mov qword [rsp + 0x48], rax
cmp byte [rsp + 0xf0], 0
jne 0x1400a6dc9
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x50], 0x2529ff56
add rax, 4
cmp rax, 0x20
jne 0x1400a6db3
mov eax, dword [rsp + 0xa4]
mov ecx, 0x294772
xor eax, ecx
mov cl, 1
mov qword [rsp + 0xf0], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x88]
mov ecx, 0x40e29515
jmp 0x1400a7003
call fcn.140011264
lea rcx, [0x1400ff390]
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x64]
mov edx, 0x34a940c0
xor eax, edx
jmp 0x1400a64d9
call fcn.140011264
lea rcx, [0x1400ff390]
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0xc0]
mov edx, 0x56048584
xor eax, edx
jmp 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x6c]
mov ecx, 0x3803b9a4
jmp 0x1400a7003
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 8]
imul rax, rax, 0xe10
mov qword [rsp + 0x40], rax
cmp byte [rsp + 0x108], 0
jne 0x1400a6f4c
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x50], 0x7cbfe930
add rax, 4
cmp rax, 0x38
jne 0x1400a6f36
mov eax, dword [rsp + 0x8c]
mov ecx, 0x4edff687
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x108], rcx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
call fcn.140011264
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0xb0]
mov ecx, 0x689aacf6
jmp 0x1400a7003
movsxd rcx, dword [rsp + 0x24]
mov edx, 1
mov r8d, 0xc
call fcn.14001c234
lea rdi, [0x1400ff350]
lea rbp, [0x1400ff0a0]
lea rsi, [0x1400ff410]
lea r11, [0x1400ff190]
lea r10, [0x1400ff438]
lea r8, [0x1400ff3c0]
lea r9, [0x1400ff3f0]
mov eax, dword [rsp + 0x78]
mov ecx, 0x14da9db6
xor eax, ecx
lea rcx, [0x1400ff390]
jmp 0x1400a64d9
cmp eax, 0x37fa3594
jne 0x1400a64d9
mov rax, qword [rsp + 0x150]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret