Function at 0x140113510
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.1401134f0
add rsp, 0x20
mov qword [rbp + 0x40], rax
mov ecx, 2
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.140018f50
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov word [rcx], 0x4bf
sub rsp, 0x20
call fcn.140061b50
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 0x48], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x50], rax
jne 0x140113cc7
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax]
mov qword [rbp + 0x88], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14001ba7e
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov r8, rax
add r8, 8
mov qword [rbp], r8
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
mov ax, 0x805c
xor ax, 0x8960
mov word [rbp + 0x9e], ax
lea rcx, [rbp + 0x9e]
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 8], rcx
mov cl, byte [rax]
mov dl, 1
xor dl, 1
xor eax, eax
cmp cl, dl
mov qword [rbp + 0x50], rax
jne 0x140113cc7
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.14001ba7e
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x28], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp - 0x20], rax
movabs rax, 0xc02516aaea24113d
movabs rdx, 0xc02516aaea24113d
xor rax, rdx
cmp rcx, rax
sete al
mov byte [rbp - 0x11], al
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x30], rax
movabs rcx, 0x3fa735d8b3b6124
movabs rdx, 0x3fa735d8b3b6126
xor rcx, rdx
cmp rax, rcx
je 0x140113995
mov ecx, dword [0x1402523d8]
mov eax, dword [0x1402523dc]
xor eax, 0x4d66bf7e
add ecx, eax
and ecx, 0x1dfd698f
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x3df32a59
mov r8d, 0xffffffff
xor r8d, 0x3df32a59
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x3df32a59
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x259fd322
xor ecx, 0x705c3aa1
and eax, ecx
mov ecx, 0x997a8d89
xor ecx, 0xa8f3b84d
cmp eax, ecx
jae 0x140113d04
mov r8, qword [rbp - 0x28]
mov r9, qword [rbp]
mov rdx, qword [rbp - 0x30]
mov eax, dword [0x1402523e0]
xor eax, 0x5d6061cf
sub eax, dword [0x1402523e4]
mov ecx, 0xa9823691
xor ecx, 0xfbe95f86
and eax, ecx
mov ecx, 0xbda4d7a1
xor ecx, 0x50750033
or eax, ecx
sub eax, 0x334b993
sub eax, 0x60d27efb
add eax, 0x334b993
mov ecx, 0x72317a0f
xor ecx, 0xe4c6886
shl rdx, 4
add r9, rdx
mov rdx, qword [r9]
mov r9, qword [r9 + 8]
mov qword [rbp - 0x40], r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jb 0x140113d04
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401137ff
jmp 0x140113984
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140113a18
jmp 0x14011380f
mov rax, qword [rbp - 0x40]
add rax, 8
mov qword [rbp - 0x50], rax
xor eax, eax
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x58], rax
mov ecx, dword [0x1402523e8]
xor ecx, 0x49159b34
mov eax, dword [0x1402523ec]
xor eax, 0x14005009
or ecx, eax
mov eax, 0x194c2e1b
xor eax, 0xd92fb035
or ecx, eax
mov edx, 0x59ed91db
xor edx, 0xb1f2b012
mov eax, 0x4004344c
xor eax, 0xbffbcbb3
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0xe81f21c9
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb22e3ecb
or eax, edx
mov edx, 0xffffffff
xor edx, 0xb22e3ecb
mov r8d, 0xffffffff
xor r8d, 0xb22e3ecb
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xe54f3fa2
xor edx, 0x1ab0c05d
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xa4c53e41
jae 0x140113d0d
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1402523f0]
mov r8d, dword [0x1402523f4]
mov edx, eax
and edx, r8d
or eax, r8d
add edx, eax
mov eax, edx
and eax, 0xf911e51f
or edx, 0xf911e51f
add eax, edx
mov r8d, 0x5cca690c
xor r8d, 0x176ae2d8
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x10]
mov r8d, eax
mov r9d, 0x73ec3216
xor r9d, 0xe6e8aec8
mov eax, r8d
and eax, r9d
mov r9d, 0xe8637936
xor r9d, 0x7d67e5e8
xor r8d, r9d
or eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xf6264d49
je 0x1401138c9
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140113a18
jmp 0x140113956
mov r8, qword [rbp - 0x58]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x50]
mov cl, byte [rcx + r8]
mov dl, byte [rax + r8]
mov rax, r8
and rax, 1
or r8, 1
add rax, r8
cmp cl, dl
mov qword [rbp - 0x48], rax
je 0x140113821
mov rax, qword [rbp - 0x30]
add rax, 1
mov qword [rbp - 8], rax
jmp 0x1401136e0
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [str.0___]
mov qword [rcx], rax
lea rax, [0x140263274]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263280]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140263288]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263274]
lea r8, [0x140263290]
lea r9, [0x140263296]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xcb23518
call fcn.14001203f
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x50], rax
jmp 0x140113cc7
mov ecx, dword [0x1402523f8]
mov eax, dword [0x1402523fc]
mov edx, 0x21fed363
xor edx, 0xbbca9b1b
add ecx, edx
add ecx, eax
sub ecx, 0x9a344878
add ecx, 0xea6a6952
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x40b7e500
mov edx, 0xffffffff
xor edx, 0x40b7e500
and ecx, edx
or eax, ecx
mov ecx, 0x443d50bb
xor ecx, 0xabe5e49d
or eax, ecx
mov ecx, 0xc162c42d
xor ecx, 0x19fa0667
cmp eax, ecx
jbe 0x140113d16
mov eax, dword [0x140252400]
xor edx, edx
div dword [0x140252404]
mov rdx, qword [rbp + 0x10]
imul eax, eax, 0x6c47a202
mov ecx, 0xcf9697cd
xor ecx, 0x81e5a988
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x756da824
mov r8d, 0xffffffff
xor r8d, 0x756da824
and eax, r8d
sub eax, ecx
mov ecx, 0x67f0733f
xor ecx, 0x1e921f38
mov r8, rdx
add r8, 0x90
mov qword [rbp - 0x68], r8
movss xmm0, dword [rdx + 0x90]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
sete dl
setnp r8b
and dl, r8b
mov byte [rbp - 0x5a], dl
cmp eax, ecx
jbe 0x140113d16
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x140113b06
jmp 0x140113c60
mov r11d, dword [0x140252408]
mov r10d, dword [0x14025240c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xe18491e0
xor edx, 0x3e596eb8
mov eax, 0x58c53058
xor eax, 0xa73acfa7
xor edx, eax
mov r9d, 0xbc7017ef
xor r9d, 0x63ade8b7
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0xdfddff58
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x82041dcd
xor r8d, 0x7dfbe232
xor ecx, r8d
or edx, 0xdfddff58
and ecx, edx
or eax, ecx
mov ecx, 0xb3a140ed
xor ecx, 0xb3a140ed
mov edx, 0x94177ba
xor edx, 0xd6f8204
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x4c2b8b50
add eax, 0xda3b15db
mov ecx, 0xbfb00c42
xor ecx, 0xd79524d1
cmp eax, ecx
jb 0x140113d1f
mov rcx, qword [rbp - 0x68]
mov edx, dword [0x140252410]
mov r9d, dword [0x140252414]
mov eax, 0xecdae263
xor eax, 0x13251d9c
mov r10d, r9d
xor r10d, eax
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
mov r10d, 0x3007b0cc
xor r10d, 0xcff84f33
xor eax, r10d
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov r8d, 0x269bebe2
xor r8d, 0xab4fbfbb
mov eax, edx
and eax, r8d
xor edx, 0x8dd45459
or eax, edx
mov edx, eax
and edx, 0x1da37a22
shl edx, 1
mov r8d, 0x85f15732
xor r8d, 0x98522d10
add eax, r8d
sub eax, edx
imul eax, eax, 0x4018a6ac
movss xmm0, dword [0x140263270]
movss dword [rcx], xmm0
cmp eax, 0x43f9ef62
jae 0x140113d1f
jmp 0x140113c60
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14010a560
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp - 0x70], rax
cmp byte [rcx], 0
mov qword [rbp + 0x50], rax
jne 0x140113cc7
mov rax, qword [rbp + 0x38]
movabs rcx, 0xb6ff082558eeb6a4
movabs rdx, 0xb6ff082558eeb6a6
xor rcx, rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.1400182e0
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov qword [rbp - 0x78], rax
jmp 0x140113cf7
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x50]
mov qword [rbp - 0x80], rdx
mov qword [rcx], 2
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400182e0
mov rax, qword [rbp - 0x80]
add rsp, 0x20
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0xa0]
pop rbp
ret
sbb cl, 0xc
jmp 0x14011377b
jns 0x140113d8b
or al, 0xe9
mov bl, 0xfb
invalid
invalid
push rsi
retf
push rbp
invalid