Function at 0x1800543c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1800c8010]
xor rax, rsp
mov qword [rbp + 0x68], rax
xor r12d, r12d
mov r15d, r12d
movdqa xmm0, xmmword [0x1800bc220]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1800bc370]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm0, xmmword [0x1800bc190]
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0x6f1e166f
mov dword [rbp - 0x7c], 0x1f16171f
mov dword [rbp - 0x78], 0x191a1f19
mov word [rbp - 0x74], 0x17
mov ecx, r12d
movzx eax, byte [rsp + 0x50]
xor byte [rsp + rcx + 0x51], al
movzx eax, byte [rsp + 0x50]
xor byte [rsp + rcx + 0x52], al
add rcx, 2
cmp rcx, 0x3c
jb 0x180054440
mov byte [rbp - 0x73], r12b
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], r12b
lea rax, [rsp + 0x51]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x180054482
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x30]
call fcn.18000b0f0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.18000a230
nop
cmp qword [rax + 0x18], 8
jb 0x1800544b4
mov rax, qword [rax]
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r12w
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800544d0
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.18000af70
lea rdx, [0x1800c8fc0]
lea rcx, [rbp - 0x30]
call fcn.18002b1c0
test eax, eax
sete dil
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x18005453d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180054538
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054ba6
call fcn.180055890
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18005458b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180054586
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054bac
call fcn.180055890
test dil, dil
je 0x180054598
mov r15d, 1
jmp 0x1800545ed
lea rcx, [rbp + 0x28]
call fcn.180053e90
nop
cmp qword [rbp + 0x38], 0
jne 0x1800546b4
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x1800545ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800545e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054ba0
call fcn.180055890
mov rax, qword [0x1800c8fc0]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x180054684
movdqa xmm0, xmmword [0x1800bae80]
movdqu xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x1800ba930]
movdqu xmmword [rbp + 0x38], xmm1
mov rcx, r12
nop
movzx eax, byte [rbp + 0x28]
xor byte [rbp + rcx + 0x29], al
movzx eax, byte [rbp + 0x28]
xor byte [rbp + rcx + 0x2a], al
add rcx, 2
cmp rcx, 0x1e
jb 0x180054620
mov byte [rbp + 0x47], 0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
lea rax, [rbp + 0x29]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180054652
mov r8, rbx
lea rdx, [rbp + 0x29]
lea rcx, [rbp - 0x50]
call fcn.18000b0f0
lea rdx, [rbp - 0x50]
call fcn.18000a540
mov rcx, qword [0x1800c8fc0]
call rax
mov qword [0x1800c8fc0], r12
mov eax, r15d
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1800555d0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdx, qword [0x1800c8fb0]
lea rcx, [rbp + 0x48]
call fcn.180010b80
nop
cmp qword [rbp + 0x58], 0
jne 0x180054722
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x18005470c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180054707
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054b9a
call fcn.180055890
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r12w
jmp 0x1800545ad
mov edi, r12d
nop word [rax + rax]
movdqa xmm0, xmmword [0x1800bb710]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0xc54c4c49
mov dword [rsp + 0x44], 0xb4b7c6b1
mov dword [rsp + 0x48], 0xb2beb6
mov rax, r12
nop dword [rax]
movzx ecx, byte [rsp + 0x30]
add cl, al
xor byte [rsp + rax + 0x31], cl
inc rax
cmp rax, 0x1a
jb 0x180054760
mov byte [rsp + 0x4b], 0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
lea rax, [rsp + 0x31]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180054791
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x70]
call fcn.18000b0f0
lea rdx, [rbp - 0x70]
call fcn.18000a540
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 8
cmovae rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x48]
cmp qword [rbp + 0x60], 8
cmovae rcx, qword [rbp + 0x48]
xor r8d, r8d
call rax
test eax, eax
jne 0x180054805
lea ecx, [rax + 5]
call fcn.18000ce90
inc edi
cmp edi, 0xa
jl 0x180054730
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 8
cmovae rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
lea rcx, [rbp + 0x28]
call fcn.18000af70
lea rax, [rbp - 0x70]
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r12w
mov r8d, 5
lea rdx, str.init
lea rcx, [rbp - 0x70]
call fcn.18000af70
nop
lea rax, [rsp + 0x30]
mov qword [rbp], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r14, qword [rbp + 0x38]
lea rsi, [rbp + 0x28]
cmp qword [rbp + 0x40], 8
cmovae rsi, qword [rbp + 0x28]
movabs r13, 0x7ffffffffffffffe
cmp r14, 8
jae 0x180054879
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
mov edi, 7
jmp 0x1800548ad
mov rdi, r14
or rdi, 7
cmp rdi, r13
cmova rdi, r13
lea rdx, [rdi + 1]
lea rcx, [rsp + 0x30]
call fcn.18000b930
mov qword [rsp + 0x30], rax
lea r8, [r14*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.180059790
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
movdqa xmm0, xmmword [str._eeljd]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [str.oilm]
movdqu xmmword [rsp + 0x60], xmm1
mov dword [rsp + 0x70], 0x6e196919
mov dword [rsp + 0x74], 0x6f65196b
mov dword [rsp + 0x78], 0x64651f6f
mov word [rsp + 0x7c], 0x1b
mov rcx, r12
nop word [rax + rax]
movzx eax, byte [rsp + 0x50]
xor byte [rsp + rcx + 0x51], al
movzx eax, byte [rsp + 0x50]
xor byte [rsp + rcx + 0x52], al
add rcx, 2
cmp rcx, 0x2c
jb 0x180054900
mov byte [rsp + 0x7d], 0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
lea rax, [rsp + 0x51]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180054940
lea rdx, [rsp + 0x51]
lea rcx, [rbp - 0x30]
call fcn.18000b0f0
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18000a230
nop
cmp qword [rax + 0x18], 8
jb 0x180054971
mov rax, qword [rax]
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], 7
mov word [rbp + 8], r12w
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x180054985
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.18000af70
nop
mov r9d, 5
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 8]
call fcn.18002eb40
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x1800549f6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800549f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054bb2
call fcn.180055890
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r12w
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x180054a42
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180054a3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054bb8
call fcn.180055890
lea rax, [rbp - 0x50]
mov qword [rbp - 8], rax
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r12w
mov r8d, 5
lea rdx, str.init
lea rcx, [rbp - 0x50]
call fcn.18000af70
nop
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r14, qword [rbp + 0x38]
lea rsi, [rbp + 0x28]
cmp qword [rbp + 0x40], 8
cmovae rsi, qword [rbp + 0x28]
cmp r14, 8
jae 0x180054aa3
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
mov edi, 7
jmp 0x180054ad7
mov rdi, r14
or rdi, 7
cmp rdi, r13
cmova rdi, r13
lea rdx, [rdi + 1]
lea rcx, [rsp + 0x30]
call fcn.18000b930
mov qword [rsp + 0x30], rax
lea r8, [r14*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.180059790
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [0x1800c8fb0]
call fcn.18002f220
test eax, eax
je 0x1800546cc
mov r15d, 1
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x180054b45
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180054b40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054b9a
call fcn.180055890
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r12w
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x1800545ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800545e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180054ba0
jmp 0x1800545e8
call fcn.180067178
nop
call fcn.180067178
nop
call fcn.180067178
nop
call fcn.180067178
nop
call fcn.180067178
nop
call fcn.180067178
int3