Function at 0x140022fde
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x140022ba8
mov eax, dword [0x1401f4108]
xor eax, 0x14f94fe9
mov ecx, dword [0x1401f410c]
xor ecx, 0xa06ec8b7
xor edx, edx
div ecx
and eax, 0xf0bf6ec9
or eax, 0x18233823
xor eax, 0x91696cf1
cmp eax, 0x58fc551f
jbe 0x140022fc3
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401f4110]
mov r8d, dword [str._eFW]
mov edx, eax
xor edx, 0xffffffff
mov r10d, 0x8b58f94
xor r10d, 0xf74a706b
mov r9d, r8d
xor r9d, r10d
and edx, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov r8d, 0xb97eb766
xor r8d, 0x46814899
mov eax, edx
xor eax, r8d
and eax, 0x46c5f8ab
mov r8d, 0xffffffff
xor r8d, 0x46c5f8ab
and edx, r8d
or eax, edx
mov r8d, 0x3ce69826
xor r8d, 0x990e2a53
xor edx, edx
div r8d
mov r8d, 0xf54f84c1
xor r8d, 0x561f8995
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x6c], eax
call fcn.140022840
mov eax, dword [rsp + 0x6c]
cmp eax, 0xb93fabe0
je 0x140022fc3
jmp 0x140022fbb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x140022fbb
mov rax, qword [rsp + 0x78]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140022c02
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140022c7b
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x70]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140022c71
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140011d20
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140022c7b
call fcn.140009cc0
jmp 0x140022fbb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1401f4118]
xor ecx, 0x558a3880
mov eax, dword [0x1401f411c]
xor eax, 0xbfffdd70
sub ecx, eax
or ecx, 0xa4e690e1
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xca6f62cf
mov edx, 0x468d0fa2
xor edx, 0x8ce26d6d
mov r8d, 0xa4782374
xor r8d, 0x5b87dc8b
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3db4e268
xor ecx, 0x62a98163
imul eax, ecx
cmp eax, 0x237458d5
jb 0x140022fcc
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x70]
mov eax, dword [0x1401f4120]
xor eax, 0x28d454cf
and eax, dword [0x1401f4124]
mov ecx, 0x5a6e73b1
xor ecx, 0xf8df4c86
mov r9d, 0x606fa7b0
xor r9d, 0x9f90584f
xor ecx, r9d
add eax, ecx
add eax, 1
mov ecx, 0x339d2c76
xor ecx, 0xf8f8a44f
sub eax, ecx
or eax, 0xac0b8067
mov ecx, 0x6bd911bb
xor ecx, 0x88f86b90
cmp rdx, r8
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
je 0x140022d11
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140022d8c
jmp 0x140022fbb
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
mov edx, 0x20
call fcn.14000a082
mov rcx, qword [rsp + 0x40]
movabs rdx, 0x586be18d831b2998
movabs rax, 0x586be18d831b2998
xor rdx, rax
movabs rax, 0x74b5309f3eafc9c9
movabs r8, 0x74b5309f3eafc9c8
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
or r8, rdx
movabs rdx, 0x990a5420c12b0fd7
movabs r9, 0x66f5abdf3ed4f028
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rdx, 0x5886f626d8f91f78
movabs r9, 0xa77909d92706e087
xor rdx, r9
xor rcx, rdx
or r8, rcx
mov rdx, rax
xor rdx, r8
movabs rcx, 0x6bb1d29d99867bb4
movabs r9, 0x944e2d626679844b
xor rcx, r9
xor rdx, rcx
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x48], rax
jge 0x140022c95
mov ecx, dword [0x1401f4128]
mov eax, 0x662e35bc
xor eax, 0x1efaa787
xor ecx, eax
imul ecx, dword [0x1401f412c]
mov eax, ecx
xor eax, 0x11c3b8a4
mov edx, 0x4aff1698
xor edx, 0x5b3cae3c
mov r8d, 0x4cea1971
xor r8d, 0xb315e68e
xor edx, r8d
and ecx, edx
mov r11d, 0xb2d1b924
xor r11d, 0xb2d1b926
imul r11d, ecx
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6befa7d2
mov edx, 0xffffffff
xor edx, 0xadc9ffd0
mov eax, ecx
and eax, 0xadc9ffd0
and r11d, edx
mov r10d, 0x8927faf0
xor r10d, 0x24ee0520
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x6befa7d2
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xadc9ffd0
and ecx, edx
or eax, ecx
mov ecx, 0x5223693f
xor ecx, 0x6ff0a411
imul eax, ecx
cmp eax, 0x7b949e23
jb 0x140022fd5
mov eax, dword [0x1401f4130]
sub eax, dword [0x1401f4134]
mov ecx, 0x91f0ff85
xor ecx, 0xa7253a94
add eax, ecx
sub eax, 0x58e2a671
add eax, 0x6b5e1546
mov ecx, 0x52bcac69
xor ecx, 0xa5e0a18
add eax, ecx
and eax, 0x9268eaed
mov dword [rsp + 0x38], eax
mov eax, 0xade324ed
xor eax, 0x7d6336f
mov dword [rsp + 0x34], eax
call fcn.140009cc0
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
cmp eax, ecx
je 0x140022f5a
jmp 0x140022fbb
add rsp, 0x88
ret
cld
mov edi, 0x2ee924b7
sti
invalid
jbe 0x140023012
shr dword [rax - 0x2c317], cl
call [rdx]
xchg ecx, eax
and esp, dword [rdx - 0x8317]
dec dword [rax - 0x7d]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
sbb dl, byte [rcx + 0x7ce9a223]
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140022840
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140022aa0
in al, dx
push 0x244c8948
invalid