Function at 0x18028a4b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rsi, rcx
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
mov rcx, rsi
call fcn.180405d80
add rsp, 0x20
mov rcx, rax
and rcx, 8
cmp rcx, 0
jne 0x18028a53b
mov rcx, qword [rsi + 0x28]
sub rsp, 0x20
call fcn.1804080c0
add rsp, 0x20
mov qword [rbp - 8], rax
mov qword [rbp], rdx
mov rcx, rsi
add rcx, 0x30
sub rsp, 0x20
call fcn.180201570
add rsp, 0x20
movabs rax, 0x8000000000000001
mov qword [rsi + 0x30], rax
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.180408160
add rsp, 0x20
jmp 0x18028a5b5
and rax, 0x10
cmp rax, 0
sete al
test al, 1
jne 0x18028a5b5
jmp 0x18028a54c
mov rcx, rsi
add rcx, 0xc00
sub rsp, 0x20
call fcn.180408a20
add rsp, 0x20
mov eax, dword [0x180523b50]
xor edx, edx
div dword [0x180523b54]
add eax, 0x3a5bcc2b
or eax, 0x2f768ba6
sub eax, 0x9ace5e5e
cmp eax, 0xf1ec0c1f
ja 0x18028a6d1
jmp 0x18028a58d
mov eax, dword [0x180523b58]
xor eax, dword [0x180523b5c]
mov ecx, 0x2a0f4c59
xor edx, edx
div ecx
add eax, 0x232eef0e
or eax, 0x66cf032
cmp eax, 0xfce705fa
je 0x18028a58d
jmp 0x18028a5b5
mov qword [rdi], rsi
mov rbx, rsi
add rbx, 0x20
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.180409c50
add rsp, 0x20
cmp rax, 0
sete al
mov edx, 2
mov ecx, 1
test al, 1
cmovne rdx, rcx
sub rsp, 0x20
mov rcx, rsi
call fcn.180405db0
add rsp, 0x20
test al, 1
jne 0x18028a606
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [0x180523b60]
xor eax, dword [0x180523b64]
sub eax, 0xf5b3a938
imul eax, eax, 0x59ae880b
imul eax, eax, 0xd86c96f9
cmp eax, 0xc3598d8
jae 0x18028a6de
jmp 0x18028a630
mov eax, dword [0x180523b68]
add eax, dword [0x180523b6c]
imul eax, eax, 0x7bf8dd84
or eax, 0xfee22db0
mov ecx, 0x835add36
xor edx, edx
div ecx
mov rcx, qword [rbx]
lock dec qword [rcx]
sete cl
cmp eax, 0xb2c850a5
jae 0x18028a630
jmp 0x18028a663
test cl, 1
jne 0x18028a66a
jmp 0x18028a67c
sub rsp, 0x20
mov rcx, rbx
call fcn.180275eb0
add rsp, 0x20
jmp 0x18028a67c
mov rcx, rsi
add rcx, 0x30
sub rsp, 0x20
call fcn.180282620
add rsp, 0x20
mov rax, qword [rsi + 0xc10]
cmp rax, 0
je 0x18028a6b1
mov rcx, qword [rsi + 0xc18]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x18028a6b1
sub rsp, 0x20
mov rcx, rsi
mov edx, 0xc80
mov r8d, 0x80
call fcn.1802cbf20
add rsp, 0x20
jmp 0x18028a5fd
jno 0x18028a731
invalid
sbb ch, bl
and dl, cl
invalid
mov ecx, eax
mov eax, dword [0x180523b70]
xor eax, dword [0x180523b74]
mov r8d, 0x474e083
xor edx, edx
div r8d
xor eax, 0x624f78f
imul eax, eax, 0x535b4eab
cmp eax, 0xd602e2f3
jbe 0x18028aa30
mov edx, dword [str.R_DaGe]
add edx, dword [0x180523b7c]
sub edx, 0xe025b0dd
sub edx, 0x7acc26d6
and edx, 0xb857bd4
mov rax, rcx
and rax, 8
cmp rax, 0
sete al
cmp edx, 0x2180c813
je 0x18028aa30
test al, 1
jne 0x18028a7a1
jmp 0x18028a849
mov eax, dword [0x180523b80]
add eax, dword [0x180523b84]
mov ecx, 0x6e0b7514
xor edx, edx
div ecx
and eax, 0x933b8293
or eax, 0xacb9a613
cmp eax, 0xa5cdf1e5
jb 0x18028aa41
mov eax, dword [0x180523b88]
xor edx, edx
div dword [0x180523b8c]
mov ebx, eax
and ebx, 0x245ea28c
xor ebx, 0x490970af
xor ebx, 0x999c5de
mov rcx, qword [rsi + 0x28]
sub rsp, 0x20
call fcn.1804080c0
add rsp, 0x20
mov qword [rbp - 8], rax
cmp ebx, 0x7ade03be
ja 0x18028aa41
jmp 0x18028a810
mov qword [rbp], rdx
mov rcx, rsi
add rcx, 0x30
sub rsp, 0x20
call fcn.1802001c0
add rsp, 0x20
movabs rax, 0x8000000000000007
mov qword [rsi + 0x30], rax
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.180408160
add rsp, 0x20
jmp 0x18028a873
and rcx, 0x10
cmp rcx, 0
sete al
test al, 1
jne 0x18028a873
jmp 0x18028a85a
mov rcx, rsi
add rcx, 0xc8
sub rsp, 0x20
call fcn.180408a20
add rsp, 0x20
jmp 0x18028a873
mov eax, dword [0x180523b90]
add eax, dword [0x180523b94]
imul eax, eax, 0xc59c4598
or eax, 0xebb46a96
xor eax, 0xc0c469a6
cmp eax, 0xd80d9184
jae 0x18028aa63
jmp 0x18028a89c
mov eax, dword [0x180523b98]
sub eax, dword [0x180523b9c]
xor eax, 0xad3a3537
or eax, 0x28ac799b
and eax, 0x7a1ba2e5
mov qword [rdi], rsi
cmp eax, 0x984c9791
je 0x18028a89c
jmp 0x18028a8c3
mov rbx, rsi
add rbx, 0x20
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.180409c50
add rsp, 0x20
mov edx, 2
mov ecx, 1
cmp rax, 0
cmove rdx, rcx
sub rsp, 0x20
mov rcx, rsi
call fcn.180405db0
add rsp, 0x20
test al, 1
jne 0x18028a90c
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbx]
lock dec qword [rax]
sete al
test al, 1
jne 0x18028a91c
jmp 0x18028a97f
sub rsp, 0x20
mov rcx, rbx
call fcn.180275eb0
add rsp, 0x20
mov eax, dword [0x180523ba0]
xor eax, dword [0x180523ba4]
xor eax, 0xc5fb5ca
imul eax, eax, 0x24a3b8a0
and eax, 0x8952fc18
cmp eax, 0x206517df
jae 0x18028aa73
mov eax, dword [0x180523ba8]
add eax, dword [0x180523bac]
xor eax, 0xd0874e73
and eax, 0x94d93855
mov ecx, 0x98d925c7
xor edx, edx
div ecx
cmp eax, 0xf788140d
je 0x18028aa73
jmp 0x18028a97f
mov rcx, rsi
add rcx, 0x30
sub rsp, 0x20
call fcn.18027de20
add rsp, 0x20
mov eax, dword [0x180523bb0]
or eax, dword [0x180523bb4]
sub eax, 0x276fc7e
add eax, 0x70f8eb48
add eax, 0x41c6f0be
cmp eax, 0xb33351eb
je 0x18028aa80
mov eax, dword [0x180523bb8]
imul eax, dword [str.d_Ys]
imul edx, eax, 0x8673a062
sub edx, 0xeb42c4b5
sub edx, 0x7b5bd50
mov rax, qword [rsi + 0xd8]
cmp rax, 0
sete cl
cmp edx, 0x942264a4
ja 0x18028aa80
jmp 0x18028a9f4
test cl, 1
jne 0x18028aa10
jmp 0x18028a9fb
mov rcx, qword [rsi + 0xe0]
add rax, 0x18
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
sub rsp, 0x20
mov rcx, rsi
mov edx, 0x100
mov r8d, 0x80
call fcn.1802cbf20
add rsp, 0x20
jmp 0x18028a903
and ah, byte [rdi - 0x28]
invalid
xchg ecx, eax
call 0x17d7ffb93
push rdi
mov rcx, qword [rsi + 0x28]
sub rsp, 0x20
call fcn.1804080c0
add rsp, 0x20
mov qword [rbp - 8], rax
jmp 0x18028a7cb
jb 0x18028aa85
push rbx
invalid
cmp eax, 0x84f1b7c7
ret
hlt
pop rbp
invalid