Function at 0x140053560
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x90], rcx
mov edx, dword [0x1401da4f0]
add edx, dword [0x1401da4f4]
mov ecx, edx
xor ecx, 0x76998a27
mov eax, 0x3797b5f0
xor eax, 0x410e3fd7
mov r8d, 0x2331b71a
xor r8d, 0xdcce48e5
xor eax, r8d
and edx, eax
mov eax, 0xf9523ba1
xor eax, 0xf9523ba3
imul eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x941482bc
xor eax, 0x941482bc
mov edx, 0xd52ed5e7
xor edx, 0xc12b5c0a
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x472d9f9c
mov edx, 0xffffffff
xor edx, 0x472d9f9c
and eax, edx
sub eax, ecx
cmp eax, 0xd745882
je 0x140054248
mov eax, dword [0x1401da4f8]
xor eax, 0xc41232ae
mov ecx, dword [0x1401da4fc]
and eax, ecx
add eax, 0xa6a684a2
mov edx, eax
not edx
and edx, 0x9d0e5c6
mov ecx, eax
and ecx, 0x362f1a39
imul ecx, edx
mov edx, eax
and edx, 0x9d0e5c6
or eax, 0x9d0e5c6
imul eax, edx
add eax, ecx
or eax, 0xc0c49153
mov dword [rbp + 0x88], eax
mov eax, 0x4344c48f
mov dword [rbp + 0x84], eax
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.140043a70
mov rcx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x70], rdx
movabs rdx, 0xd1ea9dc27310a69
movabs r9, 0xd1ea9dc27310a69
xor rdx, r9
mov qword [rcx], rdx
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x78], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
movabs rdx, 0x6bcaa1f6921730e
movabs rax, 0x6bcaa1f6921730c
xor rdx, rax
sub rsp, 0x20
call fcn.140044e80
mov ecx, dword [rbp + 0x84]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x88]
mov byte [rbp + 0x8f], dl
cmp eax, ecx
je 0x1400535fd
mov al, byte [rbp + 0x8f]
test al, 1
jne 0x140053749
jmp 0x14005375b
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14005423e
mov eax, dword [0x1401da500]
mov ecx, dword [0x1401da504]
xor ecx, 0xbc913dfb
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xec102935
add eax, ecx
add eax, 1
add eax, 0xbe2f2954
imul eax, eax, 0x3678540b
cmp eax, 0xfd6f4d0
jbe 0x140054251
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x1401da508]
mov edx, dword [0x1401da50c]
xor edx, 0xa9acd014
and eax, edx
mov edx, 0xf6f69f0c
xor edx, 0x90960f3
mov r8d, eax
xor r8d, edx
and r8d, 0x93193231
mov r9d, 0xbfadaf7c
xor r9d, 0x2cb49d4d
mov edx, 0xab90ecd
xor edx, 0xf546f132
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x93193231
mov r9d, 0xb6fc370b
xor r9d, 0x25e5053a
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xa0e6f06c
xor r8d, 0x1a2c5759
xor edx, edx
div r8d
mov edx, 0xfbc9da0e
xor edx, 0x3e83d35a
mov r8d, 0x758356dd
xor r8d, 0x8a7ca922
xor edx, r8d
add eax, edx
add eax, 1
mov rcx, qword [rcx]
mov qword [rbp + 0x38], rcx
cmp rcx, 0
setl cl
mov byte [rbp + 0x47], cl
cmp eax, 0x69b367bd
je 0x140053797
mov al, byte [rbp + 0x47]
test al, 1
jne 0x140053869
jmp 0x14005388d
mov rcx, qword [rbp + 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x14005423e
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.140020b39
mov r10, qword [rbp + 0x90]
mov r8, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x18], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 0x20], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x10], rax
mov eax, dword [0x1401da510]
mov ecx, 0x47aac892
xor ecx, 0x1fd88f8
xor eax, ecx
mov ecx, dword [0x1401da514]
xor ecx, 0x7f735b51
xor eax, ecx
mov ecx, 0x7e674455
xor ecx, 0x50205977
add eax, ecx
add eax, 0xc9cd7934
mov ecx, 0x9d2655de
xor ecx, 0xb36148fc
sub eax, ecx
mov ecx, 0xc0a39da4
xor ecx, 0x680a0c6f
or eax, ecx
and eax, 0xcc6be1ff
mov ecx, 0x292f88e9
xor ecx, 0x1a07adf3
cmp eax, ecx
jb 0x14005425a
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov r10d, dword [0x1401da518]
mov r8d, dword [0x1401da51c]
mov eax, r10d
xor eax, r8d
xor r8d, 0xffffffff
and r10d, r8d
shl r10d, 1
sub r10d, eax
mov eax, 0xf7a14d53
xor eax, 0x6f89e5e5
or r10d, eax
mov r8d, 0x2d486da8
xor r8d, 0xd2b79257
mov eax, r10d
xor eax, r8d
and eax, 0x42f4b5f4
mov r9d, 0xffffffff
xor r9d, 0x42f4b5f4
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0xaeb00e50
mov r11d, 0x4bb56554
xor r11d, 0x941d0a0
and r8d, r11d
and r9d, 0xaeb00e50
or eax, r10d
or r8d, r9d
xor eax, r8d
add eax, 0xbe265fab
cmp rcx, rdx
setl cl
mov byte [rbp + 0xf], cl
cmp eax, 0x792618f5
je 0x14005395a
mov al, byte [rbp + 0xf]
test al, 1
jne 0x140053a0f
jmp 0x14005421b
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x60]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140053a68
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp]
movabs rax, 0x70fe943c80b45e60
movabs r8, 0x8f016bc37f4ba19f
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14005423e
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x10], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 1], al
or al, cl
test al, 1
jne 0x1400540a3
mov eax, dword [0x1401da520]
mov ecx, 0x4726a789
xor ecx, 0x4b02b26a
xor eax, ecx
mov edx, dword [0x1401da524]
xor ecx, ecx
sub ecx, eax
mov eax, 0xb34c0d95
xor eax, 0xb34c0d95
sub eax, edx
add ecx, eax
mov eax, 0xb4c9f1a9
xor eax, 0xb4c9f1a9
sub eax, ecx
mov ecx, 0x89a66098
xor ecx, 0x4fb24f3c
or eax, ecx
or eax, 0x9f22f3c
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa5f13104
mov r8d, 0x550788eb
xor r8d, 0xf0f6b9ef
mov ecx, 0xb1789e9f
xor ecx, 0x4e876160
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x2c30e375
xor r8d, 0x89c1d271
mov edx, eax
and edx, r8d
or eax, 0xa5f13104
imul eax, edx
add eax, ecx
cmp eax, 0xc8988403
je 0x140054263
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x1401da528]
and eax, dword [0x1401da52c]
and eax, 0xea8fae25
imul eax, eax, 0xefaad5ff
mov edx, 0xac4df959
xor edx, 0x91d87ef3
and eax, edx
mov rcx, qword [rcx]
movabs r9, 0x3cd684193ab92da4
movabs rdx, 0xc3297be6c546d25b
xor r9, rdx
mov rdx, rcx
and rdx, r9
shl rdx, 1
xor rcx, 0xffffffffffffffff
add rcx, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
mov qword [rbp - 0x18], rcx
cmp eax, 0xdc860667
ja 0x140054263
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
jmp 0x140053bc2
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140053c70
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
movabs rax, 0x752c7130e65ae4a0
movabs r8, 0x8ad38ecf19a51b5f
xor rax, r8
movabs r8, 0x4f756cd29ec968fd
movabs r9, 0xb08a932d61369702
xor r8, r9
xor rax, r8
movabs r8, 0x3605ee904128fb9f
movabs r9, 0x3605ee904128fb9f
xor r8, r9
movabs r9, 0x93f10577e8396929
movabs r10, 0x93f10577e8396928
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14005423e
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140053cd9
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140044fc0
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x71
xor dl, 0x71
cmp cl, dl
mov qword [rbp - 0x20], rax
je 0x140053bc2
jmp 0x14005423e
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jl 0x140053dee
mov eax, dword [0x1401da530]
xor edx, edx
div dword [0x1401da534]
mov edx, 0x382216ac
xor edx, 0xb26f241d
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0xc23ac029
xor edx, 0x4877f298
add eax, edx
sub eax, ecx
and eax, 0x1bec8086
xor eax, 0xe4c3b4eb
cmp eax, 0x18dc1702
jb 0x14005426c
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x1401da538]
mov r10d, dword [0x1401da53c]
mov r8d, 0x954e057b
xor r8d, 0x6da2f588
xor r10d, r8d
mov r9d, r10d
xor r9d, 0xffffffff
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, r8d
sub eax, 0x1a58ed05
sub eax, 0x356b72e0
add eax, 0x1a58ed05
xor eax, 0x6af2da52
mov r8d, 0xd6156023
xor r8d, 0xc2a4355a
and eax, r8d
mov dword [rbp - 0x3c], eax
movabs rax, 0xfb7cc00bc629ea7c
movabs r8, 0xfb7cc00bc629ea7c
xor rax, r8
movabs r8, 0x81b393b7bfedff09
movabs r9, 0x7e4c6c48401200f6
xor r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0xc58b6db9
je 0x140053d35
jmp 0x14005423e
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.14000fb15
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x140053e74
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x48]
movabs rax, 0xca99945f15e3e65c
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xca99945f15e3e65c
add rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14005423e
mov rsi, qword [rbp - 0x58]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.14011e3fb
mov r11, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x90]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400531d0
mov rax, qword [rbp + 0x70]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14005423e
mov edx, dword [0x1401da540]
mov ecx, dword [0x1401da544]
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
xor ecx, 0x4246f5ce
xor ecx, 0xffffffff
or eax, 0x4246f5ce
and eax, ecx
mov ecx, eax
and ecx, 0x66d656d2
xor eax, 0x66d656d2
or ecx, eax
mov edx, 0x5ed61817
xor edx, 0x84163510
mov eax, ecx
and eax, edx
mov edx, 0x8f9abeb7
xor edx, 0x70654148
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdac02d07
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x7a79dafe
xor edx, 0x85862501
xor ecx, edx
or eax, ecx
cmp eax, 0xb8dcdd0c
je 0x140054275
mov rdx, qword [rbp - 0x50]
mov esi, dword [0x1401da548]
and esi, dword [0x1401da54c]
mov ecx, esi
and ecx, 0xec8ec809
mov eax, 0x5bbd0352
xor eax, 0x5bbd0350
imul eax, ecx
add esi, 0xec8ec809
sub esi, eax
add esi, 0xda9af81b
mov ecx, esi
xor ecx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xf6b0d9cd
mov r8d, 0xa460db4a
xor r8d, 0x1e1d82b5
mov eax, 0x9452a057
xor eax, 0x6bad5fa8
xor r8d, eax
mov r10d, 0x926b7c5f
xor r10d, 0x281625a0
mov eax, ecx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0xba7d59ff
mov r11d, r8d
and r11d, 0xf6b0d9cd
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
xor ecx, 0xffffffff
or r8d, 0xba7d59ff
and ecx, r8d
or eax, ecx
mov ecx, 0x5ac4e6b
xor ecx, 0x7f2d6f9c
cmp rdx, 0
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
jb 0x140054275
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1400540c1
jmp 0x14005404b
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0x8372ffecac45083e
movabs rdx, 0x8372ffecac45083e
xor rcx, rdx
cmp rax, rcx
jne 0x1400540c1
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
jmp 0x1400540c1
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 1]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jne 0x140054202
jmp 0x1400540c1
mov rax, qword [rbp + 0x10]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jge 0x140054202
mov eax, dword [0x1401da550]
mov edx, dword [0x1401da554]
xor edx, 0xe18fbc3e
mov ecx, eax
and ecx, edx
xor ecx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x7ac9c703
xor edx, 0x853638fc
xor eax, edx
or ecx, eax
mov edx, 0x23ff2175
xor edx, 0x72029126
mov eax, ecx
and eax, edx
xor ecx, 0x51fdb053
or eax, ecx
mov ecx, 0xf6625a6f
xor ecx, 0x43693d0c
xor edx, edx
div ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xf579fe10
xor ecx, 0xa2287a60
mov edx, 0x7f8714ca
xor edx, 0x28d690ba
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xea76a14e
jae 0x14005427e
mov ecx, dword [0x1401da558]
mov r8d, dword [0x1401da55c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
mov edx, 0xd5a9fde9
xor edx, 0x2a560216
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x741284c0
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xddb50c6f
xor ecx, 0x22138c82
or eax, ecx
mov ecx, 0x6c8924c0
xor ecx, 0x4ecbf3d6
xor edx, edx
div ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xe643c697
je 0x14005427e
jmp 0x14005423e
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x62]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x1400538ed
jmp 0x14005423e
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004c170
add rsp, 0x20
lea rsp, [rbp + 0x98]
pop rsi
pop rbp
ret
sti
or bh, byte [rcx - 0x32]
jmp 0x1400535fd
in al, 0xc7
pop rsi
mov edi, 0xfff53de9
invalid
mov esp, 0xe90cc48a
div esi
invalid
pushfq
mov r15d, 0xf8d0e9ae
invalid
mov bl, 0x62
invalid
mov ah, 0x87
sbb eax, 0xfcfee9e6
invalid
pop rsi
cmp esp, ebx
invalid