Function at 0x140073490
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
mov rax, qword [0x1402c6150]
mov qword [rsp + 0xe8], rax
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rax]
call fcn.14000eaf8
movaps xmm0, xmmword [0x1402bde80]
movaps xmm1, xmmword [0x1402bde90]
movaps xmm2, xmmword [0x1402bdea0]
movaps xmm3, xmmword [0x1402bdeb0]
xor eax, eax
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x130], xmm0
jmp 0x140073543
mov rax, qword [rsp + 0xf8]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm5, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x70], xmm5
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0xa0], xmm2
mov qword [rsp + 0xb8], rax
movaps xmm6, xmmword [0x1402bdec0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402bdec0]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402bded0]
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rsp + 0xc0], xmm1
movd eax, xmm0
test al, 1
jne 0x140073672
jmp 0x140073686
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x1400736a2
jmp 0x1400736ba
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 1
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 2
test al, 1
jne 0x1400736d4
jmp 0x14007370c
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb8]
mov rcx, rdx
and rcx, 2
movabs r8, 0x5ad9d92241cab045
movabs r9, 0x5ad9d92241cab047
xor r8, r9
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 3
test al, 1
jne 0x140073726
jmp 0x14007385f
mov edx, dword [0x1402aafa0]
xor edx, 0x8df75918
mov ecx, dword [0x1402aafa4]
mov eax, edx
add eax, 1
mov r8d, 0xf72eea8e
xor r8d, 0x8d11571
xor edx, r8d
or edx, ecx
add edx, eax
mov ecx, edx
xor ecx, 0xe3941253
mov eax, 0xffffffff
xor eax, 0xe3941253
and edx, eax
mov eax, 0x6081de28
xor eax, 0x6081de2a
imul eax, edx
sub eax, ecx
mov ecx, 0x23f610f2
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x29bfb9b3
sub eax, ecx
mov ecx, 0xfb1859fb
xor ecx, 0x28e5a611
cmp eax, ecx
ja 0x140073f40
mov rcx, qword [rsp + 0xd8]
mov eax, dword [0x1402aafa8]
xor edx, edx
div dword [0x1402aafac]
mov edx, eax
sub edx, 0x410b8e41
sub edx, 0x2abb412f
mov eax, 0x8864bf23
xor eax, 0xc96f3162
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x5325cf23
xor r8d, 0xf9002ed0
mov r9d, 0x40fe5b8d
xor r9d, 0xbf01a472
xor r8d, r9d
or eax, r8d
xor edx, 0xffffffff
mov r8d, 0xa60784ee
xor r8d, 0xc22651d
mov r9d, 0x16b512ec
xor r9d, 0xe94aed13
xor r8d, r9d
or edx, r8d
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x3ce7b5bd
xor r8d, 0x3a1e138a
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb8]
movabs r8, 0xab4f9711567c65ab
movabs r9, 0xab4f9711567c65a8
xor r8, r9
or rdx, r8
mov byte [rcx + rdx], 0
cmp eax, 0x952c4410
ja 0x14007379a
jmp 0x14007385f
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 4
test al, 1
jne 0x140073879
jmp 0x1400738dd
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb8]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 4
and rcx, r8
movabs r8, 0x59ca61c5d2a0bcf6
movabs r9, 0x59ca61c5d2a0bcf2
xor r8, r9
or rdx, r8
movabs r8, 0x533ae33179d91cba
movabs r9, 0xacc51cce8626e345
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
mov eax, dword [0x1402aafb0]
xor eax, 0xceb1a879
mov edx, dword [str.rf_B]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
mov r8d, 0xfa76f996
xor r8d, 0x5890669
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x5b96794e
xor edx, 0xa46986b1
xor eax, edx
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xc91cd99e
mov r8d, 0x41d9d5fb
xor r8d, 0x88c50c65
mov eax, 0x1b173f72
xor eax, 0xe4e8c08d
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x1315ed8e
xor r8d, 0xda093410
mov edx, ecx
and edx, r8d
or ecx, 0xc91cd99e
imul ecx, edx
add ecx, eax
mov edx, 0xd0218cfb
xor edx, 0x2fde7304
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xe493edb1
xor edx, 0x2e8785b4
mov r8d, 0xced01bac
xor r8d, 0x312fe453
xor edx, r8d
or eax, edx
mov edx, 0xca146805
and edx, 0xca146805
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0x9cbea558
cmp eax, 0xddb1772
jbe 0x140073f49
movaps xmm0, xmmword [rsp + 0xc0]
mov eax, dword [0x1402aafb8]
mov ecx, dword [0x1402aafbc]
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0x9009020
and ecx, 0x2de1d92e
mov eax, ecx
not eax
or eax, 0x4a11022
or ecx, 0x3948ef9c
and eax, ecx
pextrw ecx, xmm0, 5
mov byte [rsp + 0x6f], cl
cmp eax, 0xb1cda825
je 0x140073f49
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140073a2b
jmp 0x140073a97
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb8]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x108bb9a84a6bc7ed
movabs r8, 0x108bb9a84a6bc7e8
xor rdx, r8
movabs r8, 0xbe8ccffa55949740
movabs r9, 0x41733005aa6b68bf
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 5
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov byte [rax + rcx], 0
mov ecx, dword [0x1402aafc0]
xor ecx, 0xec687a96
sub ecx, dword [0x1402aafc4]
mov edx, 0x55998012
xor edx, 0xaa667fed
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xb1256a3b
and eax, edx
or ecx, 0xb1256a3b
xor ecx, 0xffffffff
mov edx, 0xb449ddb
xor edx, 0xf4bb6224
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xf51e594a
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x260d40e8
mov ecx, 0xe3dff02a
xor ecx, 0xf389514f
mov r8d, 0x6b4638de
xor r8d, 0x94b9c721
xor ecx, r8d
or eax, edx
or ecx, 0x1056a165
mov edx, 0x86dd3b5f
xor edx, 0x7922c4a0
xor eax, edx
and eax, ecx
cmp eax, 0x2d16f940
je 0x140073f52
movaps xmm0, xmmword [rsp + 0xc0]
mov eax, dword [0x1402aafc8]
mov r10d, eax
xor r10d, 0x70014410
mov edx, dword [0x1402aafcc]
mov r9d, edx
xor r9d, 0x71414570
xor eax, 0x55233e5
xor edx, 0x8692a287
mov ecx, eax
and ecx, 0x8aae988e
and r10d, 0x75516771
mov r8d, edx
and r8d, 0x8aae988e
and r9d, 0x75516771
or ecx, r10d
or r8d, r9d
xor ecx, r8d
or eax, edx
not eax
or ecx, eax
mov edx, ecx
not edx
or edx, 0x7d0dbf83
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx + 1]
mov ecx, eax
xor ecx, 0x2981ccce
and eax, 0x567e3331
add eax, eax
sub eax, ecx
mov ecx, 0xae1c9d43
imul rax, rcx
shr rax, 0x3c
mov ecx, 0x7c20b8ff
pextrw edx, xmm0, 6
mov byte [rsp + 0x6e], dl
cmp eax, ecx
jae 0x140073b30
mov al, byte [rsp + 0x6e]
test al, 1
jne 0x140073be9
jmp 0x140073c01
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
or rcx, 6
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xc0]
pextrw eax, xmm0, 7
test al, 1
jne 0x140073c1b
jmp 0x140073c73
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
movabs r8, 0x4c2383cf8ee6a692
movabs rdx, 0x4c2383cf8ee6a695
xor r8, rdx
movabs rdx, 0x5e6d166470455226
movabs r9, 0xa192e99b8fbaadd9
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 7
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0xb8]
add rax, 8
movaps xmm4, xmmword [0x1402bdee0]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x130], xmm0
jne 0x140073543
jmp 0x140073ced
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xf0]
add rcx, 0x60
mov qword [rsp + 0x60], rcx
cmp rax, 0
jge 0x140073d30
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x140073f17
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 3
movabs r8, 0x9f2111e99898c839
movabs rdx, 0x9f2111e99898c83a
xor r8, rdx
movabs rdx, 0xe26e9fbc2669be73
movabs r9, 0x1d916043d996418c
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
imul rdx, rax
movabs rax, 0xf41d6d3051e3f1f9
movabs r8, 0xf41d6d3051e3f1fa
xor rax, r8
mov r8, rcx
and r8, rax
mov rax, rcx
or rax, 3
imul rax, r8
add rax, rdx
mov qword [rsp + 0x48], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402bdef0]
mulsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x58], xmm1
ucomisd xmm0, xmm1
jne 0x140073df3
jp 0x140073df3
jmp 0x140073e42
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x58]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x40]
movsd xmm2, qword [0x1402bdef8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140073e42
call fcn.14000ee80
jmp 0x140073e91
mov rax, qword [rsp + 0x48]
mov ecx, 2
cqo
idiv rcx
mov rcx, rax
xor eax, eax
mov edx, eax
sub rdx, 4
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140073e82
call fcn.14000ee80
jmp 0x140073e91
mov rcx, qword [rsp + 0x38]
call fcn.140051e20
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
cmp byte [rax], 0
jne 0x140073f17
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xd8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x140073f05
mov rcx, qword [rsp + 0x28]
movabs rdx, 0xc7697a93eaa50949
movabs rax, 0xc7697a93eaa50949
xor rdx, rax
movabs r8, 0xd391ff3adbf11a6d
movabs rax, 0xac6e00c5240ee592
xor r8, rax
call fcn.140018506
jmp 0x140073f17
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xd8]
call fcn.14003f08c
mov rax, qword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
add rsp, 0x178
ret
add cl, byte [rax]
jrcxz 0x140073fb6
jmp 0x14007379a
sub al, 0xaf
invalid
invalid
add byte [rax], al
movabs rcx, 0x92b5b939f615e5e7
movabs rax, 0x92b5b939f615e5ff
xor rcx, rax
movabs rdx, 0xaa614fe02218a0bd
movabs rax, 0xaa614fe02218a0b5
xor rdx, rax
call fcn.140025b10
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x60]
call fcn.140073490
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
cmp byte [rcx], 0
mov qword [rsp + 0x40], rax
jne 0x14007404e
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x48]
call fcn.140072b10
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
add rsp, 0x78
ret