Function at 0x7ffef2427fc0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
lea r14, [rcx + 0x18]
mov rbp, rcx
mov ecx, 0xfffffff
mov rax, qword [r14]
mov rsi, rdx
lea rdx, [0x7ffef2400000]
mov r13d, dword [rax + 5]
mov r15d, dword [rax + 1]
mov ebx, dword [rax + 9]
and r13, rcx
and r15, rcx
and rbx, rcx
add r13, rdx
lea r9, [rax + 0xd]
lea r8, [0x7ffef2445a08]
lea rdi, [r9 - 1]
xor r12d, r12d
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x30], rbx
cmp rdi, r8
jb 0x7ffef2428078
mov ecx, dword [0x7ffef243d854]
mov eax, dword [0x7ffef243d850]
imul ecx, eax
mov eax, ecx
add rax, r8
cmp rdi, rax
jae 0x7ffef2428078
mov ecx, dword [0x7ffef243d850]
mov rax, rdi
sub rax, r8
cqo
idiv rcx
mov edx, dword [0x7ffef243d850]
imul rdx, rax
add r8, rdx
lea rdx, [0x7ffef2400000]
jmp 0x7ffef242807b
mov r8, r12
cmp r8, r12
jne 0x7ffef242808a
mov r8, rdi
and r8, 0xffffffffffff0000
mov r11d, dword [0x7ffef243d850]
sub r9, r8
mov r10d, r13d
lea rax, [r9 - 0x40]
cmp rax, r12
cmovl rax, r12
sub r11, rbx
sub r10d, edx
lea rdi, [rax + r8]
xor eax, eax
inc r11
lea ecx, [rax + 0x40]
mov r9, r11
rep stosb byte [rdi], al
mov rdi, r12
cmp r11, r12
je 0x7ffef24280f7
mov rdx, qword [0x7ffef2445490]
imul rdx, rdx, 0x343fd
shl rdi, 0x10
shr r9, 0x10
add rdx, 0x269ec3
mov rcx, rdx
shr rcx, 0x10
movzx eax, cx
or rdi, rax
cmp r9, r12
jne 0x7ffef24280c8
mov qword [0x7ffef2445490], rdx
xor edx, edx
mov rax, rdi
mov ecx, r10d
div r11
lea r12, [rdx + r8]
mov rdx, rbx
mov r8, r12
mov qword [rsp + 0x50], r12
call fcn.7ffef241c17c
mov rdx, qword [rbx + r13]
xor dil, dil
mov qword [rsp + 0x40], rdx
test rbx, rbx
je 0x7ffef24286f1
lea rcx, [rsp + 0x40]
call fcn.7ffef2433cf4
mov r9d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x40]
and qword [rsp + 0x20], 0
mov eax, 0xfffffff
lea rdx, [0x7ffef2400000]
and r11, rax
and r9, rax
mov rax, qword [0x7ffef243d7b8]
mov rcx, rdx
add r11, rdx
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x7ffef24281db
xor r10d, r10d
test r9, r9
je 0x7ffef242848a
mov edx, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
mov r14d, 0x5d178fad
movzx ecx, byte [r11 + r10]
inc r10
add ecx, r14d
add r8d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x68a0
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x5d178fad
mov qword [rsp + 0xe0], rax
shr rax, 0x20
mov edx, dword [rsp + 0xe0]
add edx, eax
add r8d, edx
cmp r10, r9
jb 0x7ffef2428189
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x20], r8d
jmp 0x7ffef242848a
movsxd rcx, dword [0x7ffef240003c]
lea rax, [r11 + r9]
mov r10, 0xfffffffffffff000
mov r8d, dword [rcx + rdx + 0xb0]
mov r15d, dword [rcx + rdx + 0xb4]
mov qword [rsp + 0x60], rax
mov eax, r11d
add r8, rdx
sub eax, edx
mov ebx, eax
mov esi, eax
add rax, r9
mov r9, rax
and rbx, r10
and r9, r10
sub rsi, rbx
sub rax, r9
mov qword [rsp + 0x58], r9
add r15, r8
mov qword [rsp + 0x70], rax
jmp 0x7ffef242823e
mov eax, dword [r8]
cmp rax, rbx
jae 0x7ffef2428243
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r15
jne 0x7ffef242822f
xor r10d, r10d
cmp r8, r15
je 0x7ffef242827d
mov eax, dword [r8]
cmp rax, rbx
jne 0x7ffef242827d
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x7ffef242827d
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rsi
jae 0x7ffef242827d
inc r10
add rdx, 2
cmp r10, rcx
jne 0x7ffef2428264
mov r12d, dword [rsp + 0x24]
mov ebp, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov r14d, 0x5d178fad
lea r13, [0x7ffef2400000]
cmp r8, r15
je 0x7ffef2428422
mov eax, dword [r8]
cmp rax, r9
ja 0x7ffef2428422
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r10, rax
jne 0x7ffef24282da
add r8, rcx
cmp r8, r15
je 0x7ffef2428422
mov eax, dword [r8]
cmp rax, r9
ja 0x7ffef2428422
xor r10d, r10d
jmp 0x7ffef24282ad
mov eax, dword [r8]
cmp rax, r9
jne 0x7ffef24282f8
movzx eax, word [r8 + r10*2 + 8]
and eax, 0xfff
cmp rax, qword [rsp + 0x70]
jae 0x7ffef2428422
mov rax, r10
mov ecx, 0xf000
inc r10
test word [r8 + rax*2 + 8], cx
je 0x7ffef2428298
movzx edx, word [r8 + rax*2 + 8]
xor ebx, ebx
mov esi, edx
and esi, 0xfff
add esi, dword [r8]
add rsi, r13
mov r9, rsi
sub r9, r11
je 0x7ffef2428372
movzx ecx, byte [rbx + r11]
inc rbx
add ecx, r14d
add ebp, ecx
add ecx, r12d
mov eax, ecx
imul eax, eax, 0x68a0
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x5d178fad
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov r12d, dword [rsp + 0x28]
add r12d, eax
add ebp, r12d
cmp rbx, r9
jb 0x7ffef2428329
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x24], r12d
mov rax, qword [rsi]
shr edx, 0xc
mov qword [rsp + 0x38], rax
cmp edx, 3
je 0x7ffef242838e
sub edx, 0xa
neg edx
sbb edx, edx
add edx, 3
jmp 0x7ffef2428393
mov edx, 2
mov r9, rdi
neg r9
sub edx, 2
je 0x7ffef24283b8
cmp edx, 1
je 0x7ffef24283a9
or rdx, 0xffffffffffffffff
jmp 0x7ffef24283c2
add rax, r9
mov edx, 8
mov qword [rsp + 0x38], rax
jmp 0x7ffef24283c2
add dword [rsp + 0x38], r9d
mov edx, 4
xor r9d, r9d
test rdx, rdx
je 0x7ffef2428414
movzx ecx, byte [rsp + r9 + 0x38]
inc r9
add ecx, r14d
add ebp, ecx
add ecx, r12d
mov eax, ecx
imul eax, eax, 0x68a0
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x5d178fad
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov r12d, dword [rsp + 0x28]
add r12d, eax
add ebp, r12d
cmp r9, rdx
jb 0x7ffef24283ca
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x24], r12d
mov r9, qword [rsp + 0x58]
lea r11, [rdx + rsi]
jmp 0x7ffef2428298
mov r8, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
xor edx, edx
sub r8, r11
mov dil, dl
je 0x7ffef2428485
movzx ecx, byte [rdx + r11]
inc rdx
add ecx, r14d
add ebp, ecx
add ecx, r12d
mov eax, ecx
imul eax, eax, 0x68a0
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x5d178fad
mov qword [rsp + 0xe0], rax
shr rax, 0x20
mov r12d, dword [rsp + 0xe0]
add r12d, eax
add ebp, r12d
cmp rdx, r8
jb 0x7ffef2428436
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x24], r12d
mov rbx, qword [rsp + 0x30]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0x20]
mov byte [rsp + rcx + 0xe7], al
cmp rcx, 6
jb 0x7ffef242848c
call fcn.7ffef2418310
mov r11b, byte [rsp + 0xe8]
mov bpl, byte [rsp + 0xea]
mov r15b, byte [rsp + 0xec]
mov r14b, byte [rsp + 0xed]
mov r12b, byte [rsp + 0xe9]
or r11b, 1
or bpl, 1
or r15b, 1
or r14b, 1
lea rsi, [rbx - 1]
mov byte [rsp + 0xe8], r11b
mov byte [rsp + 0xea], bpl
mov byte [rsp + 0xec], r15b
mov byte [rsp + 0xed], r14b
test rsi, rsi
je 0x7ffef2428668
mov rax, qword [rsp + 0x50]
lea rbx, [rsi + r13]
sub rax, r13
mov qword [rsp + 0xe0], rax
mov r9b, byte [rbx]
movzx ecx, r9b
test sil, 1
je 0x7ffef24285ad
xor r9b, byte [rsp + 0xeb]
movzx r8d, byte [rsp + 0xeb]
and r9b, 1
je 0x7ffef2428561
movzx edx, bpl
mov eax, r8d
shr eax, 1
shr edx, 1
xor edx, eax
mov eax, ecx
btc eax, 8
sar eax, 1
xor edx, eax
jmp 0x7ffef2428568
mov edx, ecx
xor edx, r8d
shr edx, 1
movzx r10d, byte [rbx - 1]
mov eax, r10d
xor eax, edx
test al, 1
je 0x7ffef242859e
test r9b, r9b
je 0x7ffef2428591
btc ecx, 8
shr r8d, 1
movzx edx, bpl
shr edx, 1
sar ecx, 1
xor edx, r8d
xor edx, ecx
jmp 0x7ffef2428598
mov edx, ecx
xor edx, r8d
shr edx, 1
movzx eax, r14b
jmp 0x7ffef242860e
test r9b, r9b
je 0x7ffef242863a
movzx edx, bpl
jmp 0x7ffef2428628
xor r9b, r12b
movzx r8d, r12b
and r9b, 1
je 0x7ffef24285d3
movzx edx, r11b
mov eax, r8d
shr eax, 1
shr edx, 1
xor edx, eax
mov eax, ecx
btc eax, 8
sar eax, 1
xor edx, eax
jmp 0x7ffef24285da
mov edx, ecx
xor edx, r8d
shr edx, 1
movzx r10d, byte [rbx - 1]
mov eax, r10d
xor eax, edx
test al, 1
je 0x7ffef242861f
test r9b, r9b
je 0x7ffef2428603
btc ecx, 8
shr r8d, 1
movzx edx, r11b
shr edx, 1
sar ecx, 1
xor edx, r8d
xor edx, ecx
jmp 0x7ffef242860a
mov edx, ecx
xor edx, r8d
shr edx, 1
movzx eax, r15b
shr eax, 1
xor r10d, edx
btc eax, 7
sar r10d, 1
xor eax, r10d
jmp 0x7ffef2428648
test r9b, r9b
je 0x7ffef242863a
movzx edx, r11b
btc ecx, 8
shr edx, 1
shr r8d, 1
sar ecx, 1
xor edx, r8d
xor edx, ecx
jmp 0x7ffef2428641
mov edx, ecx
xor edx, r8d
shr edx, 1
mov eax, r10d
xor eax, edx
sar eax, 1
mov rcx, qword [rsp + 0xe0]
xor dil, al
mov byte [rcx + rbx], al
dec rbx
sub rsi, 1
jne 0x7ffef2428524
mov rbx, qword [rsp + 0x30]
movzx ecx, byte [r13]
mov dl, byte [r13]
movzx eax, r12b
xor ecx, eax
xor dl, r12b
shr ecx, 1
and dl, 1
je 0x7ffef242868f
movzx eax, r11b
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffef2428691
mov eax, ecx
test al, 1
je 0x7ffef24286b5
test dl, dl
je 0x7ffef24286a7
movzx edx, r11b
btc edx, 8
sar edx, 1
xor edx, ecx
jmp 0x7ffef24286a9
mov edx, ecx
movzx eax, r15b
xor eax, edx
btc eax, 8
jmp 0x7ffef24286c9
test dl, dl
je 0x7ffef24286c7
movzx eax, r11b
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffef24286c9
mov eax, ecx
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xd0]
sar eax, 1
mov byte [r12], al
xor dil, al
cmp dil, byte [rbx + r13 + 8]
je 0x7ffef24287b7
call fcn.7ffef2417d60
mov r8, r14
lea r10, [0x7ffef2411068]
and r8, 0xfffffffffffffff8
mov r11, rax
mov qword [rbp + 0x10], r10
mov rcx, qword [0x7ffef2445490]
lea r9, [r8 + 0xfff]
and r11, 0xfffffffffffff000
and r9, 0xfffffffffffff000
xor edi, edi
mov ebx, 0xffff
imul rcx, rcx, 0x343fd
shl rdi, 0x10
shr rbx, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or rdi, rdx
test rbx, rbx
jne 0x7ffef2428739
mov qword [0x7ffef2445490], rcx
movabs rax, 0x8000800080008001
mov qword [rsi + 0x98], r11
mul rdi
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub rdi, rdx
inc rdi
mov qword [rsi + 0xb0], rdi
mov qword [rsp + 0xd0], rbx
jmp 0x7ffef24287ad
mov rax, qword [rsp + 0xd0]
mov qword [r8], rax
add r8, 8
cmp r8, r9
jb 0x7ffef242879e
jmp 0x7ffef24288ea
mov rax, qword [0x7ffef243d7b8]
lea rcx, [0x7ffef2400000]
mov rbx, r13
mov rsi, rcx
sub rbx, r12
sub rsi, rax
jne 0x7ffef24287dc
test rbx, rbx
je 0x7ffef24288d3
mov rbp, qword [rsp + 0x30]
mov r11, r12
xor edi, edi
sub r11, r13
sub r13d, ecx
mov rcx, qword [0x7ffef243d7a0]
lea r8d, [rcx - 1]
add ebp, r13d
lea r9, [0x7ffef243d7a0]
test r8d, r8d
js 0x7ffef242883a
lea eax, [r8 + rdi]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r9d, dword [r9 + rdx*4 + 4]
and r9d, 0xfffffff
cmp r13d, r9d
jae 0x7ffef2428829
lea r8d, [rax - 1]
jmp 0x7ffef242882e
jbe 0x7ffef2428899
lea edi, [rax + 1]
cmp r8d, edi
lea r9, [0x7ffef243d7a0]
jge 0x7ffef2428806
movsxd r10, edi
mov eax, ecx
cmp r10, rax
jae 0x7ffef24288d3
lea r13, [0x7ffef243d7a0]
lea r14, [0x7ffef2400000]
mov edx, dword [r13 + r10*4 + 4]
mov edi, 0xfffffff
mov eax, edx
and eax, edi
cmp eax, ebp
jae 0x7ffef24288ce
mov r9, rdx
xor r8d, r8d
and r9, rdi
mov edi, edx
sar edx, 0x1e
shl edi, 2
add r9, r14
and edx, 3
sar edi, 0x1e
and edi, 3
sub edi, 1
je 0x7ffef24288a3
sub edi, 1
je 0x7ffef242889e
cmp edi, 1
jne 0x7ffef24288a9
mov r8, rsi
jmp 0x7ffef24288a9
movsxd r10, eax
jmp 0x7ffef242883d
mov r8, rbx
jmp 0x7ffef24288a9
mov r8, rsi
sub r8, rbx
sub edx, 2
je 0x7ffef24288b9
cmp edx, 1
jne 0x7ffef24288c4
add qword [r9 + r11], r8
jmp 0x7ffef24288bd
add dword [r9 + r11], r8d
mov rcx, qword [0x7ffef243d7a0]
inc r10
mov eax, ecx
cmp r10, rax
jb 0x7ffef2428856
mov r14, qword [rsp + 0x48]
mov eax, dword [0x7ffef243d850]
call fcn.7ffef241c260
mov rbp, qword [rsp + 0xd0]
lea r10, [r12 + r15]
mov qword [rbp + 0x10], r10
add qword [r14], 0xd
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret