Function at 0x180544450
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov rax, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x20], r9
lea rcx, [rsp + 0x80]
mov rdx, rdi
mov r8, rsi
mov r9, rax
call fcn.1806897e0
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x88]
cmp r8, rdx
sete r9b
cmp qword [rsp + 0x80], 0
mov rcx, qword [rsp + 0xc8]
je 0x18054473e
mov rbp, qword [rsp + 0xa8]
mov r13, rsi
cmp rbp, rdx
je 0x1805447e2
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0xe0]
lea r9, [rax - 1]
mov qword [rsp + 0x48], r9
mov r9, qword [rsp + 0xa0]
mov qword [rsp + 0x60], r9
mov r11, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x98]
mov rdi, rax
mov r9, r10
mov qword [rsp + 0x78], r10
sub rdi, r10
mov qword [rsp + 0x68], rdi
lea r9, [r8 - 1]
mov qword [rsp + 0x70], r9
cmp r9, rax
setb byte [rsp + 0x37]
mov r9, rbp
sub r9, r8
mov qword [rsp + 0x58], r9
lea r15, [rcx + rbp]
lea r12, [rcx + r8]
lea r14, [r11 + r8]
lea rdi, [rbp - 1]
mov r13, rbp
mov r9, qword [rsp + 0x48]
lea r10, [r9 + rbp]
cmp r10, rdx
jae 0x1805447d8
mov r9, qword [rsp + 0x78]
add r9, r13
mov qword [rsp + 0x50], r9
lea rbp, [rax + r13]
cmp rsi, 0xffffffffffffffff
je 0x180544650
mov rbx, r13
jmp 0x180544597
xor esi, esi
mov rbx, rbp
mov r9, qword [rsp + 0x48]
lea r10, [rbx + r9]
cmp r10, rdx
jae 0x1805447d8
cmp r13, rbx
jne 0x1805447d8
movzx r9d, byte [rcx + r10]
mov r10, qword [rsp + 0x60]
bt r10, r9
jae 0x180544580
cmp r8, rsi
mov r10, rsi
cmova r10, r8
nop word [rax + rax]
cmp r10, rax
jae 0x1805445f0
lea r9, [r10 + r13]
cmp r9, rdx
jae 0x18054473c
lea rbx, [r10 + 1]
movzx r9d, byte [r11 + r10]
cmp r9b, byte [r15 + r10]
mov r10, rbx
je 0x1805445c0
add rbx, qword [rsp + 0x58]
xor esi, esi
jmp 0x180544585
mov r10, qword [rsp + 0x70]
nop word cs:[rax + rax]
lea r9, [r10 + 1]
cmp rsi, r9
jae 0x180544640
cmp r10, rax
jae 0x18054473c
lea r9, [r10 + r13]
cmp r9, rdx
jae 0x18054473c
movzx r9d, byte [r11 + r10]
lea rbx, [r10 - 1]
cmp r9b, byte [r15 + r10]
mov r10, rbx
je 0x180544600
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
jmp 0x180544585
xor esi, esi
jmp 0x180544717
mov rsi, r13
jmp 0x180544672
mov r9, qword [rsp + 0x48]
lea r10, [rsi + r9]
cmp r10, rdx
jae 0x1805447d8
cmp r13, rsi
jne 0x1805447d8
movzx r10d, byte [rcx + r10]
mov r9, qword [rsp + 0x60]
bt r9, r10
mov rsi, rbp
jae 0x180544660
xor r10d, r10d
mov rbx, r13
nop word cs:[rax + rax]
lea rsi, [r8 + r10]
cmp rsi, rax
jae 0x1805446d0
lea rsi, [r8 + rbx]
cmp rsi, rdx
jae 0x18054473c
movzx r9d, byte [r14 + r10]
lea rsi, [rbx + 1]
inc r10
cmp r9b, byte [r12 + rbx]
mov rbx, rsi
je 0x1805446a0
jmp 0x180544660
test byte [rsp + 0x37], 1
je 0x180544730
mov rsi, r8
mov r10, r8
nop dword [rax]
sub r10, 1
jb 0x180544710
lea rbx, [rdi + rsi]
cmp rbx, rdx
jae 0x18054473c
movzx ebx, byte [r11 + rsi - 1]
cmp bl, byte [r15 + rsi - 1]
mov rsi, r10
je 0x1805446e0
mov rsi, qword [rsp + 0x50]
jmp 0x180544660
mov rsi, 0xffffffffffffffff
add qword [rsp + 0x58], rax
add r15, rax
add rdi, rax
cmp rbp, rdx
jne 0x180544548
jmp 0x180544816
mov rsi, 0xffffffffffffffff
test r8, r8
je 0x180544717
ud2
cmp byte [rsp + 0x9a], 0
mov r13, rsi
jne 0x1805447e2
movzx eax, byte [rsp + 0x98]
test r9b, 1
je 0x1805447b8
test r8, r8
je 0x180544807
cmp r8, rdx
jae 0x180544820
cmp byte [rcx + r8], 0xc0
jl 0x180544839
mov r13, rsi
test al, al
je 0x1805447e2
nop word cs:[rax + rax]
xor al, 1
jne 0x180544790
jmp 0x180544834
movzx r9d, byte [rcx + r8]
test r9b, r9b
js 0x1805447d2
mov r9d, eax
xor r9b, 1
test al, al
mov eax, r9d
je 0x180544802
test r8, r8
je 0x1805447a0
cmp r8, rdx
jae 0x180544839
movzx r9d, byte [rcx + r8]
cmp r9b, 0xbf
jle 0x180544839
test r9b, r9b
jns 0x1805447aa
cmp r9b, 0xe0
jmp 0x1805447aa
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
sub rsi, r13
add rdi, r13
mov rax, rdi
mov rdx, rsi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, r8
jmp 0x1805447e2
mov r13, rsi
test al, al
je 0x1805447e2
nop
xor al, 1
jne 0x180544810
jmp 0x180544834
mov rsi, qword [rsp + 0x40]
mov r13, rsi
jmp 0x1805447dd
mov r13, rsi
test al, al
je 0x1805447e2
nop word [rax + rax]
xor al, 1
jne 0x180544830
mov r13, rsi
jmp 0x1805447e2
mov r9, rdx
call fcn.18063bc30
int3