Function at 0x14000d562
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov qword [rsp + 0x38], r8
mov r13, rdx
mov r14, rcx
xorps xmm0, 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 rax, qword [rdx]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x130], rax
xor eax, eax
lea rcx, [0x1400e4d40]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x5c
jne 0x14000d5cb
lea rax, [r14 + 0x28b8]
mov qword [rsp + 0x128], rax
mov eax, 0x33c4088
xor ecx, ecx
mov qword [rsp + 0x100], rcx
lea rbx, [0x1400e4ce0]
lea rdi, [0x1400e68f0]
lea rsi, [0x1400e4dc0]
lea rbp, [0x1400e4070]
lea r8, [0x1400e4da0]
lea r9, [0x1400e68b0]
lea r10, [0x1400e6990]
lea r11, [0x1400e6930]
lea r12, [0x1400e7620]
lea r15, [0x1400e40c0]
mov ecx, 0
mov qword [rsp + 0xf8], rcx
mov ecx, 0
mov qword [rsp + 0xf0], rcx
mov ecx, 0
mov qword [rsp + 0xe8], rcx
mov ecx, 0
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
cmp eax, 0x4a68ab64
jg 0x14000d72f
cmp eax, 0x2b7cb90d
jle 0x14000d77e
cmp eax, 0x431144a9
jg 0x14000d855
cmp eax, 0x2b7cb90e
je 0x14000da40
cmp eax, 0x303dc6fd
je 0x14000daa9
cmp eax, 0x40a872dd
jne 0x14000d6ab
cmp byte [rsp + 0xd0], 0
jne 0x14000d707
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x50], 0x13cd7de5
add rax, 4
cmp rax, 0x20
jne 0x14000d6f1
cmp dword [rsp + 0x30], 8
mov eax, 0x5574850a
mov ecx, 0x44696e15
cmove eax, ecx
xor eax, dword [rsp + 0x88]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x14000d6ab
cmp eax, 0x6fb1eea2
jg 0x14000d7cf
cmp eax, 0x56259860
jle 0x14000d8ff
cmp eax, 0x5fb8fe26
jle 0x14000d9b6
cmp eax, 0x5fb8fe27
je 0x14000db3c
cmp eax, 0x6af489b9
jne 0x14000d6ab
mov eax, dword [rsp + 0x5c]
mov ecx, 0x26bbe77f
xor eax, ecx
mov dword [rsp + 0x34], 4
jmp 0x14000d6ab
cmp eax, 0x17ecc181
jle 0x14000d934
cmp eax, 0x17ecc182
je 0x14000db83
cmp eax, 0x26959245
je 0x14000dbd4
cmp eax, 0x2745755d
jne 0x14000d6ab
mov rax, qword [r14 + 0x28b0]
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
sete byte [rsp + 0x2d]
mov eax, dword [rsp + 0x78]
mov ecx, 0x151014a6
xor eax, ecx
jmp 0x14000d6ab
cmp eax, 0x77b2009b
jle 0x14000d970
cmp eax, 0x77b2009c
je 0x14000dc1e
cmp eax, 0x77b8ca1c
je 0x14000dc65
cmp eax, 0x7d360d45
jne 0x14000d6ab
mov rdx, qword [r13]
mov rcx, r14
mov r8, qword [rsp + 0x38]
call fcn.14000d562
lea r11, [0x1400e6930]
lea r10, [0x1400e6990]
lea r9, [0x1400e68b0]
lea r8, [0x1400e4da0]
lea rbp, [0x1400e4070]
lea rdi, [0x1400e68f0]
lea rbx, [0x1400e4ce0]
mov eax, dword [rsp + 0x60]
mov ecx, 0x26bbe77f
xor eax, ecx
mov dword [rsp + 0x34], 0
jmp 0x14000d6ab
cmp eax, 0x431144aa
je 0x14000dcee
cmp eax, 0x46794484
je 0x14000dd4e
cmp eax, 0x490510ec
jne 0x14000d6ab
mov rcx, qword [r13]
mov qword [rsp + 0x108], rcx
mov rax, qword [rsp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0x20]
dec rcx
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x110]
cmp rax, rcx
setl byte [rsp + 0x2e]
cmp byte [rsp + 0xc8], 0
jne 0x14000d8d2
xor edx, edx
movsxd rsi, dword [rdx + r10]
xor dword [rsp + rsi*4 + 0x50], 0x7cbfe930
add rdx, 4
cmp rdx, 0x1c
jne 0x14000d8bc
cmp rax, rcx
mov eax, 0x7152936d
mov ecx, 0x38349159
cmovl eax, ecx
xor eax, dword [rsp + 0x8c]
mov cl, 1
mov qword [rsp + 0xc8], rcx
lea rsi, [0x1400e4dc0]
jmp 0x14000d6ab
cmp eax, 0x520aa150
je 0x14000dd61
cmp eax, 0x55455782
jne 0x14000de36
mov rax, qword [r14 + 0x28b0]
cmp qword [rax], rax
setne byte [rsp + 0x2f]
mov eax, dword [rsp + 0x70]
mov ecx, 0x60d33e1a
xor eax, ecx
jmp 0x14000d6ab
cmp eax, 0x33c4088
je 0x14000ddc2
cmp eax, 0x549b891
jne 0x14000d6ab
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x120]
mov qword [rcx], rax
mov eax, dword [rsp + 0xa0]
mov ecx, 0x1f7cd295
xor eax, ecx
jmp 0x14000d6ab
cmp eax, 0x6fb1eea3
je 0x14000de1b
cmp eax, 0x6ff39071
jne 0x14000d6ab
mov rax, qword [rsp + 0x108]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x20]
cmp rax, qword [rsp + 0x110]
setl byte [rsp + 0x2e]
mov eax, dword [rsp + 0x90]
mov ecx, 0x448b7869
xor eax, ecx
jmp 0x14000d6ab
cmp eax, 0x56259861
jne 0x14000de43
mov rcx, r13
call fcn.14000ace1
mov rcx, qword [r13]
add rcx, 8
call fcn.14000ace1
mov rax, qword [r13]
mov rcx, qword [rax + 8]
add rcx, 8
call fcn.14000ace1
mov rcx, r13
call fcn.14000ae14
mov rcx, qword [r13]
add rcx, 8
call fcn.14000ae14
lea r11, [0x1400e6930]
lea r10, [0x1400e6990]
lea r9, [0x1400e68b0]
lea r8, [0x1400e4da0]
lea rbp, [0x1400e4070]
lea rdi, [0x1400e68f0]
lea rbx, [0x1400e4ce0]
mov eax, dword [rsp + 0xa4]
mov ecx, 0x331e191
xor eax, ecx
jmp 0x14000d6ab
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
cmp byte [rsp + 0xf8], 0
jne 0x14000da84
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x50], 0x53e92626
add rcx, 4
cmp rcx, 0x50
jne 0x14000da6e
cmp rax, qword [rsp + 0x38]
mov eax, 0x6814487c
mov ecx, 0x7fd6cc80
cmova eax, ecx
xor eax, dword [rsp + 0x58]
mov cl, 1
mov qword [rsp + 0xf8], rcx
jmp 0x14000d6ab
mov rax, qword [r13]
mov rcx, qword [r14 + 0x28b0]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm0
mov rcx, r14
call fcn.14000aaad
lea r11, [0x1400e6930]
lea r10, [0x1400e6990]
lea r9, [0x1400e68b0]
lea r8, [0x1400e4da0]
lea rbp, [0x1400e4070]
lea rdi, [0x1400e68f0]
lea rbx, [0x1400e4ce0]
mov qword [r14 + 0x28b0], rax
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov qword [r13], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [r14 + 0x28c0]
mov qword [rax], rcx
mov qword [r14 + 0x28c0], rax
mov eax, dword [rsp + 0x84]
mov ecx, 0x4dc40c24
xor eax, ecx
mov dword [rsp + 0x30], 0
jmp 0x14000d6ab
cmp byte [rsp + 0xd8], 0
jne 0x14000db5e
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0x50], 0x47c49478
add rax, 4
cmp rax, 0x2c
jne 0x14000db48
test byte [rsp + 0x2d], 1
mov eax, 0x7a952c7c
mov ecx, 0x25190422
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0xd8], rcx
jmp 0x14000d6ab
mov al, byte [rsp + 0x2f]
and al, 1
mov byte [rsp + 0x2d], al
cmp byte [rsp + 0xe0], 0
jne 0x14000dbaf
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x50], 0x3d971519
add rax, 4
cmp rax, 0x34
jne 0x14000db99
cmp byte [rsp + 0x2d], 0
mov eax, 0x507a8ac5
mov ecx, 0x288701bf
cmove eax, ecx
xor eax, dword [rsp + 0x74]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x14000d6ab
cmp byte [rsp + 0xc0], 0
jne 0x14000dbf6
xor eax, eax
movsxd rcx, dword [rax + rsi]
xor dword [rsp + rcx*4 + 0x50], 0x5c59b6c3
add rax, 4
cmp rax, 0x14
jne 0x14000dbe0
test byte [rsp + 0x2e], 1
mov eax, 0x15a62030
mov ecx, 0x2467aea8
cmove eax, ecx
xor eax, dword [rsp + 0x94]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x14000d6ab
cmp byte [rsp + 0xf0], 0
jne 0x14000dc40
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x50], 0x28a16966
add rax, 4
cmp rax, 0x44
jne 0x14000dc2a
cmp dword [rsp + 0x34], 4
mov eax, 0x1218a349
mov ecx, 0x30346b3
cmove eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xf0], rcx
jmp 0x14000d6ab
mov rax, qword [r13]
mov rcx, qword [rax + 0x20]
dec rcx
mov qword [rax + 0x20], rcx
mov qword [rsp + 0x118], rcx
mov rax, qword [rax + 8]
add rax, 0x20
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x118]
cmp byte [rsp + 0xb8], 0
jne 0x14000dcc1
xor edx, edx
movsxd rsi, dword [rdx + r15]
xor dword [rsp + rsi*4 + 0x50], 0x771e161b
add rdx, 4
cmp rdx, 8
jne 0x14000dcab
cmp rcx, rax
mov eax, 0x6862c48e
mov ecx, 0x3b0ee47e
cmovl eax, ecx
xor eax, dword [rsp + 0x9c]
mov cl, 1
mov qword [rsp + 0xb8], rcx
lea rsi, [0x1400e4dc0]
jmp 0x14000d6ab
mov rax, qword [r13]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
cmp rax, rcx
sete byte [rsp + 0x2f]
cmp byte [rsp + 0xe8], 0
jne 0x14000dd24
xor edx, edx
movsxd rsi, dword [rdx + r9]
xor dword [rsp + rsi*4 + 0x50], 0xe97711d
add rdx, 4
cmp rdx, 0x3c
jne 0x14000dd0e
cmp rax, rcx
mov eax, 0x6e444f07
mov ecx, 0x2cedd907
cmove eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0xe8], rcx
lea rsi, [0x1400e4dc0]
jmp 0x14000d6ab
mov eax, dword [rsp + 0x98]
mov ecx, 0x742ff78a
xor eax, ecx
jmp 0x14000d6ab
mov rax, qword [r13]
mov qword [r14 + 0x28b0], rax
mov rdx, qword [r13]
add rdx, 8
mov rcx, r14
mov r8, qword [rsp + 0x38]
call fcn.14000d562
lea r11, [0x1400e6930]
lea r10, [0x1400e6990]
lea r9, [0x1400e68b0]
lea r8, [0x1400e4da0]
lea rbp, [0x1400e4070]
lea rdi, [0x1400e68f0]
lea rbx, [0x1400e4ce0]
mov eax, dword [rsp + 0x68]
mov ecx, 0x3ab9ca2f
xor eax, ecx
jmp 0x14000d6ab
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x130]
cmp byte [rsp + 0x100], 0
jne 0x14000ddf1
xor edx, edx
movsxd rsi, dword [rdx + rbx]
xor dword [rsp + rsi*4 + 0x50], 0x7a21c57f
add rdx, 4
cmp rdx, 0x58
jne 0x14000dddb
cmp rcx, rax
mov eax, 0x53bdbdb4
mov ecx, 0x20d9ff49
cmove eax, ecx
xor eax, dword [rsp + 0x50]
mov cl, 1
mov qword [rsp + 0x100], rcx
lea rsi, [0x1400e4dc0]
jmp 0x14000d6ab
mov eax, dword [rsp + 0x80]
mov ecx, 0x4dc40c24
xor eax, ecx
mov dword [rsp + 0x30], 8
jmp 0x14000d6ab
cmp eax, 0x4a68ab65
jne 0x14000d6ab
jmp 0x14000de4e
cmp eax, 0x5818fbf3
jne 0x14000d6ab
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret