Function at 0x14015e360
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x98], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0xa0], rax
cmp rax, 0
je 0x14015e48c
mov eax, dword [0x1401de590]
xor edx, edx
div dword [0x1401de594]
imul eax, eax, 0x6df7e44f
imul eax, eax, 0x7a5811c
mov ecx, 0x3cf63b44
xor edx, edx
div ecx
cmp eax, 0x64ddfd25
je 0x14015ec9c
mov rdx, qword [rsp + 0xa0]
mov eax, dword [0x1401de598]
xor eax, 0x665c0d92
mov r9d, dword [0x1401de59c]
xor r9d, 0xf773295a
mov ecx, 0xbd028d1f
xor ecx, 0x42fd72e0
mov r8d, r9d
xor r8d, ecx
mov ecx, eax
and ecx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2f620fa1
mov r8d, 0xd7489fc7
xor r8d, 0xf82a9066
mov r9d, 0xea7f18f3
xor r9d, 0x1580e70c
xor r8d, r9d
and eax, r8d
sub eax, ecx
imul eax, eax, 0xd7e07f2d
xor eax, 0x73f3db4c
mov ecx, 0x154b8c94
xor ecx, 0xb02b4438
mov rdx, qword [rdx]
movabs r8, 0x7f6674eb7cc627f9
movabs r9, 0x3f6674eb7cc627f9
xor r8, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rsp + 0x97], dl
cmp eax, ecx
ja 0x14015ec9c
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14015e47f
jmp 0x14015e48c
mov rcx, qword [rsp + 0xa0]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
cmp rax, 0
je 0x14015e4d6
mov rcx, qword [rsp + 0x88]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015e4d6
mov rcx, qword [rsp + 0x88]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x80], rax
cmp rax, 0
je 0x14015e56f
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
movabs rdx, 0xf8d8ea7516af1a54
movabs rax, 0xb8d8ea7516af1a54
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x4a6bd3bada261ee4
movabs rdx, 0x4a6bd3bada261ee4
xor rcx, rdx
cmp rax, rcx
jne 0x14015e56f
mov rcx, qword [rsp + 0x80]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x14015e5b0
mov rcx, qword [rsp + 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015e5b0
mov rcx, qword [rsp + 0x78]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x14015e5f1
mov rcx, qword [rsp + 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015e5f1
mov rcx, qword [rsp + 0x70]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x14015e6ab
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x2912c1961c52fc20
movabs r8, 0x6912c1961c52fc20
xor rdx, r8
movabs r8, 0x33fb60fb65f6af5c
movabs r9, 0xcc049f049a0950a3
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x251faa2feeb7b3e9
movabs r8, 0xdae055d011484c16
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0xb5879cf9e4fdb99d
movabs rdx, 0xb5879cf9e4fdb99d
xor rcx, rdx
cmp rax, rcx
jne 0x14015e6ab
mov rcx, qword [rsp + 0x68]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x14015e715
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xdb0906a0c7ef38da
movabs rdx, 0xdb0906a0c7ef38da
xor rcx, rdx
cmp rax, rcx
jne 0x14015e715
mov rcx, qword [rsp + 0x60]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x78]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14015e756
mov rcx, qword [rsp + 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015e756
mov rcx, qword [rsp + 0x58]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14015e890
mov eax, dword [0x1401de5a0]
xor edx, edx
div dword [0x1401de5a4]
mov ecx, eax
mov edx, 0xeb9c41d8
xor edx, 0x1463be27
mov eax, ecx
xor eax, edx
and eax, 0x507d6fea
mov edx, 0xb7d24f22
xor edx, 0xe7af20c8
mov r8d, 0x9d6e79ee
xor r8d, 0x62918611
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0x4af9bed4
xor ecx, 0xffffffff
or eax, 0x4af9bed4
and eax, ecx
imul eax, eax, 0xe010c72f
cmp eax, 0xed2e4873
jbe 0x14015eca5
mov eax, dword [0x1401de5a8]
mov edx, dword [0x1401de5ac]
mov ecx, eax
and ecx, edx
xor ecx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x1778d93
xor eax, 0xfe88726c
xor ecx, eax
mov edx, ecx
and edx, 0x6e024aa8
mov eax, 0x1bd28226
xor eax, 0x1bd28224
imul eax, edx
add ecx, 0x6e024aa8
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0xe9f19e18
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xe8c68ef
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x6a1852a23f4603d
movabs r8, 0x6a1852a23f4603d
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x4b024631
ja 0x14015eca5
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14015e886
jmp 0x14015e890
mov rcx, qword [rsp + 0x50]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x14015ea08
mov r11d, dword [0x1401de5b0]
mov r10d, dword [0x1401de5b4]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdb55348a
mov eax, ecx
and eax, 0xdb55348a
and r11d, edx
mov r9d, r8d
and r9d, 0xdb55348a
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xc8da2c7e
xor r8d, 0x3725d381
xor ecx, r8d
or edx, 0xdb55348a
and ecx, edx
or eax, ecx
mov ecx, 0xd551ea28
xor edx, edx
div ecx
mov ecx, 0x3a7924b2
xor edx, edx
div ecx
mov ecx, 0x99e3f327
xor ecx, 0x661c0cd8
mov edx, eax
xor edx, ecx
and edx, 0x29052c14
mov r8d, 0xffffffff
xor r8d, 0x29052c14
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x29052c14
or eax, 0x29052c14
imul eax, edx
add eax, ecx
mov ecx, 0x136e170d
xor ecx, 0x6ff1cc34
cmp eax, ecx
je 0x14015ecae
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401de5b8]
xor eax, dword [0x1401de5bc]
add eax, 0xe394ea69
mov edx, 0x1dd297d
xor edx, 0x9227f8c0
imul eax, edx
mov edx, 0x6f6d4336
xor edx, 0x8870ec08
sub eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
movabs r8, 0x839ac6c485cf4ec0
movabs r9, 0x7c65393b7a30b13f
xor r8, r9
xor rcx, r8
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xca7ea8b9
ja 0x14015e972
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14015e9fe
jmp 0x14015ea08
mov rcx, qword [rsp + 0x40]
call fcn.14000eb2e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x14015eaec
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
movabs rdx, 0x5c0d48a476007bdf
movabs rax, 0xa3f2b75b89ff8420
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x9d4301872ac166ff
movabs rdx, 0xdd4301872ac166ff
xor rcx, rdx
movabs rdx, 0xa93f6a43ffa9a242
movabs r8, 0x56c095bc00565dbd
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4df3095684e94d2c
movabs r8, 0xdf3095684e94d2c
xor rdx, r8
movabs r8, 0x935588a9f6c62995
movabs r9, 0x6caa77560939d66a
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xf440e2d6543b5751
movabs r8, 0xbbf1d29abc4a8ae
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14015eaec
mov rcx, qword [rsp + 0x30]
call fcn.14000eb2e
mov eax, dword [0x1401de5c0]
imul eax, dword [0x1401de5c4]
imul ecx, eax, 0x82d46cdd
and ecx, 0xba660c65
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x81b96e3c
or eax, edx
and ecx, 0x81b96e3c
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x1bbec68e
xor ecx, 0xe4413971
xor eax, ecx
cmp eax, 0x52913ea4
jbe 0x14015ecb7
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x1401de5c8]
mov edx, dword [0x1401de5cc]
xor edx, 0x88cf31a9
imul eax, edx
mov r8d, 0xffffffff
xor r8d, 0xf3892742
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0xf3892742
add eax, r8d
sub eax, edx
mov edx, 0xcb6e8bc9
xor edx, 0x34917436
mov r8d, eax
xor r8d, edx
and r8d, 0x8b750385
mov r9d, 0xffffffff
xor r9d, 0x8b750385
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xcd9ba226
xor r9d, 0x46eea1a3
mov r8d, eax
and r8d, r9d
or eax, 0x8b750385
imul eax, r8d
add eax, edx
mov edx, 0xc3a64f40
xor edx, 0x61db2121
mov r8d, 0xb7d83eb7
xor r8d, 0x4827c148
xor edx, r8d
add eax, edx
mov edx, 0xb41d9bd2
xor edx, 0xb41d9bd3
add eax, edx
mov rcx, qword [rcx + 0xb8]
mov qword [rsp + 0x20], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xe865994d
je 0x14015eb3a
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14015ec93
jmp 0x14015ec21
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x82212f6b7df620e7
movabs rdx, 0xc2212f6b7df620e7
xor rcx, rdx
movabs rdx, 0xf8032a8c15fc2224
movabs r8, 0x7fcd573ea03dddb
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x14015ec93
mov rcx, qword [rsp + 0x20]
call fcn.14000eb2e
nop
add rsp, 0xa8
ret
stosd dword [rdi], eax
adc al, 0x7b
jmp 0x14015e3b3
add esi, dword [rbx + 0x4f]
jmp 0x14015e7da
mov ecx, 0xe9adb289
mov ebx, 0x8efffffc
mov eax, 0x7ae9ff43
invalid
invalid