Function at 0x140002348
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov r15d, ecx
xor edi, edi
mov dword [rbp - 0x69], 0xed491e00
mov dword [rbp - 0x65], 0xf218740f
mov dword [rbp - 0x61], 0xd84f1f23
mov word [rbp - 0x5d], 0x680e
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov ecx, 0x518
mov eax, dword [rcx + rbx]
mov esi, 0x208
lea r12d, [rdi + 1]
test r12b, al
jne 0x1400023df
or eax, r12d
mov dword [rcx + rbx], eax
mov word [rbx + rsi + 0xe], 0x17b
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbx + rsi], xmm0
mov eax, dword [rbp - 0x61]
mov dword [rbx + rsi + 8], eax
movzx eax, word [rbp - 0x5d]
mov word [rbx + rsi + 0xc], ax
lea rcx, [0x140006108]
call fcn.140004798
nop
lea r14, [rbx + rsi]
mov r13b, 7
movabs r11, 0xb37b1b7dbd3d7b47
cmp byte [r14 + 0xf], dil
je 0x140002419
mov r8, rdi
mov cl, r8b
and cl, r13b
shl cl, 3
mov rdx, r11
shr rdx, cl
xor byte [r14 + r8], dl
add r8, r12
cmp r8, 0xf
jb 0x1400023f9
mov byte [r14 + 0xf], dil
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov ecx, 0x504
mov eax, dword [rcx + rbx]
mov esi, 0x578
test r12b, al
jne 0x140002467
or eax, r12d
mov dword [rcx + rbx], eax
mov word [rsi + rbx + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rsi + rbx], xmm0
lea rcx, [0x14000610c]
call fcn.140004798
nop
movabs r11, 0xb37b1b7dbd3d7b47
lea r10, [rsi + rbx]
cmp byte [r10 + 9], dil
je 0x140002494
mov r9, rdi
mov cl, r9b
and cl, r13b
shl cl, 3
mov r8, r11
shr r8, cl
xor byte [r10 + r9], r8b
add r9, r12
cmp r9, 9
jb 0x140002474
mov byte [r10 + 9], dil
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov qword [rbp + 0x7f], rax
movdqa xmm0, xmmword [0x140007420]
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov eax, 0x548
mov ecx, dword [rax + rsi]
mov ebx, 0x230
test r12b, cl
jne 0x140002514
or ecx, r12d
mov dword [rax + rsi], ecx
lea rax, [rbx + rsi]
mov byte [rax + 0x11], r12b
lea rcx, [rax + 0x10]
lea rdx, [rbp + 7]
cmp rax, rdx
ja 0x140002500
lea rdx, [rbp - 9]
cmp rcx, rdx
jb 0x140002500
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x47
jmp 0x140002507
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x47
lea rcx, [0x140006100]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x11], dil
je 0x14000254b
mov r8, rdi
movabs r9, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, r13b
shl cl, 3
mov rdx, r9
shr rdx, cl
xor byte [r14 + r8], dl
add r8, r12
cmp r8, 0x11
jb 0x14000252b
mov byte [r14 + 0x11], dil
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x4c4
mov eax, dword [rcx + rsi]
mov ebx, 0x158
test r12b, al
jne 0x14000259b
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x140006104]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x1400025d6
mov r9, rdi
movabs r15, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, r13b
shl cl, 3
mov r8, r15
shr r8, cl
xor byte [r9 + r10], r8b
add r9, r12
cmp r9, 9
jb 0x1400025b2
mov byte [r10 + 9], dil
mov r15d, dword [rbp + 0x67]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov r13, rax
mov qword [rbp + 0x77], rax
mov dword [rbp - 0x79], 0xce521704
mov dword [rbp - 0x75], 0xdd1a5318
mov dword [rbp - 0x71], 0xbd581723
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x5e0
mov eax, dword [rcx + rsi]
mov ebx, 0x4e8
test r12b, al
jne 0x14000264e
or eax, r12d
mov dword [rcx + rsi], eax
mov byte [rbx + rsi + 0xc], r12b
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
mov eax, dword [rbp - 0x71]
mov dword [rbx + rsi + 8], eax
lea rcx, [0x1400060f8]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xc], dil
je 0x140002689
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
add r8, r12
cmp r8, 0xc
jb 0x140002665
mov byte [r14 + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x17c
mov eax, dword [rcx + rsi]
mov ebx, 0x280
test r12b, al
jne 0x1400026d9
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060fc]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002714
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + r10], r8b
add r9, r12
cmp r9, 9
jb 0x1400026f0
mov byte [r10 + 9], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
movdqa xmm0, xmmword [0x1400073f0]
mov word [rbp - 0x29], 0x235
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x488
mov eax, dword [rcx + rsi]
mov ebx, 0x3f0
test r12b, al
jne 0x1400027a6
or eax, r12d
mov dword [rcx + rsi], eax
lea rcx, [rbx + rsi]
mov byte [rcx + 0x13], r12b
lea rax, [rcx + 0x12]
lea rdx, [rbp - 0x27]
cmp rcx, rdx
ja 0x14000278a
lea rdx, [rbp - 0x39]
cmp rax, rdx
jb 0x14000278a
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x29]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x3d
jmp 0x140002799
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x29]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x3d
lea rcx, [0x1400060f0]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x13], dil
je 0x1400027e1
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
add r8, r12
cmp r8, 0x13
jb 0x1400027bd
mov byte [r14 + 0x13], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x59c
mov eax, dword [rcx + rsi]
mov ebx, 0x478
test r12b, al
jne 0x140002831
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060f4]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x14000286c
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + r10], r8b
add r9, r12
cmp r9, 9
jb 0x140002848
mov byte [r10 + 9], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov dword [rbp - 0x69], 0xc94f1211
mov dword [rbp - 0x65], 0xf5177a08
mov dword [rbp - 0x61], 0xf8581e35
mov word [rbp - 0x5d], 0x1b05
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x290
mov eax, dword [rcx + rsi]
mov ebx, 0x3e0
test r12b, al
jne 0x1400028ec
or eax, r12d
mov dword [rcx + rsi], eax
mov byte [rbx + rsi + 0xe], r12b
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbx + rsi], xmm0
mov eax, dword [rbp - 0x61]
mov dword [rbx + rsi + 8], eax
movzx eax, word [rbp - 0x5d]
mov word [rbx + rsi + 0xc], ax
lea rcx, [0x1400060e8]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xe], dil
je 0x140002927
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
add r8, r12
cmp r8, 0xe
jb 0x140002903
mov byte [r14 + 0xe], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x38c
mov eax, dword [rcx + rsi]
mov ebx, 0x368
test r12b, al
jne 0x140002977
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060ec]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x1400029b2
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + r10], r8b
add r9, r12
cmp r9, 9
jb 0x14000298e
mov byte [r10 + 9], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
movdqa xmm0, xmmword [0x1400073e0]
mov word [rbp - 0x11], 0x1f26
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x52c
mov eax, dword [rcx + rsi]
mov ebx, 0x298
test r12b, al
jne 0x140002a44
or eax, r12d
mov dword [rcx + rsi], eax
lea rcx, [rbx + rsi]
mov byte [rcx + 0x13], r12b
lea rax, [rcx + 0x12]
lea rdx, [rbp - 0xf]
cmp rcx, rdx
ja 0x140002a28
lea rdx, [rbp - 0x21]
cmp rax, rdx
jb 0x140002a28
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x11]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x3d
jmp 0x140002a37
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x11]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x3d
lea rcx, [0x1400060e0]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x13], dil
je 0x140002a7f
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
add r8, r12
cmp r8, 0x13
jb 0x140002a5b
mov byte [r14 + 0x13], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x30c
mov eax, dword [rcx + rsi]
mov ebx, 0x3c8
test r12b, al
jne 0x140002acf
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060e4]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002b0a
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + r10], r8b
add r9, r12
cmp r9, 9
jb 0x140002ae6
mov byte [r10 + 9], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov r12, rax
mov dword [rbp - 0x79], 0xd3580b08
mov dword [rbp - 0x75], 0xd014692d
mov dword [rbp - 0x71], 0xbd4e0822
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x3d4
mov eax, dword [rcx + rsi]
mov ebx, 0x608
test al, 1
jne 0x140002b7d
or eax, 1
mov dword [rcx + rsi], eax
mov byte [rbx + rsi + 0xc], 1
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
mov eax, dword [rbp - 0x71]
mov dword [rbx + rsi + 8], eax
lea rcx, [0x1400060d8]
call fcn.140004798
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xc], dil
je 0x140002bb8
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
inc r8
cmp r8, 0xc
jb 0x140002b94
mov byte [r14 + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xd34f1e2c
mov dword [rbp - 0x75], 0x81487718
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x154
mov eax, dword [rcx + rsi]
mov ebx, 0x1d8
test al, 1
jne 0x140002c07
or eax, 1
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x147
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060dc]
call fcn.140004798
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002c42
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
xor byte [r9 + r10], r8b
inc r9
cmp r9, 9
jb 0x140002c1e
mov byte [r10 + 9], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov r8d, r15d
xor edx, edx
mov ecx, 0x1fffff
call rax
mov rbx, rax
mov qword [rbp - 0x79], rax
test rax, rax
je 0x140002e4b
mov dword [rbp - 0x69], 0xd8580901
mov dword [rbp - 0x65], 0xc1197231
mov dword [rbp - 0x61], 0xbd440926
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov ecx, 0x4e4
mov eax, dword [rcx + r14]
mov esi, 0x1c0
test al, 1
jne 0x140002cd3
or eax, 1
mov dword [rcx + r14], eax
mov byte [rsi + r14 + 0xc], 1
movsd xmm0, qword [rbp - 0x69]
movsd qword [rsi + r14], xmm0
mov eax, dword [rbp - 0x61]
mov dword [rsi + r14 + 8], eax
lea rcx, [0x1400060d0]
call fcn.140004798
nop
add r14, rsi
cmp byte [r14 + 0xc], dil
je 0x140002d0d
mov r8, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + r14], dl
inc r8
cmp r8, 0xc
jb 0x140002ce9
mov byte [r14 + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x59], 0x1e002c
mov dword [rbp - 0x55], 0xd3004f
mov dword [rbp - 0x51], 0x770018
mov dword [rbp - 0x4d], 0x810048
mov dword [rbp - 0x49], 0x1f0069
mov dword [rbp - 0x45], 0xd10051
mov r8d, 0x7d
mov rax, qword gs:[0x58]
mov r15, qword [rax]
mov ecx, 0x1b8
mov eax, dword [rcx + r15]
mov esi, 0x250
test al, 1
jne 0x140002dbb
or eax, 1
mov dword [rcx + r15], eax
lea rax, [rsi + r15]
mov byte [rax + 0x1a], 1
lea rcx, [rax + 0x18]
lea rdx, [rbp - 0x41]
cmp rax, rdx
ja 0x140002d98
lea rdx, [rbp - 0x59]
cmp rcx, rdx
jb 0x140002d98
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x49]
movsd qword [rax + 0x10], xmm1
mov word [rax + 0x18], r8w
jmp 0x140002dae
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x49]
movsd qword [rax + 0x10], xmm1
mov word [rax + 0x18], r8w
lea rcx, [0x1400060d4]
call fcn.140004798
nop
lea r10, [rsi + r15]
cmp byte [r10 + 0x1a], dil
je 0x140002e00
mov r9, rdi
movabs r13, 0xb37b1b7dbd3d7b47
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r13
shr r8, cl
mov eax, 0xff
and r8w, ax
xor word [r10 + r9*2], r8w
inc r9
cmp r9, 0xd
jb 0x140002dd2
mov byte [r10 + 0x1a], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call r13
mov rcx, rax
mov rdx, r14
call qword [rbp + 0x7f]
test rax, rax
je 0x140002e4b
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov rcx, qword [rbp + 0x6f]
mov qword [rsp + 0x20], rcx
mov r9, rax
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call r12
mov rbx, rax
mov qword [rbp + 0x77], rax
lea rcx, [rbp + 0x77]
call fcn.140001490
test rbx, rbx
setne dil
lea rcx, [rbp - 0x79]
call fcn.140001490
mov al, dil
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret