Function at 0x1802b5590
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov r13, r9
mov r14, r8
mov r12, rcx
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov qword [rbp + 8], rsp
mov qword [rbp - 0x20], rdx
mov r15, qword [rdx]
sub rsp, 0x20
call fcn.180408a50
add rsp, 0x20
mov rbx, rax
mov rdi, rbx
add rdi, 0x50
movzx eax, byte [rbx + 0x50]
test rax, rax
mov qword [rbp - 0x60], r13
je 0x1802b5620
jmp 0x1802b5613
sub rax, 1
je 0x1802b563c
jmp 0x1802b561b
jmp 0x1802b56eb
lea rdx, [0x18029e120]
sub rsp, 0x20
mov rcx, rbx
call fcn.180428e50
add rsp, 0x20
mov byte [rdi], 1
jmp 0x1802b563c
mov dil, byte [rbx + 0x4c]
mov rcx, rbx
add rcx, 0x4d
mov bl, byte [rbx + 0x4d]
cmp dil, 0
sete al
test al, 1
mov al, bl
jne 0x1802b56e5
jmp 0x1802b565d
cmp bl, 0
sete al
test al, 1
jne 0x1802b5669
jmp 0x1802b5688
mov rax, qword [r15]
add rax, 0x10
mov rax, qword [rax]
mov rcx, qword [r15 + 8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov al, 1
jmp 0x1802b575a
mov eax, dword [0x180526e98]
and eax, dword [0x180526e9c]
sub eax, 0xbef86363
mov r8d, 0x33a8ce63
xor edx, edx
div r8d
or eax, 0xc153e3e0
cmp eax, 0xa62ce884
jb 0x1802b5d3a
jmp 0x1802b56b6
mov edx, dword [0x180526ea0]
imul edx, dword [0x180526ea4]
sub edx, 0xed8a662e
sub edx, 0xc463140b
sub edx, 0x6d697093
mov al, bl
add al, 0xff
cmp edx, 0xf426b1d1
jae 0x1802b56b6
jmp 0x1802b56e3
jmp 0x1802b56e5
mov byte [rcx], al
xor eax, eax
jmp 0x1802b575a
mov eax, dword [0x180526ea8]
or eax, dword [0x180526eac]
and eax, 0xc66fce7b
add eax, 0x544d6e0
xor eax, 0x3467e93a
cmp eax, 0x65d53778
je 0x1802b5d47
mov ecx, dword [0x180526eb0]
sub ecx, dword [0x180526eb4]
sub ecx, 0x65783bde
or ecx, 0x74d9768a
or ecx, 0x572acbc7
mov rax, rsi
add rax, 1
cmp ecx, 0xfa64a46e
jae 0x1802b5d47
jmp 0x1802b5744
mov byte [rax], 0
mov byte [rsi], 0
movzx r15d, word [rsi]
movzx eax, byte [rsi + 2]
shl eax, 0x10
or r15d, eax
jmp 0x1802b578f
movzx r15d, bl
shl r15d, 8
movzx ecx, dil
or r15d, ecx
mov rcx, rsi
inc rcx
mov byte [rsi + 1], 0
mov byte [rsi], 0
shl r15d, 8
movzx eax, al
or r15d, eax
sub rsp, 0x20
call fcn.18040d660
add rsp, 0x20
jmp 0x1802b578f
mov r13d, 2
test r15b, 1
jne 0x1802b5cd8
jmp 0x1802b57a1
mov eax, r15d
shr eax, 0x10
shr r15d, 8
mov rcx, qword [rbp + 8]
mov byte [rcx], r15b
mov byte [rcx + 1], al
mov rax, r12
add rax, 0x18
mov rdx, qword [r12 + 8]
mov rcx, r12
add rcx, 0x28
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x50], rax
mov rdi, qword [rax]
mov cl, byte [r12 + 0x28]
mov rax, qword [r14]
mov qword [rbp - 0x38], rax
mov r14, qword [r12]
mov rbx, qword [rbp - 0x18]
mov rax, rbx
add rax, 8
mov qword [rbp - 0x30], rax
mov rax, rbx
add rax, 0x10
mov qword [rbp - 0x28], rax
mov rax, rbx
add rax, 0x18
mov qword [rbp - 0x58], rax
mov r15, r12
add r15, 0x10
mov r13, r12
add r13, 0x20
mov rax, r12
add rax, 0x29
mov qword [rbp - 0x40], rax
mov r12, qword [r12 + 0x10]
mov rax, qword [r13]
mov qword [rbp - 0x10], rax
mov byte [rbp + 0x17], cl
mov sil, cl
mov rax, rdi
sub rax, rdx
setb al
test sil, sil
sete cl
and al, cl
test al, 1
jne 0x1802b5878
cmp r12, rdi
jb 0x1802b585b
mov qword [rbp - 8], rdx
mov rbx, qword [rbp - 0x18]
jmp 0x1802b5a12
cmp rdi, rdx
seta al
test al, 1
jne 0x1802b5874
jmp 0x1802b5867
mov qword [rbp - 8], rdx
mov rbx, qword [rbp - 0x18]
jmp 0x1802b5a4a
ud2
mov qword [rbp], r15
mov r15, r14
mov qword [rbx], r14
mov rax, qword [rbp - 0x30]
mov qword [rax], rdx
mov r14, rdx
mov rax, qword [rbp - 0x58]
mov qword [rax], rdx
mov rax, qword [rbp - 0x28]
mov qword [rax], rdi
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
mov rdx, qword [rbp - 0x20]
mov r8, rbx
call fcn.180407920
add rsp, 0x20
mov rbx, rdx
test rax, rax
sete dl
test rbx, rbx
sete cl
or rax, rbx
sete al
test al, 1
jne 0x1802b58cd
jmp 0x1802b5918
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x30]
cmp rax, qword [rcx]
seta cl
mov rdx, r14
test cl, 1
mov r14, r15
jne 0x1802b5914
jmp 0x1802b58eb
cmp rdi, rax
sete r8b
and r8b, 1
mov rcx, qword [rbp - 0x48]
mov byte [rcx], r8b
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov r15, qword [rbp]
mov byte [rbp + 0x17], r8b
mov sil, r8b
mov rdi, rax
jmp 0x1802b594d
ud2
test dl, 1
jne 0x1802b591f
jmp 0x1802b5932
xor esi, esi
test cl, 1
mov rdx, r14
mov r14, r15
mov r15, qword [rbp]
jne 0x1802b594d
jmp 0x1802b5959
cmp r12, rdi
sete al
xor esi, esi
test al, 1
mov rdx, r14
mov r14, r15
mov r15, qword [rbp]
jne 0x1802b596c
jmp 0x1802b5849
mov rax, qword [rbp + 8]
mov byte [rax], 0
jmp 0x1802b5849
mov r15, qword [rbp + 8]
mov byte [r15], 0
mov r13d, 1
jmp 0x1802b59fb
mov r8, qword [rbp - 0x40]
mov al, byte [r8]
cmp al, 0
sete al
mov r15, qword [rbp + 8]
mov r13d, 2
test al, 1
je 0x1802b5988
jmp 0x1802b59fb
mov eax, dword [0x180526eb8]
or eax, dword [0x180526ebc]
mov ecx, 0xde2d48cd
xor edx, edx
div ecx
imul eax, eax, 0x52d054c4
or eax, 0x6786d514
cmp eax, 0x976b4451
jae 0x1802b5d54
jmp 0x1802b59b5
mov eax, dword [0x180526ec0]
xor edx, edx
div dword [0x180526ec4]
or eax, 0x945ef53e
imul eax, eax, 0x50df14d3
and eax, 0x4d159f29
mov byte [r15], 0
cmp eax, 0x1b42e092
ja 0x1802b59b5
jmp 0x1802b59e0
mov byte [r8], 0
mov r13d, 2
jmp 0x1802b59fb
mov r13d, 1
mov rbx, rdx
mov r15, qword [rbp + 8]
jmp 0x1802b59fb
sub rsp, 0x20
mov rcx, r15
call fcn.18040d660
add rsp, 0x20
jmp 0x1802b5cd8
jmp 0x1802b5a12
sub rsp, 0x20
mov rcx, r15
xor edx, edx
mov r8d, 0x10
call fcn.1804691b0
add rsp, 0x20
xor r12d, r12d
cmp sil, 0
mov esi, 0
mov edi, 0
mov rdx, qword [rbp - 8]
je 0x1802b5834
jmp 0x1802b5b9e
mov r9, rdi
sub r9, r12
mov r8, r14
add r8, r12
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x20]
call fcn.180407930
add rsp, 0x20
cmp rax, 2
jne 0x1802b5c03
cmp byte [rbp + 0x17], 0
sete al
mov r8, qword [rbp - 8]
cmp rdi, r8
setb cl
and al, cl
mov r15, qword [rbp + 8]
test al, 1
jne 0x1802b5a98
mov rbx, rdx
jmp 0x1802b5b93
mov r12, rdx
mov qword [rbp - 0x80], r14
lea rsi, [rbp - 0x80]
add rsi, 8
mov qword [rbp - 0x78], r8
lea r14, [rbp - 0x80]
add r14, 0x10
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x70], rdi
mov rcx, qword [rbp - 0x38]
cmp rcx, 0
setne al
lea r8, [rbp - 0x80]
sub rsp, 0x20
mov rdx, qword [rbp - 0x20]
call fcn.180407920
add rsp, 0x20
mov rbx, rdx
test rax, rax
sete cl
or rax, rbx
sete al
test al, 1
jne 0x1802b5af3
jmp 0x1802b5b82
mov rax, qword [r14]
mov rcx, qword [rsi]
mov edx, dword [0x180526ec8]
imul edx, dword [0x180526ecc]
or edx, 0x239c366c
imul edx, edx, 0xd3bf5deb
sub edx, 0x4c1a26e
cmp edx, 0xb78cdb0c
je 0x1802b5d69
mov r8d, dword [0x180526ed0]
xor r8d, dword [0x180526ed4]
or r8d, 0xd6c61792
sub r8d, 0x4c3ec2bc
or r8d, 0x9e1dfc56
cmp rax, rcx
seta dl
cmp r8d, 0xc40c040
jb 0x1802b5d69
jmp 0x1802b5b5c
test dl, 1
jne 0x1802b5b7e
jmp 0x1802b5b63
cmp rdi, rax
sete cl
and cl, 1
mov rdx, qword [rbp - 0x48]
mov byte [rdx], cl
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov rbx, r12
jmp 0x1802b5b93
ud2
mov r13d, 1
test cl, 1
jne 0x1802b59fb
jmp 0x1802b5b93
mov r13d, 2
jmp 0x1802b59fb
mov eax, dword [str.Y_aQ_J]
imul eax, dword [0x180526edc]
mov ecx, 0x40374535
xor edx, edx
div ecx
and eax, 0xb40f02ba
sub eax, 0x1468c1b4
cmp eax, 0xa450306d
mov r15, qword [rbp + 8]
jb 0x1802b5d7a
jmp 0x1802b5bcf
mov eax, dword [0x180526ee0]
add eax, dword [0x180526ee4]
xor eax, 0xb44ee92a
and eax, 0x41f1c0de
add eax, 0x51e8b446
mov byte [r15], 0
cmp eax, 0xfdaaa699
jae 0x1802b5bcf
jmp 0x1802b5bf7
xor r13d, r13d
mov rbx, qword [rbp - 0x10]
jmp 0x1802b59fb
cmp rax, 0
sete al
test al, 1
jne 0x1802b5c13
jmp 0x1802b59ec
mov rax, qword [rbp + 8]
mov byte [rax], 0
mov eax, dword [0x180526ee8]
and eax, dword [0x180526eec]
or eax, 0x202cde57
sub eax, 0x2b3f057e
imul eax, eax, 0xa3417cc
cmp eax, 0x4086e59a
jbe 0x1802b5d8b
jmp 0x1802b5c43
mov eax, dword [0x180526ef0]
xor eax, dword [0x180526ef4]
imul ecx, eax, 0xa60f3a61
or ecx, 0x71761f05
sub ecx, 0x42ef2f1d
cmp rdx, 0
sete al
cmp ecx, 0xebffbfa8
ja 0x1802b5c43
jmp 0x1802b5c72
test al, 1
jne 0x1802b5c78
jmp 0x1802b5ca9
lea rdx, [0x180489c92]
sub rsp, 0x20
mov ecx, 0x17
mov r8d, 0x1b
call fcn.18029d430
add rsp, 0x20
mov rbx, rax
mov r13d, 1
mov r15, qword [rbp + 8]
jmp 0x1802b59fb
add r12, rdx
mov qword [r15], r12
mov rax, qword [rbp - 0x10]
add rax, rdx
mov qword [rbp - 0x10], rax
mov qword [r13], rax
mov rax, qword [rbp - 0x40]
mov byte [rax], 1
cmp r12, rdi
setb al
test al, 1
jne 0x1802b5a4a
jmp 0x1802b5a10
mov eax, dword [0x180526ef8]
or eax, dword [0x180526efc]
add eax, 0xd6b6a2b1
mov ecx, 0x59e8b110
xor edx, edx
div ecx
sal bh, cl
int1
add eax, 0xa1da1a8
cmp eax, 0x56713b6
jb 0x1802b5d9c
jmp 0x1802b5d04
mov eax, dword [0x180526f00]
add eax, 0x2711f6
mov ecx, dword [0x180526f04]
sub eax, ecx
xor eax, 0xc858a206
add eax, 0x2920c887
cmp eax, 0x6d48835d
jae 0x1802b5d04
mov rax, r13
mov rdx, rbx
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub dword [rsi - 0x66], eax
push rsi
cli
jnp 0x1802b5da0
cmp cl, ch
insd dword [rdi], dx
stc
invalid
jrcxz 0x1802b5cef
sar dword [rbx + rax*8 - 0x1610b7c6], 1
mov ebp, 0xb0fffff9
jmp 0x1802b5d05
mov al, 0xeb
scasb al, byte [rdi]
invalid
scasb al, byte [rdi]
xchg esp, eax
invalid
adc eax, dword [rdx + 0x48cf0b77]
invalid
push rsi
adc edi, dword [rbp + rdx + 0x72]
invalid
sar byte [rsi - 0x7a75095f], 0x9c
mov cl, 0x76
invalid
mov al, byte [rbp - 0x3b894e64]
sbb ch, byte [rax - 0xaa17]
dec esp
int3