Function at 0x140147860
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
cmp rax, 0
jle 0x140147c03
mov eax, dword [0x1401d0670]
xor eax, 0xedd21b92
xor edx, edx
div dword [0x1401d0674]
add eax, 0x51ab9dc3
add eax, 0xc0ee72fc
sub eax, 0x51ab9dc3
mov ecx, 0x61279569
xor ecx, 0xd8a81952
xor edx, edx
div ecx
mov ecx, 0x6108ef82
xor ecx, 0xc04e17a0
add eax, ecx
cmp eax, 0x541e521e
jbe 0x140147d82
mov eax, dword [0x1401d0678]
xor edx, edx
div dword [0x1401d067c]
mov ecx, 0x50eba4a4
xor ecx, 0xe2cb9627
sub eax, ecx
sub eax, 0x99da3fb5
mov ecx, 0x36cc9086
xor ecx, 0xd92ded82
sub eax, ecx
add eax, 0x99da3fb5
mov ecx, 0x7a8e2fb2
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x80]
mov rcx, rdx
add rcx, 1
mov qword [rsp + 0x60], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x7dfc235
ja 0x1401478d1
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14014794e
jmp 0x140147958
call fcn.140008024
jmp 0x140147c03
mov rax, qword [rsp + 0x60]
cmp rax, 0
jge 0x140147984
mov rcx, qword [rsp + 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
jmp 0x140147c03
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
cmp rax, rcx
je 0x140147a9b
mov eax, dword [0x1401d0680]
mov ecx, dword [0x1401d0684]
xor ecx, 0xe7241747
sub eax, ecx
xor eax, 0xabb7cc1
imul eax, eax, 0x93f73e2
and eax, 0x542c4959
mov ecx, 0x6e9639f5
xor ecx, 0x926c7557
cmp eax, ecx
ja 0x140147d8b
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
mov eax, dword [0x1401d0688]
xor eax, 0x4f54a0c0
xor edx, edx
div dword [0x1401d068c]
mov edx, eax
mov eax, edx
and eax, 0x5a2b7f52
xor edx, 0x5a2b7f52
or eax, edx
sub eax, 0x5ece9a24
mov edx, 0xb1a8a5bc
xor edx, 0x1ef45636
sub eax, edx
add eax, 0x5ece9a24
mov r9d, 0xe274d0ff
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x48]
mov r8b, byte [r8 + rcx]
mov byte [rdx + rcx], r8b
movabs rdx, 0x2c8f55a831787216
sub rcx, rdx
add rcx, 1
movabs rdx, 0x2c8f55a831787216
add rcx, rdx
mov qword [rsp + 0x38], rcx
cmp eax, 0x1204f296
jae 0x140147a01
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x58], rax
jmp 0x1401479b2
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rcx]
mov rdx, qword [rax]
xor eax, eax
sub rax, r9
mov rcx, rdx
sub rcx, rax
mov qword [rsp + 0x30], rcx
movabs r8, 0x1f02cec49929a6a7
movabs rax, 0xe0fd313b66d65958
xor r8, rax
mov rax, rcx
xor rax, r8
movabs r8, 0x1a60c086946b9eac
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x1a60c086946b9eac
xor r11, r8
mov r10, rcx
and r10, r11
movabs rsi, 0x92c930a833d63718
movabs r8, 0x6d36cf57cc29c8e7
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0xa068789457751019
movabs rdi, 0xba08b812c31e8eb5
xor rsi, rdi
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xede3108ef2c9bc41
movabs rdx, 0xede3108ef2c9bc41
xor rcx, rdx
cmp rax, rcx
jge 0x140147bf6
mov eax, dword [0x1401d0690]
xor eax, 0x9fa921ca
xor eax, dword [0x1401d0694]
mov ecx, 0x8c807208
xor ecx, 0x1a2de229
xor edx, edx
div ecx
mov ecx, 0xc22c21c2
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0x3f1ff463
xor eax, 0xffffffff
or ecx, 0x3f1ff463
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x8b906678
jae 0x140147d94
mov eax, dword [0x1401d0698]
xor eax, 0xa20b3ba8
and eax, dword [0x1401d069c]
add eax, 0xd54b72ae
and eax, 0x369093dd
and eax, 0xf4ca5f7
mov dword [rsp + 0x2c], eax
call fcn.140008024
mov eax, dword [rsp + 0x2c]
cmp eax, 0x20ea1ebe
je 0x140147d94
jmp 0x140147c03
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov eax, dword [0x1401d06a0]
mov edx, dword [0x1401d06a4]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2650c02d
mov r8d, 0xd8b78b71
xor r8d, 0xfee74b5c
mov r9d, 0xf452fbae
xor r9d, 0xbad0451
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xfc9dc57e
xor edx, 0xdacd0553
mov r8d, 0xc5b8610
xor r8d, 0xf3a479ef
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x46ad59d0
xor ecx, 0xb952a62f
xor eax, ecx
mov ecx, 0x130211ae
xor ecx, 0x8ec586a
xor edx, edx
div ecx
mov ecx, 0x3595955d
xor ecx, 0xca6a6aa2
xor eax, ecx
mov edx, 0x753e68e
xor edx, 0xc5663d25
mov ecx, 0xaa9308ff
xor ecx, 0x556cf700
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xb7f12b39
or eax, edx
or ecx, 0xb7f12b39
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xb9c9b2a2
xor ecx, 0xf9e8290c
cmp eax, ecx
je 0x140147d9d
mov ecx, dword [0x1401d06a8]
mov r8d, dword [0x1401d06ac]
mov eax, 0xfecd17d6
xor eax, 0xd08cfa85
xor r8d, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
xor ecx, 0xddafabca
mov edx, 0xca399931
xor edx, 0x35c666ce
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5d0ae404
or eax, edx
mov edx, 0x5d0ae404
and edx, 0x5d0ae404
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xae39495e
xor edx, edx
div ecx
cmp eax, 0xfb687b18
jae 0x140147cdf
add rsp, 0x88
pop rdi
pop rsi
ret
and byte [rsi], 0x94
mov ecx, ebp
sti
invalid
cdq
invalid
mov esi, 0xe9255550
sbb al, 0xfe
invalid
push rbx
lodsd eax, dword [rsi]
invalid