Function at 0x140084940
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.1400741ed
mov rdx, qword [rsp + 0x30]
cmp rdx, 0
jne 0x140084916
mov r11d, dword [0x14021a3c8]
mov r10d, dword [0x14021a3cc]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0xcf0ed6fb
xor eax, 0x30f12904
mov r8d, r10d
xor r8d, eax
mov edx, 0x53563b9b
xor edx, 0x6175962e
mov eax, 0x40786a3c
xor eax, 0xbf8795c3
xor edx, eax
mov eax, ecx
and eax, 0x3223adb5
and r11d, edx
mov r9d, r8d
and r9d, 0x3223adb5
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x3223adb5
and ecx, edx
or eax, ecx
and eax, 0x59e0caa4
mov ecx, 0x406a1da9
xor ecx, 0x22da5328
and eax, ecx
mov ecx, 0xe38e00e0
xor ecx, 0x235812d3
xor edx, edx
div ecx
mov ecx, 0xd40d1941
xor ecx, 0x7b26fe1
cmp eax, ecx
je 0x14008492b
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x14021a3d0]
mov r8d, dword [0x14021a3d4]
xor edx, edx
sub edx, r8d
sub eax, edx
sub eax, 0xc5fdd7c0
sub eax, 0x79432df6
add eax, 0xc5fdd7c0
mov r8d, 0xe2fd7978
xor edx, edx
div r8d
sub eax, 0xaafefd73
mov dword [rsp + 0x24], eax
call fcn.14007449b
mov eax, dword [rsp + 0x24]
cmp eax, 0x2b056d30
jb 0x14008492b
jmp 0x140084925
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call fcn.1400841f0
nop
add rsp, 0x38
ret
movabs byte [0xffffff8de9d79763], al
nop word cs:[rax + rax]
sub rsp, 0x78
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov eax, dword [0x14021a3d8]
xor eax, 0x5a1fc221
mov edx, dword [0x14021a3dc]
xor edx, 0x29303f07
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
or eax, 0xe2be2dae
sub eax, 0x38750df1
mov edx, 0xc8b8cef1
xor edx, 0x2ff19c77
mov ecx, 0x77ec3284
xor ecx, 0x8813cd7b
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xe7495286
add eax, edx
sub eax, ecx
cmp eax, 0x34dbe84b
je 0x140084cf6
mov eax, dword [0x14021a3e0]
xor eax, 0xbdacbfef
sub eax, dword [0x14021a3e4]
imul eax, eax, 0x6469367a
mov ecx, 0xce74f365
xor edx, edx
div ecx
sub eax, 0xbda486e8
mov dword [rsp + 0x60], eax
mov eax, 0xd857a0f4
xor eax, 0x9ca42837
mov dword [rsp + 0x5c], eax
call fcn.1400741ed
mov rcx, qword [rsp + 0x70]
mov rdx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rax]
call fcn.140074650
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x60]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x67], dl
cmp eax, ecx
jae 0x1400849ae
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140084a34
jmp 0x140084cf1
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
movabs rcx, 0x359941cd22a5b83
mov rax, rdx
sub rax, rcx
movabs rcx, 0x573cffa9697593d2
movabs r8, 0xa8c30056968a6c2d
xor rcx, r8
add rax, rcx
movabs rcx, 0x359941cd22a5b83
add rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xa792767cd21f8a7d
movabs r8, 0xa792767cd21f8a7d
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, 1
xor al, 0
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140084ad0
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x140084ada
call fcn.140008bc6
jmp 0x140084cf1
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jg 0x140084cf1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rax, rcx
jl 0x140084b74
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
movabs rax, 0xe8a8cf40ce93a701
movabs r8, 0xe8a8cf40ce93a701
xor rax, r8
sub rax, rdx
movabs rdx, 0xab2098c1f0b8183c
movabs r8, 0xab2098c1f0b8183c
xor rdx, r8
movabs r8, 0x40470380806a3ce9
movabs r9, 0xbfb8fc7f7f95c316
xor r8, r9
sub rdx, r8
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.1400153d3
jmp 0x140084cf1
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rax + rdx*8 + 8]
call fcn.140084800
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x40
xor cl, 0x40
cmp al, cl
jne 0x140084cf1
mov eax, dword [0x14021a3e8]
mov r8d, dword [0x14021a3ec]
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x572edf75
xor edx, 0xa8d1208a
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x192129a9
xor edx, 0xe6ded656
xor eax, edx
and eax, 0xb31becda
xor eax, 0xffffffff
mov edx, 0x92990a1e
xor edx, 0x2182e6c4
mov r8d, 0x7632865f
xor r8d, 0x89cd79a0
xor edx, r8d
mov r8d, 0xc16a08a1
xor r8d, 0x7271e47b
mov r9d, 0xdea0d161
xor r9d, 0x215f2e9e
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x4fc136e2
xor edx, 0xb03ec91d
xor ecx, edx
or eax, ecx
or eax, 0x8e0dc016
xor eax, 0x85c202bb
cmp eax, 0xeb79e856
je 0x140084cff
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x14021a3f0]
xor eax, 0xb5026dc1
mov edx, dword [0x14021a3f4]
mov r8d, 0x4c806dff
xor r8d, 0xfe103e4c
xor edx, r8d
xor eax, edx
sub eax, 0xf53dbbea
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0xb56348b7
add edx, eax
xor eax, eax
sub eax, edx
mov edx, 0xe2a1f31c
xor edx, 0x871e40
sub eax, edx
movabs rdx, 0x3d25686edc0309ef
movabs r8, 0x3d25686edc0309ee
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x20], rcx
cmp eax, 0x79f70575
ja 0x140084c6d
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
jmp 0x140084ada
add rsp, 0x78
ret
movabs al, byte [0xfffffcafe97f1c2f]
fisttp dword [rbx - 0x27]
sbb eax, 0xffff65e9
call qword [rbp + 0x48]
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x30], rcx
push 0x10
pop rax
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
sub rsp, 0x20
call fcn.1400741ed
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov edx, 3
sub rsp, 0x20
call fcn.140074650
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140084df9
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140075659
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140084df9
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x10]
mov qword [rbp - 0x10], rdx
mov rax, qword [rax + 0x18]
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140075659
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xde
xor cl, 0xde
cmp al, cl
jne 0x140084df9
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax + 0x20]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call 0x140084940
add rsp, 0x20
mov rsp, rbp
pop rbp
ret