Function at 0x180271aa0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, qword [rsi]
cmp rax, 0
sete cl
test cl, 1
jne 0x180271c7d
jmp 0x180271ac6
lock dec qword [rax]
sete al
test al, 1
jne 0x180271ad3
jmp 0x180271add
mov rcx, rsi
call fcn.180279160
jmp 0x180271add
mov eax, dword [0x180521a50]
xor eax, dword [0x180521a54]
add eax, 0x68f19200
add eax, 0xeecb55bb
add eax, 0x96b9723c
cmp eax, 0x719b97f0
je 0x180271e70
mov eax, dword [0x180521a58]
and eax, dword [str.m32n]
sub eax, 0x3731ba1
imul eax, eax, 0x28eeea3f
xor eax, 0x99de4c7c
mov rbx, rsi
add rbx, 0x28
cmp eax, 0x1fa30d33
jbe 0x180271e70
jmp 0x180271b33
mov rdi, rsi
add rdi, 0x30
mov r14, qword [rdi]
mov r15, qword [rsi + 0x38]
cmp r15, 0
je 0x180271bdf
xor r12d, r12d
jmp 0x180271b50
mov rax, r12
mov rdx, rax
shl rdx, 3
mov rcx, r14
add rcx, rdx
add r12, 1
mov rax, qword [r14 + rax*8]
lock dec qword [rax]
sete al
test al, 1
je 0x180271b7a
call fcn.180274de0
jmp 0x180271b7a
mov eax, dword [0x180521a60]
xor edx, edx
div dword [0x180521a64]
sub eax, 0xd4c4e9d6
imul eax, eax, 0xcd2d5587
or eax, 0x52a54ae0
cmp eax, 0x94953340
jbe 0x180271e7d
jmp 0x180271ba5
mov eax, dword [0x180521a68]
xor edx, edx
div dword [0x180521a6c]
sub eax, 0x3183bd5a
imul ecx, eax, 0xc348465
add ecx, 0x6851b1f3
cmp r12, r15
sete al
cmp ecx, 0xffb619c1
je 0x180271ba5
jmp 0x180271bd4
test al, 1
jne 0x180271bdd
jmp 0x180271b50
jmp 0x180271bdf
mov rdx, qword [rbx]
cmp rdx, 0
sete al
test al, 1
jne 0x180271c03
jmp 0x180271bef
mov rcx, qword [rdi]
shl rdx, 3
mov r8d, 8
call fcn.1802cbf20
jmp 0x180271c03
mov rax, rsi
add rax, 8
mov rcx, qword [rsi + 8]
lock dec qword [rcx]
sete cl
test cl, 1
jne 0x180271c1c
jmp 0x180271c99
mov rdi, qword [rax]
mov eax, dword [0x180521a70]
or eax, dword [0x180521a74]
sub eax, 0x45c60de6
sub eax, 0x24565ba0
imul eax, eax, 0x70cc4261
cmp eax, 0x4b843aea
ja 0x180271e8a
jmp 0x180271c48
mov eax, dword [0x180521a78]
or eax, dword [0x180521a7c]
mov ecx, 0x8c5f049b
xor edx, edx
div ecx
mov ebx, eax
and ebx, 0x3ee19367
xor ebx, 0x9c4fabfe
mov rcx, rdi
call fcn.180275620
cmp ebx, 0x6146a951
je 0x180271c48
jmp 0x180271c99
mov rcx, rsi
add rcx, 8
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x180271c99
call fcn.180274600
jmp 0x180271c99
mov eax, dword [0x180521a80]
and eax, dword [0x180521a84]
add eax, 0xb3d25aae
and eax, 0x6bec729f
xor eax, 0xc4c33d9f
cmp eax, 0x6b1faed8
jbe 0x180271ea3
mov eax, dword [0x180521a88]
xor eax, dword [0x180521a8c]
imul eax, eax, 0x748684f
xor eax, 0x995f0d36
xor eax, 0xff28308f
cmp eax, 0x9295c53a
jae 0x180271ea3
jmp 0x180271ce8
mov eax, dword [rsi + 0x80]
mov ecx, dword [0x180521a90]
add ecx, dword [0x180521a94]
and ecx, 0x1525cdc8
xor ecx, 0xf6b3d7f1
sub ecx, 0xe21986db
cmp ecx, 0x11e0c8a0
jb 0x180271eb0
jmp 0x180271d1a
mov ecx, dword [0x180521a98]
add ecx, dword [0x180521a9c]
imul edx, ecx, 0xa9cf4602
add edx, 0x3730b94a
add edx, 0x45e861a4
cmp eax, 0x3b9aca00
sete cl
cmp edx, 0x3136a78f
jb 0x180271d1a
test cl, 1
jne 0x180271e61
jmp 0x180271d53
mov rdi, qword [rsi + 0x58]
mov rsi, qword [rsi + 0x60]
cmp rsi, 0
sete al
mov ecx, dword [0x180521aa0]
imul ecx, dword [0x180521aa4]
add ecx, 0xb56353de
and ecx, 0xc8e3dbd1
and ecx, 0xe4c73388
cmp ecx, 0xd75d4776
ja 0x180271ec1
jmp 0x180271d8f
mov ecx, dword [0x180521aa8]
xor ecx, dword [0x180521aac]
sub ecx, 0xba24a6ff
imul ecx, ecx, 0x4876df44
and ecx, 0x50604f74
cmp ecx, 0x61430f10
jae 0x180271d8f
test al, 1
jne 0x180271e61
jmp 0x180271dbf
xor ebx, ebx
jmp 0x180271dc3
mov eax, dword [0x180521ab0]
or eax, dword [0x180521ab4]
sub eax, 0x93e75d0c
and eax, 0x39b40b18
and eax, 0x8229e7ef
cmp eax, 0xf154a387
je 0x180271ece
mov ebp, dword [0x180521ab8]
or ebp, dword [0x180521abc]
and ebp, 0xc507815d
sub ebp, 0xef1c59fb
or ebp, 0xb29030f6
mov r14, rbx
add r14, 1
imul rax, rbx, 0x28
mov rcx, rdi
add rcx, rax
add rcx, 8
mov rcx, qword [rcx]
mov edx, 0x1860
mov r8d, 8
call fcn.1802cbf20
cmp r14, rsi
sete al
cmp ebp, 0xe042068c
jae 0x180271ece
test al, 1
mov rbx, r14
jne 0x180271e4d
jmp 0x180271dc3
imul rdx, rsi, 0x28
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x180271e61
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
out 0x64, al
mov al, byte [rbp + 0xe]
mov ah, 0x22
test eax, 0xfffc86e9
call [rcx]
invalid
sbb dword [rdi], eax
enter 0x7308, 0x50
xchg esp, eax
outsb dx, byte [rsi]
jmp 0x180271ba3
jns 0x180271e46
adc al, 0x22
or ch, bh
out 0x31, al
and word [rdi], si
mov ah, 0x48
mov ecx, edi
call fcn.180275620
jmp 0x180271c46
cmp al, 0x1c
js 0x180271ea3
movsd dword [rdi], dword [rsi]
imul ebx, ebx, 0xfe0fe9a7
invalid
call 0x163ec8146
sti
enter 0x2e0f, 0x2b
invalid
stc
ret
invalid