Function at 0x140070a79
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x38], rcx
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.14006611a
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.140032271
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x40]
mov byte [rbp + 0x4f], cl
cmp byte [rax], 0
jne 0x140070a46
mov al, byte [rbp + 0x4f]
cmp al, 0xc0
jne 0x140070215
xor eax, eax
mov ecx, eax
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14000f990
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140020956
add rsp, 0x20
jmp 0x140070a46
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.140068ccf
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 8], rcx
cmp byte [rax], 0
jne 0x140070a46
mov eax, dword [0x1401cb528]
mov edx, dword [0x1401cb52c]
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov r9d, 0xd4014652
xor r9d, 0x2bfeb9ad
mov r8d, edx
xor r8d, r9d
mov r10d, 0xad498a07
xor r10d, 0x52b675f8
mov r9d, edx
xor r9d, r10d
and r8d, r9d
or ecx, r8d
xor ecx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xc083126e
xor eax, 0xffffffff
mov edx, 0xc083126e
and edx, 0xc083126e
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xdd90a797
xor r8d, 0x226f5868
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xddb17477
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xc1307c85
xor edx, 0x4049e67f
mov eax, ecx
and eax, edx
mov edx, 0xf6be1a22
xor edx, 0x77c780d8
or ecx, edx
add eax, ecx
cmp eax, 0x22c8ed99
je 0x140070a4c
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401cb530]
and eax, dword [0x1401cb534]
mov r9d, 0x65efd089
xor r9d, 0xec850145
mov edx, 0x10bd02f2
xor edx, 0xef42fd0d
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xa76ea0e5
xor r9d, 0x58915f1a
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x896ad1cc
mov r9d, 0x18cb6c60
xor r9d, 0x91a1bdac
or eax, r9d
imul eax, r8d
add eax, edx
imul eax, eax, 0x882c1b30
and eax, 0x4d898c3d
cmp rcx, 0
setl cl
mov byte [rbp + 7], cl
cmp eax, 0xcf26ffa0
je 0x1400702f9
mov al, byte [rbp + 7]
test al, 1
jne 0x140070393
jmp 0x140070402
lea rcx, [0x1401db868]
sub rsp, 0x20
call fcn.1400692fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x140070a46
mov rcx, qword [rbp - 8]
movabs rax, 0xf6ed04e66bdb399f
movabs rdx, 0x912fb19af43ae31
xor rax, rdx
lea rdx, [0x1401db7b5]
lea r8, [0x1401db81f]
lea r9, [0x1401db7a5]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400120ce
add rsp, 0x30
jmp 0x140070a46
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.140021276
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x28]
add rsp, 0x20
mov r8, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140020956
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, rax
dec rdx
mov r8, rax
neg r8
mov rcx, rax
and rcx, r8
mov r8, rax
not r8
and rdx, r8
or rcx, rdx
sets dl
test rax, rax
setne al
sete cl
or cl, dl
add al, cl
inc al
test al, 1
jne 0x140070491
mov rax, qword [rbp + 0x10]
add rax, 8
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
jmp 0x1400704a3
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140070a46
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rax, rcx
jge 0x140070a34
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x38]
mov qword [rdx], 0
sub rsp, 0x20
call fcn.140070111
mov rdx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x29], cl
mov qword [rbp - 0x28], rax
jne 0x14007091d
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x10]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140070691
mov eax, dword [0x1401cb538]
mov edx, dword [0x1401cb53c]
xor edx, 0x24a2aeca
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, 0xffffffff
and ecx, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or ecx, r8d
xor ecx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc2e60edd
xor ecx, 0x4ec345b
mov edx, 0xad5ce576
xor edx, 0x52a31a89
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xc60a3a86
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7c71e077
xor ecx, 0x838e1f88
mov edx, eax
xor edx, ecx
and edx, 0x13a77c76
mov r8d, 0xffffffff
xor r8d, 0x13a77c76
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x13a77c76
mov r8d, 0x5d36cad2
xor r8d, 0x4e91b6a4
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x37181f92
xor edx, edx
div ecx
cmp eax, 0xbd1f94b
jae 0x140070a55
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x1401cb540]
sub eax, dword [0x1401cb544]
mov r8d, eax
add r8d, 1
mov r9d, 0xd003301d
xor r9d, 0x2ffccfe2
xor eax, r9d
or eax, 0x43821596
add eax, r8d
add eax, 0x98a158d9
sub eax, 0xbf5f7855
mov r8d, 0x3ca5df1c
xor r8d, 0xb18fae31
add eax, r8d
mov r8d, 0xb025ad46
xor r8d, 0xf7ad513
add eax, r8d
mov dword [rbp - 0x40], eax
movabs rax, 0x947a3f413466585c
movabs r8, 0x6b85c0becb99a7a3
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400122ad
mov rcx, qword [rbp + 0x40]
mov eax, dword [rbp - 0x40]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x39], cl
cmp eax, 0xbef8e143
je 0x1400705e0
mov rax, qword [rbp - 0x20]
mov cl, byte [rbp - 0x39]
mov byte [rbp - 0x29], cl
mov qword [rbp - 0x28], rax
jmp 0x14007091d
mov eax, dword [0x1401cb548]
xor eax, 0x68ac7a69
xor edx, edx
div dword [0x1401cb54c]
mov ecx, eax
mov eax, 0x3a8d497c
xor eax, 0xd710adc9
and ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xd8230d13
xor edx, 0x94d01993
mov r8d, 0x175822c
xor r8d, 0xfe8a7dd3
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x4cf31480
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x4cf31480
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xbeccd1e0
xor ecx, 0x315a5b16
imul eax, ecx
cmp eax, 0xd61eda75
je 0x140070a5e
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401cb550]
mov edx, 0x97bc4f35
xor edx, 0x7b920cd3
xor eax, edx
mov edx, dword [0x1401cb554]
add eax, 0xc498bfef
sub eax, edx
sub eax, 0xc498bfef
or eax, eax
xor eax, 0xffffffff
mov edx, 0xfb9b6bc
xor edx, 0x75056bb1
mov r8d, 0x392094ee
xor r8d, 0xc6df6b11
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x7abcdd0d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r8d, eax
and r8d, 0x322d076a
mov edx, 0x2a131ba0
xor edx, 0x2a131ba2
imul edx, r8d
add eax, 0x322d076a
sub eax, edx
mov r8d, 0x651645c6
xor r8d, 0xa47153e8
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov r8d, eax
mov rax, qword [rbp + 0x30]
mov dword [rbp - 0x48], r8d
mov r8d, 0x7a6778fb
xor r8d, 0xa885c328
mov dword [rbp - 0x4c], r8d
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400ce7b0
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
je 0x140070a5e
mov rax, qword [rbp - 0x20]
mov dl, byte [rbp - 0x41]
mov cl, 1
test dl, 1
mov byte [rbp - 0x29], cl
mov qword [rbp - 0x28], rax
jne 0x14007081a
jmp 0x14007091d
mov ecx, dword [0x1401cb558]
mov eax, 0xc8e261bc
xor eax, 0x5783ca0d
xor ecx, eax
mov edx, dword [0x1401cb55c]
xor edx, 0xf50e5963
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x98840997
xor ecx, 0x5de64bdb
add eax, ecx
mov ecx, 0x497901f5
xor ecx, 0xb686fe0a
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xc8307e30
mov ecx, 0xdf854b63
xor ecx, 0xc1c011
mov r8d, 0xb242189e
xor r8d, 0x4dbde761
xor ecx, r8d
or eax, edx
or ecx, 0xdf448b72
xor eax, 0xffffffff
and eax, ecx
or eax, 0xf9ee6cab
cmp eax, 0x707a9182
jbe 0x140070a67
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401cb560]
xor eax, 0xed7ad810
xor edx, edx
div dword [0x1401cb564]
sub eax, 0x74b06618
and eax, 0x611426c8
xor eax, 0xe182c324
mov dword [rbp - 0x60], eax
sub rsp, 0x20
call fcn.1400ce7a6
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov dl, byte [rdx]
mov byte [rbp - 0x59], dl
cmp dl, 0
sete dl
and dl, 1
movzx edx, dl
add rcx, rdx
mov qword [rbp - 0x58], rcx
cmp eax, 0xbc22bfae
je 0x1400708a6
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x59]
mov byte [rbp - 0x29], cl
mov qword [rbp - 0x28], rax
jmp 0x14007091d
mov al, byte [rbp - 0x29]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
mov ecx, dword [0x1401cb568]
sub ecx, dword [0x1401cb56c]
mov eax, ecx
xor eax, 0x7a99ab7
xor eax, 0xffffffff
or ecx, 0x7a99ab7
and ecx, eax
sub ecx, 0xe7aef42c
mov eax, ecx
and eax, 0xcaa317c
xor eax, 0xffffffff
and ecx, 0xcaa317c
xor ecx, 0xffffffff
mov edx, 0xc2f60ab9
xor edx, 0x3d09f546
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x6ecbdab5
ja 0x140070a70
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x1401cb570]
xor eax, 0x25b3b11a
mov r8d, dword [0x1401cb574]
xor r8d, 0x9d7644c1
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, r8d
add eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x27d91dfd
add eax, edx
imul eax, eax, 0x28fd78b7
mov r8d, 0x15842c2c
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x30]
mov dword [rbp - 0x78], edx
mov edx, 0xcfbfe200
mov byte [rdx - 0x30401e00], bh
xor edx, 0x49721ff8
mov dword [rbp - 0x7c], edx
mov byte [rcx], 0
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400ce640
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jae 0x14007097f
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140070a1e
jmp 0x140070a34
mov al, byte [rbp - 0x61]
mov rdx, qword [rbp + 0x40]
mov cl, 0xbb
xor cl, 0xbb
mov byte [rdx], al
cmp al, cl
je 0x140070a39
jmp 0x140070a46
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x10], rax
jmp 0x1400704a3
lea rsp, [rbp + 0x60]
pop rbp
ret
in al, 0x9d
jrcxz 0x1400709d1
jmp 0x1400702f9
mul dword [rbx + 0x7b]
test al, 0xe9
invalid
sub dh, bh
movabs byte [0x349bfffffca9e9cc], al
rcl dword [rsi], 0xe9
invalid
wait
xor al, 0xc1
invalid
cmpsd dword [rsi], dword [rdi]
fdiv st(2), st(0)
push rsp
jmp 0x14007097f
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.14006611a
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140070140