Function at 0x140151df0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x168
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xb0], rcx
call fcn.14014d67e
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x158]
add rax, 8
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x154], 0
mov rax, qword [rdx]
mov qword [rsp + 0xd8], rax
cmp rax, 4
jge 0x140151ea9
mov rax, qword [rsp + 0xb8]
mov rcx, qword [0x140268b78]
mov qword [rax], rcx
mov rcx, qword [0x140268b80]
mov qword [rax + 8], rcx
jmp 0x14015289c
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax + 8]
add rdx, 8
lea rcx, [rsp + 0x154]
mov r8d, 4
call fcn.1401515a0
mov rax, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x154]
mov dword [rsp + 0x9c], edx
mov ecx, 4
cmp edx, 0
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
je 0x1401520b8
mov ecx, dword [0x1402592e8]
mov edx, dword [0x1402592ec]
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
mov edx, 0xdb2c1c5d
xor edx, 0xdb2c1c5c
add ecx, edx
add ecx, eax
mov eax, 0xd46ec4dc
xor eax, 0x90a16f36
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xef17e195
mov edx, 0xffffffff
xor edx, 0xef17e195
and ecx, edx
or eax, ecx
mov ecx, 0xc5a87e2d
xor ecx, 0x7f4173a3
xor eax, ecx
mov ecx, 0xe56b0ca8
xor ecx, 0x2e76b1e
cmp eax, ecx
jae 0x1401528ac
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x9c]
mov r8d, dword [0x1402592f0]
mov edx, dword [0x1402592f4]
xor edx, 0x1d7a1c12
and r8d, edx
mov edx, r8d
and edx, 0x7fb61e4f
or r8d, 0x7fb61e4f
add edx, r8d
sub edx, 0xb91bb40e
mov r8d, 0xc026293f
xor r8d, 0xbd5b12f6
sub edx, r8d
add edx, 0xb91bb40e
mov r8d, edx
add r8d, 1
xor edx, 0xffffffff
mov r9d, 0x23ba45b0
xor r9d, 0x8b213ea1
or edx, r9d
add edx, r8d
mov dword [rsp + 0x94], edx
mov eax, eax
mov edx, eax
mov qword [rsp + 0x88], rdx
mov rax, rdx
and rax, 3
or rdx, 3
add rax, rdx
mov rdx, qword [rcx]
mov qword [rsp + 0x140], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x148], rcx
movabs rcx, 0x9f98232b72ee5a39
movabs rdx, 0x9f98232b72ee5a3d
xor rcx, rdx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x158]
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x130]
call fcn.14014fbe0
mov rcx, qword [rsp + 0xc8]
mov eax, dword [rsp + 0x94]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x9b], cl
cmp eax, 0xfafe2c0b
jae 0x140151f69
mov al, byte [rsp + 0x9b]
test al, 1
jne 0x140152091
jmp 0x140152623
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax]
add rcx, 4
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
movabs rax, 0x257290f6fd8b796b
movabs rcx, 0x55afe40ccb7f1225
xor rax, rcx
mov rcx, rdx
add rcx, rax
sub rcx, r8
movabs rax, 0x70dd74fa36f46b4e
sub rcx, rax
mov qword [rsp + 0x80], rcx
mov rax, rcx
xor rax, rdx
movabs rdx, 0x20e63571c325f660
movabs r9, 0x20e63571c325f660
xor rdx, r9
cmp rax, rdx
setl al
mov r9, rcx
xor r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
movabs rdx, 0xa9080620812aebaf
movabs r8, 0x56f7f9df7ed51450
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14015250c
mov rax, qword [rsp + 0x80]
cmp rax, 0
jle 0x1401522d1
mov r8, qword [rsp + 0x70]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
mov rcx, rax
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x72076c87ca59496a
movabs r9, 0x8df8937835a6b695
xor rdx, r9
xor rcx, rdx
movabs r9, 0x5fb0ee94da6d258a
movabs rdx, 0xa04f116b2592da75
xor r9, rdx
mov rdx, rax
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x7337c048fbbf30ba
movabs r9, 0x8cc83fb70440cf45
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14015250c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rdx]
mov qword [rsp + 0x110], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x110]
lea r8, [rsp + 0x100]
call fcn.14014fbe0
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0x60], rcx
cmp byte [rax], 0
jne 0x140152623
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rax
lea rdx, [rsp + 0xf0]
call fcn.140014570
jmp 0x140152304
mov rcx, qword [rsp + 0xc0]
mov rax, qword [0x140268b78]
mov qword [rsp + 0xe0], rax
mov rax, qword [0x140268b80]
mov qword [rsp + 0xe8], rax
lea rdx, [rsp + 0xe0]
call fcn.140014570
mov r11d, dword [str.L_c_ye]
mov eax, dword [0x1402592fc]
xor eax, 0x4b3e7baf
mov ecx, 0x24586dce
xor ecx, 0x17754fe8
add r11d, ecx
add r11d, eax
mov eax, 0xed3eb0cf
xor eax, 0xde1392e9
sub r11d, eax
sub r11d, 0x6f91ba2e
mov eax, 0x33c7006f
xor eax, 0xfd53efc9
xor r11d, eax
mov eax, 0x67b30283
xor eax, 0x984cfd7c
mov ecx, r11d
xor ecx, eax
mov r8d, 0xf03e82b
xor r8d, 0xe13f79a0
mov eax, 0xfcdc3861
xor eax, 0x323c79e
xor r8d, eax
mov edx, 0xcdcd3d9e
xor edx, 0x33a3a070
mov eax, 0xec59961b
xor eax, 0x13a669e4
xor edx, eax
mov r9d, 0x431184a8
xor r9d, 0xbd7f1946
mov eax, ecx
and eax, r9d
and r11d, edx
mov r10d, 0x97898a02
xor r10d, 0x69e717ec
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0xee3c918b
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xfe6e9dee
and ecx, edx
or eax, ecx
mov ecx, 0xc74244d5
xor ecx, 0xd4ce6960
cmp eax, ecx
jbe 0x1401528b5
mov eax, dword [0x140259300]
mov ecx, dword [0x140259304]
xor ecx, 0x1f07c82c
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0xb8]
sub ecx, 0x671c4dda
mov edx, 0x4f15e91
xor edx, 0xed82c9a7
add ecx, edx
add ecx, 0x671c4dda
mov edx, 0x1afea5b5
xor edx, 0x1afea5b5
mov r8d, 0x6f4bf533
xor r8d, 0xcc774833
sub edx, r8d
add ecx, edx
mov edx, ecx
xor edx, 0x73ab4ea3
xor edx, 0xffffffff
and edx, 0x73ab4ea3
shl edx, 1
sub edx, 0x73ab4ea3
sub ecx, edx
mov dword [rsp + 0x44], ecx
mov ecx, 0x2fb0255f
xor ecx, 0x3d7d1e7e
mov dword [rsp + 0x40], ecx
mov rcx, qword [rsp + 0x158]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x160]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0x158]
call fcn.1400102b5
mov rdx, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
jb 0x1401523e6
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14015289c
jmp 0x1401524cb
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x33aa82e40ef958da
movabs rdx, 0x33aa82e40ef958da
xor rcx, rdx
cmp rax, rcx
jne 0x14015289c
mov rcx, qword [rsp + 0x48]
call fcn.14000e9f6
jmp 0x14015289c
mov eax, dword [0x140259308]
xor edx, edx
div dword [0x14025930c]
imul ecx, eax, 0x28f9412
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xd2ba74a1
xor r8d, 0x2d458b5e
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc12eec9c
or eax, edx
mov edx, 0x77ff13d7
xor edx, 0xb6d1ff4b
mov r8d, 0xc75f8594
xor r8d, 0x38a07a6b
xor edx, r8d
mov r8d, 0x25a4103c
xor r8d, 0xe48afca0
mov r9d, 0x35316d87
xor r9d, 0xcace9278
xor r8d, r9d
or edx, r8d
mov r8d, 0x3d67cf5e
xor r8d, 0xc29830a1
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe709de2c
xor edx, edx
div ecx
mov ecx, 0xf0817c3d
xor ecx, 0xa289fed6
cmp eax, ecx
je 0x1401528be
mov ecx, dword [0x140259310]
mov eax, dword [0x140259314]
mov edx, 0xf54fb727
xor edx, 0x9aa6261b
xor eax, edx
add ecx, eax
mov eax, ecx
and eax, 0x3b63f0c1
xor ecx, 0x3b63f0c1
or eax, ecx
mov ecx, eax
xor ecx, 0xac254ec
mov edx, 0xffffffff
xor edx, 0xac254ec
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0x4f15c91a
mov dword [rsp + 0x3c], eax
call fcn.140007e9d
mov eax, dword [rsp + 0x3c]
cmp eax, 0x3e7e7e99
jbe 0x1401528be
jmp 0x140152623
mov eax, dword [0x140259318]
xor eax, 0x2bca788f
or eax, dword [0x14025931c]
imul ecx, eax, 0x9c46c59b
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x4c5e996c
xor edx, 0xffff6cce
mov r8d, 0xf46e8342
xor r8d, 0x47cf76e0
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x736cd0fa
xor r8d, 0x8c932f05
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0xb3a1f5a2
mov edx, 0xc59eb8fa
xor edx, 0x3a614705
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0x5ee6fdd3
xor edx, 0xe6c1592b
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xb827a4f8
sub eax, ecx
mov ecx, 0x306a9837
xor ecx, 0x1a480817
cmp eax, ecx
jbe 0x1401528c7
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x140259320]
mov edx, 0x1adb3579
xor edx, 0xd53e8014
xor eax, edx
sub eax, dword [0x140259324]
sub eax, 0xb31c9700
sub eax, 0x193fb417
sub eax, 0x1cc46c33
add eax, 0xe382f9d8
mov edx, 0x74d7145c
xor edx, 0x6813786f
add eax, edx
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3b], cl
cmp eax, 0x36e44acd
je 0x1401526c0
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x14015289c
jmp 0x140152731
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4ece94c05583993b
movabs r8, 0xece94c05583993b
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14015289c
mov ecx, dword [0x140259328]
mov edx, dword [0x14025932c]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xfea8411d
xor r9d, 0x157bee2
mov r8d, edx
xor r8d, r9d
or eax, r8d
mov r8d, 0x4fb70791
xor r8d, 0xb048f86e
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x4d38a51c
xor edx, 0xb2c75ae3
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x36f4ea52
xor edx, edx
div ecx
mov ecx, 0x3af1f7a0
xor ecx, 0x3af1f7a0
mov edx, 0xab52a030
xor edx, 0x76537093
sub ecx, edx
sub eax, ecx
xor eax, 0x4861d62c
cmp eax, 0xbc80ddfa
jae 0x1401528d0
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x140259330]
mov edx, dword [0x140259334]
mov r8d, 0x459ece66
xor r8d, 0xbb150052
xor edx, r8d
add eax, edx
mov edx, 0x8ce72d19
xor edx, 0xc1843787
add eax, edx
sub eax, 0x5b3c2388
sub eax, 0x4d631a9e
mov edx, 0x9f59f597
xor edx, 0x887ad6e7
and eax, edx
mov r9d, 0xffffffff
xor r9d, 0x7e7cadc7
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x43710d2d
xor r9d, 0x3d0da0ea
mov r8d, eax
and r8d, r9d
or eax, 0x7e7cadc7
imul eax, r8d
add eax, edx
mov dword [rsp + 0x2c], eax
mov eax, 0xabca063e
xor eax, 0x9019734c
mov dword [rsp + 0x28], eax
call fcn.14000e9f6
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
je 0x1401528d0
jmp 0x14015289c
mov rax, qword [rsp + 0xb0]
add rsp, 0x168
ret
in al, dx
hlt
stosd dword [rdi], eax
fcomp dword [r14]
jmp 0x1401523e6
outsb dx, byte [rsi]
adc esi, esp
jmp 0x1401525bd
mov cs, word [rax - 0xf16c29b]
std
invalid
xchg dword [rdx + 0x13e90e3c], edi
invalid