Function at 0x1400e59b4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
lea rbx, [rcx + 0xe8b8]
mov r10, r8
mov rdi, rcx
xor esi, esi
mov ecx, 0x8000
mov qword [rbx], rsi
cmp r9d, ecx
mov r8d, r9d
mov r13d, edx
mov rdx, r10
cmova r8d, ecx
mov rcx, qword [rdi + 0xe8c8]
call fcn.14012ad20
cmp qword [rdi + 0xe890], rsi
jne 0x1400e5a1a
mov ecx, 0x40004
call fcn.1400f4ae8
mov qword [rdi + 0xe890], rax
test r13b, r13b
jns 0x1400e5a3d
mov rcx, rbx
call fcn.1400ed140
mov ebp, eax
test eax, eax
jne 0x1400e5a39
xor edx, edx
mov rcx, rdi
call fcn.1400e67a8
jmp 0x1400e5a43
dec ebp
jmp 0x1400e5a43
mov ebp, dword [rdi + 0xe930]
mov rbx, qword [rdi + 0xe8d8]
mov r12d, ebp
mov qword [rsp + 0x20], rbx
cmp r12, rbx
ja 0x1400e5be9
cmp r12, qword [rdi + 0xe918]
ja 0x1400e5be9
mov r15d, 0x40
mov dword [rdi + 0xe930], ebp
mov ecx, r15d
call fcn.1400f44e0
mov r14, rax
mov dword [rax + 0x38], esi
mov dword [rax + 0x10], esi
cmp r12, rbx
jne 0x1400e5b60
cmp ebp, 0x2000
ja 0x1400e5bde
lea rbx, [rdi + 0xe8d0]
mov rcx, rbx
call fcn.1400e8edc
mov ecx, r15d
call fcn.1400f44e0
mov qword [rsp + 0x90], rax
mov dword [rax + 0x38], esi
mov dword [rax + 0x10], esi
mov rcx, qword [rbx]
mov rdx, qword [rdi + 0xe8d8]
mov qword [rcx + rdx*8 - 8], rax
mov ecx, dword [rdi + 0xe8d8]
dec ecx
mov dword [r14 + 0xc], ecx
mov rcx, qword [rdi + 0xe918]
mov rdx, qword [rdi + 0xe920]
inc rcx
mov qword [rdi + 0xe918], rcx
cmp rcx, rdx
jbe 0x1400e5b4c
mov r8, qword [rdi + 0xe928]
test r8, r8
je 0x1400e5b0c
cmp rcx, r8
ja 0x1400e5ec3
mov rbx, rdx
add rdx, 0x20
shr rbx, 2
add rbx, rdx
cmp rcx, rbx
cmova rbx, rcx
mov rcx, qword [rdi + 0xe910]
lea rdx, [rbx*4]
call fcn.14010068c
test rax, rax
je 0x1400e5ebd
mov qword [rdi + 0xe910], rax
mov qword [rdi + 0xe920], rbx
mov rcx, qword [rdi + 0xe918]
mov rax, qword [rdi + 0xe910]
mov dword [rax + rcx*4 - 4], esi
jmp 0x1400e5b77
mov rax, qword [rdi + 0xe8d0]
mov rax, qword [rax + r12*8]
mov qword [rsp + 0x90], rax
mov dword [r14 + 0xc], ebp
mov ecx, esi
mov r10d, esi
cmp qword [rdi + 0xe8f8], rsi
jbe 0x1400e5c0c
mov r9, rsi
mov rdx, qword [rdi + 0xe8f0]
mov r8d, ecx
mov eax, r10d
sub eax, ecx
mov ecx, eax
mov rax, qword [rdx + r9*8]
mov qword [rdx + rcx*8], rax
lea ecx, [r8 + 1]
mov rax, qword [rdi + 0xe8f0]
cmp qword [rax + r9*8], rsi
cmovne ecx, r8d
test ecx, ecx
je 0x1400e5bc0
mov qword [rax + r9*8], rsi
mov rax, qword [rdi + 0xe8f8]
inc r10d
mov r9d, r10d
cmp r9, rax
jb 0x1400e5b8c
test ecx, ecx
jne 0x1400e5c03
cmp rax, 0x2000
jbe 0x1400e5c0c
mov rdx, r15
mov rcx, r14
call fcn.1400f451c
xor al, al
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rbx, [rdi + 0xe8f0]
jmp 0x1400e5c20
lea rbx, [rdi + 0xe8f0]
mov rcx, rbx
call fcn.1400e8edc
mov ecx, 1
mov eax, ecx
mov rcx, qword [rdi + 0xe8f8]
sub rcx, rax
mov rax, qword [rbx]
mov qword [rax + rcx*8], r14
lea rcx, [rdi + 0xe8b8]
call fcn.1400ed140
test r15b, r13b
mov ebx, ebp
lea r15d, [rax + 0x102]
cmove r15d, eax
mov eax, dword [rdi + 0xc0]
add eax, r15d
and eax, dword [rdi + 0xe940]
mov dword [r14], eax
test r13b, 0x20
je 0x1400e5c83
lea rcx, [rdi + 0xe8b8]
call fcn.1400ed140
mov dword [r14 + 4], eax
mov rcx, qword [rdi + 0xe910]
mov dword [rcx + rbx*4], eax
jmp 0x1400e5ca0
cmp rbx, qword [rdi + 0xe918]
jae 0x1400e5c9a
mov rax, qword [rdi + 0xe910]
mov ecx, ebp
mov edx, dword [rax + rcx*4]
jmp 0x1400e5c9c
mov edx, esi
mov dword [r14 + 4], edx
mov rcx, qword [rdi + 0xc8]
mov rax, qword [rdi + 0xc0]
cmp rcx, rax
je 0x1400e5cc7
sub rcx, rax
mov eax, r15d
and rcx, qword [rdi + 0xe940]
cmp rcx, rax
mov al, 1
jbe 0x1400e5cca
mov al, sil
mov byte [r14 + 8], al
lea r15, [r14 + 0x14]
mov qword [r14 + 0x14], rsi
mov qword [r14 + 0x1c], rsi
mov qword [r14 + 0x28], rsi
mov eax, dword [r14 + 4]
mov dword [r14 + 0x24], eax
test r13b, 0x10
je 0x1400e5d59
movsxd r8, dword [rdi + 0xe8b8]
mov ecx, 0x10
mov rax, qword [rdi + 0xe8c8]
mov ebx, esi
mov edx, dword [rdi + 0xe8bc]
sub ecx, edx
mov ebp, dword [rax + r8]
bswap ebp
shr ebp, cl
lea ecx, [rdx + 7]
mov eax, ecx
shr ebp, 9
shr eax, 3
add eax, r8d
and ecx, 7
mov dword [rdi + 0xe8b8], eax
mov dword [rdi + 0xe8bc], ecx
mov ecx, ebx
mov eax, 1
shl eax, cl
and eax, 0x7f
test bpl, al
je 0x1400e5d4e
lea rcx, [rdi + 0xe8b8]
call fcn.1400ed140
mov dword [r15], eax
inc ebx
add r15, 4
cmp ebx, 7
jb 0x1400e5d2e
cmp r12, qword [rsp + 0x20]
jne 0x1400e5ea7
lea rcx, [rdi + 0xe8b8]
call fcn.1400ed140
mov ebx, eax
lea ecx, [rbx - 1]
cmp ecx, 0xfffe
ja 0x1400e5be9
mov edx, dword [rdi + 0xe8b8]
add edx, ebx
cmp edx, dword [rsp + 0xa8]
ja 0x1400e5be9
mov edx, ebx
mov qword [rsp + 0x28], rsi
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
call fcn.1400d159c
mov rbp, qword [rsp + 0x28]
mov r8d, esi
test ebx, ebx
je 0x1400e5e1e
movsxd rcx, dword [rdi + 0xe8b8]
lea eax, [rcx + 3]
cmp eax, 0x8000
jae 0x1400e5e80
mov rax, qword [rdi + 0xe8c8]
mov edx, dword [rax + rcx]
mov ecx, 0x10
sub ecx, dword [rdi + 0xe8bc]
mov eax, r8d
inc r8d
bswap edx
shr edx, cl
shr edx, 8
mov byte [rax + rbp], dl
mov ecx, dword [rdi + 0xe8bc]
add ecx, 8
mov eax, ecx
and ecx, 7
shr eax, 3
add dword [rdi + 0xe8b8], eax
mov dword [rdi + 0xe8bc], ecx
cmp r8d, ebx
jb 0x1400e5dc2
mov dl, sil
cmp ebx, 1
jbe 0x1400e5e3a
lea r8, [rbp + 1]
lea r9d, [rbx - 1]
xor dl, byte [r8]
inc r8
sub r9, 1
jne 0x1400e5e2e
cmp dl, byte [rbp]
jne 0x1400e5e6e
mov r8, rbx
mov rdx, rbp
or ecx, 0xffffffff
call fcn.1400eb910
not eax
lea rdx, [0x14016fe90]
mov ecx, esi
lea rcx, [rcx + rcx*2]
cmp dword [rdx + rcx*4 + 4], eax
jne 0x1400e5e67
cmp dword [rdx + rcx*4], ebx
je 0x1400e5e96
inc esi
cmp esi, 6
jb 0x1400e5e56
mov rbx, qword [rsp + 0x90]
mov rcx, rbp
call fcn.140107298
jmp 0x1400e5eaf
test rbp, rbp
je 0x1400e5be9
mov rcx, rbp
call fcn.140107298
jmp 0x1400e5be9
mov rbx, qword [rsp + 0x90]
mov ecx, dword [rdx + rcx*4 + 8]
mov dword [rbx + 0x10], ecx
jmp 0x1400e5e76
mov rbx, qword [rsp + 0x90]
mov ecx, dword [rbx + 0x10]
mov al, 1
mov dword [r14 + 0x10], ecx
jmp 0x1400e5beb
call fcn.1400da9c8
int3
lea rdx, [0x140155f50]
lea rcx, [0x14016f7e8]
call fcn.1400daa94
call fcn.1400da9c8
int3