Function at 0x14004068f
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov qword [rsp + 0x140], r8
mov r13, rdx
mov rdi, qword [rsp + 0x1b8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c], 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 byte [rsp + 0x2f], r9b
xor eax, eax
lea rcx, [0x1400f2d90]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x58
jne 0x1400406e4
mov eax, 0x62405f72
xor ecx, ecx
mov qword [rsp + 0xd8], rcx
lea rbp, [0x1400f1f0c]
lea rsi, [0x1400f1f70]
lea r8, [0x1400f1f20]
mov ebx, 0x5d583fe2
lea r9, [0x1400f1f8c]
lea r10, [0x1400f3514]
lea r11, [0x1400f1f58]
lea r15, [0x1400f1f60]
lea r12, [0x1400f2d30]
lea r14, [0x1400f2bd4]
mov ecx, 0
mov qword [rsp + 0xd0], rcx
mov ecx, 0
mov qword [rsp + 0xc8], rcx
mov ecx, 0
mov qword [rsp + 0xc0], rcx
mov ecx, 0
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
xor ecx, ecx
mov qword [rsp + 0x98], rcx
cmp eax, 0x520aa14f
jg 0x14004083e
cmp eax, 0x2b7cb90d
jle 0x140040893
cmp eax, 0x431144a9
jg 0x14004096c
cmp eax, 0x2b7cb90e
je 0x140040b1b
cmp eax, 0x303dc6fd
je 0x140040b3e
cmp eax, 0x40a872dd
jne 0x1400407a9
mov rax, qword [r13]
lea rcx, [rdi + rdi*2]
mov dl, byte [rsp + 0x2f]
mov byte [rax + rcx*8 + 0x20], dl
cmp byte [rsp + 0xa8], 0
jne 0x140040819
xor eax, eax
movsxd rcx, dword [rax + rsi]
xor dword [rsp + rcx*4 + 0x30], 0x7cbfe930
add rax, 4
cmp rax, 0x1c
jne 0x140040803
cmp byte [rsp + 0x2e], 0
mov eax, 0x10115a3
mov ecx, 0xe7d41cb
cmovne eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0xa8], rcx
jmp 0x1400407a9
cmp eax, 0x6fb1eea2
jg 0x1400408dd
cmp eax, 0x5fb8fe26
jle 0x1400409f0
cmp eax, 0x5fb8fe27
je 0x140040b94
cmp eax, 0x62405f72
je 0x140040bf7
cmp eax, 0x6af489b9
jne 0x1400407a9
cmp qword [rsp + 0xe0], rdi
mov eax, 0x2c3feaa6
mov ecx, 0x1218a349
cmovg eax, ecx
xor eax, dword [rsp + 0x40]
jmp 0x1400407a9
cmp eax, 0x17ecc181
jle 0x140040a69
cmp eax, 0x17ecc182
je 0x140040c46
cmp eax, 0x26959245
je 0x140040c69
cmp eax, 0x2745755d
jne 0x1400407a9
cmp qword [rsp + 0xf0], rdi
mov eax, 0x2a2bee71
mov ecx, 0x353b628b
cmovg eax, ecx
xor eax, dword [rsp + 0x5c]
jmp 0x1400407a9
cmp eax, 0x77b2009b
jle 0x140040ae2
cmp eax, 0x77b2009c
je 0x140040c87
cmp eax, 0x77b8ca1c
je 0x140040caa
cmp eax, 0x7d360d45
jne 0x1400407a9
mov rax, qword [r13]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
cmp byte [rsp + 0xc8], 0
jne 0x14004093f
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x30], 0x28a16966
add rcx, 4
cmp rcx, 8
jne 0x140040929
test rax, rax
mov eax, 0x7552c159
mov ecx, 0x50ea6095
cmove eax, ecx
xor eax, dword [rsp + 0x44]
mov cl, 1
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
jmp 0x1400407a9
cmp eax, 0x431144aa
je 0x140040cd0
cmp eax, 0x46794484
je 0x140040d27
cmp eax, 0x490510ec
jne 0x1400407a9
mov rax, qword [r13]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
cmp byte [rsp + 0xa0], 0
jne 0x1400409c3
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rsp + rdx*4 + 0x30], 0x69603052
add rcx, 4
cmp rcx, 8
jne 0x1400409ad
test rax, rax
mov eax, 0x5b487c0e
mov ecx, 0x122e7e3a
cmove eax, ecx
xor eax, dword [rsp + 0x70]
mov cl, 1
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0x100], rcx
jmp 0x1400407a9
cmp eax, 0x520aa150
je 0x140040d8a
cmp eax, 0x55455782
jne 0x140040e5c
mov rax, qword [r13]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
cmp byte [rsp + 0xb8], 0
jne 0x140040a3c
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rsp + rdx*4 + 0x30], 0x3d971519
add rcx, 4
cmp rcx, 8
jne 0x140040a26
test rax, rax
mov eax, 0x5fe8c4cd
mov ecx, 0x6f417012
cmove eax, ecx
xor eax, dword [rsp + 0x54]
mov cl, 1
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
jmp 0x1400407a9
cmp eax, 0x549b891
je 0x140040de0
cmp eax, 0xd5cdd11
jne 0x1400407a9
mov rax, qword [r13]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
cmp byte [rsp + 0xd0], 0
jne 0x140040ab5
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x30], 0x53e92626
add rcx, 4
cmp rcx, 8
jne 0x140040a9f
test rax, rax
mov eax, 0x299c78cb
mov ecx, 0x6814487c
cmove eax, ecx
xor eax, dword [rsp + 0x38]
mov cl, 1
mov qword [rsp + 0xd0], rcx
xor ecx, ecx
mov qword [rsp + 0xe0], rcx
jmp 0x1400407a9
cmp eax, 0x6fb1eea3
je 0x140040e39
cmp eax, 0x6ff39071
jne 0x1400407a9
mov rax, qword [rsp + 0x130]
mov rax, qword [rax]
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x74]
mov ecx, 0x7b4e4e68
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0x3c]
mov ecx, 0x3bfd6e5a
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [rsp + 0xf8]
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14001ce24
lea r11, [0x1400f1f58]
lea r10, [0x1400f3514]
lea r9, [0x1400f1f8c]
lea r8, [0x1400f1f20]
lea rsi, [0x1400f1f70]
lea rbp, [0x1400f1f0c]
mov rdi, qword [rsp + 0x1b8]
mov eax, dword [rsp + 0x68]
mov ecx, 0x7ff7666a
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [r13]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
cmp byte [rsp + 0xb0], 0
jne 0x140040bca
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rsp + rdx*4 + 0x30], 0x775b11f8
add rcx, 4
cmp rcx, 8
jne 0x140040bb4
test rax, rax
mov eax, 0x27b5ebec
mov ecx, 0x7839c3b2
cmove eax, ecx
xor eax, dword [rsp + 0x60]
mov cl, 1
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xf8], rcx
jmp 0x1400407a9
test rdi, rdi
sets byte [rsp + 0x2e]
cmp byte [rsp + 0xd8], 0
jne 0x140040c21
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0x54
jne 0x140040c0b
cmp byte [rsp + 0x2e], 0
mov eax, 0x759dd9ab
mov ecx, 0x5f709ff
cmovne eax, ecx
xor eax, dword [rsp + 0x30]
mov cl, 1
mov qword [rsp + 0xd8], rcx
jmp 0x1400407a9
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x58]
mov ecx, 0x52d6650b
xor eax, ecx
jmp 0x1400407a9
cmp qword [rsp + 0x100], rdi
mov eax, 0x1ba298a9
mov ecx, 0xbfe444c
cmovg eax, ecx
xor eax, dword [rsp + 0x78]
jmp 0x1400407a9
mov rax, qword [rsp + 0x118]
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x48]
mov ecx, 0x784b09f3
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [rsp + 0x138]
mov rax, qword [rax]
mov qword [rsp + 0x108], rax
mov eax, dword [rsp + 0x80]
mov ecx, 0x46ec42f5
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [r13]
lea rcx, [rdi + rdi*2]
mov rdx, qword [rsp + 0x140]
mov qword [rax + rcx*8 + 0x18], rdx
cmp byte [rsp + 0xc0], 0
jne 0x140040d07
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x30], 0x4ae4c48a
add rax, 4
cmp rax, 0x38
jne 0x140040cf1
cmp byte [rsp + 0x2e], 0
mov eax, 0x57a59647
cmovne eax, ebx
xor eax, dword [rsp + 0x50]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x1400407a9
mov rax, qword [r13]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
cmp byte [rsp + 0x98], 0
jne 0x140040d5d
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rsp + rdx*4 + 0x30], 0x771e161b
add rcx, 4
cmp rcx, 8
jne 0x140040d47
test rax, rax
mov eax, 0x43032663
mov ecx, 0x31f254ee
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov qword [rsp + 0x108], rcx
jmp 0x1400407a9
mov rax, qword [rsp + 0xe8]
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14001ce24
lea r11, [0x1400f1f58]
lea r10, [0x1400f3514]
lea r9, [0x1400f1f8c]
lea r8, [0x1400f1f20]
lea rsi, [0x1400f1f70]
lea rbp, [0x1400f1f0c]
mov rdi, qword [rsp + 0x1b8]
mov eax, dword [rsp + 0x4c]
mov ecx, 0x6950ec09
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [rsp + 0x108]
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14001ce24
lea r11, [0x1400f1f58]
lea r10, [0x1400f3514]
lea r9, [0x1400f1f8c]
lea r8, [0x1400f1f20]
lea rsi, [0x1400f1f70]
lea rbp, [0x1400f1f0c]
mov rdi, qword [rsp + 0x1b8]
mov eax, dword [rsp + 0x84]
mov ecx, 0x15806205
xor eax, ecx
jmp 0x1400407a9
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x64]
mov ecx, 0xf62d24a
xor eax, ecx
jmp 0x1400407a9
cmp eax, 0x56259861
jne 0x1400407a9
mov rax, qword [r13]
lea rcx, [rdi + rdi*2]
mov rdx, qword [rsp + 0x1b0]
mov qword [rax + rcx*8 + 0x10], rdx
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret