Function at 0x140070a70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rcx
call fcn.14006b577
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
call fcn.14003769c
mov rcx, qword [rsp + 0x58]
mov byte [rsp + 0x63], al
xor eax, eax
cmp byte [rcx], 0
mov dword [rsp + 0x64], eax
jne 0x140070f19
mov r11d, dword [0x140203678]
sub r11d, dword [0x14020367c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x1677785f
mov edx, 0xba198335
xor edx, 0x693548f
mov eax, 0x50e7204d
xor eax, 0xaf18dfb2
xor edx, eax
mov eax, ecx
and eax, 0xbc8ad7ba
and r11d, edx
mov r9d, r8d
and r9d, 0xbc8ad7ba
mov r10d, edx
and r10d, 0x1677785f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xac04dfe
xor r8d, 0xf53fb201
xor ecx, r8d
or edx, 0xbc8ad7ba
and ecx, edx
or eax, ecx
xor eax, 0x129ea7b5
add eax, 0x6e3c2c2a
mov ecx, 0x1320d861
xor ecx, 0x226d0e6f
sub eax, ecx
sub eax, 0x6e3c2c2a
cmp eax, 0x722dd467
jae 0x140070f22
mov r8b, byte [rsp + 0x63]
mov eax, dword [0x140203680]
mov ecx, dword [0x140203684]
xor ecx, 0x7e72c52
xor edx, edx
div ecx
mov ecx, 0x1fdfbe76
xor edx, edx
div ecx
or eax, 0xd5f0e72e
xor eax, 0xbdb04e9f
mov r9b, 0xee
xor r9b, 0xe
cmp r8b, r9b
setb cl
mov byte [rsp + 0x47], cl
movsx ecx, r8b
mov dword [rsp + 0x48], ecx
xor edx, edx
cmp r8b, r9b
cmovb ecx, edx
mov dword [rsp + 0x4c], ecx
cmp eax, 0xdbe7c1ce
ja 0x140070b48
mov eax, dword [rsp + 0x48]
mov cl, byte [rsp + 0x47]
test cl, 1
mov dword [rsp + 0x64], eax
jne 0x140070bc0
jmp 0x140070f19
mov eax, dword [0x140203688]
xor eax, 0x1b79b720
mov ecx, dword [0x14020368c]
mov edx, 0x24b8f645
xor edx, 0x7de1ab73
xor ecx, edx
or eax, ecx
imul r11d, eax, 0xbdf14b15
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x362addf8
mov edx, 0xffffffff
xor edx, 0x1afefa3c
mov eax, ecx
and eax, 0x1afefa3c
and r11d, edx
mov r9d, r8d
and r9d, 0x1afefa3c
mov r10d, edx
and r10d, 0x362addf8
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x1afefa3c
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, 0x7696b7f6
add eax, ecx
mov ecx, 0x5222d4f7
xor ecx, 0x8862262c
cmp eax, ecx
jae 0x140070f2b
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x48]
mov r8b, byte [rsp + 0x63]
mov eax, dword [0x140203690]
mov r10d, dword [0x140203694]
xor r10d, 0x87f0973b
mov r9d, eax
xor r9d, r10d
xor r9d, 0xffffffff
or eax, r10d
and eax, r9d
mov r9d, eax
xor r9d, 0x115d48fd
mov r10d, 0xffffffff
xor r10d, 0x115d48fd
and eax, r10d
shl eax, 1
sub eax, r9d
and eax, 0x9222c7a2
mov r9d, 0xa91fe528
xor r9d, 0xeb796670
sub eax, r9d
mov r9d, 0xfec66e8
xor r9d, 0x7fc86e0f
sub eax, r9d
mov r9d, 0xb1603cc7
xor r9d, 0xf306bf9f
add eax, r9d
mov r9b, 0x36
xor r9b, 0x36
cmp r8b, r9b
setl r10b
mov byte [rsp + 0x3f], r10b
cmp r8b, r9b
cmovl ecx, edx
mov dword [rsp + 0x40], ecx
cmp eax, 0xd1e0f930
ja 0x140070f2b
mov eax, dword [rsp + 0x48]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov dword [rsp + 0x64], eax
jne 0x140070d21
jmp 0x140070f19
mov eax, dword [0x140203698]
xor edx, edx
div dword [0x14020369c]
mov ecx, 0x9806d6c2
xor edx, edx
div ecx
mov ecx, 0x45a1229
xor edx, edx
div ecx
imul eax, eax, 0x1e8be9f8
cmp eax, 0x309c88de
ja 0x140070f34
mov eax, dword [0x1402036a0]
xor eax, 0x8f2e2c28
mov ecx, dword [0x1402036a4]
mov edx, 0x946e3f75
xor edx, 0x41f3598f
xor ecx, edx
and eax, ecx
add eax, 0x31833b55
add eax, 0x6c04aaf5
or eax, 0x2db0400c
cmp eax, 0xc40fbdcc
ja 0x140070d52
mov al, byte [rsp + 0x63]
add al, 0x34
movzx ecx, al
mov qword [rsp + 0x30], rcx
sub al, 6
ja case.0x140070db5.3
mov rax, qword [rsp + 0x30]
lea rcx, [0x140070f40]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0x50]
call fcn.14003769c
mov rdx, qword [rsp + 0x58]
mov cl, al
mov eax, dword [rsp + 0x40]
mov dl, byte [rdx]
movsx ecx, cl
cmp dl, 0
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
mov rcx, qword [rsp + 0x50]
call fcn.14006dc30
mov rdx, qword [rsp + 0x58]
mov cx, ax
mov eax, dword [rsp + 0x40]
mov dl, byte [rdx]
movsx ecx, cx
cmp dl, 0
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
mov rcx, qword [rsp + 0x50]
call fcn.14006dd80
mov rdx, qword [rsp + 0x58]
mov ecx, eax
mov eax, dword [rsp + 0x40]
cmp byte [rdx], 0
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
mov rcx, qword [rsp + 0x50]
call fcn.14003769c
mov rdx, qword [rsp + 0x58]
mov cl, al
mov eax, dword [rsp + 0x40]
mov dl, byte [rdx]
movzx ecx, cl
cmp dl, 0
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
mov rcx, qword [rsp + 0x50]
call fcn.14006dc30
mov rdx, qword [rsp + 0x58]
mov cx, ax
mov eax, dword [rsp + 0x40]
mov dl, byte [rdx]
xor r8d, r8d
xor r8b, 0
movzx ecx, cx
cmp dl, r8b
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
mov rcx, qword [rsp + 0x50]
call fcn.14006dd80
mov rdx, qword [rsp + 0x58]
mov ecx, eax
mov eax, dword [rsp + 0x40]
cmp byte [rdx], 0
cmove eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x140070f19
lea rcx, [0x140215088]
call fcn.14006e4c2
mov rcx, qword [rsp + 0x58]
mov rdx, rax
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x28], rdx
cmp byte [rcx], 0
mov dword [rsp + 0x64], eax
jne 0x140070f19
mov rcx, qword [rsp + 0x28]
movabs rax, 0x95a9c92b31c5386f
movabs rdx, 0x6a5636d4a1bbe759
xor rax, rdx
lea rdx, [0x140214fd5]
lea r8, [0x14021502e]
lea r9, [0x140214fc5]
mov qword [rsp + 0x20], rax
call fcn.1400139e0
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add rsp, 0x68
ret
adc eax, 0xe98fc66b
sbb eax, 0xf3fffffc
xor al, 0xe9
xor al, 0xe9
and eax, 0x3cfffffd
xor bl, 0xc4
jmp 0x140070d52
cmp al, 0x80
invalid