Function at 0x18045daa0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov r14, qword [rsi + 8]
cmp r14, 0
je 0x18045dfc4
mov r8, rsi
add r8, 0x18
mov eax, dword [0x1807a2ec8]
add eax, dword [0x1807a2ecc]
mov ecx, 0xf0b2bb6f
xor edx, edx
div ecx
sub eax, 0x9fe0907f
mov ecx, 0x9c55ca32
xor edx, edx
div ecx
cmp eax, 0xe4d9e89d
je 0x18045dfd5
mov eax, dword [0x1807a2ed0]
add eax, dword [str.WE_N]
sub eax, 0xc98dfc20
imul edx, eax, 0xdd82a63
sub edx, 0xda8671a7
mov rcx, qword [r8]
cmp rcx, 0
sete al
cmp edx, 0x629c17aa
je 0x18045dfd5
jmp 0x18045db2b
test al, 1
jne 0x18045de1e
jmp 0x18045db35
mov eax, dword [0x1807a2ed8]
add eax, dword [0x1807a2edc]
xor eax, 0x53a60800
or eax, 0x86e88d5c
or eax, 0xbe73e659
cmp eax, 0x6a9e5b31
jb 0x18045dfe6
jmp 0x18045db5d
mov eax, dword [0x1807a2ee0]
mov edx, dword [0x1807a2ee4]
and eax, edx
or eax, 0x1028008
and eax, 0x1028529
mov r15, qword [rsi]
movaps xmm1, xmmword [r15]
xorps xmm0, xmm0
pcmpgtb xmm0, xmm1
cmp eax, 0x4cb77272
ja 0x18045db5d
jmp 0x18045db8c
psllw xmm0, 7
pmovmskb ebp, xmm0
xor bp, 0xffff
mov r12, r15
add r12, 0x10
mov eax, dword [0x1807a2ee8]
and eax, dword [0x1807a2eec]
and eax, 0x3f3c6707
mov r8d, 0xd359ccd8
xor edx, edx
div r8d
imul eax, eax, 0x4726b155
cmp eax, 0x63243856
jae 0x18045dff3
jmp 0x18045dbcf
mov edx, dword [0x1807a2ef0]
imul edx, dword [0x1807a2ef4]
or edx, 0x4087768f
sub edx, 0xcc63f8d1
or edx, 0x25f27aaa
cmp bp, 0
sete al
cmp edx, 0xc28e70bd
ja 0x18045dbcf
test al, 1
jne 0x18045dc07
mov r8w, bp
jmp 0x18045dc84
jmp 0x18045dc66
mov eax, dword [0x1807a2ef8]
or eax, dword [0x1807a2efc]
xor eax, 0x74d8491d
and eax, 0x961d1f4c
sub eax, 0xcef3daf0
cmp eax, 0xf3aae747
je 0x18045e004
jmp 0x18045dc31
mov eax, dword [0x1807a2f00]
or eax, dword [0x1807a2f04]
mov r8d, 0x934e66a
xor edx, edx
div r8d
or eax, 0x7fb029
add eax, 0x7d61d955
mov r8w, r9w
xor r8w, 0xffff
cmp eax, 0xdb51b400
jae 0x18045dc31
jmp 0x18045dc64
jmp 0x18045dc84
movaps xmm0, xmmword [r12]
pmovmskb r9d, xmm0
add r15, 0xfffffffffffffc80
add r12, 0x10
cmp r9w, 0xffff
je 0x18045dc66
jmp 0x18045dc09
mov eax, dword [0x1807a2f08]
and eax, dword [0x1807a2f0c]
xor eax, 0xcb78940
mov r9d, 0x8eeea2c7
xor edx, edx
div r9d
add eax, 0x85b1e75d
cmp eax, 0x815b967e
jbe 0x18045e011
jmp 0x18045dcb2
mov eax, dword [0x1807a2f10]
imul eax, dword [0x1807a2f14]
imul eax, eax, 0x348c8115
imul edx, eax, 0x886e768a
or edx, 0x6e9d3cd0
mov bp, r8w
add bp, 0xffff
and bp, r8w
mov r13, rcx
add r13, 0xffffffffffffffff
tzcnt eax, r8d
movzx eax, ax
xor r9d, r9d
sub r9, rax
imul rax, r9, 0x38
mov rdi, r15
add rdi, rax
mov rbx, qword [rdi - 0x38]
cmp rbx, 0
sete al
cmp edx, 0xaee37171
jae 0x18045dcb2
test al, 1
jne 0x18045ddf9
jmp 0x18045dd19
mov qword [rsp + 0x30], rsi
mov eax, dword [0x1807a2f18]
xor edx, edx
div dword [0x1807a2f1c]
mov ecx, 0x6a273c2d
xor edx, edx
div ecx
and eax, 0xc644a31b
xor eax, 0x22985d29
cmp eax, 0xb60e58ca
ja 0x18045e022
mov eax, dword [0x1807a2f20]
xor edx, edx
div dword [0x1807a2f24]
xor eax, 0x70dd03f1
add eax, 0x985e9aa
xor eax, 0xd14358df
mov rsi, rdi
add rsi, 0xffffffffffffffc8
add rsi, 8
cmp eax, 0xdcc67fd0
ja 0x18045e022
mov qword [rsp + 0x28], r14
jmp 0x18045dd84
mov eax, dword [0x1807a2f28]
sub eax, dword [0x1807a2f2c]
or eax, 0xb67e67e4
xor eax, 0xadbad738
sub eax, 0x1571d6e0
cmp eax, 0xf9887562
jb 0x18045e02f
mov r14d, dword [0x1807a2f30]
sub r14d, dword [0x1807a2f34]
and r14d, 0xa22a93f2
sub r14d, 0xbb1c6fe
and r14d, 0xdf533ff6
mov rcx, qword [rsi]
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
cmp r14d, 0x709dc0c5
jae 0x18045e02f
jmp 0x18045dded
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jmp 0x18045ddf9
add rdi, 0xffffffffffffffc8
add rdi, 0x18
mov rcx, rdi
call fcn.180457200
cmp r13, 0
sete al
test al, 1
mov rcx, r13
jne 0x18045de1c
jmp 0x18045dba0
jmp 0x18045de1e
mov rax, r14
add rax, 1
mov ecx, 0x38
mul rcx
mov r9, rax
seto al
add r9, 0xf
and r9, 0xfffffffffffffff0
add r14, 0x11
mov eax, dword [0x1807a2f38]
xor eax, dword [0x1807a2f3c]
sub eax, 0x88052f24
and eax, 0x6d01552
imul eax, eax, 0xbc0f8d5c
cmp eax, 0x80efea5f
jb 0x18045e04d
mov eax, dword [0x1807a2f40]
imul eax, dword [0x1807a2f44]
imul eax, eax, 0x8035e46
add eax, 0x6ef8eb92
add eax, 0x4c9bd613
mov rcx, r9
add rcx, r14
setb cl
cmp eax, 0x9ddacff5
ja 0x18045e04d
jmp 0x18045de99
mov eax, dword [0x1807a2f48]
or eax, dword [0x1807a2f4c]
imul eax, eax, 0x5c82738f
imul eax, eax, 0x3439445e
and eax, 0xc55128d8
cmp eax, 0x3d95870e
je 0x18045e05a
jmp 0x18045dec3
mov eax, dword [0x1807a2f50]
xor edx, edx
div dword [0x1807a2f54]
imul ecx, eax, 0x80b9ccfa
xor ecx, 0xa776f898
add ecx, 0xdf617b75
mov r8, r9
add r8, r14
cmp r8, 0
sete al
cmp ecx, 0xd872ae3f
jae 0x18045dec3
test al, 1
jne 0x18045dfc4
jmp 0x18045df02
mov eax, dword [0x1807a2f58]
imul eax, dword [0x1807a2f5c]
sub eax, 0x979b9f01
imul eax, eax, 0x5bbb3c52
mov ecx, 0x668247e5
xor edx, edx
div ecx
cmp eax, 0xd6cd43cc
jae 0x18045e067
mov eax, dword [0x1807a2f60]
xor edx, edx
div dword [0x1807a2f64]
sub eax, 0x208e9e1
sub eax, 0xbbf00f8
add eax, 0xb75851ac
mov rcx, qword [rsi]
cmp eax, 0x320320f9
je 0x18045e067
jmp 0x18045df5b
xor eax, eax
sub rax, r9
add rcx, rax
mov rdx, r8
mov r8d, 0x10
call fcn.1804cafa0
mov eax, dword [0x1807a2f68]
xor eax, dword [0x1807a2f6c]
imul eax, eax, 0x7e61f5be
imul eax, eax, 0x79c3e384
or eax, 0xfb08efb1
cmp eax, 0x686d08ca
jb 0x18045e074
jmp 0x18045df9b
mov eax, dword [0x1807a2f70]
imul eax, dword [0x1807a2f74]
and eax, 0x96f625b1
mov ecx, 0x576e86af
xor edx, edx
div ecx
xor eax, 0xc5a0da4f
cmp eax, 0x64f1f5a8
jbe 0x18045df9b
jmp 0x18045dfc4
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub al, al
loop 0x18045e04e
push rdi
and ebp, ebp
jmp 0x18045df93
lodsb al, byte [rsi]
and bh, 0x72
pop rdx
sub bh, byte [rdi - 0x6b]
jmp 0x18045db5b
add ecx, esp
popfq
invalid
ret 0x55de
int1
invalid
xchg byte [rsp], al
hlt
invalid
je 0x18045e09a
adc al, 0x14
adc al, 0x14
sub ah, bh
bnd jmp 0x18045de66
invalid
fist word [rax - 0x3fa14876]
xor eax, ebp
jmp 0x18045df2e
insb byte [rdi], dx
jle 0x18045e0ea
jmp [rsi - 0x18]
xchg esi, eax
xor al, 0