Function at 0x18045ab80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, rcx
mov r8, qword [rsi]
mov eax, dword [0x1807a29b0]
add eax, dword [0x1807a29b4]
and eax, 0x3bda7662
and eax, 0xfe53519b
and eax, 0x18ddc5e1
cmp eax, 0x52e64915
ja 0x18045ad92
mov eax, dword [0x1807a29b8]
and eax, dword [0x1807a29bc]
mov ecx, 0xc805ab2a
xor edx, edx
div ecx
mov ecx, 0x914bc772
xor edx, edx
div ecx
sub eax, 0x6d7fada4
cmp r8, 0xffffffffffffffff
sete dl
cmp eax, 0x91dbe299
je 0x18045ad92
jmp 0x18045abea
xor ecx, ecx
test dl, 1
jne 0x18045ad2f
jmp 0x18045abf7
mov eax, dword [0x1807a29c0]
or eax, dword [0x1807a29c4]
sub eax, 0x67d49092
mov ecx, 0x85f4b595
xor edx, edx
div ecx
imul eax, eax, 0xffbe099c
cmp eax, 0x98b26098
jbe 0x18045ada3
jmp 0x18045ac24
mov eax, dword [0x1807a29c8]
and eax, dword [0x1807a29cc]
or eax, 0xa1f4c133
add eax, 0x93a10823
imul ecx, eax, 0x9df0878e
mov rax, r8
add rax, 1
cmp ecx, 0xf2c6f3d7
je 0x18045ac24
jmp 0x18045ac51
mov rcx, r8
shl rcx, 1
mov rdx, rcx
sub rdx, rax
cmova rax, rcx
mov rcx, rax
sub rcx, 9
mov edi, 8
cmovae rdi, rax
xor ecx, ecx
cmp rdi, 0
jl 0x18045ad2f
mov rbx, rsi
add rbx, 8
xor eax, eax
cmp r8, 0
je 0x18045aca0
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r8
mov eax, 1
jmp 0x18045aca0
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x20]
lea r9, [rsp + 0x38]
mov edx, 1
mov r8, rdi
call fcn.18045a8b0
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x20]
add rax, 8
cmp rcx, 0
je 0x18045ad34
mov rcx, qword [rax]
mov eax, dword [0x1807a29d0]
imul eax, dword [0x1807a29d4]
mov r8d, 0xe7594818
xor edx, edx
div r8d
xor eax, 0xac69472c
and eax, 0xf5685539
cmp eax, 0xcd132cf2
ja 0x18045adb4
jmp 0x18045ad02
mov eax, dword [0x1807a29d8]
xor edx, edx
div dword [0x1807a29dc]
xor eax, 0xf9114a26
sub eax, 0x45ea149d
sub eax, 0xce5a67b
mov rdx, qword [rsp + 0x30]
cmp eax, 0x344229e6
je 0x18045ad02
jmp 0x18045ad2d
jmp 0x18045ad2f
call fcn.18063bc30
mov rax, qword [rax]
mov qword [rbx], rax
mov eax, dword [0x1807a29e0]
sub eax, dword [0x1807a29e4]
or eax, 0x64138394
sub eax, 0x2cbea743
mov ecx, 0xa941e282
xor edx, edx
div ecx
cmpsd dword [rsi], dword [rdi]
mov esi, 0xe282b92c
test eax, 0xf1f7d231
cmp eax, 0xfce3d91
je 0x18045adc1
mov eax, dword [0x1807a29e8]
xor edx, edx
div dword [0x1807a29ec]
and eax, 0x47590330
and eax, 0xe470848c
imul eax, eax, 0x5359657d
mov qword [rsi], rdi
cmp eax, 0xd431d06e
je 0x18045adc1
jmp 0x18045ad8a
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
push rcx
or al, 0x6b
mov ecx, 0x9c51f306
je 0x18045ad4c
inc dword [rbp - 0x1ef17]
inc dword [rdx + 0xd]
ret
or eax, 0x549af4c3
int3
insd dword [rdi], dx
movabs dword [0x3fe90e263c56357f], eax
invalid
pushfq
mov dword [rsi - 0x8dfcc73], eax
sbb bl, bl
jmp 0x18045adef
and al, 0x10
mov rdi, rcx
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rsi, rsp
mov r9, qword [rdi]
cmp r9, 0xffffffffffffffff
sete al
xor ebx, ebx
test al, 1
jne 0x18045b11a
jmp 0x18045ae1a
mov eax, dword [0x1807a29f0]
or eax, dword [0x1807a29f4]
xor eax, 0x14660689
sub eax, 0xdbc64b40
mov ecx, 0x544272ae
xor edx, edx
div ecx
cmp eax, 0xe11809ce
ja 0x18045b199
mov eax, dword [0x1807a29f8]
and eax, dword [0x1807a29fc]
add eax, 0x52a25127
or eax, 0x8c9bab2e
sub eax, 0xd980c7ea
mov rdx, r9
add rdx, 1
mov rcx, r9
shl rcx, 1
mov r8, rcx
sub r8, rdx
cmova rdx, rcx
mov r8, rdx
sub r8, 5
mov r15d, 4
cmovae r15, rdx
cmp eax, 0x1bdf798c
ja 0x18045b199
jmp 0x18045ae94
mov r8, r15
shl r8, 1
cmp r15, 0
setl al
movabs rdx, 0x7ffffffffffffffe
cmp r8, rdx
seta dl
or al, dl
xor ebx, ebx
test al, 1
jne 0x18045b11a
mov eax, dword [0x1807a2a00]
add eax, dword [0x1807a2a04]
mov r10d, 0x93dfb99a
xor edx, edx
div r10d
add eax, 0x5498f485
add eax, 0xeb04677e
cmp eax, 0x2352f152
jb 0x18045b1a6
mov eax, dword [str.LFNY]
and eax, dword [0x1807a2a0c]
and eax, 0x7a831ac8
sub eax, 0x53e0440b
sub eax, 0xd2cea902
cmp eax, 0xb131b086
jbe 0x18045b1a6
jmp 0x18045af11
mov rbx, rdi
add rbx, 8
cmp r9, 0
sete dl
xor eax, eax
test dl, 1
jne 0x18045b038
jmp 0x18045af2c
mov eax, dword [0x1807a2a10]
xor edx, edx
div dword [0x1807a2a14]
sub eax, 0x14907a1c
add eax, 0x916b5e3b
xor eax, 0xe679b8d0
cmp eax, 0xae9c9fb3
jae 0x18045b1b3
mov eax, dword [0x1807a2a18]
and eax, dword [0x1807a2a1c]
xor eax, 0x6b781059
xor eax, 0xa223bed
xor eax, 0x7cf8def
mov rdx, qword [rbx]
mov qword [rbp - 0x10], rdx
lea r9, [rbp - 0x10]
add r9, 0x10
cmp eax, 0x88e87cc7
jae 0x18045b1b3
jmp 0x18045af8b
mov eax, dword [0x1807a2a20]
xor eax, dword [0x1807a2a24]
imul eax, eax, 0x9ee51be4
mov r10d, 0x9e382841
xor edx, edx
div r10d
xor eax, 0xdaca8204
cmp eax, 0xef80949b
jae 0x18045b1c7
mov eax, dword [0x1807a2a28]
or eax, dword [0x1807a2a2c]
xor eax, 0x37ecac14
sub eax, 0x837281c8
xor eax, 0x5d9e56d5
mov qword [r9], rcx
cmp eax, 0x54fff88f
jbe 0x18045b1c7
jmp 0x18045afe3
mov eax, dword [0x1807a2a30]
sub eax, dword [0x1807a2a34]
imul eax, eax, 0x33f933df
xor eax, 0x2dc26a87
imul eax, eax, 0x444f8978
cmp eax, 0xfda7bf77
ja 0x18045b1db
mov eax, dword [0x1807a2a38]
sub eax, dword [0x1807a2a3c]
and eax, 0x7122ba5a
sub eax, 0xaf278d03
add eax, 0x19c71317
cmp eax, 0x65f5dd88
jb 0x18045b1db
mov eax, 2
jmp 0x18045b038
mov qword [rbp - 8], rax
lea r9, [rbp - 0x10]
sub rsp, 0x20
mov rcx, rsi
mov edx, 2
call fcn.18045a8b0
add rsp, 0x20
mov rax, qword [rsi]
mov rcx, rsi
add rcx, 8
cmp rax, 0
je 0x18045b183
mov eax, dword [0x1807a2a40]
imul eax, dword [0x1807a2a44]
xor eax, 0xa3ad3215
xor eax, 0x989b18e9
mov r8d, 0xce87b695
xor edx, edx
div r8d
cmp eax, 0x930efc2b
je 0x18045b1ec
mov eax, dword [0x1807a2a48]
imul eax, dword [0x1807a2a4c]
or eax, 0x741ed22b
sub eax, 0x41837801
and eax, 0x2766cb8b
mov rbx, qword [rcx]
cmp eax, 0xf6249539
ja 0x18045b1ec
jmp 0x18045b0c2
mov r14, qword [rsi + 0x10]
mov eax, dword [0x1807a2a50]
xor eax, dword [0x1807a2a54]
add eax, 0x26e0429e
xor eax, 0x999deae3
xor eax, 0x3329bc43
cmp eax, 0x7451e0f3
je 0x18045b1fd
jmp 0x18045b0ee
mov eax, dword [0x1807a2a58]
xor eax, dword [0x1807a2a5c]
mov ecx, 0x10eea437
xor edx, edx
div ecx
mov ecx, 0x7128921d
xor edx, edx
div ecx
and eax, 0xaf40c6cb
cmp eax, 0xcedbdd66
je 0x18045b0ee
jmp 0x18045b11a
mov eax, dword [str.co_U]
xor edx, edx
div dword [0x1807a2a64]
imul eax, eax, 0x9765d4d8
or eax, 0xd884daf8
add eax, 0x64b87790
cmp eax, 0x5f9d15fc
jae 0x18045b20e
jmp 0x18045b145
mov eax, dword [0x1807a2a68]
xor eax, dword [0x1807a2a6c]
or eax, 0x4a00e8ba
or eax, 0x904d3306
mov ecx, 0xd6a8590
xor edx, edx
div ecx
mov esi, eax
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call fcn.18063bc30
add rsp, 0x20
cmp esi, 0x59144f22
ja 0x18045b145
ud2
mov rax, qword [rcx]
mov qword [rbx], rax
mov qword [rdi], r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea edx, [rdx]
jo 0x18045b18c
pop rdi
xchg ebx, eax
cmp al, cl
jmp 0x18045ae44
loop 0x18045b224
cld
push rsp
adc esp, dword ss:[rdi + 0xe]
jmp 0x18045aee9
cmp dword [rbp - 0x73], 0xffffff85
mov dl, byte [rax]
or dword [rdi + 0x48], eax
mov eax, dword [rbx]
mov qword [rbp - 0x10], rax
jmp 0x18045af54
div bl
mov edx, esp
sti
or dword [rsi + 0xb], ecx
mov word [rax], es
invalid
push rsi
or ecx, ebp
invalid
invalid
xchg esp, eax
loop 0x18045b202
invalid
add eax, 0x34452ca1
sbb edi, dword [rdx - 0x12117]
call qword [rsp + rbx*2 + 0x55]
push rsp
pop rsp
push rbp
fiadd word [rsi - 0x48caf7f2]
sbb byte [rdx - 0x137cb7d7], dl
and byte [rax - 0x77], cl
invalid
call fcn.18063bc30
add rsp, 0x20
jmp 0x18045b143