Function at 0x140053300
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x58], rcx
call fcn.14004b700
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
add rcx, 8
mov qword [rsp + 0x68], rcx
xor eax, eax
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x50], rdx
cmp rax, rcx
jge 0x1400536d9
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rcx, 0
mov qword [rsp + 0x40], rax
je 0x1400534f1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
movabs rdx, 0xb47672c2792347d8
movabs r8, 0xf47672c2792347d8
xor rdx, r8
and rcx, rdx
movabs rdx, 0xff27edcd4d8625f5
movabs r8, 0xff27edcd4d8625f5
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jne 0x1400534f1
mov eax, dword [0x140202940]
or eax, dword [0x140202944]
mov ecx, eax
or ecx, 0x3931076c
xor ecx, 0xffffffff
mov edx, 0x820d5172
xor edx, 0x7df2ae8d
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x3931076c
and eax, edx
mov edx, 0xd9d75585
xor edx, 0x2628aa7a
xor ecx, edx
mov edx, 0x4141e6be
xor edx, 0xbebe1941
xor eax, edx
and ecx, eax
mov eax, ecx
and eax, 0x32cec768
xor ecx, 0x32cec768
or eax, ecx
mov ecx, 0xdeda1211
xor edx, edx
div ecx
cmp eax, 0x67217961
ja 0x140053820
mov rcx, qword [rsp + 0x38]
mov r9d, dword [0x140202948]
imul r9d, dword [0x14020294c]
mov eax, 0xe122a610
xor eax, 0x76f5daad
xor r9d, eax
mov edx, r9d
xor edx, 0xffffffff
mov eax, 0xd423dcee
xor eax, 0x9967053b
and eax, edx
mov r8d, 0x50113777
xor r8d, 0x1d55eea2
mov edx, 0x4146b788
xor edx, 0xbeb94877
xor r8d, edx
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x4b085721
and edx, 0x4d44d9d5
and r8d, 0x4b085721
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0xc3038be8
xor edx, 0xb1d31775
add eax, edx
mov dword [rsp + 0x2c], eax
call fcn.14000fb44
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp eax, 0x9bfa1933
ja 0x14005343f
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
jmp 0x1400534f1
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
mov rdx, qword [0x140216ef8]
call fcn.14005383b
test al, 1
jne 0x140053526
jmp 0x1400536b0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
call fcn.14014d350
mov rax, qword [rsp + 0x60]
mov al, byte [rax]
mov cl, 0x5e
xor cl, 0x5e
cmp al, cl
jne 0x14005381b
mov eax, dword [0x140202950]
mov ecx, dword [0x140202954]
mov edx, 0x96b345e5
xor edx, 0x1d300c1
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x5e112a69
xor ecx, 0x75067135
or eax, ecx
mov edx, eax
and edx, 0xcb3f8372
mov ecx, 0xf4ada4a9
xor ecx, 0xf4ada4ab
imul ecx, edx
add eax, 0xcb3f8372
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x419aa2f
xor edx, 0x5f131af8
and edx, ecx
mov r8d, 0x11f67d97
xor r8d, 0x4afccd40
mov ecx, 0xe86fa0c4
xor ecx, 0x17905f3b
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5b0ab0d7
or eax, 0x5b0ab0d7
imul eax, edx
add eax, ecx
cmp eax, 0x6e52a855
jbe 0x140053829
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140202958]
mov edx, 0xa591c55d
xor edx, 0xe64a2934
xor eax, edx
or eax, dword [0x14020295c]
mov r8d, 0xdc640d6a
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x68]
sub edx, 0xf8e094b7
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0x7dfba823
xor r9d, 0xb0c5bc1e
and r8d, r9d
mov r9d, 0xaa076711
xor r9d, 0x6739732c
mov r10d, 0xa83876fa
xor r10d, 0x57c78905
xor r9d, r10d
and edx, r9d
sub edx, r8d
mov dword [rsp + 0x28], edx
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
movabs rdx, 0x4910ed19dcdf2fad
movabs rax, 0x4910ed19dcdf2fa5
xor rdx, rax
call fcn.14000fb9a
mov eax, dword [rsp + 0x28]
cmp eax, 0xff8ee50b
ja 0x1400535f7
jmp 0x1400536b0
mov rax, qword [rsp + 0x48]
movabs rcx, 0x6faff34acf48c432
movabs rdx, 0x6faff34acf48c433
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x140053328
mov rax, qword [rsp + 0x50]
cmp rax, 0
je 0x14005381b
mov rcx, qword [rsp + 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x702ff44c418154d4
movabs rdx, 0x702ff44c418154d4
xor rcx, rdx
cmp rax, rcx
jne 0x14005381b
mov eax, dword [0x140202960]
xor edx, edx
div dword [0x140202964]
mov ecx, eax
xor eax, eax
sub eax, 0xd191aabb
add ecx, eax
mov eax, 0x76efdd1
xor eax, 0xd49f2af9
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x53e11bb4
xor ecx, 0x817ad29a
mov edx, 0xacc4d55a
xor edx, 0x7e5f1c74
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xfbe4b7f0
jae 0x140053832
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x140202968]
mov edx, 0x4beca8b5
xor edx, 0x5c7aa296
xor eax, edx
or eax, dword [0x14020296c]
mov r8d, 0x8f9dd959
xor edx, edx
div r8d
mov edx, eax
mov eax, 0x6de57505
xor eax, 0x9cf9018
or edx, eax
mov eax, 0x6de94163
xor eax, 0x9216be9c
mov r8d, edx
xor r8d, eax
mov eax, 0x5bd2b93c
xor eax, 0x3716ab17
and eax, r8d
mov r8d, 0xf29c8ad
xor r8d, 0x63edda86
mov r9d, 0x58fd2412
xor r9d, 0xa702dbed
xor r8d, r9d
and edx, r8d
or eax, edx
mov dword [rsp + 0x24], eax
mov eax, 0x5027f7b8
xor eax, 0x25d86665
mov dword [rsp + 0x20], eax
mov edx, 8
call fcn.14000fb49
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
cmp eax, ecx
jae 0x140053774
jmp 0x14005381b
add rsp, 0x78
ret
sub byte [rax + 0x21], 0x25
jmp 0x14005343f
and dh, byte [rsi]
insb byte [rdi], dx
or eax, 0xfffdc5e9
push qword [rdi]
mov dh, 0xd
jmp 0x140053774
invalid