Function at 0x14002df36
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rcx
call fcn.14000c8dc
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
add rax, 0x60
mov qword [rsp + 0x88], rax
mov rax, qword [rcx]
mov qword [rsp + 0x90], rax
cmp rax, rdx
jle 0x14002d632
mov eax, dword [0x1401f28c8]
xor edx, edx
div dword [0x1401f28cc]
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xff6acc06
mov edx, 0xffffffff
xor edx, 0x29b06380
mov r9d, 0xaaf47f48
xor r9d, 0x83441cc8
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x29b06380
mov r10d, edx
and r10d, 0xff6acc06
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xd9fbfb86
xor r8d, 0x26040479
xor ecx, r8d
or edx, 0x29b06380
and ecx, edx
or eax, ecx
and eax, 0xfb121f7d
xor ecx, ecx
sub ecx, 0xf0b4dc5c
sub eax, ecx
cmp eax, 0x6e903899
jbe 0x14002def7
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401f28d0]
mov edx, dword [0x1401f28d4]
mov r8d, 0x73609e2a
xor r8d, 0x47b9b318
xor edx, r8d
or eax, eax
mov r8d, 0xcd3095cc
xor r8d, 0x32cf6a33
xor eax, r8d
or edx, edx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x5c5a1e11
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov r8d, eax
mov eax, 0x8ca8089b
xor eax, 0xc57df8d9
add r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x5efda709
mov eax, r8d
xor eax, r9d
and eax, r8d
mov dword [rsp + 0x74], eax
mov eax, 0x892c2f02
xor eax, 0x456fa731
mov dword [rsp + 0x70], eax
call fcn.14002d040
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x74]
cmp eax, ecx
ja 0x14002d590
jmp 0x14002deec
mov eax, dword [0x1401f28d8]
xor edx, edx
div dword [0x1401f28dc]
mov ecx, eax
or ecx, 0x47f36c5f
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x7c27d9ea
xor edx, 0x3bd4b5b5
mov r8d, 0x48c43535
xor r8d, 0xb73bcaca
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
or eax, 0x311e4f58
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x82004e0b
xor edx, 0xb31e0153
mov r8d, 0x71ed03cf
xor r8d, 0x8e12fc30
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0xa8a5f47f
mov ecx, 0xa739888
xor ecx, 0xda341f64
cmp eax, ecx
je 0x14002df00
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
mov eax, dword [0x1401f28e0]
mov r9d, dword [0x1401f28e4]
xor r9d, 0xff0ef4c1
mov r8d, eax
xor r8d, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
or r8d, r10d
mov r10d, 0x2be07373
xor r10d, 0xd41f8c8c
xor eax, r10d
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0x4666bb4b
xor r9d, 0xb99944b4
xor r8d, r9d
mov r9d, 0x2f49d9e4
xor r9d, 0xd0b6261b
xor eax, r9d
or r8d, eax
xor r8d, 0xb06e170d
mov eax, r8d
or eax, 0x7376026d
mov r9d, 0x3353ef9d
xor r9d, 0xccac1062
xor eax, r9d
xor r8d, 0xffffffff
mov r9d, 0x5571a9c8
xor r9d, 0x2607aba5
mov r10d, 0xd1d38ced
xor r10d, 0x2e2c7312
xor r9d, r10d
and r8d, r9d
mov r9d, 0xebf1080c
xor r9d, 0x140ef7f3
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, eax
xor r8d, 0xfea7bcc4
mov r9d, 0xffffffff
xor r9d, 0xfea7bcc4
and eax, r9d
shl eax, 1
sub eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x1100bbb
je 0x14002d6be
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14002d7cd
jmp 0x14002deec
mov eax, dword [0x1401f28e8]
add eax, dword [0x1401f28ec]
mov r8d, 0xffffffff
xor r8d, 0xbac73460
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbac73460
mov r8d, 0x784d284a
xor r8d, 0xc28a1c2a
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x604e3ca1
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x4e8314fc
xor ecx, 0x4e8314fc
mov edx, 0x64c8ffd2
xor edx, 0xb92daf85
sub ecx, edx
sub eax, ecx
cmp eax, 0x7d7fabeb
ja 0x14002df09
mov eax, dword [0x1401f28f0]
xor edx, edx
div dword [0x1401f28f4]
mov rdx, qword [rsp + 0x78]
mov ecx, 0x46373447
xor ecx, 0x844d6358
xor eax, ecx
or eax, 0xcb156ed5
mov ecx, 0x966dc862
xor ecx, 0xc3d809af
sub eax, ecx
mov ecx, 0xd6b0cd8f
xor ecx, 0x21cd11d1
mov r8, rdx
add r8, 8
mov qword [rsp + 0x58], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x60], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x6e], dl
cmp eax, ecx
je 0x14002d849
mov al, byte [rsp + 0x6e]
test al, 1
jne 0x14002d9b9
jmp 0x14002d8bf
mov eax, dword [0x1401f28f8]
imul eax, dword [0x1401f28fc]
mov ecx, 0xe733be9c
xor ecx, 0x1ee216af
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xc6797db6
sub eax, ecx
and eax, 0x65a6eae9
mov ecx, 0x47f4d5f5
xor ecx, 0x2d8dd818
cmp eax, ecx
ja 0x14002df12
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x60]
mov eax, dword [0x1401f2900]
mov r10d, dword [0x1401f2904]
xor r10d, 0x8826f4f0
mov ecx, 0x1d90637d
xor ecx, 0xe26f9c82
mov r11d, r10d
xor r11d, ecx
mov edx, eax
and edx, r11d
mov ecx, eax
or ecx, r11d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r10d
or eax, r10d
imul eax, edx
add eax, ecx
imul eax, eax, 0xcf9e1d1e
or eax, 0x8d6a032a
mov ecx, eax
and ecx, 0xb70c1b47
mov edx, 0xc8eb514b
xor edx, 0x3714aeb4
xor ecx, edx
mov edx, 0xec1456b1
xor edx, 0x5b184df6
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x98ea8471
xor ecx, 0xe12aec2e
movabs rdx, 0xbfffffffffffffff
and rdx, qword [r9]
cmp rdx, r8
setl dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
jbe 0x14002d8fd
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14002d9b9
jmp 0x14002dabd
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x80]
mov rax, r9
xor rax, rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
mov rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r8, 0xab82d56c06d4a883
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xab82d56c06d4a883
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0xab82d56c06d4a883
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
movabs r8, 0x9837cea42a4c4971
movabs r9, 0x9837cea42a4c4971
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
movabs rdx, 0xc0cb66183e3ee4d
movabs r8, 0xf3f3499e7c1c11b2
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14002dab3
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140014320
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x14002dabd
call fcn.1400091c0
jmp 0x14002deec
mov eax, dword [0x1401f2908]
mov ecx, dword [0x1401f290c]
xor ecx, 0xffad14c4
xor eax, ecx
imul eax, eax, 0x4f6af114
add eax, 0x541cbb59
and eax, 0x6d38e285
mov ecx, 0x7e18e08a
xor ecx, 0xa38d9a84
cmp eax, ecx
jae 0x14002df1b
mov rcx, qword [rsp + 0x78]
mov edx, dword [0x1401f2910]
mov r8d, dword [0x1401f2914]
mov r9d, 0xe9898f25
xor r9d, 0x167670da
mov eax, edx
xor eax, r9d
mov r9d, r8d
xor r9d, 0xffffffff
and eax, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor edx, edx
sub edx, 0xa386bf4f
sub eax, edx
xor eax, 0x30b5bf16
mov r8d, 0x6e0cef0c
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov qword [rcx], rdx
cmp eax, 0xe2cfa1f9
ja 0x14002daf4
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x40], rax
jmp 0x14002db73
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1401f2918]
xor ecx, 0x68d59c25
mov eax, dword [0x1401f291c]
xor eax, 0xeaf3bcab
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x94caa3df
mov r8d, 0xffffffff
xor r8d, 0x94caa3df
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x94caa3df
or ecx, 0x94caa3df
imul ecx, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x3f177818
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0x7cfe0e5
xor edx, 0xf8301f1a
mov ecx, eax
xor ecx, edx
mov edx, 0xd61b2a22
xor edx, 0x188514e2
and ecx, edx
mov edx, 0x3904a6e5
xor edx, 0xf79a9825
mov r8d, 0x608d66fe
xor r8d, 0x9f729901
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0x9cfd0bf0
je 0x14002df24
mov rcx, qword [rsp + 0x38]
mov esi, dword [str.9jJ6k]
mov r11d, dword [0x1401f2924]
xor r11d, 0x52b73df4
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x46744721
mov r10d, 0x4ed45f45
xor r10d, 0x8a01864
mov eax, edx
and eax, r10d
and esi, r8d
mov edi, 0xab503ef8
xor edi, 0xed2479d9
mov r10d, r9d
and r10d, edi
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x46744721
and edx, r8d
or eax, edx
mov r8d, 0xa710f3c6
xor edx, edx
div r8d
mov r8d, 0x53a1441f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0xff94a659
or r9d, 0xff94a659
xor r9d, 0xffffffff
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0xbe9773b
xor r9d, 0xf41688c4
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xff94a659
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x73d0f4fd
jbe 0x14002dc20
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14002dd2d
jmp 0x14002deec
mov eax, dword [0x1401f2928]
sub eax, dword [0x1401f292c]
mov ecx, 0x92dd8f88
xor ecx, 0x6b8aa9be
imul eax, ecx
xor eax, 0x855cecc
mov ecx, 0x4492f2fd
xor edx, edx
div ecx
mov ecx, 0x758674e3
xor ecx, 0xf7aa3685
cmp eax, ecx
jae 0x14002df2d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [0x1401f2930]
xor r8d, 0xa3345962
mov r9d, dword [0x1401f2934]
mov edx, 0xeb1a7a2f
xor edx, 0x19532bba
xor r9d, edx
mov edx, r8d
and edx, r9d
xor r8d, r9d
or edx, r8d
or edx, 0xb0fdd0cc
sub edx, 0xfdf08f4f
imul edx, edx, 0x28f7326b
mov dword [rsp + 0x30], edx
mov edx, 0xd981dd6f
xor edx, 0x7e8f0d3e
mov dword [rsp + 0x2c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1400d11e0
mov rdx, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x36], dl
cmp eax, ecx
ja 0x14002df2d
mov al, byte [rsp + 0x36]
test al, 1
jne 0x14002de10
jmp 0x14002deec
mov rcx, qword [rsp + 0x38]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs r8, 0x7d4bc75af95ddda9
movabs rdx, 0x82b438a506a22256
xor r8, rdx
mov rdx, rcx
xor rdx, r8
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
and rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0xed9c69355707c608
movabs r9, 0x126396caa8f839f7
xor r8, r9
xor rcx, r8
or rdx, rcx
movabs rcx, 0x99379c42b375c30f
movabs r8, 0x66c863bd4c8a3cf0
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
and rcx, rax
movabs rdx, 0x45bb99310c80bb1b
movabs r8, 0x45bb99310c80bb1b
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jge 0x14002db73
call fcn.1400091c0
nop
add rsp, 0x98
pop rdi
pop rsi
ret
push rax
push rdx
pop rsp
popfq
jmp 0x14002d590
ret
invalid
sahf
xor byte [rsi - 0x61d16ca], bh
invalid
or byte [rbx - 0x4c], al
push 0xfffffffffffbd0e9
dec dword [rdx]
je 0x14002dfa2
or dh, byte [rbx + rdi*2 - 2]
jmp 0x14002dc20
invalid
xchg edx, eax
sub al, 0x3f
jmp 0x14002dd68
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002d040
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14002d4b0
xor eax, 0x36f2140e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x47e96181
xor r8d, 0xb8169e7e
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x36f2140e
or eax, 0x36f2140e
imul eax, edx
add eax, ecx
cmp eax, 0x83df071b
jb 0x14002e046
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f2940]
xor edx, edx
div dword [0x1401f2944]
or eax, 0x5bf38377
mov r8d, 0x7bc1efcb
xor edx, edx
div r8d
mov r8d, 0xa2709495
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x30]
mov dword [rsp + 0x2c], eax
mov qword [rcx], 0
mov qword [rcx + 8], 0
call fcn.14002df36
mov eax, dword [rsp + 0x2c]
cmp eax, 0x2555cd8
je 0x14002dfe2
mov rax, qword [rsp + 0x40]
add rsp, 0x48
ret
push 0xffffffffe9aaa952
xchg ebx, eax
invalid