Function at 0x18045e090
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 8
mov rbx, qword [rax]
cmp rbx, 0
je 0x18045e4cb
mov eax, dword [0x1807a2f78]
imul eax, dword [0x1807a2f7c]
imul eax, eax, 0x4e12a09f
imul eax, eax, 0xf690b6c7
or eax, 0x4b578dc2
cmp eax, 0xb32604fa
jb 0x18045e4dc
jmp 0x18045e0e2
mov eax, dword [0x1807a2f80]
sub eax, dword [0x1807a2f84]
mov ecx, 0x76209410
xor edx, edx
div ecx
add eax, 0xdd3f2350
sub eax, 0x3f14a4cc
mov r14, qword [rsi + 0x18]
cmp eax, 0x4434dece
jbe 0x18045e0e2
jmp 0x18045e10e
cmp r14, 0
je 0x18045e372
mov r15, qword [rsi]
mov eax, dword [0x1807a2f88]
sub eax, dword [0x1807a2f8c]
xor eax, 0x126ed50d
add eax, 0xb6c38cdb
xor eax, 0xf488a8a9
cmp eax, 0xdce9a749
je 0x18045e4ed
jmp 0x18045e143
mov eax, dword [0x1807a2f90]
mov ecx, dword [0x1807a2f94]
sub eax, ecx
add eax, 0x62d3018b
xor eax, 0xdbd2beef
movaps xmm0, xmmword [r15]
pmovmskb ebp, xmm0
xor bp, 0xffff
cmp eax, 0x22287fa8
je 0x18045e143
jmp 0x18045e170
mov r12, r15
add r12, 0x10
mov eax, dword [0x1807a2f98]
add eax, dword [0x1807a2f9c]
imul eax, eax, 0x95a2d849
add eax, 0x28e31ed3
imul eax, eax, 0x5a17e39a
cmp eax, 0x7529c479
jae 0x18045e4fe
mov eax, dword [0x1807a2fa0]
xor eax, dword [0x1807a2fa4]
and eax, 0x9f0b18a2
imul ecx, eax, 0x31e7b74b
xor ecx, 0x22256808
cmp bp, 0
sete al
cmp ecx, 0x761fd9f3
jbe 0x18045e4fe
test al, 1
jne 0x18045e1d5
jmp 0x18045e253
jmp 0x18045e237
mov eax, dword [0x1807a2fa8]
xor edx, edx
div dword [0x1807a2fac]
imul eax, eax, 0xf8b5fe1c
or eax, 0x691bfb54
and eax, 0xbf753924
cmp eax, 0x9006a664
jb 0x18045e50b
mov eax, dword [0x1807a2fb0]
add eax, dword [0x1807a2fb4]
xor eax, 0x4857e7a2
mov r8d, 0xb5b85a2d
xor edx, edx
div r8d
add eax, 0x823faea1
mov bp, cx
xor bp, 0xffff
cmp eax, 0xc20794fb
je 0x18045e50b
jmp 0x18045e235
jmp 0x18045e253
movaps xmm0, xmmword [r12]
pmovmskb ecx, xmm0
add r15, 0xfffffffffffffe00
add r12, 0x10
cmp cx, 0xffff
je 0x18045e237
jmp 0x18045e1d7
mov ax, bp
mov bp, ax
add bp, 0xffff
and bp, ax
add r14, 0xffffffffffffffff
tzcnt eax, eax
movzx eax, ax
xor ecx, ecx
sub rcx, rax
shl rcx, 5
mov rax, r15
add rax, rcx
mov rdi, qword [rax - 0x10]
mov r13, qword [rax - 8]
mov rax, qword [r13]
cmp rax, 0
je 0x18045e293
mov rcx, rdi
call rax
jmp 0x18045e293
mov rcx, r13
add rcx, 8
mov eax, dword [0x1807a2fb8]
sub eax, dword [0x1807a2fbc]
and eax, 0x499c6f82
imul eax, eax, 0x52ac7410
add eax, 0x8d6c1415
cmp eax, 0xaa4cbf45
je 0x18045e518
mov eax, dword [0x1807a2fc0]
xor edx, edx
div dword [0x1807a2fc4]
xor eax, 0xa770c5a0
and eax, 0x602dbfe
add eax, 0x9b8fb865
mov rdx, qword [rcx]
mov r8, qword [r13 + 0x10]
cmp rdx, 0
sete r9b
cmp eax, 0xe5628c7a
je 0x18045e518
jmp 0x18045e2fa
test r9b, 1
jne 0x18045e30c
jmp 0x18045e302
mov rcx, rdi
call fcn.1804cafa0
jmp 0x18045e30c
mov eax, dword [0x1807a2fc8]
and eax, dword [0x1807a2fcc]
xor eax, 0x3df75718
xor eax, 0xce12d860
mov ecx, 0x64f02c55
xor edx, edx
div ecx
cmp eax, 0x91e9883a
jae 0x18045e529
jmp 0x18045e338
mov ecx, dword [0x1807a2fd0]
sub ecx, dword [0x1807a2fd4]
and ecx, 0x7023c7f9
and ecx, 0x6f85fa69
sub ecx, 0xf69370bf
cmp r14, 0
sete al
cmp ecx, 0x307abbf8
jbe 0x18045e338
jmp 0x18045e367
test al, 1
jne 0x18045e370
jmp 0x18045e177
jmp 0x18045e372
mov eax, dword [0x1807a2fd8]
or eax, dword [0x1807a2fdc]
mov ecx, 0x6f6b9053
xor edx, edx
div ecx
sub eax, 0x8e5f240f
mov ecx, 0x9a72f474
xor edx, edx
div ecx
cmp eax, 0xbfeeba7
je 0x18045e53a
mov eax, dword [0x1807a2fe0]
and eax, dword [0x1807a2fe4]
and eax, 0x9cdb16b0
or eax, 0x4e600496
mov ecx, 0x89d947f
xor edx, edx
div ecx
mov r9, rbx
shl r9, 5
mov rcx, r9
add rcx, 0x20
mov r10, rbx
add r10, 0x11
mov rdx, rcx
add rdx, r10
setb dl
xor dl, 0xff
cmp eax, 0x9010f8e9
je 0x18045e53a
jmp 0x18045e3ed
mov eax, dword [0x1807a2fe8]
add eax, dword [0x1807a2fec]
and eax, 0xfad022e8
imul eax, eax, 0x8772de10
add eax, 0x390d71a6
cmp eax, 0xd216fe07
ja 0x18045e547
jmp 0x18045e416
mov eax, dword [0x1807a2ff0]
xor edx, edx
div dword [0x1807a2ff4]
and eax, 0x7e621353
imul eax, eax, 0x9ed446a
xor eax, 0x2473012e
mov r8, rcx
add r8, r10
cmp eax, 0xe1e2b805
je 0x18045e416
jmp 0x18045e443
mov eax, dword [0x1807a2ff8]
and eax, dword [0x1807a2ffc]
mov ecx, 0xebf6cb2c
xor edx, edx
div ecx
add eax, 0xcc156b59
mov ecx, 0xf26ff107
xor edx, edx
div ecx
cmp eax, 0x11efb6ac
jae 0x18045e554
mov eax, dword [0x1807a3000]
imul eax, dword [0x1807a3004]
mov ecx, 0xea71ea2
xor edx, edx
div ecx
add eax, 0xccb1b5f1
imul ecx, eax, 0xacfb16f0
cmp r8, 0
sete al
cmp ecx, 0x38acb6fe
jb 0x18045e554
test al, 1
jne 0x18045e4cb
jmp 0x18045e4ab
mov rcx, qword [rsi]
mov rax, 0xffffffffffffffe0
sub rax, r9
add rcx, rax
mov rdx, r8
mov r8d, 0x10
call fcn.1804cafa0
jmp 0x18045e4cb
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sbb ebx, ecx
invalid
lea edi, [rcx - 0x2d7d1e58]
in al, 0x26
sub ebp, dword [rdx]
sal dword [rsi], cl
jmp 0x18045e141
enter 0x2b13, 0xffffffffffffff80
push rsp
add dword [rcx + rdx*8 - 0x36b17], esp
call [rax - 0x77]
xchg ebx, eax
jge 0x18045e501
adc byte [rcx + rax - 0x5c], 0xd1
jmp 0x18045e19f
pop rax
mov dword [rbx - 0x63da0e83], edx
xchg edx, eax
jmp 0x18045e200
and eax, 0xe8e9929c
cld
invalid
jrcxz 0x18045e553
pop rax
or dword [rdi + 0x39eb8a5c], 0xffffffd2
and al, 0xb0
jmp 0x18045e2c1
invalid
xchg esp, eax
or al, 0x69
add byte [rax - 0x42], al
jns 0x18045e55a
jmp 0x18045e3a0
invalid
dec dword [rdx + 0x33]
invalid
xor rbp, rdx
sub bl, byte [rbx]
pop rsp
pop rsp
pop rsi
lahf
fsubrp st(4)
jmp 0x18045e471