Function at 0x140061310
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x48], rcx
mov eax, 0x10
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x58], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x60], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
movabs rdx, 0x99eb492c0361bf71
movabs rax, 0x99eb492c0361bf73
xor rdx, rax
lea r8, [rbp + 0x88]
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
test al, 1
jne 0x1400613a9
jmp 0x1400613bb
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x140061dc4
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x40], rax
cmp rax, 0
jge 0x1400613f4
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x140061dc4
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.1400198e0
mov r9, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp + 0x20], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 0x28], rcx
mov rcx, qword [r9 + 8]
mov r10, qword [rdx]
mov qword [r9], r10
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp + 0x30], rax
xor eax, eax
mov qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x18], rax
cmp rax, rcx
jge 0x140061da0
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x50]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400614a9
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x140061dc4
mov eax, dword [0x1401ddce0]
mov ecx, dword [0x1401ddce4]
mov edx, 0xff857d71
xor edx, 0x1a89f76c
xor ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x8c8c9d96
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8c8c9d96
or eax, 0x8c8c9d96
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x42c141d1
add eax, ecx
mov ecx, 0x31f1e0c6
xor ecx, 0x31f1e0c7
add eax, ecx
sub eax, 0x1611703a
cmp eax, 0x9a5ba9cf
je 0x140061dcd
mov rcx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x18]
mov eax, dword [0x1401ddce8]
xor eax, 0xb015b700
mov r9d, dword [0x1401ddcec]
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x60]
add eax, 0x8e2d132a
mov r9d, eax
xor r9d, 0x925069e1
and eax, r9d
and eax, 0xd7dc6deb
mov rdx, qword [rdx]
shl r8, 5
mov rdx, qword [rdx + r8 + 8]
mov qword [rbp], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp + 0xe], cl
or cl, dl
mov byte [rbp + 0xf], cl
cmp eax, 0x5fcb89f7
ja 0x140061dcd
mov al, byte [rbp + 0xf]
test al, 1
jne 0x140061a66
jmp 0x140061597
mov eax, dword [0x1401ddcf0]
mov ecx, dword [0x1401ddcf4]
mov edx, 0x20a956bb
xor edx, 0x4c301ba0
xor ecx, edx
add eax, ecx
add eax, 0xf2c15492
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x855a3624
mov edx, 0xffffffff
xor edx, 0x855a3624
and eax, edx
sub eax, ecx
sub eax, 0x1a2bae40
cmp eax, 0xdd0c2765
je 0x140061dd6
mov r8, qword [rbp]
mov rcx, qword [rbp + 0x48]
mov edx, dword [0x1401ddcf8]
mov r9d, dword [0x1401ddcfc]
mov eax, r9d
and eax, edx
xor eax, 0xffffffff
add edx, r9d
mov r9d, 0x624b099
xor r9d, 0x624b098
add edx, r9d
add edx, eax
mov eax, 0xe34bdf6f
xor eax, 0x4ae74456
and edx, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x4cbfb78b
mov r10d, 0xffffffff
xor r10d, 0x4cbfb78b
and r9d, r10d
xor eax, 0xffffffff
mov r10d, 0xa595c61f
xor r10d, 0x5a6a39e0
xor r9d, r10d
and eax, r9d
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x4cbfb78b
and edx, r9d
or eax, edx
mov edx, 0x84060bb3
xor edx, 0x7bf9f44c
xor eax, edx
mov edx, 0x51e6bbf6
xor edx, 0x66fd484c
mov r9d, 0x52489126
xor r9d, 0xadb76ed9
xor edx, r9d
add eax, edx
mov edx, 0x25029fc5
xor edx, 0x25029fc4
add eax, edx
mov rcx, qword [rcx]
movabs rdx, 0x6016510748733816
movabs r9, 0x9fe9aef8b78cc7e9
xor rdx, r9
add rcx, rdx
mov rdx, rcx
xor rdx, r8
movabs r9, 0x7884160fbe6be478
movabs r10, 0x877be9f041941b87
xor r9, r10
xor rdx, r9
or rcx, r8
and rcx, rdx
mov qword [rbp - 8], rcx
cmp eax, 0x969d1b23
jb 0x140061dd6
mov rax, qword [rbp - 8]
mov qword [rbp - 0x10], rax
jmp 0x140061704
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400617f8
mov eax, dword [0x1401ddd00]
mov ecx, dword [0x1401ddd04]
mov edx, 0xb56d5ecf
xor edx, 0xd825ab7d
xor ecx, edx
or eax, ecx
mov ecx, 0x4e1fdefd
xor ecx, 0x7d0ed8d5
xor edx, edx
div ecx
mov ecx, 0x6af7a4a6
xor ecx, 0x56c2b92
add eax, ecx
or eax, 0x2d40786d
cmp eax, 0x3ff4e0c
jbe 0x140061ddf
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov eax, dword [0x1401ddd08]
xor eax, 0xb0dd7b58
sub eax, dword [0x1401ddd0c]
sub eax, 0xda3ea20b
add eax, 0x7d378893
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xf2bf3e4a
mov r8d, 0xffffffff
xor r8d, 0x3daf42b
or eax, r9d
or r8d, 0x3daf42b
mov r9d, 0x93e49d2e
xor r9d, 0x6c1b62d1
xor eax, r9d
and eax, r8d
mov dword [rbp - 0x24], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
mov eax, dword [rbp - 0x24]
add rsp, 0x20
cmp eax, 0x48804603
jbe 0x140061774
jmp 0x140061dc4
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0xbe4e53716257f8c4
movabs rdx, 0xbe4e53716257f8c4
xor rcx, rdx
cmp rax, rcx
je 0x14006186f
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
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.14004cfd7
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x10], rax
je 0x140061704
jmp 0x140061dc4
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
cmp rax, rcx
jl 0x1400618a5
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x140061dc4
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.140010368
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jl 0x140061927
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x38]
movabs rax, 0xe3503050a416ca12
movabs r8, 0x1cafcfaf5be935ed
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x140061dc4
mov eax, dword [0x1401ddd10]
mov ecx, 0xbbfeb43
xor ecx, 0xf04a4b3f
xor eax, ecx
add eax, dword [0x1401ddd14]
sub eax, 0x6d860dfd
sub eax, 0x90189e34
sub eax, 0xcfd2f3ff
cmp eax, 0x117b4873
jb 0x140061de8
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x1401ddd18]
xor edx, edx
div dword [0x1401ddd1c]
mov edx, eax
mov rax, qword [rbp + 0x18]
mov r8d, edx
and r8d, 0xe30422e
shl r8d, 1
add edx, 0xe30422e
sub edx, r8d
add edx, 0xe87b4542
xor edx, 0x899a9c9e
mov dword [rbp - 0x50], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.14002b42f
mov r11, qword [rbp - 0x48]
mov r8, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x48]
mov r9, qword [rbp - 0x58]
mov r10, qword [rbp]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp + 0x78], r11
mov qword [rcx], r8
lea r8, [rbp + 0x78]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400610d0
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbp - 0x50]
add rsp, 0x30
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x785e533a
jb 0x14006195a
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140061a27
jmp 0x140061dc4
mov rax, qword [rbp - 0x40]
cmp rax, 0
je 0x140061b0f
mov rcx, qword [rbp - 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140061b0f
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
jmp 0x140061b0f
mov eax, dword [0x1401ddd20]
mov ecx, dword [0x1401ddd24]
xor ecx, 0x32f023f5
and eax, ecx
sub eax, 0x7bf246f2
xor ecx, ecx
sub ecx, eax
mov eax, 0x75b496c2
xor eax, 0x75b496c2
mov edx, 0xf3d17f68
xor edx, 0x9a350996
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0xec111475
cmp eax, 0x81e19d83
ja 0x140061df1
mov eax, dword [0x1401ddd28]
xor eax, 0xf9dec609
or eax, dword [0x1401ddd2c]
mov ecx, 0x282f079e
xor edx, edx
div ecx
sub eax, 0x3c5f36dd
sub eax, 0xd629b629
mov ecx, 0xee7506f9
xor ecx, 0xd22a3024
add eax, ecx
or eax, 0xfa304c20
cmp eax, 0x8ef751f7
jbe 0x140061ab0
mov rcx, qword [rbp + 0x18]
mov dl, byte [rbp + 0xe]
xor eax, eax
test dl, 1
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x59], al
jne 0x140061cb0
jmp 0x140061b0f
mov r9, qword [rbp + 0x18]
mov rcx, r9
add rcx, 1
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rax, 0x23394c0752fbb68
and r8, rax
mov rdx, 0xffffffffffffffff
movabs rax, 0x23394c0752fbb68
xor rdx, rax
and r9, rdx
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r10, 0x898cc50254b774c3
movabs r11, 0x8bbf51c22198cfab
xor r10, r11
and rax, r10
and rdx, 0xffffffffffffffff
or r8, r9
or rax, rdx
xor r8, rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r9, 0x493c57874d7eb428
movabs rax, 0xb6c3a878b2814bd7
xor r9, rax
mov rax, r8
xor rax, r9
or rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0xfec470d1666ea998
movabs r9, 0x13b8f2e99915667
xor r8, r9
xor rdx, r8
xor rax, 0xffffffffffffffff
or rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x59], al
jge 0x140061cb0
mov eax, dword [0x1401ddd30]
sub eax, dword [0x1401ddd34]
sub eax, 0x7a96ec72
mov ecx, eax
xor ecx, 0x21e7dd62
mov edx, 0x2418eebf
xor edx, 0xdbe71140
xor ecx, edx
mov edx, 0x1c6bb4d0
xor edx, 0x3d8c69b2
or eax, edx
and eax, ecx
sub eax, 0x5d9299f1
cmp eax, 0xb69ad785
jbe 0x140061dfa
mov eax, dword [0x1401ddd38]
mov edx, dword [0x1401ddd3c]
xor edx, 0x8801c7ac
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
add eax, 0xe0978d5
mov edx, eax
and edx, 0x69289e6c
mov ecx, 0x5558f0e4
xor ecx, 0x5558f0e6
imul ecx, edx
mov edx, 0x3155b6eb
xor edx, 0x587d2887
add eax, edx
sub eax, ecx
mov ecx, 0x4a2c1470
xor edx, edx
div ecx
mov dword [rbp - 0x6c], eax
mov eax, 0x744ad426
xor eax, 0xf341e851
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.1400067fe
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
ja 0x140061dfa
jmp 0x140061dc4
mov rax, qword [rbp - 0x68]
mov cl, byte [rbp - 0x59]
mov byte [rbp - 0x79], cl
mov qword [rbp - 0x78], rax
mov ecx, dword [0x1401ddd40]
mov edx, dword [0x1401ddd44]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x35381706
xor ecx, 0xcac7e8f9
xor eax, ecx
sub eax, 0x78303dc9
imul eax, eax, 0x37997d88
or eax, 0x6273970f
cmp eax, 0x6e7f2d50
jbe 0x140061e03
mov ecx, dword [0x1401ddd48]
xor ecx, 0x5597d62c
mov edx, dword [0x1401ddd4c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x4ed3a80b
add eax, ecx
imul eax, eax, 0xaca0f584
mov r8d, 0x1bb648a2
xor r8d, 0xf8801c62
mov ecx, 0x18643379
xor ecx, 0xe79bcc86
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x26a5fdd6
xor r8d, 0xd95a0229
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe33654c0
or eax, 0xe33654c0
imul eax, edx
add eax, ecx
cmp eax, 0x857a6b22
jae 0x140061e03
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x79]
test cl, 1
mov qword [rbp + 0x38], rax
jne 0x140061451
jmp 0x140061dc4
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.14004f360
add rsp, 0x20
lea rsp, [rbp + 0x90]
pop rbp
ret
cld
cmp esi, eax
movsd dword [rdi], dword [rsi]
jmp 0x14006151d
mov byte [rdi], bh
adc dword [rcx + rbp*8], ecx
add bh, al
invalid
iretd
xor eax, 0xe9e997a4
imul edi, ebx, 0x7520ffff
and bl, byte [rax - 0x17]
mov dh, 0xfc
invalid
and byte [rbp + 0x22], dh
pop rax
jmp 0x140061ab0
or ebp, eax
ret
pop rcx
fimul dword [rdx*2 - 0x10817]
dec dword [rdi]
invalid