Function at 0x180279770
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov rbx, rsi
add rbx, 0x58
mov r14, qword [rsi + 0x58]
mov r15, rsi
add r15, 0x60
mov r12, qword [rsi + 0x60]
cmp r12, 0
sete al
test al, 1
jne 0x180279918
jmp 0x1802797aa
xor r13d, r13d
jmp 0x1802797af
mov rax, r13
shl rax, 4
mov rdi, r14
add rdi, rax
add r13, 1
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x180279826
mov rcx, rdi
call fcn.180277420
mov eax, dword [0x1805225c8]
imul eax, dword [0x1805225cc]
add eax, 0x34d0d623
and eax, 0xef6b454
and eax, 0xe7255e
cmp eax, 0xadcb93af
ja 0x180279c76
jmp 0x1802797ff
mov eax, dword [0x1805225d0]
imul eax, dword [0x1805225d4]
imul eax, eax, 0x7fc90122
imul eax, eax, 0x3d4aca79
add eax, 0xaa1e36f6
cmp eax, 0x84c5c394
jae 0x1802797ff
jmp 0x180279826
add rdi, 8
mov eax, dword [0x1805225d8]
xor eax, dword [0x1805225dc]
or eax, 0xd116dd54
sub eax, 0xd0e3d69b
imul eax, eax, 0xe05616db
cmp eax, 0x45a06b79
je 0x180279c83
mov eax, dword [0x1805225e0]
and eax, dword [0x1805225e4]
mov ecx, 0xa3b1f451
xor edx, edx
div ecx
sub eax, 0x599e09b7
add eax, 0x9f4af05c
mov rcx, qword [rdi]
cmp eax, 0x9392dfa5
je 0x180279c83
jmp 0x180279880
lock dec qword [rcx]
sete al
test al, 1
je 0x1802798e5
mov eax, dword [0x1805225e8]
or eax, dword [0x1805225ec]
and eax, 0xa051bd73
sub eax, 0x2a28a46d
and eax, 0xd3d7375e
cmp eax, 0xf369ada1
jae 0x180279c90
mov eax, dword [0x1805225f0]
xor eax, dword [0x1805225f4]
sub eax, 0x80fad783
add eax, 0x212cbab8
imul ebp, eax, 0xc7334149
mov rcx, rdi
call fcn.180279d20
cmp ebp, 0x908ea096
jae 0x180279c90
jmp 0x1802798e3
jmp 0x1802798e5
cmp r13, r12
sete al
test al, 1
jne 0x1802798f4
jmp 0x1802797af
mov rdx, qword [r15]
cmp rdx, 0
sete al
test al, 1
jne 0x180279918
jmp 0x180279904
mov rcx, qword [rbx]
shl rdx, 4
mov r8d, 8
call fcn.1802cbf20
jmp 0x180279918
mov rax, rsi
add rax, 0x70
mov rax, qword [rax]
cmp rax, 0
sete cl
test cl, 1
jne 0x180279945
jmp 0x180279930
mov rcx, qword [rsi + 0x68]
imul rdx, rax, 0x18
mov r8d, 8
call fcn.1802cbf20
jmp 0x180279945
mov rax, rsi
add rax, 0xd0
mov rdx, qword [rax]
cmp rdx, 0
je 0x180279972
mov rax, rsi
add rax, 0xd8
mov rcx, qword [rax]
shl rdx, 3
mov r8d, 8
call fcn.1802cbf20
mov rdi, rsi
add rdi, 0x108
mov rcx, rdi
call fcn.18025f7b0
mov rdx, qword [rdi]
cmp rdx, 0
sete al
test al, 1
jne 0x1802799aa
jmp 0x180279994
mov rcx, qword [rsi + 0x110]
shl rdx, 3
mov r8d, 8
call fcn.1802cbf20
mov rcx, rsi
add rcx, 0x20
mov rax, qword [rsi + 0x20]
cmp rax, 0
je 0x180279a22
lock dec qword [rax]
sete al
jmp 0x1802799c4
test al, 1
jne 0x1802799ca
jmp 0x180279a22
mov eax, dword [0x1805225f8]
sub eax, dword [0x1805225fc]
add eax, 0xb609ebd7
add eax, 0xbc3eefb4
or eax, 0x68f2c659
cmp eax, 0xd65f6cda
jb 0x180279ca9
mov eax, dword [0x180522600]
mov edx, dword [0x180522604]
imul eax, edx
and eax, 0x7d969ec3
add eax, 0xe841f505
xor eax, 0xe7a66c22
cmp eax, 0x37bc17d2
jbe 0x180279ca9
jmp 0x180279a1b
call fcn.180273990
jmp 0x180279a22
mov rcx, rsi
add rcx, 0x30
mov r8, qword [rsi + 0x30]
cmp r8, 0
sete r9b
mov eax, dword [0x180522608]
or eax, dword [0x18052260c]
xor eax, 0xa214d71f
imul eax, eax, 0xb750878a
add eax, 0xb87d062f
cmp eax, 0xa5c8dd4c
je 0x180279cba
mov eax, dword [0x180522610]
or eax, dword [0x180522614]
mov r10d, 0x31cf7cc9
xor edx, edx
div r10d
add eax, 0x1c592f10
and eax, 0xe730c23a
cmp eax, 0xfeb1436b
ja 0x180279cba
test r9b, 1
jne 0x180279b4e
jmp 0x180279a94
mov eax, dword [0x180522618]
or eax, dword [0x18052261c]
add eax, 0x1c37f6bc
sub eax, 0x70f49190
or eax, 0x1492d77a
cmp eax, 0x904ebc51
jae 0x180279ccb
mov edx, dword [0x180522620]
xor edx, dword [0x180522624]
sub edx, 0xfb8052d3
add edx, 0xed9de249
xor edx, 0x3d8e3b8
lock dec qword [r8]
sete al
cmp edx, 0x95158261
je 0x180279ccb
jmp 0x180279aed
jmp 0x180279aef
mov edx, dword [0x180522628]
or edx, dword [0x18052262c]
add edx, 0xb940b65c
xor edx, 0x1b7488a0
imul edx, edx, 0xd9bfbbb6
cmp edx, 0x1a8f48b2
je 0x180279cdc
jmp 0x180279b1b
mov edx, dword [0x180522630]
sub edx, dword [0x180522634]
add edx, 0x405f588e
sub edx, 0xff7e9dca
xor edx, 0xae716b20
cmp edx, 0x5662ca1e
ja 0x180279b1b
test al, 1
jne 0x180279b47
jmp 0x180279b4e
call fcn.180273990
jmp 0x180279b4e
mov eax, dword [0x180522638]
imul eax, dword [0x18052263c]
and eax, 0x15aa9d16
and eax, 0x4478f2cf
mov ecx, 0x3a70e941
xor edx, edx
div ecx
cmp eax, 0xa2a27123
ja 0x180279ced
jmp 0x180279b7b
mov eax, dword [0x180522640]
and eax, dword [0x180522644]
xor eax, 0x2e9c9d3f
imul edi, eax, 0x6e8bff24
sub edi, 0x4f6c4f78
mov rcx, rsi
add rcx, 0x120
call fcn.180271aa0
mov rcx, rsi
add rcx, 0x1a8
mov rax, qword [rsi + 0x1a8]
cmp edi, 0x271daf55
jbe 0x180279b7b
jmp 0x180279bc2
lock dec qword [rax]
sete al
test al, 1
jne 0x180279bcf
jmp 0x180279bd6
call fcn.180275a50
jmp 0x180279bd6
mov eax, dword [0x180522648]
and eax, dword [0x18052264c]
or eax, 0xc596240d
sub eax, 0x82ba9f0b
and eax, 0x97f7a337
cmp eax, 0xabd7736e
ja 0x180279d09
mov ecx, dword [0x180522650]
imul ecx, dword [0x180522654]
xor ecx, 0x4f43bf
or ecx, 0xfbcfdfd1
xor ecx, 0xbf563b42
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
cmp ecx, 0xb351bfa5
jae 0x180279d09
jmp 0x180279c36
test al, 1
jne 0x180279c65
jmp 0x180279c3c
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
jne 0x180279c50
jmp 0x180279c65
mov rcx, rsi
mov edx, 0x1c0
mov r8d, 8
call fcn.1802cbf20
jmp 0x180279c65
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
out 0x15, eax
invalid
mov cs, word [0x14277a5cc]
push rdi
cmpsb byte [rsi], byte [rdi]
jmp 0x180279851
or bl, byte [rcx]
adc r13, qword [rax + 0x5d8f846f]
push 0x1b
mov rcx, rdi
call fcn.180279d20
jmp 0x1802798b1
cmp eax, 0xe1d2b38d
xchg esp, eax
stosd dword [rdi], eax
ret 0x2af
std
rcr dword [rcx + riz*8 + 0x44ffb56f], 1
xor al, 0x36
mov gs, r9d
xchg ecx, eax
std
invalid
push rsp
jge 0x180279d1e
xor eax, 0x239b6a63
lock dec qword [r8]
jmp 0x180279aba
invalid
mov bl, byte [rsp + rbx + 0x1627d7e5]
mov byte [rax - 0x77], cl
int1
add rcx, 0x120
call fcn.180271aa0
jmp 0x180279b79
pop rbx
push rsi
shr byte [rdi + rcx*8 - 0x73], 0x77
cmp ch, bh
xchg dword [rdi - 0x11d167f], ecx
invalid
int3