Function at 0x140054da0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [rdi]
mov rcx, rdi
add rcx, 8
mov rdx, qword [rdi + 8]
cmp rdx, 9
jae 0x140054ddf
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.1400bec30
jmp 0x140054f53
mov r8, rax
add r8, 1
mov r9b, byte [rax]
cmp r9b, 0xfb
jb 0x140054e0e
add r9b, 5
movzx r10d, r9b
sub r9b, 3
ja 0x140054e1d
lea r9, [0x1400c5fe4]
movsxd r10, dword [r9 + r10*4]
add r10, r9
jmp r10
movzx ebx, r9b
mov r8d, 1
jmp 0x140054ebc
lea rcx, [rsp + 0x70]
mov edx, 2
mov r8d, 0xc
call fcn.1400bed60
jmp 0x140054f53
mov eax, dword [0x1400e7460]
xor edx, edx
div dword [0x1400e7464]
xor eax, 0x3f13d14b
mov ecx, 0x89c4d460
xor edx, edx
div ecx
mov ecx, 0x495595dc
xor edx, edx
div ecx
cmp eax, 0xc8d3ac39
je 0x140055398
mov eax, dword [0x1400e7468]
sub eax, dword [0x1400e746c]
or eax, 0x4a537821
sub eax, 0x4d56c9a7
imul ebx, eax, 0xcff86638
lea rcx, [rsp + 0x70]
mov edx, 2
mov r8d, 4
call fcn.1400bed60
cmp ebx, 0xd172b7dc
jae 0x140055398
jmp 0x140054f53
mov r8w, word [r8]
rol r8w, 8
movzx ebx, r8w
mov r8d, 3
mov r9d, dword [0x1400e7470]
xor r9d, dword [0x1400e7474]
add r9d, 0x2792809
add r9d, 0xec4aa6aa
add r9d, 0xb63d0d97
cmp r9d, 0x8bf99a7a
jb 0x1400553be
jmp 0x140054eee
mov r9d, dword [0x1400e7478]
xor r9d, dword [0x1400e747c]
and r9d, 0x74e5fdcf
xor r9d, 0xcb152100
sub r9d, 0x72582d62
mov r10, rax
add r10, r8
mov r11, rdx
sub r11, r8
mov qword [rdi], r10
mov qword [rcx], r11
cmp r9d, 0xb2a19ced
jae 0x140054eee
jmp 0x140054fa1
mov r8d, dword [r8]
bswap r8d
mov ebx, r8d
mov r8d, 5
jmp 0x140054ebc
mov rbx, qword [r8]
bswap rbx
mov r8d, 9
jmp 0x140054ebc
mov al, byte [rsp + 0x70]
cmp al, 0x11
jne 0x140054f62
mov rbx, qword [rsp + 0x78]
jmp 0x140054fa1
mov ecx, dword [rsp + 0x71]
mov dword [rsi + 1], ecx
mov cx, word [rsp + 0x75]
mov word [rsi + 5], cx
mov cl, byte [rsp + 0x77]
mov byte [rsi + 7], cl
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov qword [rsi + 0x10], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsi + 0x18], rdx
mov byte [rsi], al
mov qword [rsi + 8], rcx
jmp 0x14005521e
mov ecx, 0x18
mov rax, rbx
mul rcx
mov r14, rax
seto al
movabs rcx, 0x7ffffffffffffff8
cmp r14, rcx
seta cl
or al, cl
xor ecx, ecx
test al, 1
jne 0x14005504e
xor eax, eax
mov r8d, 8
cmp r14, 0
je 0x140055056
mov al, byte [0x1400e8bf0]
mov rcx, r14
mov edx, 8
call fcn.1400639f0
mov r8, rax
mov ecx, 8
cmp r8, 0
je 0x14005504e
mov eax, dword [0x1400e7480]
or eax, dword [0x1400e7484]
add eax, 0xf106ff3d
or eax, 0xc254f324
sub eax, 0xfb526f1f
cmp eax, 0x9309cc88
jb 0x1400553e1
jmp 0x140055025
mov eax, dword [0x1400e7488]
xor edx, edx
div dword [0x1400e748c]
and eax, 0x5aa27ab3
or eax, 0x2d9ab979
xor eax, 0xd810134d
cmp eax, 0x7b34578d
jbe 0x140055025
mov rax, rbx
jmp 0x140055056
mov rdx, r14
call fcn.14006f020
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x38]
add rcx, 8
mov qword [rsp + 0x40], r8
lea rbp, [rsp + 0x38]
add rbp, 0x10
mov qword [rsp + 0x48], 0
cmp rbx, 0
je 0x1400550b6
lea r15, [rsp + 0xa0]
add r15, 8
lea r8, [rsp + 0xa0]
add r8, 0x10
lea r9, [rsp + 0xa0]
add r9, 0x18
xor r12d, r12d
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x58], r9
jmp 0x140055130
jmp 0x1400550b6
mov eax, dword [0x1400e7490]
imul eax, dword [0x1400e7494]
mov ecx, 0x5938617c
xor edx, edx
div ecx
imul eax, eax, 0xfa557905
imul eax, eax, 0x61033cb5
cmp eax, 0x8f834180
ja 0x1400553ee
mov eax, dword [0x1400e7498]
and eax, dword [0x1400e749c]
mov ecx, 0x75352730
xor edx, edx
div ecx
or eax, 0x7da99cdb
and eax, 0xe1941dc2
mov rcx, qword [rsp + 0x38]
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsi + 0x10], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsi + 0x18], rcx
mov byte [rsi], 0x11
cmp eax, 0x91bb4451
ja 0x1400553ee
jmp 0x14005521e
mov r14, r8
add r12, 1
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.140054a20
mov al, byte [rsp + 0xa0]
cmp al, 0x11
jne 0x14005518e
mov qword [rsp + 0x50], rbp
mov rbp, qword [r15]
mov rax, r14
mov rdx, qword [rax]
mov rax, qword [rsp + 0x58]
mov r13, qword [rax]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x60], rdx
mov r8, r13
call fcn.1400a30e0
cmp qword [rsp + 0xc0], 0
je 0x140055235
jmp 0x1400551c9
mov ecx, dword [rsp + 0xa1]
mov dword [rsp + 0x29], ecx
mov cx, word [rsp + 0xa5]
mov word [rsp + 0x2d], cx
mov cl, byte [rsp + 0xa7]
mov byte [rsp + 0x2f], cl
mov rdi, qword [r15]
mov rbx, qword [r14]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov r15, qword [rsp + 0x30]
jmp 0x1400552bb
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov al, 5
cmp rbp, 0
jne 0x1400551f5
mov r15, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x50]
jmp 0x1400552bb
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
mov r8d, 1
call fcn.140063a00
mov al, 5
mov r15, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x50]
jmp 0x1400552bb
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r15
mov eax, dword [str.7jaZ]
or eax, dword [0x1400e74a4]
or eax, 0x5cf62125
sub eax, 0xe8d6418d
imul eax, eax, 0x91ae7d56
cmp eax, 0x604ac3c6
jbe 0x140055419
mov r8, r14
mov rbp, qword [rsp + 0x50]
mov r10, r13
jmp 0x140055279
mov eax, dword [0x1400e74a8]
add eax, dword [0x1400e74ac]
mov ecx, 0xaeae1842
xor edx, edx
div ecx
imul ecx, eax, 0xd65f4130
add ecx, 0xf03eb0f5
mov r15, qword [rbp]
cmp r15, qword [rsp + 0x38]
sete al
cmp ecx, 0x471699cf
je 0x140055279
test al, 1
jne 0x140055341
jmp 0x140055351
mov ecx, dword [rsp + 0x29]
mov dword [rsi + 1], ecx
mov cx, word [rsp + 0x2d]
mov word [rsi + 5], cx
mov cl, byte [rsp + 0x2f]
mov byte [rsi + 7], cl
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rdx
mov byte [rsi], al
mov rdi, qword [r15]
mov rbx, qword [rbp]
cmp rbx, 0
je 0x14005531f
xor r14d, r14d
jmp 0x1400552f2
imul rcx, r14, 0x18
mov rax, rdi
add rax, rcx
add r14, 1
mov rdx, qword [rax]
cmp rdx, 0
je 0x140055318
mov rcx, qword [rax + 8]
mov r8d, 1
call fcn.140063a00
cmp r14, rbx
jne 0x1400552f2
jmp 0x14005531f
mov rax, qword [rsp + 0x38]
cmp rax, 0
je 0x14005533c
mov rcx, qword [r15]
imul rdx, rax, 0x18
mov r8d, 8
call fcn.140063a00
jmp 0x14005521e
lea rcx, [rsp + 0x38]
call fcn.1400625f0
mov r10, r13
mov r8, r14
imul rax, r15, 0x18
mov rcx, qword [rsp + 0x30]
add rax, qword [rcx]
mov rdx, qword [rsp + 0x90]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], r10
add r15, 1
mov qword [rbp], r15
cmp r12, rbx
mov qword [rsp + 0x68], r10
mov r15, qword [rsp + 0x98]
je 0x1400550b4
std
invalid
jmp 0x140055130
jbe 0x1400553d8
cmc
xor al, 0x51
invalid
cmp spl, r10b
jp 0x140055390
retf
cmovl ecx, dword [rcx - 0x4f416ef]
invalid
invalid
ficomp word [rdx - 0x61]
cmc
sal dword [rsi - 0x74b75754], 0x44
and al, 0x38
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x18], rax
mov byte [rsi], 0x11
jmp 0x1400550e3
invalid