Function at 0x140002344
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
mov dword [rbp - 0x69], 0x9ff1a0c6
mov dword [rbp - 0x65], 0x1a6236c7
mov dword [rbp - 0x61], 0xaaf7a1e5
mov word [rbp - 0x5d], 0x2ac6
mov r12d, 1
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov ecx, 0x428
mov eax, dword [rcx + rbx]
mov edi, 0x3f8
test r12b, al
jne 0x1400023db
or eax, r12d
mov dword [rcx + rbx], eax
mov word [rbx + rdi + 0xe], 0x101
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x61]
mov dword [rbx + rdi + 8], eax
movzx eax, word [rbp - 0x5d]
mov word [rbx + rdi + 0xc], ax
lea rcx, [0x1400060f8]
call fcn.140004784
nop
lea r14, [rbx + rdi]
mov r13b, 7
xor edi, edi
movabs r10, 0x5b0159b5cf85c581
cmp byte [r14 + 0xf], dil
je 0x140002417
mov r8d, edi
mov cl, r8b
and cl, r13b
shl cl, 3
mov rdx, r10
shr rdx, cl
xor byte [r14 + r8], dl
add r8, r12
cmp r8, 0xf
jb 0x1400023f7
mov byte [r14 + 0xf], dil
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov ecx, 0x41c
mov eax, dword [rcx + rbx]
mov esi, 0x618
test r12b, al
jne 0x140002465
or eax, r12d
mov dword [rcx + rbx], eax
mov word [rsi + rbx + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rsi + rbx], xmm0
lea rcx, [0x1400060fc]
call fcn.140004784
nop
movabs r10, 0x5b0159b5cf85c581
lea rdx, [rsi + rbx]
cmp byte [rdx + 9], dil
je 0x140002492
mov r9, rdi
mov cl, r9b
and cl, r13b
shl cl, 3
mov r8, r10
shr r8, cl
xor byte [rdx + r9], r8b
add r9, r12
cmp r9, 9
jb 0x140002472
mov byte [rdx + 9], dil
mov rcx, rdx
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov qword [rbp + 0x7f], rax
movdqa xmm0, xmmword [0x1400073d0]
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov eax, 0x33c
mov ecx, dword [rax + rsi]
mov ebx, 0x298
test r12b, cl
jne 0x140002512
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 0x1400024fe
lea rdx, [rbp - 9]
cmp rcx, rdx
jb 0x1400024fe
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x81
jmp 0x140002505
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x81
lea rcx, [0x1400060f0]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x11], dil
je 0x140002549
mov r8, rdi
movabs r9, 0x5b0159b5cf85c581
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 0x140002529
mov byte [r14 + 0x11], dil
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x4e8
mov eax, dword [rcx + rsi]
mov ebx, 0x550
test r12b, al
jne 0x140002599
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060f4]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x1400025d4
mov r9, rdi
movabs r15, 0x5b0159b5cf85c581
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 0x1400025b0
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], 0xbceaa9c2
mov dword [rbp - 0x75], 0x356011d0
mov dword [rbp - 0x71], 0xcfe0a9e5
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x448
mov eax, dword [rcx + rsi]
mov ebx, 0x1f0
test r12b, al
jne 0x14000264c
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, [0x1400060e8]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xc], dil
je 0x140002687
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002663
mov byte [r14 + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x430
mov eax, dword [rcx + rsi]
mov ebx, 0x5e8
test r12b, al
jne 0x1400026d7
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060ec]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002712
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x1400026ee
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 - 0x29], 0xbcf3
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x54c
mov eax, dword [rcx + rsi]
mov ebx, 0x190
test r12b, al
jne 0x1400027a4
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 0x140002788
lea rdx, [rbp - 0x39]
cmp rax, rdx
jb 0x140002788
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x29]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
jmp 0x140002797
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x29]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
lea rcx, [0x1400060e0]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x13], dil
je 0x1400027df
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x1400027bb
mov byte [r14 + 0x13], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x4e4
mov eax, dword [rcx + rsi]
mov ebx, 0x510
test r12b, al
jne 0x14000282f
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060e4]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x14000286a
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002846
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], 0xbbf7acd7
mov dword [rbp - 0x65], 0x1d6d38c0
mov dword [rbp - 0x61], 0x8ae0a0f3
mov word [rbp - 0x5d], 0x59cd
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x578
mov eax, dword [rcx + rsi]
mov ebx, 0x470
test r12b, al
jne 0x1400028ea
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, [0x1400060d8]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xe], dil
je 0x140002925
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002901
mov byte [r14 + 0xe], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x604
mov eax, dword [rcx + rsi]
mov ebx, 0x260
test r12b, al
jne 0x140002975
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060dc]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x1400029b0
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x14000298c
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 [0x140007410]
mov word [rbp - 0x11], 0xa1e0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x480
mov eax, dword [rcx + rsi]
mov ebx, 0x300
test r12b, al
jne 0x140002a42
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 0x140002a26
lea rdx, [rbp - 0x21]
cmp rax, rdx
jb 0x140002a26
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x11]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
jmp 0x140002a35
movups xmmword [rcx], xmm0
movzx eax, word [rbp - 0x11]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
lea rcx, [0x1400060d0]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0x13], dil
je 0x140002a7d
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002a59
mov byte [r14 + 0x13], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x424
mov eax, dword [rcx + rsi]
mov ebx, 0x3c0
test r12b, al
jne 0x140002acd
or eax, r12d
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060d4]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002b08
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002ae4
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], 0xa1e0b5ce
mov dword [rbp - 0x75], 0x386e2be5
mov dword [rbp - 0x71], 0xcff6b6e4
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x2e4
mov eax, dword [rcx + rsi]
mov ebx, 0x568
test al, 1
jne 0x140002b7b
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, [0x1400060c8]
call fcn.140004784
nop
lea r14, [rbx + rsi]
cmp byte [r14 + 0xc], dil
je 0x140002bb6
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002b92
mov byte [r14 + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x79], 0xa1f7a0ea
mov dword [rbp - 0x75], 0x693235d0
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x368
mov eax, dword [rcx + rsi]
mov ebx, 0x4a0
test al, 1
jne 0x140002c05
or eax, 1
mov dword [rcx + rsi], eax
mov word [rbx + rsi + 8], 0x181
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbx + rsi], xmm0
lea rcx, [0x1400060cc]
call fcn.140004784
nop
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002c40
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002c1c
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 0x140002e4a
mov dword [rbp - 0x69], 0xaae0b7c7
mov dword [rbp - 0x65], 0x296330f9
mov dword [rbp - 0x61], 0xcffcb7e0
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov ecx, 0x290
mov eax, dword [rcx + r14]
mov esi, 0x2f0
test al, 1
jne 0x140002cd1
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, [0x1400060c0]
call fcn.140004784
nop
add rsi, r14
cmp byte [rsi + 0xc], dil
je 0x140002d0b
mov r8, rdi
movabs r13, 0x5b0159b5cf85c581
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r13
shr rdx, cl
xor byte [r8 + rsi], dl
inc r8
cmp r8, 0xc
jb 0x140002ce7
mov byte [rsi + 0xc], dil
mov r13, qword [rbp + 0x77]
mov dword [rbp - 0x59], 0xa000ea
mov dword [rbp - 0x55], 0xa100f7
mov dword [rbp - 0x51], 0x3500d0
mov dword [rbp - 0x4d], 0x690032
mov dword [rbp - 0x49], 0xa100af
mov dword [rbp - 0x45], 0xa300e9
mov r8d, 0xb5
mov rax, qword gs:[0x58]
mov r15, qword [rax]
mov ecx, 0x3d4
mov eax, dword [rcx + r15]
mov r14d, 0x150
test al, 1
jne 0x140002dba
or eax, 1
mov dword [rcx + r15], eax
lea rax, [r14 + r15]
mov byte [rax + 0x1a], 1
lea rcx, [rax + 0x18]
lea rdx, [rbp - 0x41]
cmp rax, rdx
ja 0x140002d97
lea rdx, [rbp - 0x59]
cmp rcx, rdx
jb 0x140002d97
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 0x140002dad
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, [0x1400060c4]
call fcn.140004784
nop
lea r10, [r14 + r15]
cmp byte [r10 + 0x1a], dil
je 0x140002dff
mov r9, rdi
movabs r13, 0x5b0159b5cf85c581
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 0x140002dd1
mov byte [r10 + 0x1a], dil
mov r13, qword [rbp + 0x77]
mov rcx, r10
call r13
mov rcx, rax
mov rdx, rsi
call qword [rbp + 0x7f]
test rax, rax
je 0x140002e4a
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