Function at 0x180247730
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x18051f2b0]
add eax, dword [0x18051f2b4]
and eax, 0x50a834cb
imul eax, eax, 0x6e3bf4ab
imul eax, eax, 0xbb7996bb
cmp eax, 0xa09aa2c9
ja 0x180247ae4
mov eax, dword [0x18051f2b8]
add eax, dword [0x18051f2bc]
xor eax, 0x4cc76243
sub eax, 0x60364f7e
imul ecx, eax, 0x24dc0dc4
mov rax, rsi
add rax, 0xb8
cmp ecx, 0x3f1c5699
je 0x180247ae4
jmp 0x18024779a
mov rdx, qword [rax]
cmp rdx, 0
je 0x180247804
mov rcx, qword [rsi + 0xc0]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051f2c0]
imul eax, dword [0x18051f2c4]
imul eax, eax, 0x67b2ccd
and eax, 0x899d8a37
imul eax, eax, 0x526192e1
cmp eax, 0x9c27b5fb
ja 0x180247af5
jmp 0x1802477e0
mov eax, dword [0x18051f2c8]
or eax, dword [0x18051f2cc]
add eax, 0x7b30e8fc
add eax, 0x4430c4d1
add eax, 0x81664a77
cmp eax, 0x7e1315d6
jae 0x1802477e0
jmp 0x180247804
mov rbx, qword [rsi + 0xd0]
movabs rax, 0x8000000000000000
cmp rbx, rax
sete al
mov ecx, dword [0x18051f2d0]
xor ecx, dword [0x18051f2d4]
or ecx, 0x74551c6a
and ecx, 0xe544f34c
or ecx, 0xb127c173
cmp ecx, 0x9f4e73f9
jbe 0x180247b06
jmp 0x180247847
mov ecx, dword [0x18051f2d8]
xor ecx, dword [0x18051f2dc]
imul ecx, ecx, 0x85525f0f
add ecx, 0x4d9a8ee2
xor ecx, 0x11808c3c
cmp ecx, 0x521e5e24
jb 0x180247847
test al, 1
jne 0x18024799c
jmp 0x180247877
mov rax, rsi
add rax, 0xd8
mov rdi, qword [rax]
mov r14, qword [rsi + 0xe0]
cmp r14, 0
sete al
test al, 1
jne 0x180247926
jmp 0x18024789b
xor r15d, r15d
jmp 0x1802478a0
imul rcx, r15, 0x18
mov rax, rdi
add rax, rcx
add r15, 1
mov rdx, qword [rax]
cmp rdx, 0
je 0x1802478c8
mov rcx, qword [rax + 8]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802478c8
cmp r15, r14
sete cl
mov eax, dword [0x18051f2e0]
xor eax, dword [0x18051f2e4]
xor eax, 0xc97d5fbe
xor eax, 0x72acc847
sub eax, 0x2132d323
cmp eax, 0xf0644c63
je 0x180247b17
jmp 0x1802478f6
mov eax, dword [0x18051f2e8]
xor edx, edx
div dword [0x18051f2ec]
xor eax, 0x390527a2
add eax, 0xd0c5d549
add eax, 0x98c5bfb4
cmp eax, 0xea7be35a
je 0x1802478f6
test cl, 1
jne 0x180247924
jmp 0x1802478a0
jmp 0x180247926
cmp rbx, 0
sete al
test al, 1
jne 0x18024799c
jmp 0x180247933
imul rbx, rbx, 0x18
mov eax, dword [0x18051f2f0]
xor eax, dword [0x18051f2f4]
xor eax, 0x73535e35
xor eax, 0x655839f0
or eax, 0xd9e8b02
cmp eax, 0x54487b1e
jbe 0x180247b24
mov eax, dword [0x18051f2f8]
and eax, dword [0x18051f2fc]
imul eax, eax, 0x7c91e3bc
imul ebp, eax, 0xc68b45dc
and ebp, 0x18fe8a0a
mov rcx, rdi
mov rdx, rbx
mov r8d, 8
call fcn.1802cbf20
cmp ebp, 0xa218879
je 0x180247b24
jmp 0x18024799a
jmp 0x18024799c
mov rcx, rsi
call fcn.180248720
mov rdi, rsi
add rdi, 0x28
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x180247a18
mov eax, dword [0x18051f300]
sub eax, dword [0x18051f304]
and eax, 0xb0179151
xor eax, 0xdea678a1
sub eax, 0x3d47fb22
cmp eax, 0xbc4d270
jb 0x180247b42
mov eax, dword [0x18051f308]
add eax, dword [0x18051f30c]
sub eax, 0x87b4b9ea
and eax, 0x7e232b4b
mov ecx, 0xd143ac93
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.180275540
cmp ebx, 0xe6a7b79b
ja 0x180247b42
jmp 0x180247a16
jmp 0x180247a18
mov rcx, rsi
add rcx, 0x30
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x180247a2f
jmp 0x180247a36
call fcn.180275540
jmp 0x180247a36
mov rdx, qword [rsi + 0x38]
movabs rax, 0x8000000000000002
cmp rdx, rax
setl cl
movabs rax, 0x8000000000000001
mov r8, rdx
add r8, rax
xor eax, eax
test cl, 1
cmovne rax, r8
test rax, rax
je 0x180247a72
jmp 0x180247a6a
sub rax, 1
je 0x180247aad
jmp 0x180247ad6
cmp rdx, 0
sete r8b
mov ecx, 0x58
mov eax, 0x1000
test r8b, 1
jne 0x180247ac4
jmp 0x180247a8c
mov rax, rsi
add rax, 0x40
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov ecx, 0x58
mov eax, 0x1000
jmp 0x180247ac4
mov rax, qword [rsi + 0x40]
cmp rax, 0
sete dl
mov ecx, 0x48
test dl, 1
jne 0x180247ad6
jmp 0x180247ac4
mov rcx, qword [rsi + rcx]
mov rdx, rax
mov r8d, 1
call fcn.1802cbf20
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
invalid
clc
cmp ebp, eax
sbb al, 0xf7
clc
invalid
pop rcx
idiv dword ds:[rcx + 0x43]
mov edx, 0xf9b81855
outsd dx, dword [rsi]
xchg cl, ch
std
invalid
jno 0x180247b40
out 0xa2, al
jbe 0x180247aa6
jmp 0x1802478f4
invalid
invalid
popfq
jle 0x180247b6f
fisttp dword [rbx + 0x4f]
wait
sbb dword [rax + 0x484b4b59], edi
mov ecx, edi
call fcn.180275540
jmp 0x1802479df