Function at 0x18045e570
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 r14, rcx
mov rcx, r14
add rcx, 8
mov eax, dword [0x1807a3008]
imul eax, dword [0x1807a300c]
xor eax, 0xe5654ccf
add eax, 0x64dd6867
sub eax, 0x4d78ddd6
cmp eax, 0x6f14ca53
jbe 0x18045e9ee
jmp 0x18045e5b3
mov eax, dword [0x1807a3010]
or eax, dword [0x1807a3014]
mov r8d, 0x6e155197
xor edx, edx
div r8d
add eax, 0xf38b4718
sub eax, 0xaded4d0c
mov r15, qword [rcx]
cmp eax, 0x7bd348f1
ja 0x18045e5b3
jmp 0x18045e5e0
mov eax, dword [0x1807a3018]
imul eax, dword [0x1807a301c]
or eax, 0x898e41c9
or eax, 0x7bb47e15
add eax, 0xd0ae7751
cmp eax, 0xa9957f34
jbe 0x18045e9fb
mov eax, dword [0x1807a3020]
xor eax, dword [0x1807a3024]
add eax, 0xdbfa9971
mov ecx, 0xe3e6178b
xor edx, edx
div ecx
and eax, 0xe69bd530
cmp r15, 0
sete cl
cmp eax, 0x3d2e1a0
jae 0x18045e9fb
test cl, 1
jne 0x18045e9dc
jmp 0x18045e643
mov rax, r14
add rax, 0x18
mov r12, qword [rax]
cmp r12, 0
je 0x18045e941
mov eax, dword [0x1807a3028]
or eax, dword [0x1807a302c]
imul eax, eax, 0x41e37a02
mov ecx, 0x64a1aaf8
xor edx, edx
div ecx
and eax, 0xbb0c6ec3
cmp eax, 0xbd1b2060
je 0x18045ea0c
jmp 0x18045e684
mov eax, dword [0x1807a3030]
and eax, dword [0x1807a3034]
mov ecx, 0x25d69091
xor edx, edx
div ecx
imul eax, eax, 0xc1f66e5b
add eax, 0x2113ceb4
mov rsi, qword [r14]
cmp eax, 0x7d67ffda
ja 0x18045e684
jmp 0x18045e6b0
movaps xmm1, xmmword [rsi]
xorps xmm0, xmm0
pcmpgtb xmm0, xmm1
mov eax, dword [0x1807a3038]
add eax, dword [0x1807a303c]
or eax, 0x34f54903
imul eax, eax, 0xf59517a9
or eax, 0xa99f188f
cmp eax, 0xd8cb5634
jbe 0x18045ea19
jmp 0x18045e6e3
mov eax, dword [0x1807a3040]
mov ecx, dword [0x1807a3044]
xor eax, ecx
imul eax, eax, 0x3fd274dc
add eax, 0x2b6a0b7c
movaps xmm1, xmm0
psllw xmm1, 7
pmovmskb ebp, xmm1
xor bp, 0xffff
mov r13, rsi
add r13, 0x10
cmp eax, 0x67b502e9
je 0x18045e6e3
jmp 0x18045e71c
cmp bp, 0
je 0x18045e727
jmp 0x18045e809
jmp 0x18045e788
xor bp, 0xffff
mov eax, dword [0x1807a3048]
sub eax, dword [0x1807a304c]
and eax, 0x36ec614b
or eax, 0x80f2f4a
sub eax, 0xcc5455c1
cmp eax, 0xdad1e60e
je 0x18045ea2a
jmp 0x18045e755
mov eax, dword [0x1807a3050]
xor eax, dword [0x1807a3054]
sub eax, 0xb764faac
add eax, 0x1e99e551
mov r9d, 0x5ef1f3ee
xor edx, edx
div r9d
cmp eax, 0xe50b4747
je 0x18045e755
mov r13, r8
mov rsi, rcx
jmp 0x18045e809
mov eax, dword [0x1807a3058]
add eax, dword [0x1807a305c]
imul eax, eax, 0x52c448fd
and eax, 0xfbde8970
and eax, 0xda4fcb2d
cmp eax, 0x9dada77e
ja 0x18045ea3b
jmp 0x18045e7b1
mov edx, dword [0x1807a3060]
mov eax, dword [0x1807a3064]
or edx, eax
and edx, 0x90880400
or edx, 0x2a37d3bd
xor edx, 0x69c428b1
movaps xmm0, xmmword [r13]
pmovmskb ebp, xmm0
mov rcx, rsi
add rcx, 0xfffffffffffffc80
mov r8, r13
add r8, 0x10
cmp bp, 0xffff
sete al
cmp edx, 0x5e533145
je 0x18045e7b1
test al, 1
mov r13, r8
mov rsi, rcx
jne 0x18045e788
jmp 0x18045e729
mov ax, bp
mov bp, ax
add bp, 0xffff
and bp, ax
add r12, 0xffffffffffffffff
tzcnt eax, eax
movzx eax, ax
xor ecx, ecx
sub rcx, rax
imul rax, rcx, 0x38
mov rdi, rsi
add rdi, rax
mov rbx, qword [rdi - 0x38]
cmp rbx, 0
je 0x18045e91f
mov eax, dword [0x1807a3068]
or eax, dword [0x1807a306c]
sub eax, 0x70fd08df
sub eax, 0x56afe8ac
mov ecx, 0x9c970894
xor edx, edx
div ecx
cmp eax, 0x49d0159d
ja 0x18045ea4c
mov eax, dword [0x1807a3070]
add eax, dword [0x1807a3074]
or eax, 0x263e6652
imul ecx, eax, 0xa68472d
sub ecx, 0x954d7a5d
mov rax, rdi
add rax, 0xffffffffffffffc8
add rax, 8
cmp ecx, 0x5890088b
jb 0x18045ea4c
mov qword [rsp + 0x30], r14
jmp 0x18045e8a3
mov qword [rsp + 0x28], r12
mov r14, qword [rax]
mov eax, dword [0x1807a3078]
xor eax, dword [0x1807a307c]
add eax, 0x4b2bb2a8
imul eax, eax, 0xbda27562
sub eax, 0x7935830b
cmp eax, 0x229faa7d
jae 0x18045ea59
mov r12d, dword [0x1807a3080]
sub r12d, dword [0x1807a3084]
or r12d, 0x6f2ffed5
sub r12d, 0xf436e19d
add r12d, 0xe713ed89
mov rcx, r14
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
cmp r12d, 0xc3f829bb
jae 0x18045ea59
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x28]
jmp 0x18045e91f
add rdi, 0xffffffffffffffc8
add rdi, 0x18
mov rcx, rdi
call fcn.180457bb0
cmp r12, 0
sete al
test al, 1
jne 0x18045e93f
jmp 0x18045e71c
jmp 0x18045e941
mov eax, dword [0x1807a3088]
xor edx, edx
div dword [0x1807a308c]
sub eax, 0xfd14e5be
sub eax, 0x5f42c525
add eax, 0x3c5bdeca
cmp eax, 0x4e584203
jbe 0x18045ea7b
jmp 0x18045e96b
mov ecx, dword [0x1807a3090]
or ecx, dword [0x1807a3094]
sub ecx, 0x9a0aa1a2
or ecx, 0x2824ec6a
sub ecx, 0x23454a6a
mov rax, r15
add rax, 1
mov edx, 0x38
mul rdx
seto dl
cmp ecx, 0xd711a26b
ja 0x18045e96b
jmp 0x18045e9a5
add rax, 0xf
and rax, 0xfffffffffffffff0
add r15, 0x11
mov rdx, rax
add rdx, r15
cmp rdx, 0
sete cl
test cl, 1
jne 0x18045e9dc
jmp 0x18045e9c5
mov rcx, qword [r14]
xor r8d, r8d
sub r8, rax
add rcx, r8
mov r8d, 0x10
call fcn.1804cafa0
nop
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sbb byte [rcx], 0xb0
call 0x140459732
jmp 0x18045e5b1
fimul dword [rbp + 0x2a9b27f1]
movabs dword [0xfbfbe9728e1c01af], eax
invalid
push rdi
mov ebx, 0x8f0dc205
movabs eax, dword [0x9ca0b6fffffc69e9]
imul edi, esp, 0xa0b6ffff
mov dh, 0xa0
pushfq
outsb dx, byte [rsi]
xor edi, dword [rdi]
rcl dword [rcx]
invalid
or dword [rbx + 0x74903e18], ebx
xchg edx, eax
loopne 0x18045ea74
retf
ret 0x9fc2
ja 0x1cbe0b9e8
and ebp, ecx
paddd mm7, mm7
call [rsi + 0x27]
mov ebp, 0x4db09d2d
js 0x18045ea15
pop rsi
invalid
xchg byte [rbp - 0xe76b31b], ch
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
jmp 0x18045e8d2
invalid
push 0xfffffffffa6783bf
sub dh, bl
or al, 0x13
out dx, eax
adc dword [0x18044c874], ebp
dec esp
int3