Function at 0x140084170
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xc0
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rcx
mov rax, qword [r8]
mov qword [rsp + 0xb0], rax
mov r9, qword [rdx]
mov r8, qword [r8 + 8]
xor eax, eax
sub rax, r8
mov rcx, r9
add rcx, rax
mov qword [rsp + 0xb8], rcx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, r9
and rax, rdx
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
or rax, rdx
cmp rax, 0
setl al
mov r9, rcx
xor r9, r8
movabs rdx, 0xc6f418aa3e6f28ee
movabs r10, 0x390be755c190d711
xor rdx, r10
xor r9, rdx
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14008421e
jmp 0x140084321
mov ecx, dword [0x1401d8d18]
mov edx, dword [0x1401d8d1c]
xor edx, 0x1ff5a3e1
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x5ec14b6a
xor ecx, 0xa13eb495
xor eax, ecx
mov ecx, 0xfdfee144
xor ecx, 0x6fdea8ff
xor edx, edx
div ecx
mov ecx, 0xa5bebec4
xor ecx, 0x7f41410f
xor edx, edx
div ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xb2bb58be
mov edx, 0xa5077f61
xor edx, 0x509e6291
mov r8d, 0xcccd5b12
xor r8d, 0x3332a4ed
xor edx, r8d
or eax, ecx
mov ecx, 0xb0a6e3c2
xor ecx, 0x453ffe32
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xa9a322b9
xor ecx, 0xb8aaf9d7
cmp eax, ecx
ja 0x1400849b1
mov ecx, dword [0x1401d8d20]
mov edx, dword [0x1401d8d24]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
sub eax, 0xa609d6fe
mov ecx, eax
and ecx, 0x23690472
shl ecx, 1
xor eax, 0x23690472
add eax, ecx
xor eax, 0xc6f5a3c6
mov dword [rsp + 0x94], eax
mov eax, 0x5b68dcf8
xor eax, 0x2d805843
mov dword [rsp + 0x90], eax
call fcn.1400077a3
mov ecx, dword [rsp + 0x90]
mov eax, dword [rsp + 0x94]
cmp eax, ecx
jbe 0x1400842b9
jmp 0x14008499e
mov eax, dword [0x1401d8d28]
mov ecx, dword [0x1401d8d2c]
mov edx, 0x1c8951f8
xor edx, 0x5d80a23d
add eax, edx
add eax, ecx
sub eax, 0x4109f3c5
imul eax, eax, 0xed6e68f7
mov ecx, 0x65a4304e
xor ecx, 0x85c1451d
sub eax, ecx
sub eax, 0xcd100665
add eax, 0xe0657553
and eax, 0xd31b767f
mov ecx, 0x2e246565
xor ecx, 0xef39c26c
cmp eax, ecx
je 0x1400849ba
mov r9, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xb8]
mov r8d, dword [0x1401d8d30]
mov ecx, dword [0x1401d8d34]
mov eax, r8d
xor eax, 0xffffffff
and eax, ecx
xor ecx, 0xffffffff
and r8d, ecx
sub r8d, eax
xor r8d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xaf3fb2e1
mov eax, 0xffffffff
xor eax, 0x5cc99deb
or r8d, ecx
or eax, 0x5cc99deb
xor r8d, 0xffffffff
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x70f42167
mov edx, 0xdfa4e83f
xor edx, 0xaf50c958
mov ecx, 0x482b7a7f
xor ecx, 0xb7d48580
xor edx, ecx
and r8d, edx
mov ecx, 0xdef8bc48
xor ecx, 0xf7e39370
mov r11d, 0x27f8e749
xor r11d, 0xd80718b6
xor ecx, r11d
and ecx, 0x70f42167
and edx, 0x291b2f38
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0xadfe65bd
xor ecx, ecx
sub rcx, r9
mov rdx, r10
add rdx, rcx
mov qword [rsp + 0x80], rdx
movabs r8, 0x8b4317e2fed55a
movabs rcx, 0xff74bce81d012aa5
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0x27f43e438f55083d
and rcx, r8
movabs rsi, 0x63fd04f8f6f762e2
movabs r8, 0x44093abb79a26adf
xor rsi, r8
movabs r8, 0x6efc9729ed4d430
movabs r11, 0xf910368d612b2bcf
xor r8, r11
xor rsi, r8
mov r11, rdx
and r11, rsi
mov r8, r10
xor r8, 0xffffffffffffffff
movabs rdi, 0xa0fde187d3c8f429
movabs rbx, 0x8709dfc45c9dfc14
xor rdi, rbx
and r8, rdi
and r10, rsi
or rcx, r11
or r8, r10
xor rcx, r8
cmp rcx, 0
setl cl
mov r10, rdx
xor r10, r9
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
shl r8, 1
sub r8, r9
sub rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rsp + 0x8f], cl
cmp eax, 0x795aa492
jae 0x1400849ba
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x140084516
jmp 0x140084520
call fcn.1400077a3
jmp 0x14008499e
mov rdx, qword [rsp + 0x80]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x78], rax
mov rcx, rdx
and rcx, rcx
movabs r8, 0x187153c966912547
movabs r9, 0xe78eac36996edab8
xor r8, r9
xor rcx, r8
and rcx, 0xffffffffffffffff
movabs r8, 0x590ae388341f1f25
movabs r9, 0xa6f51c77cbe0e0da
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs r9, 0xe56d9fbc80a0b82b
movabs r10, 0x1a9260437f5f47d4
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
or rax, rax
movabs rdx, 0xde3fe474a617c516
movabs r8, 0x21c01b8b59e83ae9
xor rdx, r8
xor rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1400845ec
call fcn.1400077a3
jmp 0x14008499e
mov rax, qword [rsp + 0x78]
cmp rax, 0
jge 0x140084618
mov rcx, qword [rsp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d167
jmp 0x14008499e
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x78]
call fcn.140019790
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov r8, rax
and r8, 0xffffffffffffffff
movabs r9, 0xb52ed8f00a08c5d0
movabs r10, 0xb52ed8f00a08c5d2
xor r9, r10
imul r9, r8
mov r8, rax
add r8, 0xffffffffffffffff
sub r8, r9
mov qword [rsp + 0x50], r8
add rdx, 8
mov qword [rsp + 0x58], rdx
add rcx, 8
mov qword [rsp + 0x60], rcx
movabs rcx, 0xd17cab2c9b1ddbab
movabs rdx, 0x2e8354d364e22454
xor rcx, rdx
cmp rax, rcx
setg al
mov byte [rsp + 0x6f], al
xor eax, eax
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
cmp rax, rcx
je 0x14008499e
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x1400847f0
mov eax, dword [0x1401d8d38]
xor eax, 0xbce59b1a
xor edx, edx
div dword [0x1401d8d3c]
mov ecx, 0x117efa80
xor ecx, 0x3ead29ea
imul eax, ecx
or eax, 0xb95a3ede
mov ecx, 0xf7750e7c
xor ecx, 0x37dac4ac
add eax, ecx
cmp eax, 0x3a42ed37
jb 0x1400849c3
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401d8d40]
mov r8d, dword [0x1401d8d44]
mov edx, eax
xor edx, 0xffffffff
and edx, r8d
mov r9d, 0x210ada00
xor r9d, 0xdef525ff
xor r8d, r9d
and eax, r8d
sub eax, edx
mov r8d, 0x55de9b9e
xor edx, edx
div r8d
mov r8d, 0x48ff7050
xor r8d, 0x4f645ea4
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x40]
mov r10d, 0x5a1040b8
xor r10d, 0x4bf201c7
mov r8d, 0xef3850c4
xor r8d, 0x10c7af3b
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x11e2417f
or eax, 0x11e2417f
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x3c], eax
movabs rax, 0xde0e70c3a49a52ba
movabs r8, 0x21f18f3c5b65ad45
xor rax, r8
add rdx, rax
call fcn.140013580
mov eax, dword [rsp + 0x3c]
cmp eax, 0x6e3887a8
jae 0x140084721
jmp 0x14008499e
mov rcx, qword [rsp + 0xa0]
call fcn.1400849e0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x50]
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14008483b
call fcn.1400077a3
jmp 0x14008499e
mov ecx, dword [0x1401d8d48]
mov edx, dword [0x1401d8d4c]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xa23997a7
xor edx, 0x5dc66858
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0xbfe7d2f5
mov r8d, 0xffffffff
xor r8d, 0x91c4e8ac
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x91c4e8ac
or eax, 0x91c4e8ac
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xee6c392d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xee6c392d
or eax, 0xee6c392d
imul eax, edx
add eax, ecx
mov ecx, 0x6ba5d9a4
xor ecx, 0x2a159751
cmp eax, ecx
je 0x1400849cc
mov cl, byte [rsp + 0x6f]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x98]
xor eax, eax
mov r8, qword [r8]
mov qword [rsp + 0x20], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x2f], cl
cmp eax, 0x141ae996
ja 0x1400848de
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140084953
jmp 0x140084921
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
movabs rax, 0xc5376096d2cdf91a
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xc5376096d2cdf91a
sub rdx, rax
call fcn.140013580
jmp 0x14008499e
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
movabs rcx, 0x6f47381048516bb3
sub rax, rcx
add rax, 1
movabs rcx, 0x6f47381048516bb3
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1400846ad
mov rax, qword [rsp + 0xa8]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
ret
in eax, dx
mov dh, 0x92
cmp ecx, ebp
invalid
out dx, al
xchg ecx, eax
invalid
scasb al, byte [rdi]
jmp 0x195f1df2f
adc dword [rcx - 0xa], ebp
xchg esp, eax
jmp 0x1400848de