Function at 0x180279160
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 rdi, rcx
mov eax, dword [0x180522538]
sub eax, dword [0x18052253c]
add eax, 0x47ab02
imul eax, eax, 0xaa385ac8
xor eax, 0xedb0c87b
cmp eax, 0xe81e5b3f
je 0x1802796a0
jmp 0x18027919c
mov ebp, dword [0x180522540]
and ebp, dword [0x180522544]
add ebp, 0x8d2b6859
xor ebp, 0x26691eb5
or ebp, 0x3bca05ec
mov rsi, qword [rdi]
mov rbx, rsi
add rbx, 0x10
mov rcx, rbx
call fcn.18041cd30
cmp ebp, 0xa40b60a4
jae 0x18027919c
jmp 0x1802791d6
mov rax, qword [rbx]
lock dec qword [rax]
sete al
test al, 1
jne 0x1802791e6
jmp 0x1802791ee
mov rcx, qword [rbx]
call fcn.180275620
mov eax, dword [0x180522548]
xor edx, edx
div dword [0x18052254c]
imul eax, eax, 0xeffa5458
and eax, 0xd93fb305
sub eax, 0x3b6ed693
cmp eax, 0x1a573b9d
je 0x1802796bd
jmp 0x180279219
mov eax, dword [0x180522550]
imul eax, dword [0x180522554]
add eax, 0x447408d9
and eax, 0x70a65690
add eax, 0x8d0c8941
mov rdi, rsi
add rdi, 0x48
cmp eax, 0xb6900be9
je 0x180279219
jmp 0x180279245
mov rcx, qword [rsi + 0x60]
cmp rcx, 0
je 0x180279337
mov rax, qword [rsi + 0x58]
mov rdx, qword [rdi]
cmp rax, rdx
setb r8b
xor r9d, r9d
test r8b, 1
mov r8, rdx
cmovne r8, r9
sub rax, r8
mov r9, rdx
sub r9, rax
cmp r9, rcx
setb bpl
mov r8, rax
add r8, rcx
xor r10d, r10d
mov rbx, rcx
sub rbx, r9
cmovb rbx, r10
cmp r9, rcx
cmovb r8, rdx
mov r14, qword [rsi + 0x50]
mov rcx, rax
shl rcx, 3
mov r15, r14
add r15, rcx
mov r12, r8
sub r12, rax
cmp r8, rax
je 0x1802792f2
xor r13d, r13d
jmp 0x1802792ba
mov rax, r13
mov rdx, rax
shl rdx, 3
mov rcx, r15
add rcx, rdx
add r13, 1
mov rax, qword [r15 + rax*8]
lock dec qword [rax]
sete al
test al, 1
je 0x1802792e4
call fcn.180272d20
jmp 0x1802792e4
cmp r13, r12
sete al
test al, 1
jne 0x1802792f0
jmp 0x1802792ba
jmp 0x1802792f2
test bpl, 1
jne 0x1802792fa
jmp 0x180279337
xor r15d, r15d
jmp 0x1802792ff
mov rax, r15
mov rdx, rax
shl rdx, 3
mov rcx, r14
add rcx, rdx
add r15, 1
mov rax, qword [r14 + rax*8]
lock dec qword [rax]
sete al
test al, 1
je 0x180279329
call fcn.180272d20
jmp 0x180279329
cmp r15, rbx
sete al
test al, 1
jne 0x180279335
jmp 0x1802792ff
jmp 0x180279337
mov r8, qword [rdi]
mov eax, dword [0x180522558]
or eax, dword [0x18052255c]
or eax, 0x93082bd8
mov ecx, 0xfa55de0d
xor edx, edx
div ecx
sub eax, 0x3aa84b76
cmp eax, 0xc5c0bef7
je 0x1802796ca
jmp 0x180279366
mov eax, dword [0x180522560]
and eax, dword [0x180522564]
and eax, 0x49e1afa8
imul ecx, eax, 0xb28c1643
and ecx, 0x9b3e3c19
cmp r8, 0
sete al
cmp ecx, 0x4c049c47
jb 0x180279366
test al, 1
jne 0x1802793b4
jmp 0x180279398
mov rax, rsi
add rax, 0x50
mov rcx, qword [rax]
shl r8, 3
mov rdx, r8
mov r8d, 8
call fcn.1802cbf20
mov eax, dword [0x180522568]
or eax, dword [0x18052256c]
sub eax, 0xe6ed2d7a
xor eax, 0xae1e7379
or eax, 0xe716407e
cmp eax, 0x30b7d9ab
jb 0x1802796d7
jmp 0x1802793dc
mov ecx, dword [0x180522570]
xor ecx, dword [0x180522574]
xor ecx, 0x34e88249
sub ecx, 0xb0a6cd1d
add ecx, 0x2d90b2bf
mov rax, rsi
add rax, 0x18
cmp ecx, 0x4504c993
jbe 0x1802793dc
jmp 0x18027940b
mov rcx, qword [rax]
lock dec qword [rcx]
sete cl
test cl, 1
jne 0x18027941c
jmp 0x180279426
mov rcx, qword [rax]
call fcn.180275620
jmp 0x180279426
mov rbx, rsi
add rbx, 0x28
mov rdi, rsi
add rdi, 0x30
mov r14, qword [rdi]
mov r15, qword [rsi + 0x38]
cmp r15, 0
je 0x18027947e
xor r12d, r12d
jmp 0x180279446
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 0x180279470
call fcn.180274460
jmp 0x180279470
cmp r12, r15
sete al
test al, 1
jne 0x18027947c
jmp 0x180279446
jmp 0x18027947e
mov r14, qword [rbx]
cmp r14, 0
sete cl
mov eax, dword [0x180522578]
add eax, dword [str.___v]
mov r8d, 0xfcd5c16f
xor edx, edx
div r8d
imul eax, eax, 0xcb36a1f9
add eax, 0xcb516fa3
cmp eax, 0xea78d74
jb 0x1802796e4
jmp 0x1802794b7
mov eax, dword [0x180522580]
xor edx, edx
div dword [0x180522584]
add eax, 0x463f532d
xor eax, 0x3bdcad06
and eax, 0x9408e66d
cmp eax, 0x4edb1264
je 0x1802794b7
test cl, 1
jne 0x180279553
jmp 0x1802794e2
mov rdi, qword [rdi]
mov eax, dword [0x180522588]
and eax, dword [0x18052258c]
xor eax, 0x17ae933e
sub eax, 0xd0306981
or eax, 0x30082cd4
cmp eax, 0xa2cde0ba
ja 0x1802796f5
jmp 0x18027950d
mov eax, dword [0x180522590]
xor edx, edx
div dword [0x180522594]
mov ecx, 0x207d516c
xor edx, edx
div ecx
mov ebx, eax
xor ebx, 0x19b107f0
or ebx, 0xfb663cf1
mov rdx, r14
shl rdx, 3
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
cmp ebx, 0xa82488e2
je 0x18027950d
jmp 0x180279551
jmp 0x180279553
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
test al, 1
jne 0x18027968f
jmp 0x18027956a
mov rax, rsi
add rax, 8
mov ecx, dword [0x180522598]
and ecx, dword [0x18052259c]
xor ecx, 0x46471722
or ecx, 0x3b52a44d
sub ecx, 0x54c6fec4
cmp ecx, 0x802e35b1
je 0x18027971b
jmp 0x18027959d
mov ecx, dword [0x1805225a0]
sub ecx, dword [0x1805225a4]
or ecx, 0x4ddde849
xor ecx, 0x5edab31e
imul edx, ecx, 0x858053c4
lock dec qword [rax]
sete cl
cmp edx, 0x63038af1
jb 0x18027959d
jmp 0x1802795cc
mov eax, dword [0x1805225a8]
or eax, dword [0x1805225ac]
imul eax, eax, 0x9d4cb9e3
xor eax, 0x4cac13ce
imul eax, eax, 0xe91e8a2a
cmp eax, 0x71519575
jae 0x180279733
jmp 0x1802795f6
mov eax, dword [0x1805225b0]
xor eax, dword [0x1805225b4]
add eax, 0x16693367
and eax, 0xa1413fab
add eax, 0xd8bf3796
cmp eax, 0x632376f6
jbe 0x1802795f6
test cl, 1
jne 0x18027961f
jmp 0x18027968f
mov eax, dword [0x1805225b8]
or eax, dword [0x1805225bc]
mov ecx, 0x16424a9c
xor edx, edx
div ecx
imul eax, eax, 0x3020d3f
imul eax, eax, 0xbaaee067
cmp eax, 0x64c65836
je 0x180279744
mov eax, dword [0x1805225c0]
and eax, dword [0x1805225c4]
sub eax, 0x48dc4750
or eax, 0xedf99e35
mov ecx, 0x37b9a875
xor edx, edx
div ecx
mov edi, eax
mov rcx, rsi
mov edx, 0x70
mov r8d, 8
call fcn.1802cbf20
cmp edi, 0x90a313f6
add al, ch
movabs eax, dword [0xa313f6ff81000528]
nop
je 0x180279744
jmp 0x18027968d
jmp 0x18027968f
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xchg ebp, eax
ja 0x180279679
and esi, edi
push rbp
out dx, eax
iretd
mov dh, 0x13
invalid
cld
mov eax, 0xe0712cb0
invalid
sbb bl, byte [rdx]
mov ecx, 0xd3d50c5c
bnd jmp 0x1802793da
mov ecx, dword [rdi]
invalid
cmp esp, dword [rcx - 0x78]
or al, byte [rsi - 0x619dd683]
mov dword [rbp - 0xd76b31d], esi
shl rdx, 3
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x18027950b
rep outsb dx, byte [rsi]
stc
cli
stosb byte [rdi], al
cmp byte [rcx], cl
or ebp, dword [rcx + rcx*8]
cmpsd dword [rsi], dword [rdi]
push rbp
lock dec qword [rax]
sete cl
jmp 0x18027959b
fsubr st(6), st(0)
mov al, ch
loope 0x18027973b
out dx, eax
outsd dx, dword [rsi]
and al, 0xd8
int3
mov ebp, 0x50dbd59c
adc dword [rdi + 0x48], ebx
mov ecx, esi
mov edx, 0x70
mov r8d, 8
call fcn.1802cbf20
jmp 0x18027964b