Function at 0x1400530a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.14004e8b3
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x68], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x70], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
mov edx, 2
lea r8, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14004f720
add rsp, 0x20
test al, 1
jne 0x140053129
jmp 0x14005313b
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140053d06
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x50], rax
cmp rax, 0
jge 0x140053174
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x140053d06
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.14001d510
mov r9, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp + 0x28], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 0x30], 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 + 0x98]
add rax, 8
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x88]
add rax, 8
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x20], rax
mov eax, dword [0x1402527a0]
mov edx, dword [0x1402527a4]
xor edx, 0x2287afb8
and eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0x2cf1bce5
mov edx, 0xe2969e29
xor edx, 0x1d6961d6
mov ecx, eax
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xc7ce77ef
xor eax, 0x2cbc3ddc
mov edx, 0xdad61bf
xor edx, 0xe6df2b8c
or eax, edx
xor eax, 0xffffffff
mov edx, 0x9cc8dc09
xor edx, 0x633723f6
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, 0x8d0f142f
mov edx, 0x6bb933de
xor edx, 0xe6b627f1
or ecx, edx
add eax, ecx
cmp eax, 0x21d445a5
jbe 0x140053d11
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov eax, dword [0x1402527a8]
mov r10d, dword [0x1402527ac]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
mov r11d, 0xfa2ce4ad
xor r11d, 0x5d31b52
xor r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
add eax, 0x68c95ab
mov r9d, eax
xor r9d, 0x45b2f7b
xor r9d, 0xffffffff
and r9d, 0x45b2f7b
mov r8d, 0xf9f05b8b
xor r8d, 0xf9f05b89
imul r8d, r9d
sub r8d, 0x45b2f7b
sub eax, r8d
mov r8d, 0x324e8411
xor r8d, 0x6b07f887
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp + 0x1f], cl
cmp eax, 0x2db326c9
je 0x140053d11
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x14005332c
jmp 0x140053cdf
mov eax, dword [0x1402527b0]
mov r8d, dword [0x1402527b4]
mov ecx, 0x6fe0e60b
xor ecx, 0x139e7572
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc22ca4e7
xor ecx, 0x9f42ee84
mov edx, 0x8d308ab3
xor edx, 0x72cf754c
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x6d18a5dd
xor ecx, 0x26c4a286
add eax, ecx
mov ecx, 0x78e43ea6
xor ecx, 0xadeec6a9
imul eax, ecx
mov ecx, 0x56e4a0f5
xor ecx, 0x60f2bc14
cmp eax, ecx
je 0x140053d1a
mov rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x60]
mov eax, dword [0x1402527b8]
mov ecx, dword [0x1402527bc]
imul eax, ecx
mov ecx, 0xd414d433
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0xd69a04ab
and eax, 0xf562809b
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp + 0x10], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp + 0x1e], cl
cmp eax, 0xe14384c8
ja 0x1400533b8
mov al, byte [rbp + 0x1e]
test al, 1
jne 0x1400535b2
jmp 0x14005341a
mov r11d, dword [0x1402527c0]
mov ecx, dword [0x1402527c4]
mov eax, ecx
and eax, r11d
xor eax, 0xffffffff
add r11d, ecx
add r11d, 1
add r11d, eax
mov eax, r11d
add eax, 1
xor r11d, 0xffffffff
mov ecx, 0x6786c1cd
xor ecx, 0x4b20725f
or r11d, ecx
add r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xfd388d88
xor r8d, 0x9221d99e
mov eax, 0x444e0891
xor eax, 0xbbb1f76e
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xc54ce5c7
mov eax, ecx
and eax, 0xc54ce5c7
and r11d, edx
mov r9d, r8d
and r9d, 0xc54ce5c7
mov r10d, edx
and r10d, 0x6f195416
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xc54ce5c7
and ecx, edx
or eax, ecx
imul eax, eax, 0xb2ef61ef
mov ecx, 0x6fd3e1f4
xor ecx, 0xa2ec17fd
cmp eax, ecx
jae 0x140053d23
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1402527c8]
xor eax, 0x13b4b967
mov edx, dword [0x1402527cc]
xor edx, 0xd9a620c6
add eax, edx
mov r8d, eax
and r8d, 0xfa44b54e
mov edx, 0xe09c178c
xor edx, 0xe09c178e
imul edx, r8d
mov r8d, 0x760026f5
xor r8d, 0x8c4493bb
add eax, r8d
sub eax, edx
mov r8d, 0x81c96509
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x10]
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xbf361a7d
mov r10d, 0xffffffff
xor r10d, 0xbf361a7d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x99e56c1f
xor r10d, 0x26d37662
mov r9d, eax
and r9d, r10d
mov r10d, 0xfda42748
xor r10d, 0x42923d35
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rbp + 0xc], eax
movabs rax, 0x5a46a2a04a60cef6
movabs r8, 0xa5b95d5fb59f3109
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x39e88cf7
jae 0x1400534cf
jmp 0x140053d06
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
lea rdx, [rdx + rdx*4]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rbp], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0xb], al
or al, cl
test al, 1
jne 0x140053b55
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
and rax, rcx
mov qword [rbp - 8], rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 8]
mov qword [rbp - 0x18], rcx
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 0x140053645
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140053d06
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x28
add rax, rcx
cmp qword [rax], 0
je 0x1400536aa
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
movabs rax, 0x649397e671c0c4e5
movabs r8, 0x9b6c68198e3f3b1a
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.14004fa4c
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 8], rax
je 0x1400535fe
jmp 0x140053d06
mov eax, dword [0x1402527d0]
and eax, dword [0x1402527d4]
mov r8d, 0xffffffff
xor r8d, 0x56d40409
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x56d40409
or eax, 0x56d40409
imul eax, edx
add eax, ecx
and eax, 0x5e5a0b9e
sub eax, 0xfb31c797
mov ecx, 0xbd3f81fa
xor ecx, 0xb1064154
cmp eax, ecx
jbe 0x140053d2c
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1402527d8]
xor eax, 0xed93c961
mov edx, dword [0x1402527dc]
mov r8d, 0x16caa8b3
xor r8d, 0xe935574c
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov r8d, 0x52d5b4e2
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x60]
mov r10d, eax
mov r8d, 0x5d3cd1db
xor r8d, 0xa2c32e24
mov eax, r10d
xor eax, r8d
and eax, 0x5ec2fcb4
mov r11d, 0x9d3ac28f
xor r11d, 0xc3f83e3b
mov r8d, 0x8346392b
xor r8d, 0x7cb9c6d4
xor r11d, r8d
and r10d, r11d
mov r8d, 0xffffffff
xor r8d, 0xf68b8cc8
mov r9d, 0x6ff9e05b
xor r9d, 0x313b1cef
and r8d, r9d
mov r9d, 0xfb0017a0
xor r9d, 0xd8b9b68
and r9d, r11d
or eax, r10d
or r8d, r9d
xor eax, r8d
sub eax, 0x14b33c03
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x19], cl
cmp eax, 0xba0c7334
jbe 0x140053d2c
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140053810
jmp 0x1400537e3
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x28]
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.140013507
add rsp, 0x20
jmp 0x140053d06
mov eax, dword [0x1402527e0]
add eax, dword [0x1402527e4]
mov edx, 0xfbf755b4
xor edx, 0x408aa4b
mov ecx, eax
xor ecx, edx
mov r8d, 0x6305659b
xor r8d, 0x9cfa9a64
mov edx, eax
xor edx, r8d
or ecx, edx
mov edx, 0x971231b
xor edx, 0xf68edce4
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x84b17ba3
or ecx, edx
mov edx, 0xe4905ab3
xor edx, 0x60212110
mov r8d, 0x2df3d103
xor r8d, 0xd20c2efc
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x84b17ba3
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0xb6b942f6
xor r8d, 0x4946bd09
xor edx, r8d
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x4872910b
xor eax, 0xffffffff
mov edx, 0xe7bf92dc
xor edx, 0xafcd03d7
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0xa4a92ee6
cmp eax, 0x1daf9fdb
jbe 0x140053d35
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov edx, dword [0x1402527e8]
mov r9d, dword [0x1402527ec]
mov r8d, edx
xor r8d, r9d
mov r10d, 0x6d409ed3
xor r10d, 0x92bf612c
xor r8d, r10d
or edx, r9d
and edx, r8d
mov r9d, edx
and r9d, 0xdc53ba21
mov r8d, 0x58f14dd3
xor r8d, 0x58f14dd1
imul r8d, r9d
add edx, 0xdc53ba21
sub edx, r8d
add edx, 0x32a4858f
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0xa2d0da1f
xor r9d, 0xcba94be9
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x697991f6
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x697991f6
or edx, 0x697991f6
imul edx, r9d
add edx, r8d
mov dword [rbp - 0x3c], edx
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
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.1400102b5
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x29], cl
cmp eax, 0xa9073791
ja 0x1400538cd
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400539f2
jmp 0x1400539d4
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140053d06
mov rsi, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x50]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.1400102b5
mov r11, qword [rbp + 0x38]
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x58]
mov r10, qword [rbp]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x98], rdi
mov qword [r11], rsi
mov qword [rbp + 0x88], r9
mov qword [rcx], r8
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x88]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140052e10
mov rax, qword [rbp + 0x68]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140053d06
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x140053b73
mov eax, dword [0x1402527f0]
and eax, dword [0x1402527f4]
imul eax, eax, 0x27dd7e1a
and eax, 0xf63dd752
and eax, 0xf1553513
mov ecx, 0x59d3565
xor ecx, 0x2583c64b
cmp eax, ecx
jb 0x140053d3e
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1402527f8]
xor eax, 0x20e954e1
add eax, dword [0x1402527fc]
or eax, 0xafbf253f
sub eax, 0x33483505
xor eax, 0xef764bf5
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x2c150a40
ja 0x140053acf
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140053b3f
jmp 0x140053b73
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
jmp 0x140053b73
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp + 0xb]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jne 0x140053cc6
jmp 0x140053b73
mov rax, qword [rbp + 0x20]
mov rcx, rax
add rcx, 1
mov r8, rax
or r8, r8
movabs rdx, 0xdc4aef3c828e0a8f
movabs r9, 0x23b510c37d71f570
xor rdx, r9
xor r8, rdx
movabs rdx, 0xf934672d87344b0a
movabs r9, 0x6cb98d278cbb4f5
xor rdx, r9
movabs r9, 0xf017a1c58c7ef1ae
movabs r10, 0xfe85e3a73810e51
xor r9, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
or r8, rdx
xor r8, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
or r8, rax
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
and rdx, rax
mov rax, r8
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
or rdx, rax
xor rdx, 0xffffffffffffffff
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jge 0x140053cc6
mov eax, dword [0x140252800]
xor eax, 0x2dae2c50
xor edx, edx
div dword [0x140252804]
mov ecx, 0xd7a42e3a
xor ecx, 0x7198095a
sub eax, ecx
add eax, 0x51c3c05d
mov ecx, 0xa819c1e0
xor ecx, 0xb42e53d4
add eax, ecx
sub eax, 0xa1ac8d58
sub eax, 0x1c379234
cmp eax, 0x3623a1ad
je 0x140053d47
mov eax, dword [0x140252808]
mov ecx, dword [0x14025280c]
xor ecx, 0x15d44463
and eax, ecx
or eax, 0xf1b8d638
add eax, 0x54d33db6
add eax, 0x30a8eb05
mov dword [rbp - 0x74], eax
mov eax, 0x624b53ff
xor eax, 0x8ff67c91
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.140007e9d
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
je 0x140053c73
jmp 0x140053d06
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x62]
test cl, 1
mov qword [rbp + 0x48], rax
jne 0x1400531e3
jmp 0x140053d06
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.140051dd0
add rsp, 0x20
lea rsp, [rbp + 0xb0]
movsd dword [rdi], dword [rsi]
mov al, 0
add byte [rax], al
pop rdi
pop rsi
pop rbp
ret
lahf
mov cl, 2
out 0xe9, eax
pop rbp
cmc
invalid
nop
mov ebp, edi
jnp 0x140053d08
xchg ebp, eax
idiv bh
invalid
fnstenv [rbp + rdx*4 - 0x49]
jmp 0x1400534cf
in al, dx
or dword [rbp + 0x27], esp
jmp 0x140053702
out dx, eax
invalid
mov edx, dword [rax + 0x5b]
pop rsi
jmp 0x140053acf
pop rcx
pushfq
sbb r13b, cl
and edi, edi
invalid