Function at 0x140055b30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x88], rcx
mov eax, dword [0x140243730]
mov ecx, dword [0x140243734]
xor ecx, 0x2e9095f3
and eax, ecx
add eax, 0x8cd50c91
mov ecx, 0xffffffff
xor ecx, 0x805e9191
add eax, ecx
mov ecx, 0x99d45c59
xor ecx, 0x99d45c58
add eax, ecx
or eax, 0xd3c40c6a
cmp eax, 0x165acc16
jb 0x140056664
mov ecx, dword [0x140243738]
mov r8d, dword [0x14024373c]
mov edx, ecx
not edx
mov eax, r8d
and eax, edx
mov r9d, r8d
not r9d
mov edx, ecx
and edx, r9d
imul edx, eax
mov eax, ecx
and eax, r8d
or ecx, r8d
imul ecx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx + 0x55ff90a8]
mov ecx, eax
xor ecx, 0x642041c1
and eax, 0x1bdfbe3e
add eax, eax
sub eax, ecx
add eax, 0x6759eed
mov dword [rbp + 0x80], eax
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1400476af
mov rcx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x70], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x78], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
mov edx, 2
sub rsp, 0x20
call fcn.140048340
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x80]
mov byte [rbp + 0x87], cl
cmp eax, 0xa13080ff
ja 0x140056664
mov al, byte [rbp + 0x87]
test al, 1
jne 0x140055cb1
jmp 0x140055cc3
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x140056659
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov qword [rbp + 0x40], rax
cmp rax, 0
jge 0x140055dab
mov eax, dword [0x140243740]
mov ecx, 0xec5afa4b
xor ecx, 0xf4c9de6b
xor eax, ecx
mov edx, dword [0x140243744]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
xor ecx, 0x68b106d8
mov eax, ecx
and eax, 0x6dd5adb9
xor eax, 0xffffffff
mov edx, 0x3d45c3c9
xor edx, 0x50906e70
add ecx, edx
mov edx, 0x8bb413e7
xor edx, 0x8bb413e6
add ecx, edx
add ecx, eax
mov edx, 0x7ee6dd6e
xor edx, 0xccd359c6
mov eax, 0x18c565f3
xor eax, 0xe73a9a0c
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x1f2bb679
jbe 0x14005666d
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x140243748]
mov edx, dword [0x14024374c]
xor edx, 0xae0ac9fc
add eax, edx
xor eax, 0xd3fd2360
mov r8d, 0x88c4754e
xor edx, edx
div r8d
xor eax, 0x96682706
mov dword [rbp + 0x3c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x3c]
add rsp, 0x20
cmp eax, 0x9d3187ec
jae 0x140055d4d
jmp 0x140056659
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.1400229fb
mov r10, qword [rbp + 0x88]
mov r8, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x18], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 0x20], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x10], rax
cmp rax, rcx
jge 0x140056636
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x60]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140055f48
mov eax, dword [0x140243750]
xor eax, 0x4e193e46
sub eax, dword [0x140243754]
mov r8d, 0xffffffff
xor r8d, 0xda7ca9f6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xb1d140fc
xor r8d, 0x4e2ebf03
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xda7ca9f6
or eax, 0xda7ca9f6
imul eax, edx
add eax, ecx
mov ecx, 0x808ce4d3
xor ecx, 0x75c1c685
xor eax, ecx
add eax, 0x5522406a
mov ecx, 0xcad5fa7
xor ecx, 0x6c81e7e4
cmp eax, ecx
jae 0x140056676
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov r8d, dword [0x140243758]
mov r9d, dword [0x14024375c]
mov eax, r8d
and eax, r9d
xor r8d, r9d
or eax, r8d
add eax, 0xc4b66731
mov r8d, 0x610cc9a1
xor r8d, 0xd95bede3
sub eax, r8d
mov r8d, 0x49f060c
xor r8d, 0xb25e84ff
sub eax, r8d
add eax, 0xb8572442
mov r8d, 0x1a1f591a
xor r8d, 0x54b11a8f
imul eax, r8d
mov dword [rbp + 4], eax
mov eax, 0xa6fed59f
xor eax, 0x65a1820b
mov dword [rbp], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
mov ecx, dword [rbp]
mov eax, dword [rbp + 4]
add rsp, 0x20
cmp eax, ecx
jae 0x140055eb7
jmp 0x140056659
mov eax, dword [0x140243760]
mov ecx, dword [0x140243764]
add eax, 0x9cb21c3
add eax, ecx
sub eax, 0x9cb21c3
mov ecx, 0x911771c9
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x6edf5b5e
xor ecx, 0xffffffff
mov edx, 0x46cb142c
xor edx, 0x28144f72
or eax, edx
and eax, ecx
mov ecx, 0x19215bd1
xor edx, edx
div ecx
cmp eax, 0x5b2b87f2
ja 0x14005667f
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x10]
mov eax, dword [0x140243768]
mov r9d, dword [0x14024376c]
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x78]
and eax, 0x2aab3176
add eax, 0x8f0100f
mov rdx, qword [rdx]
shl r8, 5
mov rdx, qword [rdx + r8 + 8]
mov qword [rbp - 0x10], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp - 2], cl
or cl, dl
mov byte [rbp - 1], cl
cmp eax, 0x6de2d321
jae 0x14005667f
mov al, byte [rbp - 1]
test al, 1
jne 0x140056597
jmp 0x140055fff
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
movabs rdx, 0xaec52da60ae12c1
sub rax, rdx
movabs rdx, 0x1a624d6c1513edfb
movabs r8, 0xe59db293eaec1204
xor rdx, r8
add rax, rdx
movabs rdx, 0xaec52da60ae12c1
add rax, rdx
and rax, rcx
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400560f6
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
movabs rax, 0x6b9ddb5b0c23d80e
movabs r8, 0x6b9ddb5b0c23d80e
xor rax, r8
sub rax, rdx
movabs rdx, 0x861b9a9cd34c207c
movabs r8, 0x861b9a9cd34c207c
xor rdx, r8
movabs r8, 0x889d2e158df0a9a
movabs r9, 0xf7762d1ea720f565
xor r8, r9
sub rdx, r8
add rax, rdx
movabs rdx, 0x81e6695da1fabdc9
movabs r8, 0x81e6695da1fabdc9
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140056659
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140056195
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
movabs rax, 0xa320960d52e5e159
movabs r8, 0x5984f7ac0a5282db
xor rax, r8
sub rdx, rax
movabs rax, 0x10f82a7a67f93f85
movabs r8, 0xef07d5859806c07a
xor rax, r8
add rdx, rax
movabs rax, 0xdd1c6caffd27e473
movabs r8, 0x27b80d0ea59087f1
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140048570
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xc2
xor dl, 0xc2
cmp cl, dl
mov qword [rbp - 0x18], rax
je 0x140056048
jmp 0x140056659
mov eax, dword [0x140243770]
mov ecx, dword [0x140243774]
mov edx, 0x8e2c8157
xor edx, 0x16f7c3c1
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x200f3bc8
xor edx, edx
div ecx
mov ecx, 0x88e85b72
xor ecx, 0xddc5575c
imul eax, ecx
mov ecx, 0x2366dae5
xor ecx, 0xdb8f6660
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xf8e9bc85
mov ecx, 0x2699e85a
xor ecx, 0x2699e858
imul ecx, edx
mov edx, 0xfa4c222d
xor edx, 0x2a59ea8
sub ecx, edx
sub eax, ecx
cmp eax, 0x21d06039
je 0x140056688
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x60]
mov eax, dword [0x140243778]
mov r8d, dword [0x14024377c]
xor r8d, 0xc65ac608
mov edi, eax
and edi, r8d
or eax, r8d
add edi, eax
mov eax, 0x56654dd5
xor eax, 0xf65543e5
sub edi, eax
mov r8d, edi
xor r8d, 0xffffffff
mov r9d, 0x94f009c8
xor r9d, 0x96160572
mov eax, 0x47b3a11c
xor eax, 0xb84c5ee3
xor r9d, eax
mov r10d, 0x8ec3aeb
xor r10d, 0x41fdf4ca
mov eax, 0xaa261ec7
xor eax, 0x55d9e138
xor r10d, eax
mov r11d, 0x51968c5d
xor r11d, 0x1887427c
mov eax, r8d
and eax, r11d
and edi, r10d
mov esi, 0x5d8a2853
xor esi, 0x149be672
mov r11d, r9d
and r11d, esi
mov esi, r10d
and esi, 0x2e60cba
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0x98266eb1
xor r9d, 0xd137a090
or r9d, r10d
and r8d, r9d
or eax, r8d
add eax, 0xd781882c
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x29], cl
cmp eax, 0xf37d124
ja 0x140056209
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140056349
jmp 0x1400562fb
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x38]
movabs rax, 0x3d3cef4d2fb74045
movabs r8, 0x3d3cef4d2fb74045
xor rax, r8
movabs r8, 0x7d055bc480af53fb
movabs r9, 0x82faa43b7f50ac04
xor r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140056659
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.140010ae7
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x1400563b5
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140056659
mov eax, dword [0x140243780]
xor edx, edx
div dword [0x140243784]
add eax, 0x781a3a8
add eax, 0x3d63a0fe
sub eax, 0x781a3a8
mov r8d, 0xffffffff
xor r8d, 0x18303ae8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x18303ae8
or eax, 0x18303ae8
imul eax, edx
add eax, ecx
sub eax, 0xab62d1a
cmp eax, 0xf77c3f53
je 0x140056691
mov rsi, qword [rbp - 0x50]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov edx, dword [0x140243788]
mov r8d, dword [0x14024378c]
xor r8d, 0xc108c877
and edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x44d5dfd5
mov r9d, 0xffffffff
xor r9d, 0x44d5dfd5
and edx, r9d
sub edx, r8d
xor edx, 0xa225b064
add edx, 0x65c2c8de
mov dword [rbp - 0x58], edx
mov edx, 0xc7e692a0
xor edx, 0x10aad4f7
mov dword [rbp - 0x5c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14013c988
mov r11, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140055860
mov rdx, qword [rbp + 0x70]
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x58]
add rsp, 0x30
mov dl, byte [rdx]
mov r8b, 0xb1
xor r8b, 0xb1
cmp dl, r8b
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jb 0x140056411
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140056508
jmp 0x140056659
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x1400565b5
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xf247decb79345aea
movabs r8, 0xdb8213486cba515
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400565b5
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
jmp 0x1400565b5
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 2]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x14005661d
jmp 0x1400565b5
mov r8, qword [rbp + 0x10]
mov rcx, r8
and rcx, 1
mov rax, r8
or rax, 1
add rcx, rax
xor r8, 0xffffffffffffffff
mov rax, rcx
add rax, 1
movabs r9, 0x57ae3e40010e3166
movabs rdx, 0xa851c1bffef1ce99
xor r9, rdx
mov rdx, rcx
xor rdx, r9
or rdx, r8
add rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x14005661d
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x140056659
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x140055e0b
jmp 0x140056659
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004ee10
add rsp, 0x20
lea rsp, [rbp + 0x90]
pop rdi
pop rsi
pop rbp
ret
pop rcx
cli
in al, dx
jmp 0x140055b8c
cmc
invalid
jo 0x14005666a
retf 0xe952
push rbx
invalid
or byte [rdi - 0xe], 0xd7
jmp 0x140055f97
sbb edi, dword [rcx + rsi*2 - 0x4871610]
invalid
pop rsi
inc byte [rbx]
invalid