Function at 0x140056700
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140045cde
mov rcx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x50], 0
lea rax, [rbp + 0x50]
add rax, 8
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x58], 0
mov rcx, qword [rcx]
movabs rdx, 0xebdabdf0623e2856
movabs rax, 0xebdabdf0623e2854
xor rdx, rax
sub rsp, 0x20
call fcn.140046f0e
add rsp, 0x20
test al, 1
jne 0x140056791
jmp 0x1400567a3
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140056df6
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp + 0x18], rax
cmp rax, 0
jge 0x1400567fc
mov rcx, qword [rbp + 0x18]
movabs rdx, 0xd2c63090b1ca2f44
movabs rax, 0xd2c63090b1ca2f44
xor rdx, rax
movabs r8, 0x7f73e853b1c70a1e
movabs rax, 0x8c17ac4e38f5e1
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x140056df6
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140016b1b
mov r8, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp], rdx
mov rcx, r8
add rcx, 8
mov qword [rbp + 8], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rbp + 0x50]
mov qword [r8], r9
mov r9, qword [rbp + 0x58]
mov qword [r8 + 8], r9
mov qword [rbp + 0x50], rdx
mov qword [rax], rcx
xor eax, eax
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov eax, dword [0x1401f57b0]
add eax, dword [0x1401f57b4]
mov ecx, 0x35713bac
xor edx, edx
div ecx
mov ecx, 0x785d2939
xor ecx, 0x34cb557
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x574f618d
or eax, edx
mov edx, 0x574f618d
and edx, 0x574f618d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdc108754
xor ecx, 0xdde95215
cmp eax, ecx
je 0x140056dfc
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401f57b8]
mov edx, dword [0x1401f57bc]
add eax, 0x4f7241b4
sub eax, edx
sub eax, 0x4f7241b4
mov edx, 0x2e5ef0ed
xor edx, 0x24735390
and eax, edx
mov r8d, eax
and r8d, 0x67af630f
mov edx, 0x6fc5db14
xor edx, 0x6fc5db16
imul edx, r8d
mov r8d, 0xddc61e65
xor r8d, 0xba697d6a
add eax, r8d
sub eax, edx
mov r8d, 0xdccb828b
xor edx, edx
div r8d
mov rdx, qword [rbp]
cmp rcx, rdx
setl cl
mov byte [rbp - 9], cl
cmp eax, 0xe9ba9c80
jae 0x1400568be
mov al, byte [rbp - 9]
test al, 1
jne 0x140056945
jmp 0x140056dd5
mov rcx, qword [rbp - 8]
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x50]
mov qword [rbp - 0x18], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140056999
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x18]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140056df6
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx]
lea rdx, [rdx + rdx*2]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rbp - 0x28], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x19], al
or al, cl
test al, 1
jne 0x140056c56
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov rax, rcx
and rax, 0xffffffffffffffff
or rcx, 0xffffffffffffffff
add rax, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x40], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140056a44
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140056df6
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
cmp qword [rax], 0
je 0x140056a93
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140046fed
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x30], rax
je 0x1400569fd
jmp 0x140056df6
mov ecx, dword [0x1401f57c0]
mov edx, dword [0x1401f57c4]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x493dc7a7
xor r9d, 0xb6c23858
mov r8d, edx
xor r8d, r9d
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x4a942d2f
xor edx, 0xb56bd2d0
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x1b6820ef
sub eax, 0x3485cebd
or eax, 0x6163a15e
cmp eax, 0xac707686
je 0x140056e05
mov rcx, qword [rbp - 8]
mov edx, dword [0x1401f57c8]
xor edx, 0xc3dd2c3b
or edx, dword [0x1401f57cc]
mov eax, edx
and eax, 0x1029c575
xor edx, 0x1029c575
or eax, edx
imul eax, eax, 0x9d5bcabd
sub eax, 0x7fad0cfe
mov rdx, qword [rbp + 0x50]
mov qword [rbp - 0x50], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x41], cl
cmp eax, 0x835deea7
jb 0x140056e05
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140056b74
jmp 0x140056b47
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140056df6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.1400270d8
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rbp + 0x50]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x140056bf9
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x58]
movabs rax, 0xb3075dcf18949598
movabs r8, 0xb3075dcf18949598
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x140056df6
mov rax, qword [rbp - 0x40]
mov r10, qword [rbp - 0x28]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x20]
mov r9, qword [rbp - 8]
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
imul r9, r9, 0x18
add rcx, r9
add rcx, 0x10
mov r9, qword [rcx]
mov qword [rcx], 0
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140056410
mov rax, qword [rbp + 0x30]
add rsp, 0x30
cmp byte [rax], 0
je 0x140056c74
jmp 0x140056df6
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x19]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x140056dbc
jmp 0x140056c74
mov eax, dword [0x1401f57d0]
add eax, dword [0x1401f57d4]
xor eax, 0xb4af4098
mov edx, 0x7284a715
xor edx, 0xa3fcbdd9
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xd1781acc
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2310f22c
mov edx, 0x974e8b4
xor edx, 0x974e8b4
mov r8d, 0xd4d86130
xor r8d, 0xd4d86131
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0x339aa675
jbe 0x140056e0e
mov r8, qword [rbp - 8]
mov eax, dword [0x1401f57d8]
mov ecx, dword [0x1401f57dc]
xor ecx, 0x84da043a
xor eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xe2815fbd
xor edx, 0x1d7ea042
xor eax, edx
mov edx, 0x2d520cc7
xor edx, 0x3594045d
or eax, edx
add eax, ecx
mov ecx, 0x9e6858a6
xor ecx, 0x9bff765
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x97d7afc3
add eax, 1
add eax, ecx
mov ecx, 0x93d70c3c
xor edx, edx
div ecx
movabs rcx, 0xf3f87d78704726db
movabs rdx, 0xf3f87d78704726da
xor rcx, rdx
mov rdx, r8
add rdx, rcx
mov qword [rbp - 0x80], rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0x77cc0a7b18e14d42
movabs r8, 0x77cc0a7b18e14d42
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x71], cl
cmp eax, 0xed61e375
ja 0x140056cd3
mov rcx, qword [rbp - 0x80]
mov dl, byte [rbp - 0x71]
mov al, 1
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x140056daa
jmp 0x140056dbc
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x140056df6
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x61]
test cl, 1
mov qword [rbp + 0x10], rax
jne 0x14005684b
jmp 0x140056df6
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140048910
add rsp, 0x20
lea rsp, [rbp + 0x60]
pop rbp
ret
invalid
invalid
invalid