Function at 0x140071050
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rcx
mov rax, qword [0x1402c6150]
mov qword [rsp + 0xf8], rax
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rcx
mov ecx, dword [rax]
call fcn.14000eaf8
movaps xmm0, xmmword [0x1402bde00]
movaps xmm1, xmmword [0x1402bde10]
movaps xmm2, xmmword [0x1402bde20]
movaps xmm3, xmmword [0x1402bde30]
xor eax, eax
mov qword [rsp + 0x108], rax
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x140], xmm0
jmp 0x140071105
mov rax, qword [rsp + 0x108]
movaps xmm2, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm5, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x80], xmm5
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0xb0], xmm2
mov qword [rsp + 0xc8], rax
movaps xmm6, xmmword [0x1402bde40]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x1402bde40]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x1402bde50]
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 + 0xd0], xmm1
movd eax, xmm0
test al, 1
jne 0x140071237
jmp 0x14007124b
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xc8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xd0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140071267
jmp 0x14007131b
mov rax, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xc8]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 1
mov r8, 0xffffffffffffffff
movabs rcx, 0x7ab7e1dff6f9655e
xor r8, rcx
movabs r10, 0x330d2b5556cb8bea
movabs rcx, 0x49baca8aa032eeb4
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x47d7315fbd2edcee
movabs r10, 0x3d60d0804bd7b9b0
xor r11, r10
mov r10, r9
and r10, r11
movabs r11, 0x4489ed5a186cc372
movabs rdi, 0x4489ed5a186cc373
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x7ab7e1dff6f9655e
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xd0]
pextrw eax, xmm0, 2
test al, 1
jne 0x140071335
jmp 0x14007136d
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc8]
mov rcx, rdx
and rcx, 2
movabs r8, 0x7d2cafa2e9be0093
movabs r9, 0x7d2cafa2e9be0091
xor r8, r9
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
mov ecx, dword [0x1402aaec0]
xor ecx, 0x157f7ea3
mov edx, dword [0x1402aaec4]
mov r8d, 0x482bc597
xor r8d, 0x482bc596
mov eax, ecx
add eax, r8d
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
sub ecx, 0x8040995
sub ecx, 0xdaaaacf0
add ecx, 0x8040995
mov eax, 0xde6fe43c
xor eax, 0x21901bc3
mov edx, ecx
xor edx, eax
and edx, 0x9ef19677
mov r8d, 0xffffffff
xor r8d, 0x9ef19677
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x9ef19677
mov r8d, 0xcb9d0d4a
xor r8d, 0x556c9b3d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, 0x4adc6e7c
xor edx, 0xb5239183
mov eax, ecx
xor eax, edx
mov r8d, 0xfaf9e147
xor r8d, 0x5061eb8
mov edx, ecx
xor edx, r8d
or eax, edx
mov edx, 0x2255d8d5
xor edx, 0xdb829153
and eax, edx
xor eax, 0xffffffff
mov edx, 0xf9d74986
and edx, 0xf9d74986
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x3d1d8613
jb 0x140071b87
movaps xmm0, xmmword [rsp + 0xd0]
mov eax, dword [0x1402aaec8]
xor eax, 0x681e2cc3
mov ecx, dword [0x1402aaecc]
xor ecx, 0xf186178d
sub eax, ecx
and eax, 0xe94ba575
add eax, 0xd4c0c90d
pextrw ecx, xmm0, 3
mov byte [rsp + 0x7f], cl
cmp eax, 0xb2033bf0
jbe 0x140071449
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x140071499
jmp 0x1400714ef
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc8]
mov rcx, rdx
or rcx, 3
movabs r8, 0x122872bad33765c8
movabs r9, 0xedd78d452cc89a37
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 3
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov dl, 0x8b
xor dl, 0x8b
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xd0]
pextrw eax, xmm0, 4
test al, 1
jne 0x140071509
jmp 0x140071572
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xc8]
movabs rdx, 0xd31cae2ab314829c
movabs r8, 0xd31cae2ab3148298
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0xfc624aac1899cb4e
movabs r9, 0xfc624aac1899cb4a
xor r8, r9
add rcx, r8
movabs r8, 0x444eb4b860697503
movabs r9, 0x444eb4b860697502
xor r8, r9
add rcx, r8
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xd0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14007158c
jmp 0x140071687
mov ecx, dword [0x1402aaed0]
mov eax, 0xa85029ab
xor eax, 0xdccd23ff
xor ecx, eax
mov edx, dword [0x1402aaed4]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x44a1a831
xor r8d, 0xbb5e57ce
xor eax, r8d
or ecx, edx
mov edx, 0xb7ed055a
xor edx, 0x4812faa5
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0x48e0783f
mov ecx, 0x65d37a18
xor edx, edx
div ecx
add eax, 0x86474879
cmp eax, 0x56ea3e59
je 0x140071b90
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc8]
mov eax, dword [0x1402aaed8]
xor eax, 0xf42edd5e
mov r9d, dword [0x1402aaedc]
and eax, eax
xor eax, 0xffffffff
mov r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0x6ce5fb14
xor r10d, 0x931a04eb
xor r9d, r10d
or r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xb0a7e92c
xor r8d, 0xc6c9bcaa
add eax, r8d
xor r8d, r8d
sub r8d, 0xced9483b
add eax, r8d
add eax, 0xc87f5718
or rdx, 5
mov byte [rcx + rdx], 0
cmp eax, 0x2d866715
je 0x140071b90
jmp 0x140071687
movaps xmm0, xmmword [rsp + 0xd0]
pextrw eax, xmm0, 6
test al, 1
jne 0x1400716a1
jmp 0x140071802
mov ecx, dword [0x1402aaee0]
mov edx, dword [0x1402aaee4]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, edx
mov r8d, 0xd52e3469
xor r8d, 0x2ad1cb96
xor eax, r8d
and edx, edx
xor edx, 0xffffffff
mov r8d, 0x2073884d
xor r8d, 0xdf8c77b2
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x2cd5585d
xor ecx, 0xd32aa7a2
xor eax, ecx
mov ecx, 0xf25dc20b
xor ecx, 0xf25dc20b
mov edx, 0x582704c3
xor edx, 0xccab0800
sub ecx, edx
add eax, ecx
or eax, 0xfbb75e71
mov ecx, 0xffffffff
xor ecx, 0x49f47bfc
add eax, ecx
add eax, 1
cmp eax, 0x79d66dde
jb 0x140071b99
mov r9, qword [rsp + 0xc8]
mov eax, dword [0x1402aaee8]
xor edx, edx
div dword [0x1402aaeec]
mov rdx, qword [rsp + 0xe8]
imul eax, eax, 0x39447f41
mov ecx, 0x83b42bd4
xor ecx, 0xa22be80e
and eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xb7f01278
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x8b9e8915
xor ecx, 0x40aefa39
mov r8, r9
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
movabs r9, 0x4adf3bc3b6028823
movabs r10, 0x4adf3bc3b6028825
xor r9, r10
movabs r10, 0x28a72b78911ab2f
movabs r11, 0xfd758d4876ee54d0
xor r10, r11
xor r9, r10
movabs r10, 0x3de85d362cd453a9
movabs r11, 0x3de85d362cd453af
xor r10, r11
movabs r11, 0x4a070ac139073f20
movabs rsi, 0xb5f8f53ec6f8c0df
xor r11, rsi
xor r10, r11
or r9, r10
and r8, r9
xor r8, 0xffffffffffffffff
mov byte [rdx + r8], 0
cmp eax, ecx
jbe 0x140071729
jmp 0x140071802
movaps xmm0, xmmword [rsp + 0xd0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14007181c
jmp 0x140071846
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xc8]
mov rdx, rcx
and rdx, 7
xor rdx, 0xffffffffffffffff
add rcx, 7
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm3, xmmword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
add rax, 8
movaps xmm4, xmmword [0x1402bde60]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0x108], rax
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x140], xmm0
jne 0x140071105
jmp 0x1400718c3
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x100]
add rcx, 0x60
mov qword [rsp + 0x70], rcx
cmp rax, 0
jge 0x140071906
mov rcx, qword [rsp + 0xe0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x140071b5c
mov eax, dword [0x1402aaef0]
mov r8d, dword [0x1402aaef4]
xor r8d, 0x86d62087
mov ecx, 0xf1739a8e
xor ecx, 0xe8c6571
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x85c9a4d
xor edx, edx
div ecx
or eax, 0x181903c0
add eax, 0xc1cdb40f
sub eax, 0x55ca5c80
sub eax, 0xc1cdb40f
cmp eax, 0x350b9044
jb 0x140071ba2
mov eax, dword [0x1402aaef8]
xor edx, edx
div dword [0x1402aaefc]
imul eax, eax, 0x507d7995
sub eax, 0xd1b42f80
sub eax, 0x4f9bd666
add eax, 0xd1b42f80
add eax, 0x45c01783
mov dword [rsp + 0x4c], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rdx, qword [rsp + 0xe0]
mov eax, dword [rsp + 0x4c]
mov r9, 0xffffffffffffffff
xor r9, 3
mov rcx, rdx
and rcx, r9
mov r8, rdx
or r8, r9
movabs r9, 0x940ea202ac9b3390
movabs r10, 0x6bf15dfd5364cc6f
xor r9, r10
xor r8, r9
imul r8, rcx
movabs rcx, 0x643180a9541aca25
movabs r9, 0x643180a9541aca26
xor rcx, r9
mov r9, rdx
and r9, rcx
mov rcx, rdx
or rcx, 3
imul rcx, r9
add rcx, r8
mov qword [rsp + 0x50], rcx
cvtsi2sd xmm0, rdx
movsd xmm1, qword [0x1402bde70]
mulsd xmm0, xmm1
movsd qword [rsp + 0x58], xmm0
cvtsi2sd xmm1, rcx
movsd qword [rsp + 0x60], xmm1
ucomisd xmm0, xmm1
sete cl
setnp dl
and cl, dl
mov byte [rsp + 0x6f], cl
cmp eax, 0x7a4bbe03
je 0x140071ba2
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140071aa7
jmp 0x140071a58
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x60]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x40], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x40]
movsd xmm2, qword [0x1402bde78]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x140071aa7
call fcn.14000ee80
jmp 0x140071af6
mov rax, qword [rsp + 0x50]
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 0x140071ae7
call fcn.14000ee80
jmp 0x140071af6
mov rcx, qword [rsp + 0x38]
call fcn.140051e20
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
cmp byte [rax], 0
jne 0x140071b5c
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xe8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x140071b4a
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x140071b5c
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xe8]
call fcn.14003cc4e
mov rax, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
add rsp, 0x188
pop rdi
pop rsi
ret
sbb eax, 0xe97347d5
mov ecx, 0x55fffff8
push rbp
insd dword [rdi], dx
xor dword [rcx - 0x59617], ebp
jmp qword [rcx - 0x16b74acb]
movabs eax, dword [0xfffffb87e948b535]
sbb byte [rsi - 0x4b16f53f], al
std
invalid