Function at 0x140225c60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov eax, 0x1010
call fcn.14020e090
sub rsp, rax
lea rbp, [rsp + 0x80]
mov rdi, rcx
mov eax, dword [0x141595680]
mov ecx, dword [0x141595684]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
xor ecx, 0xd0fd4655
or eax, 0x2f02b9aa
and eax, ecx
mov ecx, eax
xor ecx, 0x1519733f
or eax, 0xeae68cc0
and eax, ecx
add eax, 0xb5ea76d4
cmp eax, 0x7cde3593
jb 0x140225d23
mov eax, dword [0x141595688]
xor edx, edx
div dword [0x14159568c]
imul ecx, eax, 0xb05a226e
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xba31bdaa
and eax, 0x45ce4255
imul eax, edx
mov edx, ecx
and edx, 0x45ce4254
or ecx, 0x45ce4255
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0x67607f3f
or ecx, 0x989f80c0
and ecx, eax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
cmp ecx, 0xbd7ea6e8
jne 0x140225d32
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
jmp 0x140225cc1
mov qword [rdi + 0x820], 1
mov qword [rbp + 0x788], rdi
mov rax, qword [rdi + 0x818]
cmp rax, 0xffffffffffffffff
je 0x140225f03
lea rcx, [rax + 1]
nop dword [rax]
mov edx, dword [0x141595690]
mov r8d, dword [0x141595694]
mov r9d, edx
not r9d
or edx, r8d
not r8d
or r8d, r9d
and r8d, edx
mov edx, r8d
and edx, 0x128e8f31
xor r8d, 0x128e8f31
lea edx, [r8 + rdx*2]
xor edx, 0x7fce1b09
cmp edx, 0xadce593b
jb 0x140225d60
mov qword [rdi + 0x818], rcx
nop dword [rax + rax]
mov ecx, dword [0x141595698]
mov edx, dword [0x14159569c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
or ecx, 0x1020010
mov edx, ecx
and edx, 0x49220215
mov r8d, edx
not r8d
and r8d, 0x9e802f42
mov r9d, ecx
and r9d, 0x40200005
imul r9d, r8d
and ecx, 0x9020210
or edx, 0x9f822f52
imul edx, ecx
add edx, r9d
cmp edx, 0xee00ece3
je 0x140225db0
test rax, rax
jne 0x140225fc2
mov ecx, dword [0x1415956a8]
mov edx, dword [0x1415956ac]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x40006000
and ecx, 0x600
or ecx, r9d
or eax, r8d
and r8d, 0x40006000
and edx, 0x600
or edx, r8d
xor edx, ecx
not eax
or eax, edx
or eax, 0xa98c08d3
and eax, 0xe98c6ed3
mov ecx, 0xcdce6a7b
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xcc2db71d
jbe 0x140225eb0
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x180]
or rcx, 1
xor eax, eax
lock cmpxchg qword [rdi + 0x880], rcx
nop dword [rax + rax]
mov eax, dword [0x1415956b0]
xor edx, edx
div dword [0x1415956b4]
mov ecx, eax
mov rax, qword [rdi + 8]
mov rax, qword [rax + 0x180]
mov rdx, rax
xor rdx, 1
add rdx, rax
and rax, 0xfffffffffffffffe
sub rdx, rax
xor eax, eax
lock cmpxchg qword [rdi + 0x880], rdx
add ecx, 0x7cbdf257
and ecx, 0x1fd6974b
cmp ecx, 0x1e402acb
je 0x140225eb0
xor eax, eax
test al, al
je 0x140225f3b
jmp 0x140225f41
ud2
xor eax, eax
test al, al
je 0x140225f43
jmp 0x140225f3b
mov rax, qword [rdi + 0x828]
lea rcx, [rax + 1]
mov qword [rdi + 0x828], rcx
test al, 0x7f
jne 0x140225fc2
nop dword [rax]
mov eax, dword [0x1415956b8]
add eax, dword [0x1415956bc]
imul eax, eax, 0xe501ca93
cmp eax, 0xe2d33de0
je 0x140225f60
mov rcx, qword [rdi + 8]
sub rcx, 0xffffffffffffff80
sub rsp, 0x20
lea rdx, [rbp + 0x788]
call fcn.14020c460
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x1415956c0]
mov ecx, dword [0x1415956c4]
not eax
not ecx
and ecx, eax
not ecx
add ecx, 0x4dc270b
cmp ecx, 0x56de2a67
ja 0x140225fa0
mov ecx, dword [0x1415956c8]
mov eax, dword [0x1415956cc]
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xb307a774
mov r8d, edx
and r8d, 0x5e0cbbd9
and ecx, 0xf04002
imul ecx, r8d
and edx, 0xa1f34426
or eax, 0xb3f7e776
imul eax, edx
add eax, ecx
mov ecx, 0xbe326fa9
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xb68c156d
nop dword [rax]
mov eax, dword [0x1415956d0]
mov ecx, eax
not ecx
or ecx, dword [0x1415956d4]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x383d6ac7
xor eax, 0xb83d6ac7
lea eax, [rax + rcx*2]
add eax, 0xc021870b
or eax, 0x3014de56
cmp eax, 0x3a461119
jb 0x140226020
mov rbx, qword [rbp + 0x788]
mov r12, qword [rdi + 8]
lea rax, [rbp + 0x788]
xor ecx, ecx
movabs rdx, 0x7fffffffffffffd
movups xmm0, xmmword [0x141578730]
movups xmm1, xmmword [0x141578720]
xor r8d, r8d
jmp 0x1402260a6
add r8, 4
add rcx, 0xfffffffffffffffc
sub rax, 0xffffffffffffff80
cmp r8, 0x40
je 0x1402261f9
mov r9d, dword [0x1415956dc]
add r9d, dword [0x1415956d8]
imul r10, r9, 0x38f03377
shr r10, 0x20
sub r9d, r10d
shr r9d, 1
add r9d, r10d
shr r9d, 0x1f
xor r9d, 0x79a319d1
add r9d, 0x890848
cmp r9d, 0xe98d37ee
ja 0x14022618a
nop word [rax + rax]
mov r9d, dword [0x1415956e0]
add r9d, dword [0x1415956e4]
mov r10d, r9d
and r10d, 0x3ae2eaef
xor r9d, 0x3ae2eaef
lea r9d, [r9 + r10*2]
mov r10d, r9d
not r10d
or r10d, 0x84c87cbc
or r9d, 0xa1e48f10
and r9d, r10d
and r9d, 0xa5ecffbc
mov r10, r8
shl r10, 5
or r10, 0x40
mov r11, rcx
neg r11
shl r11, 5
or r11, 0x60
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm1
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm0
movups xmmword [rbp + r10 + 0x788], xmm1
movups xmmword [rbp + r10 + 0x798], xmm0
movups xmmword [rbp + r11 + 0x788], xmm1
movups xmmword [rbp + r11 + 0x798], xmm0
cmp r9d, 0x168bda43
jae 0x140226090
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm1
mov r9, r8
shl r9, 5
or r9, 0x20
movups xmmword [rbp + r9 + 0x788], xmm1
movups xmmword [rbp + r9 + 0x798], xmm0
lea r9, [rcx - 1]
and r9, rdx
lea r10, [rcx - 3]
or r10, r9
not r10
shl r10, 5
movups xmmword [rbp + r10 + 0x788], xmm1
movups xmmword [rbp + r10 + 0x798], xmm0
mov r9d, r8d
and r9d, 3
shl r9, 5
mov r10, rax
sub r10, r9
neg r9
movups xmmword [rax + r9 + 0x70], xmm0
movups xmmword [r10 + 0x60], xmm1
jmp 0x1402260f0
lea r14, [rdi + 0x10]
sub rsp, 0x20
lea r15, [rbp - 0x78]
lea rdx, [rbp + 0x788]
mov r8d, 0x800
mov rcx, r15
call fcn.14021bb50
lea rcx, [rbp + 0x788]
mov r8d, 0x808
mov rdx, r14
call fcn.14021bb50
mov r8d, 0x800
mov rcx, r14
mov rdx, r15
call fcn.14021bb50
add rsp, 0x20
mov qword [rdi + 0x810], 0
mov eax, dword [0x1415956e8]
and eax, dword [0x1415956ec]
mov ecx, eax
xor ecx, 0x5afd6cc8
xor eax, 0xa1021132
or eax, 0x56c4c64d
add eax, ecx
inc eax
imul rax, rax, 0xfae426f
shr rax, 0x38
cmp eax, 0xf8753f43
ja 0x1402262b9
mov eax, dword [0x1415956f0]
mov ecx, eax
not ecx
or ecx, dword [0x1415956f4]
add ecx, eax
imul eax, ecx, 0x5e85c63e
add eax, 0xc0412292
mfence
mov r15, qword [r12 + 0x180]
movzx ecx, byte [0x1415acbd0]
cmp eax, 0x33b5eafa
jae 0x1402262cd
mfence
mov rax, qword [r12 + 0x180]
movzx eax, byte [0x1415acbd0]
jmp 0x140226283
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1401ac910
add rsp, 0x20
test rax, rax
je 0x140226698
mov r14, rax
sub rsp, 0x20
lea rdx, [rbp + 0x788]
mov r8d, 0x808
mov rcx, rax
call fcn.14021bb50
add rsp, 0x20
mov qword [r14 + 0x808], r15
mov qword [r14 + 0x810], 0
xor r8d, r8d
nop
mov eax, dword [0x1415956f8]
xor edx, edx
div dword [0x1415956fc]
mov ecx, eax
and ecx, 0x4d3c69c2
or eax, 0x4d3c69c2
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0x2541223d
and ecx, 0x7fcd2e3f
and eax, 0x8032c140
or eax, ecx
cmp eax, 0xa1584cf1
jbe 0x140226370
mov rax, qword [r12 + 0x100]
nop word cs:[rax + rax]
mov rcx, qword [r12 + 0x100]
test r8b, r8b
jne 0x140226370
mov rax, rcx
xor rax, 7
mov rdx, rcx
or rdx, 0xfffffffffffffff8
and rdx, rax
mov r9, qword [rdx + 0x810]
nop word cs:[rax + rax]
mov eax, dword [0x141595700]
xor eax, dword [0x141595704]
and eax, 0x8c20be92
mov r10d, 0xa7d53eee
sub r10d, eax
add eax, 0x582ac111
and r10d, 0x17a522c6
mov r11d, eax
and r11d, 0xa84adc31
imul r11d, r10d
mov r10d, eax
and r10d, 0x54212382
or eax, 0x57a523c6
imul eax, r10d
add eax, r11d
cmp eax, 0xdcfbf3e9
ja 0x1402263a0
cmp r9, 7
ja 0x140226430
mov eax, dword [0x141595708]
mov r9d, dword [0x14159570c]
not eax
mov r10d, eax
and r10d, r9d
or eax, r9d
not eax
or eax, r10d
and eax, 0x17c80281
add eax, 0x5cb6f07e
cmp eax, 0xb5a569f9
jbe 0x140226450
jmp 0x1402264c1
mov rax, rcx
lock cmpxchg qword [r12 + 0x100], r9
nop dword [rax]
test r8b, r8b
jne 0x140226440
jmp 0x140226530
mov eax, dword [0x141595710]
mov r9d, dword [0x141595714]
mov r10d, eax
not r10d
and r10d, r9d
mov r11d, r9d
not r11d
and r11d, eax
imul r11d, r10d
mov r10d, eax
and r10d, r9d
or eax, r9d
imul eax, r10d
add eax, r11d
mov r9d, eax
not r9d
and r9d, 0xb3ef9cbe
and eax, 0x4c106341
sub eax, r9d
add eax, 0xc6931619
mov r9d, eax
xor r9d, 0xc94c142a
and r9d, eax
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r14
sete al
cmp r9d, 0x94b721a7
jbe 0x1402264d0
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r14
jmp 0x140226450
mov edx, dword [0x141595718]
mov r9d, dword [0x14159571c]
not edx
not r9d
or r9d, edx
not r9d
mov edx, r9d
and edx, 0x58024c0
mov r10d, edx
not r10d
and r10d, 0xab91d7f7
mov r11d, r9d
and r11d, 0x4002000
imul r11d, r10d
and r9d, 0x18004c0
or edx, 0xab91d7f7
imul edx, r9d
add edx, r11d
cmp edx, 0x46e93606
ja 0x1402264d0
test al, al
jne 0x14022656f
nop dword [rax]
mov eax, dword [0x141595720]
mov ecx, dword [0x141595724]
xor ecx, eax
not ecx
and ecx, eax
or ecx, 0xde6ddfea
imul rax, rcx, 0x14ef5217
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1d
add ecx, 0x9b3863b1
cmp ecx, 0xb715321a
jae 0x140226530
jmp 0x140226320
mov rax, rcx
lock cmpxchg qword [r12 + 0x100], r14
test rbx, rbx
je 0x1402267aa
nop word cs:[rax + rax]
mov eax, dword [0x141595728]
xor edx, edx
div dword [0x14159572c]
cmp eax, 0xc2e0788c
je 0x140226590
mov rcx, qword [rbx + 0x818]
mov eax, dword [0x141595730]
mov edx, dword [0x141595734]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
mov edx, eax
xor edx, 0x58ea701
or eax, 0x3a7158fe
and eax, edx
imul eax, eax, 0xdc47238e
or eax, 0xd80359a2
cmp eax, 0xc403135c
jae 0x14022661b
movabs rax, 0xb3c2bf2a6793de38
mov rdx, rax
not rdx
add rdx, rax
add rdx, rcx
mov qword [rbx + 0x818], rdx
lea rax, [rcx - 1]
xor edx, edx
nop word cs:[rax + rax]
mov qword [rbx + 0x818], rax
test dl, dl
jne 0x140226630
nop dword [rax + rax]
mov eax, dword [0x141595738]
xor edx, edx
div dword [0x14159573c]
add eax, 0x17ca5d24
cmp eax, 0x5493495f
ja 0x140226640
cmp rcx, 1
jne 0x1402267aa
mov eax, dword [0x141595740]
or eax, dword [0x141595744]
and eax, 0x99c2b368
add eax, 0x496cc6a0
mov ecx, eax
and ecx, 0xfbc3bfe8
xor ecx, 0x22507fa6
and eax, 0x226c3fa0
or eax, ecx
cmp eax, 0xee963031
jne 0x14022669a
jmp 0x1402266f2
ud2
mov eax, dword [0x141595748]
mov ecx, dword [0x14159574c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul rcx, rax, 0x34ac0dbb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
not eax
and eax, 0x38927
mov qword [rbx + 0x880], 0
cmp eax, 0x12d426e0
jne 0x140226700
mov qword [rbx + 0x880], 0
jmp 0x14022669a
mov ecx, dword [0x141595750]
mov eax, dword [0x141595754]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
imul rcx, rax, 0x64e5408f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
add eax, 0x2e22c1ec
mov ecx, eax
and ecx, 0x2e000052
or eax, 0xbe813a52
add eax, ecx
cmp eax, 0x1a0d4258
je 0x140226700
mov rax, qword [rbx + 0x820]
nop
mov ecx, dword [0x141595758]
mov edx, dword [0x14159575c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
mov edx, ecx
and edx, 0x6cd4420a
add edx, edx
sub ecx, edx
add ecx, 0xecd4420a
or ecx, 0x16798a4b
cmp ecx, 0xd9614c4f
je 0x140226750
test rax, rax
je 0x140226866
mov qword [rdi + 0x820], 0
mov eax, dword [0x141595760]
mov ecx, dword [0x141595764]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
and ecx, 0x71510048
xor ecx, 0x10110008
or ecx, 0xcaae516
cmp ecx, 0xbfcbf074
jbe 0x140226800
mov rax, qword [rdi + 8]
lock or qword [rdi], 1
mov qword [rsi], rax
nop word cs:[rax + rax]
mov ecx, dword [0x141595768]
imul ecx, dword [0x14159576c]
mov eax, ecx
not eax
and eax, 0x172ff71b
and ecx, 0xe8d008e4
sub ecx, eax
mov edx, ecx
not edx
mov eax, ecx
and eax, 0x71bfb4f0
and edx, 0x8e404b0f
imul edx, eax
mov eax, ecx
and eax, 0x8e404b0f
or ecx, 0x8e404b0f
imul ecx, eax
mov rax, qword [rdi + 8]
lock or qword [rdi], 1
add ecx, edx
imul ecx, ecx, 0xb3d41d1e
mov qword [rsi], rax
cmp ecx, 0x4ca87579
jb 0x140226800
xor ecx, ecx
test cl, cl
je 0x14022687b
jmp 0x1402268ca
sub rsp, 0x20
mov rcx, rbx
call fcn.140225c60
add rsp, 0x20
jmp 0x1402267aa
mov ecx, dword [0x141595770]
mov edx, dword [0x141595774]
add edx, ecx
add edx, 0x90532d5a
mov ecx, edx
not ecx
and ecx, 0x23dc6d29
mov r8d, edx
and r8d, 0xdc2392d6
imul r8d, ecx
mov ecx, edx
and ecx, 0x23dc6d29
or edx, 0x23dc6d29
imul edx, ecx
add edx, r8d
lock dec qword [rax]
sete cl
cmp edx, 0xf4d73499
jne 0x1402268d0
lock dec qword [rax]
jmp 0x14022687b
test cl, cl
je 0x140226a10
mov eax, dword [0x141595778]
xor edx, edx
div dword [0x14159577c]
imul eax, eax, 0x48eb78f5
add eax, 0x467b2661
imul rax, rax, 0x3c058211
shr rax, 0x3d
cmp eax, 0xd66a9e96
jbe 0x140226903
mov eax, 0x8e1778c7
nop dword [rax + rax]
mov ecx, dword [0x141595780]
mov edx, ecx
not edx
or edx, dword [0x141595784]
add ecx, edx
inc ecx
mov edx, ecx
xor edx, 0x5ca4767a
or ecx, 0xa35b8985
and ecx, edx
add ecx, 0xd01ac903
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xad15d7ca
je 0x140226910
mov eax, dword [0x141595788]
xor edx, edx
div dword [0x14159578c]
add eax, 0x48da030b
not eax
or eax, 0x5ea366b9
mov ecx, eax
not ecx
and eax, 0x95cc2a9e
mov edx, ecx
and edx, 0x20109140
imul edx, eax
mov eax, ecx
and eax, 0x814c0806
or ecx, 0x95cc2a9e
imul ecx, eax
add ecx, edx
cmp ecx, 0x747465ed
jne 0x1402269b0
sub rsp, 0x20
mov rcx, rsi
call fcn.14020c480
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141595790]
and eax, dword [0x141595794]
mov ecx, eax
not ecx
and ecx, 0x71f181a5
mov edx, eax
and edx, 0x8e0e7e5a
imul edx, ecx
mov ecx, eax
and ecx, 0x71f181a5
or eax, 0x71f181a5
imul eax, ecx
add eax, edx
add eax, 0x13711f4c
mov ecx, eax
and ecx, 0x10bff67f
xor eax, 0x90bff67f
lea edi, [rax + rcx*2]
sub rsp, 0x20
mov rcx, rsi
call fcn.14020c480
add rsp, 0x20
cmp edi, 0xbcb61850
je 0x1402269b0
mov eax, dword [0x141595798]
mov ecx, dword [0x14159579c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
xor ecx, 0x40a5a166
xor eax, 0xbf424681
or ecx, 0x175a1c19
and ecx, eax
add ecx, 0xd7ef657b
cmp ecx, 0x3b682e98
jb 0x140226a10
nop dword [rax]
mov eax, dword [0x1415957a4]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415957a0]
xor ecx, eax
add ecx, 0xc54ddd33
mov eax, ecx
or eax, 0x2c520381
not ecx
and ecx, 0x1000010
and eax, 0xbe5e03e1
or eax, ecx
xor eax, 0x2f878f8e
cmp eax, 0xb96a150c
ja 0x140226a50
lea rsp, [rbp + 0xf90]
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret