Function at 0x180273e10
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, qword [rcx]
mov rcx, rsi
add rcx, 0x80
call fcn.1802ca750
mov r8, qword [rsi + 0x100]
cmp r8, 0
sete al
test al, 1
jne 0x180273e9f
jmp 0x180273e3b
mov eax, dword [0x180521d60]
xor eax, dword [0x180521d64]
xor eax, 0xc6c06691
xor eax, 0xa547313d
imul eax, eax, 0x9f085b5a
cmp eax, 0xc55c710d
jae 0x180273f7b
mov eax, dword [0x180521d68]
or eax, dword [0x180521d6c]
and eax, 0xaa594c74
sub eax, 0x4b458d21
mov ecx, 0x6f477025
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x108
cmp eax, 0x98678cec
ja 0x180273f7b
jmp 0x180273e98
mov rcx, qword [rcx]
call qword [r8 + 0x18]
mov eax, dword [0x180521d70]
and eax, dword [0x180521d74]
add eax, 0xa0936fa4
xor eax, 0xd6dcd1ef
xor eax, 0xa5519f0f
cmp eax, 0x596f86e8
jb 0x180273f88
jmp 0x180273ec7
mov eax, dword [0x180521d78]
sub eax, dword [0x180521d7c]
add eax, 0xa5cc3f1f
imul eax, eax, 0x47b825bb
mov ecx, 0x1a5590c5
xor edx, edx
div ecx
mov rcx, 0xffffffffffffffff
cmp rsi, rcx
sete cl
cmp eax, 0x70286ca1
je 0x180273ec7
jmp 0x180273efd
test cl, 1
jne 0x180273f75
jmp 0x180273f04
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
jmp 0x180273f14
test al, 1
jne 0x180273f1a
jmp 0x180273f75
mov rcx, rsi
mov edx, 0x200
mov r8d, 0x80
call fcn.1802cbf20
mov eax, dword [0x180521d80]
xor eax, dword [0x180521d84]
sub eax, 0x2f1d02b0
add eax, 0x4311c909
xor eax, 0x4a42eacc
cmp eax, 0x9a762de5
cmp rax, 0xffffffff9a762de5
je 0x180273f95
jmp 0x180273f51
mov eax, dword [0x180521d88]
xor eax, dword [0x180521d8c]
xor eax, 0x70299d57
add eax, 0x77ac85d9
and eax, 0xdac2fbfe
cmp eax, 0x6dc78d40
je 0x180273f51
jmp 0x180273f75
add rsp, 0x20
pop rsi
ret
mov edx, 0xcb15f48c
mov word [r8], ss
jmp 0x180273e62
int3
jrcxz 0x180273f47
movabs r15, 0x41ccb0ebdd26e94d
push rdi
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
mov rdi, rsi
add rdi, 0x30
mov rcx, rsi
add rcx, 0x38
mov rax, qword [rsi + 0x38]
cmp rax, 0
sete dl
test dl, 1
jne 0x180274038
jmp 0x180273fd2
lock dec qword [rax]
sete al
jmp 0x180273fdb
test al, 1
jne 0x180273fe1
jmp 0x180274038
call fcn.180277840
mov eax, dword [0x180521d90]
imul eax, dword [0x180521d94]
mov ecx, 0x5d1e7dfe
xor edx, edx
div ecx
sub eax, 0xd4365fd4
imul eax, eax, 0x613b17fe
cmp eax, 0x74c74a04
je 0x1802742dc
jmp 0x180274014
mov eax, dword [0x180521d98]
sub eax, dword [0x180521d9c]
and eax, 0x620984f6
and eax, 0x5055ae44
or eax, 0xe369a996
cmp eax, 0x2c65f355
jbe 0x180274014
jmp 0x180274038
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x18027404b
jmp 0x1802740f6
mov eax, dword [0x180521da0]
and eax, dword [0x180521da4]
imul eax, eax, 0x6c6e03d9
or eax, 0x759f3001
mov ecx, 0x66de4e4f
xor edx, edx
div ecx
cmp eax, 0x9a74d3cf
je 0x1802742ed
mov eax, dword [0x180521da8]
mov ecx, dword [0x180521dac]
add eax, ecx
or eax, 0x1ca43144
imul eax, eax, 0xb3843802
and eax, 0x195237c4
cmp eax, 0xc4e045d3
jae 0x1802742ed
jmp 0x1802740a1
mov rcx, rdi
call fcn.180274720
mov eax, dword [0x180521db0]
and eax, dword [0x180521db4]
imul eax, eax, 0xdc2f3203
sub eax, 0x8f8d7b75
xor eax, 0xc3c54d8b
cmp eax, 0x2e000428
jb 0x1802742fe
jmp 0x1802740d2
mov eax, dword [0x180521db8]
add eax, dword [0x180521dbc]
xor eax, 0x79251140
xor eax, 0x5590146c
xor eax, 0x99f799f7
cmp eax, 0x6237bd51
je 0x1802740d2
jmp 0x1802740f6
mov r14, rsi
add r14, 0x18
mov rbx, rsi
add rbx, 0x20
mov r15, qword [rsi + 0x20]
mov rax, rsi
add rax, 0x28
mov r12, qword [rax]
cmp r12, 0
je 0x1802741d0
xor r13d, r13d
jmp 0x180274121
mov rax, r13
shl rax, 4
mov rdi, r15
add rdi, rax
add r13, 1
mov rcx, rdi
add rcx, 8
mov rax, qword [rdi + 8]
cmp rax, 0
je 0x180274159
lock dec qword [rax]
sete al
jmp 0x18027414c
test al, 1
jne 0x180274152
jmp 0x180274159
call fcn.180277840
jmp 0x180274159
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x180274169
jmp 0x1802741bf
mov rcx, rdi
call fcn.180274720
mov eax, dword [0x180521dc0]
or eax, dword [0x180521dc4]
and eax, 0xcdddf7fc
sub eax, 0x2874f244
xor eax, 0xbc8741aa
cmp eax, 0xeacff64e
je 0x18027430f
mov eax, dword [0x180521dc8]
sub eax, dword [0x180521dcc]
sub eax, 0x8662a78a
or eax, 0x8bcb3c99
or eax, 0xa83913ef
cmp eax, 0x7f29de71
jb 0x18027430f
jmp 0x1802741bf
cmp r13, r12
sete al
test al, 1
jne 0x1802741ce
jmp 0x180274121
jmp 0x1802741d0
mov eax, dword [0x180521dd0]
imul eax, dword [0x180521dd4]
or eax, 0xd0fabdd1
and eax, 0x6554beed
or eax, 0x2ebe1dfa
cmp eax, 0xd1d6c802
je 0x180274320
jmp 0x1802741f9
mov eax, dword [0x180521dd8]
imul eax, dword [0x180521ddc]
imul eax, eax, 0x5b5ca900
xor eax, 0xd7ececf3
or eax, 0x6b67d734
cmp eax, 0xa15d3b1a
ja 0x1802741f9
jmp 0x18027421f
mov rdx, qword [r14]
cmp rdx, 0
je 0x18027423c
mov rcx, qword [rbx]
shl rdx, 4
mov r8d, 8
call fcn.1802cbf20
jmp 0x18027423c
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x1802742cc
jmp 0x18027424f
mov eax, dword [0x180521de0]
sub eax, dword [0x180521de4]
and eax, 0x9af93816
mov ecx, 0x3beed86c
xor edx, edx
div ecx
sub eax, 0x44d06b72
cmp eax, 0xa27ceccb
je 0x18027432d
mov eax, dword [0x180521de8]
xor edx, edx
div dword [0x180521dec]
add eax, 0x34c9812b
add eax, 0x706e1c36
and eax, 0x7358cf3c
mov rcx, rsi
add rcx, 8
cmp eax, 0xb1f08c69
ja 0x18027432d
jmp 0x1802742aa
lock dec qword [rcx]
sete al
test al, 1
jne 0x1802742b7
jmp 0x1802742cc
mov rcx, rsi
mov edx, 0x40
mov r8d, 8
add byte [rax], al
add byte [rcx - 0x48], al
or byte [rax], al
add byte [rax], al
call fcn.1802cbf20
jmp 0x1802742cc
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop rbp
pop r14
pop r15
ret
jrcxz 0x1802742d6
sub al, bh
rcr dword [rdi], cl
xchg dword [rbp + rdi*4 - 0x1661703f], esi
and eax, 0x22fffffd
and eax, 0xc9a59ef1
and ah, byte [0x149cce1e4]
xor bh, al
lahf
lodsd eax, dword [rsi]
stosb byte [rdi], al
fsubr st(1)
js 0x1802742f9
jmp 0x180274076
invalid
adc dh, byte [rax - 0x71]
push rdi
fsub dword [rdi + rbp*4 - 0x34]
xor dword [rbp - 0x6a], ecx
invalid
stc
mov cl, ch
rol dword [rsi - 0x45d48ef], 1
retf
out 0xd9, al
loope 0x1802742e9
jns 0x1802742bb
or eax, 0xfecae94b
invalid
invalid