Function at 0x140015474
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov eax, dword [0x14024ba78]
mov ecx, dword [0x14024ba7c]
xor ecx, 0xb6b4c826
xor edx, edx
div ecx
add eax, 0xbdf24734
imul eax, eax, 0x4653ba1a
mov ecx, 0xf80b661a
xor ecx, 0x877bf243
and eax, ecx
mov ecx, 0x9f79c17b
xor ecx, 0x2f56b6be
cmp eax, ecx
je 0x140015459
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x14024ba80]
add eax, dword [0x14024ba84]
mov r10d, 0xf50f126b
xor r10d, 0x9e847c6b
mov r8d, 0x4f9b5074
xor r8d, 0xb064af8b
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0xeb56a6df
xor r10d, 0x14a95920
xor r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x6b8b6e00
or eax, 0x6b8b6e00
imul eax, r9d
add eax, r8d
sub eax, 0x6607b446
sub eax, 0x7ecb464
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x67], cl
cmp eax, 0xba100660
ja 0x140014f0f
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140014fb0
jmp 0x140014fc4
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
call fcn.140014cb2
jmp 0x140015315
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jge 0x140015315
mov rax, qword [rsp + 0x70]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14001504f
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movabs r8, 0x39302b50084fb7b5
movabs rdx, 0x39302b50084fb7b4
xor r8, rdx
mov rdx, rax
add rdx, r8
xor rax, 0xffffffffffffffff
movabs r8, 0x304e0b050657a4fd
movabs r9, 0x8fb1f4faf9a85b02
xor r8, r9
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x1400151a0
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
movabs rax, 0x901e7cb6ed7b3fb7
movabs rdx, 0x85a175acd5af938c
xor rax, rdx
mov rdx, rcx
sub rdx, rax
sub rdx, r9
movabs rax, 0x15bf091a38d4ac3b
add rdx, rax
mov qword [rsp + 0x40], rdx
mov rax, rdx
xor rax, rcx
movabs rcx, 0x7ed5ab715a627ba0
movabs r8, 0x7ed5ab715a627ba0
xor rcx, r8
cmp rax, rcx
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r8, 0xd9f736b6a04eb23a
movabs r10, 0x2608c9495fb14dc5
xor r8, r10
xor rcx, r8
mov r8, r9
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r10, 0x68440460cb31168
movabs r8, 0xf97bbfb9f34cee97
xor r10, r8
mov r8, r9
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x8e7c1a1f79d81dac
movabs r9, 0x7183e5e08627e253
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
or al, al
xor al, 0xff
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, dl
xor cl, r8b
xor r8d, r8d
xor r8b, 1
xor dl, r8b
and cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x140015196
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov r9d, 0x18
mov qword [rsp + 0x20], 8
call fcn.140010b50
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x1400151a0
call fcn.140008c92
jmp 0x140015315
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140015315
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov edx, 0x18
call fcn.14000943f
mov rdx, qword [rsp + 0x30]
mov rcx, rdx
and rcx, 1
movabs rax, 0x7b463d69e7bc6b6d
movabs r8, 0x7b463d69e7bc6b6f
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 1
add rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
movabs rdx, 0x150c9f7c9b97e5b9
movabs r8, 0x150c9f7c9b97e5b9
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x1400151b7
mov eax, dword [0x14024ba88]
xor eax, 0x81dd9dfb
mov edx, dword [0x14024ba8c]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xb88e724a
mov edx, 0x9545fdce
xor edx, 0x6aba0231
xor eax, edx
or ecx, 0xb88e724a
and ecx, eax
mov eax, ecx
or eax, 0xa01286a4
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa01286a4
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0x5089b25
cmp eax, 0xf1022da9
je 0x140015462
mov eax, dword [0x14024ba90]
mov ecx, dword [0x14024ba94]
xor ecx, 0xec5768e2
add eax, ecx
and eax, 0x3e265aa8
mov ecx, eax
and ecx, 0x8d5ac0d
shl ecx, 1
mov edx, 0x8468e373
xor edx, 0x8cbd4f7e
xor eax, edx
add eax, ecx
xor eax, 0x4ffc8d7c
mov dword [rsp + 0x2c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x2c]
cmp eax, 0x9b7d02a3
je 0x140015462
jmp 0x140015315
mov r8d, dword [0x14024ba98]
imul r8d, dword [0x14024ba9c]
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0x6563120d
xor ecx, 0x30bd8d1
and ecx, eax
mov edx, 0xc5cb6f3e
xor edx, 0xa3a3a5e2
mov eax, 0x5dfb9f37
xor eax, 0xa20460c8
xor edx, eax
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x6c34e80e
and eax, 0x6668cadc
and edx, 0x6c34e80e
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, 0xcefa2281
xor eax, 0x52db2bc0
sub ecx, eax
mov eax, 0xa2ab7f1a
xor eax, 0x5a3c7ec3
add ecx, eax
add ecx, 0x9c210941
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xa8f6b3b2
or edx, 0xa8f6b3b2
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0xa8f6b3b2
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x1084c6ac
xor ecx, 0x1cf8bfed
cmp eax, ecx
jae 0x14001546b
mov ecx, dword [0x14024baa0]
xor ecx, 0xfbaf35ee
mov eax, dword [0x14024baa4]
xor eax, 0x60d33f19
add ecx, eax
mov eax, 0x1d2ba921
xor eax, 0x8d6dfde4
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe9741ce0
or edx, 0xe9741ce0
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x654664c3
xor edx, 0x9ab99b3c
xor ecx, edx
mov edx, 0xf373e520
xor edx, 0x1a07f9c0
mov r8d, 0xd8a28116
xor r8d, 0x275d7ee9
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0x22f6ea03
cmp eax, 0x25ec3685
jb 0x14001546b
add rsp, 0x78
ret
mov esi, dword [rdi]
cli
or al, 0xe9
lodsd eax, dword [rsi]
cli
invalid
imul edx, dword [rdi + 0x55e9a9a3], 0xfffffffe
invalid
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140014cb2
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140014ec0