Function at 0x140077950
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rcx
mov eax, dword [0x1401f4d18]
mov ecx, dword [0x1401f4d1c]
xor ecx, 0x3e6cdf8c
sub eax, 0xabbcdee1
sub eax, ecx
add eax, 0xabbcdee1
mov ecx, 0xaaa1c259
xor ecx, 0xde073b95
xor edx, edx
div ecx
mov ecx, 0xcc1656a4
xor ecx, 0x440848dc
xor eax, ecx
imul eax, eax, 0x6f0e0aef
cmp eax, 0x3f97f082
jb 0x140077e75
mov eax, dword [0x1401f4d20]
mov edx, dword [str.X_R0__]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0xf307750
xor ecx, 0x2c730c62
add eax, ecx
or eax, 0x60b0386c
mov ecx, 0xf62ae87c
xor ecx, 0x8d2b5ae
xor eax, ecx
mov dword [rsp + 0x68], eax
mov eax, 0x1e97c95
xor eax, 0x94e8b25
mov dword [rsp + 0x64], eax
call fcn.140071710
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
call fcn.14003b054
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x64]
mov r8b, al
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x6e], r8b
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
jbe 0x140077e75
mov cl, byte [rsp + 0x6f]
xor eax, eax
test cl, 1
mov dword [rsp + 0x54], eax
jne 0x140077a3a
jmp 0x140077dac
mov dl, byte [rsp + 0x6e]
cmp dl, 0xe0
setb cl
movsx eax, dl
mov dword [rsp + 0x4c], eax
mov r8d, 0xc2d20285
xor r8d, 0xc2d20285
cmp dl, 0xe0
mov edx, eax
cmovb edx, r8d
mov dword [rsp + 0x50], edx
test cl, 1
mov dword [rsp + 0x54], eax
jne 0x140077a77
jmp 0x140077dac
mov eax, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x50]
mov dl, byte [rsp + 0x6e]
cmp dl, 0
setl cl
cmp dl, 0
mov edx, eax
cmovl edx, r8d
mov dword [rsp + 0x48], edx
test cl, 1
mov dword [rsp + 0x54], eax
jne 0x140077aa9
jmp 0x140077dac
mov eax, dword [0x1401f4d28]
xor edx, edx
div dword [0x1401f4d2c]
mov ecx, 0xeba4fb7b
xor edx, edx
div ecx
mov ecx, 0x4fc810fb
xor ecx, 0xc7d7c73c
xor eax, ecx
add eax, 0xd8af1b29
mov ecx, 0x257d287c
xor ecx, 0xa26aabe0
cmp eax, ecx
ja 0x140077e7e
mov eax, dword [0x1401f4d30]
xor eax, dword [0x1401f4d34]
mov ecx, 0x272cb44c
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xef2806af
mov edx, 0x598d8447
xor edx, 0xb6a582e8
or ecx, edx
add eax, ecx
mov ecx, 0xb7ad78e
xor ecx, 0x1b7f35e7
xor eax, ecx
cmp eax, 0xd928251a
jbe 0x140077ae5
mov al, byte [rsp + 0x6e]
add al, 0x34
movzx ecx, al
mov qword [rsp + 0x40], rcx
sub al, 6
ja case.0x140077b53.3
mov rax, qword [rsp + 0x40]
lea rcx, [0x140077e9c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0x70]
call fcn.14003b054
mov rdx, qword [rsp + 0x58]
mov cl, al
mov eax, dword [rsp + 0x48]
mov dl, byte [rdx]
movsx ecx, cl
cmp dl, 0
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov rcx, qword [rsp + 0x70]
call fcn.140074132
mov rdx, qword [rsp + 0x58]
mov cx, ax
mov eax, dword [rsp + 0x48]
mov dl, byte [rdx]
mov r8b, 0xe4
xor r8b, 0xe4
movsx ecx, cx
cmp dl, r8b
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov rcx, qword [rsp + 0x70]
call fcn.1400741d0
mov rdx, qword [rsp + 0x58]
mov ecx, eax
mov eax, dword [rsp + 0x48]
cmp byte [rdx], 0
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov rcx, qword [rsp + 0x70]
call fcn.14003b054
mov rdx, qword [rsp + 0x58]
mov cl, al
mov eax, dword [rsp + 0x48]
mov dl, byte [rdx]
movzx ecx, cl
cmp dl, 0
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov rcx, qword [rsp + 0x70]
call fcn.140074132
mov rdx, qword [rsp + 0x58]
mov cx, ax
mov eax, dword [rsp + 0x48]
mov dl, byte [rdx]
mov r8b, 0xd0
xor r8b, 0xd0
movzx ecx, cx
cmp dl, r8b
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov rcx, qword [rsp + 0x70]
call fcn.1400741d0
mov rdx, qword [rsp + 0x58]
mov ecx, eax
mov eax, dword [rsp + 0x48]
mov dl, byte [rdx]
mov r8b, 0xf6
xor r8b, 0xf6
cmp dl, r8b
cmove eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x140077dac
mov eax, dword [0x1401f4d38]
or eax, dword [0x1401f4d3c]
mov ecx, 0x4421cae9
xor edx, edx
div ecx
mov ecx, 0x3bc24ca0
xor ecx, 0x70dc179e
and eax, ecx
mov ecx, 0x3c17cb2e
xor ecx, 0x96aad359
sub eax, ecx
cmp eax, 0xb0b16966
jae 0x140077e87
mov eax, dword [0x1401f4d40]
mov edx, dword [0x1401f4d44]
mov r8d, 0x261de1f1
xor r8d, 0xd9e21e0e
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x55548d90
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x55548d90
or eax, 0x55548d90
imul eax, edx
add eax, ecx
or eax, 0x383424fa
mov r8d, 0xe7936ac4
xor r8d, 0x742915a9
mov ecx, 0x9ccae80b
xor ecx, 0x633517f4
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x93ba7f6d
or eax, 0x93ba7f6d
imul eax, edx
add eax, ecx
mov dword [rsp + 0x2c], eax
lea rcx, [0x1402066b8]
call fcn.140074dba
mov rcx, qword [rsp + 0x58]
mov rdx, rax
mov eax, dword [rsp + 0x2c]
mov qword [rsp + 0x30], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xa41bef5
jb 0x140077c94
mov eax, dword [rsp + 0x50]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov dword [rsp + 0x54], eax
jne 0x140077d7c
jmp 0x140077dac
mov rcx, qword [rsp + 0x30]
lea rdx, [0x140206605]
lea r8, [0x14020665e]
lea r9, [0x1402065f5]
mov qword [rsp + 0x20], 0xffffffff876caf7b
call fcn.140016090
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
mov eax, dword [0x1401f4d48]
sub eax, dword [0x1401f4d4c]
mov ecx, 0xa0c59116
xor ecx, 0x8709419b
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd917b870
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x20a2126f
xor r8d, 0xf9b5aa1f
mov edx, eax
and edx, r8d
mov r8d, 0x3ae01a0a
xor r8d, 0xe3f7a27a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x598ff5a0
xor edx, edx
div ecx
cmp eax, 0x8e4b2ecf
ja 0x140077e90
mov eax, dword [0x1401f4d50]
xor edx, edx
div dword [0x1401f4d54]
mov ecx, eax
and ecx, 0x5ade0526
shl ecx, 1
xor eax, 0x5ade0526
add eax, ecx
sub eax, 0xb4b8e9ad
add eax, 0xf4899eec
add eax, 0xb4b8e9ad
add eax, 0x3d455cc5
mov ecx, 0xc86a037c
xor ecx, 0x21c74efc
cmp eax, ecx
je 0x140077e90
mov eax, dword [rsp + 0x28]
add rsp, 0x78
ret
scasd eax, dword [rdi]
cmp ebx, dword [rbx - 0x4d916e7]
invalid
sahf
jmp 0x140077ae5
stosb byte [rdi], al
fnsave dword fs:[rcx - 0x1fb17]
call qword [rax - 0x68]
push rax
cwde
or dword [rcx - 0x7317], 0xffffffff
nop dword [rax]
invalid