Function at 0x140016780
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rcx, qword [rcx]
movabs rdx, 0xef32d62ab407bd03
mov rax, rcx
add rax, rdx
add rax, 0xffffffffffffffff
movabs rdx, 0xef32d62ab407bd03
sub rax, rdx
mov qword [rsp + 0x60], rax
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
xor al, 0xff
and cl, dl
xor edx, edx
xor dl, 1
xor cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14001692d
mov r8d, dword [0x1401f1cb8]
xor r8d, dword [0x1401f1cbc]
mov edx, 0xffffffff
xor edx, 0x23dcc1f
mov ecx, r8d
and ecx, edx
mov eax, r8d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r8d
and ecx, 0x23dcc1f
or r8d, 0x23dcc1f
imul r8d, ecx
add r8d, eax
mov eax, 0x4e1b12bf
xor eax, 0x69f8d8ec
imul r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x47cb20e3
xor eax, 0x3132a70b
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x76f987e8
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6df2269f
and ecx, 0x76f987e8
and edx, 0x6df2269f
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xe02e0cd3
jae 0x140016e80
mov eax, dword [0x1401f1cc0]
mov ecx, dword [0x1401f1cc4]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0xe8269e69
xor ecx, 0xcc92af52
and eax, ecx
mov ecx, 0x69aba6f9
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xb2fd1575
xor r8d, 0xe162c0e3
mov r9d, 0xdab349fe
xor r9d, 0x254cb601
xor r8d, r9d
or eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x539fd596
or ecx, r8d
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x4d071712
xor ecx, 0x1ccc5a76
add rdx, 8
mov qword [rsp + 0x48], rdx
cmp eax, ecx
je 0x140016e80
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x140016ab9
mov r11d, dword [0x1401f1cc8]
xor r11d, 0x2481b49e
or r11d, dword [0x1401f1ccc]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xcf3dbb5c
mov edx, 0xffffffff
xor edx, 0xe4098f26
mov r9d, 0x4157f443
xor r9d, 0xa55e7b65
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0xe4098f26
mov r10d, edx
and r10d, 0xcf3dbb5c
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xe4098f26
and ecx, edx
or eax, ecx
mov edx, 0x1de4a500
xor edx, 0xe21b5aff
mov ecx, eax
xor ecx, edx
mov edx, 0xdea6c01e
xor edx, 0x643d3cf6
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xba9bfce8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xba9bfce8
or eax, 0xba9bfce8
imul eax, edx
add eax, ecx
xor eax, 0xb3d27482
cmp eax, 0x4e3977ef
ja 0x140016e89
mov eax, dword [0x1401f1cd0]
mov edx, dword [0x1401f1cd4]
mov ecx, 0x2d328dc
xor ecx, 0xfd2cd723
mov r8d, eax
xor r8d, ecx
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x5f66c293
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x5f66c293
or ecx, 0x5f66c293
imul ecx, edx
add ecx, eax
mov r8d, 0x6844880f
xor r8d, 0xa16c567c
mov eax, 0x5ac8b2fa
xor eax, 0xa5374d05
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xc928de73
or ecx, 0xc928de73
imul ecx, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x70020dc1
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [rsp + 0x3c], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x3c]
cmp eax, 0x9287a5ac
jae 0x140016e89
jmp 0x140016db4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov eax, dword [0x1401f1cd8]
xor eax, 0xf1b88a2d
mov ecx, dword [0x1401f1cdc]
xor ecx, 0xd391ccb7
sub eax, ecx
imul eax, eax, 0xf4052e23
mov ecx, eax
and ecx, 0x7ad05332
shl ecx, 1
mov edx, 0xa4227faa
xor edx, 0xdef22c98
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0x5dbd4694
xor ecx, 0xffffffff
mov edx, 0x52c4f538
xor edx, 0xf79b3ac
or eax, edx
and eax, ecx
cmp eax, 0xe7f7ac51
jae 0x140016e92
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
mov eax, dword [0x1401f1ce0]
mov r8d, dword [0x1401f1ce4]
mov r9d, 0x276a2cb0
xor r9d, 0xde8bb8fc
xor r8d, r9d
xor eax, r8d
add eax, 0x1025d2b2
add eax, 0xc3019562
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xb13a0518
mov r10d, 0xffffffff
xor r10d, 0xb13a0518
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0xbadc42b8
xor r10d, 0xbe647a0
mov r9d, eax
and r9d, r10d
or eax, 0xb13a0518
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x602ee5e2
jbe 0x140016e92
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140016da7
jmp 0x140016bbf
mov rax, qword [rsp + 0x30]
cmp rax, 0
jl 0x140016be1
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x140016cb0
mov eax, dword [0x1401f1ce8]
mov edx, dword [0x1401f1cec]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
add eax, 0xdfec6e6f
mov edx, 0xbe21f4ae
xor edx, 0xa89ad92e
mov ecx, eax
xor ecx, edx
mov edx, 0x103a6e53
xor edx, 0xefc591ac
xor ecx, edx
or eax, 0x16bb2d80
and eax, ecx
mov ecx, 0xb49df7d
xor ecx, 0xb49df7d
mov edx, 0xa7a8ab6e
xor edx, 0x49158c9c
sub ecx, edx
add eax, ecx
mov ecx, 0x27325a9f
xor ecx, 0x43647b0c
cmp eax, ecx
ja 0x140016e9b
mov ecx, dword [0x1401f1cf0]
mov edx, dword [0x1401f1cf4]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
and eax, 0x356cec85
mov edx, 0x336ce007
xor edx, 0x6000c82
or ecx, edx
add eax, ecx
mov ecx, 0x3921b2b
xor ecx, 0x9c58b2b8
imul eax, ecx
add eax, 0x5951106c
mov dword [rsp + 0x28], eax
mov rcx, rdx
call fcn.140016582
mov eax, dword [rsp + 0x28]
cmp eax, 0x87585c4c
jae 0x140016c4d
jmp 0x140016db4
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x48
add rcx, rax
call fcn.140016566
mov rcx, qword [rsp + 0x30]
mov rax, rcx
and rax, 0xffffffffffffffff
mov rdx, rcx
or rdx, 0xffffffffffffffff
add rax, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x1f11f9a85dff2755
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x1f11f9a85dff2755
xor r11, r8
mov r10, rax
and r10, r11
movabs r9, 0xdf26cb0c1e162a5
movabs r8, 0xf20d934f3e1e9d5a
xor r9, r8
mov r8, rcx
xor r8, r9
movabs r9, 0x1f11f9a85dff2755
and r8, r9
mov r9, rcx
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0
setne dl
mov cl, dl
xor cl, 0xff
xor r9d, r9d
mov r10b, r9b
xor r10b, 1
mov r9b, r8b
xor r9b, r10b
or cl, r9b
xor dl, 0xff
mov r9b, 1
xor r9b, 0
xor r8b, r9b
or dl, r8b
and cl, dl
xor edx, edx
xor dl, 1
xor cl, dl
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x140016d9d
jmp 0x140016ab9
call fcn.1400091c0
jmp 0x140016db4
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov eax, dword [0x1401f1cf8]
mov ecx, dword [0x1401f1cfc]
mov edx, 0x700146f0
xor edx, 0x5d79a087
xor ecx, edx
xor eax, ecx
mov ecx, 0x97db5d4d
xor edx, edx
div ecx
add eax, 0xb64a3e49
mov r8d, 0xffffffff
xor r8d, 0x36211a6f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x34413532
xor r8d, 0xcbbecacd
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x36211a6f
or eax, 0x36211a6f
imul eax, edx
add eax, ecx
cmp eax, 0x9842cd19
ja 0x140016ea4
mov eax, dword [0x1401f1d00]
mov edx, dword [0x1401f1d04]
mov r8d, 0x841ea2f7
xor r8d, 0x7be15d08
loope 0x140016eb8
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
or eax, 0xc0f0545a
mov ecx, eax
and ecx, 0xfaa2ff10
shl ecx, 1
xor eax, 0xfaa2ff10
add eax, ecx
imul eax, eax, 0xb7b02fb
mov ecx, 0xf59729ab
xor ecx, 0x890b0d72
cmp eax, ecx
je 0x140016ea4
add rsp, 0x68
ret
xchg dword [rsi], edi
xchg esp, eax
mov ecx, gs
or edi, edx
invalid
jne 0x140016e3b
jnp 0x140016ea2
jmp 0x1400169f5
mov byte [rdx], 0x16
pop rsi
jmp 0x140016b21
and al, 0x8e
mov dh, 0xad
jmp 0x140016c4d
invalid
int3
insb byte [rdi], dx
and al, 0x60
mov qword [rbp - 8], rdx
mov qword [rbp], rcx
mov ecx, dword [0x1401f1d08]
mov edx, dword [0x1401f1d0c]
xor edx, 0xa6517a0f
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xf3c2dce9
xor ecx, 0x45c9e15e
add eax, ecx
mov ecx, 0xfacc4cc0
xor ecx, 0xc19d8e9b
sub eax, ecx
mov ecx, 0x8120ecf3
xor ecx, 0x7edf130c
mov edx, eax
xor edx, ecx
and edx, 0x4be1ea24
mov r8d, 0xffffffff
xor r8d, 0x4be1ea24
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4be1ea24
or eax, 0x4be1ea24
imul eax, edx
add eax, ecx
cmp eax, 0x72510ae5
jb 0x14001743e
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp]
mov r8d, dword [0x1401f1d10]
mov r9d, dword [0x1401f1d14]
mov eax, r8d
and eax, r9d
or r8d, r9d
add eax, r8d
or eax, 0xa9645031
imul eax, eax, 0xcf50639e
mov r9d, eax
not r9d
and r9d, 0x17eeb1d1
mov r8d, eax
and r8d, 0xe8114e2c
imul r8d, r9d
mov r9d, eax
and r9d, 0x17eeb1d2
or eax, 0x17eeb1d3
imul eax, r9d
add eax, r8d
mov dword [rbp - 0x24], eax
mov eax, 0x50
call fcn.1401f0aa0
sub rsp, rax
mov eax, dword [rbp - 0x24]
mov r8, rsp
mov qword [rbp - 0x20], r8
mov rcx, qword [rcx]
mov qword [rbp - 0x18], rcx
cmp rcx, rdx
setg cl
mov byte [rbp - 9], cl
cmp eax, 0x53060d4c
je 0x140016f49
mov al, byte [rbp - 9]
test al, 1
jne 0x140016fec
jmp 0x140017006
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.140016780
add rsp, 0x20
jmp 0x140017437
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jge 0x140017437
mov rax, qword [rbp]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x140017086
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
movabs r8, 0xbfffffffffffffff
mov rdx, rax
xor rdx, r8
movabs r8, 0x4a88097dd6151bec
movabs r9, 0xb577f68229eae413
xor r8, r9
xor rdx, r8
movabs r8, 0xbfffffffffffffff
or rax, r8
and rax, rdx
cmp rax, rcx
jge 0x140017220
mov r8, qword [rbp - 0x18]
mov r9, qword [rbp - 8]
movabs rcx, 0xebf34a056abb8a41
movabs rax, 0x140cb5fa954475be
xor rcx, rax
mov rax, r8
xor rax, rcx
mov rdx, r9
add rdx, rax
add rdx, 1
mov qword [rbp - 0x40], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs rcx, 0x1e3c8c754b3f4c46
and rax, rcx
mov r11, 0xffffffffffffffff
movabs rcx, 0x1e3c8c754b3f4c46
xor r11, rcx
mov r10, rdx
and r10, r11
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rsi, 0x1e3c8c754b3f4c46
and rcx, rsi
and r9, r11
or rax, r10
or rcx, r9
xor rax, rcx
cmp rax, 0
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0xe63a5e469d5ea160
movabs r9, 0x19c5a1b962a15e9f
xor r10, r9
mov r9, rdx
xor r9, r10
and rcx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
movabs r11, 0xbdf294cc24daffa
movabs r10, 0xf420d6b33db25005
xor r11, r10
mov r10, r8
xor r10, r11
and r9, r10
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x8533cb916f773799
movabs r10, 0x7acc346e9088c866
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x17f10a15967d9461
movabs r8, 0xe80ef5ea69826b9e
xor rdx, r8
cmp rcx, rdx
setg dl
or al, al
mov cl, 1
xor cl, 0
xor al, cl
mov cl, dl
xor cl, 0xff
xor r8d, r8d
xor r8b, 1
xor dl, r8b
and cl, dl
or al, cl
xor ecx, ecx
xor cl, 1
xor al, cl
test al, 1
jne 0x14001720e
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x18]
mov r9d, 0x48
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140014320
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x140017220
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x140017437
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
mov qword [rcx], rdx
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
cmp rax, rcx
jge 0x140017306
mov rcx, qword [rbp - 0x20]
movabs rdx, 0x42959352fc9a6edf
movabs rax, 0x42959352fc9a6e97
xor rdx, rax
sub rsp, 0x20
call fcn.140009850
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x48
add rcx, rax
sub rsp, 0x20
call fcn.1400697a6
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
movabs rdx, 0x6d5c6f1066cb8e2b
movabs rax, 0x6d5c6f1066cb8e2a
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp - 0x58], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
movabs rcx, 0x21d0f8210abd3270
movabs rdx, 0x21d0f8210abd3270
xor rcx, rdx
cmp rax, rcx
jge 0x14001730b
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x140017437
mov ecx, dword [0x1401f1d18]
or ecx, dword [0x1401f1d1c]
mov eax, ecx
or eax, 0x31b4f807
mov edx, 0xd65776ab
xor edx, 0x29a88954
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x31b4f807
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xacfd09c1
xor edx, 0x5302f63e
xor ecx, edx
and eax, ecx
imul eax, eax, 0x3cce4921
mov ecx, 0x9b0e28c5
xor edx, edx
div ecx
cmp eax, 0x7f7a124e
je 0x140017447
mov r8d, dword [0x1401f1d20]
mov edx, dword [0x1401f1d24]
xor edx, 0xf9b45f41
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xea208f22
mov r9d, 0xffffffff
xor r9d, 0xea208f22
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x9729f766
xor r10d, 0x7d097844
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd402ccc0
xor ecx, 0xe9a5a055
sub eax, ecx
mov ecx, 0xfe6c7cbd
xor ecx, 0x1938342
mov edx, eax
xor edx, ecx
and edx, 0x9607c71e
mov r8d, 0xffffffff
xor r8d, 0x9607c71e
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x24e8cb3f
xor r8d, 0xb2ef0c21
mov edx, eax
and edx, r8d
mov r8d, 0xc3f65756
xor r8d, 0x55f19048
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x364c6fc5
xor ecx, 0x74dcc2a2
and eax, ecx
cmp eax, 0x43c825ca
ja 0x140017367
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x48], rax
jmp 0x140017233
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
invalid
fiadd dword [rbp + 0x17e901a6]
invalid